Transcript CH12 DHCP協定
CHAPTER 12 DHCP協定 ► 12-1 DHCP簡介 ► 12-2 DHCP封包格式 ► 12-3 DHCP工作原理 ► 12-4 DHCP擷取封包的分析 12-1 DHCP簡介 ► DHCP是Dynamic Host Configuration Protocol之縮寫, 稱 為 動 態 主 機 組 態 協 定 , 在 它 之 前 是 BOOTP(Bootstrap)協定。 電腦網路概論 12-2 DHCP封包格式 電腦網路概論 ► OP (OP Code)佔8bitz s 此值等於1時,表示這個封包是從客戶端送至伺服端;若為2, 表示此封包是由伺服端送至客戶端。 ► HTYPE (Hardware Type)佔8bits 代表所使用的網路類型。例如:1代表乙太網路;16代表 ATM網路(可參考RFC 1700)。 ► HLEN (Hardware Address Length)佔8bits MAC位址的長度,以乙太網路為例,其欄位值為6(代表 48bits)。 ► HOPS佔8bits 若封包在同一網路內傳送,此欄位值設定為0。若需透過 DHCP Relay Agent才能將客戶端的DHCP要求轉送至DHCP 伺服器時,則將此欄位值加1。 ► TRANSACTION ID(簡寫Xid)佔32bits 客戶端送出封包時會隨機被挑選到的代碼值,一旦伺服器收 到封包,就以此代碼值回覆,客戶端也是藉由此數值分辨出 伺服器到底是回覆哪一個封包。 電腦網路概論 ► SECONDS佔16bits 客戶端啟動或更新所花費的時間(秒)。 ► FLAGS佔16bits 最左邊「B」位元為1時,表示伺服器以廣播方式傳 送封包給客戶端,其餘保留待使用填入0,如圖122中的「MBZ(Must Be Zero)」所示。 電腦網路概論 ► ciaddr (Client IP Address)佔32bits 目前客戶端所在的IP位址。 ► yiaddr (Your IP Address)佔32bitz s 伺服端會將配置給客戶端的IP位址填到回覆訊息 ( 指DHCPOFFER、DHCPACK)內。 ► siaddr(Server IP Address)佔32bits 伺服端回覆DHCPDISCOVER封包時,會將自己的 IP位址填入此欄位,接下來,DHCPREQUEST在客 戶 端 送 出 之 前 , 此 位 址 會 填 入 Option 欄 位 中 的 Server identifier欄位內。 ► giaddr (Relay IP Address)佔32bits 若伺服器和客戶端需透過DHCP Relay Agent來進行 跨網域封包的交換時,Relay Agent在此欄位填入自 己的IP位址,否則填入0。 電腦網路概論 ► chaddr (Client Ethernet Address)佔16bytes 客戶端的硬體位址。 ► sname(Server Host Name)佔64bytes 為DHCP伺服器的名稱。 ► file (Boot File Name)佔128bytes 當客戶端為一部無硬碟機器,在開機時才會用到。 此欄將指出開機程式名稱,以便讓客戶端利用檔案 傳輸工具下載此程式,完成開機。 ► Options(長度可變,最大值為312bytes) DHCP的選項非常多,請查閱RFC2131,此欄將指 出先前提過的租約期限等重要資訊,茲以表12-1及 表12-2列出DHCP伺服端及客戶端使用的Options。 電腦網路概論 ► Options相關欄位如下說明: 1. Requested IP Address : 指 出 當 客 戶 端 送 出 DHCPDISCOVER封包希望獲得特定IP位址,或更新IP租 約時所填入的IP位址(參考RFC 2132)。它的代碼(Code)是 50。 2. IP Address Lease Time:指出IP位址租約期限。它的代碼 是51。 3. Use file/sname fields : Option 欄 位 規 定 的 最 大 長 度 為 312bytes,當資料超過此值時,可以延伸去借用「sname」 和「file」這兩個欄位。欄位值為1時,代表借用「file」 欄;欄位值為2時,代表借用「sname」欄;欄位值為3時, 代表兩個欄位都借用。它的代碼是52。 4. DHCP message type:指出所使用的訊息類型,以及編號 1 至 8 所 代 表 的 訊 息 , 如 表 12-3 所 示 。 注 意 : DHCPINFORM訊息是假設客戶端事先已透過一些方法得 到IP位址(例如手動設定),但其他相關的參數則必須使用 DHCP,如圖12-3的工作流程步驟。它的代碼是53。 電腦網路概論 電腦網路概論 5. Parameter request list:客戶端要求伺服器提供所需要的組 態參數。它的代碼是55。 6. Message:若伺服器接收到不正確的Requested IP Address, 則客戶端送出的 DHCPREQUEST訊息會使伺服器回覆 DHCPNAK訊息給客戶端的管理者,以告知有錯誤。它 的代碼是56。 7. Client identifier:為客戶端的MAC位址,伺服器利用此獨 一無二的識別資訊可以瞭解是哪一部客戶端發出租用IP 位址的要求。它的代碼是61。 8. Server identifier : 為 伺 服 器 的 IP 位 址 , 使 用 於 DHCPOFFER和DHCPREQUEST和DHCPACK訊息內。由 於客戶端在還沒有取得IP租約時,所有的封包都是以廣 播方式傳送出去,此欄位可被用來辨識哪一部DHCP伺服 器是被挑選出來的。它的代碼是54。 電腦網路概論 9. Vendor class identifier:當一部DHCP伺服器送出 DHCPOFFER訊息至客戶端時,此識別資訊包含在 DHCPOFFER訊息內,其可以協助客戶端選擇所接 受 的 DHCPOFFER , 像 客 戶 端 傳 送 DHCPDISCOVER訊息時,其隨機挑選的Xid值會送 到伺服器,一旦伺服器收到訊息,就將Xid值加至 DHCPOFFER訊息內,並且將此DHCPOFFER訊息 送給所要求的客戶端。它的代碼是60。 10. Maximum DHCP message size:客戶端應該包含此 Options欄以便讓伺服器知道它自己可以送出DHCP 封包的最大長度,當訊息長度超過Options所容忍的 最大值,如在「file/sname」欄位所述,就可以延伸 去借用「file」和「sname」這兩個欄位。它的代碼 是57。 電腦網路概論 12-3 DHCP 工作原理 電腦網路概論 12-4 DHCP擷取封包的分析 電腦網路概論 電腦網路概論 電腦網路概論 電腦網路概論 電腦網路概論 電腦網路概論 電腦網路概論 電腦網路概論 電腦網路概論 電腦網路概論 ► Options擷取封包的分析 電腦網路概論 電腦網路概論 電腦網路概論 電腦網路概論 ► 更新IP位址租約擷取封包的分析 電腦網路概論 電腦網路概論 電腦網路概論 電腦網路概論 電腦網路概論 ► 撤銷IP位址租約擷取封包的分析 電腦網路概論 電腦網路概論 電腦網路概論 電腦網路概論