国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

“IOAM+SRv6”方案設(shè)計(jì)及實(shí)現(xiàn)

2022-01-06 12:33:16劉博聞王嘉楠吳軍平
電子設(shè)計(jì)工程 2021年24期
關(guān)鍵詞:報(bào)文數(shù)據(jù)包時(shí)延

劉博聞,王嘉楠,吳軍平

(1.武漢郵電科學(xué)研究院,湖北武漢 430074;2.烽火通信科技股份有限公司,湖北武漢 430073)

OAM 是操作、維護(hù)、管理的融合統(tǒng)一。操作主要是完成對(duì)日常網(wǎng)絡(luò)和業(yè)務(wù)進(jìn)行的分析、預(yù)測(cè)、規(guī)劃和配置工作;維護(hù)、管理主要是對(duì)網(wǎng)絡(luò)及其業(yè)務(wù)的測(cè)試、對(duì)故障進(jìn)行管理[1]。IOAM 作為一種新的帶內(nèi)遙測(cè)技術(shù),用于業(yè)務(wù)在網(wǎng)絡(luò)中的質(zhì)量檢測(cè)等功能。網(wǎng)絡(luò)遙感是一種網(wǎng)絡(luò)信息采集技術(shù),目的是為了采集網(wǎng)絡(luò)中的信息,網(wǎng)絡(luò)遙感一般分為兩種,分別是主動(dòng)探測(cè)和被動(dòng)探測(cè)。被動(dòng)探測(cè)以思科的Netflow 技術(shù)為代表,而主動(dòng)探測(cè)則大多數(shù)類似于微軟Everflow中的guided probe 組件。它會(huì)在發(fā)送端的虛擬機(jī)中注入一種“探測(cè)數(shù)據(jù)包”,并在網(wǎng)元上設(shè)置一些探測(cè)識(shí)別點(diǎn),探測(cè)數(shù)據(jù)包每經(jīng)過(guò)一個(gè)網(wǎng)元都會(huì)上傳狀態(tài)信息,但是主動(dòng)探測(cè)“注入探測(cè)數(shù)據(jù)包”會(huì)對(duì)當(dāng)前網(wǎng)絡(luò)中的流量作出一些影響。被動(dòng)探測(cè)以思科的Netflow 和INT(Inband Network Telemetry)為代表,具體應(yīng)用為IOAM。Netflow 是一種帶外采集技術(shù),而INT 是一種新型的“帶內(nèi)網(wǎng)絡(luò)遙感技術(shù)”,具體實(shí)現(xiàn)方式是將監(jiān)測(cè)檢查點(diǎn)插入數(shù)據(jù)包的內(nèi)部,也就是途中的OAM 層,INT 通常的做法是在數(shù)據(jù)包的頭(Header)和數(shù)據(jù)包內(nèi)部數(shù)據(jù)(Payload)之間插入一塊OAM 層,然后數(shù)據(jù)包經(jīng)過(guò)每一個(gè)網(wǎng)元,都會(huì)將探測(cè)信息插入OAM 層中,包括網(wǎng)元對(duì)數(shù)據(jù)包的行為,是轉(zhuǎn)發(fā)還是丟棄,最后數(shù)據(jù)包到達(dá)終點(diǎn),數(shù)據(jù)包中的OAM 層被剝離出來(lái),通過(guò)信息導(dǎo)出協(xié)議上傳到遠(yuǎn)程的分析服務(wù)器[2-5]。IOAM 的檢測(cè)方式目前已經(jīng)應(yīng)用在公司設(shè)備R8000E 上,為運(yùn)營(yíng)商提供服務(wù)。

1 原理概述

1.1 IOAM原理

報(bào)文從入接口進(jìn)入,在封裝節(jié)點(diǎn)將OAM 數(shù)據(jù)報(bào)文嵌入在數(shù)據(jù)報(bào)文中,在轉(zhuǎn)發(fā)節(jié)點(diǎn)根據(jù)算法將相關(guān)的OAM 信息填入OAM 數(shù)據(jù)中,在解封裝節(jié)點(diǎn),判斷IOAM轉(zhuǎn)發(fā)節(jié)點(diǎn)填入的OAM信息校驗(yàn)路徑是否與配置的路徑一致,并將OAM 數(shù)據(jù)報(bào)文移除,如圖1所示。

