計算機網路:網路層——資料平面
阿新 • • 發佈:2018-12-13
概述
兩種重要的網路層功能:轉發和路由選擇。(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:
- traditional routing algorithms: implemented in routers
- 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.