基于路徑標識的多路徑域間路由的開發與實現
摘要:針對現有網絡架構中路由擴展性方面的問題日益嚴重,目前提出一種基于路徑標識的多路徑域間路由方案,可提高域間路由可擴展性和可靠性,但該研究只停留在理論階段。現對基于路徑標識的多路徑路由協議進行了開發與實現,針對域間路由協議BGP的控制層和基于Linu x內核的轉發層進行了具體模塊的結構分析和開發,并進行了功能性測試。結果顯示,開發系統可以實現路徑標識路由和多路徑路由的功能。
關鍵詞:多路徑;路徑標識;BGP;內核協議棧
0 引言
近些年來,互聯網得到迅猛的發展,中國網民規模已經突破4.2億,然而,作為其基礎支持的路由系統卻面臨著極大的挑戰。路由條目急劇增加,嚴重地消耗了路由器的計算資源,同時網絡阻塞、擁擠、攻擊等也會引起網絡的失效或不穩定,它們都在很大程度上影響互聯網的性能。
一體化網絡網的提出,可以有效地解決上述問題。一體化網絡是一種新的基于身份位置分離思想的網絡體系架。一體化網絡體系模型與理論提出接入標識、交換路由標識及其映射理論,建立廣義交換路由的概念與機制,在支持安全和移動的基礎上實現網絡一體化。
延續一體化網絡的設計思想,本文實現了一種基于路徑標識的多路徑域間路由方案。
1 研究背景
針對核心網域問路由,傳統網絡主要存在可擴展性和可靠性兩方面的問題。路由可擴展性主要關注于轉發表(FIB)的大小和路由更新的頻率。網絡用戶的劇增、流量工程、策略路由等技術的應用,導致路由前綴不可聚合,使得路由條目呈非線性增長,是限制路由可擴展性的主要原因;路由可靠性主要關注于網絡拓撲改變時,路由協議能否快速收斂,提供持續通信的能力。現有域間路由協議BGP只提供一條最佳路由,在路徑失效時,需要等待下次收斂才能繼續通信,而且域間路由更新的頻率十分高,使得收斂時間長達幾分鐘至十幾分鐘,是降低路由可靠性的幾點原因。
針對上述兩個問題,在一體化網絡中采用了域內與域問路由相分離,核心網和接入網路由相分離的多路徑域間路由方案。核心網域內采用本地標識進行路由,域間采用自治域號(AS)進行路由,保證路由條目的穩定和緩慢增長,提高了路由可擴展性。同時域問路由引入路徑標識(PID)標識多條轉發路徑,在原先的路徑失效時可以快速地切換到其他路徑,保證了路由的可靠性。
2 基于路徑標識的多路徑域間路由方案的設計
多路徑路域間路由方案主要分為控制層和轉發層兩部分,其中控制層基于目前經典的域間路由協議(BGP),主要實現路由的發現、通告和更新。轉發層基于Linux內核協議棧,主要實現通告路由的數據包封裝解封和轉發以及鏈路失效時的快速收斂。
2.1 控制層的設計
邊界網關路由協議(BGP)是目前主流的域間路由協議,它是一種路徑向量協議,在AS之間傳遞網絡可達性,并且可以通過檢查AS_PATH屬性來避免環路。多路徑路由方案在域間采用AS號路由,為了標識多條路徑引入了路徑標識(PID)和下一跳路徑標識(NEXT_PID),從而可以在AS之間通告多條路徑。其中PID為從源AS到目的AS之間順次經過的所有AS號的哈希值,而N]EXT_PID為此路徑下一跳AS到目的AS之間所有AS號的哈希值。
基于圖1的拓撲圖,分析AS 100和AS 200之間傳遞的UPDATE包的NRLI信息,其基本通信流程為:
(1)首先AS100和AS200分別計算本地的AS號生成本地路由信息,并且在建立鄰居關系以后直接發送給對等體路由器。如AS100就將100,HASH(100),HASH(100)>發送給AS 200。
(2)AS 100和AS 200在收到AS 300通告的路由后,會在鄰居關系建立后,將收到AS 300的路由的PID替換為NEXT_PID,將本地AS號加入路徑屬性中,重新計算PID,然后傳遞給對等體路由器。如AS 100將300,HASH(100,300),HASH(300)>發送給AS200。
(3)在下次通告時,AS100和AS200獲得了到達對端路由器的信息,及時地通告給對等體路由器,如AS100將200,HASH(100,300,200)>發送給AS200,這時AS200就知道了兩條可以到達AS200的路徑,實現了簡單的多路徑。
評論