CN108696434A - 一种转发数据报文的方法、设备和系统 - Google Patents
一种转发数据报文的方法、设备和系统 Download PDFInfo
- Publication number
- CN108696434A CN108696434A CN201710233682.4A CN201710233682A CN108696434A CN 108696434 A CN108696434 A CN 108696434A CN 201710233682 A CN201710233682 A CN 201710233682A CN 108696434 A CN108696434 A CN 108696434A
- Authority
- CN
- China
- Prior art keywords
- flow table
- virtual network
- controller
- table item
- default
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
-
- 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
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
- H04L41/0668—Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0695—Management of faults, events, alarms or notifications the faulty arrangement being the maintenance, administration or management system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- 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/54—Organization of routing tables
-
- 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/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/7452—Multiple parallel or consecutive lookup operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/252—Store and forward routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种转发数据报文的方法、装置和系统,应用于控制转发分离的虚拟网络中,所述方法包括:转发设备接收来自控制器的所述虚拟网络的第一缺省流表项,所述虚拟网络的第一缺省流表项指示转发设备根据所述虚拟网络内的数据报文的匹配项查找第一流表并且没有命中流表项的情况下,将所述虚拟网络内的数据报文向指定的转发设备发送。转发设备接收来自端系统的所述虚拟网络内的第一数据报文。在控制器发生故障,并且转发设备根据所述第一数据报文的匹配项查找所述第一流表并且没有命中流表项的情况下,转发设备使用所述虚拟网络的第一缺省流表项向所述指定的转发设备发送所述第一数据报文。有助于数据报文转发不中断,提升系统的可靠性。
Description
技术领域
本发明实施例涉及通信领域,尤其涉及一种转发数据报文的方法、设备和系统。
背景技术
基于控制转发分离思想的软件定义网络(英文:Software Defined Networking,SDN)架构,是一种新型网络交换模型,其关键组件包括控制器和转发设备(例如,开放流(英文:OpenFlow)交换机)。控制器和转发设备之间通过控制通道协议进行通信,完成消息的交互和信息的传递,目前常用的控制通道协议,例如,可以包括:开放流(OpenFlow)协议、路径计算通信协议(Path Computation Element Communication Protocol,PCEP)、边界网关协议(Border Gateway Protocol,BGP)、路由系统接口(Interface to the Routing System,I2RS)等。控制器通过全网络视图来实现管控功能,为转发设备生成转发流表,转发设备根据流表来转发数据包。流表由若干个流表项构成,一个流表项主要由匹配字段(英文:matchfields)和操作指令(英文:action instructions)等部分组成。为了节省转发设备存储流表的空间,通常控制器采用拉(英文:PULL)模式、按需下发流表项到相应的转发设备。具体地,当一个转发设备从其它转发设备收到数据报文之后,获取该数据报文的匹配项(该匹配项指示了该数据报文去往的目标网络设备),并用该匹配项查找流表。如果在流表中查找不到匹配的流表项,则会将该数据报文重定向发送到控制器。该控制器收到并解析该数据报文,获取该数据报文的匹配项,并根据全网的网络拓扑图为该匹配项生成相应的流表项;然后将该流表项下发到该转发设备,以及将该数据报文重新发送给该转发设备。该转发设备根据该流表项将该数据报文向该目标网络设备转发。
但是,如果该控制器发生了故障,当该转发设备从其它转发设备收到该数据报文之后,在流表中查找不到匹配的流表项时,则无法将该数据报文重定向送达到该故障的控制器。该故障的控制器也无法为该数据报文的匹配项生成流表项,因此,该转发设备无法获得流表项,也就无法将该数据报文向该目标网络设备转发,从而造成数据流的中断、无法正常进行通信、降低了系统的可靠性。
发明内容
本发明实施例提供的转发数据报文的方法、设备和系统,解决了在采用Pull模式工作的控制转发分离架构下的虚拟网络中,当控制器故障后,转发设备无法正常转发数据报文,造成数据流的中断的问题,有助于提升系统的可靠性。
为了解决上述问题,本发明实施例第一方面提供了一种转发数据报文的方法,该方法应用于控制转发分离的虚拟网络中,所述虚拟网络包括控制器和转发设备。在所述方法中,所述转发设备接收来自所述控制器的所述虚拟网络的第一缺省流表项,所述虚拟网络的第一缺省流表项指示所述转发设备根据所述虚拟网络内的数据报文的匹配项查找第一流表并且没有命中流表项的情况下,将所述虚拟网络内的数据报文向指定的转发设备发送;所述转发设备接收来自端系统ES的所述虚拟网络内的第一数据报文;在所述控制器发生故障,并且所述转发设备根据所述第一数据报文的匹配项查找所述第一流表并且没有命中流表项的情况下,所述转发设备使用所述虚拟网络的第一缺省流表项向所述指定的转发设备发送所述第一数据报文。
通过增加所述虚拟网络的第一缺省流表项,可以使得转发设备,在控制器故障后,并且在流表中匹配接收报文的匹配项时没有命中的情况下,可以根据该第一缺省流表项将所述虚拟网络内的数据报文发送到指定的转发设备,从而使转发设备可以在上述情况下正常转发数据报文,避免了数据流中断,提升了系统的可靠性。
在一种可能的设计中,所述转发设备接收来自所述控制器的所述虚拟网络的第二缺省流表项,所述虚拟网络的第二缺省流表项指示所述转发设备根据所述虚拟网络内的数据报文的匹配项查找所述第一流表并且没有命中流表项的情况下,将所述虚拟网络内的数据报文向所述控制器发送;所述虚拟网络的第二缺省流表项的优先级高于所述虚拟网络的第一缺省流表项的优先级;在所述控制器正常工作,并且所述转发设备根据所述第一数据报文的匹配项查找所述第一流表并且没有命中流表项的情况下,所述转发设备使用优先级高的所述虚拟网络的第二缺省流表项向所述控制器发送所述第一数据报文。
通过设置所述虚拟网络的第一缺省流表项和所述虚拟网络的第二缺省流表项在同一流表中,提供了一种高效的实现方式,提高了流表项的匹配效率。通过所述第二缺省流表项,能使控制器正常工作时,转发设备将数据报文发送到控制器,实现Pull模式下按需下发流表项,从而节省转发设备的存储空间。此外,通过设置调整所述第一和二缺省流表项的优先级,还可以根据控制器正常工作、故障、故障恢复等不同的状态采用不同的匹配策略,从而提高系统的灵活性。
在一种可能的设计中,所述转发设备确定所述控制器故障的情况下,设置所述虚拟网络的第一缺省流表项的优先级高于所述虚拟网络的第二缺省流表项的优先级,以便在没有命中流表项的情况下优先使用所述虚拟网络的第一缺省流表项向所述指定的转发设备发送所述第一数据报文。
在一种可能的设计中,所述转发设备确定所述控制器故障恢复的情况下,设置所述虚拟网络的第二缺省流表项的优先级高于所述虚拟网络的第一缺省流表项的优先级,以便在没有命中流表项的情况下优先使用所述虚拟网络的第二缺省流表项向所述控制器发送所述第一数据报文。
通过预先调整虚拟网络的第一缺省流表项的优先级高于虚拟网络的第二缺省流表项,例如,在预先确认控制器故障后,灵活地调整缺省流表项的优先级,这样可以在收到报文后,直接匹配优先级高的所述第一缺省流表项,而不用等到接收到报文后,再确认控制器的状态,然后确定使用的缺省流表项,从而可以提高报文的转发效率。并在获知控制器状态更新后,例如故障恢复后,及时调整所述第二缺省流表项的优先级高于所述第一缺省流表项的优先级,直接匹配优先级高的所述第二缺省流表项,从而可以提高报文的转发效率,并且进一步保障系统的可靠性和稳定性。
在一种可能的设计中,所述转发设备确定所述控制器正常工作的情况下,设置所述虚拟网络的第一缺省流表项的优先级高于所述虚拟网络的第二缺省流表项的优先级,以便在没有命中流表项的情况下优先使用所述虚拟网络的第一缺省流表项向所述指定的转发设备发送所述第一数据报文。
在控制器正常工作的情况下,也可以根据设计要求或应用场景,通过灵活地调整所述第一缺省流表项的优先级高于所述第二缺省流表项的优先级,使得报文在没有命中匹配项的情况下,也可以灵活地被向指定的转发设备发送,增强了系统的按需设置的灵活性。
在一种可能的设计中,所述设置所述虚拟网络的第一缺省流表项的优先级高于所述虚拟网络的第二缺省流表项的优先级包括:所述转发设备修改所述虚拟网络的第一缺省流表项的优先级,使所述虚拟网络的第一缺省流表项的优先级高于所述虚拟网络的第二缺省流表项的优先级;或者所述转发设备修改所述虚拟网络的第二缺省流表项的优先级,使所述第二缺省流表项的优先级低于所述虚拟网络的第一缺省流表项的优先级。
通过调高虚拟网络的第一缺省流表项的优先级或者调低虚拟网络的第二缺省流表项的优先级,提供了一种灵活简便的设置优先级的手段,有助于快捷地实现了控制器故障后,保证该第一缺省流表项能够被选用去转发数据报文。
在一种可能的设计中,所述转发设备接收来自所述控制器的所述虚拟网络的第二缺省流表项,所述虚拟网络的第二缺省流表项指示所述转发设备根据所述虚拟网络内的数据报文的匹配项查找第二流表并且没有命中流表项时,将所述虚拟网络内的数据报文向所述控制器发送;在所述控制器正常工作,并且所述转发设备根据所述第一数据报文的匹配项查找所述第二流表并且没有命中流表项的情况下,所述转发设备使用所述虚拟网络的第二缺省流表项向所述控制器发送所述第一数据报文。
通过设置与所述虚拟网络的第一缺省流表项在不同流表中的所述虚拟网络的第二缺省流表项,提供了一种易于扩展流表的实现方式,提高了系统的可维护性。通过所述第二缺省流表项,能使控制器正常工作时,转发设备将数据报文发送到控制器,实现Pull模式下按需下发流表项,从而节省转发设备的存储空间。
在一种可能的设计中,所述转发设备接收来自所述控制器的所述虚拟网络的第三缺省流表项,所述虚拟网络的第三缺省流表项指示所述转发设备根据所述虚拟网络内的数据报文的匹配项查找第三流表并且没有命中流表项的情况下,将所述虚拟网络内的数据报文依据所述第一流表发送;在所述控制器发生故障,并且所述转发设备根据所述第一数据报文的匹配项查找所述第三流表并且没有命中流表项的情况下,所述转发设备根据所述虚拟网络的第三缺省流表项的指示依据所述第一流表发送所述第一数据报文。
通过设置与所述虚拟网络的第一缺省流表项和所述虚拟网络的第二缺省流表项在不同流表中的所述虚拟网络的第三缺省流表项,提供了一种易于扩展流表的实现方式,提高了系统的可维护性。此外,通过所述第三缺省流表项,使控制器故障时,可以根据该第三缺省流表项跳转到所述虚拟网络的第一缺省流表项进行数据报文的正常转发,避免数据流的中断。
在一种可能的设计中,所述转发设备接收来自所述控制器的所述虚拟网络的第四缺省流表项,所述虚拟网络的第四缺省流表项指示所述转发设备根据所述虚拟网络内的数据报文的匹配项查找所述第三流表并且没有命中流表项的情况下,将所述虚拟网络内的数据报文依据所述第二流表发送;所述虚拟网络的第四缺省流表项的优先级大于所述虚拟网络的第三缺省流表项的优先级;在所述控制器正常工作,并且所述转发设备根据所述第一数据报文的匹配项查找所述第三流表并且没有命中流表项的情况下,所述转发设备根据优先级高的所述虚拟网络的第四缺省流表项的指示依据所述第二流表发送所述第一数据报文。
通过设置与所述虚拟网络的第三缺省流表项在同一流表中、与所述第一和第二缺省流表项不在同一流表中的所述虚拟网络的第四缺省流表项,提供了一种便于扩展流表的实现方式,提高了系统的可维护性。通过灵活的设置所述第四缺省流表项的优先级高于所述第三缺省流表项的优先级,使得转发设备在控制器正常工作,但在流表中匹配接收报文的匹配项时没有命中的情况下,可以根据相应流表项的优先级灵活地跳转到所述第二缺省流表项去进一步向控制器发送报文,从而实现按需下发流表项、节约转发设备的存储空间。此外,通过设置调整所述第三和第四缺省流表项的优先级,还可以根据控制器正常工作、故障、故障恢复等不同的状态采用不同的匹配策略,从而提高系统的灵活性。
在一种可能的设计中,所述转发设备确定所述控制器故障的情况下,设置所述虚拟网络的第三缺省流表项的优先级高于所述虚拟网络的第四缺省流表项的优先级,以便在没有命中流表项的情况下优先根据所述虚拟网络的第三缺省流表项的指示依据所述第一流表发送所述第一数据报文。
在一种可能的设计中,所述转发设备确定所述控制器故障恢复的情况下,设置所述虚拟网络的第四缺省流表项的优先级高于所述虚拟网络的第三缺省流表项的优先级,以便在没有命中流表项的情况下优先根据所述虚拟网络的第四缺省流表项的指示依据所述第二流表发送所述第一数据报文。
通过预先调整所述虚拟网络的第三缺省流表项的优先级高于所述虚拟网络的第四缺省流表项,例如,在预先确认控制器故障后,灵活地调整缺省流表项的优先级,这样可以在收到报文后,直接匹配优先级高的所述第三缺省流表项,而不用等到接收到报文后,再确认控制器的状态,然后确定使用的缺省流表项,从而可以提高报文的转发效率。并在获知控制器状态更新后,例如故障恢复后,及时调整所述第四缺省流表项的优先级高于所述第三缺省流表项的优先级,从而可以提高报文的转发效率,并且进一步保障系统的可靠性和稳定性。
在一种可能的设计中,所述转发设备确定所述控制器正常工作的情况下,设置所述虚拟网络的第三缺省流表项的优先级高于所述虚拟网络的第四缺省流表项的优先级,以便在没有命中流表项的情况下优先根据所述虚拟网络的第三缺省流表项的指示依据所述第一流表发送所述第一数据报文。
在控制器正常工作的情况下,也可以根据设计要求或应用场景,通过调整所述第三缺省流表项的优先级高于所述第四缺省流表项的优先级,使得报文在没有命中匹配项的情况下,也可以灵活地被依据所述第一缺省流表项向指定的转发设备发送,增强了系统的按需设置的灵活性。
在一种可能的设计中,所述设置所述虚拟网络的第三缺省流表项的优先级高于所述虚拟网络的第四缺省流表项的优先级包括:所述转发设备修改所述虚拟网络的第三缺省流表项的优先级,使所述虚拟网络的第三缺省流表项的优先级高于所述虚拟网络的第四缺省流表项的优先级;或者所述转发设备修改所述虚拟网络的第四缺省流表项的优先级,使所述第四缺省流表项的优先级低于所述虚拟网络的第三缺省流表项的优先级。
通过调高虚拟网络的第三缺省流表项的优先级或者调低虚拟网络的第四缺省流表项的优先级,提供了一种灵活简便的设置优先级的手段,有助于快捷地实现了控制器故障后,保证该第三缺省流表项能够被选用,从而能够跳转到所述虚拟网络的第一缺省流表项去转发数据报文,从而保证数据流不中断。
在一种可能的设计中,所述虚拟网络的第一缺省流表项为在三层虚拟网络内指导三层转发的流表项;所述将所述虚拟网络内的数据报文向指定的转发设备发送具体为将所述三层虚拟网络内的数据报文向保存有所述三层虚拟网络内的全部或部分路由转发信息的转发设备发送。
通过设置所述三层虚拟网络的第一缺省流表项的动作为向保存有所述三层虚拟网络内的全部或部分路由转发信息的转发设备发送,提供了一种在三层虚拟网络中控制器故障后的,使数据报文转发不中断的方法,提升了三层虚拟网络转发的可靠性。
在一种可能的设计中,所述虚拟网络的第一缺省流表项为在二层虚拟网络内指导二层转发的流表项;所述将所述虚拟网络内的数据报文向指定的转发设备发送具体为将所述二层虚拟网络内的数据报文向所述二层虚拟网络内的转发设备广播发送。
通过设置所述二层虚拟网络的第一缺省流表项的动作为向所述二层虚拟网络内的转发设备广播发送,提供了一种在二层虚拟网络中控制器故障后的,使数据报文转发不中断的方法,提升了二层虚拟网络转发的可靠性。
本发明实施例第二方面提供一种发送流表项的方法,应用于控制转发分离的虚拟网络中,所述虚拟网络包括控制器和转发设备。在所述方法中,所述控制器生成所述虚拟网络的第一缺省流表项,所述虚拟网络的第一缺省流表项指示所述转发设备在所述控制器发生故障以及所述转发设备根据所述虚拟网络内的数据报文的匹配项查找流表并且没有命中流表项的情况下,将所述虚拟网络内的数据报文向指定的转发设备发送,或指示所述转发设备在所述控制器正常工作以及所述转发设备根据所述虚拟网络内的数据报文的匹配项查找流表并且没有命中流表项的情况下,将所述虚拟网络内的数据报文向所述指定的转发设备发送;所述控制器生成所述虚拟网络的第二缺省流表项,所述虚拟网络的第二缺省流表项指示所述转发设备在控制器正常工作以及所述转发设备根据所述虚拟网络内的数据报文的匹配项查找所述流表并且没有命中流表项的情况下,将所述虚拟网络内的数据报文向所述控制器;所述控制器向所述转发设备发送所述虚拟网络的第一缺省流表项和所述虚拟网络的第二缺省流表项。
通过控制器生成和下发所述虚拟网络的第一和二缺省流表项,使控制器正常工作和故障后,都能使转发设备可以正常转发数据报文,避免了数据流中断,提升了系统的可靠性。
在一种可能的设计中,所述虚拟网络的第一缺省流表项为第一流表中的表项,所述指示所述转发设备在控制器发生故障以及转发设备根据所述虚拟网络内的数据报文的匹配项查找所述流表并且没有命中流表项具体为查找所述第一流表并且没有命中流表项;所述虚拟网络的第二缺省流表项为所述第一流表中的表项,所述指示所述转发设备在控制器正常工作以及转发设备根据所述虚拟网络内的数据报文的匹配项查找所述流表并且没有命中流表项具体为查找所述第一流表并且没有命中流表项。
通过设置所述虚拟网络的第一缺省流表项和所述虚拟网络的第二缺省流表项在同一流表中,提供了一种高效的实现方式,提高了流表项的匹配效率。此外,通过设置调整所述第一和二缺省流表项的优先级,可以根据控制器正常工作、故障、故障恢复等不同的状态采用不同的匹配策略,从而提高系统的灵活性。
在一种可能的设计中,所述虚拟网络的第一缺省流表项为第一流表中的表项,所述指示所述转发设备在控制器发生故障以及转发设备根据所述虚拟网络内的数据报文的匹配项查找所述流表并且没有命中流表项具体为查找所述第一流表并且没有命中流表项;所述虚拟网络的第二缺省流表项为第二流表中的表项,所述指示所述转发设备在控制器正常工作以及转发设备根据所述虚拟网络内的数据报文的匹配项查找所述流表并且没有命中流表项具体为查找所述第二流表并且没有命中流表项。
通过设置所述虚拟网络的第一缺省流表项和所述虚拟网络的第二缺省流表项在不同的流表中,提供了一种易于扩展流表的实现方式,提高了系统的可维护性。并且在控制器正常工作和故障后,都能使转发设备可以正常转发数据报文,避免了数据流中断,提升了系统的可靠性。
在一种可能的设计中,所述控制器生成所述虚拟网络的第三缺省流表项,所述虚拟网络的第三缺省流表项指示所述转发设备在控制器发生故障以及所述转发设备根据所述虚拟网络内的数据报文的匹配项查找第三流表并且没有命中流表项的情况下,将所述虚拟网络内的数据报文依据所述第一流表发送;所述控制器向所述转发设备发送所述虚拟网络的第三缺省流表项。
通过设置与所述虚拟网络的第一缺省流表项和所述虚拟网络的第二缺省流表项在不同流表中的所述虚拟网络的第三缺省流表项,提供了一种易于扩展流表的实现方式,提高了系统的可维护性。通过所述第三缺省流表项,使控制器故障时,转发设备可以根据该第三缺省流表项跳转到所述虚拟网络的第一缺省流表项进行数据报文的正常转发,避免数据流的中断。
在一种可能的设计中,所述控制器生成所述虚拟网络的第四缺省流表项,所述虚拟网络的第四缺省流表项指示所述转发设备在控制器正常工作以及所述转发设备根据所述虚拟网络内的数据报文的匹配项查找所述第三流表并且没有命中流表项的情况下,将所述虚拟网络内的数据报文依据所述第二流表发送;所述控制器向所述转发设备发送所述虚拟网络的第四缺省流表项。
通过设置与所述虚拟网络的第三缺省流表项在同一流表、与所述第一和第二缺省流表项不在同一流表中的所述虚拟网络的第四缺省流表项,提供了一种易于扩展流表的实现方式,提高了系统的可维护性。通过设置、调整所述第三和四缺省流表项的优先级,可以根据控制器正常工作、故障、故障恢复等不同的状态采用不同的匹配策略,从而提高系统的灵活性。
在一种可能的设计中,所述虚拟网络的第一缺省流表项为在三层虚拟网络内指导三层转发的流表项;所述将所述虚拟网络内的数据报文向指定的转发设备发送具体为将所述三层虚拟网络内的数据报文向保存有所述三层虚拟网络内的全部或部分路由转发信息的转发设备发送。
通过设置所述三层虚拟网络的第一缺省流表项的动作为向保存有所述三层虚拟网络内的全部或部分路由转发信息的转发设备发送,提供了一种在三层虚拟网络中控制器故障后的,使数据报文转发不中断的方法,提升了三层虚拟网络转发的可靠性。
在一种可能的设计中,所述虚拟网络的第一缺省流表项为在二层虚拟网络内指导二层转发的表项;所述将所述虚拟网络内的数据报文向指定的转发设备发送具体为将所述二层虚拟网络内的数据报文向所述二层虚拟网络内的转发设备广播发送。
通过设置所述二层虚拟网络的第一缺省流表项的动作为向所述二层虚拟网络内的转发设备广播发送,提供了一种在二层虚拟网络中控制器故障后的,使数据报文转发不中断的方法,提升了二层虚拟网络转发的可靠性。
第三方面,本发明提供一种转发设备,所述转发设备用于执行第一方面或第一方面的任意可能的实现方式中的方法。具体地,所述转发设备包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的模块。
第四方面,本发明提供一种转发设备,所述转发设备包括:处理器、收发器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接发送器、随机存取存储器以及只读存储器。其中,当需要运行转发设备时,通过固化在只读存储器中的基本输入输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导转发设备进入正常运行状态。在转发设备进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,使得该处理器执行第一方面或第一方面的任意可能的实现方式中的方法。
第五方面,提供一种转发设备,所述转发设备包括:主控板和接口板,进一步,还可以包括交换网板。所述转发设备用于执行第二方面或第二方面的任意可能的实现方式中的方法。具体地,所述转发设备包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的模块。
第六方面,本发明提供一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第一方面或第一方面的任意可能的实现方式中的方法的指令。
第七方面,本发明提供一种控制器,所述控制器用于执行第二方面或第二方面的任意可能的实现方式中的方法。具体地,所述控制器包括用于执行第二方面或第二方面的任意可能的实现方式中的方法的模块。
第八方面,本发明提供一种控制器,所述控制器包括:处理器、收发器、随机存取存储器、只读存储器以及总线。其中,处理器通过总线分别耦接发送器、随机存取存储器以及只读存储器。其中,当需要运行控制器时,通过固化在只读存储器中的基本输入输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导控制器进入正常运行状态。在控制器进入正常运行状态后,在随机存取存储器中运行应用程序和操作系统,使得该处理器执行第二方面或第二方面的任意可能的实现方式中的方法。
第九方面,本发明提供一种计算机可读介质,用于存储计算机程序,该计算机程序包括用于执行第二方面或第二方面的任意可能的实现方式中的方法的指令。
第十方面,提供一种系统,所述系统包括第三方面至第六方面任一的转发设备和第七方面至第九方面任一的控制器。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面附图中反映的仅仅是本发明的一部分实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得本发明的其他实施方式。而所有这些实施例或实施方式都在本发明的保护范围之内。
图1是本发明实施例的一种网络示意图;
图2是本发明实施例中一种转发数据报文的方法流程交互示意图;
图3a是本发明实施例中另一种转发数据报文的方法流程交互示意图;
图3b是本发明实施例中又一种转发数据报文的方法流程交互示意图;
图4是本发明实施例中流表跳转关系的示意图;
图5a是本发明实施例中的一种转发设备的结构示意图;
图5b是本发明实施例中的另一种转发设备的结构示意图;
图5c是本发明实施例中的又一种转发设备的结构示意图;
图6a是本发明实施例中的一种控制器的结构示意图;
图6b是本发明实施例中的另一种控制器的结构示意图;
图7是本发明实施例中的一种网络系统示意图;
具体实施方式
下面将结合附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例描述的网络架构以及业务场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
云计算时代的数据中心(英文:Data Center,DC)网络向着基于控制转发分离思想的软件定义网络(英文:Software Defined Network,SDN)架构和网络虚拟化的方向演进。在基于SDN的DC网络中,控制器对DC网络中的转发设备进行集中管控,并通常采用叠加(英文:Overlay)网络技术来实现DC网络虚拟化。Overlay网络是物理网络之上的虚拟网络。
如图1所示,基于SDN架构的DC网络采用集中控制器对转发设备进行控制,接入该数据中心网络的终端类型包括但不限于虚拟机(英文:virtual machine,VM)、物理主机、物理服务器等,这些终端本文统称为端系统(英文:end system,ES)。转发设备可以为物理交换机、物理路由器,或者为嵌入在物理服务器中、基于软件虚拟化技术的虚拟交换机(英文:virtual Switch,vSwitch)、虚拟路由器(英文:virtual Router,vRouter)。图1中ES1和ES2通过转发设备1接入DC网络,ES3和ES4通过转发设备2接入DC网络,ES5和ES6通过转发设备3接入DC网络。ES1至ES6通过集中转发设备访问广域网(英语:Wide Area Network,WAN),WAN也叫外网或公网,该集中转发设备是连接DC网络与WAN的边界转发设备(或网关设备),通常交换容量、转发性能相对比接入转发设备(如转发设备1、2和3)要高。当前主流的数据中心网络虚拟化的技术框架,例如,为三层网络虚拟化(英文:Network Virtualization overLayer 3,NVo3)。NVo3是一种三层网络之上的Overlay网络技术,它基于互联网协议(英文:Internet Protocol,IP)/多协议标记交换(Multi-Protocol Label Switching,MPLS)作为传输网,在其上通过隧道连接的方式,构建大规模的二层租户网络。NVO3包括多种隧道封装实现技术,例如,常用的是虚拟扩展局域网(Virtual eXtensible Local Area Network,VXLAN)和基于通用路由封装协议的网络虚拟化(Network Virtualization over GenericRouting Encapsulation,NVGRE)。通过NVo3技术可以在数据中心的物理网络上虚拟划分出多个Overlay的虚拟网络,每个虚拟网络就是一个虚拟网络实例(英文:Virtual NetworkInstance,VNI)。虚拟网络的边缘节点为网络虚拟边缘(Network Virtualization Edge,NVE)节点,例如图1中所示的转发设备1、2、3、集中转发设备。NVE节点之间为相应的Overlay虚拟网络创建Overlay隧道(如VxLAN隧道或者NVGRE隧道)连接。接入虚拟网络的原始数据报文在NVE节点上进行隧道封装。该封装标识了解封装的转发设备(即NVE),在将封装后的数据报文发送到目的ES之前,该解封装的转发设备将对该封装后的数据报文进行解封装,得到原始数据报文。位于隧道中间的转发设备基于封装的外层报文头来转发该封装后的数据报文,不关心内部携带的原始数据帧。虚拟网络标识符(英文:Virtual NetworkIdentifier,VNID)可以封装到叠加头(即所述封装的外层报文头)中,用来标识数据帧所属的虚拟网络。因为虚拟数据中心既支持路由,也支持桥接,叠加报头内部的原始数据报文可以是带有媒体接入控制(Media Access Control,MAC)地址的以太帧(即在二层虚拟网络内转发的数据报文),或者仅仅是IP报文(即在三层虚拟网络内转发的数据报文)。值得说明的是,为了描述的简洁,二层以太网帧和三层IP报文在本申请中统称为数据报文。
虚拟网络包括三层虚拟网络和二层虚拟网络,每个三层虚拟网络内可以包括一个或多个二层虚拟网络,每个二层虚拟网络内ES之间通过二层流表(如,流表的匹配项包括MAC地址)进行互相通信(如,根据二层VNID和目的MAC地址进行查找转发),每个二层虚拟网络一般对应一个子网(英文:subnet),每个三层虚拟网络内跨子网ES之间通过三层流表(如,流表的匹配项包括IP地址)进行三层通信(如,根据三层VNID和目的IP地址进行查找转发)。不同二层虚拟网络内的ES MAC地址可以重叠,不同三层虚拟网络内的ES IP地址可以重叠。对于采用overlay隧道封装的数据中心,二或三层流表都是位于网络的边缘转发设备,网络中间的转发设备只基于封装之后的外层隧道目的IP进行转发,没有对应的转发流表。如图1所示,ES1、ES2、ES3、ES4、ES5和ES6属于同一个三层虚拟网络,其中ES1、ES3和ES5属于二层虚拟网络A,ES2、ES4和ES6属于二层虚拟网络B。
控制器上拥有整网(包括物理网络、二层虚拟网络、三层虚拟网络等)的拓扑图,转发设备上的二或三层转发流表由所述控制器根据该拓扑图集中计算生成,并通过控制通道协议进行统一下发。所述控制器可以通过Push和Pull两种模式将二或三层流表下发给所述转发设备。对于Push模式,不管所述转发设备是否需要该流表,控制器都将所有流表下发给所有转发设备。例如图1,控制器会将每个虚拟网络内的二或三层流表项下发给该虚拟网络关联的所有转发设备,比如转发设备1、2和3分别连接三层虚拟网络A、二层虚拟网络B和C,则控制器会将三层虚拟网络A的所有三层流表项、二层虚拟网络B和C内的所有二层流表项分别下发给转发设备1、2和3。对于Push模式,转发设备上需要安装大量的二或三层流表项,对转发设备流表空间要求很高,也增加了控制通道的负荷,因此很多控制器采用Pull模式进行流表项下发。
对于Pull模式,控制器是按需下发流表项到对应的转发设备。入口转发设备(如图1,转发设备1)从接入侧(如图1,ES1)收到数据报文之后,如果没有到达目的ES(如图1,ES3或ES4)的流表项,则报文会命中缺省流表项,通过缺省流表项将报文重定向到控制器。控制器解析数据报文,根据该数据报文的目的MAC地址(如图1,ES3的MAC地址)或IP地址(如图1,ES4的IP地址)获取到关联的出口转发设备(如图1,转发设备2)信息,将对应的二或三层流表项下发给该入口转发设备,然后将该数据报文再重新发送给该入口转发设备,该入口转发设备根据该新的流表项将报文转发到该出口转发设备,该出口转发设备再将该数据报文送往该目的ES。该入口转发设备上的该二或三层流表项一般会定期老化,老化之后该入口转发设备会将该流表项删除,这样后续收到的报文又重复上面的流程,即上送控制器、下发流表项、转发设备安装流表项、转发报文。
如果控制器故障,该入口转发设备收到数据报文之后,如果没有目的ES对应的流表项,则无法将该数据报文重定向送达到该故障的控制器。该故障的控制器也无法为该数据报文的匹配项生成流表项,因此,该入口转发设备无法获得流表项,也就无法将该数据报文向目的ES转发,转发流程中断,ES之间无法正常进行二或三层通信。
上面描述了本发明涉及的可能的应用场景,下面将基于此对本发明实施例进一步详细说明。
图2为本发明实施例提供的一种转发数据报文的方法流程示意图,该方法可以应用于图1所示的应用场景中。
本发明实施例提供的方案包括22-01部分、22-02部分、21-01部分、21-02部分和21-03部分,其中22-01部分和22-02部分在控制器上执行,21-01部分、21-02部分和21-03部分在转发设备上执行,下面分别说明。
在22-01部分,所述控制器生成虚拟网络的第一缺省流表项,所述虚拟网络的第一缺省流表项指示所述转发设备根据所述虚拟网络内的数据报文的匹配项查找第一流表并且没有命中流表项的情况下,将所述虚拟网络内的数据报文向指定的转发设备发送。在所述控制器发生故障时,所述虚拟网络的第一缺省流表项被转发设备使用去转发所述虚拟网络内的数据报文。
可选地,在所述控制器正常工作的情况下,所述虚拟网络的第一缺省流表项也可以被转发设备使用去转发所述虚拟网络内的数据报文。
在22-02部分,所述控制器向所述转发设备发送所述虚拟网络的第一缺省流表项。
通过控制器生成和下发所述虚拟网络的第一缺省流表项,使控制器故障后,能使转发设备可以正常转发数据报文,避免了数据流中断,提升了系统的可靠性。
可选地,所述控制器还生成并向所述转发设备发送所述虚拟网络的第二缺省流表项,所述虚拟网络的第二缺省流表项指示所述转发设备根据所述虚拟网络内的数据报文的匹配项查找流表并且没有命中流表项的情况下,将所述虚拟网络内的数据报文向所述控制器发送。在所述控制器正常工作(可以包括所述控制器首次启动后正常工作和所述控制器故障恢复后正常工作)的情况下,所述虚拟网络的第二缺省流表项被转发设备使用去转发所述虚拟网络内的数据报文。所述虚拟网络的第二缺省流表项可以是所述第一流表中的一条表项(即所述转发设备根据所述虚拟网络内的数据报文的匹配项查找流表并且没有命中流表项具体为查找所述第一流表),也可以是第二流表中的一条表项(即所述转发设备根据所述虚拟网络内的数据报文的匹配项查找流表并且没有命中流表项具体为查找所述第二流表)。
当所述虚拟网络的第二缺省流表项是所述第一流表中的一条表项时,所述虚拟网络的第一缺省流表项和所述虚拟网络的第二缺省流表项是同一流表中的两条不同的流表项。根据控制器正常或故障的状态,这两条缺省流表项分别被选中去转发数据报文。此种情况下,使用缺省表项的具体方法可以参见下文图3a部分所述。
可选地,当所述控制器故障时,通过设置、调整所述第一缺省流表项的优先级大于所述第二缺省流表项的优先级,在查表没有命中表项的情况下,可以优先选用所述虚拟网络的第一缺省流表项,向所述指定的转发设备发送数据报文。当所述控制器正常工作时,也可以根据用户的具体需要,通过设置、调整所述第一缺省流表项的优先级大于所述第二缺省流表项的优先级,在查表没有命中表项的情况下,可以优先选用所述虚拟网络的第一缺省流表项,向所述指定的转发设备发送数据报文。当所述控制器首次启动或者工作一段时间故障后、又恢复正常工作时,通过设置、调整所述第二缺省流表项的优先级大于所述第一缺省流表项的优先级,在查表没有命中表项的情况下,可以优先选用所述虚拟网络的第二缺省流表项,向所述控制器发送数据报文。
通过设置所述虚拟网络的第一缺省流表项和所述虚拟网络的第二缺省流表项在同一流表中,提供了一种高效的实现方式,提高了流表项的匹配效率。通过所述第二缺省流表项,能使控制器正常工作时,转发设备将数据报文发送到控制器,实现Pull模式下按需下发流表项,从而节省转发设备的存储空间。通过设置调整所述第一和二缺省流表项的优先级,可以根据控制器正常工作、故障、故障恢复等不同的状态采用不同的匹配策略,从而提高系统的灵活性。
当所述虚拟网络的第二缺省流表项是所述第二流表中的一条表项时,所述虚拟网络的第一缺省流表项和所述虚拟网络的第二缺省流表项分别是两个不同的流表中的流表项。
通过设置所述虚拟网络的第一缺省流表项和所述虚拟网络的第二缺省流表项在不同的流表中,提供了一种易于扩展流表的实现方式,提高了系统的可维护性。通过所述第二缺省流表项,能使控制器正常工作时,转发设备将数据报文发送到控制器,实现Pull模式下按需下发流表项,从而节省转发设备的存储空间。
此时,可选地,所述控制器还生成并向所述转发设备发送所述虚拟网络的第三缺省流表项,所述虚拟网络的第三缺省流表项指示所述转发设备根据所述虚拟网络内的数据报文的匹配项查找第三流表并且没有命中流表项的情况下,将所述虚拟网络内的数据报文依据所述第一流表发送。在控制器发生故障时,所述虚拟网络的第三缺省流表项被转发设备使用去转发所述虚拟网络内的数据报文。
通过设置与所述虚拟网络的第一缺省流表项和所述虚拟网络的第二缺省流表项在不同流表中的所述虚拟网络的第三缺省流表项,提供了一种易于扩展流表的实现方式,提高了系统的可维护性。通过所述第三缺省流表项,使控制器故障时,转发设备可以根据该第三缺省流表项跳转到所述虚拟网络的第一缺省流表项进行数据报文的正常转发,避免数据流的中断。
进一步,可选地,所述控制器还生成并向所述转发设备发送所述虚拟网络的第四缺省流表项,所述虚拟网络的第四缺省流表项指示所述转发设备根据所述虚拟网络内的数据报文的匹配项查找所述第三流表并且没有命中流表项的情况下,将所述虚拟网络内的数据报文依据所述第二流表发送。在控制器正常工作时,所述虚拟网络的第四缺省流表项被转发设备使用去转发所述虚拟网络内的数据报文。
可选地,根据所述控制器正常或故障的状态,以及用户的需要,通过灵活地设置所述第三和第四缺省流表项的优先级,来控制这四条缺省流表项分别被选中去转发数据报文。例如,当所述控制器故障时,通过设置、调整所述第三缺省流表项的优先级大于所述第四缺省流表项的优先级,在查表没有命中表项的情况下,可以优先选用所述第三、一缺省流表项,向所述指定的转发设备发送数据报文。当所述控制器正常工作时,也可以根据用户的具体需要,通过设置、调整所述第三缺省流表项的优先级大于所述第四缺省流表项的优先级,在查表没有命中表项的情况下,可以优先选用所述第三、一缺省流表项,向所述指定的转发设备发送数据报文。当所述控制器首次启动或者工作一段时间故障后、又恢复正常工作时,通过设置、调整所述第四缺省流表项的优先级大于所述第三缺省流表项的优先级,在查表没有命中表项的情况下,可以优先选用所述第四、二缺省流表项,向控制器发送数据报文。此种情况下,使用缺省表项的具体方法可以参见下文图3b部分所述。
通过设置与所述虚拟网络的第三缺省流表项在同一流表中的所述虚拟网络的第四缺省流表项,提供了一种便于维护、扩展流表的实现方式。通过设置、调整所述第三和四缺省流表项的优先级,可以根据控制器正常工作、故障、故障恢复等不同的状态采用不同的匹配策略,从而提高系统的灵活性。
可选地,所述虚拟网络的第一缺省流表项为在三层虚拟网络内指导三层转发的表项。所述将所述虚拟网络内的数据报文向指定的转发设备发送具体为将所述三层虚拟网络内的数据报文向保存有所述三层虚拟网络内的全部或部分路由转发信息的转发设备发送。相应地,所述虚拟网络的第二或三、四缺省流表项也为在三层虚拟网络内指导三层转发的表项。
通过设置所述三层虚拟网络的第一缺省流表项的动作为向保存有所述三层虚拟网络内的全部或部分路由转发信息的转发设备发送,提供了一种在三层虚拟网络中控制器故障后的,使数据报文转发不中断的方法,提升了三层虚拟网络转发的可靠性。
可选地,所述虚拟网络的第一缺省流表项为在二层虚拟网络内指导二层转发的表项。所述将所述虚拟网络内的数据报文向指定的转发设备发送具体为将所述二层虚拟网络内的数据报文向所述二层虚拟网络内的转发设备广播发送。相应地,所述虚拟网络的第二或三、四缺省流表项也为在二层虚拟网络内指导二层转发的表项。
通过设置所述二层虚拟网络的第一缺省流表项的动作为向所述二层虚拟网络内的转发设备广播发送,提供了一种在二层虚拟网络中控制器故障后的,使数据报文转发不中断的方法,提升了二层虚拟网络转发的可靠性。
在21-01部分,所述转发设备接收来自所述控制器的所述虚拟网络的第一缺省流表项,并将所述流表项保存到所述第一流表中。
可选地,所述转发设备还接收来自控制器的所述虚拟网络的第二缺省流表项,所述虚拟网络的第二缺省流表项可以被保存到所述第一流表中,是所述第一流表中的一条表项;也可以被保存到第二流表中,是所述第二流表中的一条表项。所述虚拟网络的第二缺省流表项的定义和描述与上述控制器侧22-01和22-02部分的描述一致,此处不再赘述。
当所述虚拟网络的第二缺省流表项和所述虚拟网络的第一缺省流表项都是所述第一流表中的表项时,所述虚拟网络的第二缺省流表项的优先级高于所述虚拟网络的第一缺省流表项的优先级。此种情况下,使用缺省表项的具体方法可以参见下文图3a部分所述。
通过设置所述虚拟网络的第一缺省流表项和所述虚拟网络的第二缺省流表项在同一流表中,提供了一种高效的实现方式,提高了流表项的匹配效率。通过所述第二缺省流表项,能使控制器正常工作时,转发设备将数据报文发送到控制器,实现Pull模式下按需下发流表项,从而节省转发设备的存储空间。此外,通过设置调整所述第一和二缺省流表项的优先级,还可以根据控制器正常工作、故障、故障恢复等不同的状态采用不同的匹配策略,从而提高系统的灵活性(详见下文21-03部分方式一所述)。
当所述虚拟网络的第一缺省流表项和所述虚拟网络的第二缺省流表项分别是两个不同的流表中的流表项时,所述转发设备还接收来自控制器的所述虚拟网络的第三、四缺省流表项,并将所述虚拟网络的第三、四缺省流表项保存到所述第三流表中。其中,所述虚拟网络的第四缺省流表项的优先级大于所述虚拟网络的第三缺省流表项的优先级。所述虚拟网络的第三、四缺省流表项的定义和描述与上述控制器侧22-01和22-02部分的描述一致,此处不再赘述。此种情况下,使用缺省表项的具体方法可以参见下文图3b部分所述。
通过设置与所述虚拟网络的第三缺省流表项在同一流表中、与所述第一和第二缺省流表项不在同一流表中的所述虚拟网络的第四缺省流表项,提供了一种便于扩展流表的实现方式,提高了系统的可维护性。通过灵活的设置所述第四缺省流表项的优先级高于所述第三缺省流表项的优先级,使得转发设备在控制器正常工作,但在流表中匹配接收报文的匹配项时没有命中的情况下,可以根据相应流表项的优先级灵活地跳转到所述第二缺省流表项去进一步向控制器发送报文,从而实现按需下发流表项、节约转发设备的存储空间。此外,通过设置调整所述第三和第四缺省流表项的优先级,还可以根据控制器正常工作、故障、故障恢复等不同的状态采用不同的匹配策略,从而提高系统的灵活性(详见下文21-03部分方式二所述)。
在21-02部分,所述转发设备接收来自端系统ES的所述虚拟网络内的第一数据报文。
在21-03部分,在所述控制器发生故障,并且所述转发设备根据所述第一数据报文的匹配项查找所述第一流表并且没有命中流表项的情况下,所述转发设备使用所述虚拟网络的第一缺省流表项向所述指定的转发设备发送所述第一数据报文。
可选地,当转发设备检测到控制器发生故障(例如,通过开放流(英文:OpenFlow)等协议能够感知和控制器之间的协议连接中断)时,所述转发设备可以通过设置缺省流表项的优先级来优先选择所述第一缺省流表项进行数据报文的转发。具体地,分以下两种方式描述。
方式一、当所述虚拟网络的第二缺省流表项和所述虚拟网络的第一缺省流表项都是所述第一流表中的表项时,在所述转发设备确定所述控制器故障的情况下,灵活地设置所述虚拟网络的第一缺省流表项的优先级高于所述虚拟网络的第二缺省流表项的优先级,以便优先使用所述虚拟网络的第一缺省流表项向所述指定的转发设备发送所述第一数据报文。此外,在所述转发设备确定所述控制器故障恢复的情况下,还可以灵活地设置所述虚拟网络的第二缺省流表项的优先级高于所述虚拟网络的第一缺省流表项的优先级,以便在没有命中流表项的情况下优先使用所述虚拟网络的第二缺省流表项向所述控制器发送所述第一数据报文。此种情况下,使用缺省表项的具体方法可以参见下文图3a部分所述。
通过预先调整虚拟网络的第一缺省流表项的优先级高于虚拟网络的第二缺省流表项,例如,在预先确认控制器故障后,灵活地调整缺省流表项的优先级,这样可以在收到报文后,直接匹配优先级高的所述第一缺省流表项,而不用等到接收到报文后,再确认控制器的状态,然后确定使用的缺省流表项,从而可以提高报文的转发效率。并在获知控制器状态更新后,例如故障恢复后,及时调整所述第二缺省流表项的优先级高于所述第一缺省流表项的优先级,直接匹配优先级高的所述第二缺省流表项,从而可以提高报文的转发效率,并且进一步保障系统的可靠性和稳定性。可以理解,从获知控制器状态实时性方面而言,也可以在收到报文后,查询控制器的状态,并在确认为控制器故障后,使用第一缺省流表项作为报文转发的依据。
可选地,在所述转发设备确定所述控制器正常工作的情况下,也可以根据设计要求或应用场景,灵活地设置所述虚拟网络的第一缺省流表项的优先级高于所述虚拟网络的第二缺省流表项的优先级,以便在没有命中流表项的情况下优先使用所述虚拟网络的第一缺省流表项向所述指定的转发设备发送所述第一数据报文,从而增强了系统按需设置的灵活性。
可选地,所述转发设备修改所述虚拟网络的第一缺省流表项的优先级,使所述虚拟网络的第一缺省流表项的优先级高于所述虚拟网络的第二缺省流表项的优先级。或者所述转发设备修改所述虚拟网络的第二缺省流表项的优先级,使所述第二缺省流表项的优先级低于所述虚拟网络的第一缺省流表项的优先级。
通过调高虚拟网络的第一缺省流表项的优先级或者调低虚拟网络的第二缺省流表项的优先级,提供了一种灵活简便的设置优先级的手段,有助于快捷地实现了控制器故障后,保证该第一缺省流表项能够被选用去转发数据报文。
方式二、当所述虚拟网络的第一缺省流表项和所述虚拟网络的第二缺省流表项分别是两个不同的流表中的流表项时,在所述转发设备确定所述控制器故障的情况下,灵活地设置所述虚拟网络的第三缺省流表项的优先级高于所述虚拟网络的第四缺省流表项的优先级,以便优先使用所述虚拟网络的第三缺省流表项向所述第一流表发送所述第一数据报文。此外,在所述转发设备确定所述控制器故障恢复的情况下,还可以灵活地设置所述虚拟网络的第四缺省流表项的优先级高于所述虚拟网络的第三缺省流表项的优先级,以便在没有命中流表项的情况下优先根据所述虚拟网络的第四缺省流表项的指示依据所述第二流表发送所述第一数据报文。此种方式下,使用缺省表项的具体方法可以参见下文图3b部分所述。
通过预先调整所述虚拟网络的第三缺省流表项的优先级高于所述虚拟网络的第四缺省流表项,例如,在预先确认控制器故障后,灵活地调整缺省流表项的优先级,这样可以在收到报文后,直接匹配优先级高的所述第三缺省流表项,而不用等到接收到报文后,再确认控制器的状态,然后确定使用的缺省流表项,从而可以提高报文的转发效率。并在获知控制器状态更新后,例如故障恢复后,及时调整所述第四缺省流表项的优先级高于所述第三缺省流表项的优先级,从而可以提高报文的转发效率,并且进一步保障系统的可靠性和稳定性。可以理解,从获知控制器状态实时性方面而言,也可以在收到报文后,查询控制器的状态,并在确认为控制器故障后,使用第三缺省流表项、作为报文转发的依据。
在所述转发设备确定所述控制器正常工作的情况下,也可以根据设计要求或应用场景,灵活地设置所述虚拟网络的第三缺省流表项的优先级高于所述虚拟网络的第四缺省流表项的优先级,以便在没有命中流表项的情况下优先根据所述虚拟网络的第三缺省流表项的指示依据所述第一流表发送所述第一数据报文,增强了系统的按需设置的灵活性。
可选地,所述转发设备修改所述虚拟网络的第三缺省流表项的优先级,使所述虚拟网络的第三缺省流表项的优先级高于所述虚拟网络的第四缺省流表项的优先级。或者所述转发设备修改所述虚拟网络的第四缺省流表项的优先级,使所述第四缺省流表项的优先级低于所述虚拟网络的第三缺省流表项的优先级。
通过调高虚拟网络的第三缺省流表项的优先级或者调低虚拟网络的第四缺省流表项的优先级,提供了一种灵活简便的设置优先级的手段,有助于快捷地实现了控制器故障后,保证该第三缺省流表项能够被选用,从而能够跳转到所述虚拟网络的第一缺省流表项去转发数据报文,从而保证数据流不中断。
可选地,所述虚拟网络的第一缺省流表项为在三层虚拟网络内指导三层转发的表项或者在二层虚拟网络内指导二层转发的表项。具体描述与上述控制器侧22-01和22-02部分的描述一致,此处不再赘述。
图3a是缺省流表项为同一流表中的方法的交互流程示意图(是对图2方法实施例相关部分的举例细化)。下面结合附图1的场景,对本发明的该方法实施例进行说明。如图1所示,控制器会在转发设备1、2、3上为连接的ES创建二和/或三层虚拟网络,ES1、ES2、ES3、ES4、ES5和ES6属于同一个三层虚拟网络A(其VNID=A),其中ES1、ES3和ES5属于二层虚拟网络B(其VNID=B),ES2、ES4和ES6属于二层虚拟网络C(其VNID=C)。ES1的MAC地址为MAC1,例如为E4:68:a3:fc:18:01,ES1的IP地址为IP1,例如为10.10.10.1/24。其它ES的MAC地址和IP地址如图1所示,不再赘述。转发设备1分别连接了属于二层虚拟网络B的ES1,属于二层虚拟网络C的ES2,属于三层虚拟网络A的ES1和ES2。
下面以转发设备1分别在二层虚拟网络B和三层虚拟网络A中为例,描述所述控制器与转发设备1之间的交互处理过程。
在控制器按照Pull模式工作的情况下,创建二和/或三层虚拟网络成功之后,在控制器上执行以下步骤:
3a2-01、为转发设备1生成二或三层虚拟网络的第一缺省流表项,所述二或三层虚拟网络的第一缺省流表项指示所述转发设备1根据所述二或三层虚拟网络内的数据报文的匹配项查找第一流表并且没有命中流表项时,将所述二或三层虚拟网络内的数据报文向指定的转发设备发送。
在二层虚拟网络的示例中,如果二层虚拟网络为ES1、ES3和ES5构成的二层虚拟网络B,则转发设备1的二层虚拟网络B的第一缺省流表项(例如表1所示)指示转发设备1根据所述二层虚拟网络B内的数据报文的匹配项查找第一流表并且没有命中流表项时,将所述二层虚拟网络B内的数据报文向二层虚拟网络B内的转发设备广播发送,也就是向连接ES3的转发设备2和连接ES5的转发设备3发送。
表1
在三层虚拟网络的示例中,如果三层虚拟网络为ES1、ES2、ES3、ES4、ES5和ES6构成的三层虚拟网络A,则转发设备1的三层虚拟网络A的第一缺省流表项(例如表2所示)指示转发设备1根据所述三层虚拟网络A内的数据报文的匹配项查找第一流表并且没有命中流表项时,将所述三层虚拟网络A内的数据报文向保存有所述三层虚拟网络内的全部或部分路由转发信息的转发设备发送,也就是向集中转发设备发送。例如,集中转发设备和其它的转发设备1、2和3之间运行基于以太网虚拟专用网(Ethernet Virtual Private Network,EVPN)的BGP路由协议,从而集中转发设备可以获取整个三层网络的路由转发信息。如果转发设备1、2和/或3为虚拟转发设备,只有转发功能,没有控制面的功能,控制面的功能由独立的控制器完成,则集中转发设备和控制器之间运行该BGP路由协议,来收集该转发设备1、2和/或3的路由转发信息。
表2
需要说明的是,所述虚拟网络的第一缺省流表项也可以理解为匹配项为VNID的流表项,或者匹配项为VNID和通配符的流表项。当用VNID和其它匹配项(如IP地址/MAC地址)组合查找流表无法精确命中时,则选用或命中该匹配项为VNID的流表项。该流表项可以理解为该VNID标识的虚拟网络中的缺省流表项,当该虚拟网络中的数据报文,查找流表,无法精确命中时,则选用该虚拟网络的缺省流表项进行转发。
3a2-02、发送所述二或三层虚拟网络的第一缺省流表项。
在二层虚拟网络的示例中,控制器将上述3a2-01步骤中生成的转发设备1的二层虚拟网络B的第一缺省流表项向转发设备1发送。
在三层虚拟网络的示例中,控制器将上述3a2-01步骤中生成的转发设备1的三层虚拟网络A的第一缺省流表项向转发设备1发送。
3a2-03、控制器为转发设备1生成二或三层虚拟网络的第二缺省流表项,所述二或三层虚拟网络的第二缺省流表项指示所述转发设备根据所述二或三层虚拟网络内的数据报文的匹配项查找所述第一流表并且没有命中流表项时,将所述二或三层虚拟网络内的数据报文向所述控制器发送。所述二或三层虚拟网络的第一缺省流表项的优先级低于所述二或三层虚拟网络的第二缺省流表项的优先级。
在二层虚拟网络B的示例中,转发设备1的二层虚拟网络B的第二缺省流表项(例如表3所示)指示所述转发设备1根据所述二层虚拟网络B内的数据报文的匹配项查找所述第一流表并且没有命中流表项时,将所述二层虚拟网络内的数据报文向所述控制器发送。
表3
| 流表ID | 匹配项 | 优先级 | 动作 |
| 1 | VNID=B | 高 | 将数据报文送往控制器 |
同理,在三层虚拟网络的示例中,转发设备1的三层虚拟网络A的第二缺省流表项(例如表4所示)指示所述转发设备1根据所述三层虚拟网络内的数据报文的匹配项查找所述第一流表并且没有命中流表项时,将所述三层虚拟网络内的数据报文向所述控制器发送。
表4
| 流表ID | 匹配项 | 优先级 | 动作 |
| 1 | VNID=A | 高 | 将数据报文送往控制器 |
3a2-04、发送所述二或三层虚拟网络的第二缺省流表项。
在二层虚拟网络的示例中,控制器将上述3a2-03步骤中生成的转发设备1的二层虚拟网络B的第二缺省流表项向转发设备1发送。
在三层虚拟网络的示例中,控制器将上述3a2-03步骤中生成的转发设备1的三层虚拟网络A的第二缺省流表项向转发设备1发送。
需要说明的是,控制器生成所述二或三层虚拟网络的第一缺省流表项和第二缺省流表项的先后顺序没有限定,可以先生成所述第一缺省流表项,也可以先生成所述第二缺省流表项。控制器向转发设备1下发所述第一缺省流表项和所述第二缺省流表项的顺序也没有限定,可以先下发所述第一缺省流表项,也可以先下发所述第二缺省流表项,还可以将所述第一缺省流表项和所述第二缺省流表项放在一个消息里,同时下发到所述转发设备1。
在转发设备1上执行以下步骤:
3a1-01、接收所述二或三层虚拟网络的第一缺省流表项。
3a1-02、接收所述二或三层虚拟网络的第二缺省流表项。
在二层虚拟网络的示例中,转发设备1接收所述二层虚拟网络B的第一缺省流表项和第二缺省流表项,并保存到二层流表1(如表5所示)中。
表5
此时,控制器正常工作,ES1发起到ES3的二层单播通信流程。ES1发起的去往ES3的首包(即第一个数据报文)到达转发设备1时,转发设备1用虚拟网络标识为B和目的MAC为MAC3的匹配项,查找二层流表1(如表5),且没能精确命中流表项,于是先命中了所述二层虚拟网络B的第一缺省流表项和第二缺省流表项,因为所述第二缺省流表项的优先级比所述第一缺省流表项更高,所以最终命中所述第二缺省流表项,并执行将去往ES3的数据报文向控制器发送的动作。控制器收到该去往ES3的数据报文后,为转发设备1生成虚拟网络B中的去往MAC3的二层流表项(例如表6所示)。然后将该去往MAC3的二层流表项下发到转发设备1的二层流表1中。转发设备1后续再接收到来自ES1的去往ES3的数据报文时,直接用VNID为B和目的MAC为MAC3的匹配项查找二层流表1,并精确命中该去往MAC3的二层流表项,执行相应的动作,将报文通过Overlay隧道(如VxLAN隧道)封装,向与ES3相连的转发设备2发送。
表6
在三层虚拟网络的示例中,转发设备1接收所述三层虚拟网络A的第一缺省流表项和第二缺省流表项,并保存到三层流表1(如表7所示)中。
表7
此时,控制器正常工作,ES1发起到ES4的三层单播通信流程。ES1发起的首包(即第一个数据报文)到达转发设备1时,转发设备1用虚拟网络标识为A和目的IP为IP4的匹配项,查找三层流表1(如表7),且没能精确命中流表项,于是先命中了所述三层虚拟网络A的第一缺省流表项和第二缺省流表项,因为所述第二缺省流表项的优先级比所述第一缺省流表项更高,所以最终命中所述第二缺省流表项,并执行将去往ES4的数据报文向控制器发送的动作。控制器收到该去往ES4的数据报文后,为转发设备1生成虚拟网络A中的去往IP4的三层流表项(例如表8所示)。然后将该去往IP4的三层流表项下发到转发设备1的三层流表1中。转发设备1后续再接收到来自ES1的去往ES4的数据报文时,直接用VNID为A和目的IP为IP4的匹配项查找三层流表1,并精确命中该去往IP4的三层流表项,执行相应的动作,将报文通过Overlay隧道(如VxLAN隧道)封装,向与ES4相连的转发设备2发送。
表8
需要说明的是,在上述二层或三层虚拟网络的示例中,例如,转发设备1收到来自ES1的数据报文后,先解析出该数据报文中的目的MAC地址,然后用该目的MAC与自己本机的MAC地址比较,如果比较后,发现MAC地址不同,则进入二层流表1,进行二层查找转发;如果比较后,发现MAC地址相同,则继续解析出该数据报文中的目的IP地址,用该目的IP地址与自己本机的IP地址比较,如果IP地址相同,则上送控制面进行协议解析处理,如果IP地址不同,则进入三层流表1,进行三层查找转发处理。
3a1-03、在获知所述控制器发生故障时,设置所述二或三层虚拟网络的第一缺省流表项的优先级高于所述二或三层虚拟网络的第二缺省流表项的优先级。
在二层虚拟网络的示例中,在二层流表1中,修改优先级后的所述二层虚拟网络B的第一缺省流表项和第二缺省流表项,如表9所示。
表9
在三层虚拟网络的示例中,在三层流表1中,修改优先级后的所述三层虚拟网络A的第一缺省流表项和第二缺省流表项,如表10所示。
表10
3a1-04、接收来自ES1的第一数据报文。
3a1-05、根据所述第一数据报文的匹配项查找所述第一流表并且没有命中流表项的情况下,所述转发设备使用所述二或三层虚拟网络的第一缺省流表项向所述指定的转发设备发送所述第一数据报文。
在二层虚拟网络的示例中,所述控制器发生故障时,ES1发起到ES5的二层单播通信流程。ES1发起的去往ES5的首包(即第一个数据报文)到达转发设备1时,转发设备1用虚拟网络标识为B和目的MAC为MAC5的匹配项,查找二层流表1(如表9),且没能精确命中流表项,于是命中了所述二层虚拟网络B的第一缺省流表项和第二缺省流表项,因为所述第一缺省流表项的优先级比所述第二缺省流表项更高,所以最终命中所述第一缺省流表项,并执行将去往ES5的数据报文向二层虚拟网络B内的转发设备广播发送,即向转发设备2和3广播发送。
通过设置了二层虚拟网络B的第一缺省流表项,从而避免了控制器故障时,ES1到ES5的首包无法上送到达控制器,无法生成精确匹配的二层流表项,从而造成通信中断的问题。
当转发设备1检测到所述控制器故障恢复后,设置所述二层虚拟网络B的第一缺省流表项的优先级低于所述第二缺省流表项的优先级。然后,按照上述流程,转发设备1收到ES1发起的去往ES5的数据报文,在查找二层流表1,且没能精确命中流表项的情况下,则会从这两条缺省流表项中,选择优先级高的所述第二缺省流表项,将数据报文上送所述控制器。所述控制器为其生成一条精确匹配的二层流表项,并下发给转发设备1指导后续的二层转发(具体流程与上文3a1-02步骤中控制器正常情况下生成如表6所示的流表项的流程一致,此处不再赘述)。
通过转发设备1检测到控制器故障与否,并灵活地调整所述二层虚拟网络的第一和第二缺省流表项的优先级,这样可以在收到数据报文后,直接匹配优先级高的所述第一缺省流表项,而不用等到接收到数据报文后,再确认控制器的状态,然后确定使用的缺省流表项,从而可以提高报文的转发效率。可以理解的是,从获知控制器状态实时性方面而言,也可以在收到数据报文后,查询控制器的状态,并在确认控制器故障或故障恢复后,再确定使用哪条缺省流表项进行转发。
值得说明的是,在控制器正常工作的情况下,也可以根据设计要求或应用场景,通过灵活地调整转发设备1上的所述第一缺省流表项的优先级高于所述第二缺省流表项的优先级,使得去往ES5的数据报文在没有命中匹配项的情况下,也可以灵活地被向二层虚拟网络B内的转发设备广播发送,增强了系统按需设置的灵活性。
在三层虚拟网络的示例中,控制器发生故障时,ES1发起到ES6的三层单播通信流程。ES1发起的首包(即第一个数据报文)到达转发设备1时,转发设备1用虚拟网络标识为A和目的IP为IP6的匹配项,查找三层流表1(如表10),且没能精确命中流表项,于是命中了所述三层虚拟网络A的第一缺省流表项和第二缺省流表项,因为所述第一缺省流表项的优先级比所述第二缺省流表项更高,所以最终命中所述第一缺省流表项,并执行将去往ES6的数据报文向保存有所述三层虚拟网络A内的全部或部分路由转发信息的转发设备发送,即向集中转发设备发送。
通过设置了三层虚拟网络A的第一缺省流表项,从而避免了控制器故障时,ES1到ES6的首包无法上送到达控制器,无法生成精确匹配的三层流表项,从而造成通信中断的问题。
当转发设备1检测到所述控制器故障恢复后,设置所述三层虚拟网络A的第一缺省流表项的优先级低于所述第二缺省流表项的优先级。然后,按照上述流程,转发设备1收到ES1发起的去往ES6的数据报文,在查找三层流表1,且没能精确命中流表项的情况下,则会从这两条缺省流表项中,选择优先级高的所述第二缺省流表项,将数据报文上送所述控制器。所述控制器为其生成一条精确匹配的流三层表项,并下发给转发设备1指导后续的转发(具体流程与上文3a1-02步骤中控制器正常情况下生成如表7所示的流表项的流程一致,此处不再赘述)。
通过转发设备检测到控制器故障与否,并灵活地调整所述三层虚拟网络的第一和第二缺省流表项的优先级,这样可以在收到数据报文后,直接匹配优先级高的所述第一缺省流表项,而不用等到接收到数据报文后,再确认控制器的状态,然后确定使用的缺省流表项,从而可以提高报文的转发效率。可以理解的是,从获知控制器状态实时性方面而言,也可以在收到数据报文后,查询控制器的状态,并在确认控制器故障或故障恢复后,再确定使用哪条缺省流表项进行转发。
值得说明的是,在控制器正常工作的情况下,也可以根据设计要求或应用场景,通过灵活地调整转发设备1上的所述第一缺省流表项的优先级高于所述第二缺省流表项的优先级,使得去往ES6的数据报文在没有命中匹配项的情况下,也可以灵活地被向三层虚拟网络A内的集中转发设备发送,增强了系统按需设置的灵活性
图3b是缺省流表项为不同流表中的方法的交互流程示意图(是对图2方法实施例相关部分的举例细化)。该方法实施例与图3a所述的方法实施例类似,都是通过设置了所述二层或三层虚拟网络的第一缺省流表项来实现当控制器故障时,让转发设备最终能命中该第一缺省流表项去指导转发。不同之处在于图3b所示的方法实施例中的所述二层或三层虚拟网络的第一缺省流表项与所述二层或三层虚拟网络的第二缺省流表项保存在不同的流表中。为了根据控制器的故障或正常工作状态有选择的命中所述第一缺省流表项或第二缺省流表项,该发明实施例中还包括二或三层虚拟网络的第三和四缺省流表项。该第三和四缺省流表项保存在第三流表中,如图4所示,如果控制器故障,转发设备转发查表时,使其命中该第三缺省流表项,可以执行跳转到所述第一流表的动作,从而命中所述第一缺省流表项。如果控制器正常工作,转发设备转发查表时,使其命中该第四缺省流表项,可以执行跳转到所述第二流表的动作,从而命中所述第二缺省流表项。
下面结合图3b所示的流程示意图和图1的场景,与图3a所示的实施例中类似,以转发设备1分别在二层虚拟网络B和三层虚拟网络A中为例,描述图3b所示方法的所述控制器与转发设备1之间的交互处理过程。图1所示的场景与上文图3a部分所描述的一致,请参考相应章节,此处不再赘述。
在控制器按照Pull模式工作的情况下,创建二和/或三层虚拟网络成功之后,在控制器上执行如图3b所示的3b2-01至3b2-08步骤,其中3b2-01至3b2-04步骤与上文图3a所描述的3a2-01至3a2-04步骤类似(具体细节请参考相应部分,此处不再赘述),不同之处在于图3b所示实施例中的所述二或三层虚拟网络的第二缺省流表项是第二流表中的表项,被保存在转发设备1的第二流表中。
此外,控制器还执行3b2-05至3b2-08步骤,生成并向转发设备1发送二或三层虚拟网络的第三缺省流表项和第四缺省流表项,其中该第三缺省流表项的优先级低于该第四缺省流表项的优先级。所示二或三层虚拟网络的第三和四缺省流表项的功能与所述第一和二缺省流表项的功能类似(具体细节请参考上文图2、图3a相应部分,此处不再赘述),不同之处在于:1)是第三流表中的表项;2)执行的动作不同,该第三缺省流表项指示查找该第三流表没有精确命中流表项时,将相应的数据报文依据所述第一流表发送(例如,可以为向所述第一流表跳转发送,然后查找所述第一流表进行转发);该第四缺省流表项指示查找该第三流表没有精确命中流表项时,将相应的数据报文依据所述第二流表发送(例如,可以为向所述第二流表跳转发送,然后查找所述第二流表进行转发)。
在二层虚拟网络的示例中,控制器将上述3b2-05至3b2-08步骤中生成的转发设备1的二层虚拟网络B的第三和四缺省流表项(例如表11所示)向转发设备1发送。
表11
| 流表ID | 匹配项 | 优先级 | 动作 |
| 3 | VNID=B | 低 | 将数据报文依据第一流表发送 |
| 3 | VNID=B | 高 | 将数据报文依据第二流表发送 |
在三层虚拟网络的示例中,控制器将上述3b2-05至3b2-08步骤中生成的转发设备1的三层虚拟网络A的第三和四缺省流表项(例如表12所示)向转发设备1发送。
表12
| 流表ID | 匹配项 | 优先级 | 动作 |
| 3 | VNID=A | 低 | 将数据报文依据第一流表发送 |
| 3 | VNID=A | 高 | 将数据报文依据第二流表发送 |
需要说明的是,控制器生成所述二或三层虚拟网络的第一、二、三和第四缺省流表项的先后顺序没有限定,可以以任意顺序组合先后生成。控制器向转发设备1下发所述第一、二、三和第四缺省流表项的顺序也没有限定,可以一条一条分别下发,也可以以任意条数组合到一个或多个控制通道协议消息中,以任意的先后顺序下发,此处不做限定。
在转发设备1上执行图3b所示的3b1-01至3b1-07步骤,其中3b1-01和3b1-02步骤与上文图3a所描述的3a1-01和3a1-02步骤一致(具体细节请参考相应部分,此处不再赘述),不同之处在于图3b所示实施例中的所述二或三层虚拟网络的第二缺省流表项是第二流表中的表项,被保存在转发设备1的第二流表中。
此外,可选地,转发设备1还可以执行图3b所示的3b1-03至3b2-04步骤,接收来自所述控制器发送的二或三层虚拟网络的第三缺省流表项和第四缺省流表项,其中该第三缺省流表项的优先级低于该第四缺省流表项的优先级。该二或三层虚拟网络的第三和四缺省流表项的描述与上文控制器执行的3b2-05至3b2-08步骤部分的描述一致,不再赘述。
在二层虚拟网络的示例中,当控制器正常工作时,例如,图1中ES1发起到ES3的二层单播通信流程。ES1发起的去往ES3的首包(即第一个数据报文)到达转发设备1时,转发设备1用虚拟网络标识为B和目的MAC为MAC3的匹配项,查找流表3(如表11),且没能精确命中流表项,于是先命中了所述二层虚拟网络B的第三缺省流表项和第四缺省流表项。因为所述第四缺省流表项的优先级比所述第三缺省流表项更高,所以最终命中所述第四缺省流表项,并执行将去往ES3的数据报文依据二层流表2发送(例如,可以为向二层流表2跳转发送,然后查找二层流表2进行转发)。然后,转发设备1用虚拟网络标识为B和目的MAC为MAC3的匹配项,查找二层流表2,没有精确命中匹配项,于是选用所述二层虚拟网络的第二缺省流表项,将去往ES3的数据报文向控制器发送。控制器收到该去往ES3的数据报文后,为转发设备1生成虚拟网络B中的去往MAC3的二层流表项(例如表6所示)。然后将该去往MAC3的二层流表项下发到转发设备1的二层流表3(即所述第三流表)中。转发设备1后续再接收到来自ES1的去往ES3的数据报文时,直接用VNID为B和目的MAC为MAC3的匹配项查找二层流表3,并精确命中该去往MAC3的二层流表项,执行相应的动作,将报文通过Overlay隧道(如VxLAN隧道)封装,向与ES3相连的转发设备2发送。
在三层虚拟网络的示例中,当控制器正常工作,ES1发起到ES4的三层单播通信流程。ES1发起的首包(即第一个数据报文)到达转发设备1时,转发设备1用虚拟网络标识为A和目的IP为IP4的匹配项,查找三层流表3(如表12),且没能精确命中流表项,于是先命中了所述三层虚拟网络A的第三缺省流表项和第四缺省流表项,因为所述第四缺省流表项的优先级比所述第三缺省流表项更高,所以最终命中所述第四缺省流表项,并执行将去往ES4的数据报文依据三层流表2发送(例如,可以为向三层流表2跳转发送,然后查找三层流表2进行转发)。然后,转发设备1用虚拟网络标识为A和目的IP为IP4的匹配项,查找三层流表2,没有精确命中匹配项,于是选用所述二层虚拟网络的第二缺省流表项,将去往ES4的数据报文向控制器发送。控制器收到该去往ES4的数据报文后,为转发设备1生成虚拟网络A中的去往IP4的三层流表项(例如表8所示)。然后将该去往IP4的三层流表项下发到转发设备1的三层流表3中。转发设备1后续再接收到来自ES1的去往ES4的数据报文时,直接用VNID为A和目的IP为IP4的匹配项查找三层流表3,并精确命中该去往IP4的三层流表项,执行相应的动作,将报文通过Overlay隧道(如VxLAN隧道)封装,向与ES4相连的转发设备2发送。
进一步,转发设备1还可以执行3b1-05至3b1-07步骤。这些步骤与上文图3a所描述的3a1-03至3a1-05步骤类似(具体细节请参考相应部分,此处不再赘述),不同之处在于图3b所示实施例中通过设置所述第三流表中的所述二或三层虚拟网络的第三缺省流表项的优先级高于所述第三流表中的所述二或三层虚拟网络的第四缺省流表项的优先级,从而在控制器故障时,转发设备1查表能命中该第三缺省流表项,从而跳转到所述第一流表,进一步使用第一流表中的所述二或三层虚拟网络的第一缺省流表项,将数据报文转发到指定的转发设备。
在二层虚拟网络的示例中,控制器发生故障时,例如,图1中ES1发起到ES5的二层单播通信流程。ES1发起的去往ES5的首包(即第一个数据报文)到达转发设备1时,转发设备1用虚拟网络标识为B和目的MAC为MAC5的匹配项,查找二层流表3,且没能精确命中流表项,于是先命中了所述二层虚拟网络B的第三缺省流表项和第四缺省流表项。因为此时所述第三缺省流表项的优先级比所述第四缺省流表项更高,所以最终命中所述第三缺省流表项,并执行将去往ES5的数据报文依据二层流表2发送(例如,可以为向二层流表2跳转发送,然后查找二层流表2进行转发)。然后,转发设备1用虚拟网络标识为B和目的MAC为MAC5的匹配项,查找二层流表1,没有精确命中匹配项(或者,也可以是转发设备1用虚拟网络标识为B的匹配项,查找二层流表1,精确命中所述二层虚拟网络的第一缺省流表项),于是使用所述二层虚拟网络的第一缺省流表项,并执行将去往ES5的数据报文向二层虚拟网络B内的转发设备广播发送,即向转发设备2和3广播发送。与ES5相连的转发设备3收到该数据报文后,将其发送给ES5。
通过设置了二层虚拟网络B的第一缺省流表项,从而避免了控制器故障时,ES1到ES5的首包无法上送到达控制器,无法生成精确匹配的二层流表项,从而造成通信中断的问题。
在三层虚拟网络的示例中,控制器发生故障时,ES1发起到ES6的三层单播通信流程。ES1发起的首包(即第一个数据报文)到达转发设备1时,转发设备1用虚拟网络标识为A和目的IP为IP6的匹配项,查找三层流表3,且没能精确命中流表项,于是先命中了所述三层虚拟网络A的第三缺省流表项和第四缺省流表项,因为此时所述第三缺省流表项的优先级比所述第四缺省流表项更高,所以最终命中所述第三缺省流表项,并执行将去往ES6的数据报文依据三层流表1发送(例如,可以为向三层流表1跳转发送,然后查找三层流表1进行转发)。然后,转发设备1用虚拟网络标识为A和目的IP为IP6的匹配项,查找三层流表1,没有精确命中匹配项(或者,也可以是转发设备1用虚拟网络标识为A的匹配项,查找二层流表1,精确命中所述二层虚拟网络的第一缺省流表项),于是使用所述三层虚拟网络的第一缺省流表项,将去往ES6的数据报文向保存有所述三层虚拟网络A内的全部或部分路由转发信息的转发设备发送,即向集中转发设备发送。集中转发设备收到该数据报文后,查找三层虚拟网络A的路由转发信息,通过隧道(如VxLAN隧道)向ES6发送。
通过设置了三层虚拟网络A的第一缺省流表项,从而避免了控制器故障时,ES1到ES6的首包无法上送到达控制器,无法生成精确匹配的三层流表项,从而造成通信中断的问题。
值得说明的是,在二层或三层虚拟网络中,当转发设备1检测到所述控制器故障恢复后通过灵活地调整所述第三和第四缺省表项的优先级,以便达到将数据报文上送控制器的流程与上文图3a的步骤3a1-05部分的描述类似,不同之处在于增加了流表之间的跳转,为了简洁,此处不再赘述。此外,当控制器正常工作中,根据设计要求或应用场景,灵活地调整所述第三和第四缺省表项的优先级,以便达到将数据报文向指定的转发设备发送的流程与与上文图3a的步骤3a1-05部分的描述也类似,不同之处在于增加了流表之间的跳转,为了简洁,此处不再赘述。
需要说明的是,上述图3a和图3b方法实施例中以转发设备1为例进行了描述,同样的步骤流程也适用于转发设备2和3,为了简洁,不再赘述转发设备2和3。本发明中用到的第一、二、三或四缺省流表项均是指二层虚拟网络或三层虚拟网络中的第一、二、三或四缺省流表项,有时为了描述的简洁,在上下文清晰的情况下,省略了二或三层虚拟网络的限定。
需要说明的是,本申请所说的二层流表项是匹配项里包括MAC地址的流表项,三层流表项是匹配项里包括IP地址的流表项。二层流表是指用于存放二层流表项的流表,三层流表是指用于存放三层流表项的流表。二层流表项和三层流表项可以是分别放在两个独立的流表里,例如,二层流表项放在二层流表里,三层流表项放在三层流表里;也可以是放在一个流表里,这个流表里既包括二层流表项,也包括三层流表项,此时该流表是一个二、三层流表项混合的流表,既可以称为二层流表,也可以称为三层流表。
还需要说明的是,以上是以基于控制转发分离SDN、虚拟化的数据中心网络为例进行的本发明的描述。但是并不限定本发明还可以应用到其它基于控制转发分离SDN、虚拟化的网络中,比如,基于控制转发分离SDN、虚拟化的城域/骨干网络中,本发明在该城域/骨干网络中实现的方法原理与该数据中心网络场景的实施方法类似,不同的是本发明中所述的ES还可以是二或三层转发设备,例如,用户边缘(Customer Edge,CE)设备;本发明中所述的隧道还可以是二层虚拟专用网(Layer 2Virtual Private Network,L2VPN)隧道或者三层虚拟专用网(Layer 3Virtual Private Network,L3VPN)隧道。
图5a示出了上述实施例中所涉及的转发设备的一种可能的结构示意图。转发设备500A应用于控制转发分离的虚拟网络中,所述虚拟网络包括控制器和转发设备500A,转发设备500A包括:主控板510、接口板530、交换网板520和接口板540。主控板510用于完成系统管理、设备维护、协议处理等功能。交换网板520用于完成各接口板(接口板也称为线卡或业务板)之间的数据交换。接口板530和540用于提供各种业务接口(例如,以太网接口、POS接口等),并实现数据包的转发。主控板510、接口板530和540,以及交换网板520之间通过系统总线与系统背板相连实现互通。接口板530上的中央处理器531用于对接口板进行控制管理并与主控板510上的中央处理器511进行通信。主控板510上的中央处理器511还用于与所述控制器进行通信,对所述控制器下发给转发设备500A的消息(例如,流表项信息)进行处理。
接口板530上的物理接口卡533(例如该接口卡上的端口1,通过该端口1能够与所述控制器相连)用于接收来自控制器的所述虚拟网络的第一缺省流表项(具体请参考图2和图3a相关部分的描述,此处不再赘述,例如,该第一缺省流表项被封装在OpenFlow控制通道协议的消息中)。该消息被发送到接口板530上的网络处理器532,网络处理器532查找转发表项后发现为主机路由(该消息报文头中的目的IP地址是转发设备500A的IP地址),于是通过接口板530上的中央处理器531上送到主控板510上的中央处理器511。
主控板510上的中央处理器511将来自所述控制器的所述虚拟网络的第一缺省流表项分别通过接口板530上的中央处理器531和540上的中央处理器541,将其分别存储到转发表项存储器534和544中。接口板530上的物理接口卡533(例如该接口卡上的端口2)用于接收来自ES的第一数据报文。主控板510上的中央处理器511还用于在所述控制器发生故障,并且所述转发设备根据所述第一数据报文的匹配项查找存储在转发表项存储器534中的第一流表并且没有命中流表项的情况下,确定使用所述虚拟网络的第一缺省流表项转发所述第一数据报文,并将指令下发到存储器534中的第一流表。接口板530上的网络处理器532接收到所述第一数据报文,并且根据所述第一数据报文的匹配项查找转发表项存储器534没有精确命中表项,于是命中所述虚拟网络的第一缺省流表项。网络处理器532根据所述第一缺省流表项指令物理接口卡533或543将所述第一数据报文向指定的转发设备发送。例如,如果指定的转发设备与物理接口卡533相连,则指令物理接口卡533发送所述第一数据报文;如果指定的转发设备与物理接口卡543相连,则指令所述第一数据报文通过交换网板520发送到接口板540,然后由物理接口卡543发送所述第一数据报文。
可选地,接口板530上的物理接口卡533(例如该接口卡上的端口1)还会接收来自所述控制器的所述虚拟网络的第二缺省流表项,根据所述虚拟网络的第二缺省流表项是否与所述虚拟网络的第一缺省流表项保存在同一个流表中,有以下两种可能的实现方式。
方式一为缺省流表项为同一流表中的表项的实现方式。
基于方式一,在一种可能的实现中,与上述下发第一缺省流表项类似的流程,主控板510上的中央处理器511还将来自控制器的所述虚拟网络的第二缺省流表项(具体请参考图2和图3a相关部分的描述,此处不再赘述,该第二缺省流表项为所述第一流表中的表项)分别下发存储到转发表项存储器534和544中。所述虚拟网络的第二缺省流表项的优先级高于所述虚拟网络的第一缺省流表项的优先级。主控板510上的中央处理器511还用于在所述控制器正常工作,并且所述转发设备根据所述第一数据报文的匹配项查找所述第一流表并且没有命中流表项的情况下,确定使用所述虚拟网络的第二缺省流表项转发所述第一数据报文。
基于方式一,在另一种可能的实现中,主控板510上的中央处理器511还用于在确定所述控制器故障后,设置所述虚拟网络的第一缺省流表项的优先级高于所述虚拟网络的第二缺省流表项的优先级。接口板530上的网络处理器532还用于根据所述虚拟网络的第一缺省流表项指令物理接口卡533或543发送所述第一数据报文。
方式二为缺省流表项为不同流表中的表项的实现方式。
基于方式二,在一种可能的实现中,与上述下发第一缺省流表项类似的流程,主控板510上的中央处理器511还将来自控制器的所述虚拟网络的第二缺省流表项(具体请参考图2和图3a相关部分的描述,此处不再赘述,该第二缺省流表项为所述第二流表中的表项)分别下发存储到转发表项存储器534和544中。所述虚拟网络的第二缺省流表项的优先级高于所述虚拟网络的第一缺省流表项的优先级。
基于方式二,在另一种可能的实现中,与上述下发第一缺省流表项类似的流程,接口板530上的物理接口卡533(例如该接口卡上的端口1)还会接收来自所述控制器的所述虚拟网络的第三缺省流表项(具体请参考图2和图3b相关部分的描述,此处不再赘述,所述虚拟网络的第三缺省流表为第三流表中的表项)。主控板510上的中央处理器511还将所述虚拟网络的第三缺省流表项分别下发存储到转发表项存储器534和544中。主控板510上的中央处理器511还用于在所述控制器发生故障,并且所述转发设备根据所述第一数据报文的匹配项查找所述第三流表并且没有命中流表项的情况下,确定使用所述虚拟网络的第三缺省流表项转发所述第一数据报文。
基于方式二,在又一种可能的实现中,与上述下发第一缺省流表项类似的流程,接口板530上的物理接口卡533(例如该接口卡上的端口1)还会接收来自所述控制器的所述虚拟网络的第四缺省流表项(具体请参考图2和图3b相关部分的描述,此处不再赘述,所述虚拟网络的第四缺省流表为第三流表中的表项)。主控板510上的中央处理器511还将所述虚拟网络的第四缺省流表项分别下发存储到转发表项存储器534和544中。所述虚拟网络的第四缺省流表项的优先级大于所述虚拟网络的第三缺省流表项的优先级。所述主控板510上的中央处理器511还用于在所述控制器正常工作,并且所述转发设备根据所述第一数据报文的匹配项查找所述第三流表并且没有命中流表项的情况下,确定使用所述虚拟网络的第四缺省流表项转发所述第一数据报文。
基于方式二,在再一种可能的实现中,所述主控板510上的中央处理器511还用于在确定所述控制器故障后,设置所述虚拟网络的第三缺省流表项的优先级高于所述虚拟网络的第四缺省流表项的优先级。所述网络处理器532还用于根据所述虚拟网络的第三缺省流表项指令将所述第一数据报文发送到第一流表,然后根据第一流表中的所述虚拟网络的第一缺省流表项指令物理接口卡533或543将所述第一数据报文向指定的转发设备发送。
应理解,本发明实施例中接口板540上的操作与所述接口板530的操作一致,为了简洁,不再赘述。应理解,本实施例的转发设备500A可对应于上述图1至图3b所对应的实施例中的转发设备(例如,图1中的转发设备1、2或3),该转发设备500A中的主控板510、接口板530和/或540可以实现图1至图3b所对应的实施例中的转发设备所具有的功能和/或所实施的各种步骤,为了简洁,在此不再赘述。
值得说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,转发设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,转发设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,转发设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的转发设备的数据接入和处理能力要大于集中式架构的设备。可选地,转发设备500A的形态也可以是只有一块板卡,即没有交换网板,接口板和主控板的功能集成在该一块板卡上,此时接口板上的中央处理器和主控板上的中央处理器在该一块板卡上可以合并为一个中央处理器,执行两者叠加后的功能,这种形态设备的数据交换和处理能力较低(例如,低端交换机或路由器等网络设备)。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
图5b示出了上述实施例中所涉及的转发设备的又一种可能的结构示意图。转发设备500B应用于控制转发分离的虚拟网络中,所述虚拟网络包括控制器和转发设备500B。转发设备500B包括:处理单元504B、接收单元502B和发送单元506B。
接收单元502B用于接收来自所述控制器的所述虚拟网络的第一缺省流表项(具体请参考图2至图3b相关部分的描述,此处不再赘述),所述虚拟网络的第一缺省流表项为第一流表中的表项。接收单元502B还用于接收来自端系统ES的所述虚拟网络内的第一数据报文。处理单元504B用于在所述控制器发生故障,并且所述转发设备根据所述第一数据报文的匹配项查找所述第一流表并且没有命中流表项的情况下,确定使用所述虚拟网络的第一缺省流表项转发所述第一数据报文。发送单元506B用于向所述指定的转发设备发送所述第一数据报文。转发设备500B还包括存储单元,所述存储单元用于保存所述虚拟网络的第一缺省流表项。
可选地,所述转发设备还会接收来自所述控制器的所述虚拟网络的第二缺省流表项,根据所述虚拟网络的第二缺省流表项是否与所述虚拟网络的第一缺省流表项保存在同一个流表中,有以下两种可能的实现方式。
方式一为缺省流表项为同一流表中的表项的实现方式。
基于方式一,在一种可能的实现中,所述接收单元502B还用于接收来自控制器的所述虚拟网络的第二缺省流表项(具体请参考图2和图3a相关部分的描述,此处不再赘述),该第二缺省流表项为所述第一流表中的表项。所述虚拟网络的第二缺省流表项的优先级高于所述虚拟网络的第一缺省流表项的优先级。所述处理单元504B还用于在所述控制器正常工作,并且所述转发设备根据所述第一数据报文的匹配项查找所述第一流表并且没有命中流表项的情况下,确定使用所述虚拟网络的第二缺省流表项转发所述第一数据报文。所述发送单元506B还用于向所述控制器发送所述第一数据报文。
基于方式一,在一种可能的实现中,所述处理单元504B还用于在确定所述控制器故障后,设置所述虚拟网络的第一缺省流表项的优先级高于所述虚拟网络的第二缺省流表项的优先级。
基于方式一,在一种可能的实现中,所述处理单元504B还用于在确定所述控制器故障恢复的情况下,设置所述虚拟网络的第二缺省流表项的优先级高于所述虚拟网络的第一缺省流表项的优先级,以及在没有命中流表项的情况下根据所述虚拟网络的第二缺省流表项指令所述发送单元506B发送所述第一数据报文。
基于方式一,在一种可能的实现中,所述处理单元504B还用于在确定所述控制器正常工作的情况下,设置所述虚拟网络的第一缺省流表项的优先级高于所述虚拟网络的第二缺省流表项的优先级,以及在没有命中流表项的情况下优先根据所述虚拟网络的第一缺省流表项指令所述发送单元506B发送所述第一数据报文。
基于方式一,在一种可能的实现中,所述存储单元还用于保存所述虚拟网络的第二缺省流表项。
方式二为缺省流表项为不同流表中的表项的实现方式。
基于方式二,在一种可能的实现中,所述接收单元502B还用于接收来自所述控制器的所述虚拟网络的第二缺省流表项(具体请参考图2和图3b相关部分的描述,此处不再赘述),所述虚拟网络的第二缺省流表项为第二流表中的表项。所述处理单元504B还用于在所述控制器正常工作,并且所述转发设备根据所述第一数据报文的匹配项查找所述第二流表并且没有命中流表项的情况下,确定使用所述虚拟网络的第二缺省流表项转发所述第一数据报文。所述发送单元506B还用于向所述控制器发送所述第一数据报文。
基于方式二,在一种可能的实现中,所述接收单元502B还用于接收来自所述控制器的所述虚拟网络的第三缺省流表项(具体请参考图2和图3b相关部分的描述,此处不再赘述),所述虚拟网络的第三缺省流表为第三流表中的表项。所述处理单元504B还用于在所述控制器发生故障,并且所述转发设备根据所述第一数据报文的匹配项查找所述第三流表并且没有命中流表项的情况下,确定使用所述虚拟网络的第三缺省流表项转发所述第一数据报文。所述发送单元506B还用于向所述第一流表发送所述第一数据报文。
基于方式二,在一种可能的实现中,所述接收单元502B还用于接收来自所述控制器的所述虚拟网络的第四缺省流表项(具体请参考图2和图3b相关部分的描述,此处不再赘述),所述虚拟网络的第四缺省流表项为第三流表中的表项。所述虚拟网络的第四缺省流表项的优先级大于所述虚拟网络的第三缺省流表项的优先级。所述处理单元504B还用于在所述控制器正常工作,并且所述转发设备根据所述第一数据报文的匹配项查找所述第三流表并且没有命中流表项的情况下,确定使用所述虚拟网络的第四缺省流表项转发所述第一数据报文。所述发送单元506B还用于向所述第二流表发送所述第一数据报文。
基于方式二,在一种可能的实现中,所述处理单元504B还用于在确定所述控制器故障后,设置所述虚拟网络的第三缺省流表项的优先级高于所述虚拟网络的第四缺省流表项的优先级。
基于方式二,在一种可能的实现中,所述处理单元504B还用于在确定所述控制器故障恢复的情况下,设置所述虚拟网络的第四缺省流表项的优先级高于所述虚拟网络的第三缺省流表项的优先级,以及在没有命中流表项的情况下优先根据所述虚拟网络的第四缺省流表项指令所述发送单元506B发送所述第一数据报文。
基于方式二,在一种可能的实现中,所述处理单元504B还用于在确定所述控制器正常工作的情况下,设置所述虚拟网络的第三缺省流表项的优先级高于所述虚拟网络的第四缺省流表项的优先级,以及在没有命中流表项的情况下优先根据所述虚拟网络的第三缺省流表项指令所述发送单元506B发送所述第一数据报文。
基于方式二,在一种可能的实现中,所述存储单元还用于保存所述虚拟网络的第二、三和四缺省流表项。
本发明实施例的转发设备500B可对应于上述转发数据报文的方法实施例中的转发设备,并且,该转发设备500B中的各模块和上述其他操作和/或功能分别为了实现图1至图4所对应的实施例中的转发设备所实施的各种步骤和方法,为了简洁,在此不再赘述。
图5c示出了上述实施例中所涉及的转发设备的再一种可能的结构示意图。转发设备500C包括:收发器510C、处理器520C、随机存取存储器540C、只读存储器550C以及总线560C。其中,处理器520C通过总线560C分别耦接收发器510C、随机存取存储器540C以及只读存储器550C。其中,当需要运行转发设备500C时,通过固化在只读存储器550C中的基本输入输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导转发设备500C进入正常运行状态。在转发设备500C进入正常运行状态后,在随机存取存储器540C中运行应用程序和操作系统,使得:
收发器510C用于接收来自所述控制器的所述虚拟网络的第一缺省流表项,所述虚拟网络的第一缺省流表项指示所述转发设备根据所述虚拟网络内的数据报文的匹配项查找第一流表并且没有命中流表项时,将所述虚拟网络内的数据报文向指定的转发设备发送。收发器510C还用于接收来自端系统ES的所述虚拟网络内的第一数据报文。处理器520C用于在所述控制器发生故障,并且所述转发设备根据所述第一数据报文的匹配项查找所述第一流表并且没有命中流表项的情况下,确定使用所述虚拟网络的第一缺省流表项转发所述第一数据报文。收发器510C还用于向所述指定的转发设备发送所述第一数据报文。随机存取存储器540C还用于保存所述虚拟网络的第一缺省流表项。
本发明实施例的转发设备500C可对应于上述图1至图4所对应的实施例中的转发设备,并且,该转发设备500C中的处理器520C、收发器510C等可以实现图1至图4所对应的实施例中的转发设备所具有的功能和/或所实施的各种步骤和方法。所述处理器520C用于执行图5b所述转发设备的处理单元504B的所有操作,所述收发器510C用于执行图5b所述转发设备的接收单元502B和发送单元506B的所有操作。为了简洁,在此不再赘述。
需要说明的是,本实施例也可以基于通用的物理服务器结合网络功能虚拟化(英文:Network Function Virtualization,NFV)技术实现的转发设备,所述转发设备为虚拟转发设备(如,虚拟路由器或虚拟交换机)。所述虚拟转发设备可以是运行有用于转发数据报文功能的程序的虚拟机(英文:Virtual Machine,VM),所述虚拟机部署在硬件设备上(例如,物理服务器)。虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。本领域技术人员通过阅读本申请即可结合NFV技术在通用物理服务器上虚拟出具有上述功能的多个转发设备。此处不再赘述。
图6a示出了上述实施例中所涉及的控制器600A的一种可能的结构示意图。控制器600A应用于控制转发分离的虚拟网络中,所述虚拟网络包括控制器600A和转发设备,控制器600A包括:处理单元602A和发送单元604A。
处理单元602A用于生成所述虚拟网络的第一缺省流表项,所述虚拟网络的第一缺省流表项指示所述转发设备在所述控制器600A发生故障以及所述转发设备根据所述虚拟网络内的数据报文的匹配项查找流表并且没有命中流表项的情况下,将所述虚拟网络内的数据报文向指定的转发设备发送,或指示所述转发设备在所述控制器600A正常工作以及所述转发设备根据所述虚拟网络内的数据报文的匹配项查找流表并且没有命中流表项的情况下,将所述虚拟网络内的数据报文向所述指定的转发设备发送。所述处理单元602A还用于生成所述虚拟网络的第二缺省流表项,所述虚拟网络的第二缺省流表项指示所述转发设备在控制器600A正常工作以及所述转发设备根据所述虚拟网络内的数据报文的匹配项查找所述流表并且没有命中流表项的情况下,将所述虚拟网络内的数据报文向所述控制器600A发送。发送单元604A用于向所述转发设备发送所述虚拟网络的第一缺省流表项和所述虚拟网络的第二缺省流表项。
可选地,根据所述虚拟网络的第二缺省流表项是否与所述虚拟网络的第一缺省流表项保存在同一个流表中,有以下两种可能的实现方式。
方式一为缺省流表项为同一流表中的表项的实现方式。
基于方式一,在一种可能的实现中,所述虚拟网络的第一缺省流表项为第一流表中的表项,所述指示所述转发设备在控制器600A发生故障以及转发设备根据所述虚拟网络内的数据报文的匹配项查找所述流表并且没有命中流表项具体为查找所述第一流表并且没有命中流表项。所述虚拟网络的第二缺省流表项为所述第一流表中的表项,所述指示所述转发设备在控制器600A正常工作以及转发设备根据所述虚拟网络内的数据报文的匹配项查找所述流表并且没有命中流表项具体为查找所述第一流表并且没有命中流表项。
方式二为缺省流表项为不同流表中的表项的实现方式。
基于方式二,在一种可能的实现中,所述虚拟网络的第一缺省流表项为第一流表中的表项,所述指示所述转发设备在控制器600A发生故障以及转发设备根据所述虚拟网络内的数据报文的匹配项查找所述流表并且没有命中流表项具体为查找所述第一流表并且没有命中流表项。所述虚拟网络的第二缺省流表项为第二流表中的表项,所述指示所述转发设备在控制器600A正常工作以及转发设备根据所述虚拟网络内的数据报文的匹配项查找所述流表并且没有命中流表项具体为查找所述第二流表并且没有命中流表项。
基于方式二,在另一种可能的实现中,所述处理单元602A还用于生成所述虚拟网络的第三缺省流表项(具体请参考图2和图3b相关部分的描述,此处不再赘述)。所述发送单元604A还用于向所述转发设备发送所述虚拟网络的第三缺省流表项。
基于方式二,在又一种可能的实现中,所述处理单元602A还用于生成所述虚拟网络的第四缺省流表项(具体请参考图2和图3b相关部分的描述,此处不再赘述)。所述发送单元604A还用于向所述转发设备发送所述虚拟网络的第四缺省流表项。
本发明实施例的控制器600A可以实施上述图1至图4所对应的实施例中的转发设备中的各种实施功能和的步骤,为了简洁,在此不再赘述。
图6b示出了上述实施例中所涉及的控制器600B的再一种可能的结构示意图。控制器600B包括:收发器610B、处理器620B、随机存取存储器640B、只读存储器650B以及总线660B。其中,处理器620B通过总线660B分别耦接接收器610B、随机存取存储器640B以及只读存储器650B。其中,当需要运行控制器600B时,通过固化在只读存储器650B中的基本输入输出系统或者嵌入式系统中的bootloader引导系统进行启动,引导控制器600B进入正常运行状态。在控制器600B进入正常运行状态后,在随机存取存储器640B中运行应用程序和操作系统,使得:
处理器620B用于生成所述虚拟网络的第一缺省流表项,所述虚拟网络的第一缺省流表项指示所述转发设备在所述控制器600B发生故障以及所述转发设备根据所述虚拟网络内的数据报文的匹配项查找流表并且没有命中流表项的情况下,将所述虚拟网络内的数据报文向指定的转发设备发送,或指示所述转发设备在所述控制器600B正常工作以及所述转发设备根据所述虚拟网络内的数据报文的匹配项查找流表并且没有命中流表项的情况下,将所述虚拟网络内的数据报文向所述指定的转发设备发送。处理器620B还用于生成所述虚拟网络的第二缺省流表项,所述虚拟网络的第二缺省流表项指示所述转发设备在控制器600B正常工作以及所述转发设备根据所述虚拟网络内的数据报文的匹配项查找所述流表并且没有命中流表项的情况下,将所述虚拟网络内的数据报文向所述控制器600B发送。收发器610B用于向所述转发设备发送所述虚拟网络的第一缺省流表项和所述虚拟网络的第二缺省流表项。
本发明实施例的控制器600B可对应于上述图1至图4所对应的实施例中的控制器,并且,该控制器600B中的处理器620B、收发器610B等可以实现图1至图4所对应的实施例中的控制器所具有的功能和/或所实施的各种步骤和方法。所述处理器620B用于执行图6a所述控制器的处理单元602A的所有操作,所述收发器610B用于执行图6a所述控制器的发送单元604A的所有操作。为了简洁,在此不再赘述。
需要说明的是,本实施例也可以基于通用的物理服务器结合NFV技术实现的控制器,所述控制器为虚拟控制器。所述虚拟控制器可以是运行有用于发送流表项功能的程序的虚拟机(英文:Virtual Machine,VM),所述虚拟机部署在硬件设备上(例如,物理服务器)。虚拟机指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。本领域技术人员通过阅读本申请即可结合NFV技术在通用物理服务器上虚拟出具有上述功能的多个控制器。此处不再赘述。
图7是本发明实施例提供的一种转发数据报文的系统示意图。如图7所示,系统700包括转发设备710和控制器720。转发设备710为上述图5a、5b、5c所述的任一转发设备或虚拟转发设备,控制器720为上述图6a、6b所述的任一控制器或虚拟控制器。有关系统中各设备的详细描述,请参见上述图5a-5c和图6a-6b等相关章节,此处不再赘述。
应理解,本领域技术人员在阅读本申请文件的基础上,可以针对本申请实施例中所描述的可选的特征、步骤或方法进行不需要付出创造性的组合,都属于本申请公开的实施例,只是由于描述或行文的简单没有重复赘述不同组合。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (37)
1.一种转发数据报文的方法,其特征在于,应用于控制转发分离的虚拟网络中,所述虚拟网络包括控制器和转发设备,所述方法包括:
所述转发设备接收来自所述控制器的所述虚拟网络的第一缺省流表项,所述虚拟网络的第一缺省流表项指示所述转发设备根据所述虚拟网络内的数据报文的匹配项查找第一流表并且没有命中流表项的情况下,将所述虚拟网络内的数据报文向指定的转发设备发送;
所述转发设备接收来自端系统ES的所述虚拟网络内的第一数据报文;
在所述控制器发生故障,并且所述转发设备根据所述第一数据报文的匹配项查找所述第一流表并且没有命中流表项的情况下,所述转发设备使用所述虚拟网络的第一缺省流表项向所述指定的转发设备发送所述第一数据报文。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述转发设备接收来自所述控制器的所述虚拟网络的第二缺省流表项,所述虚拟网络的第二缺省流表项指示所述转发设备根据所述虚拟网络内的数据报文的匹配项查找所述第一流表并且没有命中流表项的情况下,将所述虚拟网络内的数据报文向所述控制器发送;所述虚拟网络的第二缺省流表项的优先级高于所述虚拟网络的第一缺省流表项的优先级;
在所述控制器正常工作,并且所述转发设备根据所述第一数据报文的匹配项查找所述第一流表并且没有命中流表项的情况下,所述转发设备使用优先级高的所述虚拟网络的第二缺省流表项向所述控制器发送所述第一数据报文。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述转发设备确定所述控制器故障的情况下,设置所述虚拟网络的第一缺省流表项的优先级高于所述虚拟网络的第二缺省流表项的优先级,以便在没有命中流表项的情况下优先使用所述虚拟网络的第一缺省流表项向所述指定的转发设备发送所述第一数据报文。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述转发设备确定所述控制器正常工作的情况下,设置所述虚拟网络的第一缺省流表项的优先级高于所述虚拟网络的第二缺省流表项的优先级,以便在没有命中流表项的情况下优先使用所述虚拟网络的第一缺省流表项向所述指定的转发设备发送所述第一数据报文。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述转发设备确定所述控制器故障恢复的情况下,设置所述虚拟网络的第二缺省流表项的优先级高于所述虚拟网络的第一缺省流表项的优先级,以便在没有命中流表项的情况下优先使用所述虚拟网络的第二缺省流表项向所述控制器发送所述第一数据报文。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述转发设备接收来自所述控制器的所述虚拟网络的第二缺省流表项,所述虚拟网络的第二缺省流表项指示所述转发设备根据所述虚拟网络内的数据报文的匹配项查找第二流表并且没有命中流表项时,将所述虚拟网络内的数据报文向所述控制器发送;
在所述控制器正常工作,并且所述转发设备根据所述第一数据报文的匹配项查找所述第二流表并且没有命中流表项的情况下,所述转发设备使用所述虚拟网络的第二缺省流表项向所述控制器发送所述第一数据报文。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
所述转发设备接收来自所述控制器的所述虚拟网络的第三缺省流表项,所述虚拟网络的第三缺省流表项指示所述转发设备根据所述虚拟网络内的数据报文的匹配项查找第三流表并且没有命中流表项的情况下,将所述虚拟网络内的数据报文依据所述第一流表发送;
在所述控制器发生故障,并且所述转发设备根据所述第一数据报文的匹配项查找所述第三流表并且没有命中流表项的情况下,所述转发设备根据所述虚拟网络的第三缺省流表项的指示依据所述第一流表发送所述第一数据报文。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
所述转发设备接收来自所述控制器的所述虚拟网络的第四缺省流表项,所述虚拟网络的第四缺省流表项指示所述转发设备根据所述虚拟网络内的数据报文的匹配项查找所述第三流表并且没有命中流表项的情况下,将所述虚拟网络内的数据报文依据所述第二流表发送;所述虚拟网络的第四缺省流表项的优先级大于所述虚拟网络的第三缺省流表项的优先级;
在所述控制器正常工作,并且所述转发设备根据所述第一数据报文的匹配项查找所述第三流表并且没有命中流表项的情况下,所述转发设备根据优先级高的所述虚拟网络的第四缺省流表项的指示依据所述第二流表发送所述第一数据报文。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
所述转发设备确定所述控制器故障的情况下,设置所述虚拟网络的第三缺省流表项的优先级高于所述虚拟网络的第四缺省流表项的优先级,以便在没有命中流表项的情况下优先根据所述虚拟网络的第三缺省流表项的指示依据所述第一流表发送所述第一数据报文。
10.根据权利要求8所述的方法,其特征在于,所述方法还包括:
所述转发设备确定所述控制器正常工作的情况下,设置所述虚拟网络的第三缺省流表项的优先级高于所述虚拟网络的第四缺省流表项的优先级,以便在没有命中流表项的情况下优先根据所述虚拟网络的第三缺省流表项的指示依据所述第一流表发送所述第一数据报文。
11.根据权利要求8所述的方法,其特征在于,所述方法还包括:
所述转发设备确定所述控制器故障恢复的情况下,设置所述虚拟网络的第四缺省流表项的优先级高于所述虚拟网络的第三缺省流表项的优先级,以便在没有命中流表项的情况下优先根据所述虚拟网络的第四缺省流表项的指示依据所述第二流表发送所述第一数据报文。
12.根据权利要求1至11任一所述的方法,其特征在于,所述虚拟网络的第一缺省流表项为在三层虚拟网络内指导三层转发的流表项;
所述将所述虚拟网络内的数据报文向指定的转发设备发送具体为将所述三层虚拟网络内的数据报文向保存有所述三层虚拟网络内的全部或部分路由转发信息的转发设备发送。
13.根据权利要求1至11任一所述的方法,其特征在于,所述虚拟网络的第一缺省流表项为在二层虚拟网络内指导二层转发的流表项;
所述将所述虚拟网络内的数据报文向指定的转发设备发送具体为将所述二层虚拟网络内的数据报文向所述二层虚拟网络内的转发设备广播发送。
14.一种发送流表项的方法,其特征在于,应用于控制转发分离的虚拟网络中,所述虚拟网络包括控制器和转发设备,所述方法包括:
所述控制器生成所述虚拟网络的第一缺省流表项,所述虚拟网络的第一缺省流表项指示所述转发设备在所述控制器发生故障以及所述转发设备根据所述虚拟网络内的数据报文的匹配项查找流表并且没有命中流表项的情况下,将所述虚拟网络内的数据报文向指定的转发设备发送,或指示所述转发设备在所述控制器正常工作以及所述转发设备根据所述虚拟网络内的数据报文的匹配项查找流表并且没有命中流表项的情况下,将所述虚拟网络内的数据报文向所述指定的转发设备发送;
所述控制器生成所述虚拟网络的第二缺省流表项,所述虚拟网络的第二缺省流表项指示所述转发设备在控制器正常工作以及所述转发设备根据所述虚拟网络内的数据报文的匹配项查找所述流表并且没有命中流表项的情况下,将所述虚拟网络内的数据报文向所述控制器发送;
所述控制器向所述转发设备发送所述虚拟网络的第一缺省流表项和所述虚拟网络的第二缺省流表项。
15.根据权利要求14所述的方法,其特征在于,
所述虚拟网络的第一缺省流表项为第一流表中的表项,所述指示所述转发设备在控制器发生故障以及转发设备根据所述虚拟网络内的数据报文的匹配项查找所述流表并且没有命中流表项具体为查找所述第一流表并且没有命中流表项;
所述虚拟网络的第二缺省流表项为所述第一流表中的表项,所述指示所述转发设备在控制器正常工作以及转发设备根据所述虚拟网络内的数据报文的匹配项查找所述流表并且没有命中流表项具体为查找所述第一流表并且没有命中流表项。
16.根据权利要求14所述的方法,其特征在于,
所述虚拟网络的第一缺省流表项为第一流表中的表项,所述指示所述转发设备在控制器发生故障以及转发设备根据所述虚拟网络内的数据报文的匹配项查找所述流表并且没有命中流表项具体为查找所述第一流表并且没有命中流表项;
所述虚拟网络的第二缺省流表项为第二流表中的表项,所述指示所述转发设备在控制器正常工作以及转发设备根据所述虚拟网络内的数据报文的匹配项查找所述流表并且没有命中流表项具体为查找所述第二流表并且没有命中流表项。
17.根据权利要求16所述的方法,其特征在于,所述方法还包括:
所述控制器生成所述虚拟网络的第三缺省流表项,所述虚拟网络的第三缺省流表项指示所述转发设备在控制器发生故障以及所述转发设备根据所述虚拟网络内的数据报文的匹配项查找第三流表并且没有命中流表项的情况下,将所述虚拟网络内的数据报文依据所述第一流表发送;
所述控制器向所述转发设备发送所述虚拟网络的第三缺省流表项。
18.根据权利要求17所述的方法,其特征在于,所述方法还包括:
所述控制器生成所述虚拟网络的第四缺省流表项,所述虚拟网络的第四缺省流表项指示所述转发设备在控制器正常工作以及所述转发设备根据所述虚拟网络内的数据报文的匹配项查找所述第三流表并且没有命中流表项的情况下,将所述虚拟网络内的数据报文依据所述第二流表发送;
所述控制器向所述转发设备发送所述虚拟网络的第四缺省流表项。
19.一种转发设备,其特征在于,应用于控制转发分离的虚拟网络中,所述虚拟网络包括控制器和所述转发设备,所述转发设备包括:
接收单元,用于接收来自所述控制器的所述虚拟网络的第一缺省流表项,所述虚拟网络的第一缺省流表项指示所述转发设备根据所述虚拟网络内的数据报文的匹配项查找第一流表并且没有命中流表项的情况下,将所述虚拟网络内的数据报文向指定的转发设备发送;
所述接收单元,还用于接收来自端系统ES的所述虚拟网络内的第一数据报文;
处理单元,用于在所述控制器发生故障,并且所述转发设备根据所述第一数据报文的匹配项查找所述第一流表并且没有命中流表项的情况下,确定使用所述虚拟网络的第一缺省流表项转发所述第一数据报文;
发送单元,用于向所述指定的转发设备发送所述第一数据报文。
20.根据权利要求19所述的转发设备,其特征在于,所述转发设备还包括:
所述接收单元,还用于接收来自控制器的所述虚拟网络的第二缺省流表项,所述虚拟网络的第二缺省流表项指示所述转发设备根据所述虚拟网络内的数据报文的匹配项查找所述第一流表并且没有命中流表项的情况下,将所述虚拟网络内的数据报文向所述控制器发送;所述虚拟网络的第二缺省流表项的优先级高于所述虚拟网络的第一缺省流表项的优先级;
所述处理单元,还用于在所述控制器正常工作,并且所述转发设备根据所述第一数据报文的匹配项查找所述第一流表并且没有命中流表项的情况下,确定使用优先级高的所述虚拟网络的第二缺省流表项转发所述第一数据报文;
所述发送单元,还用于向所述控制器发送所述第一数据报文。
21.根据权利要求20所述的转发设备,其特征在于,
所述处理单元,还用于在确定所述控制器故障的情况下,设置所述虚拟网络的第一缺省流表项的优先级高于所述虚拟网络的第二缺省流表项的优先级。
22.根据权利要求20所述的转发设备,其特征在于,
所述处理单元,还用于在确定所述控制器正常工作的情况下,设置所述虚拟网络的第一缺省流表项的优先级高于所述虚拟网络的第二缺省流表项的优先级,以及在没有命中流表项的情况下优先根据所述虚拟网络的第一缺省流表项指令所述发送单元发送所述第一数据报文。
23.根据权利要求20所述的转发设备,其特征在于,
所述处理单元,还用于在确定所述控制器故障恢复的情况下,设置所述虚拟网络的第二缺省流表项的优先级高于所述虚拟网络的第一缺省流表项的优先级,以及在没有命中流表项的情况下根据所述虚拟网络的第二缺省流表项指令所述发送单元发送所述第一数据报文。
24.根据权利要求19所述的转发设备,其特征在于,
所述接收单元,还用于接收来自所述控制器的所述虚拟网络的第二缺省流表项,所述虚拟网络的第二缺省流表项指示所述转发设备根据所述虚拟网络内的数据报文的匹配项查找第二流表并且没有命中流表项的情况下,将所述虚拟网络内的数据报文向所述控制器发送;
所述处理单元,还用于在所述控制器正常工作,并且所述转发设备根据所述第一数据报文的匹配项查找所述第二流表并且没有命中流表项的情况下,确定使用所述虚拟网络的第二缺省流表项转发所述第一数据报文;
所述发送单元,还用于向所述控制器发送所述第一数据报文。
25.根据权利要求24所述的转发设备,其特征在于,
所述接收单元,还用于接收来自所述控制器的所述虚拟网络的第三缺省流表项,所述虚拟网络的第三缺省流表项指示所述转发设备根据所述虚拟网络内的数据报文的匹配项查找第三流表并且没有命中流表项的情况下,将所述虚拟网络内的数据报文依据所述第一流表发送;
所述处理单元,还用于在所述控制器发生故障,并且所述转发设备根据所述第一数据报文的匹配项查找所述第三流表并且没有命中流表项的情况下,根据所述虚拟网络的第三缺省流表项的指示确定将所述第一流表作为转发所述第一数据报文的依据;
所述发送单元,还用于依据所述处理单元的确定结果发送所述第一数据报文。
26.根据权利要求25所述的转发设备,其特征在于,
所述接收单元,还用于接收来自所述控制器的所述虚拟网络的第四缺省流表项,所述虚拟网络的第四缺省流表项指示所述转发设备根据所述虚拟网络内的数据报文的匹配项查找所述第三流表并且没有命中流表项的情况下,将所述虚拟网络内的数据报文向所述第二流表发送;所述虚拟网络的第四缺省流表项的优先级大于所述虚拟网络的第三缺省流表项的优先级;
所述处理单元,还用于在所述控制器正常工作,并且所述转发设备根据所述第一数据报文的匹配项查找所述第三流表并且没有命中流表项的情况下,根据所述虚拟网络的第四缺省流表项的指示确定将所述第二流表作为转发所述第一数据报文的依据;
所述发送单元,还用于依据所述处理单元的确定结果发送所述第一数据报文。
27.根据权利要求26所述的转发设备,其特征在于,
所述处理单元,还用于在确定所述控制器故障的情况下,设置所述虚拟网络的第三缺省流表项的优先级高于所述虚拟网络的第四缺省流表项的优先级。
28.根据权利要求26所述的转发设备,其特征在于,
所述处理单元,还用于在确定所述控制器正常工作的情况下,设置所述虚拟网络的第三缺省流表项的优先级高于所述虚拟网络的第四缺省流表项的优先级,以及在没有命中流表项的情况下优先根据所述虚拟网络的第三缺省流表项指令所述发送单元发送所述第一数据报文。
29.根据权利要求26所述的转发设备,其特征在于,
所述处理单元,还用于在确定所述控制器故障恢复的情况下,设置所述虚拟网络的第四缺省流表项的优先级高于所述虚拟网络的第三缺省流表项的优先级,以及在没有命中流表项的情况下优先根据所述虚拟网络的第四缺省流表项指令所述发送单元发送所述第一数据报文。
30.一种控制器,其特征在于,应用于控制转发分离的虚拟网络中,所述虚拟网络包括控制器和转发设备,所述控制器包括:
处理单元,用于生成所述虚拟网络的第一缺省流表项,所述虚拟网络的第一缺省流表项指示所述转发设备在所述控制器发生故障以及所述转发设备根据所述虚拟网络内的数据报文的匹配项查找流表并且没有命中流表项的情况下,将所述虚拟网络内的数据报文向指定的转发设备发送,或指示所述转发设备在所述控制器正常工作以及所述转发设备根据所述虚拟网络内的数据报文的匹配项查找流表并且没有命中流表项的情况下,将所述虚拟网络内的数据报文向所述指定的转发设备发送;
所述处理单元,还用于生成所述虚拟网络的第二缺省流表项,所述虚拟网络的第二缺省流表项指示所述转发设备在控制器正常工作以及所述转发设备根据所述虚拟网络内的数据报文的匹配项查找所述流表并且没有命中流表项的情况下,将所述虚拟网络内的数据报文向所述控制器发送;
发送单元,用于向所述转发设备发送所述虚拟网络的第一缺省流表项和所述虚拟网络的第二缺省流表项。
31.根据权利要求30所述的控制器,其特征在于,
所述虚拟网络的第一缺省流表项为第一流表中的表项,所述指示所述转发设备在控制器发生故障以及转发设备根据所述虚拟网络内的数据报文的匹配项查找所述流表并且没有命中流表项具体为查找所述第一流表并且没有命中流表项;
所述虚拟网络的第二缺省流表项为所述第一流表中的表项,所述指示所述转发设备在控制器正常工作以及转发设备根据所述虚拟网络内的数据报文的匹配项查找所述流表并且没有命中流表项具体为查找所述第一流表并且没有命中流表项。
32.根据权利要求30所述的控制器,其特征在于,
所述虚拟网络的第一缺省流表项为第一流表中的表项,所述指示所述转发设备在控制器发生故障以及转发设备根据所述虚拟网络内的数据报文的匹配项查找所述流表并且没有命中流表项具体为查找所述第一流表并且没有命中流表项;
所述虚拟网络的第二缺省流表项为第二流表中的表项,所述指示所述转发设备在控制器正常工作以及转发设备根据所述虚拟网络内的数据报文的匹配项查找所述流表并且没有命中流表项具体为查找所述第二流表并且没有命中流表项。
33.根据权利要求32所述的控制器,其特征在于,
所述处理单元,还用于生成所述虚拟网络的第三缺省流表项,所述虚拟网络的第三缺省流表项指示所述转发设备在控制器发生故障以及所述转发设备根据所述虚拟网络内的数据报文的匹配项查找第三流表并且没有命中流表项的情况下,将所述虚拟网络内的数据报文依据所述第一流表发送;
所述发送单元,还用于向所述转发设备发送所述虚拟网络的第三缺省流表项。
34.根据权利要求33所述的控制器,其特征在于,
所述处理单元,还用于生成所述虚拟网络的第四缺省流表项,所述虚拟网络的第四缺省流表项指示所述转发设备在控制器正常工作以及所述转发设备根据所述虚拟网络内的数据报文的匹配项查找所述第三流表并且没有命中流表项的情况下,将所述虚拟网络内的数据报文依据所述第二流表发送;
所述发送单元,还用于向所述转发设备发送所述虚拟网络的第四缺省流表项。
35.一种转发设备,其特征在于,应用于控制转发分离的虚拟网络中,所述虚拟网络包括控制器和所述转发设备,所述转发设备包括:
收发器,用于接收来自所述控制器的所述虚拟网络的第一缺省流表项,所述虚拟网络的第一缺省流表项指示所述转发设备根据所述虚拟网络内的数据报文的匹配项查找第一流表并且没有命中流表项的情况下,将所述虚拟网络内的数据报文向指定的转发设备发送;
所述收发器,还用于接收来自端系统ES的所述虚拟网络内的第一数据报文;
处理器,用于在所述控制器发生故障,并且所述转发设备根据所述第一数据报文的匹配项查找所述第一流表并且没有命中流表项的情况下,确定使用所述虚拟网络的第一缺省流表项转发所述第一数据报文;
所述收发器,还用于向所述指定的转发设备发送所述第一数据报文。
36.一种控制器,其特征在于,应用于控制转发分离的虚拟网络中,所述虚拟网络包括控制器和转发设备,所述控制器包括:
处理器,用于生成所述虚拟网络的第一缺省流表项,所述虚拟网络的第一缺省流表项指示所述转发设备在所述控制器发生故障以及所述转发设备根据所述虚拟网络内的数据报文的匹配项查找流表并且没有命中流表项的情况下,将所述虚拟网络内的数据报文向指定的转发设备发送,或指示所述转发设备在所述控制器正常工作以及所述转发设备根据所述虚拟网络内的数据报文的匹配项查找流表并且没有命中流表项的情况下,将所述虚拟网络内的数据报文向所述指定的转发设备发送;
所述处理器,还用于生成所述虚拟网络的第二缺省流表项,所述虚拟网络的第二缺省流表项指示所述转发设备在控制器正常工作以及所述转发设备根据所述虚拟网络内的数据报文的匹配项查找所述流表并且没有命中流表项的情况下,将所述虚拟网络内的数据报文向所述控制器发送;
收发器,用于向所述转发设备发送所述虚拟网络的第一缺省流表项和所述虚拟网络的第二缺省流表项。
37.一种转发数据报文的系统,其特征在于,所述系统包括如权利要求19至29任一所述的转发设备和如权利要求30至34任一所述的控制器;或者所述系统包括如权利要求35所述的转发设备和如权利要求36所述的控制器。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201710233682.4A CN108696434B (zh) | 2017-04-11 | 2017-04-11 | 一种转发数据报文的方法、设备和系统 |
| EP18784557.3A EP3588876B1 (en) | 2017-04-11 | 2018-04-10 | Method, device and system for forwarding data messages |
| PCT/CN2018/082435 WO2018188569A1 (zh) | 2017-04-11 | 2018-04-10 | 一种转发数据报文的方法、设备和系统 |
| US16/598,506 US11146488B2 (en) | 2017-04-11 | 2019-10-10 | Data packet forwarding method, device, and system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201710233682.4A CN108696434B (zh) | 2017-04-11 | 2017-04-11 | 一种转发数据报文的方法、设备和系统 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN108696434A true CN108696434A (zh) | 2018-10-23 |
| CN108696434B CN108696434B (zh) | 2022-01-14 |
Family
ID=63793115
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201710233682.4A Active CN108696434B (zh) | 2017-04-11 | 2017-04-11 | 一种转发数据报文的方法、设备和系统 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US11146488B2 (zh) |
| EP (1) | EP3588876B1 (zh) |
| CN (1) | CN108696434B (zh) |
| WO (1) | WO2018188569A1 (zh) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112615914A (zh) * | 2020-12-10 | 2021-04-06 | 中通服咨询设计研究院有限公司 | 一种利用边界网关协议传递组播热备表项的方法 |
| CN113037599A (zh) * | 2019-12-24 | 2021-06-25 | 中兴通讯股份有限公司 | 一种报文处理的方法、设备及存储介质 |
| CN113079030A (zh) * | 2020-05-29 | 2021-07-06 | 新华三信息安全技术有限公司 | 配置信息下发方法和接入设备 |
| CN113347100A (zh) * | 2021-05-31 | 2021-09-03 | 平安科技(深圳)有限公司 | 数据流传输方法、装置、计算机设备及存储介质 |
| CN115134315A (zh) * | 2022-09-01 | 2022-09-30 | 珠海星云智联科技有限公司 | 报文转发方法及相关装置 |
| CN115225708A (zh) * | 2022-07-28 | 2022-10-21 | 天翼云科技有限公司 | 一种报文转发方法计算机设备及存储介质 |
Families Citing this family (52)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10749711B2 (en) | 2013-07-10 | 2020-08-18 | Nicira, Inc. | Network-link method useful for a last-mile connectivity in an edge-gateway multipath system |
| US10454714B2 (en) | 2013-07-10 | 2019-10-22 | Nicira, Inc. | Method and system of overlay flow control |
| US10135789B2 (en) | 2015-04-13 | 2018-11-20 | Nicira, Inc. | Method and system of establishing a virtual private network in a cloud service for branch networking |
| US10498652B2 (en) | 2015-04-13 | 2019-12-03 | Nicira, Inc. | Method and system of application-aware routing with crowdsourcing |
| US11706127B2 (en) | 2017-01-31 | 2023-07-18 | Vmware, Inc. | High performance software-defined core network |
| US20200036624A1 (en) | 2017-01-31 | 2020-01-30 | The Mode Group | High performance software-defined core network |
| US20180219765A1 (en) | 2017-01-31 | 2018-08-02 | Waltz Networks | Method and Apparatus for Network Traffic Control Optimization |
| US10992568B2 (en) | 2017-01-31 | 2021-04-27 | Vmware, Inc. | High performance software-defined core network |
| US10778528B2 (en) | 2017-02-11 | 2020-09-15 | Nicira, Inc. | Method and system of connecting to a multipath hub in a cluster |
| US10523539B2 (en) | 2017-06-22 | 2019-12-31 | Nicira, Inc. | Method and system of resiliency in cloud-delivered SD-WAN |
| US10999100B2 (en) | 2017-10-02 | 2021-05-04 | Vmware, Inc. | Identifying multiple nodes in a virtual network defined over a set of public clouds to connect to an external SAAS provider |
| US10841131B2 (en) | 2017-10-02 | 2020-11-17 | Vmware, Inc. | Distributed WAN security gateway |
| US11115480B2 (en) | 2017-10-02 | 2021-09-07 | Vmware, Inc. | Layer four optimization for a virtual network defined over public cloud |
| US11223514B2 (en) | 2017-11-09 | 2022-01-11 | Nicira, Inc. | Method and system of a dynamic high-availability mode based on current wide area network connectivity |
| US11171885B2 (en) | 2019-08-27 | 2021-11-09 | Vmware, Inc. | Providing recommendations for implementing virtual networks |
| US11611507B2 (en) | 2019-10-28 | 2023-03-21 | Vmware, Inc. | Managing forwarding elements at edge nodes connected to a virtual network |
| US11489783B2 (en) | 2019-12-12 | 2022-11-01 | Vmware, Inc. | Performing deep packet inspection in a software defined wide area network |
| US11418997B2 (en) | 2020-01-24 | 2022-08-16 | Vmware, Inc. | Using heart beats to monitor operational state of service classes of a QoS aware network link |
| US11689455B2 (en) | 2020-05-28 | 2023-06-27 | Oracle International Corporation | Loop prevention in virtual layer 2 networks |
| US11245641B2 (en) | 2020-07-02 | 2022-02-08 | Vmware, Inc. | Methods and apparatus for application aware hub clustering techniques for a hyper scale SD-WAN |
| US11876708B2 (en) | 2020-07-14 | 2024-01-16 | Oracle International Corporation | Interface-based ACLs in a layer-2 network |
| US11363124B2 (en) | 2020-07-30 | 2022-06-14 | Vmware, Inc. | Zero copy socket splicing |
| US11575600B2 (en) | 2020-11-24 | 2023-02-07 | Vmware, Inc. | Tunnel-less SD-WAN |
| US11929903B2 (en) | 2020-12-29 | 2024-03-12 | VMware LLC | Emulating packet flows to assess network links for SD-WAN |
| US11909636B2 (en) | 2020-12-30 | 2024-02-20 | Oracle International Corporation | Layer-2 networking using access control lists in a virtualized cloud environment |
| EP4272379B1 (en) | 2020-12-30 | 2024-10-02 | Oracle International Corporation | Layer-2 networking using access control lists in a virtualized cloud environment |
| US12218845B2 (en) | 2021-01-18 | 2025-02-04 | VMware LLC | Network-aware load balancing |
| CN116783874A (zh) | 2021-01-18 | 2023-09-19 | Vm维尔股份有限公司 | 网络感知的负载平衡 |
| US11979325B2 (en) | 2021-01-28 | 2024-05-07 | VMware LLC | Dynamic SD-WAN hub cluster scaling with machine learning |
| US11671355B2 (en) | 2021-02-05 | 2023-06-06 | Oracle International Corporation | Packet flow control in a header of a packet |
| US11777897B2 (en) | 2021-02-13 | 2023-10-03 | Oracle International Corporation | Cloud infrastructure resources for connecting a service provider private network to a customer private network |
| WO2022173552A1 (en) | 2021-02-13 | 2022-08-18 | Oracle International Corporation | Cloud infrastructure resources for connecting a service provider private network to a customer private network |
| US11616849B2 (en) * | 2021-02-15 | 2023-03-28 | Lilac Cloud, Inc. | Distributed split edge application architecture |
| US12368676B2 (en) | 2021-04-29 | 2025-07-22 | VMware LLC | Methods for micro-segmentation in SD-WAN for virtual networks |
| US11637768B2 (en) | 2021-05-03 | 2023-04-25 | Vmware, Inc. | On demand routing mesh for routing packets through SD-WAN edge forwarding nodes in an SD-WAN |
| US12009987B2 (en) | 2021-05-03 | 2024-06-11 | VMware LLC | Methods to support dynamic transit paths through hub clustering across branches in SD-WAN |
| US11729065B2 (en) | 2021-05-06 | 2023-08-15 | Vmware, Inc. | Methods for application defined virtual network service among multiple transport in SD-WAN |
| US12250114B2 (en) | 2021-06-18 | 2025-03-11 | VMware LLC | Method and apparatus for deploying tenant deployable elements across public clouds based on harvested performance metrics of sub-types of resource elements in the public clouds |
| US12015536B2 (en) | 2021-06-18 | 2024-06-18 | VMware LLC | Method and apparatus for deploying tenant deployable elements across public clouds based on harvested performance metrics of types of resource elements in the public clouds |
| US12047282B2 (en) | 2021-07-22 | 2024-07-23 | VMware LLC | Methods for smart bandwidth aggregation based dynamic overlay selection among preferred exits in SD-WAN |
| US12267364B2 (en) | 2021-07-24 | 2025-04-01 | VMware LLC | Network management services in a virtual network |
| US11943146B2 (en) | 2021-10-01 | 2024-03-26 | VMware LLC | Traffic prioritization in SD-WAN |
| US12184557B2 (en) | 2022-01-04 | 2024-12-31 | VMware LLC | Explicit congestion notification in a virtual environment |
| US12425395B2 (en) | 2022-01-15 | 2025-09-23 | VMware LLC | Method and system of securely adding an edge device operating in a public network to an SD-WAN |
| US11909815B2 (en) | 2022-06-06 | 2024-02-20 | VMware LLC | Routing based on geolocation costs |
| US12166661B2 (en) | 2022-07-18 | 2024-12-10 | VMware LLC | DNS-based GSLB-aware SD-WAN for low latency SaaS applications |
| US12316524B2 (en) | 2022-07-20 | 2025-05-27 | VMware LLC | Modifying an SD-wan based on flow metrics |
| US12034587B1 (en) | 2023-03-27 | 2024-07-09 | VMware LLC | Identifying and remediating anomalies in a self-healing network |
| US12425332B2 (en) | 2023-03-27 | 2025-09-23 | VMware LLC | Remediating anomalies in a self-healing network |
| US12057993B1 (en) | 2023-03-27 | 2024-08-06 | VMware LLC | Identifying and remediating anomalies in a self-healing network |
| US12261777B2 (en) | 2023-08-16 | 2025-03-25 | VMware LLC | Forwarding packets in multi-regional large scale deployments with distributed gateways |
| US12355655B2 (en) | 2023-08-16 | 2025-07-08 | VMware LLC | Forwarding packets in multi-regional large scale deployments with distributed gateways |
Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102685006A (zh) * | 2012-05-03 | 2012-09-19 | 中兴通讯股份有限公司 | 一种转发数据报文的方法及装置 |
| CN103259725A (zh) * | 2012-02-21 | 2013-08-21 | 华为技术有限公司 | 报文发送方法和网络设备 |
| CN103916314A (zh) * | 2013-12-26 | 2014-07-09 | 杭州华为数字技术有限公司 | 报文转发控制方法和相关装置及物理主机 |
| WO2015165399A1 (en) * | 2014-04-30 | 2015-11-05 | Hangzhou H3C Technologies Co., Ltd. | Setting sdn flow entries |
| CN105959217A (zh) * | 2016-06-06 | 2016-09-21 | 北京邮电大学 | 一种sdn移动自组网的数据处理方法及装置 |
| CN106101297A (zh) * | 2016-06-02 | 2016-11-09 | 杭州华三通信技术有限公司 | 一种报文应答方法及装置 |
| CN106231003A (zh) * | 2016-07-28 | 2016-12-14 | 杭州华三通信技术有限公司 | 一种地址分配方法及装置 |
| CN106302265A (zh) * | 2016-07-21 | 2017-01-04 | 杭州华三通信技术有限公司 | 报文转发方法及装置 |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6862622B2 (en) * | 1998-07-10 | 2005-03-01 | Van Drebbel Mariner Llc | Transmission control protocol/internet protocol (TCP/IP) packet-centric wireless point to multi-point (PTMP) transmission system architecture |
| US8416796B2 (en) * | 2011-05-06 | 2013-04-09 | Big Switch Networks, Inc. | Systems and methods for managing virtual switches |
| US9071529B2 (en) * | 2012-10-08 | 2015-06-30 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for accelerating forwarding in software-defined networks |
| US9548920B2 (en) * | 2012-10-15 | 2017-01-17 | Cisco Technology, Inc. | System and method for efficient use of flow table space in a network environment |
| US9197569B2 (en) * | 2013-12-06 | 2015-11-24 | Algoblu Holdings Limited | Hierarchical control in software-defined network (SDN) |
| CN104320340A (zh) * | 2014-10-21 | 2015-01-28 | 杭州华三通信技术有限公司 | 软件定义网络中学习源mac地址的方法和装置 |
| US10623308B2 (en) * | 2017-02-17 | 2020-04-14 | Dell Products L.P. | Flow routing system |
-
2017
- 2017-04-11 CN CN201710233682.4A patent/CN108696434B/zh active Active
-
2018
- 2018-04-10 WO PCT/CN2018/082435 patent/WO2018188569A1/zh not_active Ceased
- 2018-04-10 EP EP18784557.3A patent/EP3588876B1/en active Active
-
2019
- 2019-10-10 US US16/598,506 patent/US11146488B2/en active Active
Patent Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103259725A (zh) * | 2012-02-21 | 2013-08-21 | 华为技术有限公司 | 报文发送方法和网络设备 |
| CN102685006A (zh) * | 2012-05-03 | 2012-09-19 | 中兴通讯股份有限公司 | 一种转发数据报文的方法及装置 |
| CN103916314A (zh) * | 2013-12-26 | 2014-07-09 | 杭州华为数字技术有限公司 | 报文转发控制方法和相关装置及物理主机 |
| WO2015165399A1 (en) * | 2014-04-30 | 2015-11-05 | Hangzhou H3C Technologies Co., Ltd. | Setting sdn flow entries |
| CN106101297A (zh) * | 2016-06-02 | 2016-11-09 | 杭州华三通信技术有限公司 | 一种报文应答方法及装置 |
| CN105959217A (zh) * | 2016-06-06 | 2016-09-21 | 北京邮电大学 | 一种sdn移动自组网的数据处理方法及装置 |
| CN106302265A (zh) * | 2016-07-21 | 2017-01-04 | 杭州华三通信技术有限公司 | 报文转发方法及装置 |
| CN106231003A (zh) * | 2016-07-28 | 2016-12-14 | 杭州华三通信技术有限公司 | 一种地址分配方法及装置 |
Non-Patent Citations (2)
| Title |
|---|
| 晏思宇等: "基于OVS的SDN移动自组网络架构设计及实现", 《无线电通信技术》 * |
| 毛健彪等: "PiBuffer:面向数据中心的OpenFlow流缓存管理模型", 《计算机学报》 * |
Cited By (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113037599A (zh) * | 2019-12-24 | 2021-06-25 | 中兴通讯股份有限公司 | 一种报文处理的方法、设备及存储介质 |
| WO2021129754A1 (zh) * | 2019-12-24 | 2021-07-01 | 中兴通讯股份有限公司 | 一种报文处理的方法、设备及存储介质 |
| CN113079030A (zh) * | 2020-05-29 | 2021-07-06 | 新华三信息安全技术有限公司 | 配置信息下发方法和接入设备 |
| CN113079030B (zh) * | 2020-05-29 | 2022-05-24 | 新华三信息安全技术有限公司 | 配置信息下发方法和接入设备 |
| CN112615914A (zh) * | 2020-12-10 | 2021-04-06 | 中通服咨询设计研究院有限公司 | 一种利用边界网关协议传递组播热备表项的方法 |
| CN112615914B (zh) * | 2020-12-10 | 2022-07-05 | 中国电信股份有限公司江苏分公司 | 一种利用边界网关协议传递组播热备表项的方法 |
| CN113347100A (zh) * | 2021-05-31 | 2021-09-03 | 平安科技(深圳)有限公司 | 数据流传输方法、装置、计算机设备及存储介质 |
| CN113347100B (zh) * | 2021-05-31 | 2022-06-17 | 平安科技(深圳)有限公司 | 数据流传输方法、装置、计算机设备及存储介质 |
| CN115225708A (zh) * | 2022-07-28 | 2022-10-21 | 天翼云科技有限公司 | 一种报文转发方法计算机设备及存储介质 |
| CN115225708B (zh) * | 2022-07-28 | 2023-08-08 | 天翼云科技有限公司 | 一种报文转发方法计算机设备及存储介质 |
| CN115134315A (zh) * | 2022-09-01 | 2022-09-30 | 珠海星云智联科技有限公司 | 报文转发方法及相关装置 |
| CN115134315B (zh) * | 2022-09-01 | 2022-12-02 | 珠海星云智联科技有限公司 | 报文转发方法及相关装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20200044969A1 (en) | 2020-02-06 |
| EP3588876B1 (en) | 2023-04-05 |
| EP3588876A1 (en) | 2020-01-01 |
| WO2018188569A1 (zh) | 2018-10-18 |
| US11146488B2 (en) | 2021-10-12 |
| CN108696434B (zh) | 2022-01-14 |
| EP3588876A4 (en) | 2020-02-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN108696434A (zh) | 一种转发数据报文的方法、设备和系统 | |
| US10819563B2 (en) | Recovering from virtual port channel peer failure | |
| US10333836B2 (en) | Convergence for EVPN multi-homed networks | |
| US10116559B2 (en) | Operations, administration and management (OAM) in overlay data center environments | |
| US10320664B2 (en) | Cloud overlay for operations administration and management | |
| US10237179B2 (en) | Systems and methods of inter data center out-bound traffic management | |
| TW202031021A (zh) | 具有分解式網路元件的邏輯路由器 | |
| EP3041179A1 (en) | A method and apparatus for use in network management | |
| US11108683B2 (en) | Techniques for preferred path local switching in EVPN-VPWS | |
| CN103414626A (zh) | 基于网络虚拟化的报文处理方法及装置 | |
| CN107666442B (zh) | 一种基于软件定义网络sdn的虚拟网络控制方法和装置 | |
| CN111654441A (zh) | 伪线负载分担的方法和设备 | |
| EP4401364A1 (en) | Reducing convergence time and/or avoiding split-brain in multi-homed ethernet segment deployments, such as esi-lag deployments | |
| CN110391961A (zh) | 一种隧道绑定方法、设备及系统 | |
| US20160366070A1 (en) | Techniques to restore multicast data plane from persistent storage | |
| EP4325777A1 (en) | Method and device for electing designated forwarder (df) | |
| CN101984604A (zh) | 线性保护组隧道复用方法和隧道尾节点 | |
| US20250274993A1 (en) | Access tunnel redundancy for wireless client devices across fabric edges | |
| JP2017195438A (ja) | 通信管理方法、通信管理プログラムおよび情報処理装置 |
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 |