一种基于SDN网络可靠传输方法技术

技术编号:16558535 阅读:47 留言:0更新日期:2017-11-14 17:39
本发明专利技术公开了一种基于SDN网络可靠传输方法,涉及网络通信技术领域,主要应用于计算机网络、信息中心网络等,为了提升基于SDN网络的无故障工作时间,提高网络传输的可靠性,本发明专利技术基于SDN网络根据网络资源使用状况自适应地计算并通过多条路径同时发送数据,同时在接收端软件交换机上处理多余的重复数据包。通过上述方式,本发明专利技术能够有效地提高网络数据传输的可靠性,降低了链路发生故障导致的网络中断或延迟的可能性,提升网络的无故障工作时间,为用户提供更好的网络服务质量。

A reliable transmission method based on SDN network

The invention discloses a reliable transmission method based on SDN network, which relates to the field of network communication technology, mainly used in computer network, network information center, in order to improve the SDN network failures based on time, improve the reliability of network transmission, the invention of SDN network based on adaptive use of cyber source computing and through multiple paths at the same time to send data based on the simultaneous processing of redundant data packets at the receiving end software switch. The method of the invention can effectively improve the reliability of network data transmission, reduces the possibility of link failure leads to network outages or delays, improve the network failure time, provide better quality of service for network users.

【技术实现步骤摘要】
一种基于SDN网络可靠传输方法
本专利技术涉及网络通信
,特别涉及一种基于SDN网络可靠传输方法。
技术介绍
随着互联网的快速发展,各类业务都对网络传输的及时性、可靠性提出了更高的要求。一般在网络传输过程中均采用单条路径进行传输,一旦传输路径上发生物理故障或逻辑故障时,就会影响到正常数据的传输。在网络规模非常大的情况下,当网络出现故障,如果由网络管理人员手动地配置解决,需要耗费大量的人力和物力,且恢复时间较长。软件定义网络(Software-DefinedNetworking,SDN)是一种新兴的动态、易管理、适应性强的创新架构。其核心技术OpenFlow将数据转发平面和控制平面解耦合,实现了网络流量的灵活控制。现有的SDN网络环境下主要有两种故障恢复机制:被动式恢复机制和主动式路径保护机制。被动式恢复机制在链路发生故障时由交换机主动通告控制器,控制器重新计算路由并下发给受影响的交换机。而主动式路径保护机制是提前计算好备份路径。当主路径出现故障时不通告控制器,自行切换到备份路径上。
技术实现思路
本专利技术的目的在于提供一种基于SDN网络可靠传输方法,以解决传输路径上发生物理故障或逻辑故障时,影响到正常数据的传输的问题。为实现上述目的,本专利技术采用以下技术方案:一种基于SDN网络可靠传输方法,包括以下步骤:步骤一:修改与待保障的主机直接相连的接收端开放虚拟交换标准OpenvSwitch软件交换机源码;修改过程如下:1)识别重复数据包:采用源IP+标识+片偏移来作为区分数据包的标识;2)修改函数:选取函数进行修改;3)部署布隆过滤器:在上述选取的函数中添加布隆过滤器BloomFilter;4)处理策略:当数据包到达接收端的交换机时,开放虚拟交换标准openvSwtich软件交换机使用数据包的源IP+标识+片偏移作为key值进行散列Hash查看该数据包是否在布隆过滤器中;步骤二:SDN控制器获取网络拓扑;控制器使用LLDP作为链路发现协议,在链路发现过程中控制器会先向与它相连接的每一个交换机发送带LLDP报文的packet-out消息,交换机接收到消息后会将本设备的信息组织成type/lenght/value(类型/长度/值)并封装成LLDPDU(链路层发现协议数据单元),转发到所有直连端口,相邻的交换机收到转发的LLDP报文后,会通过packet-in消息上报给控制器,然后控制器分析交换机上报的packet-in消息即得到交换机之间的链路信息,并记录到链路发现表中,从而控制器获得全网拓扑信息;步骤三:SDN控制器获取用户指定的可靠传输进程对并计算路径;用户事先指定待可靠传输的一对进程,SDN控制器获取进程对信息后,计算多条转发路径;步骤四:SDN控制器监测指定网络使用状况参数;选择监测链路利用率、丢包率和时延三个参数来反馈网络性能的优劣,用户从这三个参数中选择一个作为系统监测参数并设置相应的阈值范围;步骤五:当监测数据在阈值范围内时,自适应启动多路径传输方式,找到符合要求的多条传输路径;步骤六:根据多条传输路径的构成情况,SDN控制器向SDN交换机下发类型为ALL的组表或者普通流表;SDN控制器按如下策略下发组表或者普通流表:1)数据流经过交换机时,从多个出端口同时转发时,给该交换机下发类型为ALL的组表,实现多路径同时发送数据;2)数据流经过交换机时,只从一个出端口转发时,给该交换机按照计算好的路径下发普通流表;步骤七:发送端发送数据,根据传输层使用协议的不同有以下两种情况:1)当传输层协议为UDP(用户数据报协议)时,发送数据;2)当传输层协议为TCP(传输控制协议)时,发送数据并在丢包或出错时重传数据包;进一步的,步骤一中选取的函数为:voidovs_vport_receivestructvport*vport,structsk_buff*skb,conststructovs_tunnel_info*tun_info;步骤一中,接收端交换机按以下策略决定接收到的数据包的取舍:当收到数据包的第一份拷贝时,提取数据包中的信息写入布隆过滤器,并将数据包传送给接收端主机;此时若经其他路径传输的数据包拷贝因故障丢失或因时间延迟仍未到达,则由于第一份拷贝已经正常接收并提交到主机,接收端主机接收数据不受影响;当收到多份数据包拷贝时,由于第一份数据包拷贝的信息已经写入布隆过滤器,且第一份数据包已经传送给主机,当后续有相同数据包拷贝到达时,在写入布隆过滤器时发现该数据包已经写入,判断为重复数据包,则丢弃。进一步的,步骤四中链路利用率、丢包率和时延的计算:1)链路利用率计算链路利用率是一段时间内,当前链路通过的流量占该链路可传输的最大流量的百分比;周期T为两次时间之差,其中duration_sec(持续时间-秒)字段和duration_nsec(持续时间-纳秒)字段表示流在交换机中存在的时间,用毫微秒表示整个持续时间的值,其计算方法是:duration_sec×109+duration_nsec,下标i+1和i分别表示第i+1次和第i次获取的数据:Ta=(duration_seci+1+duration_nseci+1)-(duration_seci+duration_nseci)端口上行速率tx_speed为两次上行字节数相减乘以8除以周期,其中tx_bytes为上行字节数,下标i+1和i分别表示第i+1次和第i次获取的数据:端口下行速率rx_speed为两次下行字节数相减乘以8除以周期,其中rx_bytes为下行字节数,下标i+1和i分别表示第i+1次和第i次获取的数据:端口总速率speed为上行速率tx_speed和下行速率rx_speed之和:speeda=tx_speeda+rx_speeda一条链路的使用情况取决于该链路两端的端口能力较低者,所以一条链路的速率为两端端口中速率较小者:speed=min(speeda,speedb)链路资源利用率link_bw_usage为当前速率speed除以端口可传输的最大速率curr_capacity,其中curr_capacity为交换机的固定参数:2)丢包率计算丢包率是一段时间内,丢失数据包占总发包数量的百分比;丢包数量loss_packets为发出数据包量tx_packets减去接收数据包量rx_packets:loss_packetsa-b=tx_packetsa-rx_packetsb丢包率packet_loss为丢失包的数量loss_packets除以总发出数据包量tx_packets乘以100%:3)时延时延是数据包从发送端到接收端所需的时间;在链路发现过程中控制器会先向与它相连接的每一个交换机发送一个带LLDP报文的packet-out消息,并指示交换机将LLDP报文从所有端口转发,相邻的交换机收到转发的LLDP报文后,会通过packet-in消息上报给控制器,由此得到发送时延fwd_delay为控制器到交换机A的时间T1加交换机A到交换机B的时间T2加交换机B到控制器的时间T3:fwd_delay=T1(controller→A)+T2(A→B)+T3(B→controller)返回时延re_delay为控制器到交换机B的时间T3加交换机B到交本文档来自技高网...
一种基于SDN网络可靠传输方法

