4.1網(wǎng)絡(luò)層服務(wù)
v ■從發(fā)送主機(jī)向接收主機(jī)傳送數(shù)據(jù)段(segment)
v ■發(fā)送主機(jī):將數(shù)據(jù)段封裝到數(shù)據(jù)報(bào)(datagram)中
v ■接收主機(jī):向傳輸層交付數(shù)據(jù)段(segment)
v ■每個(gè)主機(jī)和路由器都運(yùn)行網(wǎng)絡(luò)層協(xié)議
v ■路由器檢驗(yàn)所有穿越它的IP數(shù)據(jù)報(bào)的頭部域
§ 決策如何處理IP數(shù)據(jù)報(bào)

網(wǎng)絡(luò)層核心功能-轉(zhuǎn)發(fā)與路由
路由器必須維護(hù)一個(gè)轉(zhuǎn)發(fā)表
v ■轉(zhuǎn)發(fā)(forwarding):將分組從路由器的輸入端口轉(zhuǎn)移到合適的輸出端口
v ■路由(routing):確定分組從源到目的經(jīng)過的路徑
§ 路由算法(routingalgorithms)

網(wǎng)絡(luò)層核心功能-連接建立
v■某些網(wǎng)絡(luò)的重要功能:
§ATM,幀中繼, X.25
v ■數(shù)據(jù)分組傳輸之前兩端主機(jī)需要首先建立虛擬/邏輯連接
§ 網(wǎng)絡(luò)設(shè)備(如路由器)參與連接的建立(網(wǎng)絡(luò)層每一個(gè)設(shè)備都要參與連接)
v ■網(wǎng)絡(luò)層連接與傳輸層連接的對(duì)比:
§ 網(wǎng)絡(luò)層連接:兩個(gè)主機(jī)之間(路徑上的路由器等網(wǎng)絡(luò)設(shè)備參與其中)
§ 傳輸層連接:兩個(gè)應(yīng)用進(jìn)程之間(對(duì)中間網(wǎng)絡(luò)設(shè)備透明)
網(wǎng)絡(luò)層服務(wù)模型

v■無連接服務(wù)(connection-less service):
§ 不事先為系列分組的傳輸確定傳輸路徑
§ 每個(gè)分組獨(dú)立確定傳輸路徑
§ 不同分組可能傳輸路徑不同
§ 數(shù)據(jù)報(bào)網(wǎng)絡(luò)(datagram network )
v■連接服務(wù)(connection service):
§ 首先為系列分組的傳輸確定從源到目的經(jīng)過的路徑(建立連接)
§ 然后沿該路徑(連接)傳輸系列分組
§ 系列分組傳輸路徑相同
§ 傳輸結(jié)束后拆除連接
§ 虛電路網(wǎng)絡(luò)(virtual-circuit network )
4.2虛電路網(wǎng)絡(luò)與數(shù)據(jù)報(bào)網(wǎng)絡(luò)
4.2.1虛電路網(wǎng)絡(luò)
連接服務(wù)與無連接服務(wù)
v■數(shù)據(jù)報(bào)(datagram)網(wǎng)絡(luò)與虛電路(virtual-circuit)網(wǎng)絡(luò)是典型兩類分組交換網(wǎng)絡(luò)
v■數(shù)據(jù)報(bào)網(wǎng)絡(luò)提供網(wǎng)絡(luò)層無連接服務(wù)
v■虛電路網(wǎng)絡(luò)提供網(wǎng)絡(luò)層連接服務(wù)
v■類似于傳輸層的無連接服務(wù)(UDP)和面向連接服務(wù)(TCP),但是網(wǎng)絡(luò)層服務(wù):(傳輸層是進(jìn)程與進(jìn)程之間的連接服務(wù),而網(wǎng)絡(luò)層是主機(jī)到主機(jī)之間的服務(wù))
§ 主機(jī)到主機(jī)服務(wù)
§ 網(wǎng)絡(luò)核心實(shí)現(xiàn)
虛電路(Virtual circuits)
■虛電路:一條從源主機(jī)到目的主機(jī), 類似于電路的路徑(邏輯連接)
§ 分組交換
§ 每個(gè)分組的傳輸利用鏈路的全部帶寬
§ 源到目的路徑經(jīng)過的網(wǎng)絡(luò)層設(shè)備共同完成虛電路功能