圖1 IOAM網(wǎng)絡(luò)部署圖

IOAM 層由兩部分組成,一部分為instruction,即指令,另一部分為data,即數(shù)據(jù),指令中攜帶需要收集的信息,Translation Node 只需要根據(jù)指令把相應(yīng)的信息塞入data 部分中即可完成數(shù)據(jù)的收集。

IOAM 協(xié)議的承載形式有很多種,包括GRE、IPV6、SRv6、VXLAN-GPE、NSH、GENEVE 等。文中主要討論IOAM 承載SRv6 隧道。

1.2 SRv6隧道

SRv6 技術(shù)基于已經(jīng)普及的IPv6 技術(shù)擴(kuò)展報(bào)文頭部,對(duì)數(shù)據(jù)報(bào)文進(jìn)行轉(zhuǎn)發(fā)處理[2]。當(dāng)分段路由應(yīng)用于IPv6 數(shù)據(jù)平面時(shí),會(huì)引入一種路由擴(kuò)展報(bào)頭—分段路由報(bào)文頭部[IPv6-SRH]。分段路由報(bào)文頭部(Segment Routing Header,SRH)將一些元數(shù)據(jù)添加到IPv6 數(shù)據(jù)包中,其中包含數(shù)據(jù)包必須經(jīng)過(guò)轉(zhuǎn)發(fā)路徑元素的列表,并由IPv6 地址表示[3-10],如圖2 所示。

圖2 IOAM轉(zhuǎn)發(fā)模型

在Ingress 入口節(jié)點(diǎn)添加SID[N]和帶內(nèi)流量信息遙測(cè)(In-situ Flow Information Telemetry,IFIT)的報(bào)文頭部,進(jìn)行SRv6 動(dòng)作類型的實(shí)現(xiàn)和網(wǎng)絡(luò)遙感的監(jiān)測(cè)(IFIT 頭部)。其中SID 是使能SRv6 節(jié)點(diǎn)維護(hù)的一個(gè)本地SID(Local SID)表,該表包含所有在該節(jié)點(diǎn)生成的SRv6 SID 信息[11-12],通過(guò)該表可以生成一個(gè)SRv6轉(zhuǎn)發(fā)表。Local SID 表有以下用途:定義本地生成的SID,例如End.X SID;指定綁定到這些SID 的指令;存儲(chǔ)和這些指令相關(guān)的轉(zhuǎn)發(fā)信息,包括出接口和下一跳等[13-17]。SRv6 SID 有很多類型,不同類型的SRv6 SID 代表不同的功能[9-10],例如:

1)End SID 表示Endpoint SID,用于標(biāo)識(shí)網(wǎng)絡(luò)中的某個(gè)目的地址前綴(prefix);

2)End.DT4 SID 表示PE 類型的Endpoint SID,用于標(biāo)識(shí)網(wǎng)絡(luò)中的某個(gè)IPv4 VPN 實(shí)例;

3)End.DX6 SID 表示PE 類型的三層交叉連接的Endpoint SID,用于標(biāo)識(shí)網(wǎng)絡(luò)中的某個(gè)IPv6 CE。

還有多種類型用于實(shí)現(xiàn)不同功能。IFIT 報(bào)文頭部格式如圖3 所示。

圖3 IFIT報(bào)文頭部格式

Type:類型指示,表示擴(kuò)展數(shù)據(jù)類型,顯示是否攜帶擴(kuò)展頭;

Length:IFIT 長(zhǎng)度,默認(rèn)為8 字節(jié);

L:Loss Flag,丟包測(cè)量染色標(biāo)記;

D:Delay Flag,時(shí)延測(cè)量染色標(biāo)記;

R:R Flag,保留位,預(yù)留未來(lái)擴(kuò)展使用;

Flow ID:用于唯一標(biāo)識(shí)一條業(yè)務(wù)流。

當(dāng)芯片判定SRH 的標(biāo)志位為1 時(shí),表明SRH 攜帶了IOAM,然后通過(guò)IFIT 的Length 字段判斷IOAM的長(zhǎng)度,同時(shí)根據(jù)HTI 字段判斷IOAM 的檢測(cè)方式,包括從入節(jié)點(diǎn)到出節(jié)點(diǎn)的端到端檢測(cè)和在轉(zhuǎn)發(fā)過(guò)程中的逐點(diǎn)檢測(cè)[6]。

IOAM 的報(bào)文轉(zhuǎn)發(fā)檢測(cè)需要經(jīng)過(guò)源節(jié)點(diǎn)、中間節(jié)點(diǎn)和宿節(jié)點(diǎn)。IOAM 報(bào)文的封裝在源節(jié)點(diǎn)完成,其中包含IOAM 引導(dǎo)標(biāo)簽和流標(biāo)簽以及正確的L-bit、D-bit。運(yùn)用IOAM 對(duì)報(bào)文進(jìn)行篩選,通過(guò)ACL 匹配UNI 側(cè)流信息,對(duì)匹配上的報(bào)文進(jìn)行封裝[7]。ACL 周期性的指向A Block 或B Block,CPU 實(shí)現(xiàn)L 的交替標(biāo)記,在標(biāo)記周期上添加Counter 功能,可以進(jìn)行L 的標(biāo)記統(tǒng)計(jì),而D 報(bào)文則是每個(gè)周期標(biāo)記一個(gè)。

中間節(jié)點(diǎn)則是對(duì)IOAM 進(jìn)行L 統(tǒng)計(jì)和D 報(bào)文識(shí)別,宿節(jié)點(diǎn)是對(duì)RX/TX 方向的L 和D 數(shù)據(jù)進(jìn)行性能統(tǒng)計(jì),并將IOAM 標(biāo)簽剝掉,完成IOAM 的轉(zhuǎn)發(fā)[8]。

2 IOAM+SRv6的方案設(shè)計(jì)

2.1 數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)

IOAM中的數(shù)據(jù)流向是從平臺(tái)FDPO下發(fā),傳遞給驅(qū)動(dòng)層DDPO 數(shù)據(jù)結(jié)構(gòu),DDPO 數(shù)據(jù)從驅(qū)動(dòng)層下發(fā)到數(shù)據(jù)轉(zhuǎn)發(fā)平面層,再?gòu)臄?shù)據(jù)轉(zhuǎn)發(fā)平面層傳遞給微碼層面進(jìn)行相應(yīng)處理[4]。如圖4所示,代碼中接口是在驅(qū)動(dòng)層從FHDRV接口開(kāi)始調(diào)用,在FHDRV中調(diào)用數(shù)據(jù)轉(zhuǎn)發(fā)平面層接口,再通過(guò)Y接口進(jìn)行寫(xiě)入數(shù)據(jù)等操作。

圖4 驅(qū)動(dòng)接口調(diào)用層次圖

FDPO 和DDPO 是兩種不同層面的數(shù)據(jù)結(jié)構(gòu)體,通過(guò)IDE 工具構(gòu)建而成。數(shù)據(jù)由FDPO 發(fā)送,傳遞到DDPO 數(shù)據(jù)模型中。IOAM 功能中,F(xiàn)DPO 的數(shù)據(jù)結(jié)構(gòu)體需要定義不同字段并實(shí)現(xiàn)對(duì)應(yīng)功能。

DDPO 是根據(jù)FDPO 定義的字段進(jìn)行改動(dòng),定義驅(qū)動(dòng)層需要的字段,構(gòu)建DDPO 時(shí),需要設(shè)計(jì)DDPO中的普通字段、驅(qū)動(dòng)返回值、字段映射關(guān)系和DDPO依賴鏈關(guān)系。

DDPO 中定義了數(shù)據(jù)報(bào)文在IOAM 功能中傳輸所需的字段,如表1 所示。

表1 IOAM傳輸字段

這些字段根據(jù)不同的映射關(guān)系,通過(guò)數(shù)據(jù)結(jié)構(gòu)依賴鏈從對(duì)應(yīng)的FDPO 結(jié)構(gòu)體中獲取數(shù)據(jù)。

在FDPO 中,數(shù)據(jù)的下發(fā)也是通過(guò)外鍵關(guān)聯(lián),根據(jù)依賴鏈逐步下發(fā)的,相對(duì)應(yīng)的DDPO 需要設(shè)計(jì)出數(shù)據(jù)下發(fā)的依賴鏈關(guān)系,如圖5 所示為IOAM 數(shù)據(jù)結(jié)構(gòu)的依賴鏈關(guān)系。

圖5 DDPO依賴鏈關(guān)系

