網絡層

網絡層

  • 從發送主機向發送主機發送數據段
  • 發送主機:將數據段封裝到數據報中
  • 接收主機:向傳輸層交付數據段

網絡層核心功能

  • 轉發
    將分組從路由器的輸入端口轉移到合適的輸出端口
  • 路由
    確定分組從源到目的經過的路徑
    路由算法
  • 連接建立
    某些網絡的重要功能:ATM、幀中繼、X.25

網絡層服務

  • 無連接服務
    不事先爲系列分組都傳輸確定傳輸路徑
    每個分組獨立確定傳輸路徑
    不同分組可能傳輸路徑不同
    數據報網絡
  • 連接服務
    首先爲系列分組傳輸確定從源到目的的傳輸路徑(建立連接)
    然後沿該路徑(連接)傳輸系列分組
    系列分組傳輸路徑相同
    傳輸結束後拆除連接
    虛電路網絡

虛電路網絡
虛電路:一條從源主機到目的主機,類似於電路的路徑(邏輯連接)

  • 分組交換
  • 每個分組的傳輸利用鏈路的全部帶寬
  • 源到目的路徑經過的網絡層設備共同完成虛電路網絡功能

通信過程:呼叫建立 -> 數據傳輸 -> 呼叫拆除
每條虛電路(VC)包括

  • 從源主機到目的主機的一條路徑
  • 虛電路號(VCID),沿路每段鏈路一個編號
  • 沿路的每個網絡層設備,利用轉發表記錄經過的每條虛電路

沿某條虛電路傳輸的分組,攜帶對應虛電路的VCID,而不是目的地址
同一條VC,每段鏈路上的VCID通常不同

虛電路信令協議:用於VC的建立、維護與拆除

數據報網絡

  • 網絡層無連接
  • 每個分組攜帶目的地址
  • 路由器根據分組的目的地址轉發分組
    • 基於路由協議/算法構建轉發表
    • 檢索轉發表
    • 每個分組獨立選路

最長前綴匹配優先原則:在檢索轉發表時,優先選擇與目的地址匹配前綴最長的入口

數據報網絡(Internet) 虛電路網絡(ATM)
計算機之間數據交換
彈性服務,沒有嚴格時間需求
核心任務是實時對話
嚴格的時間、可靠性需求
鏈路類型衆多 電話網絡演變而來
“智能”端系統(計算機) “啞”端系統
簡化網絡,複雜邊緣 簡化邊緣,複雜網絡

Internet網絡層主要功能

  • 路由協議:路由選擇,RIP,OSPF,BGP
  • IP協議:尋址規約、數據報格式、分組處理規約
  • ICMP協議:差錯報告、路由器信令

IP數據報(分組)格式
  • 首部長度:以四字節爲單位,5 -> 4 * 5 = 20字節
  • 總長度:首部 + 數據
  • 協議:6 -> TCP;17 -> UDP
  • 首部校驗和:逐跳計算、逐跳校驗

最大傳送單元(MTU):一個鏈路層幀能承載的最大數據量

IPv4 數據報分片:大IP分組向較小MTU鏈路轉發時,需要分片

  • 標識(ID):標識一個IP分組,一個IP分組的多個分片的ID相同
  • 標誌位:佔3位
    • DF = 0:允許分片
    • DF = 1:禁止分片
    • MF = 0:最後一片或未分片
    • MF = 1:非最後一片
  • 片偏移:佔13位,以8字節爲單位

原IP分組總長度爲L,待轉發鏈路MTU爲M
一個最大分片所封裝到數據的大小應該是8的倍數d = \left \lfloor \frac{M-20}{8} \right \rfloor \times 8需要的分片數爲n = \left \lceil \frac{L-20}{d} \right \rceil 每片的片偏移字段取值爲F_i = \frac{d}{8} \times (i - 1), 1 \le i \le n 每片的總長度字段爲 L_i = \begin{cases} d + 20 & 1 \le i < n \\ L - (n-1)\times d & i = n \end{cases}


IPv4地址:32bits,標識主機和路由器接口
|網絡號|主機號|
主機號全0表示子網
主機號全1表示本網廣播
均不能作爲接口地址

IP子網

  • IP地址具有相同網絡號的設備接口
  • 不跨越路由器可以彼此物理聯通的接口
有類編址

子網劃分

子網掩碼:NetID、SubID位全取1,HostID位全取0
利用子網地址 + 子網掩碼確定子網大小

無類域間路由
無類地址格式:a.b.c.d/x

  • 提高IP地址空間分配效率
  • 提高路由效率
    • 將多個子網聚合爲一個大的子網
    • 構造超網
    • 路由聚合

DHCP協議:動態主機配置協議

  • 從服務器動態獲取
    • IP地址
    • 子網掩碼
    • 默認網關地址
    • DNS服務器名稱與其IP地址
  • 即插即用
  • 允許地址重用
  • 支持在用地址續租
  • 支持移動用戶加入網絡
  • 應用層實現,使用UDP傳輸服務,端口67

步驟

  1. 主機廣播“DHCP discover”(發現報文)
  2. DHCP服務器利用“DHCP offer”(提供報文)進行響應
  3. 主機請求IP地址“DHCP request”(請求報文)
  4. DHCP服務器分配IP地址“DHCP ack”(確認報文)

NAT:網絡地址轉換
所有離開本地網絡去往Internet的數據報的源IP地址都會被替換成相同的NAT IP地址以及不同的端口號

