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