分解DHCP Relay的結(jié)構(gòu)
在學(xué)習(xí)DHCP的時(shí)候,我們也會(huì)學(xué)習(xí)它的工作流程和結(jié)構(gòu)。那么大家知道DHCP協(xié)議的字段以及DHCP Relay的相關(guān)知識(shí)。希望能夠?qū)δ兴鶐椭D敲催@次我們就針對(duì)這方面的內(nèi)容來(lái)進(jìn)行一下講解。希望對(duì)大家能夠有所幫助。
DHCP協(xié)議的字段詳細(xì)介紹:
op 字段表示當(dāng)前報(bào)文是Client的請(qǐng)求還是server的應(yīng)答為1時(shí)表示是Client的請(qǐng)求為2時(shí)表示是server的應(yīng)答。
htype hlen 字段分別表示Client 的網(wǎng)絡(luò)硬件地址類(lèi)型長(zhǎng)度如htype 為1 表示Client 的網(wǎng)絡(luò)硬件是10MB的以太網(wǎng)類(lèi)型hlen 為6表示Client 的網(wǎng)絡(luò)硬件地址長(zhǎng)度是6bytes 即以太網(wǎng)類(lèi)型的6bytes的MAC地址,跳數(shù)字段表示當(dāng)前的DHCP報(bào)文經(jīng)過(guò)的DHCP Relay的數(shù)目類(lèi)似于IP頭中的跳數(shù)字段但含義完全不同Client或server發(fā)出DHCP報(bào)文時(shí)此字段都初始化為0 每經(jīng)過(guò)一個(gè)DHCP Relay 此字段就會(huì)加1 此字段的作用是限制DHCP報(bào)文不要經(jīng)過(guò)太多的DHCP Relay 協(xié)議規(guī)定當(dāng)hops大于4 現(xiàn)在也有規(guī)定為16 時(shí)這個(gè)DHCP報(bào)文就不能再進(jìn)行處理而是丟棄事務(wù)ID 字段Client每次發(fā)送DHCP請(qǐng)求報(bào)文時(shí)選擇的隨機(jī)數(shù)用來(lái)匹配server的響應(yīng)報(bào)文是對(duì)哪個(gè)請(qǐng)求報(bào)文的響應(yīng)Client會(huì)丟棄xid 不匹配的響應(yīng)報(bào)文。
秒數(shù) 字段用來(lái)表示Client開(kāi)始DHCP請(qǐng)求后的時(shí)間流逝秒數(shù)此字段一般沒(méi)有多大意義最初設(shè)計(jì)此字段是為了讓DHCP Server在繁忙時(shí)優(yōu)先處理此字段大的DHCP請(qǐng)求因?yàn)榇俗侄卧酱笳f(shuō)明這個(gè)Client等的時(shí)間就越長(zhǎng)。
標(biāo)志字段在 BOOTP中此字段是保留不用的在DHCP協(xié)議中也只使用了其左邊的***位其格式如圖3所示。
整個(gè)字段占16比特其中最左邊比特被解釋為廣播響應(yīng)標(biāo)識(shí)位所有其它比特保留備用必須被Client設(shè)置為0 server和DHCP Relay忽略這些比特當(dāng)Client不能接收單播的DHCP響應(yīng)報(bào)文時(shí)必須把廣播響應(yīng)標(biāo)識(shí)位置1 否則置0 而DHCP Server在回響應(yīng)報(bào)文時(shí)是廣播還是單播就將根據(jù)此廣播響應(yīng)標(biāo)識(shí)位是否置位來(lái)判斷目前的Client如WINDOWS 98 一般都能接收單播DHCP響應(yīng)報(bào)文
客戶(hù)機(jī)IP地址字段表示Client自己的IP地址可以是server分配給Client的IP地址也可以是Client已有的IP地址此字段不為0的原則就是Client能夠使用此IP地址接收IP報(bào)文DHCP Server發(fā)現(xiàn)此字段不為0時(shí)可以直接將響應(yīng)報(bào)文單播給Client你的IP地址字段表示server分配給Client的IP地址當(dāng)DHCP Server響應(yīng)Client的DHCP請(qǐng)求時(shí)將把分配給Client的IP地址填入此字段,服務(wù)器IP地址字段表示Client 獲取啟動(dòng)配置信息的服務(wù)器IP地址一般是TFTP Server 的IP地址。
中繼代理IP地址字段記錄***個(gè)DHCP Relay agent的IP地址當(dāng)Client發(fā)出DHCP請(qǐng)求報(bào)文后如果網(wǎng)絡(luò)中存在DHCP Relay 則***個(gè)DHCP Relay轉(zhuǎn)發(fā)這個(gè)DHCP請(qǐng)求報(bào)文時(shí)就會(huì)把自己的IP地址填入此字段 (隨后的DHCP Relay將不再改寫(xiě)此字段只是把hops 加1 )DHCP Server將會(huì)根據(jù)此字段為用戶(hù)分配IP地址并把響應(yīng)報(bào)文轉(zhuǎn)發(fā)給此DHCP Relay agent 由DHCP Relay agent再轉(zhuǎn)發(fā)給Client。
客戶(hù)機(jī)硬件地址字段記錄Client的實(shí)際硬件地址內(nèi)容當(dāng)Client發(fā)出DHCP請(qǐng)求報(bào)文時(shí)將把自己的網(wǎng)卡硬件地址填入此字段DHCP Server一般都會(huì)使用此字段來(lái)唯一標(biāo)識(shí)一個(gè)Client 而且此字段與前面的htype hlen 字段必須一致如當(dāng)htype hlen 分別為1和6時(shí)此字段必須填入6bytes的以太網(wǎng)MAC地址中繼代理IP地址是DHCP Relay 的IP地址。htype,hlen, 客戶(hù)機(jī)硬件地址字段分別說(shuō)明了Client 的硬件地址類(lèi)型長(zhǎng)度和地址內(nèi)容。
服務(wù)器的主機(jī)名字段記錄Client 獲取啟動(dòng)配置信息的服務(wù)器名字此字段由DHCP Server填寫(xiě)而且是可選的如果填寫(xiě)必須是一個(gè)以0結(jié)尾的字符串,啟動(dòng)文件名字段記錄Client 的啟動(dòng)配置文件名 此字段由DHCP Server填寫(xiě)而且是可選的如果填寫(xiě)必須是一個(gè)以0結(jié)尾的字符串
選項(xiàng)字段對(duì)于BOOTP 又稱(chēng)之為vendor 字段 此字段中包含了大量可選的終端初始配置信息和網(wǎng)絡(luò)配置信息如決定終端的IP特性配置信息域名信息標(biāo)識(shí)終端的特殊信息終端的默認(rèn)網(wǎng)關(guān)IP地址DNS 服務(wù)器的IP地址INS 服務(wù)器的IP地址用戶(hù)使用IP地址的有效租期等等信息正是因?yàn)橛辛舜俗侄蜠HCP協(xié)議才能夠給Client提供大量的配置信息此字段采用CLV 方式構(gòu)成即Code 標(biāo)識(shí)號(hào)唯一標(biāo)識(shí)后面的信息內(nèi)容占1bytes length 長(zhǎng)度表示后面信息內(nèi)容的長(zhǎng)度占1bytes value 信息內(nèi)容其長(zhǎng)度為 length 所指定以bytes為單位。
選項(xiàng)字段是可選字段它是變長(zhǎng)的其中對(duì)于我們最重要的一個(gè)選項(xiàng)是"server identifier" 它標(biāo)識(shí)了server 的IP地址并把它帶給Client。