当前位置: 首页 > 专利查询>浙江大学专利>正文

一种软件定义网络中数据包路径重构方法技术

技术编号:18292252 阅读:70 留言:0更新日期:2018-06-24 08:11
本发明专利技术公开了一种软件定义网络中数据包路径重构方法。在网络初始化阶段,控制器根据网络规模为每一个交换机/路由器分配ID。在发送端生成数据包时,将相关的数据流信息发送给控制器,由控制器决定具体使用的路径重构方法以及新增数据包头的字段分配,并将信息反馈给发送端。交换机/路由器转发数据包时,根据新增包头执行相应的操作,在包内记录路径相关信息。最后由网络中的管理服务器根据接收到数据包内的路径相关信息,重构出数据包的传输路径。本发明专利技术对软件定义网络拓扑的种类没有特殊的要求,具有交换机/路由器的计算开销低的特点,在网络故障和拥塞的状况下仍能精确重构出数据包的传输路径,极大地方便了软件定义网络的管理和故障检查。

【技术实现步骤摘要】
一种软件定义网络中数据包路径重构方法
本专利技术涉及一种软件定义网络中数据包路径重构方法,特别是在数据包中添加路径特征值,并在数据包传输过程中更新路径特征值来记录数据包的传输路径和在软件定义网络的服务器一端通过解码接收到的数据包的路径特征值来重构接收到的数据包的传输路径的方法。
技术介绍
软件定义网络(SDN,SoftwareDefinedNetwork)是一种新型网络创新架构,在软件定义网络中,通过将网络设备控制面与数据面分离开来,从而实现网络流量的灵活控制,为核心网络及应用的创新提供了良好的平台。软件定义网络的设计初衷是为了解决无法利用现有网络中的大规模真实流量和丰富应用进行实验,以便研究如何提高网络的速度、可靠性、能耗和安全性等问题。其基本思想是把当前IP网络互连节点中决定数据包转发的复杂逻辑从交换机、路由器等设备中分离出来,以便通过软件编程实现硬件对数据包转发的控制,最终达到对流量进行自由操控的目的。其核心技术是OpenFlow,它使能了交换机/路由器的控制面与数据面功能的解耦,使得控制器与交换设备可独立发展。针对传统网络面临的问题,如网络研究的僵化、网络设备无法适应新应用如IT定制化、云计算、大数据、虚拟化服务器,软件定义网络的框架提供了一种全新的解决方案。随着软件定义网络的快速发展以及在数据中心网络、企业定制网络等场景中的真实应用,软件定义网络的管理和网络中的故障检查、修复的问题显得尤为重要,引起了业界越来越多的关注。通过重构网络中数据包的传输路径,可以有效地完成或协助一系列的网络管理或者故障检查的任务,比如异常丢包诊断、网络负载不平衡诊断、网络流量监测等。在软件定义网络领域,已经有一些数据包路径重构的方法,如NetSight、PathDump等。其中NetSight技术使得网络中的交换机/路由器在转发数据包的同时,将每个数据包每一跳的信息全部传输给中央服务器,由中央服务器进行分析,从而重构出数据包的传输路径。这种方法存在网络带宽开销过大的缺陷,特别是当网络处于高负载的状态时,性能会受到很大程度的影响。与NetSight不同的是,PathDump技术利用了一些软件定义网络拓扑的结构特点,如fat-tree、VL2的树状结构性质,在数据包传输过程中选择性地在数据包内记录下关键跳的节点ID信息,当数据包到达接收端时对包内信息进行解析并重构出传输路径。这种方法的缺点是它要求网络拓扑必须有明显的结构特征,因此无法适用于所有的软件定义网络的拓扑。
技术实现思路
本专利技术要克服现有技术的上述缺点,提供一种软件定义网络中数据包路径重构的方法。为实现以上目的,本专利技术所采取的技术方案是:软件定义网络中数据包路径重构方法,包括:步骤1.将软件定义网络初始化,具体是:步骤11:软件定义网络中的控制器根据真实网络拓扑的大小给网络中的每一个交换机/路由器分配一个ID,用合适比特数大小的二进制数表示;步骤12:控制器为网络中的交换机/控制器配置相应的流表,流表中的每一行对应一条交换机/路由器的对数据包的操作规则,包括数据包修改和转发,从而实现本专利技术中的压缩哈希匹配算法、连续比特填充算法以及bPAT算法。步骤2.运行软件定义网络,具体有:步骤21.发送端生成并发送数据包;具体包括:步骤211:发送端将需要传输的数据流特征信息发送给控制器,数据流特征信息主要包括源IP地址、目标IP地址、数据流大小;步骤212:控制器依据收到的数据流特征信息和网络拓扑信息,比较重构路径所需的数据包额外信息开销,决定使用压缩哈希匹配算法或连续比特填充算法和用于路径重构的新增数据包头的字段分配,并反馈给发送端包含相应信息的指令;步骤213:发送端根据控制器的反馈指令,在待发送的数据包内新增一个数据包头,其中1个字节用于方法标记,1-5个字节用于记录路径信息;如果使用压缩哈希匹配算法,则将方法标记的字节中将第一位置为1;如果使用连续比特填充算法,则将方法标记的字节中将第一位置为0。步骤22.交换机/路由器转发数据包;具体步骤包括:步骤221:交换机/路由器在转发数据包时,如果没有出现网络故障或拥塞的情况,则按照已配置的路由规则进行转发,并检查数据包内的新增包头,如果没有bPAT字段,继续查看方法标记字段的第一位,1则执行步骤222,0则执行步骤223;如果有bPAT字段,则执行步骤224。若出现故障或拥塞的情况,交换机/路由器自主决定一个状态良好的转发端口以避免丢包,并执行步骤225;步骤222:交换机/路由器执行压缩哈希匹配算法,如果配置的转发路径只有一条,则只进行更新跳数的操作;如果配置的转发路径有多条,则在路径信息字段哈希当前交换机/路由器的ID,同时更新跳数;步骤223:交换机/路由器执行连续比特填充算法;如果配置的转发路径只有一条,则不进行其他操作;如果配置的转发路径有多条,则将真实转发路径的序号填充到新增包头内路径信息字段对应跳的比特填充区域内,同时更新已填充比特位置;步骤224:交换机/路由器检查到新增数据包头中bPAT字段存在时,则直接进行bPAT操作,更新bPAT字段,即在bPAT字段乘上当前交换机/路由器的端口数后加上进入端口的序号;步骤225:由于出现故障或拥塞的情况,交换机/路由器自主进行重路由,此时除进行步骤222或步骤223的操作外,还需在新增包头内添加一个2-4字节的bPAT字段。步骤23.软件定义网络的管理服务器重构数据包路径信息,具体包括:步骤231:接收端收到数据包后,将数据包内的路径记录信息发送给控制器;步骤232:控制器查看路径记录信息,若没有bPAT字段,当该数据包使用的是压缩哈希匹配算法时,执行步骤233;使用连续比特填充算法时,执行步骤234;如果存在bPAT字段,执行步骤235;步骤233:控制器预先计算出该数据流所有可能路径及每条路径对应的哈希值,以表的形式存储;在重构数据包的传输路径时,根据包内的哈希值在表内查找出对应的路径;步骤234:控制器根据数据包内的比特填充字段,结合网络拓扑的信息,逐跳计算出每一跳的转发端口和下一跳的交换机/路由器,进而重构出整条传输路径;步骤235:由于数据包在转发过程中使用了bPAT技术,因此将整条路径P分为两部分重构:P=P1+P2;其中P1子路径未使用bPAT操作,可以使用步骤232或步骤233的方法恢复;P2子路径使用了bPAT操作,采用从后往前、逐跳恢复的策略进行恢复。本专利技术的优点是:本专利技术对网络拓扑的结构没有特殊要求,能够适用于所有的软件定义网络的拓扑;本专利技术在交换机/路由器上除进行转发操作外,只要求进行简单的字段修改、字段增加或四则运算的操作,因此交换机/路由器上的计算负担很低,即使在网络高负载的状态下仍能保证一定的吞吐能力;本专利技术充分考虑到软件定义网络中时常出现的故障和拥塞问题,因此可以在故障和拥塞问题出现时重构出精确的数据包传输路径。附图说明图1是本专利技术方法的流程图。图2是数据包新增包头字段分配示意图。具体实施方式下面结合附图对本专利技术作进一步描述。本专利技术进行软件定义网络中数据包路径重构涉及软件定义网络的初始化阶段和运行阶段。整个方法的流程如图1所示,具体的数据包路径重构方法如下:(一)在软件定义网络的初始化阶段执行以下步骤1至步骤2:步骤1:软本文档来自技高网
...
一种软件定义网络中数据包路径重构方法

