一种面向软件定义网络的流内网络编码传输方法技术

技术编号:34476103 阅读:24 留言:0更新日期:2022-08-10 08:51
本发明专利技术公开了一种面向软件定义网络的流内网络编码传输方法。本发明专利技术中的源路由器:在收到控制器同意该数据流接入网络并返回的路由规则之后,源路由器通知终端开始发送数据流。随后对收到的数据包进行随机线性编码。本发明专利技术中的控制器:在收到源路由器的PACKET_IN消息后,控制器为这一数据流在全局视角下计算最优路由。本发明专利技术中的转发路由器:在收到控制器发来的路由规则后,转发路由器监听网络中其它邻居节点的数据传输。本发明专利技术中的目的路检查数据包头的流ID、批ID和转发列表以判断是否接收该数据包。本发明专利技术实现了网络的自动化管理和控制能力以及无线Mesh网络的易部署和多个并发流公平特性。发流公平特性。发流公平特性。

【技术实现步骤摘要】
一种面向软件定义网络的流内网络编码传输方法


[0001]本专利技术涉及无线通信
,尤其涉及一种面向软件定义网络的流内网络编码传输方法。

技术介绍

[0002]近年来,无线Mesh网络基础架构的多样性使得部署和管理一个无线Mesh网络具有相当大的挑战性。而软件定义网络(Software

Defined Networking,SDN)是一种基于软件的网络架构和技术,其最鲜明的特点是将网络的控制平面和数据平面相分离,实现了网络状态的集中控制,并且支持灵活的软件编程。SDN的网络虚拟化技术不仅使得网络的自动化管理和控制能力获得极大的提升,而且得益于控制层的集中控制,网络的全局优化也成为可能。因此,越来越多的研究者尝试将SDN技术应用于无线Mesh网络,以满足网络应用业务的需求。
[0003]另一方面,由于无线Mesh网络的结构自组织、链路不可靠、带宽有限等特性,无线资源的高效利用、数据的可靠和公平转发一直是此领域的重要开放性研究内容。为了充分利用有限而宝贵的无线带宽资源,随机线性网络编码(Random linear Network Coding,RLNC)技术充分利用无线信道的广播特性,并且提高了路由器对数据包的操作权限,将传统路由器中简单的“存储、转发”方式转变为“存储、编码再转发”方式。然而,已有的随机线性网络编码机制并没有考虑多个并发数据流的公平性。实验结果表明,当网络中并发数据流个数增加时,每个数据流的吞吐量均会有一定程度的下降。已有方法虽然能够在分布式环境下解决问题,但是其问题复杂度都很高,难以满足无线Mesh网络的实际部署需要。

技术实现思路

