計算機網路:網路層——控制平面
路由選擇演算法
- 分類1:
- 全域性式路由選擇演算法:LS
- 分散式路由選擇演算法:DV
- 分類2:
- 靜態路由選擇演算法
- 動態路由選擇演算法
- 分類3
- 負載敏感演算法
- 負載遲鈍演算法:RIP,OSPF,BGP
鏈路狀態路由選擇演算法,LS
Dijkstra 演算法
1 Initialization:
2 N’ = {u}
3 for all nodes v
4 if v adjacent to u
5 then D(v) = c(u,v)
6 else D(v) = ∞
7
8 Loop
9 find w not in N’ such that D(w) is a minimum
10 add w to N’
11 update D(v) for all v adjacent to w and not in N’ :
12 D(v) = min( D(v), D(w) + c(w,v) )
13 /* new cost to v is either old cost to v or known
14 shortest path cost to w plus cost from w to v */
15 until all nodes in N’
O(n2) algorithm requires O(nE) msgs
距離向量路由選擇演算法,DV
因特網中自治系統內部的路由選擇:OSPF
每個 AS 需要:
- 知道經其他 AS 可達哪些目的地。
- 向 AS 中的所有路由器傳播這些可達性資訊。
- RIP: Routing Information Protocol.
- OSPF: Open Shortest Path First (IS-IS protocol essentially same as OSPF).
- IGRP: Interior Gateway Routing Protocol (Cisco proprietary for decades, until 2016).
因特網中自治系統間的路由選擇:BGP
邊界閘道器協議(Broder Gateway Protocol, BGP)為每個 AS 提供了進行以下工作的手段:
- 從相鄰 AS 處獲得子網可達性資訊。
- 向本 AS 內部的所有路由器傳播這些可達性資訊 。
- 基於可達性資訊和 AS 策略,決定到達子網的“好”路由 。
OSPF 與 BGP 的區別
OSPF是基於鏈路狀況計算路由的;
BGP本身不會去計算路由,只會把其他協議生成的路由拿來用。
一個是生產路由的,一個是玩路由的。OSPF生產的方式很精密,保證無環路,但多業務支撐不行;BGP不生產,只做排程使用,所以業務支撐好,擴充套件屬性讓路由規劃多了很多選擇。
SDN 控制平面
Software defined networking (SDN)
- Data plane switches
- SDN controller (network OS)
- network-control apps
SDN是一種新興的、控制與轉發分離、並直接可程式設計的網路架構。
它的核心理念是,希望應用軟體可以參與對網路的控制管理,滿足上層業務需求,通過自動化業務部署簡化網路運維。
其實說通俗一點,就是把“傳統軟硬體網路”給軟體化、抽象化了。
簡單來說,就是把現在複雜的傳統網路裝置全部對上層應用不可見。上層管理層,只需要像配置軟體程式一樣,對網路進行簡單的部署,就能夠讓網路實現所需要的功能。不再需要和以前一樣,一個一個去配置網路上所有節點的網路裝置。
優點:
- 控制和轉發分離
- SDN控制器進行統一管理
OpenFlow1.0 交換機規範:流表、安全通道和OpenFlow協議。流表負責資料包的高速查詢和轉發;此外交換機還需要通過一個安全通道與外部的控制器進行通訊,這個安全通道上傳輸的是OpenFlow協議,它將負責傳遞控制器和交換機之間的管理和控制資訊。
- OpenFLow 流表項結構:
- OpenFLow 流表項包頭域: