IP數(shù)據(jù)報(bào)
IP編址
IP分組:源地址(SA)-從哪兒來,目的地址(DA)-到哪兒去
接口(interface): 主機(jī)/路由器與物理鏈路的連接
1.實(shí)現(xiàn)網(wǎng)絡(luò)層功能
2.路由器通常有多個(gè)接口
3.主機(jī)通常只有一個(gè)或兩個(gè)接口 (e.g.,有線的以太網(wǎng)接口追逮,無線的802.11接口)
IP地址: 32比特(IPv4)編號(hào)標(biāo)識(shí)主機(jī)碎罚、路由器的接口
IP地址與每個(gè)接口關(guān)聯(lián)
如何為接口分配IP接口
IP地址:
網(wǎng)絡(luò)號(hào)(NetID) – 高位比特
主機(jī)號(hào)(HostID) – 低位比特
IP子網(wǎng):
IP地址具有相同網(wǎng)絡(luò)號(hào)的設(shè)備接口
不跨越路由器(第三及以上層網(wǎng)絡(luò)設(shè)備)可以彼此物理聯(lián)通的接口
子網(wǎng)劃分
IP地址:
網(wǎng)絡(luò)號(hào)(NetID) – 高位比特
子網(wǎng)號(hào)(SubID) – 原網(wǎng)絡(luò)主機(jī)號(hào)部分比特
主機(jī)號(hào)(HostID) – 低位比特
子網(wǎng)掩碼
子網(wǎng)掩碼確定是否劃分了子網(wǎng)欠拾,利用多少位劃分子網(wǎng)
形如IP地址: 32位梭域, 點(diǎn)分十進(jìn)制形式
取值:NetID石抡、SubID位全取1轻黑,HostID位全取0
A網(wǎng)的默認(rèn)子網(wǎng)掩碼為:255.0.0.0
B網(wǎng)的默認(rèn)子網(wǎng)掩碼為:255.255.0.0
C網(wǎng)的默認(rèn)子網(wǎng)掩碼為:255.255.255.0
借用3比特劃分子網(wǎng)的B網(wǎng)的子網(wǎng)掩碼為:255.255.224.0
子網(wǎng)地址+子網(wǎng)掩碼→準(zhǔn)確確定子網(wǎng)大小
將IP分組的目的IP地址與子網(wǎng)掩碼按位與運(yùn)算糊肤,提取子網(wǎng)地址
目的IP地址:172.32.1.112,子網(wǎng)掩碼:255.255.254.0
子網(wǎng)地址:172.32.0.0(子網(wǎng)掩碼:255.255.254.0)
地址范圍:172.32.0.0~172.32.1.255
可分配地址范圍:172.32.0.1~172.32.1.254
廣播地址:172.32.1.255
CIDR
無類域間路由(CIDR: Classless InterDomain Routing)
- 消除傳統(tǒng)的 A 類氓鄙、B 類和 C 類地址界限
NetID+SubID→Network Prefix (Prefix)可以任意長(zhǎng)度 -
融合子網(wǎng)地址與子網(wǎng)掩碼馆揉,方便子網(wǎng)劃分
無類地址格式:a.b.c.d/x,其中x為前綴長(zhǎng)度
- 提高IPv4 地址空間分配效率
- 提高路由效率
將多個(gè)子網(wǎng)聚合為一個(gè)較大的子網(wǎng)
構(gòu)造超網(wǎng)(supernetting)
路由聚合(route aggregation)
DHCP
一個(gè)主機(jī)如何獲得IP地址抖拦?
-
硬編碼
靜態(tài)配置
image.png
默認(rèn)網(wǎng)關(guān):當(dāng)前子網(wǎng)內(nèi)數(shù)據(jù)報(bào)離開該子網(wǎng)時(shí)轉(zhuǎn)發(fā)的接口(IP)升酣,這個(gè)接口所在路由器接入該子網(wǎng)的IP就是默認(rèn)網(wǎng)關(guān)
- 動(dòng)態(tài)主機(jī)配置協(xié)議-DHCP: Dynamic Host Configuration Protocol
DHCP(端口號(hào)67)在應(yīng)用層實(shí)現(xiàn)
“即插即用”
允許地址重用
支持在用地址續(xù)租
支持移動(dòng)用戶加入網(wǎng)絡(luò)
從服務(wù)器動(dòng)態(tài)獲取:
? IP地址
? 子網(wǎng)掩碼
? 默認(rèn)網(wǎng)關(guān)地址
? DNS服務(wù)器名稱與IP地址
四個(gè)255:受限廣播地址
yiadrr:與分配給客戶端地址為:223.1.2.4
第三次還是廣播:可以告訴其他的DHCP服務(wù)器态罪,收回他們所預(yù)分配的地址
DHCP協(xié)議在應(yīng)用層實(shí)現(xiàn)
請(qǐng)求報(bào)文封裝到UDP數(shù)據(jù)報(bào)中
IP廣播
鏈路層廣播(e.g. 以太網(wǎng)廣播)
DHCP服務(wù)器構(gòu)造ACK報(bào)文包括分配給客戶的IP地址噩茄、子網(wǎng)掩碼、默認(rèn)網(wǎng)關(guān)复颈、DNS服務(wù)器地址
NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換)(工作在網(wǎng)絡(luò)層涉及到了傳輸層)
動(dòng)機(jī):
- 只需/能從ISP申請(qǐng)一個(gè)IP地址( IPv4地址耗盡)
- 本地網(wǎng)絡(luò)設(shè)備IP地址的變更绩聘,無需通告外界網(wǎng)絡(luò)
- 變更ISP時(shí),無需修改內(nèi)部網(wǎng)絡(luò)設(shè)備IP地址
- 內(nèi)部網(wǎng)絡(luò)設(shè)備對(duì)外界網(wǎng)絡(luò)不可見,即不可直接尋址(安全)
實(shí)現(xiàn):
- 替換:利用(NAT IP地址,新端口號(hào))替換每個(gè)外出IP數(shù)據(jù)報(bào)的(源IP地址,源端口號(hào))
- 記錄:將每對(duì)(NAT IP地址, 新端口號(hào)) 與(源IP地址, 源端
口號(hào))的替換信息存儲(chǔ)到NAT轉(zhuǎn)換表中 - 替換:根據(jù)NAT轉(zhuǎn)換表凿菩,利用(源IP地址, 源端口號(hào))替換每個(gè)進(jìn)入內(nèi)網(wǎng)IP數(shù)據(jù)報(bào)的(目的IP地址,目的端口號(hào))驯遇,即(NAT IP地址, 新端口號(hào))
NAT主要爭(zhēng)議:
- 路由器應(yīng)該只處理第3層功能
- 違背端到端通信原則(應(yīng)用開發(fā)者必須考慮到NAT的存在,e.g., P2P應(yīng)用)
- 地址短缺問題應(yīng)該由IPv6來解決
NAT穿透問題
客戶期望連接內(nèi)網(wǎng)地址為10.0.0.1的服務(wù)器
- 客戶不能直接利用地址10.0.0.1直接訪問服務(wù)器
- 對(duì)外唯一可見的地址是NAT地址: 138.76.29.7
解決方案1: 靜態(tài)配置NAT蓄髓,將特定端口的連接請(qǐng)求轉(zhuǎn)發(fā)給服務(wù)器
e.g., (138.76.29.7, 2500) 總是轉(zhuǎn)發(fā)給(10.0.0.1, 25000)
解決方案2: 利用UPnP(Universal Plug and Play)互聯(lián)網(wǎng)網(wǎng)關(guān)設(shè)備協(xié)議 (IGDInternet Gateway Device )自動(dòng)配置:(自動(dòng)化解決方案1)
學(xué)習(xí)到NAT公共IP地址(138.76.29.7)
在NAT轉(zhuǎn)換表中叉庐,增刪端口映射
解決方案3: 中繼(如Skype)
NAT內(nèi)部的客戶與中繼服務(wù)器建立連接
外部客戶也與中繼服務(wù)器建立連接
中繼服務(wù)器橋接兩個(gè)連接的分組
ICMP(互聯(lián)網(wǎng)控制報(bào)文協(xié)議)
互聯(lián)網(wǎng)控制報(bào)文協(xié)議 ICMP (Internet Control Message Protocol)支持主機(jī)或路由器:
1.差錯(cuò)(或異常)報(bào)告
2.網(wǎng)絡(luò)探詢兩類ICMP 報(bào)文:
差錯(cuò)報(bào)告報(bào)文(5種)
1.目的不可達(dá)(無法成功交付到目的地,丟棄報(bào)文)使用ICMP向源主機(jī)報(bào)告
2.源抑制(Source Quench)路由器緩存滿后可使用ICMP向源主機(jī)報(bào)告(可以適用于擁塞控制会喝,但并未使用)
3.超時(shí)/超期(TTL超時(shí))
4.參數(shù)問題
5.重定向 (Redirect)網(wǎng)絡(luò)探詢報(bào)文(2組)
1.回聲(Echo)請(qǐng)求與應(yīng)答報(bào)文(Reply) Ping工具
2.時(shí)間戳請(qǐng)求與應(yīng)答報(bào)文
幾種不發(fā)送 ICMP差錯(cuò)報(bào)告報(bào)文的特殊情況:
1.對(duì)ICMP差錯(cuò)報(bào)告報(bào)文不再發(fā)送 ICMP差錯(cuò)報(bào)告報(bào)文
2.除第1個(gè)IP數(shù)據(jù)報(bào)分片外陡叠,對(duì)所有后續(xù)分片均不發(fā)送ICMP差錯(cuò)報(bào)告報(bào)文
3.對(duì)所有多播IP數(shù)據(jù)報(bào)均不發(fā)送 ICMP差錯(cuò)報(bào)告報(bào)文
4.對(duì)具有特殊地址(如127.0.0.0 或 0.0.0.0)的IP數(shù)據(jù)報(bào)不發(fā)送ICMP 差錯(cuò)報(bào)告報(bào)文
幾種 ICMP 報(bào)文已不再使用
1.信息請(qǐng)求與應(yīng)答報(bào)文
2.子網(wǎng)掩碼請(qǐng)求和應(yīng)答報(bào)文
3.路由器詢問和通告報(bào)文
IPV6
最初動(dòng)機(jī):32位IPV4地址分配殆盡
其他動(dòng)機(jī):改變首部格式
- 快速處理/轉(zhuǎn)發(fā)數(shù)據(jù)報(bào)
- 支持QoS
IPv6數(shù)據(jù)報(bào)格式:
- 固定長(zhǎng)度的40字節(jié)基本首部
- 不允許分片
校驗(yàn)和(checksum): 徹底移除,以減少每跳處理時(shí)間
選項(xiàng)(options): 允許肢执,但是從基本首部移出枉阵,定義多個(gè)選項(xiàng)首部,通過“下一個(gè)首部”字段指示
ICMPv6: 新版ICMP
附加報(bào)文類型预茄,e.g. “Packet Too Big”
多播組管理功能
一般形式: 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或 ::FFFF:13.1.68.3
地址前綴: 2002:43c:476b::/48(注: IPv6不再使用掩碼!)
URLs: http://[3FFE::1:800:200C:417A]:8000
單播地址:一對(duì)一通信 1<->1
多播地址:一對(duì)多通信 1->n
任意播地址:一對(duì)一組之一 1->1/n
不可能在某個(gè)時(shí)刻所有路由器同時(shí)被更新為IPv6
? 不會(huì)有 “標(biāo)志性的日期”
? IPv4和IPv6路由器共存的網(wǎng)絡(luò)如何運(yùn)行兴溜?
隧道(tunneling): IPv6數(shù)據(jù)報(bào)作為IPv4數(shù)據(jù)報(bào)的載荷進(jìn)行封裝,穿越IPv4網(wǎng)絡(luò)