一种对OpenFlow网络进行网络编码的方法

文档序号:7870223阅读:193来源:国知局
专利名称:一种对OpenFlow网络进行网络编码的方法
技术领域
本发明涉及网络编码技术领域,主要适用于对OpenFlow网络进行网络编码的方法。
背景技术
随着互联网技术的迅速发展,网络承载的业务数量日趋庞大,业务种类日趋复杂,网络规模也因此不断增长,这使得基于传统网络体系架构的功能性设计缺陷引发的网络弊病日益明显。目前的网络效率低,难以扩展,在网络服务质量、安全性、可管理性等方面都无法满足用户日益苛刻的需求。针对目前所遇到的问题,Nick McKeown教授等人在2007年提出的软件定义网络(Software Defined Networking, SDN)。OpenFlow是实现SDN的核心技木,OpenFlow将原有的完全由交換机/路由器控制的报文转发方式转化为基于多域网包包头描述的流转发方式,同时传统的控制层面从转发设备中剥离出来,所有转发行为的决策都迁移到了某个集中控制器上,实现了数据转发和路由控制的分离。OpenFlow网络结构具体如图1所示,主要由OpenFlow交换机02和OpenFlow控制器01组成,在OpenFlow网络结构中,OpenFlow交换机02主要由流表03、安全通道04和OpenFlow协议05三部分构成。其中,流表03用来进行数据包的查找和转发。安全通道04是连接OpenFlow交换机02到OpenFlow控制器01的接ロ。OpenFlow交换机02和OpenFlow控制器01通过安全通道04进行通信,而且所有的信息必须按照OpenFlow协议05规定的格式来执行。OpenFlow协议05用来描述OpenFlow控制器01和OpenFlow交换机02之间交互所用信息的标准,以及OpenFlow控制器01和OpenFlow交换机02的接ロ标准。协议的核心部分是用于OpenFlow协议05信息结构的集合。OpenFlow控制器01是整个系统的大脑,通过控制其所管辖的OpenFlow交換机02中的流表03 (包括流表项的添加、修改以及删除等基本操作)来负责整个网络的控制逻辑。各种操作的逻辑功能是基于OpenFlow控制器01上运行的控制程序来实现的。自从2000年首次提出将网络编码(Network Coding)引入网络通信中以来,由于网络编码能够带来提升网络吞吐量、均衡网络负载、提高带宽利用率、提高网络链接鲁棒性及減少网络管理开销等一系列好处,基于网络编码的路由设计、内容分发、存储等方面的研究陆续展开,并取得了众多具有实用性的研究成果。目前网络编码已广泛应用于Ad-hoc网络、传感器网络、P2P文件共享系统、分布式文件存储和网络安全等领域。2012年8月Felicidn N6meth等人首次尝试将网络编码应用于OpenFlow网络,并通过实验取得了成功,证实了在OpenFlow网络上使用网络编码的可行性。但他们只是在蝴蝶网络中实现了异或的网络编码方式,对OpenFlow交换机进行相应的编解码改动,仍需要通过人工静态配置OpenFlow交换机流表,并未在OpenFlow控制器上提出对应于网络编码的改动。目前在OpenFlow网络中应用网 络编码还处于刚刚起步阶段,并没有成熟的研究成果,仍存在很多待解决的问题,国内还没有对此相关的研究。OpenFlow交換机的编码能力没有得到充分发挥,OpenFlow控制器在目前的网络编码中没有起到相应的作用。目前已有的基于OpenFlow的网络编码均为OpenFlow交换机自身根据设定的编码方式进行的编码,没有与OpenFlow控制器进行有关编码的交互行为。

