option 82是dhcp報文中的中繼代理信息選項(relay agent information option)。當dhcp client發(fā)送請求報文到dhcp server時,若需要經(jīng)過dhcp中繼,則由dhcp中繼將option 82添加到請求報文中。option 82包含很多sub-option,本文中的option 82只支持sub-option 1、sub-option 2和sub-option 5。sub-option 1中定義了代理電路id(即circuit id),sub-option 2中定義了代理遠程id(即 remote id),sub-option 5為鏈路選擇(link selection)子項,該選項中包含了dhcp中繼添加的ip地址。
option 82實現(xiàn)了dhcp客戶端和dhcp中繼設(shè)備的地址信息在dhcp服務(wù)器上的記錄,與其他軟件配合使用可以實現(xiàn)dhcp分配的限制和計費功能。
1. 概念介紹
option
dhcp報文中的一個選項,該選項在dhcp報文中為可變長的字段,option選項中包含了部分租約信息、報文類型等。option選項中最多可以包括255個option,最少為1個option。
option 82
option 82又稱為中繼代理信息選項(relay agent information option),是dhcp報文中option內(nèi)容的一部分。rfc3046中定義了option 82,其位置在option 255之前而在其他option之后。option 82中可以包含最多255個sub-option,若定義了option 82,至少要定義一個sub-option。目前option 82中常用的sub-option 1、sub-option 2和sub-option 5。
sub-option 1
sub-option 1是option 82的一個子選項,為代理電路id(即circuit id)子項。子選項通常在dhcp中繼設(shè)備上配置,定義了在傳輸報文的時候要攜帶dhcp客戶端所連接交換機端口的vlan-id及二層端口號。通常sub-option 1與sub-option 2子選項要共同使用來標識dhcp源端的信息。
sub-option 2
sub-option 2也是option 82的一個子選項,為代理遠程id(即remote id)子項。該子選項也通常在dhcp中繼設(shè)備上配置,定義了在傳輸報文的時候要攜帶中繼設(shè)備的mac地址信息。通常與sub-option 1子選項要共同使用來標識dhcp源端的信息。
sub-option 5
sub-option 5也是option 82的一個子選項。為鏈路選擇(link selection)子項,該選項中包含了dhcp中繼添加的ip地址。這樣dhcp server在分配ip地址給dhcp客戶端的時候就可以分配與該地址同網(wǎng)段的ip地址。
2. option 82報文組成
在dhcp報文中有一個options字段,該字段可以為空,也可以為某一個特性的option,option 82就是其中的一種option,可以有多個sub-option 組成。
code:標識了中繼代理信息選項的序號。本報文中序號為82,即option 82。option 82 在其他option之后,在option 255 之前。
len:為代理信息域(agent information field)的長度。
agent information field:代理信息域。在該字段中指定了使用的sub-option。
sub-option報文結(jié)構(gòu)
subopt:子選項序號,本報文中為sub-option 1、sub-option 2和sub-option 5。各子選項含義如下:
1表示代理電路id(circuit id)子項
2表示代理遠程id(remote id)子項
5表示鏈路選擇(link selection)子項
len:標識sub-option value域的長度。
sub-option value:sub-option的值。例如sub-option 1對應(yīng)的值為circuit id。
3. 標準模式與華為固網(wǎng)模式
dhcp relay支持option 82,在收到從client到server的請求報文中添加option 82,以標識用戶的位置信息?,F(xiàn)在只添加sub-option 1和sub-option 2,不添加sub-option5。在標準模式,sub-option 1是接收報文的二層端口號和vlan號,sub-option 2是接收報文設(shè)備的mac地址。
為了更加精確地定位用戶位置信息,我司針對dslam應(yīng)用提出ip dslam用戶物理位置定位解決方案,定義了dhcp option 82的華為固網(wǎng)模式,其中option 82的sub-option1表示“節(jié)點標識+框號/槽號/子槽/端口號+vlan”;sub-option2沒有改變,表示的是的relay系統(tǒng)mac地址;sub-option5 relay不添加。
option 82的sub-option1中的節(jié)點標識為字符串,缺省可以采用設(shè)備的管理接口mac地址,形如:00-e0-fc-0d-dc-ec。為了提高維護的方便性,也允許網(wǎng)絡(luò)管理者通過配置修改用戶節(jié)點標識,可以選擇是用relay的橋mac或設(shè)備名(通過sysname配置的),也可以由用戶自行輸入字符串。
華為固網(wǎng)模式option 82中sub-option 1的標識格式:
accessnodeidentifier eth frame/slot/subslot/port:vlan
對各段的解釋如下:
accessnodeidentifier:接入節(jié)點標識,長度不超過50個字符的字符串,缺省為橋mac
frame:框號,不支持的為0
eth:以太端口類型
slot:槽號
subslot:子槽號
port:端口號
vlan:vlan標識
4. 相關(guān)規(guī)范
與dhcp中繼支持option 82相關(guān)的協(xié)議規(guī)范有:
rfc2131 dynamic host configuration protocol
rfc3046 dhcp relay agent information option
5. dhcp 中繼支持option 82工作機制
dhcp客戶端通過dhcp中繼從dhcp服務(wù)器獲取ip地址的過程與同網(wǎng)段的dhcp獲取過程完全相同,都要經(jīng)歷發(fā)現(xiàn)、提供、選擇和確認四個階段,詳細的過程請參考本手冊“網(wǎng)絡(luò)層協(xié)議”的dhcp部分。這里將只介紹dhcp中繼支持option 82時的工作機制,具體如下:
dhcp客戶端在初始化時以廣播的形式發(fā)送請求報文;
若本地網(wǎng)絡(luò)存在dhcp服務(wù)器,則客戶端可以直接從該服務(wù)器獲取ip地址。
若本地網(wǎng)絡(luò)沒有dhcp服務(wù)器,則與本網(wǎng)絡(luò)相連的dhcp中繼設(shè)備對該廣播報文進行相應(yīng)的處理。dhcp中繼設(shè)備將檢查報文中是否已有option 82選項,進行相應(yīng)的處理。
如果報文中已有option 82,設(shè)備按照配置的策略對該報文進行處理(丟棄、用中繼設(shè)備本身的option 82項替代報文中原有的option 82項或保持報文原有的option 82項),然后將請求報文轉(zhuǎn)發(fā)給dhcp服務(wù)器。
若請求報文中沒有option 82選項,則dhcp中繼設(shè)備將option 82選項添加到報文中后轉(zhuǎn)發(fā)給dhcp服務(wù)器。此時,請求報文中將包含了dhcp客戶端所連接的交換機端口的mac地址、所屬的vlan以及dhcp中繼設(shè)備本身的mac地址。
dhcp服務(wù)器收到dhcp中繼設(shè)備轉(zhuǎn)發(fā)的dhcp請求報文后,將記錄報文中option選項所攜帶的信息,然后將帶著dhcp配置信息以及option 82信息的報文發(fā)給dhcp中繼。
dhcp中繼收到dhcp服務(wù)器的返回報文后將剝離報文中的option 82信息,然后將帶有dhcp配置信息的報文轉(zhuǎn)發(fā)給dhcp客戶端。
dhcp客戶端發(fā)送的請求報文有四種,分別為dhcp_discover報文、dhcp_request報文、dhcp_release報文和dhcp_inform報文,dhcp中繼設(shè)備將在四種報文中都添加option 82選項,因為不同廠商生產(chǎn)的dhcp服務(wù)器設(shè)備對請求報文的處理機制不同,有些設(shè)備處理dhcp_discover報文中的option 82信息,而有些處理dhcp_request報文中的option 82信息。
|