動機

  • 只需/能從ISP申請一個IP地址:IPv4地址耗盡
  • 本地網絡設備地址的變更,無需通告外界網絡
  • 變更ISP時,無需修改內部網絡設備的IP地址
  • 內部網絡設備對外界不可見,即不可直接尋址(安全)

主要爭議

  • 路由器應該只處理第三層功能
  • 違背端到端原則
  • 地址短缺問題應該有IPv6來解決

NAT穿透問題解決方案

  1. 靜態配置NAT,將特定端口的連接請求轉發給服務器
  2. 利用UPnP互聯網網關設備協議自動配置
  3. 中繼
    NAT內部的客戶與中繼服務器建立連接
    外部客戶也與中繼服務器建立連接
    中繼服務器橋接兩個連接的分組

ICMP:互聯網控制報文協議

  • 差錯報告報文
    • 目的不可達
    • 源抑制
    • 超時/超期
    • 參數問題
    • 重定向
  • 網絡探測報文
    • 回聲請求與應答報文
    • 時間戳請求與應答報文

不發送ICMP差錯報告報文的幾種特殊情況

  • 對ICMP差錯報告報文不再發送
  • 除第一個IP數據分片外,對所有後續的IP數據分片都不發送
  • 對所有多撥數據報均不發送
  • 對具有特殊地址的IP數據報不發送(如0.0.0.0,127.0.0.0)

ICMP報文封裝到IP數據報中傳輸

ICMP差錯報告報文數據封裝

IPv6

動機

  • 32位IPv4地址空間已經分配殆盡
  • 快速處理、轉發數據報
  • 支持QoS

IPv6數據報格式

  • 固定長度的40字節基本首部
  • 不允許分片

IPv6地址表現形式

  • 一般形式: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.1 或 ::FFFF:13.1.68.1

IPv4向IPv6過渡:隧道:IPv6數據報作爲IPv4數據報的載荷進行封裝,穿過IPv4網絡


路由算法:確定去往目的網絡的最佳路徑

鏈路狀態路由算法:Dijkstra算法

  • 所有節點掌握網絡拓撲和鏈路費用
  • 存在震盪可能

距離向量路由算法:Bellman-Ford方程
d_x (y) = \min_v \{ c(x, v) + d_v (y) \}節點獲得最短路徑的下一跳,該信息用於轉發表中

對於每個節點x,需要維護

  • 已知到達每個節點的費用c(x,v)
  • 維護其所有鄰居的距離向量D_v = \{ D_v (y), y \in N \}

核心思想

  • 每個節點不定時地將自己的DV估計發送給其鄰居
  • 當鄰居收到鄰居新的DV估計是,利用B-F方程更新自身的距離向量估計

異步迭代:引發每次局部迭代的因素有,局部鏈路費用改變、來自鄰居的DV更新
分佈式:每個節點僅當DV變化時才通告給鄰居![]無窮計數問題

  • 毒性逆轉
  • 定義最大跳步數

層次路由

  • 聚合路由器爲一個區域網:自治系統 AS ( autonomous systems )
  • 同一AS內的路由器運行相同的路由協議(算法)
  • 網關路由器
    • 位於AS邊緣
    • 通過鏈路連接其他AS

熱土豆路由:將分組轉發給最近的網關路由器

AS內部路由協議

  • 路由信息協議:RIP
  • 開放最短路徑優先:OSPF
  • 內部網關路由協議:IGRP

RIP

  • 距離向量路由算法
  • 距離度量:跳步數
  • 每隔30秒,鄰居之間交換一次DV,成爲通告
  • 每次通告,最多25個子網地址
  • 毒性逆轉,無窮大距離 = 16跳
  • 路由表的處理
    • 應用層實現
    • 通告報文週期性地通過UDP數據報發送

OSPF

  • 開放:公衆可用
  • 採用鏈路狀態路由算法,利用Dijkstra算法計算
  • OSPF報文直接封裝到IP數據報
  • 類似:IS-IS路由協議
  • 安全:所有對OSPF報文可以被認證
  • 允許使用多條費用相同的路徑
  • 對於每條鏈路,可以針對不同的TOS設置多個不同的費用度量
  • 集成單播路由與多播路由
  • 支持對大規模AS分層
    • 兩級分層:局部區、主幹區
    • 區邊界路由器
    • 主幹路由器
    • AS邊界路由器

AS間路由協議

BGP:邊界網關協議
  • 事實上的標準域間路由協議
  • eBGP:從鄰居AS獲取子網可達性信息
  • iBGP:向所有的AS內部路由器傳播子網可達性信息
  • BGP會話:兩個BGP路由器交換BGP報文
    • 通告去往不同目的前綴的路徑
    • 報文交換基於半永久的TCP連接
    • 通告的前綴信息包括BGP屬性
      • AS-PATH:包含前綴通告所經過的AS序列
      • NEXT-HOP:開始一個AS-PATH的路由器接口,指向下一個AS

BGP路由選擇:網關路由器收到路由通告後,利用輸入策略決策接受/拒絕該路由通告

選擇的準則

  • 本地偏好值屬性:策略決策
  • 最短AS-PATH
  • 最近NEXT-HOP路由器:熱土豆路由
  • 附加準則

採用不同AS內與AS間路由協議的原因

  • 策略
    inter-AS:希望能夠管理控制流量如何被路由,誰路由經過其網絡等
    intra-AS:單一管理,無需路由決策
  • 規模
    層次路由節省路由表大小,減少路由更新流量
    適應大規模互聯網
  • 性能
    inter-AS:策略主導
    intra-AS:側重性能
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章