发明内容
本发明所要解决的技术问题是提供ー种对OpenFlow网络进行网络编码的方法,它能够使OpenFlow交换机与OpenFlow控制器进行有关编码的交互行为,从而提高OpenFlow网络中的OpenFlow交换机和OpenFlow控制器的实用性。 为解决上述技术问题,本发明提供了ー种对OpenFlow网络进行网络编码的方法包括若OpenFlow交换机支持网络编码,则OpenFlow控制器得到所述OpenFlow交换机的网络编码配置參数;当OpenFlow交换机接收到数据包时,对所述数据包进行流表匹配,并判断OpenFlow交換机中是否存在数据包的编码策略; 若OpenFlow交換机中不存在数据包的编码策略,则将数据包发送到所述OpenFlow控制器,由OpenFlow控制器设计数据包的编码策略,并将所述编码策略发回到OpenFlow交换机,由OpenFlow交换机响应。进ー步地,还包括首先由OpenFlow控制器询问OpenFlow交换机是否支持网络编码; 所述OpenFlow交换机对所述询问进行答复;若OpenFlow交换机支持网络编码,则所述OpenFlow控制器得到OpenFlow交换机的网络编码配置參数。进ー步地,所述OpenFlow控制器得到OpenFlow交换机的网络编码配置參数包括所述OpenFlow控制器询问所述OpenFlow交换机的网络编码配置參数,OpenFlow交换机再回复自身的网络编码配置參数。 进ー步地,所述OpenFlow控制器得到OpenFlow交换机的网络编码配置參数包括所述OpenFlow控制器直接对所述OpenFlow交换机的网络编码配置參数进行设置。进ー步地,在所述将编码策略发回到OpenFlow交换机后,所述OpenFlow控制器将所述接收到的数据包和数据包的行为策略发回所述OpenFlow交换机,由OpenFlow交换机响应;其中,所述行为策略包括编码行为和解码行为。进ー步地,在所述由OpenFlow控制器设计数据包的编码策略,并将编码策略发回到OpenFlow交换机,由OpenFlow交换机响应后,若所述OpenFlow控制器接收到由所述OpenFlow交换机发送的异常信息,OpenFlow控制器查询OpenFlow交换机的编码情况,并重新设计OpenFlow交换机的编码策略,再将所述编码策略发回给OpenFlow交换机。进ー步地,所述当OpenFlow交换机接收到数据包时,对数据包进行流表匹配,并判断OpenFlow交换机中是否存在数据包的编码策略,包括当所述OpenFlow交换机接收到数据包时,对所述数据包进行流表匹配,并判断OpenFlow交換机中是否存在数据包的编码策略;若OpenFlow交換机中存在数据包的编码策略,则直接对数据包进行响应。进ー步地,所述将编码策略发回到OpenFlow交换机,由OpenFlow交换机响应,包括将所述编码策略发回到所述OpenFlow交换机,OpenFlow交换机根据接收到的编码策略修改自身的流表。
进一步地,所述网络编码配置参数包括0penFlow交换机支持的网络编码类型、 一次编解码操作支持的最大数据包个数及在OpenFlow交换机中的待编解码数据包的存活时间。
进一步地,所述异常信息包括流表超时删除信息、端口变化信息及编解码错误信肩、O
本发明的有益效果在于
本发明提供的对OpenFlow网络进行网络编码的方法通过对OpenFlow网络中的安全通道协议进行扩展,再结合OpenFlow交换机的网络编码技术和OpenFlow控制器的路由控制技术,在不改变OpenFlow系统管理性能的基础上,优化了网络链路的资源分配的性能,从而提高了 OpenFlow网络中的OpenFlow交换机和OpenFlow控制器的实用性。


