實際Internet應用的就是層次化路由選擇。
如題:2018年4月
分析:關鍵在於理解DV還有LS,DV是只需要知道相鄰結點的最短路徑,而鏈路狀態LS需要遍歷每個結點整理出整個網絡系統消費,從而求出最短路徑。
自治系統內路由選擇協議稱爲內部網關協議IGP(Interior Gateway Protocol)
自治系統間路由選擇協議稱爲外部網關協議EGP(Exterior Gateway Protocol).
典型IGP路由選擇協議:
IRP(路由信息協議)根據跳數更新路由信息,並通知給相鄰的路由器,基於DV(距離向量路由選擇算法)。這個是路由器應用程序進程所實現的,通過傳輸層UDP封裝報文並傳輸。適用於較小規模的AS.
注:IRP仍是網絡層協議,事實上網絡的分層是依據功能劃分的,IRP仍是完成的網絡層的功能。
OSPF(開放最短路徑優先協議):基於鏈路狀態路由選擇算法,更多應用較大規模AS,所以在Internet上應用廣泛.OSPF的思想是隻關心在給定的結點、邊和邊的權值的集合下,如何求最短路徑。大規模自治系統內進一步路由分層。如下圖:
OSPF報文,直接封裝進IP數據報中進行傳輸。
典型的EGP協議:
BGP(邊界網關協議),目前版本爲BGP4.
BGP報文:
①OPEN: 與peer建立TCP連接,並認證發送方
②UPDATE: 通告新路徑 (或撤銷原路徑)
③KEEPALIVE: 在無UPDATE時,保活連接;也用於對OPEN請求的確認
④NOTIFICATION: 報告先前報文的差錯;也被用於關閉連接
跨越兩個AS的BGP會話稱爲外部BGP (eBGP) 會話(external BGP session)
在同一個AS中的兩臺路由器之間的BGP會話稱爲內部BGP (iBGP) 會話(internal BGP session) 。
BGP是通過前綴傳送可傳性信息的。前綴的兩個重要屬性:
兩個重要屬性:
AS-PATH(AS路徑)包含前綴通告所經過的AS序列
NEXT-HOP(下一跳)開始一個AS-PATH的路由器接口,指向下一跳AS。可能從當前AS到下一跳AS存在多條鏈路,NEXT-HOP指明瞭走哪一條。
如下圖:
路由器可能獲知到達某目的AS的多條路由,基於以下準則選擇:
1. 本地偏好(preference)值屬性: 策略決策(policy
decision)
2. 最短AS-PATH
3. 最近NEXT-HOP路由器: 熱土豆路由(hot potato routing)
4. 附加準則
如下例子:
A,B,C是提供商網絡/AS(provider network/AS)
X,W,Y是客戶網絡(customer network/AS)
W,Y是樁網絡(stub network/AS): 只與一個其他AS相連
X是雙宿網絡(dual-homed network/AS): 連接兩個其他AS
X不期望經過他路由B到C的流量,因此,X不會向B通告任何一條到達C的路由
A向B通告一條路徑:AW
B向X通告路徑:BAW
B不會向C通告路徑BAW:因爲W和C均不是B的客戶,B路由CBAW的流量沒有任何“收益”,B期望強制C通過A向W路由流量、自己只路由去往/來自其客戶的流量!
綜上,採用不同的AS內與AS間路由協議的原因:
- 策略(policy):
inter-AS: 期望能夠管理控制流量如何被路由,誰路由經過其網絡等
intra-AS: 單一管理,無需策略決策
- 規模(scale):
層次路由節省路由表大小,減少路由更新流量
適應大規模互聯網
- 性能(performance):
intra-AS: 側重性能
inter-AS: 策略主導
BGP也是應用層進程實現,報文使用傳輸層TCP。