DHCP 動態(tài)主機配置協(xié)議

2020-06-15 15:44 更新

一、簡介

1.簡介

DHCP(Dynamic Host Configuration Protocol,動態(tài)主機配置協(xié)議)通常被應(yīng)用在大型的局域網(wǎng)絡(luò)環(huán)境中,主要作用是集中的管理、分配IP地址,使網(wǎng)絡(luò)環(huán)境中的主機動態(tài)的獲得IP地址、Gateway地址、DNS服務(wù)器地址等信息,并能夠提升地址的使用率。

2.作用

DHCP協(xié)議采用客戶端/服務(wù)器模型,主機地址的動態(tài)分配任務(wù)由網(wǎng)絡(luò)主機驅(qū)動。當DHCP服務(wù)器接收到來自網(wǎng)絡(luò)主機申請地址的信息時,才會向網(wǎng)絡(luò)主機發(fā)送相關(guān)的地址配置等信息,以實現(xiàn)網(wǎng)絡(luò)主機地址信息的動態(tài)配置。

DHCP具有以下功能:

1. 保證任何IP地址在同一時刻只能由一臺DHCP客戶機所使用。 
2. DHCP應(yīng)當可以給用戶分配永久固定的IP地址。
3. DHCP應(yīng)當可以同用其他方法獲得IP地址的主機共存(如手工配置IP地址的主機)。 
4. DHCP服務(wù)器應(yīng)當向現(xiàn)有的BOOTP客戶端提供服務(wù)。

DHCP有三種機制分配IP地址:

1) 自動分配方式(Automatic Allocation),DHCP服務(wù)器為主機指定一個永久性的IP地址,一旦DHCP客戶端第一次成功從DHCP服務(wù)器端租用到IP地址后,就可以永久性的使用該地址。 
2) 動態(tài)分配方式(Dynamic Allocation),DHCP服務(wù)器給主機指定一個具有時間限制的IP地址,時間到期或主機明確表示放棄該地址時,該地址可以被其他主機使用。   
3) 手工分配方式(Manual Allocation),客戶端的IP地址是由網(wǎng)絡(luò)管理員指定的,DHCP服務(wù)器只是將指定的IP地址告訴客戶端主機。 

三種地址分配方式中,只有動態(tài)分配可以重復(fù)使用客戶端不再需要的地址。

DHCP消息的格式是基于BOOTP(Bootstrap Protocol)消息格式的,這就要求設(shè)備具有BOOTP中繼代理的功能,并能夠與BOOTP客戶端和DHCP服務(wù)器實現(xiàn)交互。BOOTP中繼代理的功能,使得沒有必要在每個物理網(wǎng)絡(luò)都部署一個DHCP服務(wù)器。RFC 951和RFC 1542對BOOTP協(xié)議進行了詳細描述。

二、報文

報文格式

字段 長度 含義
OP 1字節(jié) 表示報文的類型:1:客戶端請求報文2:服務(wù)器響應(yīng)報文
htype 1字節(jié) 表示硬件地址的類型。對于以太網(wǎng),該類型的值為“1”。
hlen 1字節(jié) 表示硬件地址的長度,單位是字節(jié)。對于以太網(wǎng),該值為6。
Hops 1字節(jié) 跳數(shù)??蛻舳嗽O(shè)置為0,也能被一個代理服務(wù)器設(shè)置。
xid 4字節(jié) 事務(wù)ID,由客戶端選擇的一個隨機數(shù),被服務(wù)器和客戶端用來在它們之間交流請求和響應(yīng),客戶端用它對請求和應(yīng)答進行匹配。該ID由客戶端設(shè)置并由服務(wù)器返回,為32位整數(shù)。
secs 2字節(jié) 由客戶端填充,表示從客戶端開始獲得IP地址或IP地址續(xù)借后所使用了的秒數(shù)。
flags 2字節(jié) 此字段在BOOTP中保留未用,在DHCP中表示標志字段。
ciaddr 4字節(jié) 客戶端的IP地址。只有客戶端是Bound、Renew、Rebinding狀態(tài),并且能響應(yīng)ARP請求時,才能被填充
yiaddr 4字節(jié) "你自己的"或客戶端的IP地址。
siaddr 4字節(jié) 表明DHCP協(xié)議流程的下一個階段要使用的服務(wù)器的IP地址。
giaddr 4字節(jié) 該字段表示第一個DHCP中繼的IP地址(注意:不是地址池中定義的網(wǎng)關(guān))。當客戶端發(fā)出DHCP請求時,如果服務(wù)器和客戶端不在同一個網(wǎng)絡(luò)中,那么第一個DHCP中繼在轉(zhuǎn)發(fā)這個DHCP請求報文時會把自己的IP地址填入此字段。服務(wù)器會根據(jù)此字段來判斷出網(wǎng)段地址,從而選擇為用戶分配地址的地址池。服務(wù)器還會根據(jù)此地址將響應(yīng)報文發(fā)送給此DHCP中繼,再由DHCP中繼將此報文轉(zhuǎn)發(fā)給客戶端。若在到達DHCP服務(wù)器前經(jīng)過了不止一個DHCP中繼,那么第一個DHCP中繼后的中繼不會改變此字段,只是把Hops的數(shù)目加1。
chaddr 16字節(jié) 該字段表示客戶端的MAC地址,此字段與前面的“Hardware Type”和“Hardware Length”保持一致。當客戶端發(fā)出DHCP請求時,將自己的硬件地址填入此字段。對于以太網(wǎng),當“Hardware Type”和“Hardware Length”分別為“1”和“6”時,此字段必須填入6字節(jié)的以太網(wǎng)MAC地址。
sname 64字節(jié) 該字段表示客戶端獲取配置信息的服務(wù)器名字。此字段由DHCP Server填寫,是可選的。如果填寫,必須是一個以0結(jié)尾的字符串。
file 128字節(jié) 該字段表示客戶端的啟動配置文件名。此字段由DHCP Server填寫,是可選的,如果填寫,必須是一個以0結(jié)尾的字符串。
options 可變 該字段表示DHCP的選項字段,至少為312字節(jié),格式為"代碼+長度+數(shù)據(jù)"。DHCP通過此字段包含了服務(wù)器分配給終端的配置信息,如網(wǎng)關(guān)IP地址,DNS服務(wù)器的IP地址,客戶端可以使用IP地址的有效租期等信息。
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號