一种基于sdn环境的数据的可靠组播传输方法

文档序号:7823251阅读:310来源:国知局
一种基于sdn环境的数据的可靠组播传输方法
【专利摘要】本发明公开了一种基于SDN环境的数据的可靠组播传输方法。SDN网络控制器实时监控当前网络状况,在数据传输之前发送端与接收端先进行三次握手建立连接,连接建立过程中发送端指定接收端,由SDN网络控制器生成组播转发树,连接建立后发送端向该连接发送数据,数据以组播的方式传输到每个接收端,每个接收端接收到数据之后向发送端发送确认报文,保证数据可靠传输,同时发送端维护拥塞窗口,在发送数据的过程中进行拥塞控制,从而保证TCP友好性。该方法具有良好的灵活性和安全性,能达到最优的传输效率,有效降低组播数据确认的时延,因而能广泛用于组播会话变动较为灵活、组成员数目较小的数据推送式可靠组播数据传输场景。
【专利说明】一种基于SDN环境的数据的可靠组播传输方法

【技术领域】
[0001] 本发明属于网络环境下的数据传输【技术领域】,更具体地,涉及一种基于SDN环境 的数据的可靠组播传输方法。

【背景技术】
[0002] 近年来,随着计算机网络规模的持续增长和网络应用的不断增加,传统网络的结 构和功能越来越复杂,管理和控制能力逐渐减弱。同时,在传统网络架构下,实行任何新 网络研宄方案和业务都异常困难,必须在得到相关的标准化组织同意和设备提供商允许 时才能投入实际网络环境。为了解决现在网络体系结构造成的众多问题,软件定义网络 (SoftwareDefinedNetwork,SDN)技术被提出,随着斯坦福大学相关研宄者提出OpenFlow 技术,基于OpenFlow的SDN架构在业界广泛推广。
[0003] SDN是一种新兴的基于软件的网络架构及技术,具有控制平面与数据平面松耦合、 网络状态控制集中、底层网络设施对上层应用透明等特点。相比于传统网络,SDN具有逻辑 上集中的控制能力,在网络控制器端可以获得网络的全局信息,支持根据业务需求进行全 局调配和最优控制。OpenFlow作为SDN的一种最为业界接受的南向接口,规定了作为SDN 基础设施的OpenFlow交换机的基本组件与功能要求,以及用于远程控制器对交换机控制 的协议。
[0004] 随着IT业务的不断丰富,涌现出大量的不同类型的网络应用,在网络中产生大量 不同模式的网络流量,其中相当一部分流量为一对多模式,如视频直播、多媒体应用、资源 同步等。传统网络技术中,为了传输一对多模式的网络流量,采用IP组播技术来提升效率、 减少网络开销。然而传统的IP组播为基于用户数据包协议(UserDatagramProtocol,UDP) 的非可靠协议,目前应用较为广泛的可靠组播协议均为在UDP协议的基础之上实现的,且 进行数据转发过程中不具备网络拥塞感知的能力,容易造成网络拥塞,导致协议的效率低。 另一方面,大部分传统组播协议为接收端自由加入和退出,发送端不保存接收端的信息,因 此容易造成安全性问题。此外,传统组播协议在处理组播会话变动的情况下灵活性差,如tl 时刻A需要给B、C和D发送数据DATA1,而t2时刻A结束DATA1的传输,同时需要给D、E 和F发送数据DATA2。囿于传统可靠组播技术的效率低、安全性差、灵活性差等因素,大量一 对多模式的流量只能采用基于TCP协议的点到点多次传输的方式完成,典型的如分布式存 储系统中的多副本写机制,造成网络资源的严重浪费,影响上层业务的吞吐率。


【发明内容】

[0005] 针对现有技术的以上缺陷或改进需求,本发明提供了一种基于SDN环境的数据的 可靠组播传输方法,在一对多模式的数据传输场景中具有很好的可靠性、安全性、灵活性和 TCP友好性,且传输效率高,延时小。
[0006] 为实现上述目的,本发明提供了一种基于SDN环境的数据的可靠组播传输方法, 其特征在于,包括如下步骤:
[0007] (1)初始化;进一步包括如下步骤:
[0008] (1-1)启动SDN网络控制器,对网络状况进行实时监控;
[0009] (1-2)选取任一组播地址,标记为ADDRsyn;
[0010] (1-3)启动至少一个接收端,被启动的接收端将自身的地址信息发送至SDN网络 控制器;其中,地址信息包括MAC地址、IP地址和端口号;
[0011] (1-4)SDN网络控制器接收并记录地址信息,被启动的接收端进入监听状态;
[0012] (2)建立连接;进一步包括如下步骤:
[0013] (2-1)发送端在被启动的接收端集合中指定接收端;
[0014] (2-2)发送端生成与TCP报文格式相同的第一次握手报文,选取发送端所在主机 上未被占用的组播地址作为连接地址ADDRroNN,将连接地址ADDRroNN与发送端标识加入第一 次握手报文的头部中的TCP选项区域,将指定的接收端总数以及所有指定的接收端的IP地 址和端口号作为第一次握手报文的负载数据,以发送端地址为源地址,ADDRSYN为目标地址, 将第一次握手报文发送至网络;
[0015] (2-3)SDN网络控制器接收第一次握手报文,提取发送端地址,连接地址ADDRraN, 指定的接收端总数,以及所有指定的接收端的IP地址和端口号,结合当前的网络拥塞状况 获取组播转发树,并将组播转发树下发安装到SDN交换机;
[0016] (2-4)对每一个指定的接收端,SDN网络控制器复制第一次握手报文,将得到的第 一次握手报文副本的目标地址修改为该指定的接收端的IP地址,发送至网络;
[0017] (2-5)各指定的接收端接收目标地址与其IP地址对应的第一次握手报文副本,获 取连接地址ADDRraN,加入该连接地址ADDReM所在的组播组,从而能够接收以该连接地址 ADDRroNN为目标地址的报文;
[0018] (2-6)各指定的接收端生成与TCP报文格式相同的第二次握手报文,将接收端标 识和连接地址ADDR_加入第二次握手报文的头部中的TCP选项区域,以发送端地址为目标 地址,将第二次握手报文发送至网络;
[0019] (2-7)发送端接收到所有指定的接收端的第二次握手报文后,生成与TCP报文格 式相同的第三次握手报文,将发送端标识加入第三次握手报文的头部中的TCP选项区域, 以连接地址ADDRraN为目标地址,通过组播转发树发送至各指定的接收端;
[0020] (2-8)各指定的接收端接收第三次握手报文,完成连接建立过程;
[0021] (3)发送端以连接地址ADDR_为目标地址,向各指定的接收端发送数据报文,各 指定的接收端收到数据报文后,向发送端发送确认报文,发送端在接收到每个指定的接收 端的确认报文后,完成该数据报文的发送。
[0022] 优选地,还包括如下步骤(4):在所有数据传输完成后关闭连接;其中,发送端在 收到每个指定的接收端的关闭报文和每个指定的接收端对发送端发出的关闭报文的确认 报文后判断为关闭。
[0023] 优选地,所述步骤(3)和(4)中,在发送端发出的报文头部中加入发送端标识,以 表明该报文为发送端发出的报文;在接收端发出的报文头部中加入接收端标识和连接地址 ADDRroNN,以表明该报文为连接地址ADDRroiJ^在的组播组的接收端发出的报文。
[0024] 优选地,所述步骤(2-3)中,若与所述发送端地址、连接地址ADDR_和所有指定的 接收端的IP地址对应的组播转发树已经存在,则直接复用该转组播发树。
[0025] 优选地,所述步骤(3)中,若发送端在预定的时间内未收到所有指定的接收端的 确认报文,则重新发送对应的数据报文。
[0026] 优选地,所述步骤(3)中,发送端在发送数据报文的过程中维护拥塞窗口,进行网 络拥塞控制。
[0027] 优选地,SDN网络控制器管理所有组播转发树,能对组播转发树进行生成、复用和 销毁。
[0028] 总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效 果:SDN网络控制器实时监控当前网络状况,在数据传输之前发送端与接收端先进行三次 握手建立连接,连接建立过程中发送端指定接收端,由SDN网络控制器生成组播转发树,连 接建立后发送端向该连接发送数据,数据以组播的方式传输到每个接收端,每个接收端接 收到数据之后向发送端发送确认报文,保证数据可靠传输,同时发送端维护拥塞窗口,在发 送数据的过程中进行拥塞控制,从而保证TCP友好性。这种源端控制的组播协议具有良好 的灵活性和安全性,利用SDN网络控制器计算组播转发树能达到最优的传输效率,由发送 端统一处理数据确认能有效降低组播数据确认的时延,因此本发明的方法能广泛用于组播 会话变动较为灵活、组成员数目较小的数据推送式可靠组播数据传输场景。