v ■通信過程:
§ 呼叫建立(call setup)→數(shù)據(jù)傳輸→拆除呼叫
v ■每個(gè)分組攜帶虛電路標(biāo)識(shí)(VC ID), 而不是目的主機(jī)地址
v ■虛電路經(jīng)過的每個(gè)網(wǎng)絡(luò)設(shè)備(如路由器) , 維護(hù)每條經(jīng)過它的虛電路連接狀態(tài)
v ■鏈路、 網(wǎng)絡(luò)設(shè)備資源(如帶寬、 緩存等)可以面向VC進(jìn)行預(yù)分配
§ 預(yù)分配資源=可預(yù)期服務(wù)性能
§ 如ATM的電路仿真(CBR)
VC的具體實(shí)現(xiàn)
■每條虛電路包括:
1.從源主機(jī)到目的主機(jī)的一條路徑
2.虛電路號(hào)(VCID) , 沿路每段鏈路一個(gè)編號(hào)
3.沿路每個(gè)網(wǎng)絡(luò)層設(shè)備(如路由器), 利用轉(zhuǎn)發(fā)表記錄經(jīng)過的每條虛電路
v ■沿某條虛電路傳輸?shù)姆纸M,攜帶對(duì)應(yīng)虛電路的VCID,而不是目的地址
v ■同一條VC,在每段鏈路上的VCID通常不同
§ 路由器轉(zhuǎn)發(fā)分組時(shí)依據(jù)轉(zhuǎn)發(fā)表改寫/替換虛電路號(hào)
VC轉(zhuǎn)發(fā)表

虛電路信令協(xié)議(signaling protocols)
v■用于VC的建立、維護(hù)與拆除
§ 路徑選擇
v■應(yīng)用于虛電路網(wǎng)絡(luò)
§ 如ATM、幀中繼(frame-relay)網(wǎng)絡(luò)等
v■目前的Internet不采用

4.2.2數(shù)據(jù)報(bào)網(wǎng)絡(luò)
v ■網(wǎng)絡(luò)層無連接
v ■每個(gè)分組攜帶目的地址
v ■路由器根據(jù)分組的目的地址轉(zhuǎn)發(fā)分組
§ 基于路由協(xié)議/算法構(gòu)建轉(zhuǎn)發(fā)表
§ 檢索轉(zhuǎn)發(fā)表
§ 每個(gè)分組獨(dú)立選路

數(shù)據(jù)報(bào)轉(zhuǎn)發(fā)表




最長前綴匹配優(yōu)先
在檢索轉(zhuǎn)發(fā)表時(shí),優(yōu)先選擇與分組目的地址匹配前綴最長的入口(entry)。

數(shù)據(jù)報(bào)網(wǎng)絡(luò)or VC網(wǎng)絡(luò)?
Internet (數(shù)據(jù)報(bào)網(wǎng)絡(luò))
v ■計(jì)算機(jī)之間的數(shù)據(jù)交換
§ “彈性” 服務(wù),沒有嚴(yán)格時(shí)間需求
v ■鏈路類型眾多
§ 特點(diǎn)、性能各異
§ 統(tǒng)一服務(wù)困難
v ■“智能” 端系統(tǒng)(計(jì)算機(jī))
§ 可以自適應(yīng)、性能控制、差錯(cuò)恢復(fù)
v■簡化網(wǎng)絡(luò),
復(fù)雜“邊緣”
ATM (VC網(wǎng)絡(luò))
v ■電話網(wǎng)絡(luò)演化而來
v ■核心業(yè)務(wù)是實(shí)時(shí)對(duì)話:
§ 嚴(yán)格的時(shí)間、可靠性需求
§ 需要有保障的服務(wù)
v ■“啞(dumb)” 端系統(tǒng)(非智能)
§ 電話機(jī)
§ 傳真機(jī)
v■簡化“邊緣” ,
復(fù)雜網(wǎng)絡(luò)
4.3IPv4協(xié)議
4.3.1IP數(shù)據(jù)報(bào)
Internet網(wǎng)絡(luò)層

IP數(shù)據(jù)報(bào)(分組)格式

v ■版本號(hào)字段占4位:IP協(xié)議的版本號(hào)
§E.g. 4→IPv4,6→IPv6
v ■首部長度字段占4位:IP分組首部長度
§ 以4字節(jié)為單位
§E.g. 5→IP首部長度為20(5×4)字節(jié)
v ■服務(wù)類型(TOS)字段占8位:指示期望獲得哪種類型的服務(wù)
§1998年這個(gè)字段改名為區(qū)分服務(wù)
§ 只有在網(wǎng)絡(luò)提供區(qū)分服務(wù)(DiffServ)時(shí)使用
§ 一般情況下不使用,通常IP分組的該字段(第2字節(jié))的值為00H
v ■總長度字段占16位:IP分組的總字節(jié)數(shù)(首部+數(shù)據(jù))
§ 最大IP分組的總長度:65535B
§ 最小的IP分組首部:20B
§IP分組可以封裝的最大數(shù)據(jù):65535-20=65515B
v ■生存時(shí)間(TTL) 字段占8位:IP分組在網(wǎng)絡(luò)中可以通過的路由器數(shù)(或跳步數(shù))
§ 路由器轉(zhuǎn)發(fā)一次分組,TTL減1
§ 如果TTL=0,路由器則丟棄該IP分組
v ■協(xié)議字段占8位: 指示IP分組封裝的是哪個(gè)協(xié)議的數(shù)據(jù)包
§ 實(shí)現(xiàn)復(fù)用/分解
§E.g. 6為TCP,表示封裝的為TCP段;17為UDP, 表示封裝的是UDP數(shù)據(jù)報(bào)
■首部校驗(yàn)和字段占16位:實(shí)現(xiàn)對(duì)IP分組首部的差錯(cuò)檢測
§ 計(jì)算校驗(yàn)和時(shí),該字段置全0
§ 采用反碼算數(shù)運(yùn)算求和,和的反碼作為首部校驗(yàn)和字段
§ 逐跳計(jì)算、逐跳校驗(yàn)
路由器轉(zhuǎn)發(fā)的時(shí)候因?yàn)門TL的更改每次轉(zhuǎn)發(fā)都要重新校驗(yàn)和計(jì)算校驗(yàn)和
■源IP地址、目的IP地址字段各占32位:分別標(biāo)識(shí)發(fā)送分組
的源主機(jī)/路由器(網(wǎng)絡(luò)接口)和接收分組的目的主機(jī)/路由器
(網(wǎng)絡(luò)接口)的IP地址
■選項(xiàng)字段占長度可變,范圍在1~40B之間:攜帶安全、源選路徑(發(fā)送數(shù)據(jù)報(bào)的時(shí)候就把源主機(jī)和目的主機(jī)的路徑以及確定下來)、時(shí)間戳和路由記錄等內(nèi)容
§ 實(shí)際上很少被使用(主要用于網(wǎng)絡(luò)探測和度量)
v ■填充字段占長度可變,范圍在0~3B之間:目的是補(bǔ)齊整個(gè)首部,符合32位對(duì)齊,即保證首部長度是4字節(jié)的倍數(shù)
4.3.2IP分片
最大傳輸單元(MTU)
v 網(wǎng)絡(luò)鏈路存在MTU (最大傳輸單元)—鏈路層數(shù)據(jù)幀可封裝數(shù)據(jù)的上限
§ 不同鏈路的MTU不同

IP分片與重組
v ■大IP分組向較小MTU鏈路轉(zhuǎn)發(fā)時(shí), 可以被“分片”(fragmented)(也可以不分,不允許路由分片就把該MTU扔掉)
§1個(gè)IP分組分為多片IP分組
§IP分片到達(dá)目的主機(jī)后進(jìn)行“重組”(reassembled)
v■IP首部的相關(guān)字段用于標(biāo)識(shí)分片以及確定分片的相對(duì)順序
§ 總長度、標(biāo)識(shí)、標(biāo)志位和片偏移

IP分組格式

v ■標(biāo)識(shí)字段占16位:標(biāo)識(shí)一個(gè)IP分組
§IP協(xié)議利用一個(gè)計(jì)數(shù)器,每產(chǎn)生IP分組計(jì)數(shù)器加1,作為該IP分組的標(biāo)識(shí)(標(biāo)識(shí)位加1)
v ■標(biāo)志位字段占3位:
§DF (Don't Fragment)
§MF (More Fragment)
§DF =1:禁止分片;
DF =0:允許分片
§MF =1:非最后一片;
MF =0:最后一片(或未分片)

v ■片偏移字段占13位:一個(gè)IP分組分片封裝原IP分組數(shù)據(jù)的相對(duì)偏移量
§ 片偏移字段以8字節(jié)為單位
IP分片過程
v ■假設(shè)原IP分組總長度為L,待轉(zhuǎn)發(fā)鏈路的MTU為M
v ■若L>M,且DF=0,則可以/需要分片
v ■分片時(shí)每個(gè)分片的標(biāo)識(shí)復(fù)制原IP分組的標(biāo)識(shí)
v ■通常分片時(shí),除最后一個(gè)分片,其他分片均分為MTU允許的最大分片
v ■一個(gè)最大分片可封裝的數(shù)據(jù)應(yīng)該是8的倍數(shù), 因此, 一個(gè)最大分片可封裝的數(shù)據(jù)為:

v■需要的總片數(shù)為:

v ■每片的片偏移字段取值為:

v ■每片的總長度字段為:

v ■每片的MF標(biāo)志位為:


4.3.3IP編址(addressing)
v ■IP分組:
§ 源地址(SA)-從哪兒來
§ 目的地址(DA)-到哪兒去
v ■接口(interface):主機(jī)/路由器與物理鏈路的連接
§ 實(shí)現(xiàn)網(wǎng)絡(luò)層功能
§ 路由器通常有多個(gè)接口
§ 主機(jī)通常只有一個(gè)或兩個(gè)接口(e.g.,有線的以太網(wǎng)接口,無線的802.11接口)

v■IP地址: 32比特(IPv4)編號(hào)標(biāo)識(shí)主機(jī)、路由器的接口
v ■IP地址與每個(gè)接口關(guān)聯(lián)

IP子網(wǎng)(Subnets)
v■IP地址:
§ 網(wǎng)絡(luò)號(hào)(NetID)– 高位比特
§ 主機(jī)號(hào)(HostID)– 低位比特

v■IP子網(wǎng):
§IP地址具有相同網(wǎng)絡(luò)號(hào)的設(shè)備接口
§ 不跨越路由器(第三及以上層網(wǎng)絡(luò)設(shè)備)可以彼此物理聯(lián)通的接口

4.3.4有類IP地址

特殊IP地址

私有(Private)IP地址

4.3.5IP子網(wǎng)劃分與子網(wǎng)掩碼
子網(wǎng)劃分
■區(qū)別一個(gè)IP子網(wǎng)更小范圍網(wǎng)絡(luò)(子網(wǎng))
v■IP地址:
§ 網(wǎng)絡(luò)號(hào)(NetID)– 高位比特
§ 子網(wǎng)號(hào)(SubID)– 原網(wǎng)絡(luò)主機(jī)號(hào)部分比特
§ 主機(jī)號(hào)(HostID)– 低位比特


子網(wǎng)掩碼
v■形如IP地址:
§32位
§ 點(diǎn)分十進(jìn)制形式
v ■取值:
§NetID、SubID位全取1
§HostID位全取0
v■例如:
§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)掩碼的應(yīng)用
v將IP分組的目的IP地址與子網(wǎng)掩碼按位與運(yùn)算,提取子網(wǎng)地址


4.3.6CIDR與路由聚合
CIDR
無類域間路由(CIDR: Classless InterDomain Routing)
§ ■消除傳統(tǒng)的A類、B類和C類地址界限
§NetID+SubID→Network Prefix (Prefix)可以任意長度
§ ■融合子網(wǎng)地址與子網(wǎng)掩碼,方便子網(wǎng)劃分
§ 無類地址格式:a.b.c.d/x,其中x為前綴長度

CIDR與路由聚合
無類域間路由(CIDR: Classless InterDomain Routing)
§ ■提高IPv4地址空間分配效率
§ ■提高路由效率
§ 將多個(gè)子網(wǎng)聚合為一個(gè)較大的子網(wǎng)
§ 構(gòu)造超網(wǎng)(supernetting)
§ 路由聚合(route aggregation)
路由聚合
使用單個(gè)網(wǎng)絡(luò)前綴通告多個(gè)網(wǎng)絡(luò)的方式稱為路由聚合
層級(jí)編址使得路由信息通告更高效:
選用更具體的路由:最長前綴匹配優(yōu)先!

4.4DHCP協(xié)議
如何獲得IP地址?
v ■“硬編碼”
§ 靜態(tài)配置
v ■動(dòng)態(tài)主機(jī)配置協(xié)議-DHCP: Dynamic Host Configuration Protocol
§ ? 從服務(wù)器動(dòng)態(tài)獲?。?/p>
IP地址
子網(wǎng)掩碼
默認(rèn)網(wǎng)關(guān)地址(即第一跳路由器的地址:當(dāng)這個(gè)子網(wǎng)內(nèi)IP報(bào)要離開子網(wǎng)的時(shí)候應(yīng)該向哪個(gè)網(wǎng)絡(luò)轉(zhuǎn)發(fā))
DNS服務(wù)器名稱與IP地址
§ ? “即插即用”
§ ? 允許地址重用(用完某一個(gè)ip地址,用完可以還回去給別的主機(jī)用)
§ ? 支持在用地址續(xù)租
§ ? 支持移動(dòng)用戶加入網(wǎng)絡(luò)

