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協議在應用層實作
- 請求報文封裝到UDP資料報中
- IP廣播
- 鏈路層廣播(e.g. 以太網廣播)

-
DHCP服務器構造ACK報文
- 包括分配給客戶的IP地址、子網掩碼、默認網關、DNS服務器地址

- 包括分配給客戶的IP地址、子網掩碼、默認網關、DNS服務器地址
網路地址 轉換 換(NAT)

動機:
- 只需/能從ISP申請一個IP地址
- IPv4地址耗盡
- 本地網路設備IP地址的變更,無需通告外界網路
- 變更ISP時,無需修改內部網路設備IP地址
- 內部網路設備對外界網路不可見,即不可直接尋址(安全)
實作:
- 替換
- 利用(NAT IP 地址, 新埠號)替換每個外出IP資料報的( 源IP 地址, 源埠號)
- 記錄
- 將每對(NAT IP 地址, 新埠號) 與( 源IP 地址, 源埠號)的替換資訊存盤到NAT轉換表中
- 替換
- 根據NAT轉換表,利用( 源IP 地址, 源 源 埠號)替換每個進入內網IP資料報的( 目的IP 地址, 目的埠號),即(NAT IP地址, 新埠號)

- 根據NAT轉換表,利用( 源IP 地址, 源 源 埠號)替換每個進入內網IP資料報的( 目的IP 地址, 目的埠號),即(NAT IP地址, 新埠號)
- 16-bit埠號欄位:
- 可以同時支持60,000多并行連接!
- NAT主要爭議:
- 路由器應該只處理第3層功能
- 違背端到端通信原則
- 應用開發者必須考慮到NAT的存在,e.g., P2P應用
- 地址短缺問題應該由IPv6來解決
NAT 穿透問題
-
客戶期望連接內網地址為10.0.0.1的服務器
- 客戶不能直接利用地址10.0.0.1直接訪問服務器
- 對外唯一可見的地址是NAT地址: 138.76.29.7
-
解決方案1: 靜態配置NAT,將特定埠的連接請求轉發給服務器
- e.g., (138.76.29.7, 2500) 總是轉發給(10.0.0.1, 25000)

- e.g., (138.76.29.7, 2500) 總是轉發給(10.0.0.1, 25000)
-
解決方案2: 利用UPnP(Universal Plug and Play)互聯網網關設備協議 (IGD-Internet Gateway Device )自動配置:
- 學習到NAT公共IP地址(138.76.29.7)
- 在NAT轉換表中,增刪埠映射

-
解決方案3: 中繼(如Skype)
- NAT內部的客戶與中繼服務器建立連接
- 外部客戶也與中繼服務器建立連接
- 中繼服務器橋接兩個連接的分組

互聯網控制報文協議(ICMP)
+互聯網控制報文協議 ICMP (Internet Control MessageProtocol)支持主機或路由器:
- 差錯(或例外)報告
- 網路探詢
- 兩類ICMP 報文:
- 差錯報告報文(5種)
- 目的不可達
- 源抑制(Source Quench)
- 超時/超期
- 引數問題
- 重定向 (Redirect)
- 網路探詢報文(2組)
- 回聲(Echo)請求與應答報文(Reply)
- 時間戳請求與應答報文
、
- 差錯報告報文(5種)
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 簡介
-
最初動機: 32位IPv4地址空間已分配殆盡
-
其他動機: 改進首部格式
- 快速處理/轉發資料報
- 支持QoS
I+ Pv6資料報格式: - 固定長度的40位元組基本首部
- 不允許分片

-
優先級(priority): 標識資料報的優先級
-
流標簽(flow Label): 標識同一“流”中的資料報
-
下一個首部(next header): 標識下一個選項首部或上層協議首部(如TCP首部)

其他變 改變 vs IPv4
- 校驗和(checksum): 徹底移除,以減少每跳處理時間
- 選項(options): 允許,但是從基本首部移出,定義多個選項首部,通過“下一個首部”欄位指示
- ICMPv6: 新版ICMP
- 附加報文型別,e.g. “Packet Too Big”
- 多播組管理功能
IPv6 地址表示形式

IPv6 基本地址型別

IPv4 向IPv6過渡
- 不可能在某個時刻所有路由器同時被更新為IPv6
- 不會有 “標志性的日期”
- IPv4和IPv6路由器共存的網路如何運行?
- 隧道(tunneling): IPv6資料報作為IPv4資料報的載荷進行封裝,穿越IPv4網路

隧道(tunneling

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/79485.html
標籤:其他
上一篇:小白求助Python寫的開源軟體中資料提取和分析問題
下一篇:搞定SEO,看這一篇就夠了
