SDN世界里的戰爭:SR與Openflow
這兩年,SDN技術不斷在數據中心網絡領域開花結果,成為下一代網絡重要的依托技術。說到SDN,必然要提到OpenFlow,但SDN不等于OpenFlow,SDN與OpenFlow的關系類似于互聯網不等于IP協議,PSTN不等于7號信令,IMS不等于SIP,WEB體系不等于HTTP協議一樣。OpenFlow是SDN中控制器控制轉發設備的協議,SDN圍繞其來建立一系列操作系統、軟件、編譯器、外設框架和實現,所以Openflow是一切SDN網絡暢想的基礎。然而,這個基礎并不牢靠,隨著SDN在數據中心網絡中的不斷應用,Openflow也暴露出了一些使用的局限性,并不適用所有情況,于是SR技術出現了。
SR (Segment Routing)分段路由技術,是一種源路由機制,用于優化IP MPLS的網絡能力,可以使網絡獲得更佳的可擴展性,并以更加簡單的方式提供TE、FRR、MPLS VPN等功能。SR是思科提出來的,并已通過IETF標準化認證。為何SR技術會有成長機會?
這是因為在SDN誕生之初,無一例外都要使用Openflow來實現流量轉發,通過Openflow來控制網絡中的應用流量。然而,Openflow對網絡抽象不夠,網絡核心設備中網絡狀態信息隨著應用數目增長成指數級的增長,無法在廣域網中得到大規模部署。并且Openflow控制的網絡,往往需要控制器控制路徑中的多個關鍵設備,網絡中傳輸點增多,網絡中每個節點均需維護大量的路徑狀態信息,導致運維困難,信令壓力增大,可擴展性差,應用和網絡還離得很遠。SR就體量輕不需要信令協議,支持源路由,靈活天然可以與ECMP等融合。采用SR作為傳輸協議時,SDN控制器僅僅需要跟Ingress PE(MPLS的PE節點)通訊,在源路由器上已通過攜帶多個標簽,定義好了完整路徑信息。網絡核心設備中網絡狀態信息完全跟承載的應用業務無關。采用SR,數據中心可以輕松為百萬級別的應用在源路由器選用不同路徑,同時保持核心設備沒有任何應用狀態。
如此講可能有些復雜,其實SR也使用了類似MPLS的路徑標簽機制,它優化了控制平面。采用IGP/BGP來分發標簽,取消了之前的LDP/RSVP-TE。在源路由器對數據報文進行“編碼”,在報頭中插入有序的Segment列表,用于指示報文的轉發路徑。SR技術簡化了協議,去除復雜的LDP和RSVP-TE協議,對IGP協議進行擴展,用來替代LDP和RSVP-TE協議進行標簽的分發。同時,利用IGP協議的快速重路由機制,支持Ti-LFA的無環備用計算,可以實現全拓撲的鏈路節點保護。SR通過標簽指定路由數據包必須通過的網絡路徑。與MPLS不同的是,SR在每一個節點上分配固定的、32位的標簽。標簽是固定的,不是動態的,類似于MPLS的L3VPN,能使故障排除更加容易,標簽和拓撲信息通過路由協議延伸傳播至整個網絡中。SR不用標簽分發協議,從而消除了路由協議和標簽分發協議之間需要同步的障礙。
這不免讓人想到EVPN技術,這是基于VXLAN的SDN應用技術,SR不是要搶EVPN的飯碗,但的確SR要比EVPN要更優些。首先,VXLAN報文開銷太大,SR加上幾層標簽也比VXLAN小60~70字節;其次是采用相同的MPLS轉發平面,不需要做VXLAN到SR轉換;第三是SR與EVPN可以共存,SR+EVPN可以實現EVPN的Type 2+Type5,L2/L3 IRB同時轉發,對于EVPN,SR是很好的補充,這也是不少數據中心急于引進SR的原因。
OpenFlow必須加載沿著源頭到目的地的路徑進入控制器開關的轉發表項,SR與僅在源路由器插入MPLS包頭的松散源路由不同,SR程序和MPLS標簽為每個流表提供該流的源路由器路徑,而不是讓每個流通過同一條路徑到達所有交換機入口。還有,控制器從所有的交換機/路由器收集相鄰關系信息,并使用該信息來做出轉發決定。控制器有了SR,可以實現靈活的業務調度和動態保護,增強了控制器擴展性。通過SDN控制器對端到端業務集中部署,實現保護路徑分離。當故障發生時,控制器可以借助IGP協議的動態保護,提升網絡的自愈能力,將故障對業務的影響降到最低。
SR技術是一種源路由技術,為SDN而重新設計,操作簡單,擴展性好。既然是源路由技術,就具備了源路由的屬性,要求網絡設備必須按照轉發表中的順序轉發,如果轉發下一跳不在網絡設備直連子網中,那么數據包將被丟棄,源主機將收到源路由失敗ICMP消息,源路由技術對網絡設備的轉發路徑進行檢查。SR技術正是利用了這樣的特點,才記錄了沿路路由信息,完成了網絡拓撲和狀態信息的采集。但這種技術是有安全風險的,有專門的源路由選擇欺騙技術。某些路由器對源路由包的反應是使用其指定的路由,并使用其反向路由來傳送應答數據。這就使一個入侵者可以假冒一個主機的名義通過一個特殊的路徑來獲得某些被保護數據。所以在SDN中部署SR技術,要增加安全防護設備,要防止利用這種機制竊取機密流量的轉發路徑,從而達到攻擊或者竊取機密數據的目的。
如此看來,SR大有替代OpenFlow的趨勢,但從目前的局勢看,SR更多是處于一種理論研究狀態,偶有實際實驗或者部署,在真實的應用網絡中并不多見。SR基于MPLS技術做進一步優化,還是有些過于復雜,并且僅適用于大型的數據中心部署,在小型的數據中心根本沒有必要。小型數據中心沒有那么多應用,在控制器和OpenFlow之間不再需要更多的計算,直接下發一些簡單流表就可以搞定網絡,不需要那樣靈活。MPLS技術也存在很多年了,依然是作為網絡技術的一部分存在,并不適用于所有場合,所以SR技術也是作為SDN的一個有效補充存在,未來SR技術也許會變得越來越重要,要替代OpenFlow還不見得,需要時間來檢驗,而且SR技術不會是SDN的全部。