計算機網絡原理(14)—— 動態主機配置協議(DHCP)、網絡地址轉換(NAT)、互聯網控制報文協議(ICMP)、IPv6

一、DHCP協議

一個主機如何獲得IP地址

  • 硬編碼:靜態配置
  • 動態主機配置協議(DHCP,Dynamic Host ConfigurationProtocol)
1. 動態主機配置協議(DHCP,Dynamic Host ConfigurationProtocol)
  • 從服務器動態獲取:
    • IP地址
    • 子網掩碼
    • 默認網關地址
    • DNS服務器名稱與IP地址
  • 即插即用
  • 允許地址重用
  • 支持在用地址續租
  • 支持移動用戶加入網絡
2. DHCP實現過程
  • 主機廣播“DHCP discover" (發現報文)
  • DHCP服務器利用“ DHCP offer”(提供報文)進行響應
  • 主機請求IP地址:“ DHCP request”(請求報文)
  • DHCP服務器分配IP地址:“ DHCP ack”(確認報文)
3. DHCP協議在應用層實現

請求報文封裝到UDP數據報中

  • IP廣播
  • 鏈路層廣播(e.g.以太網廣播)
  • DHCP服務器內建於路由器中。

DHCP服務器構造ACK報文

  • 包括分配給客戶的IP地址、子網掩碼、默認網關、DNS服務器地址

二、網絡地址轉換(NAT)

1. 動機
  • 只需/能從ISP申請一個IP地址
    • IPv4地址耗盡
  • 本地網絡設備IP地址的變更,無需通告外界網絡
  • 變更ISP時,無需修改內部網絡設備IP地址
  • 內部網絡設備對外界網絡不可見,即不可直接尋址(安全)
2. 實現

替換:利用(NATIP地址,新端口號)替換每個外出IP數據報的(源IP地址,源端口號);

記錄:將每對(NAT IP地址,新端口號)與(源IP地址,源端口號)的替換信息存儲到NAT轉換表中;

替換:根據NAT轉換表,利用(源IP地址, 源端口號)替換每個進入內網IP數據報的(目的IP地址,目的端口號),即(NAT IP地址,新端口號)。

3. NAT主要爭議
  • 路由器應該只處理第三層功能;
    • 違背端到端的通信原則(應用開發者必須考慮到NAT的存在,如P2P應用)
    • 地址短缺問題應該由IPv6來解決

三、互聯網控制報文協議(ICMP)

1. 互聯網控制報文協議(ICMP)支持主機或路由器
  • 差錯(或異常)報告
  • 網絡探詢
2. 兩類ICMP報文:
  • 差錯報告報文(5種)

    • 目的不可達
    • 源抑制(Source Quench)
    • 超時/超期
    • 參數問題
    • 重定向
  • 網絡探詢報文(2組)

    • 回聲(Echo)請求 與 應答報文(Reply)
    • 時間戳請求與應答報文
3. 例外情況

幾種不發送ICMP差錯報告報文的特殊情況:

  • 對ICMP差錯報告報文不再發送ICMP差錯報告報文
  • 除第1個IP數據報分片外,對所有後續分片均不發送ICMP差錯報告報文
  • 對所有多播IP數據報均不發送ICMP差錯報告報文
  • 對具有特殊地址( 如127.0.0.0或0.0.0.0) 的IP數據報不發送ICMP差錯報告報文

幾種ICMP報文已不再使用

  • 信息請求與應答報文
  • 子網掩碼請求和應答報文
  • 路由器詢問和通告報文
4. 報文格式:頭部+數據
  • 報文封裝到IP數據報中傳輸。

四、IPv6

1. 動機
  • 最初動機: 32位IPv4地址空間已分配殆盡
  • 其他動機:改進首部格式
    • 快速處理/轉發數據報
    • 支持QoS
2. IPv6數據報格式
  • 固定長度的40字節基本首部載荷(擴展首部+數據)
    • 優先級(priority):標識數據報的優先級
    • 流標籤(flow Label):標識同一“流"中的數據報
    • 下一個首部(next header):標識下一個選項首部或上層協議首部(如TCP首部)
  • 不允許分片
3. 其他改變 Vs IPv4
  • 校驗和(checksum):徹底移除,以減少每跳處理時間;
  • 選項(options):允許,但是從基本首部移出,定義多個選項首部,通過“下一個首部”字段指示;
  • **ICMPv6:**新版ICMP
    • 附加報文類型,e.g. “Packet Too Big”
    • 多播組管理功能
4. IPv6地址表示形式
  • 地址空間超級大

  • 冒號分隔的16進製表示

    • 一般形式: 1080:0:FF:0:8:800:200C:417A
    • 壓縮形式: FF01:0:0:0:0:0:0:43 → FF01::43
    • IPv4-嵌入形式:0:0:0:0:0:FFFF:13.1.68.3
  • 地址前綴: 2002:43c:476b::/48

    (注: IPv6不再使用掩碼!)

  • URLs: http://[3FFE::1:800:200C:417A]:8000

5. IPv6基本地址類型
  • 單播:一對一通信
  • 多播:一對多通信
  • 任意播:一對一組之一通信(最近一個)
6. IPv4 向 IPv6 過渡
  • 不可能在某個時刻所有路由器同時被更新爲IPv6
    • 不會有“標誌性的日期”
    • IPv4和IPv6路由器共存的網絡如何運行?
  • 隧道(tunneling): IPv6數據報作爲IPv4數據報的載荷進行封裝,穿越IPv4網絡。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章