動(dòng)態(tài)主機(jī)配置協(xié)議(DHCP)
v ■主機(jī)廣播 “DHCP discover”(發(fā)現(xiàn)報(bào)文)
v ■DHCP服務(wù)器利用 “DHCP offer”(提供報(bào)文)進(jìn)行響應(yīng)(可以提供DHCP服務(wù))
v ■主機(jī)請(qǐng)求IP地址:“DHCP request”(請(qǐng)求報(bào)文)
v ■DHCP服務(wù)器分配IP地址:“DHCP ack”(確認(rèn)報(bào)文)

DHCP工作過程示例

vDHCP協(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ù)器地址
4.5網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)

動(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))

v■16-bit端口號(hào)字段:
§ 可以同時(shí)支持60,000多并行連接!
v■NAT主要爭議:
§ ? 路由器應(yīng)該只處理第3層功能
§ ? 違背端到端通信原則
應(yīng)用開發(fā)者必須考慮到NAT的存在,e.g., P2P應(yīng)用
§ ? 地址短缺問題應(yīng)該由IPv6來解決
NAT穿透問題
v■客戶期望連接內(nèi)網(wǎng)地址為10.0.0.1的服務(wù)器
§ 客戶不能直接利用地址10.0.0.1直接訪問服務(wù)器
§ 對(duì)外唯一可見的地址是NAT地址: 138.76.29.7
v■解決方案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)

v■解決方案2:利用UPnP(Universal Plug and Play)互聯(lián)網(wǎng)網(wǎng)關(guān)設(shè)備協(xié)議(IGDInternet Gateway Device )自動(dòng)配置:v
學(xué)習(xí)到NAT公共IP地址(138.76.29.7)
v 在NAT轉(zhuǎn)換表中,增刪端口映射

■解決方案3:中繼(如Skype)
§NAT內(nèi)部的客戶與中繼服務(wù)器建立連接
§ 外部客戶也與中繼服務(wù)器建立連接
§ 中繼服務(wù)器橋接兩個(gè)連接的分組

4.6互聯(lián)網(wǎng)控制報(bào)文協(xié)議(ICMP)
v ■互聯(lián)網(wǎng)控制報(bào)文協(xié)議ICMP (Internet Control Message Protocol)支持主機(jī)或路由器:
§ 差錯(cuò)(或異常)報(bào)告
§ 網(wǎng)絡(luò)探詢(發(fā)送特殊報(bào)文來實(shí)現(xiàn))
v ■兩類ICMP報(bào)文:
§ 差錯(cuò)報(bào)告報(bào)文(5種)
? 目的不可達(dá)
? 源抑制(Source Quench)(設(shè)計(jì)目的是用于擁塞控制,目前路由器已滿,發(fā)送到源主機(jī),控制發(fā)送速率,目前未使用)
? 超時(shí)/超期
? 參數(shù)問題(報(bào)文頭部某些參數(shù)有問題,丟棄并發(fā)送)
? 重定向(Redirect)
§ 網(wǎng)絡(luò)探詢報(bào)文(2組)
? 回聲(Echo)請(qǐng)求與應(yīng)答報(bào)文(Reply)(eig:ping)
? 時(shí)間戳請(qǐng)求與應(yīng)答報(bào)文

例外情況
v ■幾種不發(fā)送ICMP差錯(cuò)報(bào)告報(bào)文的特殊情況:
§ 對(duì)ICMP差錯(cuò)報(bào)告報(bào)文不再發(fā)送ICMP差錯(cuò)報(bào)告報(bào)文(如果已經(jīng)有一個(gè)ICMP差錯(cuò)報(bào)文,這個(gè)報(bào)文出錯(cuò)不會(huì)再次發(fā)送ICMP報(bào)文)
§ 除第1個(gè)IP數(shù)據(jù)報(bào)分片外, 對(duì)所有后續(xù)分片均不發(fā)送ICMP差錯(cuò)報(bào)告報(bào)文
§ 對(duì)所有多播IP數(shù)據(jù)報(bào)均不發(fā)送ICMP差錯(cuò)報(bào)告報(bào)文
§ 對(duì)具有特殊地址(如127.0.0.0或0.0.0.0) 的IP數(shù)據(jù)報(bào)不發(fā)送ICMP差錯(cuò)報(bào)告報(bào)文
v ■幾種ICMP報(bào)文已不再使用
§ 信息請(qǐng)求與應(yīng)答報(bào)文
§ 子網(wǎng)掩碼請(qǐng)求和應(yīng)答報(bào)文
§ 路由器詢問和通告報(bào)文
ICMP報(bào)文的格式
vICMP報(bào)文封裝到IP數(shù)據(jù)報(bào)中傳輸

ICMP差錯(cuò)報(bào)告報(bào)文數(shù)據(jù)封裝


4.7IPv6簡介
IPv6:動(dòng)機(jī)
v ■最初動(dòng)機(jī): 32位IPv4地址空間已分配殆盡
v ■其他動(dòng)機(jī):改進(jìn)首部格式
§ 快速處理/轉(zhuǎn)發(fā)數(shù)據(jù)報(bào)
§ 支持QoS
■IPv6數(shù)據(jù)報(bào)格式:
§ 固定長度的40字節(jié)基本首部
§ 不允許分片

IPv6數(shù)據(jù)報(bào)格式
優(yōu)先級(jí)(priority):標(biāo)識(shí)數(shù)據(jù)報(bào)的優(yōu)先級(jí)
流標(biāo)簽(flow Label):標(biāo)識(shí)同一“流”中的數(shù)據(jù)報(bào)(根據(jù)不同流標(biāo)簽用于不同服務(wù))
下一個(gè)首部(next header):標(biāo)識(shí)下一個(gè)選項(xiàng)首部或上層協(xié)議首部(如TCP首部)(指向下一個(gè)擴(kuò)展首部,沒有就指向上層協(xié)議首部)

其他改變vs IPv4
v■校驗(yàn)和(checksum):徹底移除,以減少每跳處理時(shí)間
v■選項(xiàng)(options):允許,但是從基本首部移出,定義多個(gè)選項(xiàng)首部,通過“下一個(gè)首部”字段指示
v■ICMPv6:新版ICMP
§ 附加報(bào)文類型,e.g.“Packet Too Big”
§ 多播組管理功能(IPv4中的IGMP集成到ICMPv6上)
IPv6地址表示形式

IPv6基本地址類型

IPv4向IPv6過渡
v■不可能在某個(gè)時(shí)刻所有路由器同時(shí)被更新為IPv6
§ 不會(huì)有 “標(biāo)志性的日期”
§IPv4和IPv6路由器共存的網(wǎng)絡(luò)如何運(yùn)行?
v■隧道(tunneling): IPv6數(shù)據(jù)報(bào)作為IPv4數(shù)據(jù)報(bào)的載荷進(jìn)行封裝,穿越IPv4網(wǎng)絡(luò)

隧道(tunneling)

4.8路由算法
路由與轉(zhuǎn)發(fā)

網(wǎng)絡(luò)抽象:圖


路由算法分類
■靜態(tài)路由vs動(dòng)態(tài)路由?
·靜態(tài)路由:
v 手工配置
v 路由更新慢
v 優(yōu)先級(jí)高
·動(dòng)態(tài)路由(基于算法):
v 路由更新快
§ 定期更新
§ 及時(shí)響應(yīng)鏈路費(fèi)用或網(wǎng)絡(luò)拓?fù)渥兓?/p>
■全局信息vs分散信息?
·全局信息:
v 所有路由器掌握完整的網(wǎng)絡(luò)拓?fù)浜玩溌焚M(fèi)用信息
vE.g.鏈路狀態(tài)(LS)路由算法
·分散(decentralized)信息:
v 路由器只掌握物理相連的鄰居以及鏈路費(fèi)用
v 鄰居間信息交換、運(yùn)算的迭代過程
vE.g.距離向量(DV)路由算法
4.8.2鏈路狀態(tài)路由算法

Dijkstra算法
v ■所有結(jié)點(diǎn)(路由器)掌握網(wǎng)絡(luò)拓?fù)浜玩溌焚M(fèi)用
§ 通過“鏈路狀態(tài)廣播”
§ 所有結(jié)點(diǎn)擁有相同信息
v ■計(jì)算從一個(gè)結(jié)點(diǎn)(“源”)到達(dá)所有其他結(jié)點(diǎn)的最短路徑
§ 獲得該結(jié)點(diǎn)的轉(zhuǎn)發(fā)表
v ■迭代: k次迭代后,得到到達(dá)k個(gè)目的結(jié)點(diǎn)的最短路徑
符號(hào):
v■c(x,y):結(jié)點(diǎn)x到結(jié)點(diǎn)y鏈路費(fèi)用;如果x和y不直接相連,則=∞
v■D(v):從源到目的v的當(dāng)前路徑費(fèi)用值
v■p(v):沿從源到v的當(dāng)前路徑,v的前序結(jié)點(diǎn)
v■N’:已經(jīng)找到最小費(fèi)用路徑的結(jié)點(diǎn)集合




