淺談“云網(wǎng)關(guān)”轉(zhuǎn)控對接技術(shù)
1、什么是“云網(wǎng)關(guān)”?
云網(wǎng)關(guān)主要是指將用戶接入網(wǎng)關(guān)放到邊緣云側(cè),云網(wǎng)關(guān)承接用戶上網(wǎng),增值業(yè)務(wù)流量調(diào)度等功能。服務(wù)提供側(cè)通過云網(wǎng)關(guān)就近接入各類業(yè)務(wù),使用戶能夠簡單的實(shí)現(xiàn)一跳上云,簡單高效地體驗(yàn)穩(wěn)定高性能的海量增值業(yè)務(wù)。
云網(wǎng)關(guān)的部署應(yīng)用更加接近用戶家庭,結(jié)合算力網(wǎng)絡(luò)的規(guī)劃,以云網(wǎng)關(guān)為基礎(chǔ),發(fā)展云網(wǎng)關(guān)衍生應(yīng)用,可以發(fā)掘海量的家庭“算力”,為家庭算力的模型構(gòu)建以及運(yùn)用打下一個堅實(shí)的基礎(chǔ)。
圖片
當(dāng)然,云網(wǎng)關(guān)的種種好處離不開它基于SDN網(wǎng)絡(luò)架構(gòu)的核心思想,即轉(zhuǎn)發(fā)和控制分離的理念。
2、“云網(wǎng)關(guān)”開創(chuàng)用戶上網(wǎng)新模式
云網(wǎng)關(guān)開創(chuàng)了一種用戶接入網(wǎng)絡(luò)新形式。家庭寬帶上網(wǎng)方式的發(fā)展歷史可以概括為從撥號連接到電纜調(diào)制解調(diào)器,到DSL和光纖到戶,再到云網(wǎng)關(guān),網(wǎng)絡(luò)速度和連接方式不斷升級,用戶的上網(wǎng)體驗(yàn)也越來越好。
圖片
總的來說,互聯(lián)網(wǎng)接入中國的二十多年里,家庭寬帶用戶上網(wǎng)的方式發(fā)生了多次重大的變化,每次變化都給用戶的體驗(yàn)和服務(wù)質(zhì)量帶來了跨越式的提升,云網(wǎng)關(guān)也不例外。
3、“云網(wǎng)關(guān)”的技術(shù)架構(gòu)
云網(wǎng)關(guān)基于SDN思想,實(shí)現(xiàn)了一套轉(zhuǎn)控分離的高性能轉(zhuǎn)發(fā)框架。
圖片
轉(zhuǎn)發(fā)面:
在云網(wǎng)關(guān)中,轉(zhuǎn)發(fā)面(轉(zhuǎn)發(fā)進(jìn)程)主要負(fù)責(zé)根據(jù)策略,路由等規(guī)則,進(jìn)行高性能純數(shù)據(jù)包的轉(zhuǎn)發(fā)和流量調(diào)度。
控制面:
與傳統(tǒng)的設(shè)計不同的是,在云網(wǎng)關(guān)中控制面分成兩個層級。
(1)設(shè)備控制面
圖片
圖片
云網(wǎng)關(guān)的設(shè)備控制面,主要負(fù)責(zé)一些路由協(xié)議的協(xié)商和鄰居建立,如BGP、OSPF、RIP等常見協(xié)議路由獲取導(dǎo)入以及生成,再通過轉(zhuǎn)控對接方式,將計算后的路由結(jié)果下發(fā)給轉(zhuǎn)發(fā)面,轉(zhuǎn)發(fā)面只需要根據(jù)下發(fā)的路由結(jié)果進(jìn)行數(shù)據(jù)包的匹配轉(zhuǎn)發(fā),不需要參與到特定的路由計算和生成環(huán)節(jié)。
與此同時,設(shè)備控制面還負(fù)責(zé)協(xié)議的控制報文生成和交互,如IPsec加密隧道的IKE生成等。除此之外,設(shè)備控制面還負(fù)責(zé)ARP報文的解析生成ARP表項(xiàng)的下發(fā),同步轉(zhuǎn)發(fā)面和控制面接口MTU等一系列需要計算和維護(hù)的功能。
由此可以看出,一系列功能的處理和運(yùn)行,對設(shè)備內(nèi)部控制面和轉(zhuǎn)發(fā)面的對接方式有了較高的要求,具體會在下個章節(jié)進(jìn)行介紹。
(2)控制器以及運(yùn)營平臺
云網(wǎng)關(guān)網(wǎng)元層面的控制面,就是一般意義上的SDN控制面,如上圖所示,總的來說在云網(wǎng)關(guān)管理系統(tǒng)中,管理面(云網(wǎng)關(guān)控制器以及運(yùn)營平臺)主要負(fù)責(zé)網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn)和管理、流量控制和管理、網(wǎng)絡(luò)安全管理、業(yè)務(wù)訂單管理等功能,與設(shè)備內(nèi)部層面不同的是,網(wǎng)元側(cè)控制面在更宏觀的角度對設(shè)備進(jìn)行管理,對網(wǎng)絡(luò)進(jìn)行調(diào)度編排,更充分劃分了一個大腦的功能。
然而,網(wǎng)絡(luò)拓?fù)浒l(fā)現(xiàn),流量控制,訂單管理依賴各類完全不同的南北向接口,對轉(zhuǎn)發(fā)面控制面的邊界劃分,內(nèi)部協(xié)議貫通對齊,都有新的挑戰(zhàn),對架構(gòu)規(guī)劃以及研發(fā)能力有較高要求。
4、“云網(wǎng)關(guān)”的轉(zhuǎn)控對接方案
綜合前面幾個小節(jié)所描述的,因?yàn)樵凭W(wǎng)關(guān)的轉(zhuǎn)發(fā)面控制面分為設(shè)備內(nèi)部和網(wǎng)元單元,所以云網(wǎng)關(guān)的轉(zhuǎn)控對接技術(shù),不能簡單的理解成傳統(tǒng)意義上設(shè)備和控制器的南北向接口,設(shè)備內(nèi)部的實(shí)現(xiàn)更多地基于底層驅(qū)動的設(shè)計實(shí)現(xiàn),計算機(jī)底層原理的理解運(yùn)用,而網(wǎng)元單元更多的是網(wǎng)絡(luò)業(yè)務(wù)相結(jié)合的技術(shù)。
4.1 常見的南北向接口
? OpenFlow
OpenFlow是一種網(wǎng)絡(luò)通信協(xié)議,伴隨SDN誕生,可以說是最早的南向協(xié)議,屬于數(shù)據(jù)鏈路層,能夠控制網(wǎng)上交換器或路由器的轉(zhuǎn)發(fā)平面(forwarding plane),借此改變網(wǎng)絡(luò)數(shù)據(jù)包所走的網(wǎng)絡(luò)路徑。
? Netconf
IETF在2003年5月成立了Netconf工作組,該工作組主要是為了提出一個全新的基于XML的網(wǎng)絡(luò)配置(Netconf)協(xié)議而成立的。該工作組已于2006年12月通過了Netconf協(xié)議的基本標(biāo)準(zhǔn)RFC4741-4744,2011年6月RFC6241、RFC6242替代了原有的 RFC4741、RFC4742,RFC4743和 RFC4744則被標(biāo)記為歷史資料。
? PCEP
路徑計算單元協(xié)議(Path Computation Element Protocol,PCEP):為MPLS網(wǎng)絡(luò)域間流量工程(Traffic Engineering,TE)等應(yīng)用提出的,以支持集中化的路徑計算。
如上所述,云網(wǎng)關(guān)也有一套自己的南北向?qū)臃绞健?/span>
4.2 “云網(wǎng)關(guān)”網(wǎng)元對接接口
云網(wǎng)關(guān)的控制面負(fù)責(zé)網(wǎng)絡(luò)拓?fù)涔芾怼⒘髁空{(diào)度、安全管理和業(yè)務(wù)訂單管理等功能。換言之,控制面需要與轉(zhuǎn)發(fā)面對齊相關(guān)信息,以便在數(shù)據(jù)傳輸通道(如統(tǒng)計和調(diào)度)和網(wǎng)絡(luò)信息通道(如拓?fù)浒l(fā)現(xiàn))中進(jìn)行交互。
? 普通數(shù)據(jù)通道
云網(wǎng)關(guān)實(shí)際部署時,發(fā)現(xiàn)常常需要將云網(wǎng)關(guān)部署在私有局域網(wǎng),而云管平臺(控制面)則部署在公網(wǎng)中,故云網(wǎng)關(guān)在設(shè)計時,使用Websocket在轉(zhuǎn)發(fā)面和控制面之間建立了一個TCP長連接雙向通道,但是由于Websocket的重傳機(jī)制不太友好,同時需要為轉(zhuǎn)發(fā)面控制面另外預(yù)留一條HTTPS的網(wǎng)絡(luò)接口用于數(shù)據(jù)發(fā)送接收。
圖片
傳輸?shù)南⒏袷剑捎肦estFul風(fēng)格設(shè)計,能夠快速便捷地進(jìn)行設(shè)備編排管控。
? 網(wǎng)絡(luò)信息通道
網(wǎng)絡(luò)拓?fù)涫占屯負(fù)渥陨?,是路徑調(diào)度,網(wǎng)絡(luò)編排的基礎(chǔ),僅這個模塊就是非常復(fù)雜的。云網(wǎng)關(guān)在設(shè)計過程中,依賴了BGP的能力,在一定場景下(云網(wǎng)關(guān)作為POP設(shè)備時),通過BGP-LS能力和控制器建立BGP-LS鄰居,云網(wǎng)關(guān)通過BGP的路由屬性,攜帶計算好的拓?fù)湫畔⒅量刂破?,控制器通過BGP協(xié)議能夠快速解析生成網(wǎng)絡(luò)拓?fù)洹?/span>
然而,該方案需要控制器支持南向BGP-LS接口,因?yàn)锽GP-LS是BGP的一種擴(kuò)展屬性,很多設(shè)備和控制器不一定能夠支持。云網(wǎng)關(guān)在設(shè)計過程中,結(jié)合POP探究場景,提出了一種基于SRv6的拓?fù)淇焖偕煞椒?,并申請了相關(guān)專利,在該方案中,控制器只要擁有普通數(shù)據(jù)通道即可快速或許拓?fù)湫畔ⅰ?/span>
4.3 “云網(wǎng)關(guān)”設(shè)備內(nèi)部轉(zhuǎn)控對接
回到設(shè)備內(nèi)部,上文提到了設(shè)備內(nèi)部也需要面臨轉(zhuǎn)控對接的問題。同樣,也存在兩個具體的南北向通道大類,一個是數(shù)據(jù)交互通道,一個是控制報文交互通道。
? 數(shù)據(jù)交互通道
設(shè)備內(nèi)部的數(shù)據(jù)交互通道,是用來下發(fā)設(shè)備內(nèi)部控制面計算好的路由,IP以及ARP等信息,以數(shù)據(jù)的形式下發(fā)至轉(zhuǎn)發(fā)面,轉(zhuǎn)發(fā)面拿到相關(guān)信息調(diào)用相應(yīng)接口,在轉(zhuǎn)發(fā)面增刪改這些基本信息。
在云網(wǎng)關(guān)中,數(shù)據(jù)通道利用了Linux內(nèi)核自帶的Netlink消息作為載體,控制面進(jìn)程在計算完信息后,如BGP協(xié)議建立BGP鄰居通過路由重分布獲取到路由,控制面進(jìn)程通過路由屬性判斷好路由優(yōu)先級,最終加入FIB轉(zhuǎn)發(fā)表中時,除非Netlink消息,發(fā)送至設(shè)備轉(zhuǎn)發(fā)進(jìn)程,由于數(shù)據(jù)量可能會很大,轉(zhuǎn)發(fā)進(jìn)程結(jié)合Epoll機(jī)制,創(chuàng)建大量Socket,最終實(shí)現(xiàn)高效的數(shù)據(jù)信息下發(fā)。
? 控制報文交互通道
上文提到了,設(shè)備內(nèi)部控制面還要負(fù)責(zé)控制報文協(xié)商,比如BGP的OPEN報文,IPsec的IKE等。那么如何將這部分報文從轉(zhuǎn)發(fā)進(jìn)程中分離出來,通過哪種途徑通道將數(shù)據(jù)包發(fā)送到控制面,控制面如何發(fā)送給轉(zhuǎn)發(fā)面。不過作為控制報文,可以犧牲一小部分性能。
云網(wǎng)關(guān)在設(shè)計時,針對這塊采用了通過Linux內(nèi)核驅(qū)動創(chuàng)建Tun/Tap口,轉(zhuǎn)發(fā)面和控制面均通過這個虛擬硬件口收發(fā)控制報文,云網(wǎng)關(guān)同時針對這個方案進(jìn)行了Linux內(nèi)核驅(qū)動的優(yōu)化修改,提升了幾倍性能。
5、“云網(wǎng)關(guān)”的應(yīng)用和未來
云網(wǎng)關(guān)的研發(fā)和推出,完成了許許多多的技術(shù)積累和創(chuàng)新突破,積累了一定技術(shù)能力,以轉(zhuǎn)控對接技術(shù)為例,這類技術(shù)不僅僅在云網(wǎng)關(guān)上適用,相應(yīng)的技術(shù)創(chuàng)新和積累還可以在整個SDN網(wǎng)絡(luò)以及未來將要構(gòu)建的算網(wǎng)底座中使用。
除了完成技術(shù)創(chuàng)新和積累,中國移動智慧家庭運(yùn)營中心將以云網(wǎng)關(guān)為基礎(chǔ),研發(fā)部署云化業(yè)務(wù)插件、基于SFC業(yè)務(wù)鏈技術(shù)的調(diào)度系統(tǒng), 面向不同客戶場景,通過家庭網(wǎng)絡(luò)調(diào)度能力,實(shí)現(xiàn)上網(wǎng)安全、應(yīng)用加速等增值服務(wù)快速加載部署,滿足不同家庭場景需求。
未來,中國移動智慧家庭云網(wǎng)關(guān)還將持續(xù)賦能更多產(chǎn)業(yè)合作伙伴、衍生更多使用場景,做大生態(tài)圈,為家庭、泛家庭用戶提供更加人性化的業(yè)務(wù)服務(wù)。