IP 協議-CIDR 與路由聚合
CIDR
無類域間路由(CIDR: Classless InterDomain Routing)安全
- 消除傳統的 A 類、B 類和 C 類地址界限
- NetID+SubID→Network Prefix (Prefix)能夠任意長度
- 融合子網地址與子網掩碼,方便子網劃分
- 無類地址格式:a.b.c.d/x,其中x爲前綴長度
CIDR 與路由聚合
無類域間路由(CIDR: Classless InterDomain Routing)服務器
- 提升IPv4 地址空間分配效率
- 提升路由效率
- 將多個子網聚合爲一個較大的子網
- 構造超網(supernetting)
- 路由聚合(route aggregation)
層級編址使得路由信息通告更高效:
網絡
DHCP 協議
如何得到IP 地址?
動態主機配置協議(DHCP)
- 主機廣播 「DHCP discover」(發現報文)
- DHCP服務器利用 「DHCP offer」 (提供報文) 進行響應
- 主機請求IP地址: 「DHCP request」 (請求報文)
- DHCP服務器分配IP地址: 「DHCP ack」 (確認報文)
-
DHCP協議在應用層實現less
- 請求報文封裝到UDP數據報中
- IP廣播
- 鏈路層廣播(e.g. 以太網廣播)
-
DHCP服務器構造ACK報文學習
- 包括分配給客戶的IP地址、子網掩碼、默認網關、DNS服務器地址
網絡地址 轉換 換(NAT)
動機:3d
- 只需/能從ISP申請一個IP地址
- 本地網絡設備IP地址的變動,無需通告外界網絡
- 變動ISP時,無需修改內部網絡設備IP地址
- 內部網絡設備對外界網絡不可見,即不可直接尋址(安全)
實現:blog
- 替換
- 利用(NAT IP 地址, 新端口號)替換每一個外出IP數據報的( 源IP 地址, 源端口號)
- 記錄
- 將每對(NAT IP 地址, 新端口號) 與( 源IP 地址, 源端口號)的替換信息存儲到NAT轉換表中
- 替換
- 根據NAT轉換表,利用( 源IP 地址, 源 源 端口號)替換每一個進入內網IP數據報的( 目的IP 地址, 目的端口號),即(NAT IP地址, 新端口號)
- 16-bit端口號字段:
- NAT主要爭議:
- 路由器應該只處理第3層功能
- 違背端到端通訊原則
- 應用開發者必須考慮到NAT的存在,e.g., P2P應用
- 地址短缺問題應該由IPv6來解決
NAT 穿透問題
-
客戶指望鏈接內網地址爲10.0.0.1的服務器ip
- 客戶不能直接利用地址10.0.0.1直接訪問服務器
- 對外惟一可見的地址是NAT地址: 138.76.29.7
-
解決方案1: 靜態配置NAT,將特定端口的鏈接請求轉發給服務器ssl
- e.g., (138.76.29.7, 2500) 老是轉發給(10.0.0.1, 25000)
-
解決方案2: 利用UPnP(Universal Plug and Play)互聯網網關設備協議 (IGD-Internet Gateway Device )自動配置:ci
- 學習到NAT公共IP地址(138.76.29.7)
- 在NAT轉換表中,增刪端口映射
-
解決方案3: 中繼(如Skype)
- NAT內部的客戶與中繼服務器創建鏈接
- 外部客戶也與中繼服務器創建鏈接
- 中繼服務器橋接兩個鏈接的分組
互聯網控制報文協議(ICMP)
+互聯網控制報文協議 ICMP (Internet Control MessageProtocol)支持主機或路由器:
- 差錯(或異常)報告
- 網絡探詢
- 兩類ICMP 報文:
- 差錯報告報文(5種)
- 目的不可達
- 源抑制(Source Quench)
- 超時/超期
- 參數問題
- 重定向 (Redirect)
- 網絡探詢報文(2組)
- 回聲(Echo)請求與應答報文(Reply)
- 時間戳請求與應答報文
、
ICMP報文
例外狀況
- 幾種不發送 ICMP差錯報告報文的特殊狀況:
- 對ICMP差錯報告報文再也不發送 ICMP差錯報告報文
- 除第1個IP數據報分片外,對全部後續分片均不發送ICMP差錯報告報文
- 對全部多播IP數據報均不發送 ICMP差錯報告報文
- 對具備特殊地址(如127.0.0.0 或 0.0.0.0)的IP數據報不發送ICMP 差錯報告報文
- 幾種 ICMP 報文已再也不使用
- 信息請求與應答報文
- 子網掩碼請求和應答報文
- 路由器詢問和通告報文
- 幾種 ICMP 報文已再也不使用
- 信息請求與應答報文
- 子網掩碼請求和應答報文
- 路由器詢問和通告報文
ICMP 報文式
ICMP 差錯 報告
ICMP 的應用: 舉例:Traceroute
IPv6 簡介
其餘變 改變 vs IPv4
- 校驗和(checksum): 完全移除,以減小每跳處理時間
- 選項(options): 容許,可是從基本首部移出,定義多個選項首部,經過「下一個首部」字段指示
- ICMPv6: 新版ICMP
- 附加報文類型,e.g. 「Packet Too Big」
- 多播組管理功能
IPv6 地址表示形式
IPv6 基本地址類型
IPv4 向IPv6過渡
- 不可能在某個時刻全部路由器同時被更新爲IPv6
- 不會有 「標誌性的日期」
- IPv4和IPv6路由器共存的網絡如何運行?
- 隧道(tunneling): IPv6數據報做爲IPv4數據報的載荷進行封裝,穿越IPv4網絡
隧道(tunneling