【技术保护点】
1.一种软件定义网络中数据包路径重构方法,步骤1.将软件定义网络初始化,具体是:步骤11:软件定义网络中的控制器根据真实网络拓扑的大小给网络中的每一个交换机/路由器分配一个ID,用合适比特数大小的二进制数表示;步骤12:控制器为网络中的交换机/控制器配置相应的流表,流表中的每一行对应一条交换机/路由器的对数据包的操作规则,包括数据包修改和转发,从而实现本专利技术中的压缩哈希匹配算法、连续比特填充算法以及bPAT算法;步骤2.运行软件定义网络,具体有:步骤21.发送端生成并发送数据包;具体包括:步骤211:发送端将需要传输的数据流特征信息发送给控制器,数据流特征信息主要包括源IP地址、目标IP地址、数据流大小;步骤212:控制器依据收到的数据流特征信息和网络拓扑信息,比较重构路径所需的数据包额外信息开销,决定使用压缩哈希匹配算法或连续比特填充算法和用于路径重构的新增数据包头的字段分配,并反馈给发送端包含相应信息的指令;步骤213:发送端根据控制器的反馈指令,在待发送的数据包内新增一个数据包头,其中1个字节用于方法标记,1‑5个字节用于记录路径信息;如果使用压缩哈希匹配算法,则将方法标记的字节中将第一位置为1;如果使用连续比特填充算法,则将方法标记的字节中将第一位置为0;步骤22.交换机/路由器转发数据包;具体步骤包括:步骤221:交换机/路由器在转发数据包时,如果没有出现网络故障或拥塞的情况,则按照已配置的路由规则进行转发,并检查数据包内的新增包头,如果没有bPAT字段,继续查看方法标记字段的第一位,1则执行步骤222,0则执行步骤223;如果有bPAT字段,则执行步骤224;若出现故障或拥塞的情况,交换机/路由器自主决定一个状态良好的转发端口以避免丢包,并执行步骤225;步骤222:交换机/路由器执行压缩哈希匹配算法;如果配置的转发路径只有一条,则只进行更新跳数的操作;如果配置的转发路径有多条,则在路径信息字段哈希当前交换机/路由器的ID,同时更新跳数;步骤223:交换机/路由器执行连续比特填充算法;如果配置的转发路径只有一条,则不进行其他操作;如果配置的转发路径有多条,则将真实转发路径的序号填充到新增包头内路径信息字段对应跳的比特填充区域内,同时更新已填充比特位置;步骤224:交换机/路由器检查到新增数据包头中bPAT字段存在时,则直接进行bPAT操作,更新bPAT字段,即在bPAT字段乘上当前交换机/路由器的端口数后加上进入端口的序号;步骤225:由于出现故障或拥塞的情况,交换机/路由器自主进行重路由,此时除进行步骤222或步骤223的操作外,还需在新增包头内添加一个2‑4字节的bPAT字段;步骤23.软件定义网络的管理服务器重构数据包路径信息,具体包括:步骤231:接收端收到数据包后,将数据包内的路径记录信息发送给控制器;步骤232:控制器查看路径记录信息,若没有bPAT字段,当该数据包使用的是压缩哈希匹配算法时,执行步骤233;使用连续比特填充算法时,执行步骤234;如果存在bPAT字段,执行步骤235;步骤233:控制器预先计算出该数据流所有可能路径及每条路径对应的哈希值,以表的形式存储;在重构数据包的传输路径时,根据包内的哈希值在表内查找出对应的路径;步骤234:控制器根据数据包内的比特填充字段,结合网络拓扑的信息,逐跳计算出每一跳的转发端口和下一跳的交换机/路由器,进而重构出整条传输路径;步骤235:由于数据包在转发过程中使用了bPAT技术,因此将整条路径P分为两部分重构:P=P1+P2;其中P1子路径未使用bPAT操作,可以使用步骤232或步骤233的方法恢复;P2子路径使用了bPAT操作,采用从后往前、逐跳恢复的策略进行恢复。...