图1为OpenFlow网络的框架图。
图2为本发明实施例提供的OpenFlow网络进行网络编码的方法的流程图。
图3为本发明实施例提供的OpenFlow网络进行网络编码的方法中OpenFlow控制器得到OpenFlow交换机的网络编码配置参数的通信图。
图4为本发明实施例提供的OpenFlow网络进行网络编码的方法中OpenFlow控制器为数据包设计编码策略时,与OpenFlow交换机的通信图。
图5为本发明实施例提供的OpenFlow网络进行网络编码的方法中OpenFlow控制器得到异常信息后,与OpenFlow交换机的通信图。
具体实施方式
为进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的对OpenFlow网络进行网络编码的方法的具体实施方式
及工作原理进行详细说明。
由图2可知,本发明提供的对OpenFlow网络进行网络编码的方法包括
OpenFlow控制器先询问OpenFlow交换机是否支持网络编码;
OpenFlow交换机对询问进行答复;
若OpenFlow交换机支持网络编码,则OpenFlow控制器得到OpenFlow交换机的网络编码配置参数;在本实施例中,OpenFlow控制器可以通过两种方式得到OpenFlow交换机的网络编码配置参数;第一种方式为OpenFlow控制器询问OpenFlow交换机的网络编码配置参数,OpenFlow交换机再回复自身的网络编码配置参数;第二种方式为OpenFlow 控制器直接对OpenFlow交换机的 网络编码配置参数进行设置。其中,网络编码配置参数包括=OpenFlow交换机支持的网络编码类型、一次编解码操作支持的最大数据包个数及在 OpenFlow交换机中的待编解码数据包的存活时间。
若OpenFlow交换机不支持网络编码,则不进行任何操作。
OpenFlow控制器与OpenFlow交换机每隔特定的时间互相发送消息,询问是否保持连接。若OpenFlow控制器与OpenFlow交换机保持连接,则说明OpenFlow控制器和OpenFlow交换机连接正常,可以进行后续操作;由此可知,OpenFlow控制器通过询问 OpenFlow交换机是否保持连接可以实时掌握网络拓扑结构的变换情况。其中,特定的时间由OpenFlow控制器根据网络的大小和复杂程度决定。
当OpenFlow交换机接收到数据包时,对数据包进行流表匹配,并判断OpenFlow交换机中是否存在数据包的编码策略;
若OpenFlow交换机中不存在数据包的编码策略,则将数据包的包头发送到 OpenFlow控制器,由OpenFlow控制器设计数据包的编码策略,并将设计的编码策略发回到 OpenFlow交换机。此时,OpenFlow控制器和OpenFlow交换机相互询问是否保持连接。若不保持连接,则操作结束;若保持连接,则OpenFlow控制器将接收到的数据包和数据包的行为策略发回OpenFlow交换机,由OpenFlow交换机响应;具体的,OpenFlow交换机根据接收到的编码策略修改自身的流表。其中,行为策略包括编码行为和解码行为。需要说明的是,在OpenFlow控制器将编码策略发回到OpenFlow交换机后,若OpenFlow控制器接收到由OpenFlow交换机发送来的异常信息,OpenFlow控制器查询OpenFlow交换机的编码情况, 并重新设计OpenFlow交换机的编码策略,再将编码策略发回给OpenFlow交换机。其中,异常信息包括流表超时删除信息、端口变化信息及编解码错误信息。
若OpenFlow交换机中存在数据包的编码策略,则直接对数据包进行响应。
通过本发明提供的对OpenFlow网络进行网络编码的方法实现OpenFlow网络的网络编码,在进行网络编码时,OpenFlow控制器与OpenFlow交换机首先需要初始化通信。由图3可知,OpenFlow控制器01和OpenFlow交换机02_1、OpenFlow交换机02_2相互发送询问消息,并取得连接。接着,OpenFlow控制器01询问OpenFlow交换机02_1和OpenFlow 交换机02-2是否支持网络编码。OpenFlow交换机回应自身支持的网络编码类型。其中, 网络编码类型包括异或编码和随机线性网络编码。随后OpenFlow控制器01询问或配置 OpenFlow交换机的网络编码配置参数,OpenFlow交换机再回复自身的网络编码配 置参数; 接着,OpenFlow控制器01与OpenFlow交换器每隔特定的时间互相发送消息,询问是否保持连接。若OpenFlow控制器01与OpenFlow交换机保持连接,则可进行后续操作。
由图4可知,当OpenFlow交换机02-1接收到数据包时,先对数据包进行流表匹配,再判断OpenFlow交换机02_1中是否存在数据包的编码策略;若OpenFlow交换机02_1 中不存在数据包的编码策略,则将数据包的包头发送到OpenFlow控制器01。OpenFlow 控制器01根据自身的路由算法制定出新的编码策略,然后将制定出的编码策略发送到 OpenFlow交换机02_1和OpenFlow交换机02_2 ;再询问是否保持连接。若保持连接,则 OpenFlow控制器01将原数据包和数据包的行为策略发送到OpenFlow交换机02_1,由 OpenFlow交换机响应;0penFlow控制器01再询问OpenFlow交换机上编码行为是否完成, 若完成,则OpenFlow交换机回复完成消息。由图5可知,在OpenFlow交换机02_2接收到由 OpenFlow控制器01发出的编码策略后,若发现有异常状况,则将异常信息发送给OpenFlow 控制器01。OpenFlow控制器01接收到异常信息,查询OpenFlow交换机的编码情况。此时 OpenFlow控制器01和OpenFlow交换机相互询问是否保持连接。若保持连接,则OpenFlow 控制器01将重新设计的OpenFlow交换机的编码策略发送给OpenFlow交换机,由OpenFlow 交换机进行响应。OpenFlow控制器01再询问OpenFlow交换机上编码行为是否完成,若完成,则OpenFlow交换机回复完成消息。
本发明提供的对OpenFlow网络进行网络编码的方法通过对OpenFlow网络中的安全通道协议进行扩展,再结合OpenFlow交换机的网络编码技术和OpenFlow控制器的路由控制技术, 在不改变OpenFlow系统管理性能的基础上,优化了网络链路的资源分配的性能,从而提高了 OpenFlow网络中的OpenFlow交换机和OpenFlow控制器的实用性。
最后所应说明的是,以上具体实施方式
仅用以说明本发明的技术方案而非限制,尽管参照实例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
权利要求
1.一种对OpenFlow网络进行网络编码的方法,其特征在于,包括 若OpenFlow交换机支持网络编码,则OpenFlow控制器得到所述OpenFlow交换机的网络编码配置参数; 当OpenFlow交换机接收到数据包时,对所述数据包进行流表匹配,并判断OpenFlow交换机中是否存在数据包的编码策略; 若OpenFlow交换机中不存在数据包的编码策略,则将数据包发送到所述OpenFlow控制器,由OpenFlow控制器设计数据包的编码策略,并将所述编码策略发回到OpenFlow交换机,由OpenFlow交换机响应。
2.如权利要求1所述的对OpenFlow网络进行网络编码的方法,其特征在于,还包括首先由OpenFlow控制器询问OpenFlow交换机是否支持网络编码; 所述OpenFlow交换机对所述询问进行答复; 若OpenFlow交换机支持网络编码,则所述OpenFlow控制器得到OpenFlow交换机的网络编码配置参数。
3.如权利要求1或2所述的对OpenFlow网络进行网络编码的方法,其特征在于,所述OpenFlow控制器得到OpenFlow交换机的网络编码配置参数包括所述OpenFlow控制器询问所述OpenFlow交换机的网络编码配置参数,OpenFlow交换机再回复自身的网络编码配置参数。
4.如权利要求1或2所述的对OpenFlow网络进行网络编码的方法,其特征在于,所述OpenFlow控制器得到OpenFlow交换机的网络编码配置参数包括所述OpenFlow控制器直接对所述OpenFlow交换机的网络编码配置参数进行设置。
5.如权利要求1或2所述的对OpenFlow网络进行网络编码的方法,其特征在于,在所述将编码策略发回到OpenFlow交换机后,所述OpenFlow控制器将所述接收到的数据包和数据包的行为策略发回所述OpenFlow交换机,由OpenFlow交换机响应;其中,所述行为策略包括编码行为和解码行为。
6.如权利要求1或2所述的对OpenFlow网络进行网络编码的方法,其特征在于,在所述由OpenFlow控制器设计数据包的编码策略,并将编码策略发回到OpenFlow交换机,由OpenFlow交换机响应后,若所述OpenFlow控制器接收到由所述OpenFlow交换机发送的异常信息,OpenFlow控制器查询OpenFlow交换机的编码情况,并重新设计OpenFlow交换机的编码策略,再将所述编码策略发回给OpenFlow交换机。
7.如权利要求1所述的对OpenFlow网络进行网络编码的方法,其特征在于,所述当OpenFlow交换机接收到数据包时,对数据包进行流表匹配,并判断OpenFlow交换机中是否存在数据包的编码策略,包括当所述OpenFlow交换机接收到数据包时,对所述数据包进行流表匹配,并判断OpenFlow交换机中是否存在数据包的编码策略; 若OpenFlow交换机中存在数据包的编码策略,则直接对数据包进行响应。
8.如权利要求1所述的对OpenFlow网络进行网络编码的方法,其特征在于,所述将编码策略发回到OpenFlow交换机,由OpenFlow交换机响应,包括将所述编码策略发回到所述OpenFlow交换机,OpenFlow交换机根据接收到的编码策略修改自身的流表。
9.如权利要求1所述的对OpenFlow网络进行网络编码的方法,其特征在于,所述网络编码配置参数包括=OpenFlow交换机支持的网络编码类型、一次编解码操作支持的最大数据包个数及在OpenFlow交换机中的待编解码数据包的存活时间。
10.如权利要求6所述的对OpenFlow网络进行网络编码的方法,其特征在于,所述异常信息包括流表超时删除信息、端口变化信息及编解码错误信息。
全文摘要
本发明涉及网络编码技术领域,公开了一种对OpenFlow网络进行网络编码的方法包括若OpenFlow交换机支持网络编码,则控制器得到OpenFlow交换机的网络编码配置参数;当OpenFlow交换机接收到数据包时,对数据包进行流表匹配,并判断OpenFlow交换机中是否存在数据包的编码策略;若OpenFlow交换机中不存在数据包的编码策略,则将数据包发送到控制器,由控制器设计数据包的编码策略,并将编码策略发回到OpenFlow交换机。本发明使OpenFlow交换机与控制器进行有关编码的交互行为,提高了网络中的OpenFlow交换机和控制器的实用性。
文档编号H04L1/00GK103036653SQ201210572248
公开日2013年4月10日 申请日期2012年12月26日 优先权日2012年12月26日
发明者戴彬, 吕璐, 黄本雄, 徐冠, 赵文文 申请人:华中科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1