問題已開啟
(普通問題)
DHCP的工作原理?
提問者: luo404 提問時間: 2011-10-31
更多
DHCP
相關(guān)問題
• 什么情況下不建議使用DHCP主機(jī)? 2019-05-30
• DHCP relay 2017-03-14
• BBU3910電口和微波連接,DHCP不通,怎么解決???? 2015-11-04
• 遠(yuǎn)程開站,DHCP地址被占用,釋放不出來怎么辦? 2014-12-17
• 請教給位高手在ZTE-RNC中那個DHCP功能是怎么用的啊 能有詳細(xì)的配置文檔沒有啊! 2013-11-06
• pccpch rscp 與DHCP rscp 2013-01-28
• DHCP 丟失 2012-05-22
• DHCP relay 2017-03-14
• BBU3910電口和微波連接,DHCP不通,怎么解決???? 2015-11-04
• 遠(yuǎn)程開站,DHCP地址被占用,釋放不出來怎么辦? 2014-12-17
• 請教給位高手在ZTE-RNC中那個DHCP功能是怎么用的啊 能有詳細(xì)的配置文檔沒有啊! 2013-11-06
• pccpch rscp 與DHCP rscp 2013-01-28
• DHCP 丟失 2012-05-22
問題答案
( 1 )
1、定義:
動態(tài)主機(jī)設(shè)置協(xié)議(Dynamic Host Configuration Protocol, DHCP)是一個局域網(wǎng)的網(wǎng)絡(luò)協(xié)議,使用UDP協(xié)議工作,主要有兩個用途:給內(nèi)部網(wǎng)絡(luò)或網(wǎng)絡(luò)服務(wù)供應(yīng)商自動分配IP地址給用戶給內(nèi)部網(wǎng)絡(luò)管理員作為對所有計算機(jī)作中央管理的手段。
2、
相關(guān)圖片
DHCP 是 Dynamic Host Configuration Protocol(動態(tài)主機(jī)配置協(xié)議)縮寫,它的前身是 BOOTP。BOOTP 原本是用于無磁盤主機(jī)連接的網(wǎng)絡(luò)上面的:網(wǎng)絡(luò)主機(jī)使用 BOOT ROM 而不是磁盤起動并連接上網(wǎng)絡(luò),BOOTP 則可以自動地為那些主機(jī)設(shè)定 TCP/IP 環(huán)境。但 BOOTP 有一個缺點:您在設(shè)定前須事先獲得客戶端的硬件地址,而且,與 IP 的對應(yīng)是靜態(tài)的。換而言之,BOOTP 非常缺乏 "動態(tài)性" ,若在有限的 IP 資源環(huán)境中,BOOTP 的一對一對應(yīng)會造成非常嚴(yán)重的資源浪費。 DHCP 可以說是 BOOTP 的增強(qiáng)版本,它分為兩個部份:一個是服務(wù)器端,而另一個是客戶端。所有的 IP 網(wǎng)絡(luò)設(shè)定數(shù)據(jù)都由 DHCP 服務(wù)器集中管理,并負(fù)責(zé)處理客戶端的 DHCP 要求;而客戶端則會使用從服務(wù)器分配下來的IP環(huán)境數(shù)據(jù)。比較起 BOOTP ,DHCP 透過 "租約" 的概念,有效且動態(tài)的分配客戶端的 TCP/IP 設(shè)定,而且,作為兼容考慮,DHCP 也完全照顧了 BOOTP Client 的需求。 DHCP 的分配形式 首先,必須至少有一臺 DHCP 工作在網(wǎng)絡(luò)上面,它會監(jiān)聽網(wǎng)絡(luò)的 DHCP 請求,并與客戶端磋商 TCP/IP 的設(shè)定環(huán)境。它提供三種 IP 定位方式:
3、地址分配
相關(guān)圖片
分配更加靈活,尤其是當(dāng)您的實際 IP 地址不足的時候,例如:您是一家 ISP ,只能提供 200 個IP地址用來給撥接客戶,但并不意味著您的客戶最多只能有 200 個。因為要知道,您的客戶們不可能全部同一時間上網(wǎng)的,除了他們各自的行為習(xí)慣的不同,也有可能是電話線路的限制。這樣,您就可以將這 200 個地址,輪流的租用給撥接上來的客戶使用了。這也是為什么當(dāng)您查看 IP 地址的時候,會因每次撥接而不同的原因了(除非您申請的是一個固定 IP ,通常的 ISP 都可以滿足這樣的要求,這或許要另外收費)。當(dāng)然,ISP 不一定使用 DHCP 來分配地址,但這個概念和使用 IP Pool 的原理是一樣的。 DHCP 除了能動態(tài)的設(shè)定 IP 地址之外,還可以將一些 IP 保留下來給一些特殊用途的機(jī)器使用,它可以按照硬件地址來固定的分配 IP 地址,這樣可以給您更大的設(shè)計空間。同時,DHCP 還可以幫客戶端指定 router、netmask、DNS Server、WINS Server、等等項目,您在客戶端上面,除了將 DHCP 選項打勾之外,幾乎無需做任何的 IP 環(huán)境設(shè)定。
4、工作原理 根據(jù)客戶端是否第一次登錄網(wǎng)絡(luò),DHCP 的工作形式會有所不同。
第一次登錄的時候:
相關(guān)圖片
HCP 服務(wù)器的響應(yīng),客戶端則會顯示錯誤信息,宣告 DHCP discover 的失敗。之后,基于使用者的選擇,系統(tǒng)會繼續(xù)在 5 分鐘之后再重復(fù)一次 DHCP discover 的過程。
換一句話說,在 DHCP 服務(wù)器上面的設(shè)定,未必是客戶端全都接受?蛻舳丝梢员A糇约旱囊恍 TCP/IP 設(shè)定,并且主動權(quán)永遠(yuǎn)在客戶端這邊。
相關(guān)圖片
DHCPACK 響應(yīng),以確認(rèn) IP 租約的正式生效,也就結(jié)束了一個完整的 DHCP 工作過程。
DHCP 發(fā)放流程第一次登錄之后: 一旦 DHCP 客戶端成功地從服務(wù)器哪里取得 DHCP 租約之后,除非其租約已經(jīng)失效并且 IP 地址也重新設(shè)定回 0.0.0.0 ,否則就無需再發(fā)送 DHCP discover 信息了,而會直接使用已經(jīng)租用到的 IP 地址向之前之 DHCP 服務(wù)器發(fā)出 DHCP request 信息,DHCP 服務(wù)器會盡量讓客戶端使用原來的 IP 地址,如果沒問題的話,直接響應(yīng) DHCPack 來確認(rèn)則可。如果該地址已經(jīng)失效或已經(jīng)被其它機(jī)器使用了,服務(wù)器則會響應(yīng)一個 DHCPNACK 封包給客戶端,要求其重新執(zhí)行 DHCP discover。 至于 IP 的租約期限卻是非?季康,并非如我們租房子那樣簡單, 以 NT 為例子:DHCP 客戶端除了在開機(jī)的時候發(fā)出 DHCP request 請求之外,在租約期限一半的時候也會發(fā)出 DHCP request ,如果此時得不到 DHCP 服務(wù)器的確認(rèn)的話,客戶端還可以繼續(xù)使用該 IP ;當(dāng)租約期過了87.5%時,如果客戶端仍然無法與當(dāng)初的DHCP服務(wù)器聯(lián)系上,它將與其它DHCP服務(wù)器通信。如果網(wǎng)絡(luò)上再沒有任何DHCP服務(wù)器在運行時,該客戶端必須停止使用該IP地址,并從發(fā)送一個Dhcpdiscover數(shù)據(jù)包開始,再一次重復(fù)整個過程。要是您想退租,可以隨時送出 DHCPRELEASE 命令解約,就算您的租約在前一秒鐘才獲得的。
跨網(wǎng)絡(luò)的 DHCP 運作 從前面描述的過程中,我們不難發(fā)現(xiàn):DHCP DISCOVER 是以廣播方式進(jìn)行的,其情形只能在同一網(wǎng)絡(luò)之內(nèi)進(jìn)行,因為 router 是不會將廣播傳送出去的。但如果 DHCP 服務(wù)器安設(shè)在其它的網(wǎng)絡(luò)上面呢?由于 DHCP 客戶端還沒有 IP 環(huán)境設(shè)定,所以也不知道 Router 地址,而且有些 Router 也不會將 DHCP 廣播封包傳遞出去,因此這情形下 DHCP DISCOVER 是永遠(yuǎn)沒辦法抵達(dá) DHCP 服務(wù)器那端的,當(dāng)然也不會發(fā)生 OFFER 及其它動作了。要解決這個問題,我們可以用 DHCP Agent (或 DHCP Proxy )主機(jī)來接管客戶的 DHCP 請求,然后將此請求傳遞給真正的 DHCP 服務(wù)器,然后將服務(wù)器的回復(fù)傳給客戶。這里,Proxy 主機(jī)必須自己具有路由能力,且能將雙方的封包互傳對方。 若不使用 Proxy,您也可以在每一個網(wǎng)絡(luò)之中安裝 DHCP 服務(wù)器,但這樣的話,一來設(shè)備成本會增加,而且,管理上面也比較分散。當(dāng)然嘍,如果在一個十分大型的網(wǎng)絡(luò)中,這樣的均衡式架構(gòu)還是可取的。視您的實際情況而定了。
5、DHCP 協(xié)議 RFC-951、RFC-1084、RFC-1123、RFC-1533、RFC-1534、RFC-1497、RFC-1541
DHCP是可自動將IP位址指派給登入TCP/IP網(wǎng)絡(luò)的用戶端的一種軟件,(此種IP位址稱為「動態(tài)IP位址」)。這種軟件通常是在路由器及其他網(wǎng)絡(luò)設(shè)備上執(zhí)行的。依照預(yù)先設(shè)定,您的GateLock路由器設(shè)定為使用DHCP,因此就無須手動指派永久IP位址給網(wǎng)絡(luò)上的每個設(shè)備。建議不要改變這個設(shè)置,這樣您的個人電腦就可以被分辨為DHCP服務(wù)器。
1 dhcpdiscover: 此為client開始DHCP過程中的第一個請求報文
2 dhcpoffer : 此為server 對dhcpdiscover 報文的響應(yīng)
3 dhcprequst : 此為client 對dhcpoffer 報文的響應(yīng)
4 dhcpdeclient: 當(dāng)client發(fā)現(xiàn)server 分配給它的IP地址無法使用,如 IP地址發(fā)生沖突時,將發(fā)出此報文讓server禁止使用這次分配的IP地址。
5 dhcpack : server對 dhcprequst 報文的響應(yīng),client收到此報文后才真正獲得了IP地址和相關(guān)配置信息。
6 dhcpnack : 此報文是server對client的dhcprequst報文的拒絕響應(yīng),client 收到此報文后,一般會重新開始DHCP過程。
7 dhcprelease :此報文是 client主動釋放IP地址,當(dāng)server 收到此報文后就可以收回IP地址分配給其他的client.
DHCP是BOOTP的擴(kuò)展,是基于C/S模式的,它提供了一種動態(tài)指定
相關(guān)圖片
IP地址和配置參數(shù)的機(jī)制。這主要用于大型網(wǎng)絡(luò)環(huán)境和配置比較困難的地方。DHCP服務(wù)器自動為客戶機(jī)指定IP地址,指定的配置參數(shù)有些和IP協(xié)議并不相關(guān),但這必沒有關(guān)系,它的配置參數(shù)使得網(wǎng)絡(luò)上的計算機(jī)通信變得方便而容易實現(xiàn)了。DHCP使IP地址的可以租用,對于許多擁有許多臺計算機(jī)的大型網(wǎng)絡(luò)來說,每臺計算機(jī)擁有一個IP地址有時候可能是不必要的。租期從1分鐘到100年不定,當(dāng)租期到了的時候,服務(wù)器可以把這個IP地址分配給別的機(jī)器使用?蛻粢部梢哉埱笫褂米约合矚g的網(wǎng)絡(luò)地址及相應(yīng)的配置參數(shù)。
DHCP是對BOOTP的擴(kuò)展,它的包格式和BOOTP也一樣,這樣它就可以使用BOOTP的中轉(zhuǎn)發(fā)代理來發(fā)送DHCP包了,這使得BOOTP和DHCP之間可以實現(xiàn)互操作。對于BOOTP轉(zhuǎn)發(fā)代理來說,發(fā)的是DHCP包還是BOOTP包,它根本分不清楚。它們使用的服務(wù)器端口號是67和68,但是有些地方還有些不同:
DHCP定義了一種可以使IP地址使用一段有限時間的機(jī)制,在客戶期限到了的時候可以重新分配這個IP地址。
DHCP為用戶提供所有IP配置參數(shù)。
DHCP包長度比BOOTP包長度稍長。既然包比BOOTP的長,那也不是白帶的,這多出的長度里包括了網(wǎng)絡(luò)配置參數(shù)。
DHCP的包都比BOOTP的長,那協(xié)議也復(fù)雜了。DHCP有七種消息類型,而BOOTP只有兩種。
下圖中我們可以清楚地看到客戶機(jī)請求獲得網(wǎng)絡(luò)地址和配置參數(shù)的最初幾個步驟:
第一步的時候客戶發(fā)出包的名稱叫DHCPDISCOVER,而服務(wù)器返回包的名稱叫DHCPOFFER。
1.BOOTP轉(zhuǎn)發(fā)代理接收到請求包,并負(fù)責(zé)向DHCP其它網(wǎng)絡(luò)內(nèi)的DHCP服務(wù)器轉(zhuǎn)發(fā)。
2.DHCP服務(wù)器以DHCPOFFER響應(yīng)客戶的要求,這個包內(nèi)包括可用的IP地址和參數(shù)。
3.BOOTP轉(zhuǎn)發(fā)代理接收包,并對它進(jìn)行檢查。如果它覺得沒有問題,就向客戶轉(zhuǎn)發(fā)。
4.如果客戶在發(fā)出DHCP DISCOVER 包后一段時間內(nèi)沒有接收到回應(yīng),它有機(jī)會重新發(fā)送請求10次,否則就通知用戶?蛻魴C(jī)可以同時接收到許多個服務(wù)器的應(yīng)答,它可以自己決定用哪一個。下圖是客戶決定了以后,向服務(wù)器發(fā)送應(yīng)答時的情況。
5.當(dāng)客戶選定了某個目標(biāo)服務(wù)器后,它會廣播DHCPREQUEST包,用以通知選定的服務(wù)器和未選定的服務(wù)器。
6.轉(zhuǎn)發(fā)工作仍然由BOOTP轉(zhuǎn)發(fā)擔(dān)任。
7.收到DHCPREQUEST包服務(wù)器會檢查收到的包,如果包內(nèi)的地址和提供的地址一致,證明現(xiàn)在客戶機(jī)選擇的是這臺服務(wù)器提供的地址,如果不是,自己提供的地址被拒絕了。
8.被選定的服務(wù)器在接收到DHCPREQUEST包以后,因為某些原因可能不能向客戶提供這個網(wǎng)絡(luò)地址或參數(shù),它可以向客戶發(fā)送DHCPNAK包,如果可以提供則可以發(fā)送DHCPACK包。
客戶在收到包后,檢查內(nèi)部的網(wǎng)絡(luò)地址和租用時間,如果客戶覺得這個包有問題,它可以發(fā)送DHCPDECLIENT包拒絕這個地址,然后重新發(fā)送DHCPDISCOVER包。如果覺得沒有問題,就可以接受這個配置參數(shù)。同樣當(dāng)客戶接收到DHCPNAK包時,它也可以發(fā)送DHCPDISCOVER包?蛻艨梢栽谧馄诘狡谥搬尫啪W(wǎng)絡(luò)地址,這通過發(fā)送DHCPRELEASE包來實現(xiàn)。
用戶下一次可以再次獲得相同的IP地址。在這一過程中,許多步驟就可以不用麻煩了,老客戶當(dāng)然要方便一點了。
1.客戶在發(fā)送的DHCPREQUEST包內(nèi)包括自己以前使用的IP地址。
2.此包由BOOTP轉(zhuǎn)發(fā)代理轉(zhuǎn)發(fā)。
3.DHCP服務(wù)器檢查DHCPREQUEST包內(nèi)包括的配置參數(shù)。
4.它如果是原來提供這個網(wǎng)絡(luò)地址的參數(shù)的服務(wù)器,它會認(rèn)出這些數(shù)來,并以DHCPACK包回應(yīng)。
5.客戶接收到DHCPACK包后,它可以接收或拒絕,如果拒絕它可以申請新的網(wǎng)絡(luò)地址。
當(dāng)然了,如果服務(wù)器覺得客戶的請求是無效的,服務(wù)器會以DHCPNAK包響應(yīng),客戶接收到這個包后,會重新會獲得網(wǎng)絡(luò)地址而發(fā)送DHCPDISCOVER包
6、配置案例;
Router(config-if)#ip add 192.168.1.1 255.255.255.0
Router(config-if)#no sh
Router(config-if)#exit
Router(config)#ip dhcp excluded-address 192.168.1.1 //需要排除路由器的接口既網(wǎng)關(guān)地址
Router(config)#ip dhcp pool IPv4 //創(chuàng)建DHCP池
Router(dhcp-config)#network 192.168.1.0 /24 //宣告可分配網(wǎng)段
Router(dhcp-config)#default-Router 192.168.1.1 //設(shè)置客戶端的默認(rèn)網(wǎng)關(guān)
Router(dhcp-config)#dns-server 61.128.114.133 //設(shè)置客戶端DNS地址
Router(dhcp-config)#lease 2 //地址租期
Router(dhcp-config)#domain-name ewao_cn //設(shè)置客戶端所在域
Router(dhcp-config)#endIPv6配置方法(需要您的路由設(shè)備支持IPv6技術(shù)): Router(config)#ipv6 unicast-routing //開啟IPv6協(xié)議
Router(config)#ipv6 cef //開啟IPv6轉(zhuǎn)發(fā)
Router(config)#ipv6 dhcp pool v6 //創(chuàng)建DHCP池
Router(config-dhcp)# prefix-delegation pool v6pool
Router(config-dhcp)# dns-server 2001:470:20::2
Router(config-dhcp)# domain-name ewao_cn
Router(config-dhcp)#end
原文引用;http://baike.baidu.com/view/7992.htm
2、
相關(guān)圖片
DHCP 是 Dynamic Host Configuration Protocol(動態(tài)主機(jī)配置協(xié)議)縮寫,它的前身是 BOOTP。BOOTP 原本是用于無磁盤主機(jī)連接的網(wǎng)絡(luò)上面的:網(wǎng)絡(luò)主機(jī)使用 BOOT ROM 而不是磁盤起動并連接上網(wǎng)絡(luò),BOOTP 則可以自動地為那些主機(jī)設(shè)定 TCP/IP 環(huán)境。但 BOOTP 有一個缺點:您在設(shè)定前須事先獲得客戶端的硬件地址,而且,與 IP 的對應(yīng)是靜態(tài)的。換而言之,BOOTP 非常缺乏 "動態(tài)性" ,若在有限的 IP 資源環(huán)境中,BOOTP 的一對一對應(yīng)會造成非常嚴(yán)重的資源浪費。 DHCP 可以說是 BOOTP 的增強(qiáng)版本,它分為兩個部份:一個是服務(wù)器端,而另一個是客戶端。所有的 IP 網(wǎng)絡(luò)設(shè)定數(shù)據(jù)都由 DHCP 服務(wù)器集中管理,并負(fù)責(zé)處理客戶端的 DHCP 要求;而客戶端則會使用從服務(wù)器分配下來的IP環(huán)境數(shù)據(jù)。比較起 BOOTP ,DHCP 透過 "租約" 的概念,有效且動態(tài)的分配客戶端的 TCP/IP 設(shè)定,而且,作為兼容考慮,DHCP 也完全照顧了 BOOTP Client 的需求。 DHCP 的分配形式 首先,必須至少有一臺 DHCP 工作在網(wǎng)絡(luò)上面,它會監(jiān)聽網(wǎng)絡(luò)的 DHCP 請求,并與客戶端磋商 TCP/IP 的設(shè)定環(huán)境。它提供三種 IP 定位方式:
3、地址分配
Manual Allocation
網(wǎng)絡(luò)管理員為某些少數(shù)特定的Host綁定固定IP地址,且地址不會過期Automatic Allocation
自動分配,其情形是:一旦 DHCP 客戶端第一次成功的從 DHCP 服務(wù)器端租用到 IP 地址之后,就永遠(yuǎn)使用這個地址。Dynamic Allocation
動態(tài)分配,當(dāng) DHCP客戶端 第一次從 DHCP 服務(wù)器端租用到 IP 地址之后,并非永久的使用該地址,只要租約到期,客戶端就得釋放(release)這個 IP 地址,以給其它工作站使用。當(dāng)然,客戶端可以比其它主機(jī)更優(yōu)先的更新(renew)租約,或是租用其它的 IP 地址。 動態(tài)分配顯然比自動相關(guān)圖片
分配更加靈活,尤其是當(dāng)您的實際 IP 地址不足的時候,例如:您是一家 ISP ,只能提供 200 個IP地址用來給撥接客戶,但并不意味著您的客戶最多只能有 200 個。因為要知道,您的客戶們不可能全部同一時間上網(wǎng)的,除了他們各自的行為習(xí)慣的不同,也有可能是電話線路的限制。這樣,您就可以將這 200 個地址,輪流的租用給撥接上來的客戶使用了。這也是為什么當(dāng)您查看 IP 地址的時候,會因每次撥接而不同的原因了(除非您申請的是一個固定 IP ,通常的 ISP 都可以滿足這樣的要求,這或許要另外收費)。當(dāng)然,ISP 不一定使用 DHCP 來分配地址,但這個概念和使用 IP Pool 的原理是一樣的。 DHCP 除了能動態(tài)的設(shè)定 IP 地址之外,還可以將一些 IP 保留下來給一些特殊用途的機(jī)器使用,它可以按照硬件地址來固定的分配 IP 地址,這樣可以給您更大的設(shè)計空間。同時,DHCP 還可以幫客戶端指定 router、netmask、DNS Server、WINS Server、等等項目,您在客戶端上面,除了將 DHCP 選項打勾之外,幾乎無需做任何的 IP 環(huán)境設(shè)定。
4、工作原理 根據(jù)客戶端是否第一次登錄網(wǎng)絡(luò),DHCP 的工作形式會有所不同。
第一次登錄的時候:
尋找 Server
當(dāng) DHCP 客戶端第一次登錄網(wǎng)絡(luò)的時候,也就是客戶發(fā)現(xiàn)本機(jī)上沒有任何 IP 數(shù)據(jù)設(shè)定,它會向網(wǎng)絡(luò)發(fā)出一個 DHCP DISCOVER 封包。因為客戶端還不知道自己屬于哪一個網(wǎng)絡(luò),所以封包的來源地址會為 0.0.0.0 ,而目的地址則為 255.255.255.255 ,然后再附上 DHCP discover 的信息,向網(wǎng)絡(luò)進(jìn)行廣播。 在 Windows 的預(yù)設(shè)情形下,DHCP discover 的等待時間預(yù)設(shè)為 1 秒,也就是當(dāng)客戶端將第一個 DHCP discover 封包送出去之后,在 1 秒之內(nèi)沒有得到響應(yīng)的話,就會進(jìn)行第二次 DHCP discover 廣播。若一直得不到響應(yīng)的情況下,客戶端一共會有四次 DHCP discover 廣播(包括第一次在內(nèi)),除了第一次會等待 1 秒之外,其余三次的等待時間分別是 9、13、16 秒。如果都沒有得到 D相關(guān)圖片
HCP 服務(wù)器的響應(yīng),客戶端則會顯示錯誤信息,宣告 DHCP discover 的失敗。之后,基于使用者的選擇,系統(tǒng)會繼續(xù)在 5 分鐘之后再重復(fù)一次 DHCP discover 的過程。
提供 IP 租用地址
當(dāng) DHCP 服務(wù)器監(jiān)聽到客戶端發(fā)出的 DHCP discover 廣播后,它會從那些還沒有租出的地址范圍內(nèi),選擇最前面的空置 IP ,連同其它 TCP/IP 設(shè)定,響應(yīng)給客戶端一個 DHCP OFFER 封包。 由于客戶端在開始的時候還沒有 IP 地址,所以在其 DHCP discover 封包內(nèi)會帶有其 MAC 地址信息,并且有一個 XID 編號來辨別該封包,DHCP 服務(wù)器響應(yīng)的 DHCP offer 封包則會根據(jù)這些資料傳遞給要求租約的客戶。根據(jù)服務(wù)器端的設(shè)定,DHCP offer 封包會包含一個租約期限的信息。接受 IP 租約
如果客戶端收到網(wǎng)絡(luò)上多臺 DHCP 服務(wù)器的響應(yīng),只會挑選其中一個 DHCP offer 而已(通常是最先抵達(dá)的那個),并且會向網(wǎng)絡(luò)發(fā)送一個DHCP request廣播封包,告訴所有 DHCP 服務(wù)器它將指定接受哪一臺服務(wù)器提供的 IP 地址。 同時,客戶端還會向網(wǎng)絡(luò)發(fā)送一個 ARP 封包,查詢網(wǎng)絡(luò)上面有沒有其它機(jī)器使用該 IP 地址;如果發(fā)現(xiàn)該 IP 已經(jīng)被占用,客戶端則會送出一個 DHCPDECLIENT 封包給 DHCP 服務(wù)器,拒絕接受其 DHCP offer ,并重新發(fā)送 DHCP discover 信息。 事實上,并不是所有 DHCP 客戶端都會無條件接受 DHCP 服務(wù)器的 offer ,尤其這些主機(jī)安裝有其它 TCP/IP 相關(guān)的客戶軟件?蛻舳艘部梢杂 DHCP request 向服務(wù)器提出 DHCP 選擇,而這些選擇會以不同的號碼填寫在 DHCP Option Field 里面。換一句話說,在 DHCP 服務(wù)器上面的設(shè)定,未必是客戶端全都接受?蛻舳丝梢员A糇约旱囊恍 TCP/IP 設(shè)定,并且主動權(quán)永遠(yuǎn)在客戶端這邊。
租約確認(rèn)
當(dāng) DHCP 服務(wù)器接收到客戶端的 DHCP request 之后,會向客戶端發(fā)出一個相關(guān)圖片
DHCPACK 響應(yīng),以確認(rèn) IP 租約的正式生效,也就結(jié)束了一個完整的 DHCP 工作過程。
DHCP 發(fā)放流程第一次登錄之后: 一旦 DHCP 客戶端成功地從服務(wù)器哪里取得 DHCP 租約之后,除非其租約已經(jīng)失效并且 IP 地址也重新設(shè)定回 0.0.0.0 ,否則就無需再發(fā)送 DHCP discover 信息了,而會直接使用已經(jīng)租用到的 IP 地址向之前之 DHCP 服務(wù)器發(fā)出 DHCP request 信息,DHCP 服務(wù)器會盡量讓客戶端使用原來的 IP 地址,如果沒問題的話,直接響應(yīng) DHCPack 來確認(rèn)則可。如果該地址已經(jīng)失效或已經(jīng)被其它機(jī)器使用了,服務(wù)器則會響應(yīng)一個 DHCPNACK 封包給客戶端,要求其重新執(zhí)行 DHCP discover。 至于 IP 的租約期限卻是非?季康,并非如我們租房子那樣簡單, 以 NT 為例子:DHCP 客戶端除了在開機(jī)的時候發(fā)出 DHCP request 請求之外,在租約期限一半的時候也會發(fā)出 DHCP request ,如果此時得不到 DHCP 服務(wù)器的確認(rèn)的話,客戶端還可以繼續(xù)使用該 IP ;當(dāng)租約期過了87.5%時,如果客戶端仍然無法與當(dāng)初的DHCP服務(wù)器聯(lián)系上,它將與其它DHCP服務(wù)器通信。如果網(wǎng)絡(luò)上再沒有任何DHCP服務(wù)器在運行時,該客戶端必須停止使用該IP地址,并從發(fā)送一個Dhcpdiscover數(shù)據(jù)包開始,再一次重復(fù)整個過程。要是您想退租,可以隨時送出 DHCPRELEASE 命令解約,就算您的租約在前一秒鐘才獲得的。
跨網(wǎng)絡(luò)的 DHCP 運作 從前面描述的過程中,我們不難發(fā)現(xiàn):DHCP DISCOVER 是以廣播方式進(jìn)行的,其情形只能在同一網(wǎng)絡(luò)之內(nèi)進(jìn)行,因為 router 是不會將廣播傳送出去的。但如果 DHCP 服務(wù)器安設(shè)在其它的網(wǎng)絡(luò)上面呢?由于 DHCP 客戶端還沒有 IP 環(huán)境設(shè)定,所以也不知道 Router 地址,而且有些 Router 也不會將 DHCP 廣播封包傳遞出去,因此這情形下 DHCP DISCOVER 是永遠(yuǎn)沒辦法抵達(dá) DHCP 服務(wù)器那端的,當(dāng)然也不會發(fā)生 OFFER 及其它動作了。要解決這個問題,我們可以用 DHCP Agent (或 DHCP Proxy )主機(jī)來接管客戶的 DHCP 請求,然后將此請求傳遞給真正的 DHCP 服務(wù)器,然后將服務(wù)器的回復(fù)傳給客戶。這里,Proxy 主機(jī)必須自己具有路由能力,且能將雙方的封包互傳對方。 若不使用 Proxy,您也可以在每一個網(wǎng)絡(luò)之中安裝 DHCP 服務(wù)器,但這樣的話,一來設(shè)備成本會增加,而且,管理上面也比較分散。當(dāng)然嘍,如果在一個十分大型的網(wǎng)絡(luò)中,這樣的均衡式架構(gòu)還是可取的。視您的實際情況而定了。
5、DHCP 協(xié)議 RFC-951、RFC-1084、RFC-1123、RFC-1533、RFC-1534、RFC-1497、RFC-1541
DHCP是可自動將IP位址指派給登入TCP/IP網(wǎng)絡(luò)的用戶端的一種軟件,(此種IP位址稱為「動態(tài)IP位址」)。這種軟件通常是在路由器及其他網(wǎng)絡(luò)設(shè)備上執(zhí)行的。依照預(yù)先設(shè)定,您的GateLock路由器設(shè)定為使用DHCP,因此就無須手動指派永久IP位址給網(wǎng)絡(luò)上的每個設(shè)備。建議不要改變這個設(shè)置,這樣您的個人電腦就可以被分辨為DHCP服務(wù)器。
1 dhcpdiscover: 此為client開始DHCP過程中的第一個請求報文
2 dhcpoffer : 此為server 對dhcpdiscover 報文的響應(yīng)
3 dhcprequst : 此為client 對dhcpoffer 報文的響應(yīng)
4 dhcpdeclient: 當(dāng)client發(fā)現(xiàn)server 分配給它的IP地址無法使用,如 IP地址發(fā)生沖突時,將發(fā)出此報文讓server禁止使用這次分配的IP地址。
5 dhcpack : server對 dhcprequst 報文的響應(yīng),client收到此報文后才真正獲得了IP地址和相關(guān)配置信息。
6 dhcpnack : 此報文是server對client的dhcprequst報文的拒絕響應(yīng),client 收到此報文后,一般會重新開始DHCP過程。
7 dhcprelease :此報文是 client主動釋放IP地址,當(dāng)server 收到此報文后就可以收回IP地址分配給其他的client.
DHCP是BOOTP的擴(kuò)展,是基于C/S模式的,它提供了一種動態(tài)指定
相關(guān)圖片
IP地址和配置參數(shù)的機(jī)制。這主要用于大型網(wǎng)絡(luò)環(huán)境和配置比較困難的地方。DHCP服務(wù)器自動為客戶機(jī)指定IP地址,指定的配置參數(shù)有些和IP協(xié)議并不相關(guān),但這必沒有關(guān)系,它的配置參數(shù)使得網(wǎng)絡(luò)上的計算機(jī)通信變得方便而容易實現(xiàn)了。DHCP使IP地址的可以租用,對于許多擁有許多臺計算機(jī)的大型網(wǎng)絡(luò)來說,每臺計算機(jī)擁有一個IP地址有時候可能是不必要的。租期從1分鐘到100年不定,當(dāng)租期到了的時候,服務(wù)器可以把這個IP地址分配給別的機(jī)器使用?蛻粢部梢哉埱笫褂米约合矚g的網(wǎng)絡(luò)地址及相應(yīng)的配置參數(shù)。
DHCP是對BOOTP的擴(kuò)展,它的包格式和BOOTP也一樣,這樣它就可以使用BOOTP的中轉(zhuǎn)發(fā)代理來發(fā)送DHCP包了,這使得BOOTP和DHCP之間可以實現(xiàn)互操作。對于BOOTP轉(zhuǎn)發(fā)代理來說,發(fā)的是DHCP包還是BOOTP包,它根本分不清楚。它們使用的服務(wù)器端口號是67和68,但是有些地方還有些不同:
DHCP定義了一種可以使IP地址使用一段有限時間的機(jī)制,在客戶期限到了的時候可以重新分配這個IP地址。
DHCP為用戶提供所有IP配置參數(shù)。
DHCP包長度比BOOTP包長度稍長。既然包比BOOTP的長,那也不是白帶的,這多出的長度里包括了網(wǎng)絡(luò)配置參數(shù)。
DHCP的包都比BOOTP的長,那協(xié)議也復(fù)雜了。DHCP有七種消息類型,而BOOTP只有兩種。
下圖中我們可以清楚地看到客戶機(jī)請求獲得網(wǎng)絡(luò)地址和配置參數(shù)的最初幾個步驟:
第一步的時候客戶發(fā)出包的名稱叫DHCPDISCOVER,而服務(wù)器返回包的名稱叫DHCPOFFER。
1.BOOTP轉(zhuǎn)發(fā)代理接收到請求包,并負(fù)責(zé)向DHCP其它網(wǎng)絡(luò)內(nèi)的DHCP服務(wù)器轉(zhuǎn)發(fā)。
2.DHCP服務(wù)器以DHCPOFFER響應(yīng)客戶的要求,這個包內(nèi)包括可用的IP地址和參數(shù)。
3.BOOTP轉(zhuǎn)發(fā)代理接收包,并對它進(jìn)行檢查。如果它覺得沒有問題,就向客戶轉(zhuǎn)發(fā)。
4.如果客戶在發(fā)出DHCP DISCOVER 包后一段時間內(nèi)沒有接收到回應(yīng),它有機(jī)會重新發(fā)送請求10次,否則就通知用戶?蛻魴C(jī)可以同時接收到許多個服務(wù)器的應(yīng)答,它可以自己決定用哪一個。下圖是客戶決定了以后,向服務(wù)器發(fā)送應(yīng)答時的情況。
5.當(dāng)客戶選定了某個目標(biāo)服務(wù)器后,它會廣播DHCPREQUEST包,用以通知選定的服務(wù)器和未選定的服務(wù)器。
6.轉(zhuǎn)發(fā)工作仍然由BOOTP轉(zhuǎn)發(fā)擔(dān)任。
7.收到DHCPREQUEST包服務(wù)器會檢查收到的包,如果包內(nèi)的地址和提供的地址一致,證明現(xiàn)在客戶機(jī)選擇的是這臺服務(wù)器提供的地址,如果不是,自己提供的地址被拒絕了。
8.被選定的服務(wù)器在接收到DHCPREQUEST包以后,因為某些原因可能不能向客戶提供這個網(wǎng)絡(luò)地址或參數(shù),它可以向客戶發(fā)送DHCPNAK包,如果可以提供則可以發(fā)送DHCPACK包。
客戶在收到包后,檢查內(nèi)部的網(wǎng)絡(luò)地址和租用時間,如果客戶覺得這個包有問題,它可以發(fā)送DHCPDECLIENT包拒絕這個地址,然后重新發(fā)送DHCPDISCOVER包。如果覺得沒有問題,就可以接受這個配置參數(shù)。同樣當(dāng)客戶接收到DHCPNAK包時,它也可以發(fā)送DHCPDISCOVER包?蛻艨梢栽谧馄诘狡谥搬尫啪W(wǎng)絡(luò)地址,這通過發(fā)送DHCPRELEASE包來實現(xiàn)。
用戶下一次可以再次獲得相同的IP地址。在這一過程中,許多步驟就可以不用麻煩了,老客戶當(dāng)然要方便一點了。
1.客戶在發(fā)送的DHCPREQUEST包內(nèi)包括自己以前使用的IP地址。
2.此包由BOOTP轉(zhuǎn)發(fā)代理轉(zhuǎn)發(fā)。
3.DHCP服務(wù)器檢查DHCPREQUEST包內(nèi)包括的配置參數(shù)。
4.它如果是原來提供這個網(wǎng)絡(luò)地址的參數(shù)的服務(wù)器,它會認(rèn)出這些數(shù)來,并以DHCPACK包回應(yīng)。
5.客戶接收到DHCPACK包后,它可以接收或拒絕,如果拒絕它可以申請新的網(wǎng)絡(luò)地址。
當(dāng)然了,如果服務(wù)器覺得客戶的請求是無效的,服務(wù)器會以DHCPNAK包響應(yīng),客戶接收到這個包后,會重新會獲得網(wǎng)絡(luò)地址而發(fā)送DHCPDISCOVER包
6、配置案例;
IPv4配置方法:
Router(config)#int f0/0Router(config-if)#ip add 192.168.1.1 255.255.255.0
Router(config-if)#no sh
Router(config-if)#exit
Router(config)#ip dhcp excluded-address 192.168.1.1 //需要排除路由器的接口既網(wǎng)關(guān)地址
Router(config)#ip dhcp pool IPv4 //創(chuàng)建DHCP池
Router(dhcp-config)#network 192.168.1.0 /24 //宣告可分配網(wǎng)段
Router(dhcp-config)#default-Router 192.168.1.1 //設(shè)置客戶端的默認(rèn)網(wǎng)關(guān)
Router(dhcp-config)#dns-server 61.128.114.133 //設(shè)置客戶端DNS地址
Router(dhcp-config)#lease 2 //地址租期
Router(dhcp-config)#domain-name ewao_cn //設(shè)置客戶端所在域
Router(dhcp-config)#endIPv6配置方法(需要您的路由設(shè)備支持IPv6技術(shù)): Router(config)#ipv6 unicast-routing //開啟IPv6協(xié)議
Router(config)#ipv6 cef //開啟IPv6轉(zhuǎn)發(fā)
Router(config)#ipv6 dhcp pool v6 //創(chuàng)建DHCP池
Router(config-dhcp)# prefix-delegation pool v6pool
Router(config-dhcp)# dns-server 2001:470:20::2
Router(config-dhcp)# domain-name ewao_cn
Router(config-dhcp)#end
原文引用;http://baike.baidu.com/view/7992.htm
回答者:
xhy1331
回答時間:2011-10-31 17:57
11 10
• 南京華蘇科技有限公司
聘:性能后臺-深圳移動日常
需求人數(shù):3 人 地點:深圳市
• 上海瑞禾通訊技術(shù)有限公司 聘:廣州中高級工程師
需求人數(shù):3 人 地點:廣州市
• 嘉環(huán)科技股份有限公司 聘:湖南電信原廠優(yōu)化招聘
需求人數(shù):10 人 地點:長沙市,永州市,郴州市,衡陽市
• 杭州東信網(wǎng)絡(luò)技術(shù)有限公司 聘:貴州電信網(wǎng)優(yōu)高級工程師
需求人數(shù):1 人 地點:貴州省
• 重慶信科通信工程有限公司 聘:后臺優(yōu)化
需求人數(shù):2 人 地點:南昌市
• 成都旗訊通信技術(shù)有限公司 聘:電聯(lián)招聘督導(dǎo)、傳輸、維護(hù)轉(zhuǎn)網(wǎng)優(yōu)
需求人數(shù):12 人 地點:浙江省,江蘇省,河北省,山西省,遼寧省
• 怡利科技發(fā)展有限公司 聘:網(wǎng)優(yōu)工程師(初級)
需求人數(shù):5 人 地點:貴州省
• 北京電旗通訊技術(shù)股份有限公司 聘:網(wǎng)優(yōu)實習(xí)生通信應(yīng)屆生(云南)
需求人數(shù):1 人 地點:昆明市,思茅市,昭通市
• 南京格安信息系統(tǒng)有限責(zé)任公司 聘:5G工程單驗人員
需求人數(shù):10 人 地點:北京市
• 福建省鴻官通信工程有限公司 聘:網(wǎng)絡(luò)優(yōu)化工程師
需求人數(shù):2 人 地點:牡丹江市
需求人數(shù):3 人 地點:深圳市
• 上海瑞禾通訊技術(shù)有限公司 聘:廣州中高級工程師
需求人數(shù):3 人 地點:廣州市
• 嘉環(huán)科技股份有限公司 聘:湖南電信原廠優(yōu)化招聘
需求人數(shù):10 人 地點:長沙市,永州市,郴州市,衡陽市
• 杭州東信網(wǎng)絡(luò)技術(shù)有限公司 聘:貴州電信網(wǎng)優(yōu)高級工程師
需求人數(shù):1 人 地點:貴州省
• 重慶信科通信工程有限公司 聘:后臺優(yōu)化
需求人數(shù):2 人 地點:南昌市
• 成都旗訊通信技術(shù)有限公司 聘:電聯(lián)招聘督導(dǎo)、傳輸、維護(hù)轉(zhuǎn)網(wǎng)優(yōu)
需求人數(shù):12 人 地點:浙江省,江蘇省,河北省,山西省,遼寧省
• 怡利科技發(fā)展有限公司 聘:網(wǎng)優(yōu)工程師(初級)
需求人數(shù):5 人 地點:貴州省
• 北京電旗通訊技術(shù)股份有限公司 聘:網(wǎng)優(yōu)實習(xí)生通信應(yīng)屆生(云南)
需求人數(shù):1 人 地點:昆明市,思茅市,昭通市
• 南京格安信息系統(tǒng)有限責(zé)任公司 聘:5G工程單驗人員
需求人數(shù):10 人 地點:北京市
• 福建省鴻官通信工程有限公司 聘:網(wǎng)絡(luò)優(yōu)化工程師
需求人數(shù):2 人 地點:牡丹江市
熱點問題
更多精彩
聯(lián)系我們 - 問通信專家 | Powered by MSCBSC 移動通信網(wǎng) © 2006 - |