【技术特征摘要】
1.一种软件定义网络中数据包路径重构方法,步骤1.将软件定义网络初始化,具体是:步骤11:软件定义网络中的控制器根据真实网络拓扑的大小给网络中的每一个交换机/路由器分配一个ID,用合适比特数大小的二进制数表示;步骤12:控制器为网络中的交换机/控制器配置相应的流表,流表中的每一行对应一条交换机/路由器的对数据包的操作规则,包括数据包修改和转发,从而实现本发明中的压缩哈希匹配算法、连续比特填充算法以及bPAT算法;步骤2.运行软件定义网络,具体有:步骤21.发送端生成并发送数据包;具体包括:步骤211:发送端将需要传输的数据流特征信息发送给控制器,数据流特征信息主要包括源IP地址、目标IP地址、数据流大小;步骤212:控制器依据收到的数据流特征信息和网络拓扑信息,比较重构路径所需的数据包额外信息开销,决定使用压缩哈希匹配算法或连续比特填充算法和用于路径重构的新增数据包头的字段分配,并反馈给发送端包含相应信息的指令;步骤213:发送端根据控制器的反馈指令,在待发送的数据包内新增一个数据包头,其中1个字节用于方法标记,1-5个字节用于记录路径信息;如果使用压缩哈希匹配算法,则将方法标记的字节中将第一位置为1;如果使用连续比特填充算法,则将方法标记的字节中将第一位置为0;步骤22.交换机/路由器转发数据包;具体步骤包括:步骤221:交换机/路由器在转发数据包时,如果没有出现网络故障或拥塞的情况,则按照已配置的路由规则进行转发,并检查数据包内的新增包头,如果没有bPAT字段,继续查看方法标记字段的第一位,1则执行步骤222,0则执行步骤223;如果有bPAT字段,则执行步骤224;若出现故障或拥塞的情况,交换机/路由器自主决定一个状态良好的转发端口以避免丢包,并执行步骤225;步骤222:交换机/路由器执行压缩哈希匹配算法;如果配置...

【专利技术属性】
技术研发人员:高艺董玮卜佳俊陈纯靖远
申请(专利权)人:浙江大学
类型:发明
国别省市:浙江,33

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

1