Linux DHCP原理

DHCP做用

  DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)是一個局域網的網絡協議,使用UDP協議工做, 主要有兩個用途:給內部網絡或網絡服務供應商自動分配IP地址、子網掩碼、網關以及DNS、(網絡批量安裝)等tcp/ip信息,給用戶或者內部網絡管理員做爲對全部計算機做中央管理的方法。服務器

DHCP原理

DHCP租約四部曲

A:客戶端進行IP請求網絡

  當一個DHCP客戶機啓動時,會自動將本身的IP地址配置成0.0.0.0,因爲使用0.0.0.0不能進行正常通訊,因此客戶機就必須經過DHCP服務器來獲取一個合法的地址。因爲客戶機不知道DHCP服務器的IP地址,因此它使用0.0.0.0的地址做爲源地址,使用UDP68端口做爲源端口,使用255.255.255.255做爲目標地址,使用UDP67端口做爲目的端口來廣播請求IP地址信息廣播信息中包含了DHCP客戶機的MAC地址和計算機名,以便使DHCP服務器能肯定是哪一個客戶機發送的請求。tcp

B:服務器響應spa

 

  當DHCP服務器接收到客戶機請求IP地址的信息時,它就在本身的IP地址池中查找是否有合法的IP地址提供給客戶機。若是有,DHCP服務器就將此IP地址作上標記,加入到DHCPOFFER的消息中,而後DHCP服務器就廣播一則包括下列信息的DHCPOFFER消息:DHCP客戶機的MAC地址;DHCP服務器提供的合法IP地址;子網掩碼;默認網關(路由);租約的期限;DHCP服務器的IP地址。由於DHCP客戶機尚未IP地址,因此DHCP服務器使用本身的IP地址做爲源地址,使用UDP67端口做爲源端口,使用255.255.255.255做爲目標地址,使用UDP68端口做爲目的端口來廣播DHCPOFFER信息。blog

C:客戶機選擇IP  ip

  DHCP客戶機從接收到的第一個DHCPOFFER消息中選擇IP地址,發出IP地址的DHCP服務器將該地址保留,這樣該地址就不能提供給另外一個DHCP客戶機。當客戶機從第一個DHCP服務器接收DHCPOFFER並選擇IP地址後,DHCP租約的第三過程發生。客戶機將DHCPREQUEST消息廣播到全部的DHCP服務器,代表它接受提供的內容。DHCPREQUEST消息包括爲該客戶機提供IP配置的服務器的服務標識符(IP地址)。DHCP服務器查看服務器標識符字段,以肯定它本身是否被選擇爲指定的客戶機提供IP地址,若是那些DHCPOFFER被拒絕,則DHCP服務器會取消提供並保留其IP地址以用於下一個IP租約請求。路由

  在客戶機選擇IP的過程當中,雖然客戶機選擇了IP地址,可是尚未配置IP地址,而在一個網絡中可能有幾個DHCP服務器,因此客戶機仍然使用0.0.0.0的地址做爲源地址,使用UDP68端口做爲源端口,使用255.255.255.255做爲目標地址,使用UDP67端口做爲目的端口來廣播DHCPREQUEST信息。io

D:服務器確認租約原理

 

  DHCP服務器接收到DHCPREQUEST消息後,以DHCPACK消息的形式向客戶機廣播成功的確認,該消息包含有IP地址的有效租約和其餘可能配置的信息。雖然服務器確認了客戶機的租約請求,可是客戶機尚未收到服務器的DHCPACK消息,因此服務器仍然使用本身的IP地址做爲源地址,使用UDP67端口做爲源端口,使用255.255.255.255做爲目標地址,使用UDP68端口做爲目的端口來廣播DHCPACK信息。當客戶機收到DHCPACK消息時,它就配置了IP地址,完成了TCP/IP的初始化。配置

 

服務器確認租約:DHCPNACK(DHCPNAK)

 

  若是DHCPREQUEST不成功,例如客戶機試圖租約先前的IP地址,但該IP地址再也不可用,或者由於客戶機移到其餘子網,該IP無效時,DHCP服務器將廣播否認確認消息DHCPNACK。當客戶機接收到不成功的確認時,它將從新開始DHCP租約過程。

DHCP續租

 

 

  DHCP客戶機會在租期過去50%的時候,直接向爲其提供IP地址的DHCP服務器發送DHCPREQUEST消息包。若是客戶機接收到該服務器迴應的DHCPACK消息包,客戶機就根據包中所提供的新的租期以及其它已經更新的TCP/IP參數,更新本身的配置,IP租用更新完成。若是沒有收到該服務器的回覆,則客戶機繼續使用現有的IP地址,由於當前租期還有50%。

  若是在租期過去50%的時候沒有更新,則DHCP客戶機將在租期過去75%的時候再次向爲其提供IP地址的DHCP服務器聯繫。若是還不成功,到租約的100%時候,DHCP客戶機必須放棄這個IP地址,從新申請。若是此時無DHCP服務器可用,DHCP客戶機會使用169.254.0.0/16中隨機的一個地址,而且每隔5分鐘再進行嘗試。

相關文章
相關標籤/搜索