【专利附图】

【附图说明】
[0029] 图1是本发明实施例的基于SDN环境的数据的可靠组播传输方法流程示意图;
[0030] 图2是网络拓扑结构示意图;
[0031] 图3是发送组播数据过程的报文流向示意图。

【具体实施方式】
[0032] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并 不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要 彼此之间未构成冲突就可以相互组合。
[0033] 本发明的技术方案为:发送端指定接收端,由SDN网络控制器计算组播转发树,以 有连接的方式实现数据的可靠组播传输,同时发送端通过拥塞控制保证TCP友好性。
[0034] 如图1所示,本发明实施例的基于SDN环境的数据的可靠组播传输方法包括如下 步骤:
[0035] (1)初始化。进一步包括如下步骤:
[0036] (1-1)启动SDN网络控制器,对网络状况进行实时监控。
[0037] (1-2)选取任一组播地址,标记为ADDRsyn。
[0038] (1-3)启动至少一个接收端,被启动的接收端将自身的地址信息发送至SDN网络 控制器。
[0039] 其中,地址信息包括MAC地址、IP地址和端口号。
[0040] (1-4)SDN网络控制器接收并记录地址信息,被启动的接收端进入监听状态。
[0041] (2)建立连接。进一步包括如下步骤:
[0042] (2-1)发送端在被启动的接收端集合中指定接收端。
[0043] (2-2)发送端生成与TCP报文格式相同的第一次握手报文(SYN报文),选取发送 端所在主机上未被占用的组播地址作为连接地址ADDRraN,将连接地址ADDRraN与发送端标 识加入第一次握手报文的头部中的TCP选项区域,将指定的接收端总数以及所有指定的接 收端的IP地址和端口号作为第一次握手报文的负载数据,以发送端地址为源地址,ADDRsyn 为目标地址,将第一次握手报文发送至网络。
[0044] (2-3)在第一次握手报文到达网络的第一个SDN交换机后,将其转发到SDN网络控 制器,SDN网络控制器接收第一次握手报文,提取发送端地址,连接地址ADDRroffl,指定的接 收端总数,以及所有指定的接收端的IP地址和端口号,结合当前的网络拥塞状况获取组播 转发树,并将组播转发树下发安装到SDN交换机。
[0045] 其中,若与上述发送端地址、连接地址ADDIU,所有指定的接收端的IP地址对应 的组播转发树已经存在,则直接复用该组播转发树。
[0046] (2-4)对每一个指定的接收端,SDN网络控制器复制第一次握手报文,将得到的第 一次握手报文副本的目标地址修改为该指定的接收端的IP地址,发送至网络。
[0047] (2-5)各指定的接收端接收目标地址与其IP地址对应的第一次握手报文副本,获 取连接地址ADDRraN,加入该连接地址ADDReM所在的组播组,从而能够接收以该连接地址 ADDRroNN为目标地址的报文。
[0048] (2-6)各指定的接收端生成与TCP报文格式相同的第二次握手报文(SYN/ACK报 文),将接收端标识和连接地址ADDRraNN加入第二次握手报文的头部中的TCP选项区域,以 发送端地址为目标地址,将第二次握手报文发送至网络。
[0049] (2-7)发送端接收到所有指定的接收端的第二次握手报文后,生成与TCP报文格 式相同的第三次握手报文,将发送端标识加入第三次握手报文的头部中的TCP选项区域, 以连接地址ADDRraN为目标地址,通过组播转发树发送至各指定的接收端。
[0050] (2-8)各指定的接收端接收第三次握手报文,完成连接建立过程。
[0051] (3)发送端以连接地址ADDR_为目标地址,向各指定的接收端发送数据报文,各 指定的接收端收到数据报文后,向发送端发送确认报文,发送端在接收到每个指定的接收 端的确认报文后,完成该数据报文的发送。
[0052] 其中,若发送端在预定的时间内未收到所有指定的接收端的确认报文,则重新发 送对应的数据报文;发送端在发送数据报文的过程中维护拥塞窗口,进行网络拥塞控制。
[0053] (4)在所有数据传输完成后关闭连接。
[0054] 其中,连接关闭的流程采用与TCP关闭流程相似的四次挥手方式,发送端在收到 每个指定的接收端的关闭报文(FIN报文)和每个指定的接收端对发送端发出的关闭报文 (FIN报文)的确认报文后才判断为关闭,接收端的关闭流程与TCP的关闭流程相同。
[0055] 上述步骤⑶和⑷中,发送端向接收端发送报文的过程采用组播方式,接收端向 发送端发送报文的过程采用单播方式,因此需要区分这两种报文。在发送端发出的报文头 部中加入发送端标识,以表明该报文为发送端发出的报文;在接收端发出的报文头部中加 入接收端标识和连接地址ADDRraN,以表明该报文为连接地址ADDRraN所在的组播组的接收 端发出的报文。
[0056] SDN网络控制器管理所有组播转发树,能对组播转发树进行生成、复用和销毁。例 如,对长期未使用的组播转发树,SDN网络控制器可将其销毁。
[0057] 为使本领域技术人员更好地理解本发明,下面以基于OpenFlow的SDN网络环境为 例,对本发明的基于SDN环境的数据的可靠组播传输方法进行详细说明。
[0058] 如图2所示,网络拓扑由四个SDN交换机S1?S4组成,H1为发送端,其IP 地址为192. 168. 3. 1,H3、H4和H6为接收端,其MAC地址分别为0C:C4:7A:41:4A:03、 0C:C4:7A:41:4A:04 和 0C:C4:7A:41:4A:06,IP地址分别为 192. 168. 3. 3、192. 168. 3. 4 和 192. 168. 3. 6,连接的端口号均为6666,SDN网络控制器的IP地址为192. 168. 3. 100,ADDRsyn 为239. 0. 1. 0,连接地址ADDRroNN为239. 0. 1. 1,建立连接过程中数据报文的具体流向为:
[0059] (A)启动接收端H3、H4和H6。接收端H3通过UDP协议向SDN网络控制器发送 注册报文,其报文为UDP:dst_ip:192. 168. 3. 100,报文负载为端口号信息6666 ;SDN网 络控制器接收到该注册报文,并从其中获取H3的MAC地址0C:C4:7A:41:4A:03,IP地址 192. 168. 3. 3,端口号6666,并记录,供后期管理及生成OpenFlow流表。H4和H6跟H3-样 向SDN网络控制器发送注册报文;
[0060] (B)接收端H3、H4和H6都已经进入监听状态之后,发送端H1选取接收端为H3、H4 和H6,将连接地址239. 0. 1. 1和发送端标识加入SYN报文的TCP选项区域,其负载数据如下 表所示,目标地址为ADDRSYN:239. 0. 1. 0,发送到网络。

【权利要求】
1. 一种基于SDN环境的数据的可靠组播传输方法,其特征在于,包括如下步骤: (1) 初始化;进一步包括如下步骤: (1-1)启动SDN网络控制器,对网络状况进行实时监控; (1-2)选取任一组播地址,标记为ADDRsyn; (1-3)启动至少一个接收端,被启动的接收端将自身的地址信息发送至SDN网络控制 器;其中,地址信息包括MAC地址、IP地址和端口号; (1-4) SDN网络控制器接收并记录地址信息,被启动的接收端进入监听状态; (2) 建立连接;进一步包括如下步骤: (2-1)发送端在被启动的接收端集合中指定接收端; (2-2)发送端生成与TCP报文格式相同的第一次握手报文,选取发送端所在主机上未 被占用的组播地址作为连接地址ADDRotn,将连接地址ADDRotn与发送端标识加入第一次握 手报文的头部中的TCP选项区域,将指定的接收端总数以及所有指定的接收端的IP地址和 端口号作为第一次握手报文的负载数据,以发送端地址为源地址,ADDR syn为目标地址,将第 一次握手报文发送至网络; (2-3) SDN网络控制器接收第一次握手报文,提取发送端地址,连接地址ADDRkm,指定 的接收端总数,以及所有指定的接收端的IP地址和端口号,结合当前的网络拥塞状况获取 组播转发树,并将组播转发树下发安装到SDN交换机; (2-4)对每一个指定的接收端,SDN网络控制器复制第一次握手报文,将得到的第一次 握手报文副本的目标地址修改为该指定的接收端的IP地址,发送至网络; (2-5)各指定的接收端接收目标地址与其IP地址对应的第一次握手报文副本,获取 连接地址ADDRotn,加入该连接地址ADDRkm所在的组播组,从而能够接收以该连接地址 ADDRkm为目标地址的报文; (2-6)各指定的接收端生成与TCP报文格式相同的第二次握手报文,将接收端标识和 连接地址ADDRkm加入第二次握手报文的头部中的TCP选项区域,以发送端地址为目标地 址,将第二次握手报文发送至网络; (2-7)发送端接收到所有指定的接收端的第二次握手报文后,生成与TCP报文格式相 同的第三次握手报文,将发送端标识加入第三次握手报文的头部中的TCP选项区域,以连 接地址ADDRotn为目标地址,通过组播转发树发送至各指定的接收端; (2-8)各指定的接收端接收第三次握手报文,完成连接建立过程; (3) 发送端以连接地址ADDRkm为目标地址,向各指定的接收端发送数据报文,各指定 的接收端收到数据报文后,向发送端发送确认报文,发送端在接收到每个指定的接收端的 确认报文后,完成该数据报文的发送。
2. 如权利要求1所述的基于SDN环境的数据的可靠组播传输方法,其特征在于,还包括 如下步骤(4):在所有数据传输完成后关闭连接;其中,发送端在收到每个指定的接收端的 关闭报文和每个指定的接收端对发送端发出的关闭报文的确认报文后判断为关闭。
3. 如权利要求2所述的基于SDN环境的数据的可靠组播传输方法,其特征在于,所述步 骤⑶和⑷中,在发送端发出的报文头部中加入发送端标识,以表明该报文为发送端发出 的报文;在接收端发出的报文头部中加入接收端标识和连接地址ADDR km,以表明该报文为 连接地址ADDRraJ^在的组播组的接收端发出的报文。
4. 如权利要求1至3中任一项所述的基于SDN环境的数据的可靠组播传输方法,其特 征在于,所述步骤(2-3)中,若与所述发送端地址、连接地址ADDR ot^P所有指定的接收端的 IP地址对应的组播转发树已经存在,则直接复用该转组播发树。
5. 如权利要求1至3中任一项所述的基于SDN环境的数据的可靠组播传输方法,其特 征在于,所述步骤(3)中,若发送端在预定的时间内未收到所有指定的接收端的确认报文, 则重新发送对应的数据报文。
6. 如权利要求1至3中任一项所述的基于SDN环境的数据的可靠组播传输方法,其特 征在于,所述步骤(3)中,发送端在发送数据报文的过程中维护拥塞窗口,进行网络拥塞控 制。
7. 如权利要求1至3中任一项所述的基于SDN环境的数据的可靠组播传输方法,其特 征在于,SDN网络控制器管理所有组播转发树,能对组播转发树进行生成、复用和销毁。
【文档编号】H04L12/761GK104518973SQ201410787311
【公开日】2015年4月15日 申请日期:2014年12月17日 优先权日:2014年12月17日
【发明者】王芳, 冯丹, 朱挺炜, 史庆宇, 万勇 申请人:华中科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1