1. 程式人生 > >計算機網路:網路層——資料平面

計算機網路:網路層——資料平面

概述

兩種重要的網路層功能:轉發和路由選擇。(forwarding and routing)

  • 資料層面(Data plane)
    • local, per-router function
    • determines how datagram arriving on router input port is forwarded to router output port
    • forwarding function
  • 控制層面(Control plane)
    • network-wide logic
    • determines how datagram is routed among routers along end-end path from source host to destination host
    • two control-plane approaches:
      1. traditional routing algorithms: implemented in routers
      2. software-defined networking (SDN): implemented in (remote) servers

網路服務模型:

  • 傳遞一個分組:
    • 確保交付。
    • 具有時延上界的確保交付。
  • 傳遞分組流:
    • 有序分組交付。
    • 確保最小頻寬
    • 確保最大時延抖動。
    • 安全性服務。

僅在網路層提供連線服務的計算機網路稱為虛電路(Virtual-Circuit, VC)網路;僅在網路層提供無連線服務的計算機網路稱為資料報網路(datagram network)

路由器工作原理

路由器的四個組成部分:

  • 輸入埠
  • 交換結構
  • 輸出埠
  • 路由選擇處理器

輸入埠

線路段接->資料鏈路層協議處理->查詢、轉發、排隊->交換結構

  • destination-based forwarding: forward based only on destination IP address (traditional).
    • forwarding table: Destination Address Range->Link Interface.
    • Longest prefix matching.
  • generalized forwarding: forward based on any set of header field values.

交換結構

  • 經記憶體交換
  • 經匯流排交換
  • 經網際網路絡交換(縱橫式交換機)

輸出埠

交換結構->排隊、快取管理->資料鏈路層協議封裝->線路端接

快取長度

快取數量 (B) 應當等於平均往返時延(RTT)乘以鏈路的容量©,即 B = RTT·C

當有大量的 TCP 流 (N) 流過一條鏈路時,B = RTT·C√N

排程機制

  • 先進先出,FIFO
  • 優先順序排程
  • Round Robin (RR) scheduling
  • Weighted Fair Queuing (WFQ)
  • 隨機早期檢測,RED

網路協議:IP

網路層的三個重要元件:

  • IP 協議,IP Protocol
  • 路由選擇部分,Routing Protocol
  • 網路層差錯和資訊報告的協議,ICMP Protocol

資料報格式

可變的首部,一般為20位元組(不包含選項)。

在這裡插入圖片描述

IPv4 編址

  • 子網(subnet)
  • 無類別域間路由選擇(Classless Interdomain Routing, CIDR)
  • 地址聚合(address aggregation)或路由聚合( route aggregation)

獲取 IP 地址:動態主機配置協議(Dynamic Host Configuration, DHCP),即插即用協議(plug-and- play protocol)

  • DHCP 伺服器發現(255.255.255.255)
  • DHCP 伺服器提供(255.255.255.255)
    • IP 地址
    • 預設路由器
    • 預設 DNS 伺服器
    • 網路掩碼
  • DHCP 請求
  • DHCP ACK

網路地址轉換(Network Address Translation, NAT):使用 NAT 轉換表( NAT translation table),將 LAN 中不同 IP 地址轉換為 WAN 中同一 IP 的不同埠號。但是 NAT 協議違反了端到端的原則,阻礙了 P2P 應用,可以使用NAT 穿越

IPv6

IPv6 資料報格式,有固定的40位元組的首部

在這裡插入圖片描述

IPv6 中移除了 IPv4 的欄位:

  • 分片/重新組裝:只在源與目的地上執行,簡化路由器,加快了網路中的 IP 轉發速度。
  • 首部檢驗和:依靠運輸層和資料鏈路層的檢驗操作。
  • 選項:下一個首部可以為選項地址也可以為鏈路層協議地址。

IPv4 到 IPv6 的遷移

  • 雙棧
  • 建隧道(使用 IPv4 資料報包裹 IPv6 資料報)

廣義轉發和 SDN

流程表(flow table)

  • Pattern: match values in packet header fields.
  • Actions: for matched packet: drop, forward, modify, matched packet or send matched packet to controller.
  • Priority: disambiguate overlapping patterns.(消除歧義)
  • Counters: #bytes or #packets.

可以被用在:

  • 路由器
    • match: longest destination IP prefix.
    • action: forward out a link.
  • 交換機
    • match: destination MAC address.
    • action: forward or flood.
  • 防火牆
    • match: IP addresses and TCP/UDP port numbers.
    • action: permit or deny.
  • NAT
    • match: IP address and port.
    • action: rewrite address and port.