多種數據流量控制方法
網絡是信息化建設的一個基礎平臺,成功的信息化離不開一個好的網絡。
在人們的眼中,對“好網絡”往往有幾個基本標準,那就是看它能否在為企業提供辦公數據、語音、視訊業務綜合傳輸的同時,保證視頻會議等關鍵業務的服務質量;能否體現出高可靠性,設備和鏈路都不存在單點故障;能否實現良好的可擴展性,并隨著業務的不斷擴展,網絡可以實現平滑擴展;能否方便地實施運維管理,盡量采用簡便、成熟的技術,方便大多數技術人員維護。
數據流量不均,管理捉襟見肘
但是,還有一點是非常重要的,那就是看它能否為避免資源浪費和保證關鍵業務的服務質量,使數據流量在廣域網鏈路中實現負載分擔,并且能夠讓網絡專線承載某些業務。這一點更加重要,往往在網絡規劃和實施過程中,不被人們所關注,以至在對網絡的運維管理中顯得捉襟見肘。
一般的大型企業網絡,通常會有總部、區域中心和地區公司三級之分。企業網絡的總部,通常會設置在企業的總部,下屬若干個區域中心,各個區域中心下連若干家不等的地區公司,形成一個三級樹狀冗余網絡拓撲結構。
在網絡連接方式上,往往會有這樣一種做法:總部路由器分別通過不同運營商的不同帶寬專線連接到區域核心,區域核心路由器同樣通過不同運營商公司專線連接各地區公司。如圖1所示,假設電信運營商分別為A和B,總部到區域中心采用電信運營商A的20M專線,采用電信運營商B的10M專線;區域核心同樣采用兩家電信運營商專線以4M~8M不等的帶寬連接各地區公司。
由于從地區公司到企業總部都有業務流量,電信運營商A和B專線網絡需要同時分擔業務流量,并且互為備份。專線A承載ERP、Web等流量比較大,但是時延不敏感業務;專線B承載視頻、語音等流量不是很大,但對時延要求比較敏感的業務,要求上下流量對稱,如圖2所示。
對于網絡流量控制方式可以有多種選擇,但是流量工程、策略路由、修正后的IGP(內部網關協議)和BGP(邊界網關協議)是在網絡實施中,幾種常見的方式。
圖1 大型企業三級樹狀冗余網絡拓撲結構圖
“可控的交通系統”
流量工程指的是在復雜的網絡環境中,控制不同的業務流走不同的路徑,關鍵的業務走可靠的路徑并保證服務質量,并且在某段網絡擁塞的情況下,動態調整路由,整個網絡如同一個“可控的城市交通系統”。
流量工程理念在上世紀90年代末提出,最初起源于互聯網。其原理是在MPLS環境中,充分利用標簽交換系統來為不同的業務流著色,通過LDP來傳遞LSP中間鏈路網絡狀態,不同顏色的業務流,根據不同的網絡中間狀態,動態地在網絡中間傳遞,并且LSP能夠傳遞RSVP網絡控制信令,因此可以實現端到端的QoS或Diff-Service服務。
應該說,流量工程早就該進入主流應用階段了。但可惜的是,國內電信部門互聯網采用流量工程的寥寥無幾,行業和企業網中應用更是一片空白。究其原因,實際網絡環境達不到其要求的理想環境,實施復雜。#p#
策略路由力不從心
在大型企業中,應用系統眾多,包括ERP、CRM、視頻、Web瀏覽、E-mail收發、語音等,對于廣域網的兩條鏈路,如果不想讓OSPF或ISIS選路時只確定一條路由,而使另外一條路由空閑,可以采用策略路由將部分業務分流到一條廣域網專線上,再將另外一些業務分流到另外一條廣域網專線上。
策略路由實現方案是在總部核心路由器A、B局域網端口、區域中心核心路由器C、D局域網端口、地區公司路由器E、F局域網端口設置策略路由,指定某些業務網段流量上行時經過哪些鏈路,在主鏈路故障的情況下,路由會自動迂回到另外一條鏈路。
策略路由控制流量靈活方便,但需要從地區公司接入路由器、區域中心、核心路由器都進行配置,分別根據不同的業務流進行控制,實施配置工作量大,誤操作可能會出現環路,對于MSTP專線,不能感知遠端鏈路狀態故障,可操作性不強。
對于大型企業網絡來講,策略路由顯然力不從心。
IGP“修正主義”
IGP(內部網關協議)處于主流應用的OSPF/ISIS,只能選擇一條算法最優的路由,并不能感知到路由中某段網絡是否擁塞。也就是說,在冗余網絡結構中,即使有一條高帶寬的路由已經很擁塞,而另一條次優的路徑還處于空閑狀態,要實現流量在不同鏈路負載均衡,需要從某節點路由器到某網段有多條等值路由,然后路由器采用逐包或逐流方式,將流量在不同路由上進行負載分擔。
具體而言,由于區域中心同總部核心間分別采用20M和10M帶寬路由,因此IGP本身無法解決流量負載分擔問題。
IGP的缺陷固然有其歷史原因,就如IPv4有很多不足之處一樣。但是,后來人們沒有忘記思考和創新,糾正其缺點,不斷完善之,使之能夠感知到鏈路擁塞狀態,作為其功能的擴展。
BGP優選“10條路”
BGP(邊界網關協議)是從互聯網中歷練出來的老江湖,原來是專門用來為大型網絡自治域之間選路用的。
在Internet上BGP的功能是將全球范圍的互聯網切分成很多個自治域,各自治域內存在域內細節路由,為了減少路由數量,域間傳遞域內聚合后的粗塊路由,域間會存在復雜冗余連接,因此如何控制域間路由負載分擔和流量對稱,成為BGP需要解決的問題。
那么,BGP選路的原則是什么呢?它有“10條路”可優選:首先丟棄下一跳不可達的路由;優選最大衡重的路由;優選最高本地優先級的路由;優選本路由器始發的路由;優選經過AS(AS-path)最少的路由;優選起點類型最低的路由;優選MED值最低的路由;優選從外部BGP學來的路由;優選AS內部最短路徑可到達的路由;優選BGP ID最低路由器發布的路由。
在大型企業里,為了提高路由的穩定性,減少路由震蕩,采用BGP承載用戶路由,整個企業網匯聚層以上路由器都運行BGP協議,BGP和IGP是分不開的。IGP負責承載AS內部路由器回環和端口鏈路網段路由,確保BGP路由中下一跳屬性的可達性。
BGP控制路由的特點是在地區公司路由器上,在業務路由引入到BGP當初,設置某些業務網段的BGP本地優先級較高,另外一些業務網段本地優先級較低。由于地區公司設置兩臺路由器,在另外一臺路由器上設置業務網段本地優先級恰好相反,以此來達到流量在地區公司和區域核心之間負載分擔并且互為備份。#p#
單域好?還是多域好?
對于區域核心和總部核心之間路由控制,有單域和多域之分。
就單域來講,對于總部和區域屬于同一個自治域情況,需要根據不同的業務網段路由,設置不同的本地優先級。為了有效地識別不同業務網段,需要通過BGP標記屬性來區分,而非具體網段路由。因此在地區公司將路由引入到BGP時,同時設置社區屬性,不同的社區屬性表示不同的業務網段。
就多域來講,總部核心路由器和區域核心路由器之間屬于等值的外部BGP,本地優先級屬性值不會傳給等值的外部BGP,但社區值回傳遞到相鄰AS,因此總部到區域的下行路由,可以根據不同的社區屬性在總部AS內設置不同本地優先級,以此來達到控制路由的目的。
單域或多域BGP實現流量控制方案各有所長。單域實施運維比較簡單,但路由策略控制需要RR逐級改變下一跳,相對于多域顯得比較復雜,因此適合于網絡規模不是很大,路由策略要求不多場合。多域方案控制靈活方便,擴展性強,但運維略顯復雜,因此適合在網絡規模很大,策略要求較多的場合。
路由策略具體實現方案,根據具體情況而定,沒有嚴格的方案,最適合的是最好的。另外,除采用BGP策略外,還可以結合IGP來實現,IGP負責BGP下一跳回環地址可達,如果廣域網帶寬等值,并且不嚴格要求路由走向的前提下,可以通過IGP選路來自動實現流量負載分擔。
【編輯推薦】