引言
“天下武功出少林”,各類(lèi)武俠小說(shuō)中,少林寺與“少林派”是出鏡率極高的江湖團體。每一場(chǎng)令人印象深刻的激烈交戰中,總少不了少林僧人及其玄妙武功。在路由這個(gè)大江湖里,共有IGP和BGP兩大門(mén)派�;蛟S我們可以這么說(shuō),BGP應該屬于路由的搬運工,負責在多個(gè)自治系統間進(jìn)行路由的傳遞與交換,可以說(shuō)“網(wǎng)絡(luò )路由出IGP”。IGP絕對算是內功深厚,招數奇多的門(mén)派,它運用復雜的招數和內功產(chǎn)生路由,是路由的源頭,其又細分:OSPF、IS-IS、RIP、IGRP、EIGRP等眾多流派。IGP、BGP兩大門(mén)派和平相處,各司其職,在江湖中相安無(wú)事幾十年。近年來(lái),SDN風(fēng)起云涌,浪潮之下,傳統路由似乎窮途末路,抑或煥發(fā)青春活力?
路由概況
BGP在網(wǎng)絡(luò )中的位置及功能作用,結合極其靈活的可擴展性,在SDN浪潮下,表現出了頑強的生命力,仙福永享,壽與天齊,暫且不表,這里重點(diǎn)說(shuō)說(shuō)IGP。
IGP路由大體上分為鏈路狀態(tài)路由,距離矢量路由兩大類(lèi),其本質(zhì)為Dijkstra算法及Bellman-Ford算法。簡(jiǎn)單整理下目前IGP路由協(xié)議現狀:
傳統基于鏈路狀態(tài)的路由協(xié)議具備適用于大型網(wǎng)絡(luò ),無(wú)跳數限制,收斂快速且天然無(wú)環(huán)等諸多優(yōu)點(diǎn),基本成為事實(shí)上現網(wǎng)應用最多的路由協(xié)議類(lèi)別。值得一提的是應用于無(wú)線(xiàn)MESH領(lǐng)域的OLSR(Optimized Link State Routing)對傳統OSPF、IS-IS鏈路狀態(tài)路由協(xié)議進(jìn)行了大膽創(chuàng )新改造優(yōu)化,通過(guò)MPR(MultiPoint Reply)機制降低報文泛洪量,在大規模網(wǎng)絡(luò )拓撲規模下,優(yōu)化極為明顯,是一款優(yōu)雅的路由協(xié)議。OLSR依托于較少應用場(chǎng)景的無(wú)線(xiàn)MESH組網(wǎng),且無(wú)線(xiàn)MESH網(wǎng)絡(luò )本身有不少替代技術(shù),使得其現網(wǎng)應用較少。尤其隨著(zhù)SDN的興起,可預見(jiàn)OLSR還未興起既已沒(méi)落。
曾有媒體將Dijkstra最短路徑算法,選為統治世界的十大基礎算法之一,確不為過(guò)。沒(méi)有該算法,當今互聯(lián)網(wǎng)將無(wú)法工作。
OSPF、ISIS等路由協(xié)議核心本質(zhì)上均為單源最短路徑算法。而鏈路狀態(tài)全網(wǎng)同步,收集全網(wǎng)拓撲信息,成為協(xié)議的主要差異點(diǎn),體現為鄰居建立及LSDB的同步過(guò)程上,這也是協(xié)議層面必須規范的行為。拋開(kāi)鏈路狀態(tài)同步機制的不同,其核心思想如下:
一旦設備鄰居關(guān)系建立完畢,鏈路狀態(tài)信息同步完成,以當前設備為根進(jìn)行最短路徑計算,生成路由表即可。示例中
生成路由表后,將表項下入硬件轉發(fā)芯片,生成轉發(fā)表,指導硬件高速轉發(fā)。傳統路由交換設備均基于此思路進(jìn)行,衍生的形形色色的數通特性均圍繞其展開(kāi)。
我們可以看到傳統路由原理并不復雜,但OSPF無(wú)疑依舊為迄今為止最復雜的路由協(xié)議,沒(méi)有之一,OSPF協(xié)議標準RFC 2328文檔近300頁(yè)的超長(cháng)篇幅,無(wú)出其右,也足以說(shuō)明這點(diǎn)。以至于圍繞路由領(lǐng)域,衍生了一個(gè)生態(tài),傳統設備商的各種認證如:CCIE、HCIE、H3CIE等,曾成為一個(gè)熱門(mén)職業(yè)。拿到這些認證,尤其CCIE,便意味著(zhù)高薪工作,時(shí)至今日CCIE雖已日薄西山,但依舊余溫猶在�?梢灶A見(jiàn),SDN浪潮下,各種網(wǎng)絡(luò )工程師認證如CCIE等將逐漸降溫。簡(jiǎn)單的路由原理,卻有極為復雜的現實(shí),功能特性層出不窮,帶來(lái)傳統路由設備的永葆活力,是否傳統設備商刻意營(yíng)造的一種技術(shù)門(mén)檻呢?以至于只有那幾家玩得轉。CCIE等認證本質(zhì)難道不是帶動(dòng)路由設備的拋售?IGP + MPLS等各種場(chǎng)景下的應用,配置命令成百上千條,用戶(hù)如何忍受?生態(tài)已成,客戶(hù)無(wú)法擺脫,SDN正是一個(gè)契機,但設備商會(huì )輕易放手?
路由變革
SDN趨勢下,網(wǎng)絡(luò )需要更智能、更簡(jiǎn)單、更靈活。傳統路由設備繁重復雜的功能特性已很難應對。面對現網(wǎng)存量巨大的傳統路由設備,SDN重塑整個(gè)網(wǎng)絡(luò )面臨如下問(wèn)題:
1.傳統網(wǎng)絡(luò )路由如何做SDN化改造?
2.傳統路由和SDN網(wǎng)絡(luò )路由如何平滑過(guò)渡?
3.如何軟件定義轉發(fā)路徑?
4.如何解決傳統路由路徑備份不足的問(wèn)題?
針對問(wèn)題1,基于傳統路由設備,個(gè)人認為無(wú)法做到真正的SDN改造,但還要讓客戶(hù)看起來(lái)像一點(diǎn)兒SDN,表面上看起來(lái)是SDN。目前設備商主流做法時(shí),SDN控制器集中管控配置,傳統路由設備做轉發(fā)面,SDN控制器更多側重在統一集中運維層面。設備商的形形色色,加之對SDN理解的不同,實(shí)現方式的不同,導致SDN南向接口包羅萬(wàn)象,事實(shí)上并未有統一標準。SDN真正的威力正在于問(wèn)題2,傳統路由網(wǎng)絡(luò )和SDN網(wǎng)絡(luò )銜接過(guò)渡,有各種解決方案,這里不作深入探討。最簡(jiǎn)單直接的方案傳統路由設備接入SDN轉發(fā)面,SDN轉發(fā)面將路由報文Packet-In直接上送SDN控制器,SDN控制器交由上層APP進(jìn)行路由協(xié)議處理,充當和路由設備對接角色。SDN控制器通過(guò)Packet-Out下發(fā)路由協(xié)議報文到轉發(fā)面并轉至傳統路由設備,完成對接。SDN開(kāi)源控制器ONOS針對BGP組網(wǎng)有類(lèi)似解決方案如下:
基于問(wèn)題1和2,注定現階段了轉發(fā)面仍需要跑路由協(xié)議,否則無(wú)法應對現網(wǎng)設備復雜的組網(wǎng)環(huán)境,傳統設備商也不會(huì )自斷臂膀。理想中的SDN,控制面全部收縮,任重而道遠,只能向現實(shí)妥協(xié)。思考一個(gè)不太關(guān)注的問(wèn)題:?jiǎn)渭僑DN網(wǎng)絡(luò )下,轉發(fā)面如何連接SDN控制器,控制通道路由如何產(chǎn)生?這本身就是一個(gè)先有雞,還是先有蛋的問(wèn)題,理性來(lái)看,單純的SDN網(wǎng)絡(luò )是不可行的,仍依賴(lài)于傳統網(wǎng)絡(luò )。
問(wèn)題3,理想的SDN網(wǎng)絡(luò ),路由控制全在SDN控制器,做到軟件定義路徑比較容易,結合傳統設備及TE流量工程,Segment Routing無(wú)疑是最優(yōu)選擇。Segment Routing具體介紹參考如下文章:Segment Routing將助力SDN重塑新型網(wǎng)絡(luò )
問(wèn)題4,傳統路由路徑備份特性一直在發(fā)展,基于最短路徑LFA(Loop-Free Alternate)便是應用較廣的一種技術(shù)。但該技術(shù)很多情況下,無(wú)法計算出備份路由。衍生了更多更復雜的備份路由計算方法,如RLFA(Remote LFA),MRT (Maximally Redundant Trees) 等技術(shù)。這些新技術(shù)為了技術(shù)出備份路由,其代價(jià)甚至要比路由計算浪費資源更多,帶來(lái)收斂性能的大幅降低。個(gè)人認為,這些技術(shù)僅限于研究層面,即使在未來(lái)現網(wǎng)生產(chǎn)環(huán)境也會(huì )鮮有使用。但SDN架構下,備份路由的產(chǎn)生將具備得天獨厚的優(yōu)勢,完全取決于控制器APP的發(fā)揮空間,理論上存在的備份路由均可產(chǎn)生。在SDN控制器技術(shù)中,結合Segment Routing,備份路徑的計算將輕而易舉。
展望
傳統路由IP網(wǎng)絡(luò )能在全球范圍內擁有廣泛部署,靠的是一套分布式的協(xié)議體系——一個(gè)或多個(gè)節點(diǎn)的路由器崩潰,IP網(wǎng)絡(luò )仍然可以繼續運行,這非常了不起。然而,正是這個(gè)分布式體系,使得很多本來(lái)很容易的全局性特殊策略難以實(shí)施,IP網(wǎng)絡(luò )的“智商”其實(shí)很低。更麻煩的是,網(wǎng)絡(luò )的控制在應用層軟件和路由器軟件之間有斷層,難以全自動(dòng)地實(shí)施應用策略。
SDN的引入,正在試圖解決這些問(wèn)題。但機械激進(jìn)的引入SDN,甚至會(huì )帶來(lái)更多問(wèn)題。在路由器組成的廣域網(wǎng)領(lǐng)域,牽一發(fā)動(dòng)全身,因此SDN的引入策略也相對保守,保守的表現在于盡量不去觸及路由器的轉發(fā)面,并且在控制面也盡量保持兼容,以一種混合體系運行的方式,逐步把路由器上分布式運行的控制面轉到集中式運行在控制器上,并且通過(guò)層次化的控制器,及合理的北向接口,實(shí)現軟件全面自動(dòng)化的訴求。
SDN已度過(guò)炒作階段,傳統設備商、激進(jìn)研究派、運營(yíng)商等都逐漸理性冷卻下來(lái),傳統路由作為“少林正宗”,依舊必不可少;但通過(guò)SDN可以大幅減低網(wǎng)絡(luò )設備的復雜度,停止向復雜化發(fā)展的趨勢,使網(wǎng)絡(luò )簡(jiǎn)單化、自動(dòng)化、智能化。