【技术保护点】
一种基于SDN网络可靠传输方法,其特征在于,包括以下步骤:步骤一:修改与待保障的主机直接相连的接收端开放虚拟交换标准OpenvSwitch软件交换机源码;修改过程如下:1)识别重复数据包:采用源IP+标识+片偏移来作为区分数据包的标识;2)选取函数进行修改;3)部署布隆过滤器:在上述选取的函数中添加布隆过滤器BloomFilter;4)处理策略:当数据包到达接收端的交换机时,开放虚拟交换标准openvSwtich软件交换机使用数据包的源IP+标识+片偏移作为key值进行散列Hash查看该数据包是否在布隆过滤器中;步骤二:SDN控制器获取网络拓扑;控制器使用LLDP作为链路发现协议,在链路发现过程中控制器会先向与它相连接的每一个交换机发送带LLDP报文的packet‑out消息,交换机接收到消息后会将本设备的信息组织成type/lenght/value并封装成LLDPDU,转发到所有直连端口,相邻的交换机收到转发的LLDP报文后,会通过packet‑in消息上报给控制器,然后控制器分析交换机上报的packet‑in消息即得到交换机之间的链路信息,并记录到链路发现表中,从而控制器获得全网拓扑信息;步骤三:SDN控制器获取用户指定的可靠传输进程对并计算路径;用户事先指定待可靠传输的一对进程,SDN控制器获取进程对信息后,计算多条转发路径;步骤四:SDN控制器监测指定网络使用状况参数;选择监测链路利用率、丢包率和时延三个参数来反馈网络性能的优劣,用户从这三个参数中选择一个作为系统监测参数并设置相应的阈值范围;步骤五:当监测数据在阈值范围内时,自适应启动多路径传输方式,找到符合要求的多条传输路径;步骤六:根据多条传输路径的构成情况,SDN控制器向SDN交换机下发类型为ALL的组表或者普通流表;SDN控制器按如下策略下发组表或者普通流表:1)数据流经过交换机时,从多个出端口同时转发时,给该交换机下发类型为ALL的组表,实现多路径同时发送数据;2)数据流经过交换机时,只从一个出端口转发时,给该交换机按照计算好的路径下发普通流表;步骤七:发送端发送数据,根据传输层使用协议的不同有以下两种情况:1)当传输层协议为UDP时,发送数据;2)当传输层协议为TCP时,发送数据并在丢包或出错时重传数据包。...

【技术特征摘要】
1.一种基于SDN网络可靠传输方法,其特征在于,包括以下步骤:步骤一:修改与待保障的主机直接相连的接收端开放虚拟交换标准OpenvSwitch软件交换机源码;修改过程如下:1)识别重复数据包:采用源IP+标识+片偏移来作为区分数据包的标识;2)选取函数进行修改;3)部署布隆过滤器:在上述选取的函数中添加布隆过滤器BloomFilter;4)处理策略:当数据包到达接收端的交换机时,开放虚拟交换标准openvSwtich软件交换机使用数据包的源IP+标识+片偏移作为key值进行散列Hash查看该数据包是否在布隆过滤器中;步骤二:SDN控制器获取网络拓扑;控制器使用LLDP作为链路发现协议,在链路发现过程中控制器会先向与它相连接的每一个交换机发送带LLDP报文的packet-out消息,交换机接收到消息后会将本设备的信息组织成type/lenght/value并封装成LLDPDU,转发到所有直连端口,相邻的交换机收到转发的LLDP报文后,会通过packet-in消息上报给控制器,然后控制器分析交换机上报的packet-in消息即得到交换机之间的链路信息,并记录到链路发现表中,从而控制器获得全网拓扑信息;步骤三:SDN控制器获取用户指定的可靠传输进程对并计算路径;用户事先指定待可靠传输的一对进程,SDN控制器获取进程对信息后,计算多条转发路径;步骤四:SDN控制器监测指定网络使用状况参数;选择监测链路利用率、丢包率和时延三个参数来反馈网络性能的优劣,用户从这三个参数中选择一个作为系统监测参数并设置相应的阈值范围;步骤五:当监测数据在阈值范围内时,自适应启动多路径传输方式,找到符合要求的多条传输路径;步骤六:根据多条传输路径的构成情况,SDN控制器向SDN交换机下发类型为ALL的组表或者普通流表;SDN控制器按如下策略下发组表或者普通流表:1)数据流经过交换机时,从多个出端口同时转发时,给该交换机下发类型为ALL的组表,实现多路径同时发送数据;2)数据流经过交换机时,只从一个出端口转发时,给该交换机按照计算好的路径下发普通流表;步骤七:发送端发送数据,根据传输层使用协议的不同有以下两种情况:1)当传输层协议为UDP时,发送数据;2)当传输层协议为TCP时,发送数据并在丢包或出错时重传数据包。2.根据权利要求1所述的一种基于SDN网络可靠传输方法,其特征在于,步骤一中选取的函数为:voidovs_vport_receivestructvport*vport,structsk_buff*skb,conststructovs_tunnel_info*tun_info;步骤一中,接收端交换机按以下策略决定接收到的数据包的取舍:当收到数据包的第一份拷贝时,提取数据包中的信息写入布隆过滤器,并将数据包传送给接收端主机;此时若经其他路径传输的数据包拷贝因故障丢失或因时间延迟仍未到达,则由于第一份拷贝已经正常接收并提交到主机,接收端主机接收数据不受影响;当收到多份数据包拷贝时,由于第一份数据包拷贝的信息已经写入布隆过滤器,且第一份数据包已经传送给主机,当后续有相同数据包拷贝到达时,在写入布隆过滤器时发现该数据包已经写入,判断为重复数据包,则丢弃。3.根据权利要求1所述的一种基于SDN网络可靠传输方法,其特征在于,步骤四中链路利用率、丢包率和时延的计算:1)链路利用率计算链路利用率是一段时间内,当前链路通过的流量占该链路可传输的最大流量的百分比;周期T为两次时间之差,其中duration_sec字段和duration_nsec字段表示流在交换机中存在的时间,用毫微秒表示整个持续时间的值,其计算方法是:duration_sec×109+duration_nsec,下标i+1和i分别表示第i+1次和第i次获取的数据:Ta=(duration_seci+1+duration_nseci+1)-(duration_seci+duration_nseci)端口上行速率tx_speed为两次上行字节数相减乘以8除以周期,其中tx_bytes为上行字节数,下标i+1和i分别表示第i+1次和第i次获取的数据:端口下行速率rx_speed为两次下行字节数相减乘以8除以周期,其中rx_bytes为下行字节数,下标i+1和i分别表示第i+1次和第i次获取的数据:端口总速率speed为上行速率tx_speed和下行速率rx_speed之和:speeda=tx_speeda+rx_speeda一条链...

【专利技术属性】
技术研发人员:唐亚哲解愠清颜自坚朱桂英
申请(专利权)人:西安交通大学国网浙江省电力公司
类型:发明
国别省市:陕西,61

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

1