第四章 網絡層
4.1 概述
4.1.1 轉發和路由選擇
- 轉發(forwarding):當一個分組到達路由器的一條輸傳入連結路時,路由器必須将該分組移動到适當的輸對外連結路
- 路由選擇(routing):當分組從發送方流向接收方時,網絡層必須決定這些分組所采用的路由或路徑
-
連接配接建立:網絡層第三個重要的網絡功能
–網絡層的連接配接:一對節點之間的連接配接,所有屬于這個連接配接的資料包遵循同一條路徑
–傳輸層的連接配接:程序之間的連接配接,同一個資料包可能在網絡層經不同路徑
4.1.2 網絡服務模型:定義了分組在發送與接收端系統之間的端到端運輸特性
-
提供的服務
–確定傳遞
–具有時延上界的確定傳遞
–有序分組傳遞
–確定最小帶寬
–確定最大時延抖動
–安全性服務
-
兩個最重要的ATM服務模型
–恒定比特率
–可用比特率
4.2 虛電路和資料報網絡
- 網絡層能在兩台主機之間提供無連接配接服務或連接配接服務,連接配接服務以源和目的主機間的握手開始,無連接配接服務則沒有任何握手預備步驟
-
網絡層和運輸層在面向連接配接和無連接配接服務的差異
–在網絡層,這些服務是由網絡層向運輸層提供的主機到主機的服務。在運輸層中,這些服務則是運輸層向應用層提供的程序到程序的服務
–網絡層不能同時提供兩種服務(面向連接配接的、無連接配接的)。僅在網絡層提供連接配接服務的計算機網絡稱為虛電路(Virtual-Circuit,VC)網絡;僅在網絡層提供無連接配接五福的計算機網絡稱為資料報(datagram network)網絡
–網絡層連接配接服務除了在端系統中,也在位于網絡核心的路由器中實作;運輸層面向連接配接服務是在位于網絡邊緣
4.2.1 虛電路網絡
-
虛電路的組成
–源和目的主機之間的路徑
–VC号,沿着該路徑的每段鍊路的一個号碼
–沿着該路徑的每台路由器的轉發表表項
-
虛電路中有3個明顯不同的階段
–虛電路建立
–資料傳送
–虛電路拆除
4.2.2 資料報網絡
- 每當一個端系統要發送分組,它就為該分組加上目的端系統的位址,然後将分組推進網絡中。當分組從源到目的地傳輸,它通過一系列路由器傳遞。這些路由器中的每台都使用分組的目的位址來轉發該分組
4.3 路由器工作原理
- 組成成分:輸入端口,交換結構,輸出端口,路由選擇處理器
- 關鍵功能:運作路由算法/協定(RIP,OSPF,BGP),将資料報從傳入連結路傳到對外連結路
4.3.1 輸入端口
4.3.2 交換結構
-
經記憶體交換
–最簡單、最早的路由器是傳統的計算機,交換是在CPU的直接控制下完成的
–資料包被複制到系統的記憶體中
–速度受記憶體帶寬限制(2個總線交叉/資料報)
-
經總線交換
–輸入端口經一根共享總線将分組直接傳送到輸出端口
–交換帶寬受總線速率的限制
-
經網際網路絡交換
–克服總線帶寬限制
–将資料報分段為固定長度的單元,通過結構切換單元。
4.3.3 輸出端口
4.3.4 何處出現排隊
4.4 網際協定(IP)
4.4.1 資料包格式
-
IP資料報分片
–鍊路層協定能承受的網絡層分組長度不同,一個鍊路層幀能承載的最大資料量叫做最大傳送單元(Maximum Transmission Unit,MTU)
–過大的IP資料報會被分成多個較小的資料報(稱為fragment,片)
-
說明:
–ID是初始資料報的辨別号
–fragflag=1說明後面還有别的資料報,fragflag=0說明這是最後一個資料報
–offset指定該片應放在初始IP資料報的哪個位置
4.4.2 IPv4編址
-
概念
–IP位址:主機的32位辨別符,路由器接口
–接口(interface):主機/路由器與實體鍊路之間的連接配接
A)路由器通常有多個接口
B)主機通常有一個接口
–IP位址與每個接口關聯
- 子網
- 子網路遮罩(例子):233.1.1.0/24,其中的/24記法有時稱為子網路遮罩,它訓示了32比特中的最左側24比特定義了子網位址
- 網際網路的位址配置設定政策:無類别域間路由選擇(Classless Interdomain Routing,CIDR),對于子網尋址,32比特的IP位址被劃分為兩個部分,并且也具有點分十進制數形式a.b.c.d/x,其中x訓示了位址的第一部分中的比特數,32-x比特用于區分該組織的内部裝置
-
擷取一塊位址
–網際網路名字和編号配置設定機構
即ICANN(Internet Corporation for Assigned Names and Numbers)
A)配置設定位址
B)管理DNS
C)配置設定域名,解決争議
-
擷取主機位址:動态主機配置協定(配置設定公網IP)
–動态主機配置協定,即DHCP(Dynamic Host Configuration Protocol)
A)允許主機自動擷取(被配置設定)一個IP位址
B)也被稱為即插即用協定(plug-and-play protocol)
–它是用戶端 - 伺服器協定
-
網絡位址轉換(Network Address Translation,NAT)(配置設定私網IP)
–所有離開本地的資料報有着相同的源NAT IP位址,不同的端口号
–不同内部主機由NAT轉發表來區分
–本地網内的裝置無法明确地尋址,外界看不到
–16位端口号字段,即單個LAN端位址同時連接配接60,000個
- UPnP:是一種允許主機發現并配置鄰近NAT的協定
4.4.3 網際網路控制封包協定(ICMP)
-
被主機和路由器用來彼此溝通網絡層的資訊
A)錯誤封包:無法通路的主機,網絡,端口,協定
B)echo請求/回複(由ping使用)
4.4.4 IPv6
- 實作動機:IPv4的32位位址空間将耗盡
- IPv6資料報格式
–首部僅有40位元組
–有效載荷長度:16比特,給出IPv6資料報中跟在首部後面的位元組數量
–跳限制:轉發資料報的每台路由器将對該字段的内容減1。如果跳限制計數到達0,則該資料報将被丢棄
–删除了分片重新組裝、首部校驗和,選項功能
-
從IPv4到IPv6的遷移
–建隧道(tunneling)
4.5 路由選擇算法
-
根據算法是全局式還是分散式區分
–全局式路由選擇算法(global routing algorithm):用完整的、全局的網絡知識計算出源到目的地之間的最低費用路徑。該算法常被稱作鍊路狀态算法,它必須知道網絡中每條鍊路的費用
–分散式路由選擇算法(decentralized routing algorithm):以疊代式、分布式的方式計算出最低費用路徑。例子:距離向量算法(Distance-Vector,DV),每個節點維護到網絡中所有其他節點的費用估計的向量
-
根據算法是靜态還是動态區分
–靜态路由選擇算法(static routing algorithm):路由的變化非常緩慢
–動态路由選擇算法(dynamic routing algorithm):周期性地運作或直接響應拓撲或鍊路費用的變化而運作
-
根據算法是負載敏感的還是負載遲鈍的
–負載敏感算法(load-sensitive algorithm):鍊路費用會動态地變化以反映出底層鍊路的目前擁塞水準
–負載遲鈍算法(load-insensitive algorithm):鍊路的費用不明顯的反映目前(最近)的擁塞水準【目前網際網路路由選擇算法都是負載遲鈍的】
4.5.1 鍊路狀态路由選擇算法(LS)
- Dijkstra算法(最短路徑)
–D(v):到算法的本次疊代,從源結點到目的結點v的最低費用路徑的費用
–p(v):從源到v沿着目前最低費用路徑的前一結點(v的鄰居)
–N’:結點子集;如果從源到v的最低費用路徑已确知,v在N’中
4.5.2 距離向量路由選擇算法(DV)
- 它是分布式的、疊代的、異步的
- LS和DV的對比
4.5.3 層次路由選擇
- 問題:規模(路由器數目很大),管理自治
-
解決方案:自治系統(Autonomous System,AS)
–在相同的AS中的路由器全部運作相同的路由選擇算法
–在一個自治系統内運作的路由選擇算法叫做自治系統内部路由選擇協定(“intra-AS” routing protocol)
–負責向本AS之外的目的地轉發分組的路由器叫做網關路由器(gateway router)
–實踐中,AS之間轉發分組采用熱洋芋路由選擇方法,即将分組轉發給具有最小的最低費用的網關
4.6 網際網路中的路由選擇
4.6.1 網際網路中自治系統内部的路由選擇:RIP
- AS内部路由選擇協定也被稱為内部網關協定
-
路由選擇協定(Routing Information Protocol,RIP)
–RIP路由器大約每30秒互互相動通告
–如果一台路由器一旦超過180秒沒有從鄰居聽到封包,則該鄰居不再被認為是可到達的
4.6.2 網際網路中自治系統内部的路由選擇:OSPF
-
開放最短路優先(Open Shortest Path First,OSPF)
–簡介
–優點
4.6.3 自治系統間的路由選擇:BGP(Border Gateway Protocol)
-
為每個AS提供進行以下工作的手段:
–從相鄰AS處獲得子網可達性資訊
–向本AS内部的所有路由器傳播這些可達性資訊
–基于可達性資訊和AS政策,決定到達子網的“好”路由
-
基礎
–對于每條TCP連接配接,位于該連接配接端點的兩台路由器稱為BGP對等方(BGP peers)
–沿着該連接配接發送的所有BGP封包的TCP連接配接稱為BGP會話(BGP session)
–跨越兩個AS的BGP會話稱為外部BGP(eBGP)會話
–在同一個AS中的兩台路由器之間的BGP會話稱為内部BGP(iBGP)會話
–CDIR化的字首(prefix)使得每個AS知道其相鄰AS可到達哪個目的地
-
路徑屬性和BGP路由
–每個AS都有其全局唯一的自治系統号(ASN)【除了樁(stub)AS】
–當一台路由器通過BGP會話通告一個字首時,它在字首中包含一些BGP屬性。帶有屬性的字首稱為一條路由(router)
–AS-PATH:包含字首通告已經通過的AS
–NEXT-HOP:表示下一跳AS的特定内部AS路由器。(可以是從目前AS到下一跳AS的多條鍊路)
–網關路由器接收一台路由器通告時,它使用輸入政策(import policy)
- BGP路由選擇
- 路由選擇政策