亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于P4的Segment Routing設(shè)計方案

        2021-06-28 19:40:44陳梅蘇晨趙靜雅高震宇
        電腦知識與技術(shù) 2021年10期
        關(guān)鍵詞:軟件定義網(wǎng)絡(luò)

        陳梅 蘇晨 趙靜雅 高震宇

        摘要:本文結(jié)合Segment Routing業(yè)內(nèi)常使用的SR-MPLS轉(zhuǎn)發(fā)平面的規(guī)則,設(shè)計了基于P4的Segment Routing方案。P4程序部分包括了基本轉(zhuǎn)發(fā)邏輯和Segment Routing標(biāo)簽處理邏輯,用于在P4交換機(jī)上編譯運(yùn)行實現(xiàn)數(shù)據(jù)平面功能。使用ONOS控制器做Segment Routing的控制平面指導(dǎo)流表的下發(fā),底層P4交換機(jī)從ONOS控制器的通告中得知對每個Segment的處理方法。

        關(guān)鍵詞:Segment Routing;P4;軟件定義網(wǎng)絡(luò);協(xié)議無關(guān)

        中圖分類號:TP393? ? ? 文獻(xiàn)標(biāo)識碼:A

        文章編號:1009-3044(2021)10-0223-03

        1引言

        當(dāng)前基于互聯(lián)網(wǎng)的業(yè)務(wù)發(fā)展速度非常迅猛,這一現(xiàn)象給網(wǎng)絡(luò)基礎(chǔ)架構(gòu)發(fā)出了很大的挑戰(zhàn),業(yè)界需要一種全新的技術(shù)來支撐越來越被人們重視的基于業(yè)務(wù)和應(yīng)用的超大規(guī)模流量工程。路由收斂速度的主要問題往往不在于控制平面和路徑計算算法,而是在于路由處理器往線卡發(fā)送FIB更新的時間,以及從線卡CPU往線卡硬件轉(zhuǎn)發(fā)表寫入這些更新的時間。Segment Routing正是將這一個問題進(jìn)行了思想的革新[1]。Segment Routing是在SDN環(huán)境下一種全新的應(yīng)用驅(qū)動網(wǎng)絡(luò)思想,它將網(wǎng)絡(luò)中的指令抽象成Segment,直接使用報文頭部的字段指導(dǎo)交換機(jī)的動作[2]。SDN控制器由于其具有的集中式管控的全局視角很適合作為Segment Routing的控制平面,但是在使用SDN交換機(jī)作為轉(zhuǎn)發(fā)工具時,會存在硬件限制,白盒交換機(jī)不足以支持Segment Routing靈活的標(biāo)簽棧需求[3]。在這種情況下,使用可以自定義轉(zhuǎn)發(fā)規(guī)則的P4交換機(jī)就可以更好地支持Segment Routing和SDN控制器的結(jié)合[4]。

        P4(Programming Protocol-Independent Packet Processors可編程協(xié)議獨(dú)立數(shù)據(jù)包處理語言,以下簡稱P4)是一種開源的數(shù)據(jù)面高級編程語言。P4是專為編程可重構(gòu)網(wǎng)絡(luò)架構(gòu)而設(shè)計出來的一種協(xié)議無關(guān)的語言[5],自其誕生之日起就引起學(xué)術(shù)界的廣泛關(guān)注與工業(yè)界的積極實現(xiàn):P4相關(guān)的學(xué)術(shù)論文如雨后春筍現(xiàn)于各大頂級會議和期刊上,AT&T、谷歌、Cisco、華為等超過100家世界知名設(shè)備商、運(yùn)營商、互聯(lián)網(wǎng)企業(yè)等大型公司也已加入了P4語言聯(lián)盟,產(chǎn)業(yè)界在這場革新狂歡下正在掀起P4探索和應(yīng)用的浪潮。

        2設(shè)計方案

        在SR和P4相互結(jié)合可以完善SR的擴(kuò)展性和靈活性的基礎(chǔ)上,設(shè)計了基于P4的Segment Routing實現(xiàn)方案,本內(nèi)容將從轉(zhuǎn)發(fā)平面、控制平面和數(shù)據(jù)平面的三個角度詳細(xì)分析每一個部分的需求和針對各需求的設(shè)計方案。

        2.1 SR轉(zhuǎn)發(fā)平面的選擇

        參考Segment Routing Architecture (RFC 8402 July 2018)給出了兩種SR轉(zhuǎn)發(fā)平面并根據(jù)調(diào)研結(jié)果做出設(shè)計:

        1) MPLS轉(zhuǎn)發(fā)平面:

        Segment list體現(xiàn)為MPLS標(biāo)簽,其優(yōu)點(diǎn)是:(1)SR可以利用現(xiàn)有MPLS數(shù)據(jù)平面;(2)Segment即MPLS標(biāo)簽;(3)可以用于IPv4和IPv6兩種情況下地址協(xié)議族,擴(kuò)展性強(qiáng)。

        2) IPv6轉(zhuǎn)發(fā)平面(即SRv6):

        Segment list體現(xiàn)為路由擴(kuò)展報頭SRH(中存在多個IPv6 地址),其特點(diǎn)是:SRv6的交換機(jī)需要支持SRH的節(jié)點(diǎn)讀取報頭、更新指針、交換目標(biāo)地址并轉(zhuǎn)發(fā)。

        由以上兩種轉(zhuǎn)發(fā)平面的特性可以看出,在核心網(wǎng)中這兩種轉(zhuǎn)發(fā)平面幾乎都不需要基礎(chǔ)設(shè)備本身進(jìn)行路由,因為數(shù)據(jù)包中已經(jīng)嵌入了轉(zhuǎn)發(fā)的指令。而在進(jìn)入核心網(wǎng)之前都需要在邊緣路由器或是控制器為數(shù)據(jù)包創(chuàng)建路徑并以標(biāo)簽的形式將發(fā)放到入口交換機(jī)進(jìn)而封裝到數(shù)據(jù)包頭部。

        在研究中發(fā)現(xiàn),SR-MPLS數(shù)據(jù)平面目前在服務(wù)提供商中已經(jīng)得到了一定的采用,但SRv6的采用卻一直處于滯后的狀態(tài)。這樣發(fā)展的差異主要來源于硬件。

        由于SR-MPLS轉(zhuǎn)發(fā)平面是由傳統(tǒng)MPLS轉(zhuǎn)發(fā)平面升級而來,當(dāng)涉及轉(zhuǎn)發(fā)時,SR-MPLS沒有任何特殊的ASIC要求。盡管需要特定于SR-MPLS的控制平面軟件,但這并不影響ASIC轉(zhuǎn)發(fā)數(shù)據(jù)包的能力。因此,SR-MPLS的采用成本相對較低。

        相比之下,SRv6對ASIC提出了一些特殊的要求。即SRH是一個新的IPv6報頭,仍處于IETF的草案。SRv6節(jié)點(diǎn)必須沿SR路徑執(zhí)行多個操作,包括讀取SRH,將IPv6目標(biāo)字段重寫到路徑中的下一個節(jié)點(diǎn),更新指針以及執(zhí)行特定于節(jié)點(diǎn)的操作。這些要求并不是不可克服的,但是很少有人會將這種少用的功能加入硅片中。簡而言之,SRv6的大規(guī)模部署需要設(shè)備芯片的更新,這就造成了SRv6發(fā)展的滯后。

        在這種情況下,P4天然的可編程性在硬件中的應(yīng)用可以極大程度解決SRv6的窘境,所以,本文在完成常用的SR-MPLS轉(zhuǎn)發(fā)平面的基礎(chǔ)上,做了簡單的SRv6開發(fā)論證,在p4語言和控制器簡單實現(xiàn)的基礎(chǔ)上留下一些可供今后發(fā)展的接口。

        2.2 SR控制平面的設(shè)計

        2.2.1 P4runtime作為控制平面

        P4runtime是一種對內(nèi)置對象(表和值集)、便攜式交換機(jī)架構(gòu)(PSA),以及外部(如計數(shù)器、儀表、動作配置文件等)進(jìn)行控制訪問的架構(gòu),它的對外接口是一套特別開發(fā)的基于GRPC的API。在P4Runtime的架構(gòu)中,要控制的設(shè)備位于底層,頂部可以是一個或多個控制器。P4Runtime允許多個控制器參與,但是需要確保只有一個控制器對每個讀/寫實體或管道配置本身具有寫訪問權(quán)。任何控制器都可以對任何實體或管道配置執(zhí)行讀訪問。

        使用p4的工作流程中,編譯P4源程序以生成P4設(shè)備配置和P4Info元數(shù)據(jù)。P4Info中的元數(shù)據(jù)描述了整個程序本身(PkgInfo)以及從P4程序派生的所有實體實例——表和外部實例。每個實體實例都有一個由P4編譯器分配的相關(guān)數(shù)字ID,作為簡潔“處理”的憑證,用于API調(diào)用。P4Runtime的API則定義了客戶端和服務(wù)器之間接口的消息和語義,供外部控制使用。

        P4Runtime的API支持多種語言,本方案中ONOS使用Java進(jìn)行開發(fā)也是使用了P4runtime的擴(kuò)展API,本方案除了使用ONOS作為控制平面以外,也編寫python對p4程序進(jìn)行驗證,python由于其簡單使用的特點(diǎn),可以比較方便的實現(xiàn)大規(guī)模p4程序及p4交換機(jī)組網(wǎng)的仿真和驗證。本文中的方案通常在實現(xiàn)用python描述的p4邏輯驗證之后使用ONOS控制器作為集中控制細(xì)化控制方案,因此這里只對控制層面使用的p4runtime API做一說明,后文中不再贅述。

        2.2.2 ONOS控制器作為控制平面

        SR可以使用路由協(xié)議或SDN控制器在網(wǎng)絡(luò)中分發(fā)Segment信息,支持的協(xié)議包括域內(nèi)的ISIS、OSPF和域間的BGP協(xié)議。為了更好地將SR的分布式轉(zhuǎn)發(fā)控制和SDN控制器的集中式調(diào)度控制相結(jié)合,本設(shè)計方案中采用ONOS作為控制器,它可以具有全局網(wǎng)絡(luò)拓?fù)?、使用算法?guī)劃段路由以及對設(shè)備進(jìn)行流表和標(biāo)簽棧下發(fā)。

        另外,本方案在全局標(biāo)簽規(guī)格的選擇上,仿照IGP作為控制的標(biāo)準(zhǔn),參考其全局標(biāo)簽(Prefix Segments,下文中稱Prefix-SID)和鄰接標(biāo)簽(Adjacency Segments,下文中稱Adj-SID)進(jìn)行設(shè)計,Prefix-SID和Adj-SID的主要特點(diǎn)如下:

        ?Prefix-SID

        – SR域的任一節(jié)點(diǎn)都明白該Segment的相關(guān)指令

        – SR域的每個節(jié)點(diǎn)的轉(zhuǎn)發(fā)表中都安裝了該Segment相關(guān)指令

        – 在MPLS SR中:為段路由全局塊(SRGB)中的全局標(biāo)簽值

        ? Adj-SID

        – 只有該Segment的始發(fā)節(jié)點(diǎn)明白它的相關(guān)指令

        – 在SR-MPLS中:為設(shè)備本地分發(fā)的標(biāo)簽

        在ONOS控制層需要做出的設(shè)計有:

        1) 標(biāo)簽(Prefix-SID和Adj-SID)的分配和分發(fā):

        a. Prefix-SID的分配由設(shè)備監(jiān)聽服務(wù)(Device Service和Device Listener)監(jiān)聽到新設(shè)備上線開始,本設(shè)計中采用的是在給定SRGB的基礎(chǔ)上,取每個設(shè)備的標(biāo)識ID中從第一位非0的字段開始一直到ID字段結(jié)束作為index(索引),將這一index加在代表全局塊的SRGB值上作為Prefix-SID,即Prefix-SID為【“SRGB+index”】。

        例如device.Id為device:bmv2:s2;全局塊SRGB為16000;則index為2;Prefix-SID 為16002。

        這一操作在交換機(jī)上線時,ONOS中由一Prefix映射函數(shù)完成,控制器中具有網(wǎng)絡(luò)內(nèi)所有交換機(jī)的Prefix-SID。

        b. Adj-SID的分配由設(shè)備監(jiān)聽服務(wù)(Device Service和Device Listener)監(jiān)聽到新設(shè)備上線開始。對于這個新上線的設(shè)備,Adj-SID指的是它的每一個出端口,因此本方案將Adj-SID設(shè)計為:本交換機(jī)的index通過某端口連接到另一交換機(jī)的index中加一個0來表示,即Adj-SID為【“index1” + “0” + “index2”】。

        例如device.Id為device:bmv2:s2,該交換機(jī)的2端口和device.Id為device:bmv2:s3 的交換機(jī)相連;則代表2端口的Adj-SID為203。

        這一操作在交換機(jī)上線時,ONOS中由一Adjacency映射函數(shù)完成,控制器中具有網(wǎng)絡(luò)內(nèi)所有交換機(jī)中各端口對應(yīng)的Adj-SID,并將屬于每個交換機(jī)的Adj-SID及其對應(yīng)端口通告各交換機(jī)。

        2) 標(biāo)簽(Prefix-SID和Adj-SID)轉(zhuǎn)發(fā)表的建立:

        a. Prefix-SID的轉(zhuǎn)發(fā)表在新交換機(jī)上線時完成,設(shè)備監(jiān)聽器(Device Listener)監(jiān)聽到新交換機(jī)上線時,對這個交換機(jī)和當(dāng)前所有已知Prefix-SID的交換機(jī)進(jìn)行路由規(guī)劃,采用最短路徑,將每個Prefix-SID對應(yīng)的轉(zhuǎn)發(fā)端口port生成協(xié)議無關(guān)流表,下發(fā)給本交換機(jī),即下發(fā)內(nèi)容如下的流表。

        b. Adj-SID的轉(zhuǎn)發(fā)表同樣在新交換機(jī)上線時完成,設(shè)備監(jiān)聽器(Device Listener)監(jiān)聽到新交換機(jī)上線時,對這個交換機(jī)和當(dāng)前所有和本交換機(jī)相鄰的交換機(jī)進(jìn)行遍歷,找到對應(yīng)端口進(jìn)行端口對Adj-SID的映射,并將這個映射關(guān)系以流表的形式下發(fā)給本交換機(jī),即下發(fā)內(nèi)容如下的流表。

        3) 路徑(Segments)的標(biāo)識和建立

        SR實現(xiàn)的路由又被稱為大跳路由,因此SR只是在網(wǎng)絡(luò)中選取交換機(jī)作為需要映射標(biāo)簽的節(jié)點(diǎn),形成一個有序的segment列表(在MPLS中為標(biāo)簽棧),交換機(jī)將這一封裝標(biāo)簽的動作以流表的形式下發(fā)給邊緣P4交換機(jī),P4交換機(jī)通過數(shù)據(jù)層面定義好的邏輯將標(biāo)簽棧封裝在數(shù)據(jù)包的包頭,然后進(jìn)入P4交換機(jī)分布的網(wǎng)絡(luò)中,即下發(fā)內(nèi)容如下的流表。

        2.3 SR數(shù)據(jù)平面的設(shè)計

        P4交換機(jī)作為設(shè)計的數(shù)據(jù)層面,需要對數(shù)據(jù)格式、報文處理邏輯等進(jìn)行定義。本方案中設(shè)計了IPv4基本轉(zhuǎn)發(fā)功能、SR基本轉(zhuǎn)發(fā)功能、以及一些適合后期擴(kuò)展的功能。

        2.3.1數(shù)據(jù)包的解析(parser模塊)

        P4代碼中的解析器本質(zhì)上是一個狀態(tài)轉(zhuǎn)移的邏輯,按照包頭遇到的情況進(jìn)行解析,并把一層一層的解析結(jié)果對應(yīng)放在一個新的標(biāo)準(zhǔn)報頭實例中,本方案中,SR-MPLS頭部位于二三層之間,但是為了后期擴(kuò)展,解析了一些可能不存在的包頭類型,并且一直做到四層TCP的解析,但是由于P4程序的特性,這些操作并不會影響普通數(shù)據(jù)包進(jìn)行SR功能的驗證。

        2.3.2數(shù)據(jù)報入口處理流程(control模塊)

        a. Action

        action是table中可以調(diào)用動作的具體實現(xiàn),類似編程語言中的函數(shù)實現(xiàn),但是可以執(zhí)行的基本動作比較有限,需要根據(jù)需求設(shè)計出精煉的動作集。

        b. Table

        經(jīng)過對P4語言的學(xué)習(xí),可以發(fā)現(xiàn),Table的設(shè)計原則就是Action的邏輯性。Table的邏輯性和其他編程語言中建立一個class很像,需求的根本是“Match +Action”匹配對應(yīng)關(guān)系,給一組Match,需要得到一個Action,這就是像是傳遞參數(shù)得到返回值一樣。然而不一樣的是,一個Table可以匹配很多的Match也可以不匹配Match域,但是都只能調(diào)用一個Action。

        因此,一個精簡有效的Table是需要反復(fù)測試修正設(shè)計方案的。本設(shè)計方案在多次修正后,對Table的需求分為以下幾種:

        (1)初始化標(biāo)簽棧:該table的目的是在match目的地址之后,將ONOS控制器返還的一組Segment數(shù)組封裝進(jìn)報文頭部預(yù)留的自定義Segment Routing類型中。

        (2)標(biāo)簽的轉(zhuǎn)發(fā):按照SR-MPLS的設(shè)計方案,標(biāo)簽存在三種標(biāo)準(zhǔn)action,其中push動作即是初始化標(biāo)簽棧,因此轉(zhuǎn)發(fā)table中,需要有如下兩種標(biāo)準(zhǔn)動作和一個自己定義的結(jié)束動作:

        ? Next:按照倒數(shù)第二跳彈出的規(guī)則彈出當(dāng)前標(biāo)簽,并設(shè)置出端口;

        ? Continue:不彈出標(biāo)簽,按照當(dāng)前標(biāo)簽對應(yīng)的轉(zhuǎn)發(fā)表設(shè)置出端口;

        ? Finish:彈出棧底標(biāo)簽,將以太網(wǎng)類型設(shè)置為Ipv4并給出轉(zhuǎn)發(fā)端口。

        (3)Ipv4轉(zhuǎn)發(fā):Ipv4的設(shè)計考慮了不適用SR的情況下需要仍然可以完成轉(zhuǎn)發(fā),因此本部分的交換機(jī)邏輯就是對目的Ip進(jìn)行匹配,按照最短路徑給出出端口即可。

        c. Apply:apply是table執(zhí)行的語句,可以寫在一個判斷語句內(nèi),調(diào)用table來完交換機(jī)內(nèi)部的邏輯,流程圖內(nèi)陰影部分的判斷將在這里實現(xiàn),如圖1所示。

        3 P4代碼設(shè)計思路

        4結(jié)論

        本文設(shè)計主要對Segment Routing網(wǎng)絡(luò)架構(gòu)進(jìn)行研究,設(shè)計了更加符合當(dāng)前網(wǎng)絡(luò)現(xiàn)狀、更靈活且易于擴(kuò)展的SR方案。當(dāng)前的SR方案比較少采用SDN控制器作為控制平面,而是使用IGP、BGP等協(xié)議進(jìn)行控制,這樣的做法不光沒有追上軟件定義網(wǎng)絡(luò)的廣泛使用化,也缺少了全局視野在控制層面的優(yōu)越性。因此本文使用ONOS控制器作為控制平面可以有效利用 SDN的集中控制管控能力,為SR規(guī)劃更合理更科學(xué)地標(biāo)簽棧。

        參考文獻(xiàn):

        [1] 吳理炫.基于SDN的移動核心網(wǎng)流量管理的研究[D].北京:北京郵電大學(xué),2018.

        [2] 馮濤.軟件定義網(wǎng)絡(luò)(SDN)網(wǎng)絡(luò)管理關(guān)鍵技術(shù)研究[D].北京:清華大學(xué),2015.

        [3] 趙敏,田野.P4與POF協(xié)議無關(guān)可編程網(wǎng)絡(luò)技術(shù)比較研究[J].網(wǎng)絡(luò)新媒體技術(shù),2018,7(1):54-58.

        [4] 林耘森簫,畢軍,周禹,等.基于P4的可編程數(shù)據(jù)平面研究及其應(yīng)用[J].計算機(jī)學(xué)報,2019,42(11):2539-2560.

        [5] 陳果.基于P4的可編程數(shù)據(jù)交換原型系統(tǒng)的設(shè)計與實現(xiàn)[D].西安:西安電子科技大學(xué),2018.

        【通聯(lián)編輯:唐一東】

        猜你喜歡
        軟件定義網(wǎng)絡(luò)
        面向未來的傳輸綜合網(wǎng)管系統(tǒng)演進(jìn)研究
        移動通信(2016年23期)2017-03-07 16:28:25
        基于隊列樹的SDN控制器高效消息處理機(jī)制
        中國聯(lián)通SDN的思考和應(yīng)用實例
        業(yè)務(wù)功能鏈技術(shù)及其應(yīng)用探析
        針對大規(guī)模軟件定義網(wǎng)絡(luò)的子域劃分及控制器部署方法
        一種新的SDN架構(gòu)下端到端網(wǎng)絡(luò)主動測量機(jī)制
        超高吞吐率Wi—Fi融合應(yīng)用新技術(shù)分析
        移動通信(2016年20期)2016-12-10 09:22:49
        SDN在傳送網(wǎng)絡(luò)的引入與應(yīng)用分析
        SDN/NFV技術(shù)接入網(wǎng)應(yīng)用
        3SNetworking:面向業(yè)務(wù)、安全增強(qiáng)的軟件定義網(wǎng)絡(luò)
        国产精品白浆一区二区免费看| 宅男66lu国产在线观看| 欧美一区二区三区红桃小说| 亚洲视频天堂| av天堂手机在线免费| 91自拍视频国产精品| 国内精品卡一卡二卡三| 亚洲免费视频播放| 国产成人亚洲合色婷婷| 黄色av亚洲在线观看| 久久久www成人免费精品| 国产三级在线视频播放| 日韩人妻有码中文字幕| 高清中文字幕一区二区| 18禁黄久久久aaa片| 中文字幕久久久久人妻无码 | 亚洲av永久无码精品网站| 黑人大荫道bbwbbb高潮潮喷| 亚洲精品理论电影在线观看| 日本中文字幕官网亚洲| 日本真人边吃奶边做爽电影| 免费看久久妇女高潮a| 久久精品国产88久久综合 | 一二三四视频社区在线| 日韩在线观看网址| 久久一区二区av毛片国产| 丁香美女社区| 国产精品一区二区在线观看99| 亚洲一区二区三区国产精品| 77777亚洲午夜久久多喷| 水蜜桃无码视频在线观看| 激情 一区二区| 人妻精品一区二区三区蜜桃| 久久精品夜色国产亚洲av| 久久精品免费一区二区喷潮| 亚洲一区二区一区二区免费视频| 天天躁夜夜躁狠狠是什么心态| 国产免费午夜a无码v视频| 中文字幕在线观看乱码一区| 澳门蜜桃av成人av| 女人被爽到呻吟gif动态图视看|