CN115766552A - 基于SRv6与INT的网络测量方法和装置 - Google Patents
基于SRv6与INT的网络测量方法和装置 Download PDFInfo
- Publication number
- CN115766552A CN115766552A CN202211374811.9A CN202211374811A CN115766552A CN 115766552 A CN115766552 A CN 115766552A CN 202211374811 A CN202211374811 A CN 202211374811A CN 115766552 A CN115766552 A CN 115766552A
- Authority
- CN
- China
- Prior art keywords
- node
- telemetry
- data packet
- int
- path
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000691 measurement method Methods 0.000 title claims abstract description 14
- 238000005259 measurement Methods 0.000 claims abstract description 35
- 238000012544 monitoring process Methods 0.000 claims abstract description 24
- 238000007405 data analysis Methods 0.000 claims abstract description 16
- 238000000034 method Methods 0.000 claims description 24
- 230000008569 process Effects 0.000 claims description 10
- 230000005540 biological transmission Effects 0.000 claims description 8
- 238000012423 maintenance Methods 0.000 claims description 6
- 238000004806 packaging method and process Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 4
- 238000012360 testing method Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 2
- 230000003247 decreasing effect Effects 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明基于SRv6与INT的网络测量方法和装置,包括依次连接的遥测需求生成模块,路径生成模块,数据包生成模块,源节点,交换机,终点节点,遥测监测模块,遥测数据分析模块。主要流程为路径生成模块生成遥测路径,遥测数据包生成模块生成遥测数据包,遥测监测模块监测网络状态信息,遥测数据分析模块分析网络状态。可以实现指定链路状态信息的收集,同时将链路的遥测指标化解为两个节点的指标来进行测量;充分利用SRH中Segment List字段中的空间,做到指导遥测数据包的转发同时实现遥测数据的收集;可以指定节点或者链路的遥测,不用收集数据包转发路径上的所有信息。
Description
技术领域
本发明属于通信技术领域,涉及一种基于SRv6与INT的网络测量方法,还涉及一种基于SRv6与INT的网络测量装置。
背景技术
近些年,带内网络遥测(In-band Network Telemetry,INT)作为一种新型网络测量技术被提出,是一种不需要控制平面干涉,依靠数据平面来收集和报告网络信息的框架。带内网络遥测依托数据平面的可编程性,实现网络设备对数据包头部进行增删改查,将收集到的网络状态信息插入到数据包中,以实现传统网络测量无法达到的细粒度测量,从而加快网络故障的预测和精准定位,为网络运维带来极大的便利。带内网络遥测技术的完全随路检测特性,能够保证获取业务流量的状态的准确性。
由于遥测数据包在传输过程中会不断地变长,会为网络带来额外的负担,针对解决目前带内网络遥测所引入的开销过大和网络遥测的不灵活性问题,刊登于,通信学报.2018,39(S1),论文名称为《基于P4的主动网络遥测机制》的文献提出了基于源路由的主动网络遥测方法。中国专利,公开日为2022.08.16,公开号为CN114915995A,专利名称为基于带内网络遥测的网络切片监测方法、系统和存储介质,公开了一种基于带内网络遥测的网络切片监测方法。但根据上述文献,负责转发的源路由转发栈保存的是转发路径中的一系列端口号,如果转发路径过长,会导致负责转发的段路由转发栈中的转发端口号列表过长;仅是针对节点的遥测,没有考虑到链路需要遥测的情况;设计的数据包结构是仅适用在IPv4网络环境中;遥测数据包中仅有一个遥测指令位图字段,所有的遥测节点都遵循同一个遥测策略,收集到的都是相同类型的遥测内容,所以针对不同的节点无法实现不同的遥测策略;IPv4的源路由技术是将源路由信息加载到IPv4头部中的可选字段,留给源路由的空间相对不足,而在IPv6中采用扩展报头的形式,IPv4的源路由技术相比较于IPv6中的SRv6技术可扩展性较差等问题。
通过上述分析,现有技术存在的问题及缺陷为:
1.带内网络遥测所引入的开销过大和网络遥测的不灵活;
2.负责转发的源路由转发栈中的数据列表长度太长;
3.无法收集链路的状态信息;
4.采用双栈遥测数据分组格式,使得负责转发的源路由转发栈和负责记录转发路径上遥测数据的INT标签栈之间失去了直接关联,在每个节点需要对源路由转发栈和INT标签栈一共进行两次寻址对比操作,判断节点是否为收集节点;
5.仅适用于IPv4网络环境;
6.采用的源路由机制是基于IPv4的源路由方案,相比较SRv6可扩展性较差。
发明内容
本发明的目的是基于SRv6与INT的网络测量方法和装置,能够实现在IPv6网络环境下,利用SRv6和INT共同完成对IPv6网络的灵活探测,并获取客制化的网络状态信息。
本发明的一个方案为,一种基于SRv6与INT的网络测量装置,包括:
依次连接的应用平面、控制平面和数据平面;
应用平面分别包括遥测需求生成模块和遥测数据分析模块;
控制平面包括数据包生成模块,数据包生成模块连接有路径生成模块,路径生成模块与遥测需求生成模块连接;控制平面还包括遥测监测模块,遥测监测模块与遥测数据分析模块连接;
数据平面包括依次连接的源节点、交换机和终点节点;源节点与数据包生成模块连接;终点节点与遥测监测模块连接。
本发明的另一个方案为,一种基于SRv6与INT的网络测量方法,具体实施步骤如下:
步骤1、遥测需求生成模块根据用户在具有M个节点和Z个链路的网络拓扑G(V,E)中选定的待测节点集合{V1,…,Vn,…,VN}和待测链路集合{E1,…,Ek,…,EK},生成不同的客制化遥测需求并下发到路径生成模块202;其中:N≤M,K≤Z;Vn表示第n个待测节点,Ek表示第k个待测链路;
步骤2、路径生成模块接收遥测需求,并结合网络拓扑G(V,E)生成覆盖待测节点集合{V1,V2,…,Vn}和待测链路集合{E1,E2,…,Ek}的最小代价路径,根据最小代价路径规划Segment Routing遥测路径,将Segment Routing遥测路径下发到遥测数据包生成模块;
步骤3、遥测数据包生成模块接收并根据Segment Routing遥测路径,生成具有INT功能的SRv6遥测数据包,下发到源节点;
步骤4、源节点接收并将具有INT功能的SRv6遥测数据包按照路由规则进行转发到终点节点;转发过程中,交换机进行遥测数据的收集,得到具有INT功能的SRv6遥测数据包收集后的遥测数据;
步骤5、遥测监测模块接收具有INT功能的SRv6遥测数据包收集后的遥测数据并整理打包,得到整理后的遥测数据,发送到遥测数据分析模块;
步骤6、遥测数据分析模块接收整理后的遥测数据,根据整理后的遥测数据来判断并预测当前网络的状态情况,进而来指导网络的运维工作。
本发明的特点还在于:
步骤2中,在已知的网络拓扑G(V,E)基础上,结合网络中相连节点之间的带宽利用率B和传输时延T,计算网路拓扑中各个节点之间链路的代价值C;链路的代价值取决于链路的带宽利用率B和传输时延T,某条链路的带宽利用率越高和时延越高,说明该条链路越拥塞,对应的代价值就越大,所以两个节点之间链路的代价值C=α*T+β*B;
利用Floyd算法,将网络拓扑G(V,E)中不同节点之间链路的代价值C作为拓扑图的权值,来计算出网络拓扑中不同节点之间的最短路径以及其相应的代价值Cij;
结合不同节点之间的最短路径,利用源节点(301)、终点节点(303)、待测节点集合{V1,…,Vn,…,VN}以及待测路径集合{E1,…,Ek,…,EK}相关信息,生成网络拓扑辅助图G′(V′,E′);将待测链路集合{E1,…,Ek,…,EK}中的链路Ek视作为超节点,生成超节点集合{VN+1,…,VN+K};
在网络拓扑辅助图G′(V′,E′)上,计算源节点(301)和终点节点(303)之间的最小代价的哈密尔顿通路,即生成一条从源节点(301)出发,终止于终点节点(303),且包含了网络中待测节点集合和待测链路集合的遥测路径。
步骤3中,初始化IPv6遥测数据包中的SRH头部,根据哈密尔顿通路得到的SegmentRouting遥测路径来生成SRH中的Segment List;
根据哈密尔顿通路得到的Segment Routing遥测路径来初始化INT头部;
控制平面中的数据包生成模块根据遥测路径和遥测需求生成相应具有INT功能的SRv6遥测数据包,并将该数据包从控制平面发送到数据平面中的源节点。
步骤4中,将生成的具有INT功能的SRv6遥测数据包从源节点发送到终点节点,遥测数据包在网络内的转发过程中进行待测节点和待测链路的网络状态收集,并将收集到的网络状态信息作为元数据插入到遥测数据包的INT报文中;提取INT报文中的所有元数据字段,将其打包发送到监测平台。
步骤5中,由于将待测链路的测量指标分解为两个节点的测量指标,需要将有关待测链路的两个测量结果进行处理,将其还原为关于待测链路的测量结果;最后将所有的遥测数据打包发送到监测平台。
本发明的有益效果是:
1.采用SRv6和INT技术,可以实现对网络中指定节点和链路的遥测,并且可以针对不同的节点或者链路设置不同的测量指标,以实现遥测内容的客制化;
2.本发明适用于IPv6网络环境,具有更广泛的使用场景和未来前景;
3.本发明利用链路性能指标的对等转换来实现针对链路的性能测量;
4.本发明利用SRv6技术,仅在SRH中保存待测节点和待测链路等相关信息,大大减少了栈的深度,同时本发明将每个节点的遥测指令位图插入在SRH中Segment List的可选参数段的Arguments中,使得待测节点信息和指令位图位于同一个部分,既减少了二次寻址的操作,又实现了客制化网络测量工作;
5.如果网络中的非待测节点部分发生了变化时,不需要再次重新生成相关的Segment List,稳定性得到了提升。
附图说明
图1是本发明一种基于SRv6与INT的网络测量装置的架构图;
图2是本发明一种基于SRv6与INT的网络测量方法的主要流程图;
图3是本发明一种基于SRv6与INT的网络测量方法的遥测路径生成流程图;
图4是本发明一种基于SRv6与INT的网络测量方法的遥测数据包结构图;
图5是本发明一种基于SRv6与INT的网络测量方法的INT头部图;
图6是本发明一种基于SRv6与INT的网络测量方法的数据包处理流程图;
图中,1.应用平面,2.控制平面,3.数据平面,101.遥测需求生成模块,102.遥测数据分析模块,201.数据包生成模块,202.述路径生成模块,203.遥测监测模块,301.源节点,302.交换机,303.终点节点。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
本发明提供了一种基于SRv6与INT的网络测量装置,整个网络遥测装置架构,如图1所示,本发明所提出的网络遥测装置架构以控制平面2作为核心,应用平面1为用户提供SDN服务,数据平面3用来承载网络中的业务传输。应用平面1,控制平面2和数据平面3依次连接。
用户在应用平面1,通过遥测需求生成模块101选定待测节点集合和待测链路集合及其需要遥测的内容,将遥测需求通过接口传送到位于控制平面2的路径生成模块202,路径生成模块202根据遥测需求以及底层网络拓扑生成一条最小代价的段路由,同样位于控制平面2的遥测数据包生成模块201会根据该段路由以及遥测需求生成满足要求的遥测数据包,并将其发送到数据平面3中的源节点301,遥测数据包会在数据平面3中完成遥测数据的收集工作,并在终点节点303将收集的遥测数据发送到位于控制平面2的遥测监测模块203,遥测监测模块203会对遥测数据进行预处理工作,将处理好的数据发送到位于应用平面1的遥测数据分析模块102,遥测数据分析模块102会对遥测数据进行分析,用于判断或预测网络的状态情况,以便指导网络运维等相关工作。
本发明提供了一种基于SRv6与INT的网络测量方法,如图2所示,具体按照以下步骤实施:
步骤1、遥测需求生成模块101根据用户在具有M个节点和Z个链路的网络拓扑G(V,E)中选定的待测节点集合{V1,…,Vn,…,VN}和待测链路集合{E1,…,Ek,…,EK},生成不同的客制化遥测需求并下发到路径生成模块202;其中:N≤M,K≤Z;Vn表示第n个待测节点,Ek表示第k个待测链路;
步骤2、路径生成模块202接收遥测需求,并结合网络拓扑G(V,E)生成覆盖待测节点集合{V1,…,Vn,…,VN}和待测链路集合{E1,…,Ek,…,EK}的最小代价路径,根据最小代价路径规划Segment Routing遥测路径,将Segment Routing遥测路径下发到遥测数据包生成模块201;
步骤2.1、在已知的网络拓扑G(V,E)基础上,结合网络中相连节点之间的带宽利用率B和传输时延T,计算网路拓扑中各个节点之间链路的代价值C;链路的代价值取决于链路的带宽利用率B和传输时延T,某条链路的带宽利用率越高和时延越高,说明该条链路越拥塞,对应的代价值就越大,所以两个节点之间链路的代价值C=α*T+β*B;
步骤2.2、利用Floyd算法,将网络拓扑G(V,E)中不同节点之间链路的代价值C作为拓扑图的权值,来计算出网络拓扑中不同节点之间的最短路径以及其相应的代价值Cij;
步骤2.3、结合不同节点之间的最短路径,利用源节点301、终点节点303、待测节点集合{V1,…,Vn,…,VN}以及待测路径集合{E1,…,Ek,…,EK}等相关信息,生成网络拓扑辅助图G′(V′,E′);
步骤2.3.1、将待测链路集合{E1,…,Ek,…,EK}中的链路Ek视作为超节点,生成超节点集合{VN+1,…,VN+K};
步骤2.3.2、将待测节点集合、超节点集合、源节点301和终点节点303进行组合生成辅助图节点集合{V1,V2,…,VN,VN+1,…,VN+K,Vstart,Vend},当某些待测节点既在待测节点集合中,又属于超节点集合中时,需要将该待测节点在辅助图节点集合中去重;其中:Vstart表示源节点301,Vend表示终点节点303;
步骤2.3.3、辅助图节点集合中,普通节点之间的链路权值依照步骤2.2中的代价值来计算,由于超节点是一条链路由两个节点构成,所以普通节点与超节点之间的链路权值为两者之间不同节点的代价值均值,超节点之间的链路权值也为两者之间不同节点的代价值均值;
步骤2.3.4、利用辅助图节点集合中的节点来构建完全图,即所有节点之间都有建立直连的链路,其中节点之间的链路权值依照步骤2.3.2中的计算方法来决定,由此来生成网络拓扑辅助图G′(V′,E′);
步骤2.4、在网络拓扑辅助图G′(V′,E′)上计算源节点301和终点节点303之间的最小代价的哈密尔顿通路,即生成一条从源节点301出发,终止于终点节点303,且包含了网络中待测节点集合和待测链路集合的遥测路径;
步骤2.4.1、利用哈密尔顿通路算法,在网络拓扑辅助图G′(V′,E′)上计算出从源节点301出发终止于终点节点303的最小代价哈密尔顿通路;
步骤2.4.2、复原哈密尔顿通路中的超节点,通过计算哈密尔顿通路中超节点的相邻节点之间经过超节点的两个端点的最短路径,决定超节点中待测链路的两个端点在哈密尔顿通路中的先后顺序,由此生成一条包含了网络中待测节点集合{V1,…,Vn,…,VN}和待测链路集合{E1,…,Ek,…,EK}的遥测路径P={Vstart,V′1,…,V′m,Vend},其中:V′m表示遥测路径上节点。
步骤3、遥测数据包生成模块201接收并根据Segment Routing遥测路径,生成具有INT功能的SRv6遥测数据包,下发到源节点301;
步骤3.1、初始化IPv6遥测数据包中的SRH头部,根据哈密尔顿通路得到的SegmentRouting遥测路径来生成SRH中的Segment List;
步骤3.1.1、在哈密尔顿通路得到的Segment Routing中,待测链路是由构成其的两个节点的形式存在,所以将待测链路的测量指标也分解为两个节点的测量指标;
步骤3.1.2、将待测链路和待测节点的测量指标转化为相应的指令位图,将生成的遥测路径转化为:
P={(Vstart,0),(V′1,0),(V′2,B1),…,(V′m,Bm-1),(Vend,Bm)},其中,设定源节点301和终点节点303没有遥测需求,其中:Bm表示遥测路径上节点V′m的遥测指令位图,Vstart表示源节点(301),Vend表示终点节点(303);
步骤3.1.3、生成Segment List,SRv6中的Segment List是由一系列的SRv6 SID所构成,SRv6 SID由三部分组成:具有定位功能的Locator,代表设备的指令的Function和可选参数段的Arguments;利用遥测路径P={(Vstart,0),(V′1,0),(V′2,B1),…,(V′m,Bm-1),(Vend,Bm)}来生成Segment List,遥测路径P中的每个元素都是一个二元组,二元组的第一个元素是节点标号,二元组的第二个元素是节点的指令位图,遥测路径P的前两个节点仅用于生成IPv6数据包头部源地址和目的地址,它们的指令位图均为0;第三个节点开始遍历遥测路径P={(Vstart,0),(V′1,0),(V′2,B1),…,(V′m,Bm-1),(Vend,Bm)},V′m的用来填充SID中具有定位功能的Locator,Bm用来填充作为指令位图使用的可选参数段Arguments;
步骤3.2、根据哈密尔顿通路得到的Segment Routing遥测路径来初始化INT头部;
步骤3.2.1、在SRv6报文之后添加INT报文,将SRH中的Next Header字段设置为255,用于表示SRv6报文后的下一个报文为INT报文;
步骤3.2.2、初始化INT报文中的Length字段为2,Length字段的单位为4Byte,用于表示INT报文的长度,INT报文初始长度为8Byte;
步骤3.2.3、初始化INT报文中的Flag字段,用于来表示INT报文的状态;
步骤3.2.4、初始化INT报文中的Header Checksum字段,用于对INT报文的校验和;
步骤3.3、控制平面中的数据包生成模块201根据遥测路径和遥测需求生成相应具有INT功能的SRv6遥测数据包,并将该数据包从控制平面发送到数据平面中的源节点301;
步骤4、源节点301接收并将具有INT功能的SRv6遥测数据包按照路由规则进行转发到终点节点303;转发过程中,交换机302进行遥测数据的收集,得到具有INT功能的SRv6遥测数据包收集后的遥测数据;
网络中节点针对遥测数据包的处理流程图,如图6所示;
步骤4.1、将生成的具有INT功能的SRv6遥测数据包从源节点301发送到终点节点303,遥测数据包在网络内的转发过程中进行待测节点和待测链路的网络状态收集,并将收集到的网络状态信息作为元数据插入到遥测数据包的INT报文中;
(1)源节点301收到一个IPv6数据包时,如果该数据包的IPv6头部后紧跟着头部类型为43的SRH和头部类型为255的INT头部字段,则说明该数据包为一个具有INT功能的SRv6遥测数据包,源节点301根据IPv6头部中的目的地址进行转发;
如果带有SRH和INT头部的IPv6数据包的目的节点与节点的地址一致,则称该节点为端节点;
(2)端节点收到一个带有SRH和INT头部的IPv6数据包时,首先判断SRH中剩余Segment字段是否大于0,如果大于0,说明该节点为需要遥测的目标节点,其次将SRH中剩余Segment字段值递减,然后根据剩余Segment字段值更新IPv6头部中目的地址为Segment列表中的下一个Segment对应的IPv6地址,接着按照对应Segment列表中Arguments字段的指令位图将对应的遥测信息插入到INT报文中的元素据字段,同时更新INT头部中的校验和字段,最后按照路由表将数据包转发到相应的端口;
(3)中转节点是数据包转发路径上的一个节点,但不属于端节点,此类节点不需要处理SRH和INT头部,只是按照路由表将数据包转发到相应的端口;
(4)源节点301、中转节点收到普通数据包时,仅需要查表转发即可;
(5)终点节点属于端节点;当终点节点收到一个带有SRH和INT头部的IPv6数据包时,首先将INT报文中的元数据字段值提取出来,然后根据INT头部中的Flag字段值中的D位来判断是否需要丢弃数据包,如果不丢弃,则处理数据包中的上层协议,否则直接丢弃数据包;
步骤4.2、提取INT报文中的所有元数据字段,将其打包发送到监测平台。
步骤5、遥测监测模块203接收所述具有INT功能的SRv6遥测数据包收集后的遥测数据并整理打包,得到整理后的遥测数据,发送到遥测数据分析模块102;
由于将待测链路的测量指标分解为两个节点的测量指标,需要将有关待测链路的两个测量结果进行处理,将其还原为关于待测链路的测量结果;最后将所有的遥测数据打包发送到应用平面1中的遥测数据分析模块102。
步骤6、遥测数据分析模块102接收整理后的遥测数据,根据整理后的遥测数据来判断并预测当前网络的状态情况,进而来指导网络的运维工作。
在本发明一种基于SRv6与INT的网络测量方法中:
步骤1的作用为遥测需求生成模块101生成遥测需求,其原理是:遥测需求生成模块101位于应用平面1,用户通过该模块来选择待测节点集合和待测链路集合,同时为不同的待测节点和待测链路制定客制化的遥测需求。
步骤2的作用为路径生成模块202生成遥测路径,其原理是:如图3所示,在网络拓扑中利用Floyd算法,计算每个网络节点之间的代价值,将待测链路视为超节点,与待测节点集合、源节点301和终点节点303组合生成网络拓扑辅助图,在辅助图上求解源节点301和终点节点303之间的最小代价的哈密尔顿通路,即生成一条代价值最小的遥测路径。其中关于辅助图的构建,需要利用到待测节点集合、待测链路集合、源节点301和终点节点303。对于待测链路集合,将每条待测链路视为一个超节点;利用待测节点集合、超节点集合、源节点301和终点节点303构建具有全连接性质的辅助图,其中节点之间的代价值依照Floyd算法求得的最短路径代价值,其中超节点与普通节点之间的链路代价值为普通节点到超节点内部两个节点之间代价值的均值,超节点之间的代价值取两对节点之间的相互代价值均值。以此来建立辅助图。
求解出符合条件的哈密尔顿通路后,需要还原其中的超节点,即超节点中两个节点的排列顺序。根据哈密尔顿通路中超节点的前后节点来计算待测链路的节点在哈密尔顿通路中的排列顺序。
步骤3的作用为遥测数据包生成模块201生成遥测数据包,其原理是:遥测数据包生成模块201,根据路径生成模块202生成的遥测路径来初始化IPv6遥测数据包的SRH和初始化INT头部,根据待测节点和待测链路的遥测需求实现遥测节点的指令位图生成,并在源节点301注入具有INT功能的SRv6遥测数据包。如图4及图5所示,SRH和INT头部依次作为扩展头部位于IPv6头部之后。SRH中的Segment List按照哈密尔顿通路中的节点顺序来构建,其中SRH有三部分组成,具有定位功能的Locator,代表设备的指令的Function和可选参数段的Arguments,将每个节点的遥测指令位图放置在可选参数段,用于指示SRv6可编程交换机实现遥测数据的收集。INT头部主要由下一报头、类型、标志位、元数据索引、头部校验和INT元数据堆栈组成。
步骤4的作用为交换机302对待测节点和待测链路进行遥测数据的收集。
步骤5的作用为遥测监测模块203监测网络状态信息,其原理是:遥测监测模块203位于控制平面,该模块用于分析处理遥测数据,将遥测数据包收集到的遥测信息进行处理。
步骤6的作用为遥测数据分析模块102分析网络状态,其原理是:遥测数据分析模块102位于应用平面,对收集上来的遥测数据进行分析,判断或预测网络的状态情况,可以用于指导网络运维工作,有助于快速预测网络状态和进行故障定位。
本发明基于SRv6与INT的网络测量方法优点在于:主要为采用SRv6和INT技术,可以实现对网络中指定节点和链路的遥测,并且可以针对不同的节点或者链路设置不同的测量指标,以实现遥测内容的客制化。由于采用段路由技术,在指引数据包转发的同时,既减少了段列表过长的问题,又避免非必要节点的遥测信息收集。
Claims (10)
1.一种基于SRv6与INT的网络测量装置,其特征在于,包括:依次连接的应用平面(1)、控制平面(2)和数据平面(3);
所述应用平面(1)分别包括遥测需求生成模块(101)和遥测数据分析模块(102);
所述控制平面(2)包括数据包生成模块(201),所述数据包生成模块(201)连接有路径生成模块(202),所述路径生成模块(202)与所述遥测需求生成模块(101)连接;所述控制平面(2)还包括遥测监测模块(203),所述遥测监测模块(203)与所述遥测数据分析模块(102)连接;
所述数据平面(3)包括依次连接的源节点(301)、交换机(302)和终点节点(303);所述源节点(301)与所述数据包生成模块(201)连接;所述终点节点(303)与所述遥测监测模块(203)连接。
2.一种基于SRv6与INT的网络测量方法,其特征在于,该方法使用权利要求1所述的网络测量装置,具体按照以下步骤实施:
步骤1、遥测需求生成模块(101)根据用户在具有M个节点和Z个链路的网络拓扑G(V,E)中选定的待测节点集合{V1,…,Vn,…,VN}和待测链路集合{E1,…,Ek,…,EK},生成不同的客制化遥测需求并下发到路径生成模块(202);其中:N≤M,K≤Z;Vn表示第n个待测节点,Ek表示第k个待测链路;
步骤2、路径生成模块(202)接收遥测需求,并结合网络拓扑G(V,E)生成覆盖所述待测节点集合{V1,…,Vn,…,VN}和所述待测链路集合{E1,…,Ek,…,EK}的最小代价路径,根据最小代价路径规划Segment Routing遥测路径,将Segment Routing遥测路径下发到遥测数据包生成模块(201);
步骤3、遥测数据包生成模块(201)接收并根据所述Segment Routing遥测路径,生成具有INT功能的SRv6遥测数据包,下发到源节点(301);
步骤4、源节点(301)接收并将所述具有INT功能的SRv6遥测数据包按照路由规则进行转发到终点节点(303);转发过程中,交换机(302)进行遥测数据的收集,得到具有INT功能的SRv6遥测数据包收集后的遥测数据;
步骤5、遥测监测模块(203)接收所述具有INT功能的SRv6遥测数据包收集后的遥测数据并整理打包,得到整理后的遥测数据,发送到遥测数据分析模块(102);
步骤6、遥测数据分析模块(102)接收所述整理后的遥测数据,根据所述整理后的遥测数据来判断并预测当前网络的状态情况,进而来指导网络的运维工作。
3.根据权利要求2所述的一种基于SRv6与INT的网络测量方法,其特征在于,所述步骤2具体按照以下步骤实施:
步骤2.1、在已知的网络拓扑G(V,E)基础上,结合网络中相连节点之间的带宽利用率B和传输时延T,计算网路拓扑中各个节点之间链路的代价值C;链路的代价值取决于链路的带宽利用率B和传输时延T,某条链路的带宽利用率越高和时延越高,说明该条链路越拥塞,对应的代价值就越大,所以两个节点之间链路的代价值C=α*T+β*B;
步骤2.2、利用Floyd算法,将网络拓扑G(V,E)中不同节点之间链路的代价值C作为拓扑图的权值,来计算出网络拓扑中不同节点之间的最短路径以及其相应的代价值Cij;
步骤2.3、结合不同节点之间的最短路径,利用源节点(301)、终点节点(303)、待测节点集合{V1,…,Vn,…,VN}以及待测路径集合{E1,…,Ek,…,EK}相关信息,生成网络拓扑辅助图G′(V′,E′);
步骤2.4、在网络拓扑辅助图G′(V′,E′)上,计算源节点(301)和终点节点(303)之间的最小代价的哈密尔顿通路,即生成一条从源节点(301)出发,终止于终点节点(303),且包含了网络中待测节点集合和待测链路集合的遥测路径。
4.根据权利要求3所述的一种基于SRv6与INT的网络测量方法,其特征在于,所述步骤2.3中具体按照以下步骤实施:
步骤2.3.1、将待测链路集合{E1,…,Ek,…,EK}中的链路Ek视作为超节点,生成超节点集合{VN+1,…,VN+K};
步骤2.3.2、将待测节点集合、超节点集合、源节点(301)和终点节点(303)合并成辅助图节点集合{V1,V2,…,VN,VN+1,…,VN+K,Vstart,Vend},当待测节点既在待测节点集合中,又属于超节点集合中时,需要将该待测节点在辅助图节点集合中去重;其中:Vstart表示源节点(301),Vend表示终点节点(303);
步骤2.3.3、辅助图节点集合中,普通节点之间的链路权值依照步骤2.2中的代价值来计算,由于超节点是一条链路由两个节点构成,所以普通节点与超节点之间的链路权值为两者之间不同节点的代价值均值,超节点之间的链路权值也为两者之间不同节点的代价值均值;
步骤2.3.4、利用辅助图节点集合中的节点来构建完全图,即所有节点之间都有建立直连的链路,其中节点之间的链路权值依照步骤2.3.2中的计算方法来决定,由此来生成网络拓扑辅助图G′(V′,E′)。
5.根据权利要求3所述的一种基于SRv6与INT的网络测量方法,其特征在于,所述步骤2.4中具体按照以下步骤实施:
步骤2.4.1、利用哈密尔顿通路算法,在网络拓扑辅助图G′(V′,E′)上计算出从源节点(301)出发终止于终点节点(303)的最小代价哈密尔顿通路;
步骤2.4.2、复原哈密尔顿通路中的超节点,通过计算哈密尔顿通路中超节点的相邻节点之间经过超节点的两个端点的最短路径,决定超节点中待测链路的两个端点在哈密尔顿通路中的先后顺序,由此生成一条包含了网络中待测节点集合{V1,…,Vn,…,VN}和待测链路集合{E1,…,Ek,…,EK}的遥测路径P={Vstart,V′1,…,V′m,Vend},其中:V′m表示遥测路径上节点。
6.根据权利要求2所述的一种基于SRv6与INT的网络测量方法,其特征在于,所述步骤3具体按照以下步骤实施:
步骤3.1、初始化IPv6遥测数据包中的SRH头部,根据哈密尔顿通路得到的SegmentRouting遥测路径来生成SRH中的Segment List;
步骤3.2、根据哈密尔顿通路得到的Segment Routing遥测路径来初始化INT头部;
步骤3.3、控制平面(2)中的数据包生成模块(201)根据遥测路径和遥测需求生成相应具有INT功能的SRv6遥测数据包,并将该数据包从控制平面(2)发送到数据平面(3)中的源节点(301)。
7.根据权利要求6所述的一种基于SRv6与INT的网络测量方法,其特征在于,所述步骤3.1中具体按照以下步骤实施:
步骤3.1.1、在哈密尔顿通路得到的Segment Routing中,待测链路是由构成其的两个节点的形式存在,所以将待测链路的测量指标也分解为两个节点的测量指标;
步骤3.1.2、将待测链路和待测节点的测量指标转化为相应的指令位图,生成的遥测路径转化为P={(Vstart,0),(V′1,0),(V′2,B1),…,(V′m,Bm-1),(Vend,Bm)},其中,设定源节点(301)和终点节点(303)没有遥测需求,其中:Bm表示遥测路径上节点V′m的遥测指令位图,Vstart表示源节点(301),Vend表示终点节点(303);
步骤3.1.3、生成Segment List,SRv6中的Segment List是由一系列的SRv6 SID所构成,SRv6 SID由三部分组成:具有定位功能的Locator,代表设备的指令的Function和可选参数段的Arguments;利用遥测路径P={(Vstart,0),(V′1,0),(V′2,B1),…,(V′m,Bm-1),(Vend,Bm)}生成Segment List。
8.根据权利要求6所述的一种基于SRv6与INT的网络测量方法,其特征在于,所述步骤3.2中具体按照以下步骤实施:
步骤3.2.1、在SRv6报文之后添加INT报文,将SRH中的Next Header字段设置为255,用于表示SRv6报文后的下一个报文为INT报文;
步骤3.2.2、初始化INT报文中的Length字段为2,Length字段的单位为4Byte,用于表示INT报文的长度,INT报文初始长度为8Byte;
步骤3.2.3、初始化INT报文中的Flag字段,应用于表示INT报文的状态;
步骤3.2.4、初始化INT报文中的Header Checksum字段,用于对INT报文的校验和。
9.根据权利要求2所述的一种基于SRv6与INT的网络测量方法,其特征在于,所述步骤4具体按照以下步骤实施:
步骤4.1、将具有INT功能的SRv6遥测数据包从源节点(301)发送到终点节点(303),遥测数据包在网络内的转发过程中进行待测节点和待测链路的网络状态收集,并将收集到的网络状态信息作为元数据插入到遥测数据包的INT报文中;
(1)源节点(301)收到一个IPv6数据包时,如果该数据包的IPv6头部后紧跟着头部类型为43的SRH和头部类型为255的INT头部字段,则说明该数据包为一个具有INT功能的SRv6遥测数据包,源节点(301)根据IPv6头部中的目的地址进行转发;如果带有SRH和INT头部的IPv6数据包的目的节点与节点的地址一致,则称该节点为端节点;
(2)端节点收到一个带有SRH和INT头部的IPv6数据包时,首先判断SRH中剩余Segment字段是否大于0,如果大于0,说明该节点为需要遥测的目标节点,其次将SRH中剩余Segment字段值递减,然后根据剩余Segment字段值更新IPv6头部中目的地址为Segment列表中的下一个Segment对应的IPv6地址,接着按照对应Segment列表中Arguments字段的指令位图将对应的遥测信息插入到INT报文中的元素据字段,同时更新INT头部中的校验和字段,最后按照路由表将数据包转发到相应的端口;
(3)中转节点是数据包转发路径上的一个节点,但不属于端节点,此类节点不需要处理SRH和INT头部,只是按照路由表将数据包转发到相应的端口;
(4)源节点(301)、中转节点收到普通数据包时,仅需要查表转发即可;
(5)终点节点属于端节点;当终点节点收到一个带有SRH和INT头部的IPv6数据包时,首先将INT报文中的元数据字段值提取出来,然后根据INT头部中的Flag字段值中的D位来判断是否需要丢弃数据包,如果不丢弃,则处理数据包中的上层协议,否则直接丢弃数据包;
步骤4.2、提取INT报文中的所有元数据字段,将其打包发送到监测平台。
10.根据权利要求2所述的一种基于SRv6与INT的网络测量方法,其特征在于,所述步骤5具体按照以下步骤实施:由于将待测链路的测量指标分解为两个节点的测量指标,需要将有关待测链路的两个测量结果进行处理,将其还原为关于待测链路的测量结果;最后将所有的遥测数据打包发送到监测平台。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211374811.9A CN115766552B (zh) | 2022-11-04 | 2022-11-04 | 基于SRv6与INT的网络测量方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211374811.9A CN115766552B (zh) | 2022-11-04 | 2022-11-04 | 基于SRv6与INT的网络测量方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115766552A true CN115766552A (zh) | 2023-03-07 |
CN115766552B CN115766552B (zh) | 2024-05-31 |
Family
ID=85356265
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211374811.9A Active CN115766552B (zh) | 2022-11-04 | 2022-11-04 | 基于SRv6与INT的网络测量方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115766552B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117880205A (zh) * | 2024-01-23 | 2024-04-12 | 北京邮电大学 | 负载均衡的优化方法、相关服务器及系统 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1372740A (zh) * | 1999-07-09 | 2002-10-02 | 马利布网络有限公司 | Tcp/ip以分组为中心的无线传输系统结构 |
CN1588884A (zh) * | 2004-07-06 | 2005-03-02 | 北京航空航天大学 | IPv6因特网网络拓扑自动发现方法 |
WO2016038139A1 (en) * | 2014-09-12 | 2016-03-17 | Voellmy Andreas R | Managing network forwarding configurations using algorithmic policies |
CN112491489A (zh) * | 2020-11-27 | 2021-03-12 | 清华大学 | 基于带内遥测进行时间同步的方法、装置和系统 |
US20210119895A1 (en) * | 2018-06-25 | 2021-04-22 | Huawei Technologies Co., Ltd. | Network Performance Parameter Sending Method, Network Performance Calculation Method, and Network Node |
CN112702330A (zh) * | 2020-12-21 | 2021-04-23 | 网络通信与安全紫金山实验室 | 面向Overlay网络的轻量级带内网络遥测方法、装置及存储介质 |
CN113259238A (zh) * | 2020-02-07 | 2021-08-13 | 中国移动通信有限公司研究院 | 分段标识的处理方法及设备 |
CN113315697A (zh) * | 2020-02-26 | 2021-08-27 | 华为技术有限公司 | 报文处理方法、装置、网络设备及存储介质 |
CN113676550A (zh) * | 2021-09-04 | 2021-11-19 | 中国人民解放军国防科技大学 | 基于SRv6和网络测量的网络报文时延确定性传输方法 |
CN113810225A (zh) * | 2021-09-03 | 2021-12-17 | 中科南京信息高铁研究院 | Sdn网络的带内网络遥测探测路径规划方法及系统 |
CN114050994A (zh) * | 2021-11-11 | 2022-02-15 | 东南大学 | 一种基于SRv6的网络遥测方法 |
CN114866431A (zh) * | 2022-04-28 | 2022-08-05 | 深圳智芯微电子科技有限公司 | 基于int预测sfc网络故障的方法、装置及处理器 |
CN114978976A (zh) * | 2022-04-14 | 2022-08-30 | 北京邮电大学 | SRv6融合网络的数据异常检测方法及装置 |
CN115225550A (zh) * | 2022-07-18 | 2022-10-21 | 北京交通大学 | 一种基于分簇的路径规划算法的按需全网遥测装置 |
-
2022
- 2022-11-04 CN CN202211374811.9A patent/CN115766552B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1372740A (zh) * | 1999-07-09 | 2002-10-02 | 马利布网络有限公司 | Tcp/ip以分组为中心的无线传输系统结构 |
CN1588884A (zh) * | 2004-07-06 | 2005-03-02 | 北京航空航天大学 | IPv6因特网网络拓扑自动发现方法 |
WO2016038139A1 (en) * | 2014-09-12 | 2016-03-17 | Voellmy Andreas R | Managing network forwarding configurations using algorithmic policies |
US20210119895A1 (en) * | 2018-06-25 | 2021-04-22 | Huawei Technologies Co., Ltd. | Network Performance Parameter Sending Method, Network Performance Calculation Method, and Network Node |
CN113259238A (zh) * | 2020-02-07 | 2021-08-13 | 中国移动通信有限公司研究院 | 分段标识的处理方法及设备 |
CN113315697A (zh) * | 2020-02-26 | 2021-08-27 | 华为技术有限公司 | 报文处理方法、装置、网络设备及存储介质 |
CN112491489A (zh) * | 2020-11-27 | 2021-03-12 | 清华大学 | 基于带内遥测进行时间同步的方法、装置和系统 |
CN112702330A (zh) * | 2020-12-21 | 2021-04-23 | 网络通信与安全紫金山实验室 | 面向Overlay网络的轻量级带内网络遥测方法、装置及存储介质 |
CN113810225A (zh) * | 2021-09-03 | 2021-12-17 | 中科南京信息高铁研究院 | Sdn网络的带内网络遥测探测路径规划方法及系统 |
CN113676550A (zh) * | 2021-09-04 | 2021-11-19 | 中国人民解放军国防科技大学 | 基于SRv6和网络测量的网络报文时延确定性传输方法 |
CN114050994A (zh) * | 2021-11-11 | 2022-02-15 | 东南大学 | 一种基于SRv6的网络遥测方法 |
CN114978976A (zh) * | 2022-04-14 | 2022-08-30 | 北京邮电大学 | SRv6融合网络的数据异常检测方法及装置 |
CN114866431A (zh) * | 2022-04-28 | 2022-08-05 | 深圳智芯微电子科技有限公司 | 基于int预测sfc网络故障的方法、装置及处理器 |
CN115225550A (zh) * | 2022-07-18 | 2022-10-21 | 北京交通大学 | 一种基于分簇的路径规划算法的按需全网遥测装置 |
Non-Patent Citations (2)
Title |
---|
LIZHUANG TAN等: ""A Packet Loss Monitoring System for In-Band Network Telemetry: Detection, Localization, Diagnosis and Recovery"", 《IEEE》, 3 November 2021 (2021-11-03) * |
刘博闻等: """IOAM+SRv6"方案设计及实现"", 《电子设计工程》, 20 December 2021 (2021-12-20) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117880205A (zh) * | 2024-01-23 | 2024-04-12 | 北京邮电大学 | 负载均衡的优化方法、相关服务器及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN115766552B (zh) | 2024-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102823203B (zh) | 质量劣化部分分析系统、质量劣化部分分析设备、质量劣化部分分析方法和质量劣化部分分析程序 | |
EP2081321A2 (en) | Sampling apparatus distinguishing a failure in a network even by using a single sampling and a method therefor | |
CN111130928B (zh) | 广域网中基于带内探测的网络测量方法 | |
CN112564964A (zh) | 一种基于软件定义网络的故障链路检测与恢复方法 | |
WO2006137373A1 (ja) | 品質劣化箇所推定システム、及び品質劣化箇所推定方法 | |
CN115562879B (zh) | 算力感知方法、装置、电子设备和存储介质 | |
CN112769696B (zh) | 路由选择方法、网络控制器、系统和存储介质 | |
CN112350948B (zh) | 一种基于sdn的分布式网络溯源系统的分布式网络溯源方法 | |
US8824331B1 (en) | System and method for identifying an ingress router of a flow when no IP address is associated with the interface from which the flow was received | |
CN115766552B (zh) | 基于SRv6与INT的网络测量方法和装置 | |
CN105486976A (zh) | 一种故障定位的探测选择方法 | |
CN103731376A (zh) | 堆叠设备上链路汇聚根端口选择的方法及系统 | |
CN114915995A (zh) | 基于带内网络遥测的网络切片监测方法、系统和存储介质 | |
CN101622833B (zh) | 服务质量劣化点估计方法、服务质量劣化点估计设备和程序 | |
CN115442275A (zh) | 基于分级可信流的混合遥测方法和系统 | |
JP3430930B2 (ja) | パケット交換ネットワーク網におけるトラフィック推定方法および装置 | |
CN108494625A (zh) | 一种网络性能分析系统 | |
CN115225550B (zh) | 一种基于分簇的路径规划算法的按需全网遥测装置 | |
JP2002077161A (ja) | 通信ネットワーク構成推定方法および装置ならびに記録媒体 | |
CN112866052B (zh) | 网络链路状态的检测方法、检验矩阵的训练方法和装置 | |
CN114157595B (zh) | 一种通信系统、数据处理方法以及相关设备 | |
JP2005277834A (ja) | ネットワーク輻輳箇所推定装置、プログラム及びシステム | |
US7035225B2 (en) | Method of and apparatus for calculating transit traffic in individual routers | |
CN1234159A (zh) | 电信网中的分组路由选择 | |
JP4449665B2 (ja) | ネットワークにおける輻輳区間を推定する方法、プログラム、サーバ及びシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |