FreeBSD DHCP的工作過程(轉)

gugu99發表於2007-08-11
FreeBSD DHCP的工作過程(轉)[@more@]

  

設定DHCP

  動態主機配置協議(Dynamic Host Configuration Protocol,DHCP)是用於對多個客戶計算機集中分配IP地址以及IP地址相關的資訊的協議,這樣就能將IP地址和TCP/IP的設定統一管理起來,而避免不必要的地址衝突的問題,因此常常用在網路中對眾多DOS/Windows計算機的管理方面,節省了網路管理員手工設定和分配地址的麻煩。

  除了能夠方便管理之外,DHCP還能略微達到節省IP地址的目的。假設網路中有50個計算機,但只有40個 IP地址,但是這50臺計算機不會同時啟動,IP地址應該滿足要求。如果使用靜態IP地址的設定方式,還是會遇到分配地址的困難,因為計算機的使用是隨機的,無論怎樣分配地址都無法避免出現衝突現象,而使用DHCP就能避免這個問題。 DHCP也能用於統一設定其他的一些IP設定,如預設路由、DNS伺服器等等,使用它能減少一個大型網路的管理任務。

  DHCP是從原有的BootP協議發展起來的,原來的目的是為無盤工作站分配IP地址的協議,當前更多的用於集中管理IP地址。然而DHCP協議也有其缺點,例如一臺DHCP客戶計算機沒有一個固定的IP地址,而對於提供網路服務的伺服器來講,經常變化的IP地址並不適合。並且當前的DNS協議並不能和DHCP協作,為DHCP客戶直接提供主機名解析任務。

  • DHCP的工作過程

  DHCP工作時要求客戶機和伺服器進行互動,由客戶機透過廣播向伺服器發起申請IP地址的請求,然後由伺服器分配一個IP地址以及其他的TCP/IP設定資訊。整個過程可以分為以下步驟:

  IP地址租用申請:DHCP客戶機的TCP/IP首次啟動時,就要執行DHCP客戶程式,以進行TCP/IP 的設定。由於此時客戶機的TCP/IP還沒有設定完畢,就只能使用廣播的方式傳送DHCP請求資訊包,廣播包使用 UDP埠67和68進行傳送,廣播資訊中包括了客戶機的網路介面的硬體地址和計算機名字,以提供DHCP伺服器進行分配。

  IP地址租用提供:當接收到DHCP客戶機的廣播資訊之後,所有的DHCP伺服器均為這個客戶機分配一個合適的IP地址,將這些IP地址、網路掩碼、租用時間等資訊,按照DHCP客戶提供的硬體地址傳送回DHCP客戶機。這個過程中對DHCP伺服器沒有對客戶計算機進行限制,因此客戶機能收到多個IP地址提供資訊。

  IP地址租用選擇:由於客戶機接收到多個伺服器傳送的多個IP地址提供資訊,客戶機將選擇一個IP地址,拒絕其他提供的IP地址,以便這些地址能分配給其他客戶。客戶機將向它選擇的伺服器傳送選擇租用資訊。

  IP地址租用確認:伺服器將收到客戶的選擇資訊,如果也沒有例外發生,將回應一個確認資訊,將這個IP地址真正分配給這個客戶機。客戶機就能使用這個IP地址及相關的TCP/IP資料,來設定自己的TCP/IP堆疊。

  更新租用:DHCP中,每個IP地址是有一定租期的,若租期已到,DHCP伺服器就能夠將這個IP地址重新分配給其他計算機。因此每個客戶計算機應該提前不斷續租它已經租用的IP地址,伺服器將回應客戶機的請求並更新該客戶機的租期設定。一旦伺服器返回不能續租的資訊,那麼DHCP客戶機只能在租期到達時放棄原有的IP地址,重新申請一個新 IP地址。為了避免發生問題,續租在租期達到50%時就將啟動,如果沒有成功將不斷啟動續租請求過程。

  釋放IP地址租用:客戶機可以主動釋放自己的IP地址請求,也可以不釋放,但也不續租,等待租期過期而釋放佔用的IP地址資源。

  由於DHCP依賴於廣播資訊,因此一般的情況下,客戶機和伺服器應該位於同一個網路之內。然而可以設定網路中的路由器為可以轉發BootP廣播包,使得伺服器和客戶機可以位於兩個不同的網路中。然而配置轉發廣播資訊,不是一個很好的解決辦法,更好的辦法為使用DHCP中轉計算機,DHCP中轉計算機和DHCP客戶機位於同一個網路中,來回應客戶機的租用請求,然而它不維護DHCP資料和擁有IP地址資源,它只是將請求透過TCP/IP轉發給位於另一個網路上的DHCP伺服器,進行實際的IP地址分配和確認。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-944626/,如需轉載,請註明出處,否則將追究法律責任。

相關文章