依賴鏈以IOAM_CFG 結(jié)構(gòu)體為起始類,通過(guò)ifindex、first_nni_ifindex 和second_nni_ifindex 外鍵關(guān)聯(lián)到IFMGR_IF_NET 結(jié)構(gòu)體,對(duì)于部分字段,還需通過(guò)index、if_foreign_key 和flexe_client_foreign_key 外鍵迭代到UES_IF、IFMGR_IF_LAG、FLEXE_CLIENT數(shù)據(jù)結(jié)構(gòu)體,獲取對(duì)應(yīng)的字段數(shù)據(jù)。

2.2 SRv6轉(zhuǎn)發(fā)方案

SRv6 的轉(zhuǎn)發(fā)方案結(jié)合L3VPN 的流程進(jìn)行了設(shè)計(jì)[13-14],如圖6 所示。

圖6 SRv6 L3VPN流程

數(shù)據(jù)報(bào)文從intf 入接口進(jìn)入,根據(jù)最長(zhǎng)匹配算法查找路由表,得到l3_path_id,根據(jù)該索引值查詢l3path 表項(xiàng),在l3path 表項(xiàng)中配置保護(hù)類型,包括無(wú)保護(hù)、frr 保護(hù)和ecmp 保護(hù),同時(shí)得到查詢l3nhi 表項(xiàng)的索引值,在l3nhi 表項(xiàng)中,entry_type 類型置為SRv6,并繼續(xù)查詢srv6_path 表,同時(shí)查詢srv6_sid 表項(xiàng),獲取sid 的動(dòng)作類型,srv6_path 表可以提供故障保護(hù),并為查詢srv6_attr 屬性表提供索引id,srv6_attr 屬性表中則包含了出口信息、arp_id 等,通過(guò)查詢arp 表項(xiàng)得到出口,將數(shù)據(jù)報(bào)文轉(zhuǎn)發(fā)出去。

3 測(cè)試過(guò)程和結(jié)果

對(duì)于IOAM 功能,首先配置一條采樣周期為30 s,檢測(cè)方式為端到端的L3VPN SRv6 數(shù)據(jù)流,分別在出口進(jìn)行L 標(biāo)記統(tǒng)計(jì)和D 標(biāo)記時(shí)延統(tǒng)計(jì)測(cè)試。

3.1 L標(biāo)記統(tǒng)計(jì)

測(cè)試驗(yàn)證源宿包統(tǒng)計(jì)是否正常,兩站均采用SSUA4 單盤(pán),從UNI→NNI 建立一條SRv6 業(yè)務(wù),保證業(yè)務(wù)流通暢。然后在源站和宿站下的IOAM 配置建立一條flow 為2 的IOAM 配置。登錄設(shè)備進(jìn)入驅(qū)動(dòng)層,打開(kāi)flow_id 為2 的打印,psn_tmtry_dbg_flow_switch(2),圖7、圖8 分別為源站、宿站L 標(biāo)記統(tǒng)計(jì)。

圖7 源站L標(biāo)記統(tǒng)計(jì)

圖8 宿站L標(biāo)記統(tǒng)計(jì)

比較圖7 和圖8 可以看出,源站L 標(biāo)記收包為L(zhǎng):rx[253320363],宿站L 標(biāo)記收包為L(zhǎng):rx[253320363],源宿統(tǒng)計(jì)的包數(shù)相等,所以L 包統(tǒng)計(jì)正常,測(cè)試結(jié)果成功。

3.2 D標(biāo)記時(shí)延統(tǒng)計(jì)

D 標(biāo)記作為時(shí)延測(cè)量標(biāo)志位,需要測(cè)試源宿的時(shí)延獲取是否正常。先建立SRv6 業(yè)務(wù)流,保證業(yè)務(wù)流暢通,再在源站和宿站配置IOAM 信息,建立一條flow id為2的IOAM配置。登錄設(shè)備后進(jìn)入驅(qū)動(dòng)層,打開(kāi)flow id 為2 的打印,psn_tmtry_dbg_flow_switch(2)。圖9、圖10 分別為源站、宿站D 標(biāo)記時(shí)延統(tǒng)計(jì)。

圖9 源站D標(biāo)記時(shí)延統(tǒng)計(jì)

圖10 宿站D標(biāo)記時(shí)延統(tǒng)計(jì)

