4網(wǎng)絡(luò)層(1)

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容