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協議報文結構
?op:client發送給server的封包,設為1,server發送給client的封包,設為2。
htype:硬件類別,1表示10Mb/s的以太網(Ethernet)的硬件地址。
hlen:硬件地址長度,Ethernet為6(字節)。
hops:跳數,若封包需經過router傳送,每站加 1,若在同一網內,為0(客戶端的初始設置為0)。
xid:TRANSACTION 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:客戶端硬件地址??蛻舳吮仨氃O置它的"chaddr"字段。
sname:Server的名稱字符串,由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數據處理流程圖
轉載于:https://blog.51cto.com/senjienly/1905811
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的DHCP服务器功能浅析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 远程调用RestTemplate
- 下一篇: HTMLCSS学习笔记(四)----浮动