當前位置:外匯行情大全網 - 外匯開戶 - DHCP協議的原理與分析(壹)

DHCP協議的原理與分析(壹)

第01章:

DHCP(動態主機配置協議)協議用於向TCP/IP網絡中的互聯網主機提供配置信息。它是在BOOTP(BOOTP)的基礎上開發的,增加了重用網絡地址的自動分配能力和額外的配置選項,同時DHCP保留了BOOTP的中繼代理功能。

第2章:協議介紹

Dhcp(動態主機配置協議)協議是基於BOOTP協議的。

基於,其功能是向TCP/IP網絡中的Internet主機提供配置信息。

DHCP采用客戶端/服務器模式,客戶端向服務器申請配置(包括分配的IP地址,

子網掩碼、默認網關等參數),服務器根據策略返回相應的配置信息。

DHCP消息被UDP封裝為傳輸層協議。

DHCP 2部分:

1,DHCP中繼功能,將DHCP服務器指定的配置信息發送給主機;;

2.服務器功能,為主機分配網絡地址和其它配置參數。

DHCP IP分配方法:

1,自動分配,給首次連接網絡的部分主機分配壹個固定的IP地址。這個地址

會被這個主機長期使用。

2、動態分配,DHCP服務器為主機指定壹個IP地址,同時指定地址。

有租賃期限。如果租期到了,客戶必須重新申請地址。這是客戶。

最常見的申請地址的方法;

3.手動分配。網絡管理員為少數特定主機指定固定的IP地址。

DHCP指定地址的優先級分類:

1.IP地址靜態綁定到DHCP服務器地址池中客戶端的MAC地址。

2.客戶端使用的地址。當客戶端再次申請地址時,客戶端發送DHCP Discover。

消息,其地址選項將包含最後使用的IP地址,除非該IP地址被分配或該地址

執行了其他不可用的操作(例如,此IP地址被禁止等。),否則客戶端會重新制作。

使用這個地址。

3.客戶端在“請求的IP地址”選項中指定的IP地址(如果該地址在地址池中)。

,並且尚未分配,則將該地址分配給客戶端。

4.依次搜索DHCP地址池中可供分配的IP地址,最先找到的可用IP地址優先級高。

第3章:DHCP消息格式

消息中每個字段的含義

“選項”字段是壹個可變長度字段,DHCP客戶端必須能夠接收長度為312字節的消息。

“選項”域中的DHCP消息,即DHCP客戶端必須能夠接受長度至少為576字節的IP消息。

DHCP客戶端可以通過“最大DHCP消息大小”選項協商最大DHCP消息大小。

長度。

標誌格式:

b:最左邊的位,廣播標誌;;

MBZ:剩下的位是留作將來使用的。

第4章:DHCP消息構造和發送

DHCP使用UDP協議的端口號。

DHCP消息被UDP封裝為傳輸層協議。從客戶端到服務器的DHCP消息被發送到。

DHCP服務器的端口號是67,從服務器發送到客戶端再到DHCP客戶端的報文的端口號是68。

DHCP選項

DHCP消息需要包含壹系列選項,即選項列表。選項列表基於

壹個4字節的魔字開始,後面是壹系列選項,以壹個“end”選項結束。

客戶端ID

DHCP定義了壹個標識客戶端的選項,即“客戶端標識符”選項。客戶必須

選擇壹個可以在物理網絡中唯壹標識您自己的值,以填寫客戶端ID選項的值。壹旦

該值被初始化,並且不能在隨後的消息交互中被改變。建議使用客戶端的MAC地址作為客戶端ID。

價值。

服務器ID

DHCP定義了壹個標識服務器的選項,即“服務器標識符”選項。計算機網絡服務器

選擇您自己的IP地址作為服務器ID。如果壹個DHCP服務器有多個IP地址,它可以隨意選擇。

壹個用作服務器ID,但建議使用客戶端可以到達的IP地址。例如,當服務器和客戶端位於同壹個地方時。

當有網段時,最好選擇該網段的地址作為服務器ID。如果客戶端向服務器發送單播消息,目的地址將使用服務器ID值。

客戶端發送的消息的源IP地址。

在客戶端獲得IP地址之前,它發送的消息的源IP(指IP頭中的源IP字段)必須是

填寫0。

廣播標誌

標誌,1位用作廣播標誌,後面的15位保留,必須設置為0。

當軟件不能有效地配置其自身IP協議的IP地址時,客戶端可能無法處理接收到的單播。

文本,此時,客戶端在發送Discover和Request消息時必須將廣播標誌位置設置為1、Server或Relay。

當代理收到這樣的消息時,它必須向客戶端回復廣播消息。

如果客戶端可以處理廣播消息,它將廣播標誌位置0,服務器或中繼代理將接收到它。

發現和請求的消息,可以用單播消息回復,目的IP地址由服務器分配給。

客戶端的IP地址,即消息中yiaddr(您的IP地址)字段的值。當然是服務器或者中繼代理。

也可以通過廣播回復。

在服務器端處理ciaddr和giaddr字段

Ciaddr,客戶端IP地址,只有客戶端處於綁定、續訂和重新綁定狀態,並且

只有當它能夠響應ARP請求時才能被填充;

giaddr,中繼代理IP地址;

1.如果服務器收到的消息的giaddr字段不為0(即表示消息是通過中繼代理進行的。

轉發的消息),那麽它會以單播的方式回復,它的目的地址是giaddr字段的值;

2.如果服務器收到的消息的giaddr字段為0,ciaddr字段不為0(也就是說,意味著客戶端已經有效。

配置了自己的IP地址),那麽它會單播回復,目的地址是ciaddr word。

段的值;

3.如果服務器接收到的消息的giaddr字段為0,ciaddr字段為0,並且廣播標誌位不為0(也就是說

Ming客戶端還沒有配置自己的IP地址,此時還不能處理單播消息),那麽它將被廣泛使用。

通過廣播回復;

4.如果服務器收到的消息的giaddr字段為0,則ciaddr字段為0,廣播標誌位為0(即描述

盡管客戶端沒有配置自己的IP地址,但此時它可以處理單播消息),然後它將使用

單播回復(建議單播回復,當然也可以廣播回復)。

交易ID

Xid(事務id)是由客戶端選擇的隨機數,用於在服務器和客戶端之間交換消息。

這場比賽。

客戶端必須采用相應的算法,保證自己的xid值盡可能與其他客戶端的xid值不同。

也就是最小化相同的概率。

選項過載

在DHCP報頭中,sname和file字段都占用更多的字節,如果這兩個字段在壹條消息中

如果其中壹兩個不包含信息,空間就浪費了。為此,DHCP可以將選項內容擴展到sname和文件字。

在段落中。DHCP定義了壹個過載選項。如果有過載選項,告訴它。

接收方sname和file字段失去了它們原來的含義,代表選項。

消息類型

DHCP在消息類型選項中定義消息類型。

消息類型選項的格式如下:

選項代碼:長度為1字節,取值為53,表示報文類型選項;;

選項長度:長度為1字節,其值為1,表示選項值字段的長度為1字節;

選項值:長度為1字節,其值標識DHCP的報文類型。

RFC2131中定義了以下八條DHCP消息:

類型描述

1 DHCPDISCOVER

2 DHCPOFFER

3 DHCPREQUEST

4 DHCPDECLINE

5 DHCPACK

6 DHCPNAK

7 DHCPRELEASE

8 DHCPINFORM

DHCP服務器可以從客戶端接收的消息有:DHCPDISCOVER,DHCPREQUEST,

DHCPDECLINE、DHCPRELEASE和DHCPINFORM;

DHCP客戶端可以從服務器接收的消息有:DHCPOFFER、DHCPACK和DHCPNAK。

DHCPDISCOVER

當服務器從客戶端接收到DHCPDISCOVER消息時,服務器將為該客戶端選擇壹個網絡。

網絡地址,如果沒有可用的地址,那麽服務器會向系統管理員報告;如果有可用的地址,則服務器

將為客戶端選擇壹個可用的地址,選擇機制是:

1,服務器地址池中靜態綁定客戶端MAC地址的IP地址;

2.客戶端以前使用的過期或釋放的地址(如果該地址在地址池中可用)。

地址,並且還沒有被分配,那麽這個地址被分配給客戶端;

3.客戶端在“請求的IP地址”選項中指定的IP地址。如果這個地址是壹個地址,

池中的有效地址,並且它還沒有被分配,那麽這個地址被分配給客戶端;

4.根據特定的選擇方法,將地址池中有效的未分配的新地址分配給客戶端。

使用。

租期選擇機制:

1.如果客戶端請求DHCPDISCOVER中指定的租約期限,則客戶端是否已被

如果指定了網絡地址,服務器將被指定為請求的租期;

2.如果客戶端沒有請求指定租期,並且客戶端已經分配了壹個網絡地址,則

服務器會將此地址以前使用的租期分配給此地址;

3.如果客戶端沒有請求指定租期,並且沒有為客戶端分配網絡地址,則

服務器將指定本地默認租期。

DHCPREQUEST

DHCPREQUEST表示客戶端響應來自服務器的DHCPOFFER消息,並檢查之前分配的網絡。

解決或延長現有租約。如果DHCPREQUEST消息包含“服務器標識符”選項,則

此消息用於響應DHCPOFFER,否則,此消息用於請求檢查和擴展現有的。

租賃的。

如果DHCPREQUEST中的客戶端使用了“客戶端標識符”選項,則所有後續的

在所有消息中使用相同的“客戶標識符”;如果DHCPDISCOVER消息包含需求參數列

表,那麽這個參數列表應該包含在後續消息中。

DHCPACK中的配置參數不應與DHCPOFFER消息沖突,但應與客戶端使用的配置參數沖突。

該數字是DHCPACK消息中的配置參數。

DHCPDECLINE

如果客戶端發現服務器建議的網絡地址已被使用,客戶端會將其發送給服務器。

DHCPDECLINE消息,服務器必須將該網絡地址標記為不可用,並通知本地系統。

管理員可能遇到的配置問題。

客戶端檢查服務器分配的地址是否已被使用的方法:客戶端從服務器接收ACK消息,

在配置自己的IP地址等參數之前,發送免費ARP,檢查網絡中是否啟用了IP地址。

使用。

DHCPRELEASE

如果客戶端不再需要使用其指定的地址,客戶端將向服務器發送DHCPRELEASE報告。

收到DHCPRELEASE後,服務器會標記這個網絡地址不再分配,但是服務器要保留。

記錄客戶端的初始化參數,以便將來對客戶端可能重用該地址做出響應。

DHCPINFORM

當客戶端配置了自己的IP地址,但想要配置其他參數時,它會將其發送到服務器。

DHCPINFORM消息,請求其他參數配置。

當接收到DHCPINFORM消息時,服務器直接將DHCPACK發送到消息“ciaddr”字段中給出的地址。

消息。服務器不必隨時間發送租約,也不應該填寫“yiaddr”字段。

DHCPOFFER

服務器接收DHCPDISCOVER消息,並用DHCPOFFER消息進行響應。DHCPOFFER

該消息應該包括“yiaddr”域的可用網絡地址和DHCP選項的其他配置參數。分配新地址時

,服務器應該確認所提供的網絡地址沒有被其他客戶端使用(服務器可以通過發送方向來劃分。

用地址的ICMP回應請求來確認所分配的地址未被使用)。

DHCPACK & ampDHCPNAK

如果服務器提供的配置參數是可接受的,則客戶端記錄該服務器的地址,並且

將該地址寫入DHCPREQUEST的“服務器標識符”字段,並以廣播的形式發送出去。如果它被接收,

DHCPREQUEST消息中的配置參數有效,服務器將響應DHCPACK消息。壹次

當收到DHCPACK時,客戶端將被初始化並進入綁定狀態。

如果DHCPREQUEST消息中的配置參數無效,服務器將用壹個參數來響應。

DHCPNAK消息。

  • 上一篇:至尊寶有收藏價值嗎?
  • 下一篇:地理:近年來兩岸經貿合作比較頻繁,分析兩岸經濟的互補性。
  • copyright 2024外匯行情大全網