DHCP服務器功能淺析

1.DHCP簡介

    DHCP是Dynamic Host Configuration Protocol的縮寫,它的前身是BOOTP。DHCP可以說是BOOTP的增強版本,分爲兩個部份(C/S架構):一個是服務器端,而另一個是客戶端。DHCP的主要作用是集中的管理、分配IP地址,使網絡環境中的主機動態的獲得IP地址、Gateway地址、DNS服務器地址等信息,並能夠提升地址的使用率。對比BOOTP,DHCP通過"租約"的概念,有效且動態的分配客戶端的TCP/IP設定。而且爲了考慮兼容性,DHCP也完全兼容了BOOTP Client的需求。

2.DHCP Server功能

  • DHCP Server的基本功能,如表 21所示。

 表 21 DHCP Server基本功能

3.DHCP Server框架即原理

    3.1 軟件框圖

        DHCP Server軟件框圖如圖 31所示。

圖 31  DHCP Server軟件框圖

    3.2 DHCP原理

        DHCP原理如圖 32所示。

圖 32  DHCP原理圖

    3.3 DHCP報文結構

        DHCP協議報文如表3-2所示。

表 32  DHCP協議報文結構

  •  opclient發送給server的封包,設爲1,server發送給client的封包,設爲2。

  • htype硬件類別,1表示10Mb/s的以太網(Ethernet)的硬件地址。

  • hlen硬件地址長度,Ethernet爲6(字節)。

  • hops跳數,若封包需經過router傳送,每站加 1,若在同一網內,爲0(客戶端的初始設置爲0)。

  • xidTRANSACTION ID(事務ID),DHCP REQUEST 時產生的數值,服務器和客戶端用來在它們之間交流請求和響應,客戶端用它對請求和應答進行匹配。

  • seconds由客戶端填充,表示從客戶端開始獲得IP地址或IP地址續借後所使用了的秒數。

  • flags從0到15共16 bits,最左1Bit爲1時表示server將以廣播方式傳送封包給client;最左1Bit爲0時表示server將以單播方式傳送封包給client。

  • ciaddr客戶端的IP地址,只有客戶端是Bound、Renew、Rebinding狀態,並且能響應ARP請求時,才能被填充。

  • yiaddr從server送回client的DHCP OFFER與DHCPACK封包中,此欄填寫分配給client的IP地址。

  • siaddr表明DHCP協議流程的下一個階段要使用的服務器的IP地址。

  • giaddr若需跨網域進行DHCP獲取,此欄爲 relay agent的地址,否則爲0。

  • chaddr客戶端硬件地址。客戶端必須設置它的"chaddr"字段。

  • snameServer的名稱字符串,由DHCP服務器填寫,以0x00結尾。

  • file啓動文件名,是一個空結尾的字符串。

  • options允許廠商定議選項(Vendor-Specific Area),以提供更多的設定信息。

         數據通信模塊主要完成DHCP協議報文的解析和封裝,數據包的發送和接收功能。

    3.4 DHCP服務流程

        3.4.1 DHCP Discover數據處理流程

        DHCP Discover數據處理流程如圖 33所示。

圖 33  DHCP Disocver數據處理流程圖

        3.4.2 DHCP Request數據處理流程

        DHCP Request數據處理流程如圖 34所示。

圖 34  DHCP Reques數據處理流程圖

        3.4.3 DHCP Release數據處理流程

        DHCP Release數據處理流程如圖 35所示。

圖 35  DHCP Release數據處理流程圖

        3.4.4 DHCP Decline數據處理流程

        DHCP Decline數據處理流程如圖 36所示。

圖 36  DHCP Decline數據處理流程圖

        3.4.5 DHCP Inform數據處理流程

        DHCP Inform數據處理流程如圖 3 7所示。

圖 3 7  DHCP Inform數據處理流程圖


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章