這篇文章講述了新的數據包轉發機制和它能否成為OpenFlow的替代品。
IP包轉發技術傳統上依賴于能以最短路徑到達目的地的IP地址。但由于不同路徑上流量的類型不盡相同,因此它往往取決于不同的應用類型。例如,實時的UC&C應用程序通常更喜歡低延時,低抖動的路徑,而大數據應用則更喜歡低丟包率的高帶寬通道。根據應用的需要將流量進行分段管理是非常有用的。然而,策略路由很難去搭建,而且它是靜態的(或者接近動態的,如果你有優秀的自動化工具)。
多個應用程序之間需要同一級別的服務也需要使用策略路由。問題是,這些應用程序獲取帶寬時,通信類帶寬的分配是滿了的嗎?如何讓網絡告訴應用程序,在沒有帶寬的情況下還能知道所需的流量類別?這就是為什么我們需要軟件定義網絡(SDN)的原因,因為它讓應用程序或策略管理器來進行流量轉發。OpenFlow技術有能力使其應用政策變得動態化,現在,一個相對較新的技術提供了另一種方法:分段路由(SR)。
什么是分段路由?
SR(分段路由)是SDN技術的分組轉發機制,是用來替代OpenFlow的。SR是由思科提出來的,并已通過IETF標準化認證。一些廠商正在部署這項技術,有一些客戶也正在使用它。
經驗豐富的網絡專業人員團隊已經開始密切關注SR。你可以在互聯網上找到大量有關SR的文件,但我發現有些資料漏掉了一些重要的細節(如每個路由器/節點的分配標簽)。下面是有關SR的一些較好的、詳細的背景資料:
· 思科軟件戰略(可觀看思科高級副總裁與Sumeet Arora的20分鐘對話)
· SR概述(可觀看思科研究員Clarence Filfils12分鐘的技術簡報)
· 分段路由101(可觀看IPSpace.net播客)
SR使用路徑標簽機制(多協議標簽交換,或者MPLS,或是在IPv4或IPv6中的路徑包頭的標簽)來指定路由數據包必須通過的網絡路徑。數據包必須通過在標簽路徑中的每個節點,但也有可能會通過其他中間節點,這使得它的功能非常類似于IPv4的松散源路由機制。松散源路由機制減少了路由數據包到其希望高達的的目的地所需的標簽數量,網絡沿著標簽列表中節點之間的最短路徑轉發數據包。
和MPLS不一樣,每個路由器是一個節點,SR在每一個節點上分配固定的、32位的標簽(用于開發和分配,而不訴諸到正在進行維護標簽機制工作的電子表格中)。標簽是固定的,不是動態的,類似于在 MPLS的3層VPN,能使故障排除更加容易。標簽和拓撲信息通過三種路由協議(中間系統到中間系統;開放最短路徑優先;邊界網關協議)中的一種,延伸傳播至整個網絡中。SR不需要標簽分發協議,從而消除了路由協議和標簽分發協議之間需要同步的障礙。
像PCE(路徑計算元件)這樣的外部系統,應用了SR后,可以定義路徑。一個PCE能夠創建不共享拓撲或從批量數據流中分離出來的實時UC&C流量路徑。PCE與路由協議交互以獲得拓撲和其它信息,用于確定添加到數據包的標簽組。其結果是,在一個SR系統上既包含了運行在控制平面上用于收集拓撲信息的路由器,也包含了在PCE上運行的使用該拓撲信息來計算不同應用路徑的路由協議。
當PCE確定某個flow應該經過所有路徑而非最短路徑時,它會發送一個標簽堆棧條目到該flow的入口路由器,其他路由器無需接收來自PCE的任何信息,就編程轉發協議來說,SR已是非常高效的了。
SR和OpenFlow有何不同?
OpenFlow必須加載沿著源頭到目的地的路徑進入控制器開關的轉發表項,SR與僅在入口路由器插入MPLS包頭的松散源路由是不同的,它是在PCE上定義編碼轉發路徑的。SR程序和MPLS標簽棧為每個flow提供該flow的入口路由器路徑,而不是讓flow通過同一條路徑到達所有交換機入口。
另一個區別是,一個OpenFlow控制器從所有的交換機/路由器收集相鄰關系信息,并使用該信息來做出轉發決定。而SR PCE依靠路由協議進行拓撲信息收集和標簽傳播。SR機制使用在硬件上運行的路由協議,有可能使得這些協議的新版本更難以部署,難度水平取決于系統架構。
有一個替代選擇,這是好事
當我看到SR能提供類似于SDN的功能時,我覺得它是替代OpenFlow的第一選擇。SR需要更多的開發,以便它能達到像一些OpenFlow產品具有的雙向應用的能力。另外,更積極的的一面是,把flow引向多個網絡設備,SR看起來可能比OpenFlow機制更為有效。
正如任何新技術一樣,它將需要幾年時間去完善整個系統。網絡IT人員也將需要對這項新技術有一個更好的理解,了解其如何才能實現最佳部署。