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