1 / 50

第 14 章

第 14 章. DHCP. Ren-Jie Wang, 王 仁 傑 , Ph.D. rjwang@mail.ntit.edu.tw http://home.scs.ntit.edu.tw/rjwang/. 本章重點. 14-1 DHCP 的基礎知識 14-2 DHCP 運作流程 14-3 DHCP 封包格式 14-4 實作練習:擷取 DHCP 封包. DHCP 架構. DHCP Client 要求使用 DHCP 服務的電腦。 DHCP Server 提供 DHCP 服務的設備。 Scope

ivana
Download Presentation

第 14 章

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第 14 章 DHCP Ren-Jie Wang,王 仁 傑, Ph.D. rjwang@mail.ntit.edu.tw http://home.scs.ntit.edu.tw/rjwang/

  2. 本章重點 • 14-1 DHCP 的基礎知識 • 14-2 DHCP 運作流程 • 14-3 DHCP 封包格式 • 14-4 實作練習:擷取 DHCP 封包

  3. DHCP 架構 • DHCP Client • 要求使用 DHCP 服務的電腦。 • DHCP Server • 提供 DHCP 服務的設備。 • Scope • 每台 DHCP Server 都至少管理一組 IP 位址, 這組 IP 位址便稱為 Scope。

  4. DHCP 的基本概念

  5. IP 位址的租約期限 • 每個分配給 DHCP Client 的 IP 位址都有使用期限, 稱為『租約期限』 (Lease Time)。 • 租約期限長短依各家的 DHCP Server 而異, Windows 2000 預設是 8 天。

  6. DHCP 的好處 • 不易出錯 • 易於維護 • Client 不需要繁瑣的設定 • IP 位址可重複使用

  7. DHCP 運作流程

  8. 流程一:要求租用 IP 位址

  9. 流程二:提供可租用的 IP 位址

  10. 流程三:確認 IP 租約 (1)

  11. 流程三:確認 IP 租約 (2)

  12. 流程四:同意 IP 租約

  13. 租約的更新與撤消

  14. 更新租約 • 自動更新: • 以 Windows 2000 DHCP Server 為例, 預設的租約期限為 8天, 當租用時間超過 4 天時, DHCP Client 會向 Server 要求續約。 • 手動更新: • Ipconfig /renew 命令

  15. 撤消租約 • 執行 Ipconfig /release 命令。

  16. DHCP 常見問題:找不到 DHCP Server • 若 Client 為 Windows 2000 之作業系統, 而且未關閉 APIPA 功能: • 自動將 IP 位址設定為 169.254.0.0 網路中的某個 IP, 子網路遮罩為 255.255.0.0。 • 若 Client 不是 Windows 2000 之作業系統, 或是關閉了 APIPA 功能: • 第一次發出 Discover 封包後, 每隔 5 分鐘就會再發出此封包, 一直重試 3 次。

  17. DHCP 常見問題:重新啟動電腦, 要求更新租約 • Client 已經得了 IP 租約, 而且租約尚未過期, 但是 Client 端重新開機。 • Client 重新啟動後, 會以廣播方式發出 Request 封包, 讓 Server 判斷是否可分派和先前相同的 IP 位址給 Client。

  18. DHCP 常見問題:DHCP Relay Agent (1) • DCHP Server 與 DHCP Client 若位於不同的子網路, 廣播封包會被 Router 攔下, 而無法進行溝通。解決方式: 1. 啟用 Router 的 DHCP Forwarding 功能 2.指定某部電腦擔任 DHCP Relay Agent 3.更改 Router 設定, 使廣播封包能通過 Router

  19. DHCP 常見問題:DHCP Relay Agent (2) 指定某部電腦擔任 DHCP Relay Agent

  20. 14-3 DHCP 封包格式 • DHCP 封包在傳輸層(Transport Layer ) 是採用UDP 協定。當用戶端傳送給封包給伺服器時, 是送往 UDP 67 Port;而從伺服器傳送給用戶端則是送到 UDP 68 Port 。DHCP 的封包格式如右圖。

  21. DHCP 封包格式

  22. 封包欄位說明 (1) • Op Code (Op) • 1 表示封包從 Client 送出, 2 表示由 Server 送出。 • Hardware Type (Htype) • 表示網路類型。例如:1 表示乙太網路, 7 代表 ARCNET 。其它代碼請參閱 RFC1700 關於 ARP 的部分。 • Hardware Address Length (Hlen) • MAC 位址的長度, 以 Byte 為單位。 • Hops (Hops) • 當 DHCP Client 將封包送出時, 會將此欄值設為 0 。而 Relay Agent 要轉送封包到 DHCP 伺服器時, 則將此值加 1 。

  23. 封包欄位說明 (2) • Transaction ID (Xid) • Client 藉由此組數字分辨 Server 所回應的是那一個封包。 • Client IP Address (Ciaddr) • 目前 Client 所使用的 IP 位址。 • Your IP Address (Yiaddr) • Server 傳送 Offer、Ack 封包時, 會將欲分配給 Client 的 IP 位址填入此欄位。 • Server IP Address (Siaddr) • 當 Server 回應 Discover 封包時, 會將自己的 IP 位址填入此欄位。

  24. 封包欄位說明 (3) • Relay IP Address (Giaddr) • Server 和 Client 需透過 Relay Agent 交換封包時, Relay Agent 會在此欄位填入自己的 IP 位址。 • Client Ethernet Address (Chaddr) • 此欄位值為 Client 的 MAC Address。 • Server Host Name (Sname) • 存放 DHCP Server 的名稱。 • Boot File Name (File) • 當 Client 為無磁碟工作站時才會用到的欄位。 • Option Field (Options) • 是 DHCP 封包的核心, 在後文有詳細說明。

  25. Option Field 非必要性欄位 (1)

  26. Option Field 非必要性欄位 (2)

  27. Option Field 欄位說明 (1) • Requested Address • Client 希望 Server 能分配某特定 IP 位址或要更新 IP 租約時, 會在此欄填入 IP 位址。 • IP Address Lease Time (含 T1、T2) • 由 3 個欄位組成:IP Address Lease Time、Renewal Time Value (T1)、Rebinding Time Value (T2)。 • Option Overload • Option 欄位超過最大長度時 (312 Bytes), 可以利用此欄位去設定借用 Sname 和 File 這兩個欄位。

  28. Option Field 欄位說明 (2) • DHCP Message Type • 表示目前所使用的是哪一種封包類型。 • Parameter Request List • Client 可用此欄位要求 Server 提供所需要的參數。 • Message • 用來告知對方額外的訊息。

  29. Option Field 欄位說明 (3) • Server Identifier • Client 採用廣播方式傳送封包, 需要此欄位來辨視哪一台 DHCP Server 才是要配合的 Server。 • Client-identifier • Client 的 MAC Address。 • Maximum Message Size • Client 告知 Server 自己可接受的封包長度

  30. 14-4 實作練習:擷取 DHCP 封包 • 本節我們以 3Com 的 3CRWE554G72T 頻寬分享器擔任 DHCP 伺服器, IP位址為 192.168.1.1;以 Windows Vista 為 DHCP 用戶端, 擷取 DHCP 運作流程中的封包。

  31. 14-4-1 首次租用 IP 位址 • 將 DHCP 用戶端設定為自動取得 IP 位址, 而後重新開機, 擷取圖 14-02 運作流程中 4 個步驟的封包。

  32. 首次租用 IP 位址

  33. 首次租用 IP 位址 • 完整的 4 個步驟包含這 4 種封包。 • 在 4 個步驟裡都是發送廣播封包。 • 這 4 個封包都是針對用戶端的同一次要求, 所以 Transaction ID 都一樣。 • 1 代表此封包是由用戶端發出的要求封包。 • 所處的網路環境為乙太網路。 • 因為是乙太網路, 所以 MAC 位址的長度為 6 Bytes 。 • 目前用戶端尚無 IP 位址, 所以為 0。

  34. 首次租用 IP 位址 • 用戶端的 MAC 位址。 • 此封包為 DHCPDiscover 封包。 • MSFT 5.0 代表用戶端為 Windows 2000/XP/Vista/2008;若為 MSFT 98 則表示用戶端為 Windows 98/Me 。 • DHCP 伺服器收到 DHCPDiscover 封包後, 送出 DHCPOffer 封包回覆用戶端的要求。

  35. 首次租用 IP 位址

  36. 首次租用 IP 位址 • 2 代表此封包是由 DHCP 伺服器發出的回覆封包。 • 目前用戶端尚無 IP 位址, 所以為 0。 • DHCP 伺服器提供給用戶端租用的 IP 位址。 • DHCP 伺服器自己的 IP 位址。 • 此封包為 DHCPOffer 封包。 • 租約期限為 12 小時 • DHCP 伺服器同時賦予用戶端的子網路遮罩。 • DHCP 伺服器同時賦予用戶端預設閘道的 IP 位址。

  37. 首次租用 IP 位址 • 用戶端收到 DHCP 伺服器發出的 DHCPOffer 封包後, 通常先以 ARP 協定檢查伺服器要出租的 IP 位址是否已被使用。若然, 則發出 DHCPDecline 封包拒絕租用該位址;若尚未被使用, 則發出 DHCPRequest 封包通知伺服器確定要租用:

  38. 首次租用 IP 位址

  39. 首次租用 IP 位址 • 此封包為 DHCPRequest 封包。 • 用戶端要求租用的 IP 位址, 通常就是 DHCP 伺服器提供的 IP 位址。 • 用戶端的主機名稱。

  40. 首次租用 IP 位址 • DHCP 伺服器收到 DHCPRequest 封包後, 通常以 DHCPAck 封包同意用戶端的租用要求。

  41. 首次租用 IP 位址

  42. 首次租用 IP 位址 • DHCP 伺服器同意出租此 IP 位址。 • 此封包為 DHCPAck 封包。 • DHCP 伺服器同意的租約期限。 • DHCP 伺服器賦予用戶端的子網路遮罩。 • 歷經上述 4 個步驟之後, 用戶端便擁有了 IP 位址, 所以往後與 DHCP 伺服器或其它電腦溝通時, 可以不必用廣播封包, 改用單點傳送封包即可。

  43. 14-4-2 更新 IP 位址的租約 • 當用戶端要更新租約時, 會發出 DHCPRequest 封包。但是此封包與前一節的 DHCPRequest 封包有所不同, 它不是以廣播方式發送, 而且封包內容也有差異。

  44. 更新 IP 位址的租約

  45. 更新 IP 位址的租約 • 以單點傳送方式傳送給 DHCP 伺服器, 不必廣播。 • 用戶端目前所使用的 IP 位址。 • 此封包為 DHCPRequest 封包。 • 用戶端的主機名稱。 • DHCP 伺服器收到用戶端要求更新租約後, 若同意用戶端更新租約, 則送出DHCPAck 封包給用戶端。

  46. 更新 IP 位址的租約

  47. 更新 IP 位址的租約 • 當 Giaddr (Relay agent IP address) 為 0, 而 Ciaddr (Client IP address) 不為 0時,DHCP 伺服器會以單點傳送方式發送 DHCPAck 封包。 • 與前一個封包(圖 14-09)的 Transaction ID 相同, 表示此封包是回覆前一封包。 • 用戶端目前所使用的 IP 位址。 • DHCP 伺服器同意出租的 IP 位址。 • 此封包為 DHCPAck 封包。 • DHCP 伺服器同意的租約期限。 • DHCP 伺服器賦予用戶端的子網路遮罩。

  48. 更新 IP 位址的租約 • 用戶端收到 DHCPAck 封包後, 租用時間會歸零、重新起算, 直到到達 6 小時(50%)時, 再發出 DHCPRequest 封包更新租約。如此週而復始, 不斷運作, 直到任一方主動撤銷租約。

  49. 14-4-3 撤銷 IP 位址的租約

  50. 撤銷 IP 位址的租約 • 以單點傳送方式發給 DHCP 伺服器, 不必廣播。 • 用戶端目前所租用的 IP 位址。 • 此封包為 DHCPRelease 封包。

More Related