時(shí)間:2015-06-28 00:00:00 來(lái)源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(0)
對(duì)于DHCP協(xié)議我們總是有很多內(nèi)容需要介紹。在之前我們已經(jīng)對(duì)概念、結(jié)構(gòu)和工作流程有了一定的了解了。這里,我們將要在流程中補(bǔ)充一部分知識(shí),另外在對(duì)DHCP協(xié)議的封包格式進(jìn)行重點(diǎn)講述。
租約確認(rèn)
當(dāng) DHCP服務(wù)器接收到客戶端的 DHCPrequest 之后,會(huì)向客戶端發(fā)出一個(gè) DHCPACK 響應(yīng),以確認(rèn)IP租約的正式生效,也就結(jié)束了一個(gè)完整的 DHCP工作過程。
DHCP發(fā)放流程第一次登錄之后: 一旦 DHCP客戶端成功地從服務(wù)器哪里取得 DHCP租約之后,除非其租約已經(jīng)失效并且IP地址也重新設(shè)定回 0.0.0.0 ,否則就無(wú)需再發(fā)送 DHCPdiscover 信息了,而會(huì)直接使用已經(jīng)租用到的IP地址向之前之 DHCP服務(wù)器發(fā)出 DHCPrequest 信息,DHCP服務(wù)器會(huì)盡量讓客戶端使用原來(lái)的IP地址,如果沒問題的話,直接響應(yīng) DHCPack 來(lái)確認(rèn)則可。如果該地址已經(jīng)失效或已經(jīng)被其它機(jī)器使用了,服務(wù)器則會(huì)響應(yīng)一個(gè) DHCPNACK 封包給客戶端,要求其從新執(zhí)行 DHCPdiscover。
至于IP的租約期限卻是非??季康模⒎侨缥覀冏夥孔幽菢雍?jiǎn)單, 以 NT 為例子:DHCP工作站除了在開機(jī)的時(shí)候發(fā)出 DHCPrequest 請(qǐng)求之外,在租約期限一半的時(shí)候也會(huì)發(fā)出 DHCPrequest ,如果此時(shí)得不到 DHCP服務(wù)器的確認(rèn)的話,工作站還可以繼續(xù)使用該IP;當(dāng)租約期過了87.5%時(shí),如果客戶機(jī)仍然無(wú)法與當(dāng)初的DHCP服務(wù)器聯(lián)系上,它將與其它DHCP服務(wù)器通信。如果網(wǎng)絡(luò)上再?zèng)]有任何DHCP協(xié)議服務(wù)器在運(yùn)行時(shí),該客戶機(jī)必須停止使用該IP地址,并從發(fā)送一個(gè)Dhcpdiscover數(shù)據(jù)包開始,再一次重復(fù)整個(gè)過程。要是您想退租,可以隨時(shí)送出 DHCPRELEASE 命令解約,就算您的租約在前一秒鐘才獲得的。
跨網(wǎng)絡(luò)的 DHCP運(yùn)作 從前面描述的過程中,我們不難發(fā)現(xiàn):DHCPDISCOVER 是以廣播方式進(jìn)行的,其情形只能在同一網(wǎng)絡(luò)之內(nèi)進(jìn)行,因?yàn)?router 是不會(huì)將廣播傳送出去的。但如果 DHCP服務(wù)器安設(shè)在其它的網(wǎng)絡(luò)上面呢?由于 DHCP客戶端還沒有IP環(huán)境設(shè)定,所以也不知道 Router 地址,而且有些 Router 也不會(huì)將 DHCP廣播封包傳遞出去,因此這情形下 DHCPDISCOVER 是永遠(yuǎn)沒辦法抵達(dá) DHCP服務(wù)器那端的,當(dāng)然也不會(huì)發(fā)生 OFFER 及其它動(dòng)作了。要解決這個(gè)問題,我們可以用 DHCPAgent (或 DHCPProxy )主機(jī)來(lái)接管客戶的 DHCP請(qǐng)求,然后將此請(qǐng)求傳遞給真正的 DHCP服務(wù)器,然后將服務(wù)器的回復(fù)傳給客戶。這里,Proxy 主機(jī)必須自己具有路由能力,且能將雙方的封包互傳對(duì)方。
若不使用 Proxy,您也可以在每一個(gè)網(wǎng)絡(luò)之中安裝 DHCP服務(wù)器,但這樣的話,一來(lái)設(shè)備成本會(huì)增加,而且,管理上面也比較分散。當(dāng)然嘍,如果在一個(gè)十分大型的網(wǎng)絡(luò)中,這樣的均衡式架構(gòu)還是可取的。端視您的實(shí)際情況而定了。
DHCP協(xié)議封包格式
以下為各字段的簡(jiǎn)要說明:
OP 若是 client 送給 server 的封包,設(shè)為 1 ,反向?yàn)?2 。
HTYPE 硬件類別,Ethernet 為 1 。
HLEN 硬件地址長(zhǎng)度, Ethernet 為 6 。
HOPS 若封包需經(jīng)過 router 傳送,每站加 1 ,若在同一網(wǎng)內(nèi),為 0 。
TRANSACTION ID DHCPREQUEST 時(shí)產(chǎn)生的數(shù)值,以作 DHCPREPLY 時(shí)的依據(jù)。
SECONDS Client 端啟動(dòng)時(shí)間(秒)。
FLAGS 從 0 到 15 共 16 bits ,最左一 bit 為 1 時(shí)表示 server 將以廣播方式傳送封包給 client ,其余尚未使用。
ciaddr 要是 client 端想繼續(xù)使用之前取得之IP地址,則列于這里。
yiaddr 從 server 送回 client 之DHCPOFFER與 DHCPACK 封包中,此欄填寫分配給 client 的IP地址。
siaddr 若 client 需要透過網(wǎng)絡(luò)開機(jī),從 server 送出之 DHCPOFFER、DHCPACK、DHCPNACK 封包中,此欄填寫開機(jī)程序代碼所在 server 之地址。
giaddr 若需跨網(wǎng)域進(jìn)行 DHCP協(xié)議發(fā)放,此欄為 relay agent 的地址,否則為 0 。 chaddr Client 之硬件地址。 sname Server 之名稱字符串,以 0x00 結(jié)尾。 file 若 client 需要透過網(wǎng)絡(luò)開機(jī),此欄將指出開機(jī)程序名稱,稍后以 TFTP 傳送。 options 允許廠商定議選項(xiàng)(Vendor-Specific Area),以提供更多的設(shè)定信息(如:Netmask、Gateway、DNS、等等)。其長(zhǎng)度可變,同時(shí)可攜帶多個(gè)選項(xiàng),每一選項(xiàng)之第一個(gè) byte 為信息代碼,其后一個(gè) byte 為該項(xiàng)數(shù)據(jù)長(zhǎng)度,最后為項(xiàng)目?jī)?nèi)容。 CODE LEN VALUE 此字段完全兼容 BOOTP,同時(shí)擴(kuò)充了更多選項(xiàng)。其中,DHCP封包可利用編碼為 0x53 之選項(xiàng)來(lái)設(shè)定封包類別: 項(xiàng)值 類別 1 DHCPDISCOVER 2DHCPOFFER3 DHCPREQUEST 4 DHCPDECLIENT 5 DHCPACK 6 DHCPNACK 7 DHCPRELEASE DHCP協(xié)議的選項(xiàng)非常多,有空請(qǐng)查閱 RFC 或相關(guān)文獻(xiàn),并好好理解,這里不再敘述了。
關(guān)鍵詞標(biāo)簽:DHCP協(xié)議
相關(guān)閱讀
熱門文章 路由器地址大全-各品牌路由設(shè)置地址 各品牌的ADSL與路由器出廠默認(rèn)IP、帳號(hào)、密碼 Nslookup命令詳解-域名DNS診斷 站長(zhǎng)裝備:十大網(wǎng)站管理員服務(wù)器工具軟件
人氣排行 各品牌的ADSL與路由器出廠默認(rèn)IP、帳號(hào)、密碼 路由器地址大全-各品牌路由設(shè)置地址 騰達(dá)路由器怎么設(shè)置?騰達(dá)路由器設(shè)置教程 ADSL雙線負(fù)載均衡設(shè)置詳細(xì)圖文教程 路由表說明(詳解route print) Nslookup命令詳解-域名DNS診斷 網(wǎng)管員實(shí)際工作的一天 網(wǎng)管必會(huì)!了解交換機(jī)控制端口流量