基于SRv6和网络测量的网络报文时延确定性传输方法技术

技术编号:30913278 阅读:12 留言:0更新日期:2021-11-23 00:01
本发明专利技术公开了一种基于SRv6和网络测量的网络报文时延确定性传输方法,目的是解决网络报文传输时延确定性问题。技术方案是构建网络报文时延确定性传输控制系统,网络控制节点上安装配置文件、初始化模块、路径计算模块、路径选择模块、测量数据接收模块,网络应用节点上安装传输代理模块。测量数据接收模块、路径计算模块、路径选择模块和传输代理模块并行工作,利用网络测量获得的网络拓扑数据以及转发节点的转发时延数据,根据网络流的传输时延要求计算出传输时延确定且传输时延满足网络流需求的传输路径,利用SRv6路由转发机制控制报文按照计算出的路径传输,实现网络流中每个报文传输时延确定且满足要求。文传输时延确定且满足要求。文传输时延确定且满足要求。

【技术实现步骤摘要】
基于SRv6和网络测量的网络报文时延确定性传输方法


[0001]本专利技术属于计算机网络
,尤其涉及一种基于SRv6(Segment Routing for IPv6即IPv6网络中的段路由)和网络测量的网络报文时延确定性传输方法。

技术介绍

[0002]IP网络是一种提供尽力而为服务的网络,无法在网络报文传输时延、传输路径、服务质量保证等方面提供确定性和差异性服务。
[0003]随着云计算、人工智能、移动互联网等技术发展,计算机网络规模迅速扩大,网络应用的种类和数量日益增多,网络用户对网络应用体验的要求越来越高,现有IP网络越来越无法满足网络传输和用户体验的需求。例如,对各类音视频应用来说,要求每个网络流的所有报文按照从服务端发出的顺序依次到达客户端。但是在现有IP网络中,基于分布式路由协议,在网络报文跨路由器传输时,同一个网络流的不同报文可能被路由至不同的路径传输至客户端,导致客户端网络应用出现卡顿等现象。同时,同一个网络流的不同报文到达客户端的顺序不同,将使得客户端为报文排序和重组浪费大量的算力,这与重云端、轻客户端的信息技术发展趋势相背离。因此实现网络中网络报文的时延确定性传输对于提高网络服务能力、提升用户服务体验有重要价值。
[0004]目前关于网络确定性的研究主要集中在TSN(Time Sensitive Network,时间敏感网络)
但是TSN的主要应用场景为工业互联网,尽管TSN可以提供非常高精度的报文传输时延,但是TSN网络需要专门设备和芯片的支持,并且需要部署新的网络协议(参见汪硕,王佳森,蔡磊,黄韬,卢华,刘韵洁.面向工业制造的确定性网络技术发展研究[J].中国工程科学,2021:1

174,宋华振.时间敏感型网络技术综述[J].自动化仪表,2020,041(002):1

9,全巍,付文文,孙志刚,等.枫林一号:一款面向高端装备定制的低功耗时间敏感网络芯片[J].计算机研究与发展,58(6):4.),无法在已经部署的IP网络中部署应用。对于目前已经部署的IP网络,若能实现网络报文传输的时延确定性(即报文在网络中传输的时间延迟能够确定)对提高网络服务质量和能力有很大价值,但是目前还没有公开技术方案涉及这一方面的技术手段。
[0005]SRv6是一种段路由技术,可以使得报文源节点能够控制报文的传输路径和经过的转发节点,在路由优化、流量工程等领域有广阔的应用前景。同时,由于SRv6技术兼容IPv6网络,可以在现有IP网络上进行增量部署,进而解决现有IP网络中的问题,因此成为科研院所、网络设备商和网络运营商在网络新
的研究热点。
[0006]本专利技术基于SDN(Solf Defining Network,软件定义网络)思想,利用SRv6技术以及网络测量数据,设计满足网络报文传输时延确定性要求的网络报文传输控制方法,以解决现有IP网络中网络报文传输的时延确定性问题。

技术实现思路

[0007]本专利技术要解决的技术问题是利用SRv6技术解决现有IP网络中网络报文传输的时
延确定性问题。
[0008]技术方案是:利用网络测量获得的网络拓扑数据以及每个转发节点的转发时延数据,根据每个网络流的传输时延要求,计算出传输时延确定且传输时延满足网络流需求的传输路径,并利用SRv6路由转发机制控制网络流每个报文按照计算出的路径传输,最终实现网络流中每个报文传输时延确定且满足要求。
[0009]第一步,构建网络报文时延确定性传输控制系统,方法是:
[0010]网络报文时延确定性传输控制系统由一个网络控制节点、M个网络应用节点组成。网络控制节点是服务器,其上安装有配置文件、初始化模块、路径计算模块、路径选择模块、测量数据接收模块。网络应用节点是服务器或者终端,其上安装有传输代理模块。
[0011]配置文件存储网络报文时延确定性传输控制系统运行所需的参数,包括网络中转发节点(即网络中转发报文的节点,上面不运行传输控制系统的模块)数量N(N为正整数,且N≥3),网络流传输失效时间T(T为正整数,单位为秒),报文传输路径中最大转发节点数量PN(PN为正整数,PN≤N),N个转发节点的编号及IP地址。
[0012]初始化模块与配置文件、路径计算模块、路径选择模块、传输代理模块相连。初始化模块从配置文件读取网络中转发节点数量N、网络流传输失效时间T、报文传输路径中最大节点数量PN,按照顺序分别从配置文件中读取N个转发节点的编号及IP地址,将转发节点IP地址存入IP地址数组ip_array,ip_array共有N个元素,每个元素有两个域,一个域为序号,存储一个转发节点的编号,另一个域为值,存储相应编号转发节点的IP地址。初始化模块将N发送给路径计算模块,将PN和ip_array发送给路径选择模块,将T发送给传输代理模块。
[0013]测量数据接收模块与路径计算模块、路径选择模块和外部网络测量系统(一般采用INT等技术实现,可参考Andrea Campanella,Jonghwan Hyun.In

band Network Telemetry(INT)with ONOS and P4[EB/OL]on Apr 25,2019(见https://wiki.onosproject.org/display/ONOS/In

band+Network+Telemetry+%28INT%29+with+ONOS+and+p4,2019

04

25.网络测量系统的实现)相连。测量数据接收模块监听外部网络测量系统,从外部网络测量系统接收网络拓扑数据和转发节点转发时延数据。网络拓扑数据由N个邻接表数据组成。测量数据接收模块将网络拓扑数据存入邻接表数组topo_array。topo_array中共有N个元素,每个元素存储一个邻接表数据。邻接表数据包括3个域:该邻接表代表的转发节点编号nid,与编号为nid的转发节点直接相连的转发节点个数an,与编号为nid的转发节点直接相连的转发节点编号数组id_array(id_arrray中每个元素存储与编号为nid的转发节点直接相连的一个转发节点的编号,共有an个元素)。测量数据接收模块将topo_array发送给路径计算模块。转发节点转发时延数据由N个时延数据组成。测量数据接收模块将转发节点时延数据存入转发时延数组delay_array。delay_array中共有N个元素,每个元素存储一个转发节点的转发时延,包括2个域:转发节点编号nid,转发节点的转发时延delay(正整数,以微秒为单位)。测量数据接收模块将delay_array发送给路径选择模块。
[0014]路径计算模块与初始化模块、测量数据接收模块和路径选择模块相连。路径计算模块从初始化模块接收网络中转发节点数量N和路径中最大转发节点数量PN,从测量数据接收模块接收邻接表数组topo_array。路径计算模块根据N、PN和topo_array计算本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于SRv6和网络测量的网络报文时延确定性传输方法,其特征在于包括以下步骤:第一步,构建网络报文时延确定性传输控制系统,方法是:网络报文时延确定性传输控制系统由一个网络控制节点、M个网络应用节点组成;网络控制节点是服务器,其上安装有配置文件、初始化模块、路径计算模块、路径选择模块、测量数据接收模块;网络应用节点是服务器或者终端,其上安装有传输代理模块;配置文件存储网络报文时延确定性传输控制系统运行所需的参数,包括网络中转发节点数量N,N为正整数,且N≥3,网络流传输失效时间T,报文传输路径中最大转发节点数量PN,PN为正整数且PN≤N,N个转发节点的编号及IP地址;初始化模块与配置文件、路径计算模块、路径选择模块、传输代理模块相连;初始化模块从配置文件读取网络中转发节点数量N、网络流传输失效时间T、报文传输路径中最大节点数量PN,按照顺序分别从配置文件中读取N个转发节点的编号及IP地址,将转发节点IP地址存入IP地址数组ip_array;初始化模块将N发送给路径计算模块,将PN和ip_array发送给路径选择模块,将T发送给传输代理模块;测量数据接收模块与路径计算模块、路径选择模块和外部网络测量系统相连;测量数据接收模块监听外部网络测量系统,从外部网络测量系统接收网络拓扑数据和转发节点转发时延数据;网络拓扑数据由N个邻接表数据组成;测量数据接收模块将网络拓扑数据存入邻接表数组topo_array;测量数据接收模块将topo_array发送给路径计算模块;转发节点转发时延数据由N个时延数据组成;测量数据接收模块将转发节点时延数据存入转发时延数组delay_array;测量数据接收模块将delay_array发送给路径选择模块;路径计算模块与初始化模块、测量数据接收模块和路径选择模块相连;路径计算模块从初始化模块接收网络中转发节点数量N和路径中最大转发节点数量PN,从测量数据接收模块接收邻接表数组topo_array;路径计算模块根据N、PN和topo_array计算网络中任意两个转发节点之间的所有传输路径,并存储于传输路径数组path_array中,路径计算模块将计算出的传输路径数组path_array发送给路径选择模块;传输代理模块与初始化模块、路径选择模块和外部网络应用相连;传输代理模块维护一个传输路径信息链表flow_path_list,链表中每个元素为网络流传输路径数据结构flow_path_str,存储一个正在传输的网络流的路径信息,flow_path_str包含7个域:网络流最近传输报文的时间flow_t、网络流的源IP即flow_sip、网络流的目的IP即flow_dip、网络流的源端口即flow_sport、网络流的目的端口即flow_dport、网络流传输路径中节点数量即flow_nn、网络流传输路径节点IP数组即flow_ip_array;传输代理模块从初始化模块接收网络流传输时效时间T,从外部网络应用接收网络应用对报文传输时延确定性的需求,并将网络应用对报文传输时延确定性的需求存储于传输时延需求数据结构req_str,req_str包含6个域:网络流源节点IP地址即req_sip,网络流目的节点IP地址即req_dip,网络应用的网络流源端口,网络应用的网络流目的端口,网络传输最大时延即maxT,网络传输最小时延即minT;传输代理模块将req_str发送给路径选择模块,然后从路径选择模块接收路径信息,根据路径信息构建flow_path_str,并将flow_path_str加入flow_path_list;同时,传输代理模块从外部网络应用接收要传输的网络报文,根据网络报文的源IP、目的IP、源端口、目的端口信息从flow_path_list中查找对应网络流传输路径数据,并根据网络流传输
路径数据中的传输节点IP数组为网络报文封装SRv6报文头,将封装了SRv6报文头的网络报文发送至网络中;路径选择模块与初始化模块、测量数据接收模块、路径计算模块和传输代理模块相连;从初始化模块接收网络中转发节点数量N和路径中最大转发节点数量PN,从测量数据接收模块接收转发时延数组delay_array,从路径计算模块接收传输路径数组path_array,从传输代理模块接收传输时延需求req_str;路径选择模块根据N,PN,delay_array,path_array计算满足req_str需求的传输路径信息,并将计算结果存入路径信息数据pathinfo,pathinfo包含2个域:传输路径上所有转发节点的数量即pin,传输路径上顺序经历的转发节点的IP地址数组pinIP_array,pinIP_array中每个元素存储一个转发节点的IP地址,共有pin个元素;路径选择模块将pathinfo发送给传输代理模块;第二步,初始化配置文件,即根据应用网络的网络拓扑确定N、T、PN、每个转发节点的编号和IP地址;第三步,初始化模块对网络报文时延确定性传输控制系统进行初始化,方法是:3.1从配置文件读取N,T,PN,按照顺序读取N个转发节点的编号和IP地址;3.2初始化ip_array,即将N个转发节点的编号和IP地址分别存入ip_array的N个元素中,ip_array共有N个元素,每个元素有两个域,一个域为序号,存储一个转发节点的编号,另一个域为值,存储相应编号转发节点的IP地址;3.3将N发送给测量数据接收模块;3.4将N发送给路径计算模块;3.5将T发送给传输代理模块;3.6将N、PN和ip_array发送给路径选择模块;第四步,网络报文时延确定性传输控制系统的测量数据接收模块、路径计算模块、路径选择模块和M个网络应用节点上的传输代理模块并行配合工作,对网络报文传输进行时延确定性传输控制,方法是:测量数据接收模块按照4.1所述流程从初始化模块接收网络中转发节点数量N,同时监听外部网络测量系统,从外部网络测量系统接收网络拓扑数据和转发节点转发时延数据,将接收的网络拓扑数据存入邻接表数组topo_array并将topo_array发送给路径计算模块,将接收的转发节点转发时延数据存入转发节点转发时延数组delay_array并将delay_array发送给路径选择模块;同时,路径计算模块按照4.2所述流程从测量数据接收模块接收topo_array,根据topo_array计算网络中任意两个转发节点间的所有路径,将任意两个转发节点间的所有路径存入传输路径数组path_array并将path_array发送给路径选择模块;同时,路径选择模块按照4.3所述流程从测量数据接收模块接收转发时延数组delay_array,从传输代理模块接收传输时延需求数据req_str,根据delay_array和req_str计算出满足传输时延要求的路径,构建传输路径信息数据pathinfo,将计算出的路径存入pathinfo,并将pathinfo发送给传输代理模块;同时,M个网络应用节点上的传输代理模块按照4.4所述流程从外部网络应用接收需要时延确定性传输控制的网络流的源IP地址和目的IP地址,以及时延的最大值maxT和最小值minT,将接收数据存入传输时延需求数据结构req_str并将req_str发送给路径选择模块,从路径选择模块接收传输路径信息pathinfo,并利用pathinfo为网络流中的每个报文封装SRv6报文头,实现对网络报文的时延确定性传输;
4.1测量数据接收模块按4.1.1-4.1.4所述方法接收数据并进行转发:4.1.1测量数据接收模块从初始化模块接收转发节点数量N;4.1.2测量数据接收模块监听外部网络测量系统,如果有网络拓扑数据到达,转步骤4.1.3,如果有转发节点转发时延数据到达,转步骤4.1.4,否则转4.1.2继续监听;4.1.3测量数据接收模块从外部网络测量系统接收网络拓扑数据,并发送给路径计算模块;方法是:4.1.3.1初始化邻接表数组topo_array为空;topo_array中共有N个元素,每个元素存储一个邻接表数据;邻接表数据包括3个域:该邻接表代表的转发节点编号nid,与编号为nid的转发节点直接相连的转发节点个数an,与编号为nid的转发节点直接相连的转发节点编号数组id_array,id_arrray中每个元素存储与编号为nid的转发节点直接相连的一个转发节点的编号,共有an个元素;4.1.3.2依序接收N个邻接表数据,将这N个邻接表数据存入topo_array;4.1.3.3将topo_array发送给路径计算模块;4.1.3.4转步骤4.1.2;4.1.4测量数据接收模块从外部网络测量系统接收转发节点时延数据,并发送给路径选择模块;方法是:4.1.4.1初始化转发时延数据数组delay_array为空;delay_array中共有N个元素,每个元素存储一个转发节点的转发时延,包括2个域:转发节点编号nid,转发节点的转发时延delay;4.1.4.2依序接收N个转发时延数据,并将这N个转发时延数据存入delay_array;4.1.4.3将delay_array发送给路径选择模块;4.1.4.4转步骤4.1.2;4.2路径计算模块按照4.2.1

4.2.9所述方法计算网络中任意两个转发节点间的所有路径:4.2.1从初始化模块接收转发节点数量N;4.2.2监听测量数据接收模块,如果有topo_array到达,转步骤4.2.3,否则转4.2.2继续监听;4.2.3接收网络拓扑数据topo_array,构建含有(N

1)
×
N/2个元素的传输路径数组path_array,将path_array中所有元素的每一个域的值初始化为0;path_array中共有N
×
(N

1)/2个元素,每个元素为path_str数据结构,每个path_str数据存储多条路径,path_str数据结构包含4个域:路径起始节点编号sid,路径终止节点编号did,从路径起始节点到路径终止节点的所有路径数量pn,每个路径中转发节点数量数组nn,nn中共有pn个元素,第i_nn个元素存储第i_nn个路径中转发节点数量,i_nn=1,2,

,pn,每个路径顺序经过的转发节点编号数组node_array,node_array为二维数组,...

【专利技术属性】
技术研发人员:原玉磊赵宝康赵锋陶静时向泉虞万荣韩彪魏子令
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1