OSPF支持Hub-And-Spoke組網技術白皮書
關 鍵 詞:OSPF、Hub-And-Spoke
摘 要:Hub-And-Spoke組網是一種典型的網絡扁平化組網方案。本文描述了為了使OSPF協議能夠更好地支持Hub-And-Spoke組網,H3C對OSPF協議進行的一係列優化。
縮略語:
縮略語 | 英文全名 | 中文解釋 |
DD | Database Description | 數據庫描述報文 |
LSR | Link State Request Packet | 鏈路狀態請求報文 |
LSU | Link State Update Packet | 鏈路狀態更新報文 |
LSAck | Link State Acknowledgment Packet | 鏈路狀態確認報文 |
LSA | Link State Advertisement | 鏈路狀態通告 |
LSDB | Link State Database | 鏈路狀態數據庫 |
OSPF | Open Shortest Path First | 開放最短路徑優先 |
目前部分行業的組網應用開始出現網絡扁平化趨勢,Hub-And-Spoke組網就是一種典型的扁平化組網方式。
圖1 Hub-And-Spoke組網示意圖
和傳統的“核心層+彙聚層+接入層”組網相比,Hub-And-Spoke組網省略了彙聚層,核心層設備(Hub設備)直接和多個接入層設備(Spoke設備)相連,如圖1所示。這樣可以減少中間層網絡設備數量,簡化網絡管理和方便網絡維護。
另外,此組網還具有高擴展性的特點,在今後網絡規模擴大時隻需要把核心層下移作為彙聚層,同時增加新的核心層設備即可實現完整的三層體係結構,原有的網絡配置可以最大限度得到保留,實現網絡平滑擴容。
在Hub-And-Spoke這種組網中使用OSPF協議進行路由時,通常將Hub設備與所有Spoke設備規劃在同一個OSPF區域內,讓Hub設備與所有Spoke設備之間維持OSPF鄰居關係。此時,Hub設備鄰居數量眾多,會出現下麵的問題:
l 如何保證鄰居關係能夠穩定維持
能夠建立並維持穩定的OSPF鄰居關係,這是協議工作的基礎。如果Hub設備Hello報文接收和處理不及時,則在Spoke設備上會有鄰居超時,需要重新建立鄰居關係。
l 如何保證網絡穩定所需時間盡量短
Hub設備鄰居數量眾多,網絡收斂達到穩定需要時間比較長。這就要求Hub設備能夠用盡量短的時間建立數量眾多的鄰居,並把變化的路由信息盡快通告給所有的鄰居。
l 如何保證不影響其它業務的開展
Hub設備在支持大量OSPF鄰居的情況下,還需要運行一些其它業務,比如其它路由協議等,不能因為OSPF消耗大量係統資源而影響其它業務的運行。
針對上麵的問題,H3C對OSPF進行了優化,使之可以有效支持Hub-And-Spoke組網:
l 優先接收和處理Hello報文
l 限製並發建立鄰居數目
l 保證報文平緩發送
l 控製LSA的生成
l 控製進行SPF計算的時間間隔
l 大幅度提高了OSPF支持的鄰居數目,並提高了鄰居建立以及LSDB同步的效率,合理使用係統資源。
l 隻需要在Hub設備進行配置,實現簡單、方便維護。
l Hub設備:是Hub-And-Spoke組網中的中心設備,與數量眾多的Spoke設備相連。除了支持OSPF基本功能保證網絡層互通外,需要進行針對Hub-And-Spoke組網的處理。
l Spoke設備:是Hub-And-Spoke組網中的邊緣設備,與用戶網絡相連。隻需要支持OSPF基本功能保證網絡層互通。
設備配置了OSPF優先接收和處理Hello報文功能後,會優先接收Hello報文,這樣就避免了同其它報文競爭係統資源,不受其它類型OSPF協議報文和其它協議(比如BGP、IS-IS等)報文的影響。OSPF協議也會優先處理Hello報文,使得Hello報文能夠得到最大限度的及時處理,優先維持鄰居關係。
鄰居建立過程中,處於Exchange或Loading狀態的鄰居需要交互DD、LSR、LSU、LSAck等大量報文,如果並發建立的鄰居數很多,這時交互報文數量非常多,而係統資源是有限的,會導致大量報文被丟棄或不能及時處理。
H3C對OSPF協議進行優化,對處於Exchange和Loading狀態的鄰居數目進行限製。如果總數超過限製值,則不再允許新鄰居狀態向上進入到這兩個狀態,暫時將這些鄰居狀態停留在Exstart。當總數恢複到限製值以下時,才繼續允許鄰居進入這兩個狀態。這樣可以減少交互報文數量、減少丟失及重傳報文數,使得鄰居快速地分批達到Full狀態,建立一批穩定一批。
在Hub-And-Spoke組網中,每個Spoke設備的鏈路狀態信息都要借助Hub設備通告給其它Spoke設備。此外,Hub設備的鏈路狀態信息也要通告給所有Spoke設備,當Spoke設備很多時,由於鄰居狀態改變、定期刷新LSA或者路由震蕩引起的Hub設備需要發送的報文量非常大,並且這些報文是並發發送,遠遠超過係統的處理能力,影響鄰居建立的數量和效率,另外還會影響到其它業務的運行。
為了解決上麵的問題,H3C實現了報文平緩發送功能,通過配置來降低每個接口LSU報文的發送速率,從而減輕對係統資源的消耗,避免一些無謂的重傳,提高鄰居建立的數量和效率,並使得多業務可以順利開展。
OSPF的Router LSA用來描述設備在區域內的接口、鄰居等信息,每個區域隻能有一個,它的長度與接口、鄰居的個數成正比。當接口、鄰居很多時生成的Router LSA長度很大。當每個鄰居狀態到Full時,都會引起Router LSA改變,就需要向每個鄰居發送。而且這個LSA是隨著鄰居建立不斷變化的,直到最終鄰居狀態全部達到Full才穩定下來。如果不加以限製,大量的處理時間被用來向鄰居發送屬於中間過程的Router LSA,浪費了係統資源,影響鄰居建立的數量和效率。
通過命令行配置,係統就可以根據網絡拓撲變化的頻繁程度自動調節LSA生成時間間隔。LSA生成時間間隔在指定的最小時間間隔和最大時間間隔之間變化,變化的規律為“懲罰增量”按照二的冪次遞增,即隨著LSA反複生成的次數增多,其生成間隔就會越大,直到到達“最大間隔”為止。當時間間隔連續三次達到最大,則下一次的時間間隔又會被重置為最小時間間隔,開始新一輪的懲罰抑製功能。在Hub-And-Spoke組網中,當Hub設備和Spoke設備開始建立鄰居時,LSA生成的次數不斷增多,這個時候LSA生成時間間隔會逐步變大,這樣可以減少鄰居建立過程中的報文數量;當鄰居都已成功建立達到穩定後,LSA生成的次數比較穩定,LSA的生成時間間隔就會保持在最小時間間隔,使路由信息的交互更快捷。
當LSDB發生改變時,需要通過SPF算法重新計算最短路徑。對於Hub-And-Spoke這種有大量鄰居的組網情況,如果頻繁進行SPF計算,將會占用大量係統資源,Hub設備將不能及時處理Spoke設備發送的大量報文,從而使大量報文超時需要重傳,而重傳報文還是得不到及時處理會被丟棄,從而不得不依靠新一輪的重傳。
通過命令行配置,係統就可以根據網絡拓撲變化的頻繁程度自動調節SPF計算的時間間隔。SPF計算的時間間隔在指定的最小時間間隔和最大時間間隔之間變化,變化的規律為“懲罰增量”按照二的冪次遞增,即隨著SPF計算次數不斷增多,其計算間隔就會越大,直到到達“最大間隔”為止。當時間間隔連續三次達到最大,則下一次的時間間隔又會被重置為最小時間間隔,開始新一輪的懲罰抑製功能。在Hub-And-Spoke組網中,當SPF計算的次數不斷增多時(比如Hub設備和眾多Spoke設備開始建立鄰居關係),SPF計算的時間間隔會逐步變大,這樣可以使Hub設備能夠及時處理Spoke設備發送的報文;當網絡趨於穩定後,SPF計算的時間間隔就會保持在最小時間間隔,一旦LSDB發生變化立刻進行SPF計算,更新路由信息。
l RFC 2328:OSPF Version 2
l RFC 4222:Prioritized Treatment of Specific OSPF Version 2 Packets and Congestion Avoidance
OSPF支持Hub-And-Spoke組網典型配置舉例
Copyright ©2009 杭州華三通信技術有限公司 版權所有,保留一切權利。
非經本公司書麵許可,任何單位和個人不得擅自摘抄、複製本文檔內容的部分或全部,並不得以任何形式傳播。
本文檔中的信息可能變動,恕不另行通知。