[发明专利]基于SRv6和网络测量的网络报文时延确定性传输方法在审

专利信息
申请号: 202111034664.6 申请日: 2021-09-04
公开(公告)号: CN113676550A 公开(公告)日: 2021-11-19
发明(设计)人: 原玉磊;赵宝康;赵锋;陶静;时向泉;虞万荣;韩彪;魏子令 申请(专利权)人: 中国人民解放军国防科技大学
主分类号: H04L29/08 分类号: H04L29/08;H04L12/26;H04L12/741;H04L29/06
代理公司: 湖南企企卫知识产权代理有限公司 43257 代理人: 任合明
地址: 410073 湖*** 国省代码: 湖南;43
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 srv6 网络 测量 报文 确定性 传输 方法
【权利要求书】:

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为二维数组,node_array中共有pn个元素,每个元素为一个数组;node_array中第i_node_array个元素是存储第i_node_array个路径中转发节点编号的数组,该数组顺序存储第i_node_array个路径中转发节点编号,每个元素存储一个转发节点编号,共有nn[i_node_array]个元素,nn[i_node_array]表示第i_node_array个路径中转发节点数量;

4.2.4.定义循环变量i、j、k,令i=0,k=0;

4.2.5令j=i+1,如果j≤N,转步骤4.2.6,否则转步骤4.2.8;

4.2.6计算编号为i的转发节点和编号为j的转发节点之间的所有路径,得到路径path_str_i_j,path_str_i_j的数据结构与第一步所述path_str相同;

4.2.7将计算出的路径path_str_i_j添加到传输路径数组中;方法是:将path_str_i_j复制到path_array[k]中,path_array[k]表示path_array的第k个元素;

4.2.8令i=i+1,如果i≤N,转步骤4.2.5,否则转步骤4.2.9;

4.2.9将传输路径数组path_array发送给路径选择模块;

4.3路径选择模块按照4.3.1-4.3.6所述方法计算出满足传输时延要求的路径:

4.3.1从初始化模块接收转发节点数量N、每个路径最大转发节点数量PN、转发节点IP地址数组ip_array;

4.3.2路径选择模块监听测量数据接收模块、路径计算模块和传输代理模块,当有delay_array到达时转步骤4.3.3,当有path_array到达时转步骤4.3.4,当有传输时延需求数据req_str到达时转步骤4.3.5,否则转4.3.2继续监听;

4.3.3从测量数据接收模块接收转发时延数据数组delay_array,转步骤4.3.2;

4.3.4从路径计算模块接收传输路径数据数组path_array,转步骤4.3.2;

4.3.5从传输代理模块接收传输时延需求数据req_str;

4.3.6路径选择模块根据delay_array和req_str从path_array中计算出满足传输时延需求的路径,满足传输时延需求的路径存入传输路径信息pathinfo,将pathinfo发送给传输代理模块,转步骤4.3.2;

4.4网络应用节点1,…,网络应用节点m,…,网络应用节点M上的传输代理模块并行按照4.4.1-4.4.14所述方法利用pathinfo为网络流中的每个报文封装SRv6报文头,实现对网络报文的时延确定性传输,1≤m≤M,方法是:

4.4.1传输代理模块从初始化模块接收网络流传输失效时间T;

4.4.2构建传输路径信息链表flow_path_list并初始化为空;

4.4.3监听外部网络应用;如果有传输时延确定性需求到达,转步骤4.4.4;如果有网络报文到达,转步骤4.4.10;否则转4.4.3继续监听;

4.4.4从外部网络应用接收传输时延确定性需求;

4.4.5构建传输时延需求数据结构req_str,将传输时延确定性需求存入req_str,并将req_str发送给路径选择模块;

4.4.6从路径选择模块接收路径信息pathinfo;

4.4.7构建网络流传输路径数据结构flow_path_str,获取系统当前时间t_current;

4.4.8利用传输时延需求和路径信息为网络流传输路径数据结构flow_path_str赋值;

4.4.9将网络流传输路径数据flow_path_str加入到传输路径信息链表flow_path_list中;转步骤4.4.3;

4.4.10从外部网络应用接收要传输的网络报文pkt;

4.4.11提取网络报文pkt的源IP地址pkt_sip、目的IP地址pkt_dip、源端口pkt_sport、目的端口pkt_dport,获取系统当前时间t_current;

4.4.12遍历传输路径信息链表flow_path_list,从中找出满足如下条件的元素flow_path_pkt:域网络流的源IP值与pkt_sip相等,并且域网络流的目的IP值与pkt_dip相等,并且域网络流源端口值与pkt_sport相等,并且域网络流目的端口值与pkt_dport相等,并且域网络流最近传输报文的时间相距当前时间小于T即t_current-flow_path_pkt.flow_tT;如果找到,转步骤4.4.13,如果没有找到转步骤4.4.15;

4.4.13更新传输路径数据中的域网络流最近传输报文的时间,即令flow_path_pkt.flow_t=t_current;

4.4.14顺序利用数组flow_path_pkt.flow_ip_array中的IP地址,根据SRH规范为网络报文封装SRv6报文头,并将封装后的报文发送至网络;转步骤4.4.3;

4.4.15将网络报文pkt发送至网络;转步骤4.4.3。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科技大学,未经中国人民解放军国防科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202111034664.6/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top