CN107005469B - 一种路由的方法、相关设备及系统 - Google Patents
一种路由的方法、相关设备及系统 Download PDFInfo
- Publication number
- CN107005469B CN107005469B CN201580066873.5A CN201580066873A CN107005469B CN 107005469 B CN107005469 B CN 107005469B CN 201580066873 A CN201580066873 A CN 201580066873A CN 107005469 B CN107005469 B CN 107005469B
- Authority
- CN
- China
- Prior art keywords
- path
- group
- entries
- forwarding
- action bucket
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/22—Alternate routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/38—Flow based routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/64—Routing or path finding of packets in data switching networks using an overlay routing layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/11—Identifying congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/21—Flow control; Congestion control using leaky-bucket
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种路由的方法、相关设备及系统,应用于控制转发分离的网络,所述控制转发分离的网络包括控制设备和转发设备,所述控制设备控制所述转发设备,所述方法包括:通过为数据流配置负责负载分担的第一路径和第二路径,及配置负责重路由保护的第三路径,并生成指示转发设备将第一、第二路径作为负载分担的路径,及对第一、第二路径进行重路由保护的第三路径,以及生成指示执行去往所述第一组表项的流表项,能够解决网络中存在多条负载分担路径,且任一负载分担路径故障时,无法实现快速重路由保护的问题,有效降低报文的丢失率,及提高故障时的处理效率,保证报文能够正常转发。
Description
技术领域
本发明涉及网络通信技术领域,尤其涉及的是一种路由的方法、相关设备及系统。
背景技术
软件自定义网络SDN(software-defined network)系统是一种控制与管理分离的新型网络架构,其关键组件包括开放流OpenFlow交换机和控制设备。控制设备和OpenFlow交换机之间通过OpenFlow协议规范的控制通道完成消息的交互和信息的传递,实现将交换设备的数据转发层和控制层分离和底层硬件的虚拟化,即在OpenFlow交换机上转发数据,在控制设备上控制数据的转发。控制设备通过全网络视图来实现管控功能,为OpenFlow交换机生成转发流表,OpenFlow交换机根据转发流表来转发数据包。
但是,在设置了多条负载分担路径的网络环境中,当该多条负载分担路径中的任一路径的下一跳故障时,现有基于OpenFlow协议的SDN网络不支持执行对该条故障的负载分担路径进行快速重路由的操作。
发明内容
本发明提供了一种路由的方法、相关设备及系统,能够解决网络中存在多条负载分担路径,且任一负载分担路径故障时,无法实现重路由保护的问题。
本发明第一方面提供了一种路由的方法,应用于控制转发分离的网络,所述控制转发分离的网络包括控制设备和转发设备,所述控制设备控制所述转发设备,所述方法包括:
所述控制设备为一条数据流确定至少三条路径,并生成所述数据流的第一组表项和流表项,所述至少三条路径为所述数据流从所述转发设备到目的转发设备的传输路径;
所述控制设备向所述转发设备发送所述流表项和第一组表项,所述流表项用于指示所述转发设备在匹配到所述数据流时,执行去往所述第一组表项的操作,所述第一组表项用于指示所述转发设备将所述至少三条路径中的第一路径与第二路径设置为负载分担的路径,以及将所述至少三条路径中的第三路径设置为所述第一路径和所述第二路径的重路由保护的路径。
结合第一方面,在第一方面的第一种可能的实现方式中,所述第一组表项中包含第一组类型字段和第一动作桶字段,所述第一组类型字段用于指示当前组为包含负载分担路径与重路由保护路径的场景,所述第一动作桶字段用于指示所述第一路径和所述第二路径是所述数据流的负载分担路径且转发状态均为激活,以及指示所述第三路径是所述负载分担路径故障时的重路由路径且转发状态为未激活。
结合第一方面的第一种可能的实现方式,本发明第一方面的第二种可能的实现方式中,所述第一动作桶字段包含第一子动作桶、第二子动作桶和第三子动作桶,所述第一子动作桶指示所述第一路径是所述数据流的负载分担路径且转发状态为激活,所述第二子动作桶指示所述第二路径是所述数据流的负载分担路径且转发状态为激活,所述第三子动作桶指示所述第三路径作为所述负载分担路径故障时的重路由路径且转发状态为未激活。
可选的,所述负载分担路径故障时,所述负载分担路径对应的标识字段为非激活状态,所述第三标识字段为激活状态。
结合第一方面或者第一方面的第一种或第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述第一组表项还包括第一组标识;
所述流表项用于指示所述转发设备在匹配到所述数据流时,执行去往所述第一组表项的操作包括:
所述流表项包括匹配字段和操作指令字段,所述匹配字段携带所述数据流的匹配信息,所述操作指令字段携带指示去往所述第一组表项的所述第一组标识。
可选的,所述第一组表项还包括第一组标识,所述流表项包括匹配字段和操作指令字段,所述匹配字段携带所述数据流的匹配信息,所述操作指令字段携带指示去往所述第一组表项的所述第一组标识。
结合第一方面或者第一方面的第一种至第二种可能的实现方式中任一种可能的实现方式,在第一方面的第四种可能的实现方式中,所述方法还包括:
所述控制设备还为所述数据流生成第二组表项,所述第二组表项中包括第二组标识、第二组类型字段和第二动作桶字段,所述第二组标识用于标识所述第二组表项,所述第二组类型字段用于指示进行负载分担,所述第二动作桶字段包含第四子动作桶,所述第四子动作桶携带指示去往所述第一组表项的所述第一组标识;
所述流表项用于指示所述转发设备在匹配到所述数据流时,执行去往所述第一组表项的操作包括:
所述流表项包括匹配字段和操作指令字段,所述匹配字段携带所述数据流的匹配信息,所述操作指令字段携带指示去往所述第二组表项的所述第二组标识。
结合第一方面的第二种至第四种可能的实现方式中任一种可能的实现方式,在第一方面的第五种可能的实现方式中,在所述控制设备向所述转发设备发送所述流表项和所述第一组表项之后,所述方法还包括:
所述控制设备接收来自所述转发设备的第一通知消息,所述第一通知消息指示所述第一路径故障;
所述控制设备根据所述第一通知消息将所述第一子动作桶的转发状态设置为未激活,并且将所述第三子动作桶的转发状态设置为激活;
所述控制设备将更新后的所述第一组表项发送至所述转发设备。
结合第一方面的第五种可能的实现方式,在第一方面的第六种可能的实现方式中,在所述控制设备将更新后的所述第一组表项发送至所述转发设备之后,所述方法还包括:
所述控制设备接收来自所述转发设备的第二通知消息后,所述第二通知消息指示所述第一路径的故障恢复;
所述控制设备根据所述第二通知消息将所述第一子动作桶的转发状态设置为激活,并且将所述第三子动作桶的转发状态设置为未激活;
所述控制设备将再次更新后的所述第一组表项发送至所述转发设备。
结合第一方面的第二种至第四种可能的实现方式中任一种可能的实现方式,在第一方面的第六种可能的实现方式中,在所述控制设备向所述转发设备发送所述流表项和所述第一组表项之后,所述方法还包括:
所述控制设备接收来自所述转发设备的第三通知消息,所述第三通知消息指示所述第一路径故障;
所述控制设备根据所述第三通知消息将所述第一子动作桶对应的所述第一路径设置为用于重路由,并将所述第一子动作桶的转发状态设置为未激活;将所述第三子动作桶对应的所述第三路径设置为用于负载分担,并将所述第三子动作桶的转发状态设置为激活;
所述控制设备将更新后的所述第一组表项发送至所述转发设备。
本发明第二方面提供一种路由的方法,应用于控制转发分离的网络,所述控制转发分离的网络包括控制设备和转发设备,所述控制设备控制所述转发设备,所述方法包括:
所述转发设备接收来自所述控制设备的流表项和第一组表项,所述流表项用于指示所述转发设备在匹配到所述数据流时,执行去往所述第一组表项的操作,所述第一组表项用于指示所述转发设备将所述控制设备为一条数据流计算的至少三条路径中的第一路径与第二路径设置为负载分担的路径,以及将所述至少三条路径中的第三路径设置为所述第一路径和所述第二路径的重路由保护的路径,所述至少三条路径为所述数据流从所述转发设备到目的转发设备的传输路径;
所述转发设备根据所述流表项建立流表,根据所述第一组表项建立第一组表。
结合第二方面,在第二方面的第一种可能的实现方式中,所述第一组表项中包含第一组类型字段和第一动作桶字段,所述第一组类型字段用于指示当前组为包含负载分担路径与重路由保护路径的场景,所述第一动作桶字段用于指示所述第一路径和所述第二路径是所述数据流的负载分担路径且转发状态均为激活,以及指示所述第三路径是所述负载分担路径故障时的重路由路径且转发状态为未激活。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述第一动作桶字段包含第一子动作桶、第二子动作桶和第三子动作桶,所述第一子动作桶指示所述第一路径是所述数据流的负载分担路径且转发状态为激活,所述第二子动作桶指示所述第二路径是所述数据流的负载分担路径且转发状态为激活,所述第三子动作桶指示所述第三路径作为所述负载分担路径故障时的重路由路径且转发状态为未激活。
结合第二方面或者及第二方面的第一种或第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述第一组表项还包括第一组标识,所述流表项包括匹配字段和操作指令字段,所述匹配字段携带所述数据流的匹配信息,所述操作指令字段携带指示去往所述第一组表项的所述第一组标识。
结合第二方面或者第二方面的第一种或第二种可能的实现方式,在第二方面的第四种可能的实现方式中,所述方法还包括:
所述转发设备接收来自所述控制设备的第二组表项,并根据所述第二组表项建立第二组表,所述第二组表项中包括第二组标识、第二组类型字段和第二动作桶字段,所述第二组标识用于标识所述第二组表项,所述第二组类型字段用于指示进行负载分担,所述第二动作桶字段包含第四子动作桶,所述第四子动作桶携带指示去往所述第一组表项的所述第一组标识;
所述流表项包括匹配字段和操作指令字段,所述匹配字段携带所述数据流的匹配信息,所述操作指令字段携带指示去往所述第二组表项的所述第二组标识。
结合第二方面或者第二方面的第二种至第四种可能的实现方式中任一种可能的实现方式,在第二方面的第五种可能的实现方式中,所述转发设备接收来自所述控制设备的流表项和第一组表项之后,还包括:
所述转发设备接收到来自其它转发设备的所述数据流的报文后,用所述数据流的标识信息查找所述流表,匹配到所述流表项后,执行去往所述第一组标识对应的所述第一组表的动作,跳转至所述第一组表后,根据所述第一子动作桶和所述第二子动作桶的指示,对所述报文在所述第一路径或所述第二路径上进行负载分担转发;
当所述转发设备检测到所述第一路径故障时,所述转发设备将所述第一子动作桶的转发状态设置为未激活,并且将所述第三子动作桶的转发状态设置为激活,以刷新所述第一组表;
相应地,所述转发设备将所述报文在所述第三路径或所述第二路径上进行负载分担转发。
结合第二方面的第五种可能的实现方式,在第二方面的第六种可能的实现方式中,当所述转发设备检测到所述第一路径故障时,所述转发设备将所述第一子动作桶的转发状态设置为未激活,并且将所述第三子动作桶的转发状态设置为激活,以刷新所述第一组表还包括:
所述转发设备向所述控制设备发送第一通知消息,所述第一通知消息指示所述第一路径故障;
所述转发设备接收来自所述控制设备的更新后的第一组表项,所述更新后的第一组表项指示所述第一子动作桶的转发状态为未激活,及指示所述第三子动作桶的转发状态为激活;
所述转发设备根据所述更新后的第一组表项刷新所述第一组表。
结合第二方面的第六种可能的实现方式,在第二方面的第七种可能的实现方式中,所述方法还包括:
当所述转发设备检测到所述第一路径的故障恢复时,所述转发设备将所述第一子动作桶的转发状态设置为激活,并且将所述第三子动作桶的转发状态设置为未激活;
相应地,所述转发设备将所述报文在所述第一路径上进行负载分担转发。
结合第二方面或者第二方面的第二种至第四种可能的实现方式中任一种可能的实现方式,在第二方面的第八种可能的实现方式中,所述转发设备根据所述流表项建立流表,及根据所述第一组表项建立第一组表之后,还包括:
所述转发设备接收到来自其它转发设备的所述数据流的报文后,用所述数据流的标识信息查找所述流表,匹配到所述流表项,执行去往所述第一组标识对应的所述第一组表的动作,跳转至所述第一组表后,根据所述第一子动作桶和所述第二子动作桶的指示,对所述报文在所述第一路径或所述第二路径上进行负载分担转发;
当所述转发设备检测到所述第一路径故障时,所述转发设备将所述第一子动作桶对应的所述第一路径设置为用于重路由且转发状态设置为未激活,以及将所述第三子动作桶对应的所述第三路径设置为用于负载分担且转发状态设置为激活,以刷新所述第一组表;
相应地,所述转发设备将所述报文在所述第三路径或所述第二路径上进行负载分担转发。
结合第二方面的第八种可能的实现方式,在第二方面的第九种可能的实现方式中,所述当所述转发设备检测到所述第一路径故障时,所述转发设备将所述第一子动作桶对应的所述第一路径设置为用于重路由且转发状态设置为未激活,以及将所述第三子动作桶对应的所述第三路径设置为用于负载分担且转发状态设置为激活,以刷新所述第一组表之后还包括:
所述转发设备向所述控制设备发送第一通知消息,所述第一通知消息指示所述第一路径故障;
所述转发设备接收来自所述控制设备的更新后的第一组表项,所述更新后的第一组表项指示所述第一子动作桶对应的所述第一路径用于重路由且转发状态为未激活,以及指示所述第三子动作桶对应的所述第三路径用于负载分担且转发状态为激活;
所述转发设备根据所述更新后的第一组表项刷新所述第一组表。
本发明第三方面提供一种控制设备,应用于控制转发分离的网络,所述控制转发分离的网络包括控制设备和转发设备,所述控制设备控制所述转发设备,所述控制设备包括:
处理模块,用于为一条数据流确定至少三条路径,并生成所述数据流的第一组表项和流表项,所述至少三条路径为所述数据流从所述转发设备到目的转发设备的传输路径;
发送模块,用于向所述转发设备发送所述流表项和第一组表项,所述流表项用于指示所述转发设备在匹配到所述数据流时,执行去往所述第一组表项的操作,所述第一组表项用于指示所述转发设备将所述至少三条路径中的第一路径与第二路径设置为负载分担的路径,以及将所述至少三条路径中的第三路径设置为所述第一路径和所述第二路径的重路由保护的路径。
结合第三方面,在第三方面的第一种可能的实现方式中,所述第一组表项中包含第一组类型字段和第一动作桶字段,所述第一组类型字段用于指示当前组为包含负载分担路径与重路由保护路径的场景,所述第一动作桶字段用于指示所述第一路径和所述第二路径是所述数据流的负载分担路径且转发状态均为激活,以及指示所述第三路径是所述负载分担路径故障时的重路由路径且转发状态为未激活。
结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,
所述第一动作桶字段包含第一子动作桶、第二子动作桶和第三子动作桶,所述第一子动作桶指示所述第一路径是所述数据流的负载分担路径且转发状态为激活,所述第二子动作桶指示所述第二路径是所述数据流的负载分担路径且转发状态为激活,所述第三子动作桶指示所述第三路径作为所述负载分担路径故障时的重路由路径且转发状态为未激活。
结合第三方面或者第三方面的第一种或第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述第一组表项还包括第一组标识;
所述流表项用于指示所述转发设备在匹配到所述数据流时,执行去往所述第一组表项的操作包括:
所述流表项包括匹配字段和操作指令字段,所述匹配字段携带所述数据流的匹配信息,所述操作指令字段携带指示去往所述第一组表项的所述第一组标识。
结合第三方面或者第三方面的第一种或第二种可能的实现方式,在第一方面的第四种可能的实现方式中,所述处理模块还用于:
为所述数据流生成第二组表项,所述第二组表项中包括第二组标识、第二组类型字段和第二动作桶字段,所述第二组标识用于标识所述第二组表项,所述第二组类型字段用于指示进行负载分担,所述第二动作桶字段包含第四子动作桶,所述第四子动作桶携带指示去往所述第一组表项的所述第一组标识;
所述流表项用于指示所述转发设备在匹配到所述数据流时,执行去往所述第一组表项的操作包括:
所述流表项包括匹配字段和操作指令字段,所述匹配字段携带所述数据流的匹配信息,所述操作指令字段携带指示去往所述第二组表项的所述第二组标识。
结合第三方面的第二种至第四种可能的实现方式中任一种可能的实现方式,在第三方面的第五种可能的实现方式中,在所述发送模块向所述转发设备发送所述流表项和所述第一组表项之后,所述接收模块还用于:
接收来自所述转发设备的第一通知消息,所述第一通知消息指示所述第一路径故障;
所述处理模块还用于根据所述接收模块接收到的所述第一通知消息将所述第一子动作桶的转发状态设置为未激活,并且将所述第三子动作桶的转发状态设置为激活;
所述发送模块还用于将所述处理模块更新的所述第一组表项发送至所述转发设备。
结合第三方面的第五种可能的实现方式,在第三方面的第六种可能的实现方式中,在所述发送模块将更新后的所述第一组表项发送至所述转发设备之后,所述接收模块还用于:
接收来自所述转发设备的第二通知消息后,所述第二通知消息指示所述第一路径的故障恢复;
所述处理模块还用于根据所述接收模块接收到的所述第二通知消息将所述第一子动作桶的转发状态设置为激活,并且将所述第三子动作桶的转发状态设置为未激活;
所述发送模块还用于将再次所述处理模块更新的所述第一组表项发送至所述转发设备。
结合第三方面的第二种至第四种可能的实现方式中任一种可能的实现方式,在第三方面的第七种可能的实现方式中,在所述发送模块向所述转发设备发送所述流表项和所述第一组表项之后,所述接收模块还用于:
接收来自所述转发设备的第三通知消息,所述第三通知消息指示所述第一路径故障;
所述处理模块还用于根据所述接收模块接收到的所述第三通知消息将所述第一子动作桶对应的所述第一路径设置为用于重路由,并将所述第一子动作桶的转发状态设置为未激活;将所述第三子动作桶对应的所述第三路径设置为用于负载分担,并将所述第三子动作桶的转发状态设置为激活;
所述发送模块还用于将所述处理模块更新后的所述第一组表项发送至所述转发设备。
本发明第四方面提供一种转发设备,应用于控制转发分离的网络,所述控制转发分离的网络包括控制设备和转发设备,所述控制设备控制所述转发设备,所述转发设备包括:
接收模块,用于接收来自所述控制设备的流表项和第一组表项,所述流表项用于指示所述转发设备在匹配到所述数据流时,执行去往所述第一组表项的操作,所述第一组表项用于指示所述转发设备将所述控制设备为一条数据流计算的至少三条路径中的第一路径与第二路径设置为负载分担的路径,以及将所述至少三条路径中的第三路径设置为所述第一路径和所述第二路径的重路由保护的路径,所述至少三条路径为所述数据流从所述转发设备到目的转发设备的传输路径;
处理模块,用于根据所述流表项建立流表,根据所述第一组表项建立第一组表。
结合第四方面,在第四方面的第一种可能的实现方式中,所述第一组表项中包含第一组类型字段和第一动作桶字段,所述第一组类型字段用于指示当前组为包含负载分担路径与重路由保护路径的场景,所述第一动作桶字段用于指示所述第一路径和所述第二路径是所述数据流的负载分担路径且转发状态均为激活,以及指示所述第三路径是所述负载分担路径故障时的重路由路径且转发状态为未激活。
结合第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,所述第一动作桶字段包含第一子动作桶、第二子动作桶和第三子动作桶,所述第一子动作桶指示所述第一路径是所述数据流的负载分担路径且转发状态为激活,所述第二子动作桶指示所述第二路径是所述数据流的负载分担路径且转发状态为激活,所述第三子动作桶指示所述第三路径作为所述负载分担路径故障时的重路由路径且转发状态为未激活。
结合第四方面或者第四方面的第一种或第二种可能的实现方式,本发明第二方面的第三种可能的实现方式中,所述第一组表项还包括第一组标识;
所述流表项用于指示所述转发设备在匹配到所述数据流时,执行去往所述第一组表项的操作包括:
所述流表项包括匹配字段和操作指令字段,所述匹配字段携带所述数据流的匹配信息,所述操作指令字段携带指示去往所述第一组表项的所述第一组标识。
结合第四方面或者第四方面的第一种或第二种可能的实现方式,在第四方面的第四种可能的实现方式中,所述接收模块还用于:
接收来自所述控制设备的第二组表项;
所述处理模块还用于根据所述接收模块接收到的所述第二组表项建立第二组表,所述第二组表项中包括第二组标识、第二组类型字段和第二动作桶字段,所述第二组标识用于标识所述第二组表项,所述第二组类型字段用于指示进行负载分担,所述第二动作桶字段包含第四子动作桶,所述第四子动作桶携带指示去往所述第一组表项的所述第一组标识;
所述流表项用于指示所述转发设备在匹配到所述数据流时,执行去往所述第一组表项的操作包括:
所述流表项包括匹配字段和操作指令字段,所述匹配字段携带所述数据流的匹配信息,所述操作指令字段携带指示去往所述第二组表项的所述第二组标识。
结合第四方面的第二种至第四种可能的实现方式中任一种可能的实现方式,在第四方面的第五种可能的实现方式中,所述转发设备接收来自所述控制设备的流表项和第一组表项之后,所述处理模块还用于:
在通过所述接收模块接收到来自其它转发设备的所述数据流的报文后,用所述数据流的标识信息查找所述流表,匹配到所述流表项后,执行去往所述第一组标识对应的所述第一组表的动作,跳转至所述第一组表后,根据所述第一子动作桶和所述第二子动作桶的指示,对所述报文在所述第一路径或所述第二路径上进行负载分担转发;
当检测到所述第一路径故障时,将所述第一子动作桶的转发状态设置为未激活,并且将所述第三子动作桶的转发状态设置为激活,以刷新所述第一组表;
相应地,所述处理模块将所述报文在所述第三路径或所述第二路径上进行负载分担转发。
结合第四方面的第五种可能的实现方式,在第四方面的第六种可能的实现方式中,所述转发设备还包括发送模块,所述发送模块还用于:
在所述处理模块将所述第一子动作桶的转发状态设置为未激活,并且将所述第三子动作桶的转发状态设置为激活后,向所述控制设备发送第一通知消息,所述第一通知消息指示所述第一路径故障;
所述接收模块还用于接收来自所述控制设备的更新后的第一组表项,所述更新后的第一组表项指示所述第一子动作桶的转发状态为未激活,及指示所述第三子动作桶的转发状态为激活;
所述处理模块还用于根据所述接收模块接收到的更新后的第一组表项刷新所述第一组表。
结合第四方面的第六种可能的实现方式,在第四方面的第七种可能的实现方式中,所述处理模块还用于:
当检测到所述第一路径的故障恢复时,将所述第一子动作桶的转发状态设置为激活,并且将所述第三子动作桶的转发状态设置为未激活;
相应地,所述处理模块将所述报文在所述第一路径上进行负载分担转发。
结合第四方面的第二种至第四种可能的实现方式中任一种可能的实现方式,在第四方面的第八种可能的实现方式中,在所述处理模块根据所述流表项建立流表,及根据所述第一组表项建立第一组表之后,所述处理模块还用于:
通过所述接收模块接收到来自其它转发设备的所述数据流的报文后,用所述数据流的标识信息查找所述流表,匹配到所述流表项,执行去往所述第一组标识对应的所述第一组表的动作,跳转至所述第一组表后,根据所述第一子动作桶和所述第二子动作桶的指示,对所述报文在所述第一路径或所述第二路径上进行负载分担转发;
当检测到所述第一路径故障时,将所述第一子动作桶对应的所述第一路径设置为用于重路由且转发状态设置为未激活,以及将所述第三子动作桶对应的所述第三路径设置为用于负载分担且转发状态设置为激活,以刷新所述第一组表;
相应地,所述处理模块将所述报文在所述第三路径或所述第二路径上进行负载分担转发。
结合第四方面的第八种可能的实现方式,在第四方面的第九种可能的实现方式中,所述发送模块还用于:
向所述控制设备发送第一通知消息,所述第一通知消息指示所述第一路径故障;
所述接收模块还用于接收来自所述控制设备的更新后的第一组表项,所述更新后的第一组表项指示所述第一子动作桶对应的所述第一路径用于重路由且转发状态为未激活,以及指示所述第三子动作桶对应的所述第三路径用于负载分担且转发状态为激活;
所述处理模块还用于根据所述接收模块接收到的所述更新后的第一组表项刷新所述第一组表。
本发明第五方面提供一种通信系统,所述通信系统包括:
如上述第三方面或者第三方面的第一种至第七种可能的实现方式中任一所述的控制设备;
如上述第四方面或者第四方面的第一种至第九种可能的实现方式中任一所述的转发设备。
从以上技术方案可以看出,通过为数据流配置负责负载分担的第一路径和第二路径,及配置负责重路由保护的第三路径,并生成指示转发设备将第一、第二路径作为负载分担的路径,及对第一、第二路径进行重路由保护的第三路径,以及生成指示执行去往所述第一组表项的流表项,能够解决网络中存在多条负载分担路径,且任一负载分担路径故障时,无法实现重路由保护的问题,有效降低报文的丢失率,及提高故障时的处理效率,保证报文能够正常转发。
附图说明
图1为本发明实施例中一种路由的方法的实施例示意图;
图1-1为本发明实施例中两条负载分担路径和一条FRR路径的场景示意图;
图2-1为本发明实施例中第一组表项的结构示意图;
图2-2为本发明实施例中第二组表项的结构示意图;
图2-3为本发明实施例中第一组表项与第二组表项的级联关系结构示意图;
图3为本发明实施例报文在转发设备内的转发流程图;
图4为本发明实施例报文在转发设备内的转发流程图;
图5为本发明实施例中一种路由的方法的另一实施例示意图;
图6-1为本发明实施例一种控制设备的结构示意图;
图6-2为本发明实施例一种控制设备的另一结构示意图;
图7-1为本发明实施例一种转发设备的结构示意图;
图7-2为本发明实施例一种转发设备的另一结构示意图;
图8为本发明实施例一种通信系统的结构示意图;
图9本发明实施例一种控制设备的另一结构示意图;
图10为本发明实施例一种转发设备的另一结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明提供一种路由的方法、相关设备及系统,主要应用于控制转发分离的网络,能够解决网络中存在多条负载分担路径,且任一负载分担路径故障时,无法实现重路由保护的问题。
快速重路由(FRR,Fast Re-Route)技术为受限的标签转发路径保护机制,可以减少网络故障时的数据丢失。一般通过建立本地备份路径来减小标签转发路径受到路径故障的影响,即在检测到业务路径发生故障时,将业务路径切换至备份路径上,利用备份路径绕过故障的业务路径,以减少数据流量丢失,从而实现保护。另外,为实现负载分担,在多条不同路径到达同一目的地址的网络环境中,会设置等价多路径(ECMP,Equal-CostMultipathRouting),以实现等值情况下,对业务流量在多条路径上进行负载分担;或者设置非等价多路径,以实现非等值情况下,对业务流量在多条路径上进行负载分担。
在基于OpenFlow协议的SDN系统中,通常需要建立业务路径和FRR路径的保护机制,即为至少两条负载分担的业务路径配置一条FRR路径。IP报文转发过程中,将报文与流表进行匹配,匹配到流表后,按该流表中的指令或操作类型执行转发过程,在报文进入转发设备后,首先查找进入端口Ingress Port表,然后查找下一张流表;在检测到至少两条负载分担的业务路径中的任一条故障时,转发设备选取的组类型GroupType为对至少两条负载分担的业务路径进行快速重路由保护,以将该故障的业务路径切换至对应的FRR路径,实现保护。
需要说明的是,本发明所述的方法可以应用于负载分担路径:FRR路径=n:m的重路由保护机制,即负载分担路径的数量n≥2,FRR路径的数量m≥1,即表明可以为n条负载分担路径配置至少一条FRR路径进行保护,具体数量不作限定。另外,在负载分担路径较多时,可以分批进行保护,例如共有96条负载分担路径和4条FRR路径,可以每24条负载分担路径为一组,为其配备一条FRR路径进行重路由保护,每一组的转发操作互不受影响;也可以每48条负载分担路径为一组,为其配备两条FRR路径进行重路由保护,每一组的转发操作互不影响,具体数量分配机制本文不作限定。
另外,本文中的流表在Openflow协议中,在广义上,组表可以称之为流表,流表也可以包括组表,即本技术领域里,将实现组表功能的组表可能称之为流表,任何关于组表和流表名称之间变换,均落在本发明的保护范围之内。
以下结合图1,从控制设备侧对本发明实施例所提供的一种路由的方法进行详细说明,该方法应用于控制转发分离的网络,所述控制转发分离的网络包括控制设备和转发设备,所述控制设备控制所述转发设备,本发明实施例包括:
101、所述控制设备为一条数据流确定至少三条路径,并生成所述数据流的第一组表项和流表项,所述至少三条路径为所述数据流从所述转发设备到目的转发设备的传输路径;
102、所述控制设备向所述转发设备发送所述流表项和第一组表项;
其中,所述流表项用于指示所述转发设备在匹配到所述数据流时,执行去往所述第一组表项的操作,所述第一组表项用于指示所述转发设备将所述至少三条路径中的第一路径与第二路径设置为负载分担的路径,以及将所述至少三条路径中的第三路径设置为所述第一路径和所述第二路径的重路由保护的路径。
所述第一路径、所述第二路径和第三路径为所述数据流从所述转发设备到目的转发设备的传输路径。
实际应用中,可以实现至少两条负载分担路径和至少一条FRR路径的场景(即N:M),具体数量根据实际业务而定,本文中不作限定。如图1-1以两条负载分担路径和一条FRR路径的场景为例,控制设备根据用户的业务需求,为一条数据流计算出三条从转发设备110-1到目的转发设备110-5的路径,其中第一条负载分担路径为从转发设备110-1经过转发设备110-2至目的转发设备110-5的路径,第二条负载分担路径为从转发设备110-1经过转发设备110-3至目的转发设备110-5的路径,FRR路径为从转发设备110-1经过转发设备110-4至目的转发设备110-5的路径。
上述控制设备向转发设备110-1下发流表项和第一组表项,可以理解的是,在报文到达目的转发设备110-5时,上述控制设备会将为相应的流表项和组表项下发至该目的转发设备110-5,即上述转发设备110-1可以是SDN网络中的任一转发设备。
在报文转发过程中,报文在与所述流表项匹配完,跳转至所述第一组表项,所述转发设备根据所述第一组表项的指示转发所述报文,并在确定所述第一路径或所述第二路径故障时,将转发报文的路径切换至所述第三路径转发所述报文。
具体的报文进入上述转发设备端口后的转发操作可参考图3对应的转发设备侧的方法实施例,此处不作赘述。
本发明实施例中,通过为数据流配置负责负载分担的第一路径和第二路径,及配置负责重路由保护的第三路径,并生成指示转发设备将第一、第二路径作为负载分担的路径,及对第一、第二路径进行重路由保护的第三路径,以及生成指示执行去往所述第一组表项的流表项,能够解决网络中存在多条负载分担路径,且任一负载分担路径故障时,无法实现重路由保护的问题,有效降低报文的丢失率,及提高故障时的处理效率,保证报文能够正常转发。
可选的,在上述图1所对应的实施例的基础上,本发明实施例的第一个可选实施例中,参考图2-1所示的第一组表项的结构示意图,所述第一组表项中包含第一组类型字段和第一动作桶字段,所述第一组类型字段用于指示当前组为包含负载分担路径与重路由保护路径的场景,所述第一动作桶字段用于指示所述第一路径和所述第二路径是所述数据流的负载分担路径且转发状态均为激活,以及指示所述第三路径是所述负载分担路径故障时的重路由路径且转发状态为未激活。
实际应用时,所述第一组类型字段可以为所述Openflow协议流表项中的开放流协议组类型-选择和快速重路由(OFPGT-SF,Openflow Protocol Grouptype-Select Fastfailover group)字段。
通过本可选实施例,在第一路径或第二路径故障时,根据第二动作桶字段的指示,可以迅速启用第三路径转发报文,能够提高网络的可靠性以及数据的连续性。
可选的,在上述第一个可选实施例的基础上,本发明实施例的第二个可选实施例中,参阅图2-1,所述第一动作桶字段包含第一子动作桶、第二子动作桶和第三子动作桶,所述第一子动作桶指示所述第一路径是所述数据流的负载分担路径且转发状态为激活,所述第二子动作桶指示所述第二路径是所述数据流的负载分担路径且转发状态为激活,所述第三子动作桶指示所述第三路径作为所述负载分担路径故障时的重路由路径且转发状态为未激活。
所述第三子动作桶对应所述第一动作桶字段的末端位置;
例如,在所述第一路径故障时,所述第一路径对应的第一子动作桶为非激活,所述第三子动作桶为激活。
下面对第一动作桶字段的结构进行说明,如图2-1:
可知,第一动作桶字段包括struct buckets[0]、struct buckets[1]及structbuckets[2],其中,struct buckets[0]、struct buckets[1]两者组成负载分担路径组(即对应第一路径、第二路径);struct buckets[2]为struct buckets[0]、struct buckets[1]两者的备份bucket,即形成对上述两条负载分担路径进行重路由保护。Openflow协议中,每个struct bucket关联一个端口或端口组,可以通过watch port/group标识该端口或端口组的活跃状态。对于OFPGT-SF类型的group,在选择struct bucket进行转发操作时,按照各个struct bucket在第一组表项中定义的顺序(0、1、2...n),选择并执行第一个激活的struct bucket。后文中如若出现本可选实施例中的内容之处,均不再赘述。
在业务需求多,需要配置更多的负载分担路径时,struct buckets的数量也相应增加,并不限于图2-1所示的内容。
当负载分担路径故障时,相应的该负载分担路径组中的故障路径对应的子动作桶会变为非激活,以指示该故障路径不进行当前的转发操作,其中子动作桶中的watch port/group由激活变为非激活;相应的,备份bucket对应的第三子动作桶的转发状态从非激活变为激活,即第三子动作桶中的watch port/group由非激活变为激活,以启用第三路径转发报文,能够提高网络的可靠性以及数据的连续性。
可选的,在上述图1所对应的实施例、及上述第一个和第二个可选实施例中的任一可选实施例的基础上,本发明实施例的第三个可选实施例中,所述第一组表项还包括第一组标识;
所述流表项用于指示所述转发设备在匹配到所述数据流时,执行去往所述第一组表项的操作包括:
所述流表项包括匹配字段和操作指令字段,所述匹配字段携带所述数据流的匹配信息,所述操作指令字段携带指示去往所述第一组表项的所述第一组标识。
通过配置第一组表项和流表项的关系,可以实现数据流的报文通过流表项发送至第一组表项,具体可参考图3所示的报文在转发设备内的转发流程图,根据本可选实施例,在数据业务需求不高以及网络架构不复杂的网络环境中可以实现减少丢包率、提高网络稳定性的目的。
可选的,在上述图1所对应的实施例、及上述第一个至第二个可选实施例中的任一可选实施例的基础上,参阅图2-2所述的第二组表项,本发明实施例的第四个可选实施例中,所述方法还包括:
所述控制设备为所述数据流生成第二组表项,所述第二组表项中包括第二组标识、第二组类型字段和第二动作桶字段,所述第二组标识Group id用于标识所述第二组表项,所述第二组类型字段用于指示进行负载分担,所述第二动作桶字段包含第四子动作桶,所述第四子动作桶携带指示去往所述第一组表项的所述第一组标识,其中,报文从所述第二组表项去往所述第一组表项时,可通过如图2-3所示的第一组表项与第二组表项的级联关系结构来实现;
所述流表项用于指示所述转发设备在匹配到所述数据流时,执行去往所述第一组表项的操作包括:
所述流表项包括匹配字段和操作指令字段,所述匹配字段携带所述数据流的匹配信息,所述操作指令字段携带指示去往所述第二组表项的所述第二组标识,如图4所示的报文在转发设备内的转发流程图。
可以理解的是,通过上述第三个或第四个可选实施例,可以实现在第一组表项和流表项下发至转发设备后,转发设备利用流表项建立流表,利用第一组表项建立第一组表,以及利用第二组表项建立第二组表,由于控制设备已配置流表项与第一组表项的关系,或配置流表项、第一组表项和第二组表项的关系,所以流表、第一组表及第二组表之间也存在相应的关系。
从而,报文进入转发设备后,报文在与流表匹配,匹配到的最后一个流表项可以指示报文直接去往第一组表项(如图3),也可以指示报文先去往第二组表项,最后去往第一组表项(如图4)。
该流表可以是单个流表,也可以是多级流表,例如Table0、Table1、...TableN,在多级流表的转发过程中,按照0、1、...N的顺序与报文进行流水线匹配。
同理,第一组表与第二组表可以是单个组表,也可以是多级组表,例如,GroupTable0、GroupTable1、...GroupTableN,在多级组表的转发过程中,按照0、1、...N的顺序与报文进行流水线匹配。
并且,该第二组表项与第一组表项可以组成多级组表(如图2-3),且第一组表项为第二组表项的下一跳的组表项,具体的第一组表项和第二组表项的数量根据实际应用时,所需的负载分担路径的数量或调度算法而定。例如,负载分担路径的数量很多时,在匹配完所述流表项后,需要根据第二组表项来选择相应的第一组表项,分工明确,有效提高转发处理效率以及优化转发机制。
另外,第二组表项仅指示负责负载分担,而第一组表项可用于后续转发过程中的重路由保护。通过本可选实施例中由第一组表和第二组表组成的多级组表,进一步保证报文能够正常转发,及先将报文跳转至第二组表项,实现分级处理,可以提高报文的处理效率。
可选的,在上述第二个至第四个可选实施例中的任一可选实施例的基础上,本发明实施例的第五个可选实施例中,在第一路径和第二路径均正常时,第一子动作桶的转发状态为激活,第二子动作桶的转发状态为激活,及第三子动作桶的转发状态为未激活;在所述控制设备向所述转发设备发送所述流表项和所述第一组表项之后,所述方法还包括:
所述控制设备接收来自所述转发设备的第一通知消息,所述第一通知消息指示所述第一路径故障;
所述控制设备根据所述第一通知消息将所述第一子动作桶的转发状态设置为未激活,并且将所述第三子动作桶的转发状态设置为激活;
所述控制设备将更新后的所述第一组表项发送至所述转发设备。
通过本可选实施例,可以实现在由第一至第三路径组成的重路由保护机制中,第一路径故障时,能够立即将数据流切换至第三路径完成转发,避免报文被送至已经失效的端口而被丢弃,导致业务中断的问题。
可选的,在上述第五个可选实施例的基础上,本发明实施例的第六个可选实施例中,所述方法还包括:
在所述控制设备将更新后的所述第一组表项发送至所述转发设备之后,所述方法还包括:
所述控制设备接收来自所述转发设备的第二通知消息后,所述第二通知消息指示所述第一路径的故障恢复;
所述控制设备根据所述第二通知消息将所述第一子动作桶的转发状态设置为激活,并且将所述第三子动作桶的转发状态设置为未激活;
所述控制设备将再次更新后的所述第一组表项发送至所述转发设备。
通过本可选实施例,控制设备可以通过流表消息来控制转发设备,可以实现在由第一至第三路径组成的重路由保护机制中,第一路径故障时,控制转发设备将数据流切换至第三路径完成转发,避免报文被送至已经失效的端口而被丢弃,导致业务中断的问题。
可选的,在上述第二至第四个可选实施例中的任一可选实施例的基础上,本发明实施例的第七个可选实施例中,在所述控制设备向所述转发设备发送所述流表项和所述第一组表项之后,所述方法还包括:
所述控制设备接收来自所述转发设备的第三通知消息,所述第三通知消息指示所述第一路径故障;
所述控制设备根据所述第三通知消息将所述第一子动作桶对应的所述第一路径设置为用于重路由,并将所述第一子动作桶的转发状态设置为未激活;将所述第三子动作桶对应的所述第三路径设置为用于负载分担,并将所述第三子动作桶的转发状态设置为激活;
所述控制设备将更新后的所述第一组表项发送至所述转发设备。
本可选实施例中,在第一路径故障时,将第一路径作为FRR路径,使得在第一路径故障恢复后,就可以对第二路径及第三路径进行重路由保护,有效避免现有技术中一般在第一路径恢复后,便立即切回至第一路径,而导致中断数据传输的问题。
下面从转发设备侧对本发明实施例中的一种路由的方法进行描述,参阅图5,本发明实施例应用于控制转发分离的网络,所述控制转发分离的网络包括控制设备和转发设备,所述控制设备控制所述转发设备,所述方法包括:
201、所述转发设备接收来自所述控制设备的流表项和第一组表项;
所述流表项用于指示所述转发设备在匹配到所述数据流时,执行去往所述第一组表项的操作,所述第一组表项用于指示所述转发设备将所述控制设备为数据流计算的至少三条路径中的第一路径与第二路径设置为负载分担的路径,以及将所述至少三条路径中的第三路径设置为所述第一路径和所述第二路径的重路由保护的路径。
202、所述转发设备根据所述流表项建立流表,根据所述第一组表项建立第一组表。
本发明实施例中,通过根据控制设备下发的流表项配置流表,利用第一组表项配置第一组表,使得在作为负载分担的第一路径和第二路径故障时,可以根据第一组表切换至负责重路由保护的第三路径,能够解决网络中存在多条负载分担路径,且任一负载分担路径故障时,无法实现重路由保护的问题,有效降低报文的丢失率,及提高故障时的处理效率,保证报文能够正常转发。
可选的,在上述图5所对应的实施例的基础上,本发明实施例的第一个可选实施例中,参阅图2-1,所述第一组表项中包含第一组类型字段和第一动作桶字段,所述第一组类型字段用于指示当前组为包含负载分担路径与重路由保护路径的场景,所述第一动作桶字段用于指示所述第一路径和所述第二路径是所述数据流的负载分担路径且转发状态为激活,及指示所述第三路径是所述负载分担路径故障时的重路由路径且转发状态为未激活。
实际应用时,所述第一组类型字段可以为所述Openflow协议流表项中的开放流协议组类型-选择和快速重路由(OFPGT-SF,Openflow Protocol Grouptype-Select Fastfailover group)字段。
通过本可选实施例,在第一路径或第二路径故障时,根据第三子动作桶的指示,可以迅速启用第三路径转发报文,能够提高网络的可靠性以及数据的连续性。
可选的,在上述第一个可选实施例的基础上,本发明实施例的第二个可选实施例中,所述第一动作桶字段包含第一子动作桶、第二子动作桶和第三子动作桶,所述第一子动作桶指示所述第一路径是所述数据流的负载分担路径且转发状态为激活,所述第二子动作桶指示所述第二路径是所述数据流的负载分担路径且转发状态为激活,所述第三子动作桶指示所述第三路径作为所述负载分担路径故障时的重路由路径且转发状态为未激活。
可选的,在上述图5所对应的实施例、或者上述第一个至第二个可选实施例中任一可选实施例的基础上,本发明实施例的第三个可选实施例中,所述第一组表项还包括第一组标识;
所述流表项用于指示所述转发设备在匹配到所述数据流时,执行去往所述第一组表项的操作包括:
所述流表项包括匹配字段和操作指令字段,所述匹配字段携带所述数据流的匹配信息,所述操作指令字段携带指示去往所述第一组表项的所述第一组标识。
本可选实施例中,通过配置第一组表项和流表项的关系,可以实现数据流的报文通过流表项发送至第一组表项,在数据业务需求不高以及网络架构不复杂的网络环境中实现减少丢包率、提高网络稳定性的目的。
可选的,在上述图5所对应的实施例、或者上述第一个至第二个可选实施例中任一可选实施例的基础上,本发明实施例的第四个可选实施例中,所述方法还包括:
所述转发设备接收来自所述控制设备的第二组表项,并根据所述第二组表项建立第二组表,所述第二组表项中包括第二组标识、第二组类型字段和第二动作桶字段,所述第二组标识用于标识所述第二组表项,所述第二组类型字段用于指示进行负载分担,所述第二动作桶字段包含第四子动作桶,所述第四子动作桶携带指示去往所述第一组表项的所述第一组标识;
所述流表项用于指示所述转发设备在匹配到所述数据流时,执行去往所述第一组表项的操作包括:
所述流表项包括匹配字段和操作指令字段,所述匹配字段携带所述数据流的匹配信息,所述操作指令字段携带指示去往所述第二组表项的所述第二组标识。
其中,报文从所述第二组表项去往所述第一组表项时,可通过如图2-3所示的第一组表项与第二组表项的级联关系结构来实现,通过本可选实施例由第一组表和第二组表组成的多级组表,进一步保证报文能够正常转发,且先将报文跳转至第二组表项,实现分级处理,分工明确,有效提高转发处理效率、优化转发机制及提高报文的处理效率。
由上述内容可知,转发设备建立了流表和第一组表两者的关系,或建立了流表、第一组表及第二组表三者的关系。所述转发设备接收到报文后,将所述报文与所述流表匹配完,最终跳转至所述第一组表;
在SDN网络中,转发设备接收到报文后,对于报文的处理流程如下:
1、报文从入端口进入转发设备后,根据报文中携带的match/metadata匹配字段与所述流表进行匹配;
其中,该流表可以是单个流表,也可以是多级流表,即Table0、Table1、...TableN,按照0、1、...N的顺序,将报文进行流水线匹配。在多级流表的流水线匹配过程中,每级流表被报文匹配到时,便通过执行该级流表中的动作即跳转至流表Goto-table,继续进入下一级流表进行处理,在最后一级流表处理中,执行类型为开放流动作组OFPAT_GROUP的Action,该Action用于指示去往下一阶段转发报文的第一组表Grouptable1,该Action包含第一组表的第一组标识group id。
2、报文去往第一组表;
报文去往第一组表的途径主要有以下两种情况:
A、报文从流表至第一组表完成本次转发操作,如图3;
该报文到达第一组表后,与第一组表进行匹配,其中,该第一组表可以是单个的组表,也可以是多级组表(如GroupTable0、GroupTable1、...GroupTableN,在多级组表的转发过程中,按照0、1、...N的顺序与报文进行流水线匹配)。
B、报文依次从流表至第二组表,从第二组表至第一组表完成本次转发操作,如图4;
第一组表或第二组表可以是单个的组表,也可以是多级组表(如GroupTable0、GroupTable1、...GroupTableN,在多级组表的转发过程中,按照0、1、...N的顺序与报文进行流水线匹配),通过第一组表和第二组表的配合,可以进一步保证报文能够正常转发,及先将报文发送至第二组表,实现分级处理,可以提高报文的处理效率,优化转发机制。
具体流表的数量以及组表的数量根据实际负载分担路径或设计而定,本文中不作限定。
可选的,在上述第二个至四个可选实施例中任一可选实施例的基础上,本发明实施例的第五个可选实施例中,所述转发设备接收来自所述控制设备的流表项和第一组表项之后,还包括:
所述转发设备接收到来自其它转发设备的所述数据流的报文后,用所述数据流的标识信息查找所述流表,匹配到所述流表项后,执行去往所述第一组标识对应的所述第一组表的动作,跳转至所述第一组表后,根据所述第一子动作桶和所述第二子动作桶的指示,对所述报文在所述第一路径或所述第二路径上进行负载分担转发;
当所述转发设备检测到所述第一路径故障时,所述转发设备将所述第一子动作桶的转发状态设置为未激活,并且将所述第三子动作桶的转发状态设置为激活,以刷新所述第一组表;
相应地,所述转发设备将所述报文在所述第三路径或所述第二路径上进行负载分担转发。
通过本可选实施例,可以实现在由第一至第三路径组成的重路由保护机制中,第一路径或第二路径故障时,能够立即将数据流切换至第三路径完成转发,避免报文被送至已经失效的端口而被丢弃,导致业务中断的问题。
可选的,在上述第五个可选实施例的基础上,本发明实施例的第六个可选实施例中,当所述转发设备检测到所述第一路径故障时,所述转发设备将所述第一子动作桶的转发状态设置为未激活,并且将所述第三子动作桶的转发状态设置为激活,以刷新所述第一组表还包括:
所述转发设备向所述控制设备发送第一通知消息,所述第一通知消息指示所述第一路径故障;
所述转发设备接收来自所述控制设备的更新后的第一组表项,所述更新后的第一组表项指示所述第一子动作桶的转发状态为未激活,及指示所述第三子动作桶的转发状态为激活;
所述转发设备根据所述更新后的第一组表项刷新所述第一组表。
其中,所述未激活用于指示所述第一路径不参与转发操作,所述激活用于指示所述第三路径参与转发;
所述转发设备将所述报文从所述第一路径切换至所述第三路径,可以理解的是,故障的负载分担路径可以是第一路径或第二路径,或其它任意组的负载分担路径,本文仅以第一路径故障为例进行说明,具体本文中不做限定。
通过本可选实施例,可以实现在由第一至第三路径组成的重路由保护机制中,第一路径或第二路径故障时,能够立即将数据流切换至第三路径完成转发,避免报文被送至已经失效的端口而被丢弃,导致业务中断的问题。
可选的,在上述第六个可选实施例的基础上,本发明实施例的第七个可选实施例中,所述方法还包括:
当所述转发设备检测到所述第一路径的故障恢复时,所述转发设备将所述第一子动作桶的转发状态设置为激活,并且将所述第三子动作桶的转发状态设置为未激活;
相应地,所述转发设备将所述报文在所述第一路径上进行负载分担转发。
可选的,在上述第二个至第四个可选实施例中任一可选实施例的基础上,本发明实施例的第八个可选实施例中,所述转发设备根据所述流表项建立流表,及根据所述第一组表项建立第一组表之后,还包括:
所述转发设备接收到来自其它转发设备的所述数据流的报文后,用所述数据流的标识信息查找所述流表,匹配到所述流表项,执行去往所述第一组标识对应的所述第一组表的动作,跳转至所述第一组表后,根据所述第一子动作桶和所述第二子动作桶的指示,对所述报文在所述第一路径或所述第二路径上进行负载分担转发;
当所述转发设备检测到所述第一路径故障时,所述转发设备将所述第一子动作桶对应的所述第一路径设置为用于重路由且转发状态设置为未激活,以及将所述第三子动作桶对应的所述第三路径设置为用于负载分担且转发状态设置为激活,以刷新所述第一组表;
相应地,所述转发设备将所述报文在所述第三路径或所述第二路径上进行负载分担转发。
本可选实施例中,在第一路径故障时,将第一路径作为FRR路径,使得在第一路径故障恢复后,就可以对第二路径及第三路径进行重路由保护,有效避免现有技术中一般在第一路径恢复后,立即切回至第一路径,而导致中断数据传输的问题。
可选的,在上述第八个可选实施例的基础上,本发明实施例的第九个可选实施例中,所述当所述转发设备检测到所述第一路径故障时,所述转发设备将所述第一子动作桶对应的所述第一路径设置为用于重路由且转发状态设置为未激活,以及将所述第三子动作桶对应的所述第三路径设置为用于负载分担且转发状态设置为激活,以刷新所述第一组表之后还包括:
所述转发设备向所述控制设备发送第一通知消息,所述第一通知消息指示所述第一路径故障;
所述转发设备接收来自所述控制设备的更新后的第一组表项,所述更新后的第一组表项指示所述第一子动作桶对应的所述第一路径用于重路由且转发状态为未激活,以及指示所述第三子动作桶对应的所述第三路径用于负载分担且转发状态为激活;
所述转发设备根据所述更新后的第一组表项刷新所述第一组表。
本可选实施例中,在第一路径故障时,根据更新后的第一组表项将第一路径作为FRR路径,使得在第一路径故障恢复后,就可以对第二路径及第三路径进行重路由保护,有效避免现有技术中一般在第一路径恢复后,立即切回至第一路径,而导致中断数据传输的问题。
以下从设备的角度对本发明的一种控制设备进行具体说明,该控制设备30应用于控制转发分离的网络,所述控制转发分离的网络包括控制设备和转发设备,所述控制设备30控制所述转发设备,参阅图6-1,所述控制设备30包括:
处理模块301,用于为一条数据流确定至少三条路径,并生成所述数据流的第一组表项和流表项,所述至少三条路径为所述数据流从所述转发设备到目的转发设备的传输路径;
发送模块302、用于向所述转发设备发送所述流表项和第一组表项,所述流表项用于指示所述转发设备在匹配到所述数据流时,执行去往所述第一组表项的操作,所述第一组表项用于指示所述转发设备将所述至少三条路径中的第一路径与第二路径设置为负载分担的路径,以及将所述至少三条路径中的第三路径设置为所述第一路径和所述第二路径的重路由保护的路径。
本发明实施例中,通过处理模块301为数据流配置负责负载分担的第一路径和第二路径,及配置负责重路由保护的第三路径,并生成指示转发设备将第一、第二路径作为负载分担的路径,及对第一、第二路径进行重路由保护的第三路径,以及生成指示执行去往所述第一组表项的流表项,并通过发送模块302下发至转发设备,使得转发设备在负载分担路径故障时,根据第一组表项,切换至第三路径转发报文,能够解决网络中存在多条负载分担路径,且任一负载分担路径故障时,无法实现快速重路由保护的问题,有效降低报文的丢失率,及提高故障时的处理效率,保证报文能够正常转发。
可选的,在上述图6-1所对应的实施例的基础上,本发明实施例的第一个可选实施例中,所述第一组表项中包含第一组类型字段和第一动作桶字段,所述第一组类型字段用于指示当前组为包含负载分担路径与重路由保护路径的场景,所述第一动作桶字段用于指示所述第一路径和所述第二路径是所述数据流的负载分担路径且转发状态均为激活,以及指示所述第三路径是所述负载分担路径故障时的重路由路径且转发状态为未激活。
可选的,在上述第一个可选实施例的基础上,本发明实施例的第二个可选实施例中,所述第一动作桶字段包含第一子动作桶、第二子动作桶和第三子动作桶,所述第一子动作桶指示所述第一路径是所述数据流的负载分担路径且转发状态为激活,所述第二子动作桶指示所述第二路径是所述数据流的负载分担路径且转发状态为激活,所述第三子动作桶指示所述第三路径作为所述负载分担路径故障时的重路由路径且转发状态为未激活。
可选的,在上述图6-1所对应的实施例、或者上述第一个至第二个可选实施例中任一可选实施例的基础上,本发明实施例的第三个可选实施例中,所述第一组表项还包括第一组标识;
所述流表项用于指示所述转发设备在匹配到所述数据流时,执行去往所述第一组表项的操作包括:
所述流表项包括匹配字段和操作指令字段,所述匹配字段携带所述数据流的匹配信息,所述操作指令字段携带指示去往所述第一组表项的所述第一组标识,根据本可选实施例,通过配置第一组表项和流表项的关系,可以实现数据流的报文通过流表项发送至第一组表项,在数据业务需求不高以及网络架构不复杂的网络环境中实现减少丢包率、提高网络稳定性的目的。
可选的,在上述图6-1所对应的实施例、或者上述第一个至第三个可选实施例中任一可选实施例的基础上,本发明实施例的第四个可选实施例中,所述处理模块301还用于:
为所述数据流生成第二组表项,所述第二组表项中包括第二组标识、第二组类型字段和第二动作桶字段,所述第二组标识用于标识所述第二组表项,所述第二组类型字段用于指示进行负载分担,所述第二动作桶字段包含第四子动作桶,所述第四子动作桶携带指示去往所述第一组表项的所述第一组标识;
所述流表项用于指示所述转发设备在匹配到所述数据流时,执行去往所述第一组表项的操作包括:
所述流表项包括匹配字段和操作指令字段,所述匹配字段携带所述数据流的匹配信息,所述操作指令字段携带指示去往所述第二组表项的所述第二组标识。
其中,报文从所述第二组表项去往所述第一组表项时,可通过如图2-3所示的第一组表项与第二组表项的级联关系结构来实现,通过本可选实施例中由第一组表和第二组表组成的多级组表,进一步保证报文能够正常转发,及先将报文跳转至第二组表项,实现分级处理,分工明确,有效提高转发处理效率、优化转发机制及提高报文的处理效率。
可选的,在上述第二个至第四个可选实施例中任一可选实施例的基础上,本发明实施例的第五个可选实施例中,参阅图6-2,所述控制设备30还包括接收模块303:
所述接收模块303用于在所述发送模块302向所述转发设备发送所述流表项和所述第一组表项之后,接收来自所述转发设备的第一通知消息,所述第一通知消息指示所述第一路径故障;
所述处理模块301还用于:
根据所述接收模块303接收到的第一通知消息将所述第一子动作桶的转发状态设置为未激活,并且将所述第三子动作桶的转发状态设置为激活,以更新所述第一组表;
所述发送模块302还用于将更新后的所述第一组表项发送至所述转发设备。
可选的,在上述第五个可选实施例的基础上,本发明实施例的第六个可选实施例中,在所述发送模块302将更新后的所述第一组表项发送至所述转发设备之后,所述接收模块303还用于:
接收来自所述转发设备的第二通知消息后,所述第二通知消息指示所述第一路径的故障恢复;
所述处理模块301还用于:
所述第二通知消息将所述第一子动作桶的转发状态设置为激活,并且将所述第三子动作桶的转发状态设置为未激活,以更新所述第一组表;
所述发送模块302还用于将再次更新后的所述第一组表项发送至所述转发设备,以使所述转发设备根据所述更新后的所述第一组表,切换至所述第三路径转发所述报文。
可选的,在上述第二个至第四个可选实施例中任一可选实施例的基础上,本发明实施例的第七个可选实施例中,在所述发送模块302向所述转发设备发送所述流表项和所述第一组表项之后,所述接收模块303还用于:
接收来自所述转发设备的第三通知消息,所述第三通知消息指示所述第一路径故障;
所述处理模块301还用于根据所述接收模块303接收到的第三通知消息将所述第一子动作桶对应的所述第一路径设置为用于重路由,并将所述第一子动作桶的转发状态设置为未激活;将所述第三子动作桶对应的所述第三路径设置为用于负载分担,并将所述第三子动作桶的转发状态设置为激活;
所述发送模块302还用于将更新后的所述第一组表项发送至所述转发设备。
通过本可选实施例,可以实现在由第一至第三路径组成的重路由保护机制中,第一路径或第二路径故障时,能够立即将数据流切换至第三路径完成转发,避免报文被送至已经失效的端口而被丢弃,导致业务中断的问题。
上面对控制设备进行了描述,下面对本发明实施例中的一种转发设备进行描述,该转发设备40应用于控制转发分离的网络,所述控制转发分离的网络包括控制设备和转发设备40,所述控制设备控制所述转发设备40,参阅图7-1,所述转发设备40包括:
接收模块401,用于接收来自所述控制设备的流表项和第一组表项,所述流表项用于指示所述转发设备在匹配到所述数据流时,执行去往所述第一组表项的操作,所述第一组表项用于指示所述转发设备将所述控制设备为一条数据流计算的至少三条路径中的第一路径与第二路径设置为负载分担的路径,以及将所述至少三条路径中的第三路径设置为所述第一路径和所述第二路径的重路由保护的路径,所述至少三条路径为所述数据流从所述转发设备到目的转发设备的传输路径;
处理模块402,用于根据所述接收模块401接收到的所述流表项建立流表,根据所述接收模块401接收到的所述第一组表项建立第一组表。
本发明实施例中,处理模块401控制设备下发的流表项配置流表,利用第一组表项配置第一组表,使得在作为负载分担的第一路径和第二路径故障时,可以根据第一组表切换至负责重路由保护的第三路径,能够解决网络中存在多条负载分担路径,且任一负载分担路径故障时,无法实现快速重路由保护的问题,有效降低报文的丢失率,及提高故障时的处理效率,保证报文能够正常转发。
可选的,在上述图7-1所对应的实施例的基础上,本发明实施例中的第一个可选实施例中,所述第一组表项中包含第一组类型字段和第一动作桶字段,所述第一组类型字段用于指示当前组为包含负载分担路径与重路由保护路径的场景,所述第一动作桶字段用于指示所述第一路径和所述第二路径是所述数据流的负载分担路径且转发状态均为激活,以及指示所述第三路径是所述负载分担路径故障时的重路由路径且转发状态为未激活。
通过本可选实施例,在第一路径或第二路径故障时,根据第三子动作桶的指示,可以迅速启用第三路径转发报文,提高网络的可靠性以及数据的连续性。
可选的,在上述第一个可选实施例的基础上,本发明实施例中的第二个可选实施例中,所述第一动作桶字段包含第一子动作桶、第二子动作桶和第三子动作桶,所述第一子动作桶指示所述第一路径是所述数据流的负载分担路径且转发状态为激活,所述第二子动作桶指示所述第二路径是所述数据流的负载分担路径且转发状态为激活,所述第三子动作桶指示所述第三路径作为所述负载分担路径故障时的重路由路径且转发状态为未激活。
可选的,在上述图7-1所对应的实施例、或者上述第一个至第二个可选实施例中任一可选实施例的基础上,本发明实施例中的第三个可选实施例中,所述第一组表项还包括第一组标识;
所述流表项用于指示所述转发设备在匹配到所述数据流时,执行去往所述第一组表项的操作包括:
所述流表项包括匹配字段和操作指令字段,所述匹配字段携带所述数据流的匹配信息,所述操作指令字段携带指示去往所述第一组表项的所述第一组标识。
通过配置第一组表项和流表项的关系,可以实现数据流的报文通过流表项发送至第一组表项,具体可参考图3所示的报文在转发设备内的转发流程图,根据本可选实施例,在数据业务需求不高以及网络架构不复杂的网络环境中可以实现减少丢包率、提高网络稳定性的目的。
可选的,在上述图7-1所对应的实施例、或者上述第一个至第二个可选实施例中任一可选实施例的基础上,本发明实施例中的第四个可选实施例中,所述接收模块401还用于:
接收来自所述控制设备的第二组表项;
所述处理模块402还用于根据所述第二组表项建立第二组表,所述第二组表项中包括第二组标识、第二组类型字段和第二动作桶字段,所述第二组标识用于标识所述第二组表项,所述第二组类型字段用于指示进行负载分担,所述第二动作桶字段包含第四子动作桶,所述第四子动作桶携带指示去往所述第一组表项的所述第一组标识;
所述流表项用于指示所述转发设备在匹配到所述数据流时,执行去往所述第一组表项的操作包括:
所述流表项包括匹配字段和操作指令字段,所述匹配字段携带所述数据流的匹配信息,所述操作指令字段携带指示去往所述第二组表项的所述第二组标识。
通过本可选实施例中由第一组表和第二组表组成的多级组表,进一步保证报文能够正常转发,及先将报文跳转至第二组表项,实现分级处理,分工明确,有效提高转发处理效率、优化转发机制及提高报文的处理效率。
可选的,在上述第三个或第四个可选实施例的基础上,本发明实施例中的第五个可选实施例中,所述处理模块401具体用于:
在所述接收模块401接收到来自其它转发设备的所述数据流的报文后,用所述数据流的标识信息查找所述流表,匹配到所述流表项后,执行去往所述第一组标识对应的所述第一组表的动作,跳转至所述第一组表后,根据所述第一子动作桶和所述第二子动作桶的指示,对所述报文在所述第一路径或所述第二路径上进行负载分担转发;
当检测到所述第一路径故障时,将所述第一子动作桶的转发状态设置为未激活,并且将所述第三子动作桶的转发状态设置为激活,以刷新所述第一组表;
相应地,所述处理模块402将所述报文在所述第三路径或所述第二路径上进行负载分担转发。
通过本可选实施例,可以实现在由第一至第三路径组成的重路由保护机制中,第一路径或第二路径故障时,能够立即将数据流切换至第三路径完成转发,避免报文被送至已经失效的端口而被丢弃,导致业务中断的问题。
可选的,在上述第五个可选实施例的基础上,本发明实施例中的第六个可选实施例中,参阅图7-2,所述转发设备40还包括发送模块403,所述发送模块403具体用于:
在所述处理模块402将所述第三子动作桶的转发状态设置为激活后,向所述控制设备发送第一通知消息,所述第一通知消息指示所述第一路径故障;
所述接收模块401还用于接收来自所述控制设备的更新后的第一组表项,所述更新后的第一组表项指示所述第一子动作桶的转发状态为未激活,及指示所述第三子动作桶的转发状态为激活;
所述处理模块402还用于根据所述更新后的第一组表项刷新所述第一组表。
通过本可选实施例,可以实现在由第一至第三路径组成的重路由保护机制中,第一路径或第二路径故障时,能够立即将数据流切换至第三路径完成转发,避免报文被送至已经失效的端口而被丢弃,导致业务中断的问题。
可选的,在上述第六个可选实施例的基础上,本发明实施例中的第七个可选实施例中,当检测到所述第一路径的故障恢复时,所述处理模块402还用于将所述第一子动作桶的转发状态设置为激活,并且将所述第三子动作桶的转发状态设置为未激活;
相应地,所述处理模块402还用于将所述报文在所述第一路径上进行负载分担转发。
可选的,在上述第二个至第四个可选实施例中任一可选实施例的基础上,本发明实施例中的第八个可选实施例中,在所述处理模块402根据所述流表项建立流表,及根据所述第一组表项建立第一组表之后,所述处理模块401还用于在通过所述接收模块401接收到来自其它转发设备的所述数据流的报文后,用所述数据流的标识信息查找所述流表,匹配到所述流表项,执行去往所述第一组标识对应的所述第一组表的动作,跳转至所述第一组表后,根据所述第一子动作桶和所述第二子动作桶的指示,对所述报文在所述第一路径或所述第二路径上进行负载分担转发;
当所述转发设备检测到所述第一路径故障时,将所述第一子动作桶对应的所述第一路径设置为用于重路由且转发状态设置为未激活,以及将所述第三子动作桶对应的所述第三路径设置为用于负载分担且转发状态设置为激活,以刷新所述第一组表;
相应地,所述处理模块402将所述报文在所述第三路径或所述第二路径上进行负载分担转发。本可选实施例中,在第一路径故障时,将第一路径作为FRR路径,使得在第一路径故障恢复后,就可以对第二路径及第三路径进行重路由保护,有效避免现有技术中一般在第一路径恢复后,便立即切回至第一路径,而导致中断数据传输的问题。
本发明还提供一种通信系统,该通信系统50应用于控制转发分离的网络,参阅图8,该通信系统50包括:
上述图6-1所对应的实施例、及第一个至第六个可选实施例中任一个所描述的控制设备30;
上述图7-1所对应的实施例、及第一个至第八个可选实施例中任一个所描述的转发设备40。
本发明实施例中,通过控制设备30为数据流配置负责负载分担的第一路径和第二路径,及配置负责重路由保护的第三路径,并生成指示转发设备40将第一、第二路径作为负载分担的路径,及对第一、第二路径进行重路由保护的第三路径,以及生成指示执行去往所述第一组表项的流表项,并将流表项和第一组表项下发至转发设备,使得转发设备在负载分担路径故障时,根据第一组表项,切换至第三路径转发报文,能够解决网络中存在多条负载分担路径,且任一负载分担路径故障时,无法实现快速重路由保护的问题,有效降低报文的丢失率,及提高故障时的处理效率,保证报文能够正常转发。
本发明还提供一种计算机存储介质,该介质存储有程序,该程序执行时包括上述路由的方法中的部分或者全部步骤。
本发明还提供一种计算机存储介质,该介质存储有程序,该程序执行时包括上述控制设备或转发设备执行一种路由的方法中的部分或者全部步骤。
图9是本发明实施例控制设备90的另一结构示意图。控制设备90可包括至少一个接收器901、至少一个发送器902、至少一个处理器903和存储器904、至少一个网络接口905或者其它用户接口906,以实现这些装置之间的连接通信,通过至少一个网络接口(可以是有线或者无线)实现该系统网关与至少一个其它网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
存储器904可以包括只读存储器和随机存取存储器,并向处理器903提供指令和数据,存储器904的一部分还可以包括可能包含高速随机存取存储器(RAM,Random AccessMemory),也可能还包括非不稳定的存储器(non-volatile memory)。
存储器904存储了如下的元素,可执行模块或者数据结构,或者它们的子集,或者它们的扩展集:
操作指令:包括各种操作指令,用于实现各种操作。
操作系统:包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
在本发明实施例中,该控制设备90应用于控制转发分离的网络,所述控制转发分离的网络包括控制设备90和转发设备,所述控制设备90控制所述转发设备,处理器903通过调用存储器904存储的操作指令(该操作指令可存储在操作系统中),执行如下操作:
为数据流确定至少三条路径,并生成所述数据流的第一组表项和流表项,所述至少三条路径为所述数据流从所述转发设备到目的转发设备的传输路径;
通过发送器902向所述转发设备发送所述流表项和第一组表项,所述流表项用于指示所述转发设备在匹配到所述数据流时,执行去往所述第一组表项的操作,所述第一组表项用于指示所述转发设备将所述至少三条路径中的第一路径与第二路径设置为负载分担的路径,以及将所述至少三条路径中的第三路径设置为所述第一路径和所述第二路径的重路由保护的路径。
其中,所述第一组表项中包含第一组类型字段和第一动作桶字段,所述第一组类型字段用于指示当前组为包含负载分担路径与重路由保护路径的场景,所述第一动作桶字段用于指示所述第一路径和所述第二路径是所述数据流的负载分担路径且转发状态均为激活,以及指示所述第三路径是所述负载分担路径故障时的重路由路径且转发状态为未激活。
可选的,所述第一动作桶字段包含第一子动作桶、第二子动作桶和第三子动作桶,所述第一子动作桶指示所述第一路径是所述数据流的负载分担路径且转发状态为激活,所述第二子动作桶指示所述第二路径是所述数据流的负载分担路径且转发状态为激活,所述第三子动作桶指示所述第三路径作为所述负载分担路径故障时的重路由路径且转发状态为未激活。
可选的,所述第一组表项还包括第一组标识;
所述流表项用于指示所述转发设备在匹配到所述数据流时,执行去往所述第一组表项的操作包括:
所述流表项包括匹配字段和操作指令字段,所述匹配字段携带所述数据流的匹配信息,所述操作指令字段携带指示去往所述第一组表项的所述第一组标识。
在一些实施方式中,上述处理器903还可以执行以下步骤:
为所述数据流生成第二组表项,所述第二组表项中包括第二组标识、第二组类型字段和第二动作桶字段,所述第二组标识用于标识所述第二组表项,所述第二组类型字段用于指示进行负载分担,所述第二动作桶字段包含第四子动作桶,所述第四子动作桶携带指示去往所述第一组表项的所述第一组标识;
所述流表项用于指示所述转发设备在匹配到所述数据流时,执行去往所述第一组表项的操作包括:
所述流表项包括匹配字段和操作指令字段,所述匹配字段携带所述数据流的匹配信息,所述操作指令字段携带指示去往所述第二组表项的所述第二组标识。
在一些实施方式中,在所述控制设备向所述转发设备发送所述流表项和所述第一组表项之后,上述处理器903还可以执行以下步骤:
通过接收器901接收到所述转发设备发送的第一通知消息,所述第一通知消息指示所述第一路径故障;根据所述第一通知消息将所述第一子动作桶的转发状态设置为未激活,并且将所述第三子动作桶的转发状态设置为激活;
并通过发送器902将更新后的所述第一组表项发送至所述转发设备。
在一些实施方式中,在所述控制设备将更新后的所述第一组表项发送至所述转发设备之后,上述处理器903还可以执行以下步骤:
通过接收器901接收到所述转发设备发送的第二通知消息,所述第二通知消息指示所述第一路径的故障恢复;
根据所述第二通知消息将所述第一子动作桶的转发状态设置为激活,并且将所述第三子动作桶的转发状态设置为未激活;
通过发送器902将再次更新后的所述第一组表项发送至所述转发设备。
在一些实施方式中,在所述控制设备将更新后的所述第一组表项发送至所述转发设备之后,上述处理器903还可以执行以下步骤:
通过接收器901接收来自所述转发设备的第三通知消息,所述第三通知消息指示所述第一路径故障;
根据所述第三通知消息将所述第一子动作桶对应的所述第一路径设置为用于重路由,并将所述第一子动作桶的转发状态设置为未激活;将所述第三子动作桶对应的所述第三路径设置为用于负载分担,并将所述第三子动作桶的转发状态设置为激活;
通过发送器902将更新后的所述第一组表项发送至所述转发设备。
图10是本发明实施例转发设备100的另一结构示意图。转发设备100可包括至少一个接收器1001、至少一个发送器1002、至少一个处理器1003和存储器1004、至少一个网络接口1005或者其它用户接口1006,以实现这些装置之间的连接通信,通过至少一个网络接口(可以是有线或者无线)实现该系统网关与至少一个其它网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
存储器1004可以包括只读存储器和随机存取存储器,并向处理器1003提供指令和数据,存储器1004的一部分还可以包括可能包含高速随机存取存储器(RAM,Random AccessMemory),也可能还包括非不稳定的存储器(non-volatile memory)。
存储器1004存储了如下的元素,可执行模块或者数据结构,或者它们的子集,或者它们的扩展集:
操作指令:包括各种操作指令,用于实现各种操作。
操作系统:包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
在本发明实施例中,该转发设备应用于控制转发分离的网络,所述控制转发分离的网络包括控制设备和转发设备,所述控制设备控制所述转发设备,处理器1003通过调用存储器1004存储的操作指令(该操作指令可存储在操作系统中),执行如下操作:
通过接收器1001接收来自所述控制设备的流表项和第一组表项,所述流表项用于指示所述转发设备在匹配到所述数据流时,执行去往所述第一组表项的操作,所述第一组表项用于指示所述转发设备将所述控制设备为数据流计算的至少三条路径中的第一路径与第二路径设置为负载分担的路径,以及将所述至少三条路径中的第三路径设置为所述第一路径和所述第二路径的重路由保护的路径,所述至少三条路径为所述数据流从所述转发设备到目的转发设备的传输路径;
根据所述流表项建立流表,根据所述第一组表项建立第一组表。
其中,所述第一组表项中包含第一组类型字段和第一动作桶字段,所述第一组类型字段用于指示当前组为包含负载分担路径与重路由保护路径的场景,所述第一动作桶字段用于指示所述第一路径和所述第二路径是所述数据流的负载分担路径且转发状态均为激活,以及指示所述第三路径是所述负载分担路径故障时的重路由路径且转发状态为未激活。
可选的,所述第一动作桶字段包含第一子动作桶、第二子动作桶和第三子动作桶,所述第一子动作桶指示所述第一路径是所述数据流的负载分担路径且转发状态为激活,所述第二子动作桶指示所述第二路径是所述数据流的负载分担路径且转发状态为激活,所述第三子动作桶指示所述第三路径作为所述负载分担路径故障时的重路由路径且转发状态为未激活。
可选的,所述第一组表项还包括第一组标识;
所述流表项用于指示所述转发设备在匹配到所述数据流时,执行去往所述第一组表项的操作包括:
所述流表项包括匹配字段和操作指令字段,所述匹配字段携带所述数据流的匹配信息,所述操作指令字段携带指示去往所述第一组表项的所述第一组标识。
在一些实施方式中,上述处理器1003具体执行以下步骤:
通过接收器1001接收来自所述控制设备的第二组表项,并根据所述第二组表项建立第二组表,所述第二组表项中包括第二组标识、第二组类型字段和第二动作桶字段,所述第二组标识用于标识所述第二组表项,所述第二组类型字段用于指示进行负载分担,所述第二动作桶字段包含第四子动作桶,所述第四子动作桶携带指示去往所述第一组表项的所述第一组标识;
所述流表项用于指示所述转发设备在匹配到所述数据流时,执行去往所述第一组表项的操作包括:
所述流表项包括匹配字段和操作指令字段,所述匹配字段携带所述数据流的匹配信息,所述操作指令字段携带指示去往所述第二组表项的所述第二组标识。
在一些实施方式中,在通过接收器1001接收来自所述控制设备的流表项和第一组表项之后,上述处理器1003还可以执行如下操作步骤中的一个:
通过接收器1001接收到来自其它转发设备的所述数据流的报文后,用所述数据流的标识信息查找所述流表,匹配到所述流表项后,执行去往所述第一组标识对应的所述第一组表的动作,跳转至所述第一组表后,根据所述第一子动作桶和所述第二子动作桶的指示,对所述报文在所述第一路径或所述第二路径上进行负载分担转发;
当检测到所述第一路径故障时,将所述第一子动作桶的转发状态设置为未激活,并且将所述第三子动作桶的转发状态设置为激活,以刷新所述第一组表;
并将所述报文在所述第三路径或所述第二路径上进行负载分担转发。
在一些实施方式中,当所述转发设备检测到所述第一路径故障时,所述转发设备将所述第一子动作桶的转发状态设置为未激活,并且将所述第三子动作桶的转发状态设置为激活,以刷新所述第一组表,上述处理器1003还可以执行以下步骤:
通过发送器1002向所述控制设备发送第一通知消息,所述第一通知消息指示所述第一路径故障;
通过接收器1001接收来自所述控制设备的更新后的第一组表项,所述更新后的第一组表项指示所述第一子动作桶的转发状态为未激活,及指示所述第三子动作桶的转发状态为激活;
根据所述更新后的第一组表项刷新所述第一组表。
在一些实施方式中,上述处理器1003还可以执行以下步骤:
当检测到所述第一路径的故障恢复时,将所述第一子动作桶的转发状态设置为激活,并且将所述第三子动作桶的转发状态设置为未激活;
将所述报文在所述第一路径上进行负载分担转发。
在一些实施方式中,在根据所述流表项建立流表,及根据所述第一组表项建立第一组表之后,上述处理器1003还可以执行以下步骤:
通过接收器1001接收到来自其它转发设备的所述数据流的报文后,用所述数据流的标识信息查找所述流表,匹配到所述流表项,执行去往所述第一组标识对应的所述第一组表的动作,跳转至所述第一组表后,根据所述第一子动作桶和所述第二子动作桶的指示,对所述报文在所述第一路径或所述第二路径上进行负载分担转发;
当检测到所述第一路径故障时,所述转发设备将所述第一子动作桶对应的所述第一路径设置为用于重路由且转发状态设置为未激活,以及将所述第三子动作桶对应的所述第三路径设置为用于负载分担且转发状态设置为激活,以刷新所述第一组表;
并将所述报文在所述第三路径或所述第二路径上进行负载分担转发。
在一些实施方式中,当检测到所述第一路径故障时,将所述第一子动作桶对应的所述第一路径设置为用于重路由且转发状态设置为未激活,以及将所述第三子动作桶对应的所述第三路径设置为用于负载分担且转发状态设置为激活,以刷新所述第一组表之后,上述处理器1003还可以执行以下步骤:
向所述控制设备发送第一通知消息,所述第一通知消息指示所述第一路径故障;
通过接收器1001接收来自所述控制设备的更新后的第一组表项,所述更新后的第一组表项指示所述第一子动作桶对应的所述第一路径用于重路由且转发状态为未激活,以及指示所述第三子动作桶对应的所述第三路径用于负载分担且转发状态为激活;
并根据所述更新后的第一组表项刷新所述第一组表。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如至少两个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到至少两个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本发明所提供的一种路由的方法、相关设备及系统进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (13)
1.一种路由方法,应用于控制转发分离的网络,所述控制转发分离的网络包括控制设备和转发设备,所述控制设备用于控制所述转发设备,其特征在于,所述方法包括:
所述控制设备为一条数据流确定至少三条路径,并生成所述数据流的第一组表项和流表项,所述至少三条路径为所述数据流从所述转发设备到目的转发设备的传输路径;
所述控制设备向所述转发设备发送所述流表项和第一组表项,所述流表项用于指示所述转发设备在匹配到所述数据流时,执行去往所述第一组表项的操作,所述第一组表项用于指示所述转发设备将所述至少三条路径中的第一路径与第二路径设置为负载分担的路径,以及将所述至少三条路径中的第三路径设置为所述第一路径和所述第二路径的重路由保护的路径;其中,所述第一组表项中包含第一组类型字段和第一动作桶字段,所述第一组类型字段用于指示当前组为包含负载分担路径与重路由保护路径的场景,所述第一动作桶字段包含第一子动作桶、第二子动作桶和第三子动作桶,所述第一子动作桶指示所述第一路径是所述数据流的负载分担路径且转发状态为激活,所述第二子动作桶指示所述第二路径是所述数据流的负载分担路径且转发状态为激活,所述第三子动作桶指示所述第三路径作为所述负载分担路径故障时的重路由路径且转发状态为未激活。
2.根据权利要求1所述的方法,其特征在于,所述第一组表项还包括第一组标识;
所述流表项用于指示所述转发设备在匹配到所述数据流时,执行去往所述第一组表项的操作包括:
所述流表项包括匹配字段和操作指令字段,所述匹配字段携带所述数据流的匹配信息,所述操作指令字段携带指示去往所述第一组表项的所述第一组标识。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述控制设备还为所述数据流生成第二组表项,所述第二组表项中包括第二组标识、第二组类型字段和第二动作桶字段,所述第二组标识用于标识所述第二组表项,所述第二组类型字段用于指示进行负载分担,所述第二动作桶字段包含第四子动作桶,所述第四子动作桶携带指示去往所述第一组表项的所述第一组标识;
所述流表项用于指示所述转发设备在匹配到所述数据流时,执行去往所述第一组表项的操作包括:
所述流表项包括匹配字段和操作指令字段,所述匹配字段携带所述数据流的匹配信息,所述操作指令字段携带指示去往所述第二组表项的所述第二组标识。
4.一种路由的方法,应用于控制转发分离的网络,所述控制转发分离的网络包括控制设备和转发设备,所述控制设备控制所述转发设备,其特征在于,所述方法包括:
所述转发设备接收来自所述控制设备的流表项和第一组表项,所述第一组表项用于指示所述转发设备将所述控制设备为一条数据流计算的至少三条路径中的第一路径与第二路径设置为负载分担的路径,以及将所述至少三条路径中的第三路径设置为所述第一路径和所述第二路径的重路由保护的路径,所述至少三条路径为所述数据流从所述转发设备到目的转发设备的传输路径,所述流表项用于指示所述转发设备在匹配到所述数据流时,执行去往所述第一组表项的操作;其中,所述第一组表项中包含第一组类型字段和第一动作桶字段,所述第一组类型字段用于指示当前组为包含负载分担路径与重路由保护路径的场景,所述第一动作桶字段包含第一子动作桶、第二子动作桶和第三子动作桶,所述第一子动作桶指示所述第一路径是所述数据流的负载分担路径且转发状态为激活,所述第二子动作桶指示所述第二路径是所述数据流的负载分担路径且转发状态为激活,所述第三子动作桶指示所述第三路径作为所述负载分担路径故障时的重路由路径且转发状态为未激活;
所述转发设备根据所述流表项建立流表,根据所述第一组表项建立第一组表。
5.根据权利要求4所述的方法,其特征在于,所述第一组表项还包括第一组标识,所述流表项包括匹配字段和操作指令字段,所述匹配字段携带所述数据流的匹配信息,所述操作指令字段携带指示去往所述第一组表项的所述第一组标识。
6.根据权利要求4或5所述的方法,其特征在于,所述方法还包括:
所述转发设备接收来自所述控制设备的第二组表项,并根据所述第二组表项建立第二组表,所述第二组表项中包括第二组标识、第二组类型字段和第二动作桶字段,所述第二组标识用于标识所述第二组表项,所述第二组类型字段用于指示进行负载分担,所述第二动作桶字段包含第四子动作桶,所述第四子动作桶携带指示去往所述第一组表项的所述第一组标识;
所述流表项包括匹配字段和操作指令字段,所述匹配字段携带所述数据流的匹配信息,所述操作指令字段携带指示去往所述第二组表项的所述第二组标识。
7.一种控制设备,应用于控制转发分离的网络,所述控制转发分离的网络包括控制设备和转发设备,所述控制设备用于控制所述转发设备,其特征在于,所述控制设备包括:
处理模块,用于为一条数据流确定至少三条路径,并生成所述数据流的第一组表项和流表项,所述至少三条路径为所述数据流从所述转发设备到目的转发设备的传输路径;
发送模块,用于向所述转发设备发送所述流表项和第一组表项,所述流表项用于指示所述转发设备在匹配到所述数据流时,执行去往所述第一组表项的操作,所述第一组表项用于指示所述转发设备将所述至少三条路径中的第一路径与第二路径设置为负载分担的路径,以及将所述至少三条路径中的第三路径设置为所述第一路径和所述第二路径的重路由保护的路径;其中,所述第一组表项中包含第一组类型字段和第一动作桶字段,所述第一组类型字段用于指示当前组为包含负载分担路径与重路由保护路径的场景,所述第一动作桶字段包含第一子动作桶、第二子动作桶和第三子动作桶,所述第一子动作桶指示所述第一路径是所述数据流的负载分担路径且转发状态为激活,所述第二子动作桶指示所述第二路径是所述数据流的负载分担路径且转发状态为激活,所述第三子动作桶指示所述第三路径作为所述负载分担路径故障时的重路由路径且转发状态为未激活。
8.根据权利要求7所述的控制设备,其特征在于,所述第一组表项还包括第一组标识;
所述流表项用于指示所述转发设备在匹配到所述数据流时,执行去往所述第一组表项的操作包括:
所述流表项包括匹配字段和操作指令字段,所述匹配字段携带所述数据流的匹配信息,所述操作指令字段携带指示去往所述第一组表项的所述第一组标识。
9.根据权利要求7或8所述的控制设备,其特征在于,所述处理模块还用于:
为所述数据流生成第二组表项,所述第二组表项中包括第二组标识、第二组类型字段和第二动作桶字段,所述第二组标识用于标识所述第二组表项,所述第二组类型字段用于指示进行负载分担,所述第二动作桶字段包含第四子动作桶,所述第四子动作桶携带指示去往所述第一组表项的所述第一组标识;
所述流表项用于指示所述转发设备在匹配到所述数据流时,执行去往所述第一组表项的操作包括:
所述流表项包括匹配字段和操作指令字段,所述匹配字段携带所述数据流的匹配信息,所述操作指令字段携带指示去往所述第二组表项的所述第二组标识。
10.一种转发设备,应用于控制转发分离的网络,所述控制转发分离的网络包括控制设备和转发设备,所述控制设备控制所述转发设备,其特征在于,所述转发设备包括:
接收模块,用于接收来自所述控制设备的流表项和第一组表项,所述第一组表项用于指示所述转发设备将所述控制设备为一条数据流计算的至少三条路径中的第一路径与第二路径设置为负载分担的路径,以及将所述至少三条路径中的第三路径设置为所述第一路径和所述第二路径的重路由保护的路径,所述至少三条路径为所述数据流从所述转发设备到目的转发设备的传输路径,所述流表项用于指示所述转发设备在匹配到所述数据流时,执行去往所述第一组表项的操作;其中,所述第一组表项中包含第一组类型字段和第一动作桶字段,所述第一组类型字段用于指示当前组为包含负载分担路径与重路由保护路径的场景,所述第一动作桶字段包含第一子动作桶、第二子动作桶和第三子动作桶,所述第一子动作桶指示所述第一路径是所述数据流的负载分担路径且转发状态为激活,所述第二子动作桶指示所述第二路径是所述数据流的负载分担路径且转发状态为激活,所述第三子动作桶指示所述第三路径作为所述负载分担路径故障时的重路由路径且转发状态为未激活;
处理模块,用于根据所述流表项建立流表,根据所述第一组表项建立第一组表。
11.根据权利要求10所述的转发设备,其特征在于,所述第一组表项还包括第一组标识;
所述流表项用于指示所述转发设备在匹配到所述数据流时,执行去往所述第一组表项的操作包括:
所述流表项包括匹配字段和操作指令字段,所述匹配字段携带所述数据流的匹配信息,所述操作指令字段携带指示去往所述第一组表项的所述第一组标识。
12.根据权利要求10或11所述的转发设备,其特征在于,所述接收模块还用于:
接收来自所述控制设备的第二组表项;
所述处理模块还用于根据所述接收模块接收到的所述第二组表项建立第二组表,所述第二组表项中包括第二组标识、第二组类型字段和第二动作桶字段,所述第二组标识用于标识所述第二组表项,所述第二组类型字段用于指示进行负载分担,所述第二动作桶字段包含第四子动作桶,所述第四子动作桶携带指示去往所述第一组表项的所述第一组标识;
所述流表项用于指示所述转发设备在匹配到所述数据流时,执行去往所述第一组表项的操作包括:
所述流表项包括匹配字段和操作指令字段,所述匹配字段携带所述数据流的匹配信息,所述操作指令字段携带指示去往所述第二组表项的所述第二组标识。
13.一种通信系统,其特征在于,所述通信系统包括:
如权利要求7至9任一所述的控制设备;
如权利要求10至12任一所述的转发设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010854879.1A CN112187645B (zh) | 2015-06-30 | 2015-06-30 | 一种路由的方法、相关设备及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2015/082876 WO2017000243A1 (zh) | 2015-06-30 | 2015-06-30 | 一种路由的方法、相关设备及系统 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010854879.1A Division CN112187645B (zh) | 2015-06-30 | 2015-06-30 | 一种路由的方法、相关设备及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107005469A CN107005469A (zh) | 2017-08-01 |
CN107005469B true CN107005469B (zh) | 2020-09-04 |
Family
ID=57607639
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580066873.5A Active CN107005469B (zh) | 2015-06-30 | 2015-06-30 | 一种路由的方法、相关设备及系统 |
CN202010854879.1A Active CN112187645B (zh) | 2015-06-30 | 2015-06-30 | 一种路由的方法、相关设备及系统 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010854879.1A Active CN112187645B (zh) | 2015-06-30 | 2015-06-30 | 一种路由的方法、相关设备及系统 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10630592B2 (zh) |
EP (1) | EP3306873B1 (zh) |
CN (2) | CN107005469B (zh) |
WO (1) | WO2017000243A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017000243A1 (zh) * | 2015-06-30 | 2017-01-05 | 华为技术有限公司 | 一种路由的方法、相关设备及系统 |
JP6558393B2 (ja) | 2017-04-06 | 2019-08-14 | トヨタ自動車株式会社 | 進路設定装置及び進路設定方法 |
CN110661703A (zh) * | 2018-06-30 | 2020-01-07 | 北京华为数字技术有限公司 | 一种实现快速重路由的方法和装置 |
EP3716537A1 (de) * | 2019-03-25 | 2020-09-30 | Siemens Aktiengesellschaft | Verfahren zur datenkommunikation, netzwerkknoten, computerprogramm und computerlesbares medium |
US10958567B1 (en) * | 2019-03-29 | 2021-03-23 | Juniper Networks, Inc. | Controlling paths in a network via a centralized controller or network devices |
CN110061914B (zh) * | 2019-04-29 | 2022-06-21 | 新华三技术有限公司 | 一种报文转发方法及装置 |
CN110535761A (zh) * | 2019-09-30 | 2019-12-03 | 北京华三通信技术有限公司 | 报文转发方法及装置 |
US11337137B2 (en) * | 2020-02-18 | 2022-05-17 | At&T Intellectual Property I, L.P. | Selectively rerouting network traffic in a fifth generation (5G) or other next generation network |
CN113542114B (zh) * | 2020-04-20 | 2022-11-11 | 华为技术有限公司 | 路由配置方法和路由配置装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101291290A (zh) * | 2008-05-29 | 2008-10-22 | 华为技术有限公司 | 一种进行业务转发的方法及装置 |
CN101335714A (zh) * | 2008-07-18 | 2008-12-31 | 华为技术有限公司 | 一种负载分担的方法及设备或快速重路由的方法及设备 |
CN102957603A (zh) * | 2012-11-09 | 2013-03-06 | 盛科网络(苏州)有限公司 | 基于多级流表的Openflow报文转发方法及系统 |
CN103782552A (zh) * | 2013-09-03 | 2014-05-07 | 华为技术有限公司 | 一种业务路径的保护方法、控制器、设备及系统 |
WO2014139558A1 (en) * | 2013-03-12 | 2014-09-18 | Nec Europe Ltd. | A packet data network, a method for operating a packet data network and a flow-based programmable network device |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102123097B (zh) * | 2011-03-14 | 2015-05-20 | 杭州华三通信技术有限公司 | 一种路由保护方法和设备 |
US8762501B2 (en) * | 2011-08-29 | 2014-06-24 | Telefonaktiebolaget L M Ericsson (Publ) | Implementing a 3G packet core in a cloud computer with openflow data and control planes |
US9130869B2 (en) * | 2012-02-09 | 2015-09-08 | Telefonaktiebolaget L M Ericsson (Publ) | Methods of redirecting network forwarding elements and related forwarding elements and controllers |
US9544223B2 (en) | 2012-11-16 | 2017-01-10 | Nec Corporation | Communication system, control apparatus, method for controlling same, and program |
US9826067B2 (en) * | 2013-02-28 | 2017-11-21 | Texas Instruments Incorporated | Packet processing match and action unit with configurable bit allocation |
CN103716208B (zh) * | 2013-12-31 | 2017-06-30 | 北京邮电大学 | 支持大象流的网络管理方法、系统、交换机和网络 |
CN104796347A (zh) * | 2014-01-20 | 2015-07-22 | 中兴通讯股份有限公司 | 一种负载均衡方法、装置和系统 |
FI20145054L (fi) * | 2014-01-21 | 2015-07-22 | Tellabs Oy | Tiedonsiirtoverkon verkkoelementti |
US10142220B2 (en) * | 2014-04-29 | 2018-11-27 | Hewlett Packard Enterprise Development Lp | Efficient routing in software defined networks |
CN103986651B (zh) * | 2014-05-30 | 2018-03-06 | 新华三技术有限公司 | 一种软件定义网络控制器及其控制方法 |
WO2016153506A1 (en) * | 2015-03-25 | 2016-09-29 | Hewlett Packard Enterprise Development Lp | Fast failover recovery in software defined networks |
WO2017000243A1 (zh) * | 2015-06-30 | 2017-01-05 | 华为技术有限公司 | 一种路由的方法、相关设备及系统 |
-
2015
- 2015-06-30 WO PCT/CN2015/082876 patent/WO2017000243A1/zh active Application Filing
- 2015-06-30 EP EP15896774.5A patent/EP3306873B1/en active Active
- 2015-06-30 CN CN201580066873.5A patent/CN107005469B/zh active Active
- 2015-06-30 CN CN202010854879.1A patent/CN112187645B/zh active Active
-
2017
- 2017-12-29 US US15/857,748 patent/US10630592B2/en active Active
-
2020
- 2020-04-06 US US16/841,165 patent/US11509584B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101291290A (zh) * | 2008-05-29 | 2008-10-22 | 华为技术有限公司 | 一种进行业务转发的方法及装置 |
CN101335714A (zh) * | 2008-07-18 | 2008-12-31 | 华为技术有限公司 | 一种负载分担的方法及设备或快速重路由的方法及设备 |
CN102957603A (zh) * | 2012-11-09 | 2013-03-06 | 盛科网络(苏州)有限公司 | 基于多级流表的Openflow报文转发方法及系统 |
WO2014139558A1 (en) * | 2013-03-12 | 2014-09-18 | Nec Europe Ltd. | A packet data network, a method for operating a packet data network and a flow-based programmable network device |
CN103782552A (zh) * | 2013-09-03 | 2014-05-07 | 华为技术有限公司 | 一种业务路径的保护方法、控制器、设备及系统 |
Also Published As
Publication number | Publication date |
---|---|
US20180123960A1 (en) | 2018-05-03 |
US11509584B2 (en) | 2022-11-22 |
EP3306873B1 (en) | 2019-09-11 |
US10630592B2 (en) | 2020-04-21 |
EP3306873A4 (en) | 2018-05-30 |
CN112187645B (zh) | 2021-12-03 |
CN112187645A (zh) | 2021-01-05 |
US20200236054A1 (en) | 2020-07-23 |
WO2017000243A1 (zh) | 2017-01-05 |
EP3306873A1 (en) | 2018-04-11 |
CN107005469A (zh) | 2017-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107005469B (zh) | 一种路由的方法、相关设备及系统 | |
CN102347905B (zh) | 一种网络设备及其转发信息更新方法 | |
JP6278800B2 (ja) | 中継システムおよびスイッチ装置 | |
US10110397B2 (en) | Method and device for switching tunnels and switch | |
US8825844B2 (en) | Notifying network operator when virtual addresses do not match on network elements configured for interchassis redundancy | |
US9544223B2 (en) | Communication system, control apparatus, method for controlling same, and program | |
WO2010018755A1 (ja) | トランスポート制御サーバ、ネットワークシステム及びトランスポート制御方法 | |
EP2974166B1 (en) | Method and apparatus for ip/mpls fast reroute | |
JP5939353B2 (ja) | 制御装置、通信システム、スイッチ制御方法及びプログラム | |
EP2599270B1 (en) | A network device and method of routing traffic | |
CN111092813B (zh) | 一种等价多路径ecmp切换方法、网络设备及系统 | |
CN105471613B (zh) | 一种临时通道的建立方法、设备和系统 | |
CN113328916B (zh) | Bfd检测模式的切换方法、装置及设备 | |
CN102447639A (zh) | 一种策略路由方法及装置 | |
EP3637688B1 (en) | Method and device for determining link state | |
Vanamoorthy et al. | Congestion-free transient plane (CFTP) using bandwidth sharing during link failures in SDN | |
CN104717143A (zh) | 用于多归场景组播数据传输的方法及设备 | |
Thorat et al. | Pre-provisioning of local protection for handling dual-failures in openflow-based networks | |
CN101888344B (zh) | 一种实现路由泛洪的方法、装置及交换机 | |
CN117201395A (zh) | 一种故障切换实现方法、装置及转发芯片 | |
US9282065B2 (en) | Relay unit | |
CN111327537A (zh) | 流量转发方法、系统、sdn控制器及计算机可读存储介质 | |
CN113452543A (zh) | 多宿主错误配置的检测 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |