DHCP協議解碼詳解

2021-03-04 02:00:26 字數 2656 閱讀 5821

協議分析 - dhcp協議解碼詳解

dhcp,全稱是dynamichostconfigurationprotocol﹐中文名為動態主機配置協議,它的前身是bootp,它工作在osi的應用層,是一種幫助計算機從指定的dhcp伺服器獲取它們的配置資訊的自舉協議。

dhcp使用客戶端/伺服器模式,請求配置資訊的計算機叫做dhcp客戶端,而提供資訊的叫做dhcp的伺服器。dhcp為客戶端分配位址的方法有三種:手工配置、自動配置、動態配置。

dhcp最重要的功能就是動態分配。除了ip位址,dhcp分組還為客戶端提供其他的配置資訊,比如子網掩碼。這使得客戶端無需使用者動手就能自動配置連線網路。

發現階段,即dhcp客戶機尋找dhcp伺服器的階段。dhcp客戶機以廣播方式(因為dhcp伺服器的ip位址對於客戶機來說是未知的)傳送dhcpdiscover發現資訊來尋找dhcp伺服器,即向位址255.255.

255.255傳送特定的廣播資訊。網路上每一台安裝了tcp/ip協議的主機都會接收到這種廣播資訊,但只有dhcp伺服器才會做出響應。

提供階段,即dhcp伺服器提供ip位址的階段。在網路中接收到dhcpdiscover發現資訊的dhcp伺服器都會做出響應,它從尚未出租的ip位址中挑選乙個分配給dhcp客戶機,向dhcp客戶機傳送乙個包含出租的ip位址和其他設定的dhcpoffer提供資訊。

選擇階段,即dhcp客戶機選擇某台dhcp伺服器提供的ip位址的階段。如果有多台dhcp伺服器向dhcp客戶機發來的dhcpoffer提供資訊,則dhcp客戶機只接受第乙個收到的dhcpoffer提供資訊,然後它就以廣播方式回答乙個dhcprequest請求資訊,該資訊中包含向它所選定的dhcp伺服器請求ip位址的內容。之所以要以廣播方式回答,是為了通知所有的dhcp伺服器,他將選擇某台dhcp伺服器所提供的ip位址。

確認階段,即dhcp伺服器確認所提供的ip位址的階段。當dhcp伺服器收到dhcp客戶機回答的dhcprequest請求資訊之後,它便向dhcp客戶機傳送乙個包含它所提供的ip位址和其他設定的dhcpack確認資訊,告訴dhcp客戶機可以使用它所提供的ip位址。然後dhcp客戶機便將其tcp/ip協議與網絡卡繫結,另外,除dhcp客戶機選中的伺服器外,其他的dhcp伺服器都將收回曾提供的ip位址。

重新登入,以後dhcp客戶機每次重新登入網路時,就不需要再傳送dhcpdiscover發現資訊了,而是直接傳送包含前一次所分配的ip位址的dhcprequest請求資訊。當dhcp伺服器收到這一資訊後,它會嘗試讓dhcp客戶機繼續使用原來的ip位址,並回答乙個dhcpack確認資訊。如果此ip位址已無法再分配給原來的dhcp客戶機使用時(比如此ip位址已分配給其它dhcp客戶機使用),則dhcp伺服器給dhcp客戶機回答乙個dhcpnack否認資訊。

當原來的dhcp客戶機收到此dhcpnack否認資訊後,它就必須重新傳送dhcpdiscover發現資訊來請求新的ip位址。

更新租約,dhcp伺服器向dhcp客戶機出租的ip位址一般都有乙個租借期限,期滿後dhcp伺服器便會收回出租的ip位址。如果dhcp客戶機要延長其ip租約,則必須更新其ip租約。dhcp客戶機啟動時和ip租約期限過一半時,dhcp客戶機都會自動向dhcp伺服器傳送更新其ip租約的資訊。

我們來介紹一下dhcp的報文格式,如圖1,

(圖1 dhcp的報文格式)

● op:若是client送給server的封包,設為1,反向為2;

● htype:硬體類別,ether***為1;

● hlen:硬體長度,ether***為6;

● hops:若資料報需經過router傳送,每站加1,若在同一網內,為0;

● transaction id:事務id,是個隨機數,用於客戶和伺服器之間匹配請求和相應訊息;

● seconds:由使用者指定的時間,指開始位址獲取和更新進行後的時間;

● flags:從0-15bits,最左一bit為1時表示server將以廣播方式傳送封包給 client,其餘尚未使用;

● ciaddr:使用者ip位址;

● yiaddr:客戶ip位址;

● siaddr:用於bootstrap過程中的ip位址;

● giaddr:****(閘道器)ip位址;

● chaddr:client的硬體位址;

● sname:可選server的名稱,以0x00結尾;

● file:啟動檔名;

● options:,廠商標識,可選的引數字段

通過dhcp的工作流程,我們知道從dhcp伺服器獲取配置資訊的4個階段中,dhcp客戶端會出現有4種報文(dhcpdiscovery,dhcpoffer,dhcprequest,dhcpack)。我們分別來看看4報文的解碼內容:

使用科來網路分析系統捕獲dhcp discovery 資料報,如圖2,

(圖2 dhcp discovery資料報解碼)

由圖2可以看到dhcp discovery包的解碼資訊,由於dhcp是bootp的以個擴充套件,,dhcp相容bootp,我們可以看到bootp和dhcp的解碼。

使用科來網路分析系統捕獲dhcp offer資料報,如圖3,

(圖3 dhcp offer資料報解碼)

使用科來網路分析系統捕獲dhcp request資料報,如圖4,

(圖4 dhcp request資料報解碼)

使用科來網路分析系統捕獲dhcp ack資料報,如圖5,

(圖5 dhcp ack資料報解碼)

以上為dhcp工作的4種資料報,每種資料報都是有區別的。\

DHCP詳解完全

dhcp 動態主機配置協議 dynamic host configuration protocol,dhcp 提供了即插即用聯網的機制,這種機制允許一台計算機加入新的網路和獲取ip位址而不用手工參與。它常用於給主機動態地分配ip位址。dhcp是應用層協議,它是基於udp的。dhcp協議工作原理 它使...

DHCP協議存在缺點分析及優化方案研究

摘要 dhcp協議是網路配置中使用的一種主流協議,應用該協議可以對接入客戶端的自動位址配置,實現網路通訊。本文對dhcp協議中的客戶端網路接入流程進行了總結,進而就該協議中存在的缺陷進行了分析和優化。關鍵詞 dhcp協議 客戶端 接入流程 缺陷 優化 中圖分類號 tp393.04文獻標識碼 a文章編...

AODV協議詳解

1 aodv報文格式 aodv有三種基本的協議報文型別 rreq報文 rrep報文和rrer報文。1.1 rreq報文a.對rreq的處理 接收到rreq的結點做如下處理 1 建立乙個表項,先不分配有效序列號,用於記錄反向路徑。2 如果在 路由發現定時 內已收到乙個具有相同標識的rreq報文,則拋棄...