[0004]为了弥补现有技术的不足,本专利技术提供了一种面向软件定义网络的流内网络编码传输方法。
[0005]本专利技术采用的技术方案如下:
[0006]本专利技术的流内网络编码传输方法,由源路由器、控制器、转发路由器和目的路由器来共同完成。其中:
[0007]源路由器侧:
[0008]Step 1.源路由器S将收到的数据包分成若干个批,每一批由m个数据包x1,x2,...,x
i
,...,x
m
组成;
[0009]Step 2.源路由器S为每个数据包x
i
添加一个m维的单位向量,该单位向量仅有第m个元素为1;
[0010]Step 3.当源路由器S需要发送一个数据包时,源路由器S从有限域中选择m个随机数α1,α2,...,α
m
,并且以使用这m个随机数作为线性系数,生成一个新的编码数据包;
[0011]Step 4.源路由器S将新生成的m个编码数据包根据控制器C返回的路由规则向指定的下游节点发送。
[0012]控制器侧:
[0013]在收到源路由器S的PACKET_IN消息后,控制器C为新业务流在全局视角下计算最优路由,控制器使用MODIFY_STATE消息以更新路由器中的路由规则,所述的PACKET_IN消息来源于新业务流对源路由器S的触发;
[0014]由于线性随机网络编码是按批为传输的,一旦源路由器S收到目的路由器D发送的BATCH_FINISHED消息,将立刻向源路由器S发送BATCH_NEXT消息,以通知源路由器当前批的数据包已经传输完成,应立刻开始下一批数据包的传输。
[0015]转发路由器侧:
[0016]在收到控制器C发来的路由规则后,转发路由器将工作在混杂模式以监听网络中其它邻居节点的数据传输,并检查每一个收到的数据包,判断其是否与路由器中的路由规则相匹配。
[0017]目的路由器侧:
[0018]目的路由器D检查数据包头的流ID、批ID和转发列表,以判断是否接收该数据包。当目的路由器收到m个线性独立的编码数据包后,通过高斯消去法解码出m个原始数据包;
[0019]一旦当前批数据包被解码完成,目的路由器D就向控制器C发送BATCH_FINISHED消息,以通知控制器当前批的数据包已经传输完毕,可以启动下一批数据包的传输。随后,目的路由器将解码后的原始数据包继续向相应的终端或Internet转发。
[0020]本专利技术的有益效果:本专利技术充分考虑多个并发数据流的公平性,实现了网络的自动化管理和控制能力提升,增强了无线Mesh网络的易部署性。
附图说明
[0021]图1面向软件定义网络的流内网络编码传输工作流程图。
具体实施方式
[0022]本专利技术的一种面向软件定义网络的流内网络编码传输方法,该方法涉及源路由器、控制器、转发路由器和目的路由器这四个部分。每部分在完成传输过程中的具体工作描述如下:
[0023]1)源路由器
[0024]当某个移动终端s需要接入Internet或者与同一Mesh网络内的其它移动终端互相通信时,它首先将该业务流发送给所连接的路由器,称该路由器为源路由器,并记为S。将Mesh网络中向Internet或者向终端d转发业务的路由器称为目的路由器,并记为D。
[0025]当s初始化一个新的业务流,并且该业务流的首个数据包被S接收后,由于S中没有处理这一新业务流的相关流表项,S将立刻向控制器C发送PACKET_IN消息,以通知控制器C收到了一个新的数据流,并且请求这一新业务流所需的网络资源和最优路径。
[0026]在收到控制器C同意该数据流接入网络并返回的路由规则之后,S通知终端s开始发送数据流。随后,S对收到的数据包进行随机线性编码,其过程如下:
[0027]Step 1.S将收到的数据包分成若干个批(Batch),每一批由m个数据包x1,x2,...,x
m
组成,其中x
i
可以看成一个n维向量(x
i,1
,x
i,2
,...,x
i,n
),向量中的每个元素x
i,j
都是有限域中的一个符号,其中q为有限域的大小,并且以下描述的运算操作都封闭在该有限域
中。
[0028]Step 2.如果m个数据包的大小不同,则为较小的数据包填充0字段,使得这m个数据包拥有同样的大小。随后,S为每个数据包x
i
添加一个m维的单位向量,该单位向量仅有第m个元素为1,即:
[0029][0030]Step 3.当S需要发送一个数据包时,S从有限域中选择m个随机数α1,α2,...,α
m
,并且以使用这m个随机数作为线性系数,生成一个新的编码数据包,即:
[0031][0032]Step 4.随后,S将新生成的m个编码数据包根据控制器返回的路由规则向指定的下游节点发送。
[0033]2)控制器
[0034]在收到S的PACKET_IN消息后,控制器C为这一数据流在全局视角下计算最优路由。控制器使用MODIFY_STATE消息以更新路由器中的路由规则。路由规则包括以下几个字段:(1)数据流ID,用以区分每个数据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向软件定义网络的流内网络编码传输方法,由源路由器、控制器、转发路由器和目的路由器来共同完成,其特征在于:源路由器侧:Step 1.源路由器S将收到的数据包分成若干个批,每一批由m个数据包x1,x2,...,x
i
,...,x
m
组成;Step 2.源路由器S为每个数据包x
i
添加一个m维的单位向量,该单位向量仅有第m个元素为1;Step 3.当源路由器S需要发送一个数据包时,源路由器S从有限域中选择m个随机数α1,α2,...,a
m
,并且以使用这m个随机数作为线性系数,生成一个新的编码数据包;Step 4.源路由器S将新生成的m个编码数据包根据控制器C返回的路由规则向指定的下游节点发送;控制器侧:在收到源路由器S的PACKET_IN消息后,控制器C为新业务流在全局视角下计算最优路由,控制器使用MODIFY_STATE消息以更新路由器中的路由规则,所述的PACKET_IN消息来源于新业务流对源路由器S的触发;由于线性随机网络编码是按批为传输的,一旦源路由器S收到目的路由器D发送的BATCH_FINISHED消息,将立刻向源路由器S发送BATCH_NEXT消息,以通知源路由器当前批的数据包已经传输完成,应立刻开始下一批数据包的传输;转发路由器侧:在收到控制器C发来的路由规则后,转发路由器将工作在混杂模式以监听网络中其它邻居节点的数据传输,并检查每一个收到的数据包,判断其是否与路由器中的路由规则相匹配;目的路由器侧:目的路由器D检查数据包头的流ID、批ID和转发列表,以判断是否接收该数据包;当目的路由器收到m个线性独立的编码数据包后,通过高斯消去法解码出m个原始数据包;一旦当前批数据包被解码完成,目的路由器D就向控制器C发送BATCH_FINISH...

【专利技术属性】
技术研发人员:张延楠尚璇谭锦志钟蔚蔚胡麦芳
申请(专利权)人:杭州趣链科技有限公司
类型:发明
国别省市:

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

1