控制流数据的服务质量的方法和OpenFlow控制器的制造方法

文档序号:7983018阅读:190来源:国知局
控制流数据的服务质量的方法和OpenFlow控制器的制造方法
【专利摘要】提供一种控制流数据的QoS的方法和OpenFlow控制器。一种基于OpenFlow控制流数据的QoS的方法,包括,在OpenFlow控制器端,当从OpenFlow交换机接收到数据帧时,提取用于识别与所述数据帧相关的域的域信息,查找与提取的域信息匹配的控制策略项,根据匹配的控制策略项中的关于QoS控制策略的数据对接收的数据帧进行QoS计算,并且确定将转发还是丢弃所述数据帧,针对接收的数据帧生成包括头域、计数器以及动作代码的流表项,所述头域是从接收的数据帧提取的域信息,所述计数器包括用于所述域的转发、接收以及丢弃的数据帧数量,将接收的数据帧连同生成的流表项发送回给OpenFlow交换机进行转发处理。
【专利说明】控制流数据的服务质量的方法和OpenFlow控制器
【技术领域】
[0001]本申请涉及一种基于OpenFlow控制流数据的服务质量(QoS)的方法以及OpenFlow控制器,尤其涉及在OpenFlow控制器端根据其维护的QoS控制策略数据对流数据进行QoS计算,基于计算的结果生成流表项,并且将数据帧连同生成的流表项一同发送给OpenFlow交换机,从而在OpenFlow控制器端对流数据进行QoS控制。
【背景技术】
[0002]随着互联网的普及以及网络传输技术的提高,提供丰富多彩的多媒体内容的流服务已成为主要的互联网服务之一。具有实时特性的多媒体内容对网络传输时延、时延抖动等较为敏感。
[0003]在网络交换机端,可根据对特定传输流的QoS要求,进行带宽控制、丢包率控制、时延控制以及时延抖动控制等以提供QoS。
[0004]另一方面,美国斯坦福大学于2007年提出了一种称为OpenFlow的网络交换模型。OpenFlow交换机将原来完全由交换机/路由器控制的数据巾贞转发改为由OpenFlow交换机和OpenFlow控制器来共同完成,实现数据转发和路由控制的分离。

【发明内容】

[0005]本发明的目的在于提供一种基于OpenFlow控制流数据的服务质量(QoS)的方法以及OpenFlow控制器,在OpenFlow控制器端根据其维护的QoS控制策略对流数据进行QoS计算,基于计算的结果生成流表项,并且将数据巾贞连同生成的流表项一同发送给OpenFlow交换机,从而在OpenFlow控制器端集中控制流数据的QoS。
[0006]根据本发明的一方面,提供一种基于OpenFlow控制流数据的服务质量(QoS)的方法,包括,在OpenFlow控制器端,当从OpenFlow交换机接收到数据巾贞时,执行以下步骤:提取用于识别与所述数据帧相关的域的域信息;在QoS控制策略数据库中查找与提取的域信息匹配的控制策略项,所述QoS控制策略数据库的每个控制策略项包括域信息和关于QoS控制策略的数据;根据匹配的控制策略项中的关于QoS控制策略的数据对接收的数据帧进行QoS计算,并且确定将转发还是丢弃所述数据帧;针对接收的数据帧生成包括头域、计数器以及动作代码的流表项,所述头域是从接收的数据帧提取的域信息,所述计数器包括用于所述域的转发、接收以及丢弃的数据帧数量,所述动作代码用于指示OpenFlow交换机转发或丢弃所述数据帧;将接收的数据帧连同生成的流表项发送回给OpenFlow交换机进行转发处理。
[0007]所述域信息可包括源IP地址、源端口、目标IP地址、目标端口和协议号。
[0008]QoS控制策略可包括带宽控制、丢包控制、时延控制以及抖动控制中的至少一个以及相应的控制参数。
[0009]所述的方法可还包括:如果匹配的控制策略项中的关于QoS控制策略的数据指示时延控制或者抖动控制,则将接收的数据巾贞存储在缓存单元中以完成相应的时延或抖动操作,再将接收的数据帧连同生成的流表项发送回给OpenFlow交换机。
[0010]根据本发明的另一方面,提供一种OpenFlow控制器,包括:通信模块,用于从OpenFlow交换机接收数据巾贞,并且将所述数据巾贞连同QoS流表项发送给所述OpenFlow交换机进行转发处理;QoS数据库模块,用于存储包含多个控制策略项的QoS控制策略数据库,每个控制策略项包括域信息和关于QoS控制策略的数据;数据帧识别模块,用于从通信模块接收的数据帧提取用于识别与所述数据帧相关的域的域信息;域匹配模块,用于在QoS数据库模块存储的QoS控制策略数据库中查找与数据帧识别模块提取的域信息匹配的控制策略项;QoS操作模块,根据域匹配模块查找到的匹配的控制策略项中的关于QoS控制策略的数据对接收的数据帧进行QoS计算,针对所述接收的数据帧生成包括头域、计数器以及动作代码的流表项,并且通过通信模块将接收的数据帧连同生成的流表项发送给所述OpenFlow交换机,其中,所述头域是从接收的数据帧提取的域信息,所述计数器包括用于所述域的转发、接收以及丢弃的数据帧数量,所述动作代码用于指示OpenFlow交换机转发或丢弃所述数据帧。
[0011]所述域信息可包括源IP地址、源端口、目标IP地址、目标端口和协议号。
[0012]QoS控制策略可包括带宽控制、丢包控制、时延控制以及抖动控制中的至少一个以及相应的控制参数。
[0013]所述的OpenFlow控制器可还包括:缓存单元,如果匹配的控制策略项中的关于QoS控制策略的数据指示时延控制或者抖动控制,则QoS操作单元将接收的数据巾贞存储在缓存单元中以完成相应的时延或抖动操作,再通过通信单元发送接收的数据帧连同生成的流表项。
【专利附图】

