【技术实现步骤摘要】
本专利技术涉及网络编码
,主要适用于在OpenFlow交换机上实现网络编码的方法。
技术介绍
OpenFlow网络,是一种新型的网络创新架构,主要由控制器10和OpenFlow交换机11组成,如图1中所示。OpenFlow交换机11功能专注而简化,只负责数据的转发;控制器10则对整个网络进行集中控制,实现控制层功能。控制器10通过标准的OpenFlow协议12与OpenFlow交换机11进行信息交互,从而进行统一、灵活高效的网络维护和管理。由此可知,OpenFlow网络不仅实现了将原有的完全由交换机/路由器控制的报文转发形式转化为基于流(相同源、目的地址的一系列连续的数据包)的转发形式,而且将传统的控制层面从 转发设备中剥离出来,所有转发行为的决策都迁移到了集中控制器上,从而实现了数据转发和路由控制的分离。由于OpenFlow网络具有集中控制、数据转发层与控制层分离等特点,这让我们看到了在其上应用网络编码的可能性。OpenFlow网络为网络编码的应用提供了便利,同时网络编码也将为OpenFlow网络带来更好的网络性能。2012年8月Felicidin Nemeth等人已经率先尝试将网络编码应用于由OpenFlow交换机组成的蝶形网络,这验证了在OpenFlow网络中使用网络编码的可行性。但他们只是在蝶形这种特殊网络结构中实现了两条流异或的编码方式,无法推广到一般网络或多条流等复杂情况,不具有通用性。目前在OpenFlow网络中应用网络编码技术还处于起步阶段,并没有较成熟的研究成果,还存在很多待解决的问题,国内此方向还处于空白阶段,没有相关研究。专利 ...
【技术保护点】
一种在OpenFlow交换机上实现网络编码的方法,其特征在于,包括:先在OpenFlow交换机的流表项中添加编码行为和/或解码行为;当所述OpenFlow交换机接收到待处理数据包时,为所述接收到的待处理数据包添加数据包的包头域,所述数据包的包头域包括编解码所需的信息;再判断接收到的待处理数据包的行为集合中是否有编码行为和/或解码行为;若接收到的待处理数据包的行为集合中有编码行为和/或解码行为,则将待处理数据包放入编码队列和/或解码队列;将在所述编码队列和/或所述解码队列中的数据包进行编码操作和/或解码操作,得到编码后的数据包和/或解码后的数据包。
【技术特征摘要】
1.一种在OpenFlow交换机上实现网络编码的方法,其特征在于,包括 先在OpenFlow交换机的流表项中添加编码行为和/或解码行为; 当所述OpenFlow交换机接收到待处理数据包时,为所述接收到的待处理数据包添加数据包的包头域,所述数据包的包头域包括编解码所需的信息; 再判断接收到的待处理数据包的行为集合中是否有编码行为和/或解码行为; 若接收到的待处理数据包的行为集合中有编码行为和/或解码行为,则将待处理数据包放入编码队列和/或解码队列; 将在所述编码队列和/或所述解码队列中的数据包进行编码操作和/或解码操作,得到编码后的数据包和/或解码后的数据包。2.如权利要求1所述的在OpenFlow交换机上实现网络编码的方法,其特征在于,所述当OpenFlow交换机接收到待处理数据包时,为接收到的待处理数据包添加数据包的包头域包括当所述OpenFlow交换机接收到所述待处理数据包时,判断待处理数据包是否来自数据源; 如果待处理数据包来自数据源,则说明待处理数据包为原始数据包,并为首次进入OpenFlow网络的原始数据包添加包头域; 如果待处理数据包不是来自数据源,而是来自其他OpenFlow交换机,则说明待处理数据包为编解码后的数据包,则直接进行后续操作。3.如权利要求1所述的在OpenFlow交换机上实现网络编码的方法,其特征在于,所述判断接收到的待处理数据包的行为集合中是否有编码行为和/或解码行为;若接收到的待处理数据包的行为集合中有编码行为和/或解码行为,则将待处理数据包放入编码队列和/或解码队列,包括首先通过对所述接收到的待处理数据包进行匹配流表来判断是否能得到待处理数据包的行为集合; 若能够得到待处理数据包的行为集合,则判断所述行为集合的行为类型中是否有转发行为;若所述行为类型中有转发行为,则对待处理数据包进行转发;否则判断行为类型中是否有编码行为和/或解码行为,若行为类型中有编码行为和/或解码行为,则将待处理数据包放入所述编码队列和/或所述解码队列; 若不能得到待处理数据包的行为集合,则将待处理数据包的包头通过安全通道发送给OpenFlow控制器,所述OpenFlow控制器将为OpenFlow交换机设置待处理数据包所在流对应的流表项,并将所述流表项发回所述OpenFlow交换机,由OpenFlow交换机响应。4.如权利要求1所述的在OpenFlow交换机上实现网络编码的方法,其特征在于,所述若接收到的待处理数据包的行为集合中有编码行为和/或解码行为,则将待处理数据包放入编码队列和/或解码队列,包括若所述接收到的待处理数据包的行为集合中有所述编码行为和/或所述解码行为,则先将待处理数据包转化为待编解码处理的数据包,再根据数据包的行为集合中的行为类型,将待编解码处理的数据包放入所述编码队列和/或所述解码队列;其中,待编解码处理的数据包,包括数据包、数据包的行为类型、数据包的存活时间、数据包所在流的ID、数据包在流中的序列号、数据包已编码过流的个数、与数据包进行编解码的流的个数、将与数据包进行编解码的流的ID、数据包将帮助解码的流的ID及编解码后的流的ID。5.如权利要求1-4中任意一项所述的在OpenFlow交换机上实现网络编码的方法,其特征在于,所述将在编码队列和/或解码队列中的数据包进行编码操作和/或解码操作,得到编码后的数据包和/或解码后的数据包,包括先遍历所述编码队列和/或所述解码队列中已存的数据包是否有超时的;若编码队列中有超时的已存的数据包,则对所述超时的已存的数据包重新进行流表匹配;...
【专利技术属性】
技术研发人员:戴彬,赵文文,徐冠,吕璐,黄本雄,
申请(专利权)人:华中科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。