Dijkstra算法:討論
算法復(fù)雜性:n個(gè)結(jié)點(diǎn)
v ■每次迭代:需要檢測所有不在集合N’中的結(jié)點(diǎn)w
v ■n(n+1)/2次比較: O(n2)
v ■更高效的實(shí)現(xiàn): O(nlogn)
存在震蕩(oscillations)可能:(由于不斷更新的路由狀態(tài)信息而出現(xiàn)的)
v ■e.g.,假設(shè)鏈路費(fèi)用是該鏈路承載的通信量:

4.8.3距離向量路由算法


距離向量路由算法





距離向量DV:鏈路費(fèi)用變化
鏈路費(fèi)用變化:
v ■結(jié)點(diǎn)檢測本地鏈路費(fèi)用變化
v ■更新路由信息,重新計(jì)算距離向量
v ■如果DV改變,通告所有鄰居
t0 : y檢測到鏈路費(fèi)用改變 ,更新DV,通告其鄰居.
t1 : z收到y(tǒng)的DV更新,更新其距離向量表,計(jì)算到達(dá)x的最新最小費(fèi)用,更新其DV,并發(fā)送給其所有鄰居.
t2 : y收到z的DV更新, 更新其距離向量表,重新計(jì)算y的DV,未發(fā)生改變,不再向z發(fā)送DV.

好消息傳播快
距離向量DV:無窮計(jì)數(shù)問題

解決辦法:
(1)毒性逆轉(zhuǎn)(poisoned reverse):
v 如果一個(gè)結(jié)點(diǎn)(e.g. Z)到達(dá)某目的(e.g.X)的最小費(fèi)用路徑是通過某個(gè)鄰居(e.g.Y),則:
§ 通告給該鄰居結(jié)點(diǎn)到達(dá)該目的的距離為無窮大
(如果一個(gè)節(jié)點(diǎn)z到達(dá)某目的x的最小路徑是通過z的鄰居y實(shí)現(xiàn),則通過z通告y它(z)去x的距離無無窮大)


(2)定義最大度量(maximum metric):
v (從一個(gè)點(diǎn)到另一個(gè)點(diǎn))定義一個(gè)最大的有效費(fèi)用值,如15跳步,16跳步表示∞

4.9Internet路由
4.9.1層次路由
將任意規(guī)模網(wǎng)絡(luò)抽象為一個(gè)圖計(jì)算路由-過于理想化
v 標(biāo)識(shí)所有路由器
v “扁平”網(wǎng)絡(luò)
——在實(shí)際網(wǎng)絡(luò)(尤其是大規(guī)模網(wǎng)絡(luò))中, 不可行!
網(wǎng)絡(luò)規(guī)模:考慮6億目的結(jié)點(diǎn)的網(wǎng)絡(luò)
v ■路由表幾乎無法存儲(chǔ)!
v ■路由計(jì)算過程的信息(e.g.鏈路狀態(tài)分組、DV)交換量巨大,會(huì)淹沒鏈路!
管理自治:
v ■每個(gè)網(wǎng)絡(luò)的管理可能都期望自主控制其網(wǎng)內(nèi)的路由
v ■互聯(lián)網(wǎng)(internet) =網(wǎng)絡(luò)之網(wǎng)絡(luò)(network of networks)
v■聚合路由器為一個(gè)區(qū)域:自治系統(tǒng)AS(autonomous systems)
v■同一AS內(nèi)的路由器運(yùn)行相同的路由協(xié)議(算法)
§ 自治系統(tǒng)內(nèi)部路由協(xié)議(“intra-AS”routing protocol)
§ 不同自治系統(tǒng)內(nèi)的路由器可以運(yùn)行不同的AS內(nèi)部路由協(xié)議
■網(wǎng)關(guān)路由器(gateway router):
v 位于AS“邊緣”
v 通過鏈路連接其他AS的網(wǎng)關(guān)路由器
互連的AS

