協議分析 - 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報文,則拋棄...