由圖9 和圖10 比較可以看出,源站D 標(biāo)記收包時(shí)間為D:rx[18029232],宿站D 標(biāo)記收包時(shí)間為D:rx[18061888],兩者時(shí)延差為32 656 ms,即32.656 s,D標(biāo)記時(shí)延統(tǒng)計(jì)正常,源宿時(shí)延差在30 s 左右,屬于誤差允許范圍內(nèi),滿足要求,測(cè)試結(jié)果成功。

4 結(jié)束語(yǔ)

IOAM 技術(shù)屬于數(shù)據(jù)包粒度級(jí)別的丟包檢測(cè),檢測(cè)對(duì)象更加精細(xì),甚至可以獲取網(wǎng)絡(luò)中的丟包情況、原因和丟包位置;IOAM 作為一種帶內(nèi)技術(shù),可以捕獲到網(wǎng)絡(luò)中的時(shí)延或丟包的時(shí)刻;同時(shí),由于IOAM可以獲取網(wǎng)絡(luò)中的每一條鏈路的時(shí)延、帶寬以及丟包情況,將這些信息整合,選擇最優(yōu)的網(wǎng)絡(luò)傳輸路徑,實(shí)現(xiàn)智能路由和選路。但I(xiàn)OAM 技術(shù)也存在一些明顯的缺點(diǎn),比如在運(yùn)營(yíng)商等網(wǎng)絡(luò)中,發(fā)送、接收的數(shù)據(jù)包數(shù)量是巨大的,對(duì)每一個(gè)數(shù)據(jù)包插入OAM層并收集監(jiān)測(cè)信息,會(huì)產(chǎn)生巨大的信息量,這些信息的壓縮、重分析也是一個(gè)需要考慮的問(wèn)題[18-19]。而且巨大的信息量,需要不斷地申請(qǐng)新的空間進(jìn)行數(shù)據(jù)拷貝和新OAM 層的插入,會(huì)產(chǎn)生更大的性能消耗。由于數(shù)據(jù)包會(huì)被分片,插入的OAM 長(zhǎng)度也會(huì)有所限制,經(jīng)過(guò)轉(zhuǎn)發(fā)的設(shè)備數(shù)量必然不能太多[20]。目前的IOAM 技術(shù)基本都是基于硬件實(shí)現(xiàn),并與軟件相配合,隨著技術(shù)的發(fā)展,如果能將IOAM 應(yīng)用于軟件轉(zhuǎn)發(fā),則將為數(shù)據(jù)監(jiān)測(cè)提供更大的應(yīng)用平臺(tái)。

猜你喜歡
報(bào)文數(shù)據(jù)包時(shí)延
基于J1939 協(xié)議多包報(bào)文的時(shí)序研究及應(yīng)用
汽車電器(2022年9期)2022-11-07 02:16:24
CTCS-2級(jí)報(bào)文數(shù)據(jù)管理需求分析和實(shí)現(xiàn)
淺析反駁類報(bào)文要點(diǎn)
基于GCC-nearest時(shí)延估計(jì)的室內(nèi)聲源定位
電子制作(2019年23期)2019-02-23 13:21:12
基于改進(jìn)二次相關(guān)算法的TDOA時(shí)延估計(jì)
SmartSniff
FRFT在水聲信道時(shí)延頻移聯(lián)合估計(jì)中的應(yīng)用
ATS與列車通信報(bào)文分析
基于分段CEEMD降噪的時(shí)延估計(jì)研究
基于Libpcap的網(wǎng)絡(luò)數(shù)據(jù)包捕獲器的設(shè)計(jì)與實(shí)現(xiàn)
潜江市| 南投县| 信丰县| 固始县| 多伦县| 武定县| 阿城市| 会宁县| 信丰县| 甘德县| 和林格尔县| 金川县| 托克逊县| 上高县| 长泰县| 溧水县| 密山市| 太原市| 黄陵县| 襄樊市| 东宁县| 西青区| 吉木萨尔县| 鄂托克前旗| 饶阳县| 蓬安县| 北票市| 沐川县| 锡林浩特市| 凤冈县| 体育| 灌云县| 万盛区| 维西| 临西县| 新昌县| 麻栗坡县| 革吉县| 镇坪县| 陆丰市| 峡江县|