自治系統(tǒng)間(Inter-AS)路由任務(wù)
v ■假設(shè)AS1內(nèi)某路由器收到一個(gè)目的地址在AS1之外的數(shù)據(jù)報(bào):
§ 路由器應(yīng)該將該數(shù)據(jù)報(bào)轉(zhuǎn)發(fā)給哪個(gè)網(wǎng)關(guān)路由器呢?
AS1必須:
1.學(xué)習(xí)到哪些目的網(wǎng)絡(luò)可以通過AS2到達(dá),哪些可以通過AS3到達(dá)
2.將這些網(wǎng)絡(luò)可達(dá)性信息傳播給AS1內(nèi)部路由器



4.9.2RIP協(xié)議
AS內(nèi)部路由
v■Internet采用層次路由
v■AS內(nèi)部路由協(xié)議也稱為內(nèi)部網(wǎng)絡(luò)協(xié)議IGP(interior gateway protocols)
v■最常見的AS內(nèi)部路由協(xié)議:
§ 路由信息協(xié)議:RIP(Routing Information Protocol)
§ 開放最短路徑優(yōu)先:OSPF(Open Shortest Path First)
§ 內(nèi)部網(wǎng)關(guān)路由協(xié)議:IGRP(Interior Gateway Routing Protocol)
§ ·Cisco私有協(xié)議
RIPv
■早于1982年隨BSD-UNIX操作系統(tǒng)發(fā)布
v ■距離向量路由算法
§ 距離度量:跳步數(shù)(max = 15 hops),每條鏈路1個(gè)跳步
§ 每隔30秒,鄰居之間交換一次DV,成為通告(advertisement)
§ 每次通告:最多25個(gè)目的子網(wǎng)(IP地址形式)



RIP:鏈路失效、恢復(fù)
如果180秒沒有收到通告→鄰居/鏈路失效
§ ■經(jīng)過該鄰居的路由不可用
§ 重新計(jì)算路由
§ ■向鄰居發(fā)送新的通告
§ ■鄰居再依次向外發(fā)送通告(如果轉(zhuǎn)發(fā)表改變)
§ ■鏈路失效信息能否快速傳播到全網(wǎng)?
§ 可能發(fā)生無窮計(jì)數(shù)問題
§ ■毒性逆轉(zhuǎn)技術(shù)用于預(yù)防乒乓(ping-pong)環(huán)路(另外:無窮大距離= 16 hops)
RIP路由表的處理
v■RIP路由表是利用一個(gè)稱作route-d (daemon)的應(yīng)用層進(jìn)程進(jìn)行管理(根據(jù)功能劃分層次)
v應(yīng)用進(jìn)程實(shí)現(xiàn)
v■通告報(bào)文周期性地通過UDP數(shù)據(jù)報(bào)發(fā)送

4.9.3OSPF協(xié)議簡介
OSPF (Open Shortest Path First)(自治系統(tǒng)內(nèi)部協(xié)議)
■v“開放”:公眾可用
v■采用鏈路狀態(tài)路由算法
§LS分組擴(kuò)散(通告)
§ 每個(gè)路由器構(gòu)造完整的網(wǎng)絡(luò)(AS)拓?fù)鋱D
§ 利用Dijkstra算法計(jì)算路由
v■OSPF通告中每個(gè)入口對(duì)應(yīng)一個(gè)鄰居
v■OSPF通告在整個(gè)AS范圍泛洪
§OSPF報(bào)文直接封裝到IP數(shù)據(jù)報(bào)中
v■與OSPF極其相似的一個(gè)路由協(xié)議:IS-IS路由協(xié)議
OSPF優(yōu)點(diǎn)(RIP不具備)
v■安全(security):所有OSPF報(bào)文可以被認(rèn)證(預(yù)防惡意入侵)(通過每臺(tái)路由器配置相同的口令;MD5校驗(yàn))
v■允許使用多條相同費(fèi)用的路徑(RIP只能選一條)
v■對(duì)于每條鏈路,可以針對(duì)不同的TOS設(shè)置多個(gè)不同的費(fèi)用度量(e.g.,衛(wèi)星鏈路可以針對(duì)“盡力”(best effort) ToS設(shè)置“低”費(fèi)用;針對(duì)實(shí)時(shí)ToS設(shè)置“高”費(fèi)用)
v■集成單播路由與多播路由:
§ 多播OSPF協(xié)議(MOSPF)與OSPF利用相同的網(wǎng)絡(luò)拓?fù)鋽?shù)據(jù)
v■OSPF支持對(duì)大規(guī)模AS分層(hierarchical)
分層的OSPF