【附图说明】
[0014]通过下面结合附图进行的描述,本发明的上述和其他目的和特点将会变得更加清楚,其中:
[0015]图1是示出根据本发明的示例性实施例的OpenFlow控制器的结构的逻辑框图;
[0016]图2是示出根据本发明的示例性实施例的为流数据提供QoS的方法的流程图。
【具体实施方式】
[0017]以下,参照附图来详细说明本发明的实施例。
[0018]本发明的总体发明构思是,在OpenFlow架构中,OpenFlow交换机将每个通过网络接口接收的数据巾贞传送给OpenFlow控制器;0penFlow控制器根据针对与接收的数据巾贞相关的域制定的QoS控制策略对接收的数据帧执行QoS计算,并且生成指示转发或丢弃的流表项,然后将接收的数据帧连同流表项发送给OpenFlow交换机执行转发处理。换句话说,本发明在OpenFlow控制器端实现对流数据的QoS控制。
[0019]图1示出根据本发明的OpenFlow控制器的结构。
[0020]参照图1,本发明的OpenFlow控制器包括通信模块110、数据帧识别模块120、域匹配模块130、QoS数据库模块140和QoS操作模块150。
[0021]通信模块110用于从OpenFlow交换机接收数据帧,并且将所述数据帧连同QoS流表项发送给所述OpenFlow交换机进行转发处理。[0022]数据帧识别模块120用于从通信模块110接收的数据帧提取用于识别与所述数据帧相关的域的域信息。根据本发明的示例性实施例,所述域信息是源IP地址、源端口、目的IP地址、目的端口以及协议号。根据域、涉及网络的类型,所述域信息也可以是其他任何用于唯一标识特定域的信息。
[0023]QoS数据库模块140用于存储包含多个控制策略项的QoS控制策略数据库,每个控制策略项包括域信息和关于QoS控制策略的数据。所述关于QoS控制策略的数据包括至少一个QoS控制策略以及相应的控制参数。QoS控制策略包括带宽控制、丢包控制、时延控制以及抖动控制等。例如,所述控制策略类型可以是带宽控制,控制参数可以是OiT信道容许带宽的任意值(如10M);再例如,所述控制策略类型可以是丢包控制,控制参数可以是0%?100%之间的值(如10%)。
[0024]域匹配模块130使用数据帧识别模块120提取的域信息在QoS数据库模块140维护的QoS控制策略数据库中查找与提取的域信息匹配的控制策略项。QoS操作模块150根据匹配的控制策略项中的关于QoS控制策略的数据对接收的数据帧进行QoS计算,针对所述接收的数据帧生成包括头域、计数器以及动作代码的流表项,并且通过通信模块将接收的数据帧连同生成的流表项发送给所述OpenFlow交换机,其中,所述头域是从接收的数据帧提取的域信息,所述计数器包括用于所述域的转发、接收以及丢弃的数据帧数量,所述动作代码用于指示OpenFlow交换机转发或丢弃所述数据帧。QoS操作模块150为了执行流数据的QoS计算,也需要维护必要的QoS状态变量,如用于丢包控制的发送的数据帧数量、接收的数据帧数量以及丢弃的数据帧数量等。可使用现有的用于实现QoS控制策略的算法来进行本发明所述的QoS计算。
[0025]本发明的OpenFlow控制器可还包括缓存单元(未示出)。如果匹配的控制策略项中的关于QoS控制策略的数据指示时延控制或者抖动控制,则QoS操作单元150将接收的数据帧存储在缓存单元中以完成相应的时延或抖动操作,再通过通信单元110发送接收的数据帧连同生成的流表项。
[0026]如上所述,本发明的OpenFlow控制器可根据预设的QoS控制策略对来自OpenFlow交换机的数据帧进行QoS计算,并生成指示转发或丢弃的流表项,从而集中地控制流数据的QoS,并且将QoS与转发分尚开。
[0027]图2示出根据本发明的示例性实施例的提供QoS的方法的流程图。
[0028]参照图2,在步骤S210, OpenFlow控制器从OpenFlow交换机接收到数据中贞。
[0029]在步骤S220,OpenFlow控制器从接收的数据帧提取域信息。根据本发明的示例性实施例,所述域信息是源IP地址、源端口、目的IP地址、目的端口以及协议号。根据域、涉及网络的类型,所述域信息也可以是其他任何用于唯一标识特定域的信息。
[0030]在步骤S230,OpenFlow控制器在其维护的QoS控制策略数据库中查找与提取的域信息匹配的控制策略项,所述QoS控制策略数据库的每个控制策略项包括域信息以及关于QoS控制策略的数据。关于QoS控制策略的数据包括带宽控制、丢包控制、时延控制以及抖动控制中的至少一个以及相应的控制参数。在步骤S240,OpenFlow控制器根据匹配的控制策略项中的关于QoS控制策略的数据对接收的数据帧进行QoS计算,并且确定将转发还是丢弃所述数据帧。
[0031]在步骤S250,OpenFlow控制器针对接收的数据帧生成包括头域、计数器以及动作代码的流表项,所述头域是从接收的数据帧提取的域信息,所述计数器包括用于所述域的转发、接收以及丢弃的数据帧数量,所述动作代码用于指示OpenFlow交换机转发或丢弃所述数据帧。
[0032]在步骤S260,将接收的数据帧连同生成的流表项发送回给OpenFlow交换机进行转发处理。
[0033]根据本发明的优选实施例,如果在步骤S230中匹配的控制策略项中的关于QoS控制策略的数据指示时延控制或者抖动控制,则OpenFlow控制器将接收的数据帧存储在缓存单元中以完成相应的时延或抖动操作,再在步骤S260,将接收的数据帧连同生成的流表项发送回给OpenFlow交换机。
[0034]由此可见,根据本发明的基于OpenFlow控制流数据的QoS的方法以及使用所述方法的OpenFlow控制器可在将OpenFlow接收的数据巾贞根据预设的用于相关域的QoS控制策略进行QoS计算,并且对接收的数据帧进行QoS标注(转发或丢弃),从而在OpenFlow控制器集中地控制流数据的QoS,并且将QoS与转发分离开。
[0035]此外,本发明的基于OpenFlow控制流数据的QoS的方法以及使用所述方法的OpenFlow控制器通过控制实现精确的丢包率、时延等QoS参数,可对多媒体处理及信源编码算法的抗丢包性进行评估,以优化相关算法。
[0036]此外,本发明的基于OpenFlow控制流数据的QoS的方法以及使用所述方法的OpenFlow控制器可实现网络编码,模拟不同丢包率和时延及抖动的网络传输环境,以用于测试和评估网络编码策略。
[0037]尽管已参照优选实施例表示和描述了本发明,但本领域技术人员应该理解,在不脱离由权利要求限定的本发明的精神和范围的情况下,可以对这些实施例进行各种修改和变换。
【权利要求】
1.一种基于OpenFlow控制流数据的服务质量(QoS)的方法,包括,在OpenFlow控制器端,当从OpenFlow交换机接收到数据帧时,执行以下步骤: 提取用于识别与所述数据帧相关的域的域信息;在QoS控制策略数据库中查找与提取的域信息匹配的控制策略项,所述QoS控制策略数据库的每个控制策略项包括域信息和关于QoS控制策略的数据; 根据匹配的控制策略项中的关于QoS控制策略的数据对接收的数据帧进行QoS计算,并且确定将转发还是丢弃所述数据帧; 针对接收的数据帧生成包括头域、计数器以及动作代码的流表项,所述头域是从接收的数据帧提取的域信息,所述计数器包括用于所述域的转发、接收以及丢弃的数据帧数量,所述动作代码用于指示OpenFlow交换机转发或丢弃所述数据帧; 将接收的数据帧连同生成的流表项发送回给OpenFlow交换机进行转发处理。
2.如权利要求1所述的方法,其中,所述域信息包括源IP地址、源端口、目标IP地址、目标端口和协议号。
3.如权利要求2所述的方法,其中,QoS控制策略包括带宽控制、丢包控制、时延控制以及抖动控制中的至少一个以及相应的控制参数。
4.如权利要求3所述的方法,还包括:如果匹配的控制策略项中的关于QoS控制策略的数据指示时延控制或者抖动控制,则将接收的数据帧存储在缓存单元中以完成相应的时延或抖动操作,再将接收的数据帧连同生成的流表项发送回给OpenFlow交换机。
5.一种OpenFlow控制器,包括: 通信模块,用于从OpenFlow交换机接收数据帧,并且将所述数据帧连同QoS流表项发送给所述OpenFlow交换机进行转发处理; QoS数据库模块,用于存储包含多个控制策略项的QoS控制策略数据库,每个控制策略项包括域信息和关于QoS控制策略的数据; 数据帧识别模块,用于从通信模块接收的数据帧提取用于识别与所述数据帧相关的域的域信息; 域匹配模块,用于在QoS数据库模块存储的QoS控制策略数据库中查找与数据帧识别模块提取的域信息匹配的控制策略项; QoS操作模块,根据域匹配模块查找到的匹配的控制策略项中的关于QoS控制策略的数据对接收的数据帧进行QoS计算,针对所述接收的数据帧生成包括头域、计数器以及动作代码的流表项,并且通过通信模块将接收的数据帧连同生成的流表项发送给所述OpenFlow交换机,其中,所述头域是从接收的数据帧提取的域信息,所述计数器包括用于所述域的转发、接收以及丢弃的数据帧数量,所述动作代码用于指示OpenFlow交换机转发或丢弃所述数据帧。
6.如权利要求5所述的OpenFlow控制器,其中,所述域信息包括源IP地址、源端口、目标IP地址、目标端口和协议号。
7.如权利要求6所述的OpenFlow控制器,其中,QoS控制策略包括带宽控制、丢包控制、时延控制以及抖动控制中的至少一个以及相应的控制参数。
8.如权利要求7所述的OpenFlow控制器,还包括:缓存单元,如果匹配的控制策略项中的关于QoS控制策略的数据指示时延控制或者抖动控制,则QoS操作单元将接收的数据帧存储在缓存单元中以完成相应的时延或抖动操作,再通过通信单元发送接收的数据帧连同生成的流表项。`
【文档编号】H04L12/851GK103685058SQ201210334920
【公开日】2014年3月26日 申请日期:2012年9月11日 优先权日:2012年9月11日
【发明者】周金和, 胡佳, 叶铿 申请人:北京信息科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1