CN104468358A - 分布式虚拟交换机系统的报文转发方法及设备 - Google Patents
分布式虚拟交换机系统的报文转发方法及设备 Download PDFInfo
- Publication number
- CN104468358A CN104468358A CN201310470421.6A CN201310470421A CN104468358A CN 104468358 A CN104468358 A CN 104468358A CN 201310470421 A CN201310470421 A CN 201310470421A CN 104468358 A CN104468358 A CN 104468358A
- Authority
- CN
- China
- Prior art keywords
- message
- switch
- port
- list item
- aggregation group
- 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
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种分布式虚拟交换机系统的报文转发方法及设备,该方法包括:在OF交换机被创建后,创建与该OF交换机对应的聚合组,将该OF交换机上连接物理交换机的至少两个uplink口添加到该聚合组中;接收OF交换机转发的上行报文,其中,上行报文是OF交换机通过连接VM的一dvport口接收到的;确定与该OF交换机对应的聚合组,根据上行报文的报文头中的相关信息并使用与该聚合组对应的聚合算法,选择该聚合组中的一个uplink口作为上行报文的出端口;生成用于指导上行报文转发的流表表项并保存到本地流表中,其中,生成的流表表项的执行动作中包括:通过该出端口转发上行报文;将生成的流表表项和上行报文发送给发来上行报文的OF交换机。
Description
技术领域
本申请涉及虚拟化技术领域,特别涉及一种分布式虚拟交换机系统的报文转发方法及设备。
背景技术
随着数据中心业务日益增加,用户需求不断提高,数据中心的规模和功能日趋复杂,管理难度也越来越高。在这种情况下,整合数据中心、降低数据中心的管理成本,充分挖掘现有资源能力以适应更高的业务需求,成为企业数据中心的重要任务。对数据中心资源进行虚拟化,成为目前数据中心整合的重要趋势。
虚拟化技术通过对物理资源和提供的服务进行抽象化,让资源使用者和系统管理者不关心对象的物节,从而降低资源使用和管理的复杂度,提高使用效率。因而,对数据中心的虚拟化能够提高数据中心的资源利用率(如CPU(Center Processing Unit,中央控制器)利用率、存储容量等),降低系统的能耗,并减少系统的设计、运行、管理和维护成本,从而实现整合的目标。
数据中心的虚拟化技术主要包括三个方面:网络虚拟化、存储虚拟化和服务器虚拟化,最主要的是服务器虚拟化。通过专用的虚拟化软件(如VMware)管理,一台物理服务器能虚拟出多台VM(Virtual Machine,虚拟机),每个VM独立运行,互不影响,都有自己的操作系统和应用程序和虚拟的硬件环境,包括:虚拟CPU、内存、存储设备、IO(Input Output,输入输出)设备、虚拟交换机等。
OpenFlow(OF,开放流)是一种新型的网络交换技术,它使传统的二层和三层交换机具备了细粒度流转发能力,即传统的基于MAC(Media Access Control,媒体访问控制)的网包转发以及基于IP(Internet Protocol,因特网协议)的路由转发,被拓展到了基于多域网包包头描述的流转发。同时,传统的控制层面从转发设备中剥离出来,所有转发行为的决策从交换机自身“迁移”到了某个外部的控制器上,该控制器支持OpenFlow,又称为OpenFlow控制器。
每一个OF交换机(Switch)都有一张流表(Flow Table),用于进行包查找和转发。OpenFlow交换机可以通过OpenFlow协议经一个安全通道(Secure Channel)连接到外部的OpenFlow控制器(controller),对流表进行查找和管理,如图1所示。
流表中包括:包头域(header fields),活动计数器(counters),0个或多个执行行动(actions)。在接收到一个数据包之后,根据该数据包的包头中的多个域的值,在流表中查找匹配表项,如果查找到了匹配表项,则按照该匹配表项中的执行行动对该数据包进行相应处理,否则,通过安全通道将该数据包转发到控制器,由控制器来决策该数据包的执行行动。按照执行行动可以将数据包转发到一个或者多个接口。
包头中包括12个域,具体为:进入接口,Ethernet(以太网)源地址、Ethernet目标地址、类型、VLAN(Virtual Local Area Network,虚拟局域网)ID(标识)、VLAN优先级、IP源地址、IP目标地址、协议、IP ToS(Type of Service,服务类型)位、TCP(Transmission Control Protocol,传输控制协议)/UDP(User Datagram Protocol,用户数据报协议)目标端口、TCP/UDP源端口。每一个域的值可以是一个确定值或者所有值(any),更准确的匹配可以通过掩码实现。
计数器可以针对每张表、每个流、每个端口、每个队列来维护。计数器用来统计流量的一些信息,例如活动表项、查找次数、发送包数等。
流表中的每一个表项对应于0个或者多个执行行动,如果一个表项中没有执行行动,则默认为丢弃。多个执行行动的执行需要依照优先级顺序依次进行。另外,OF交换机可以对不支持的执行行动返回错误(unspported flow error)。
在传统交换机的以太网聚合技术中,当交换机接收到报文时,会根据报文的入端口、出端口、VLAN等信息在MAC转发表中查找匹配表项。对于出端口为聚合链路的报文,需要根据报文的源MAC地址、目的MAC地址、源IP地址、和/或目的IP地址等调用聚合算法,计算出报文的实际出端口,然后才将报文从该出端口转发出去。
这样,每一次接收到报文时,都需要调用聚合算法计算出端口,影响了报文转发效率。
发明内容
本申请提供了一种分布式虚拟交换机系统的报文转发方法及设备,以解决现有技术中存在的报文转发效率较低的问题。
本申请的技术方案如下:
一方面,提供了一种分布式虚拟交换机系统的报文转发方法,分布式虚拟交换机系统中包括:控制器和多个服务器,服务器上设置有虚拟的OF交换机和VM,VM通过OF交换机连接至外部的物理交换机,OF交换机与物理交换机之间的至少两条链路聚合,该方法应用于控制器,该方法包括:
在OF交换机被创建后,创建与该OF交换机对应的聚合组,将该OF交换机上连接物理交换机的至少两个uplink口添加到该聚合组中;
接收OF交换机转发的上行报文,其中,上行报文是OF交换机通过连接VM的一dvport口接收到的;
确定与该OF交换机对应的聚合组,根据上行报文的报文头中的相关信息并使用与该聚合组对应的聚合算法,选择该聚合组中的一个uplink口作为上行报文的出端口,其中,相关信息包括以下至少之一:源MAC地址、目的MAC地址、源IP地址、目的IP地址;
生成用于指导上行报文转发的流表表项并保存到本地流表中,其中,生成的流表表项的执行动作中包括:通过该出端口转发上行报文;
将生成的流表表项和上行报文发送给发来上行报文的OF交换机。
另一方面,还提供了一种分布式虚拟交换机系统的控制器,分布式虚拟交换机系统中包括:控制器和多个服务器,服务器上设置有虚拟的OF交换机和VM,VM通过OF交换机连接至外部的物理交换机,OF交换机与物理交换机之间的至少两条链路聚合,控制器包括:
创建添加模块,用于在OF交换机被创建后,创建与该OF交换机对应的聚合组,将该OF交换机上连接物理交换机的至少两个uplink口添加到该聚合组中;
接收模块,用于接收OF交换机转发的上行报文,其中,上行报文是OF交换机通过连接VM的一dvport口接收到的;
聚合处理模块,用于确定与该OF交换机对应的聚合组,根据上行报文的报文头中的相关信息并使用与该聚合组对应的聚合算法,选择该聚合组中的一个uplink口作为上行报文的出端口,其中,相关信息包括以下至少之一:源MAC地址、目的MAC地址、源IP地址、目的IP地址;
表项生成模块,用于生成用于指导接收模块接收到的上行报文转发的流表表项并保存到本地流表中;其中,生成的流表表项的执行动作中包括:通过聚合处理模块选择的出端口转发该上行报文;
发送模块,用于将表项生成模块生成的流表表项和接收模块接收到的上行报文发送给发来上行报文的OF交换机。
通过本申请的以上技术方案,控制器在OF交换机被创建后,会创建与该OF交换机对应的聚合组,并将该OF交换机上连接物理交换机的多个uplink口添加到该聚合组中,这样,在接收到OF交换机发来的该OF交换机通过一dvport口接收到的上行报文后,控制器就可以根据该上行报文的报文头中的相关信息并使用该OF交换机对应的聚合组所对应的聚合算法,选择该聚合组中的一个uplink口作为该上行报文的出端口,进而根据该出端口生成指导该上行报文转发的流表表项。上述技术方案在基于OpenFlow的分布式虚拟交换机系统中实现了支持链路聚合功能的报文转发,并且,控制器在针对一种数据流的首包使用聚合算法计算出出端口并生成流表表项发给OF交换机后,该数据流的后续报文无需再使用聚合算法计算出端口,提高了报文转发效率。
附图说明
图1是OpenFlow协议中的流表管理示意图;
图2是本申请实施例中的分布式虚拟交换机系统的架构示意图;
图3是本申请实施例中的OF交换机的接口示意图;
图4是本申请实施例一的分布式虚拟交换机系统的报文转发方法的流程图;
图5是本申请实施例二的分布式虚拟交换机系统的实际组网示意图;
图6是本申请实施例三的分布式虚拟交换机系统中的控制器的结构示意图;
图7是本申请实施例四的分布式虚拟交换机系统的架构示意图。
具体实施方式
为了解决现有技术中存在的报文转发效率较低的问题,本申请以下实施例中提供了一种分布式虚拟交换机系统的报文转发方法,以及一种可以应用该方法的控制器。
如图2所示,本申请以下实施例的分布式虚拟交换机系统中包括:全局统一的控制器和多个服务器,服务器上设置有虚拟的OF交换机和VM,VM通过OF交换机连接至外部的物理交换机(即ToR或边缘交换机)。控制器利用OpenFlow协议统一控制所有OpenFlow交换机,形成一个分布式虚拟交换机系统。
其中,一个OF交换机只与一个物理交换机相连,但一个物理交换机可以与多个OF交换机相连,一个OF交换机与其连接的物理交换机之间有至少两条(在图2中仅示出了3条)链路,这至少两个链路通过链路聚合(Link Aggregation,LA)技术聚合成了一条逻辑链路。
OF交换机上有两类接口,一类为上行接口,称为uplink口,另一类为下行接口,称为dvport口,其中,uplink口与物理交换机相连,而dvport口与VM的虚拟网卡接口相连,如图3所示。
基于此,OF交换机接收的报文可为:OF交换机通过任一dvport口接收VM发出的报文,称为上行报文,或者,OF交换机通过连接物理交换机的任一uplink口接收的报文,称为下行报文。
实施例一
本申请实施例一的分布式虚拟交换机系统的报文转发方法由控制器来执行。如图4所示,该方法包括以下步骤:
步骤S402,在OF交换机被创建后,创建与该OF交换机对应的聚合组,将该OF交换机上连接物理交换机的至少两个uplink口添加到该聚合组中;
在该步骤S402中,创建与该OF交换机对应的聚合组,将该OF交换机上连接物理交换机的至少两个uplink口添加到该聚合组中的方法包括以下两个方面的内容:
(1)OF交换机创建过程
步骤11:VMM Center(虚拟机管理软件)执行添加主机(即服务器)操作之后,通知该服务器创建一个OF交换机;
步骤12:该服务器接收到该通知之后,在本服务器中创建一个OF交换机,并为该OF交换机分配一个交换机标识(Identity,ID);
步骤13:该OF交换机使用OF协议向控制器发送交换机添加消息,其中,该交换机添加消息中携带有该OF交换机的交换机ID;
步骤14:控制器接收到该交换机添加消息后,为该OF交换机创建一个聚合组,并为该聚合组分配一个聚合组ID,在本地的聚合组信息表中添加一个表项,该表项中包含有该聚合组ID和该聚合组对应的聚合算法。
在步骤14中,控制器在为该OF交换机创建一个聚合组,并为该聚合组分配一个聚合组ID后,可以在本地保存该OF交换机的交换机ID与该聚合组ID之间的对应关系。
假设,在步骤14中为该聚合组分配一个聚合组ID为1,则添加的表项可以如表1-1所示:
表1-1
在表1-1中,聚合组信息表中仅记录了聚合组的聚合组ID、该聚合组中的成员端口的ID、以及该聚合组对应的聚合算法,在实际实施过程中,还可以记录更多的信息,例如,成员端口的端口状态和该聚合组的聚合类型,如表1-2所示:
表1-2
当聚合组信息表如表1-2所示时,在步骤14中,控制器接收到该交换机添加消息后,为该OF交换机创建一个聚合组,并为该聚合组分配一个聚合组ID,在聚合组信息表中添加一个表项,该表项中包含有该聚合组ID、该聚合组对应的聚合算法、以及该聚合组的聚合方式。本申请实施例中聚合方式仅支持静态聚合方式。
在实际实施过程中,初始时,控制器可以在聚合组信息表中添加一个包含有一个聚合组的聚合组ID和该聚合组对应的聚合算法表项时,将该聚合组对应的聚合算法设置为预先配置的默认聚合算法;后续,CMM Center可以在用户的配置下,将任一聚合组对应的聚合算法修改为新聚合算法,将该聚合组的聚合组ID与该聚合组对应的新聚合算法通知给控制器,控制器接收到该通知后,根据该通知中的聚合组ID在聚合组信息表中查找匹配表项,将查找到的匹配表项中的聚合算法修改为该新聚合算法。
另外,本申请实施例中的聚合算法与现有技术中的聚合算法相同,可以是基于源MAC、目的MAC、源IP地址、和/或目的IP地址等的聚合算法,这里不再赘述。本实施例中的聚合组中的成员端口均为uplink口。
(2)OF交换机上的uplink口的绑定过程
步骤21:VMM Center将OF交换机上的uplink口绑定到上行端口组(uplink PortGroup)中,并将该事件通知给该OF交换机,其中,该通知中携带有该uplink口的端口ID;
在实际实施过程中,一个分布式虚拟交换机系统中只有一个上行端口组,所有OF交换机中的uplink口均需绑定到该上行端口组中。
步骤22:该OF交换机在接收到该事件之后,向控制器发送接口添加消息,其中,该接口添加消息中携带有该OF交换机的交换机ID和该uplink口的端口ID;
步骤23:控制器接收到该OF交换机在该OF交换机上连接物理交换机的uplink口被绑定到上行端口组后发来的接口添加消息,其中,接收到的接口添加消息中携带有该OF交换机的交换机ID和该uplink口的端口ID;
步骤24:控制器确定与该接收到的接口添加消息中携带的交换机ID对应的聚合组ID,在该聚合组信息表中查找到包含有确定的聚合组ID的表项;
步骤25:控制器将该接收到的接口添加消息中携带的端口ID与该确定的聚合组ID之间的对应关系,添加到包含有该确定的聚合组ID的表项中。
假设,该确定的聚合组ID为1,该接收到的接口添加消息中携带的端口ID为Port1,则,在执行完步骤25之后,如表1-1所示的表项更新为如表2-1所示,如表1-2所示的表项更新为如表2-2所示:
表2-1
表2-2
在实际实施过程中,聚合组内的成员端口具有两种状态:选中(Selected)状态和非选中(Unselected)状态,其中,在选中状态下的成员端口可以参与数据转发,处于此状态的成员端口称为“选中端口”;在非选中状态下的成员端口不能参与数据转发,处于此状态的成员端口称为“非选中端口”。因此,当聚合组信息表如表1-2所示时,在步骤25中,控制器将该接收到的接口添加消息中携带的端口ID与该确定的聚合组ID之间的对应关系,添加到包含有该确定的聚合组ID的表项中时,还需要将该端口ID对应的端口状态设置为默认状态:选中状态。
后续,VMM Center可以在用户的配置下,可以将任一个聚合组中的任一个成员端口的状态由选中状态修改为非选中状态,同样,也可以由非选中状态修改为选中状态,并将该端口状态修改事件通知给控制器,其中,该通知中携带有该成员端口所属的聚合组的聚合组ID、该成员端口的端口ID、以及该成员端口修改后的新端口状态。控制器接收到该通知后,根据该通知中携带的聚合组ID在聚合组信息表中查找到匹配表项,将该表项中与对应端口ID(与该通知中携带的端口ID相同)的端口状态修改为该通知中携带的新端口状态。
步骤S404,接收OF交换机转发的上行报文,其中,该上行报文是OF交换机通过连接VM的一dvport口接收到的;
OF交换机在接收到VM或ToR发来的报文后,会根据该报文的报文头中的信息在本地流表中查找匹配表项,若没有查找到,则将该报文封装成OF消息后发送给控制器,若查找到了,则按照查找到的流表表项对该报文进行转发处理。
步骤S404中,控制器判断接收到的报文是OF交换机通过uplink口或dvport口接收到的方法为:根据OF消息的消息头中携带的交换机ID和源端口的端口标识,查找到对应的端口组的类型;若查找到的端口组的类型为uplink口,则判断出接收到的报文是OF交换机通过uplink口接收到的,即为下行报文;若查找到的端口组的类型为dvport口,则判断出接收到的报文是OF交换机通过dvport口接收到的,即为上行报文。其中,源端口为该OF交换机接收到该报文的端口,即,该报文进入该OF交换机的入端口。
其中,控制器中保存有每一个端口组、该端口组中的各个接口的端口ID、该端口组的类型、以及该端口组所属的VLAN,其中,类型为uplink口或dvport口。当一个端口组的类型为uplink口时,该端口组称为上行端口组,当一个端口组的类型为dvport口时,该端口组称为下行端口组。
步骤S406,确定与该OF交换机对应的聚合组,根据该上行报文的报文头中的相关信息并使用与该聚合组对应的聚合算法,选择该聚合组中的一个uplink口作为该上行报文的出端口,其中,该相关信息包括以下至少之一:源MAC地址、目的MAC地址、源IP地址、目的IP地址;
步骤S408,生成用于指导该上行报文转发的流表表项并保存到本地流表中,其中,生成的流表表项的执行动作中包括:通过该出端口转发该上行报文;
由于在步骤S404中,控制器接收到的OF交换机发来的上行报文是封装在OF消息中的,该OF消息中携带有该OF交换机的交换机ID,因此,在步骤S406中,控制器可以根据该OF消息中携带的交换机ID查找到与该交换机ID对应的聚合组ID,然后,在聚合组信息表中查找到包含有该聚合组ID的表项。
在实际实施过程中,控制器在接收到OF交换机发来的上行报文之后,可以先根据该上行报文的源MAC地址在接口管理表中查找匹配表项,若查找到了匹配表项,则执行步骤S406-S408;若没有查找到匹配表项,则可以将该上行报文中的一些信息记录到一个动态表中。其中,接口管理表中记录有VM对应的接口信息,该接口信息中包括:VM连接的OF交换机的交换机ID、该VM上连接该OF交换机的虚拟网卡接口的MAC地址、该OF交换机上连接该VM的dvport口所属VLAN的VLAN ID以及该dvport口的端口ID等。
在步骤S406中,根据该上行报文的报文头中的相关信息并使用与该聚合组对应的聚合算法,选择该聚合组中的一个uplink口作为该上行报文的出端口的方法例如可以是:对以下信息至少之一:源MAC地址、目的MAC地址、源IP地址、目的IP地址,使用Hash(哈希)算法进行计算,得到一个哈希值(记为KEY),将该哈希值KEY对N取模(即KEY%N,%为取模运算符)得到一个取模结果(记为M,M=0,1,…,(N-1)),其中,N为该聚合组中参与聚合算法的uplink口的总数;然后,根据M的值即可确定出选择的作为该上行报文的出端口的uplink口为哪一个uplink口,即M的值决定了选择的uplink口的相对位置。例如,当M=0时,选择该聚合组中参与聚合算法的第一个uplink口,当M=1时,选择该聚合组中参与聚合算法的第二个uplink口,以此类推。
该聚合组中参与聚合算法的uplink口即为该聚合组中端口状态为选中状态的uplink口,处于非选中状态的uplink口不参与聚合算法的计算。
另外,在实际执行步骤S406-S408时,还可以根据该上行报文所在的OF消息的消息头中携带的交换机ID和源端口ID,查找到对应的VLAN ID,生成的指导该上行报文转发的流表表项的执行动作中还包括:在该上行报文中添加查找到的VLAN ID。
步骤S410,将该生成的流表表项和该上行报文发送给发来该上行报文的OF交换机。
OF交换机接收到控制器发来的上行报文和用于指导该上行报文转发的流表表项之后,将该流表表项添加到本地流表中,然后,根据该上行报文的报文头中的信息在本地流表中查找到匹配表项,按照该匹配表项中的执行动作对该上行报文进行转发处理,从而转发给物理交换机。
在上述步骤S404-S410中的上行报文可以是单播报文,也可以是非单播报文。
通过本申请实施例的上述技术方案,控制器在OF交换机被创建后,会创建与该OF交换机对应的聚合组,并将该OF交换机上连接物理交换机的多个uplink口添加到该聚合组中,这样,在接收到OF交换机发来的该OF交换机通过一dvport口接收到的上行报文后,控制器就可以根据该上行报文的报文头中的相关信息并使用该OF交换机对应的聚合组所对应的聚合算法,选择该聚合组中的一个uplink口作为该上行报文的出端口,进而根据该出端口生成指导该上行报文转发的流表表项。上述技术方案在基于OpenFlow的分布式虚拟交换机系统中实现了支持链路聚合功能的报文转发,并且,控制器在针对一种数据流的首包使用聚合算法计算出出端口并生成流表表项发给OF交换机后,该数据流的后续报文无需再使用聚合算法计算出端口,提高了报文转发效率。
另外,对于当聚合组中的成员端口发生变化时,控制器中已经生成了与该聚合组中的成员端口有关的流表表项的问题,由于当聚合组中的成员端口发生变化时,可能会引起该聚合组对应的聚合算法的改变,例如,当聚合组中的成员端口增加时,该聚合组中参与聚合算法的成员端口总数N也变大了,从而导致该聚合组使用的聚合算法发生了改变,此时,控制器中已经生成的与该聚合组中的成员端口有关的流表表项可能会失效,需要删除相应地流表表项。下面针对成员端口增加和减少这两种情况分别进行介绍。
1、聚合组中的成员端口增加
步骤31-35:与上述步骤21-25相同,这里不再赘述。
为了描述方便,这里将在新增成员端口之前的该聚合组称为原有聚合组,原有聚合组中的成员端口称为原有成员端口;将在新增成员端口之后的该聚合组称为新聚合组,新增的成员端口称为新成员端口。在新增了新成员端口之后,不会对已有的针对原有聚合组生成的流表表项进行处理。
因为流表表项会发生老化,因此,已有的针对原有聚合组生成的流表表项会由于老化而被删除。之后,OF交换机接收到上行报文并在本地流表中查找匹配表项时,若查找不到匹配表项,就会将该上行报文发送给控制器。其中,该上行报文可以是与之前接收过的数据流属于同种业务类型的上行报文,也可以是之前没有接收过的一种新业务类型的数据流的上行报文;对于与之前接收过的数据流属于同种业务类型的上行报文,由于之前生成的流表表项已经由于老化被删除了,因此,会查找不到匹配表项,对于之前没有接收过的一种新业务类型的数据流的上行报文,由于没有生成过流表表项,因此,会查找不到匹配表项。
控制器接收到该上行报文后,会按照步骤S406-S410生成用于指导该上行报文转发的流表表项,其中,计算出端口时使用的是新聚合组的聚合算法,例如,在KEY%N时,N为原有成员端口和新成员端口的数量之和。
其中,流表表项的老化机制可以采用以下两种方式:方式一、设置老化定时器,当该老化定时器的时长到达时,对应的流表表项发生老化;方式二、设置老化时间,若在该老化时间内对应的流表表项未被使用,则该流表表项发生老化。
(2)聚合组中的成员端口减少
步骤41:VMM Center将OF交换机上的uplink口从所属的上行端口组中去绑定,并将该去绑定事件通知给该OF交换机,其中,该通知中携带有该uplink口的端口ID;或者,ToR将与该OF交换机相连的一物理端口Shutdown(关闭);
步骤42:该OF交换机在接收到该去绑定事件之后,向控制器发送接口删除消息,或者,该OF交换机在检测到连接ToR的一uplink口变为不可用状态之后,向控制器发送接口删除消息;其中,该接口删除消息中携带有该OF交换机的交换机ID和该uplink口的端口ID;
步骤43:控制器接收到OF交换机发来的接口删除消息,其中,接收到的接口删除消息中携带有该OF交换机的交换机ID和该uplink口的端口ID;
步骤44:控制器确定与该接收到的接口删除消息中携带的交换机ID对应的聚合组ID,根据确定的聚合组ID在该聚合组信息表中查找到匹配表项,从查找到的匹配表项中删除该接收到的接口删除消息中携带的端口ID与该确定的聚合组ID之间的对应关系;
假设,在步骤44中查找到的匹配表项如表3-1所示,接口删除消息中携带的端口ID为Port1,则,执行完步骤44之后,如表3-1所示的表项更新为如表3-2所示:
表3-1
表3-2
步骤45:控制器根据该接口删除消息中携带的端口ID,在本地流表中查找匹配表项,若查找到了匹配表项,则执行步骤46,否则,退出本流程;
步骤46:控制器删除查找到的匹配表项,向该接口删除消息中携带的交换机ID所指示的OF交换机发送流修改消息,其中,该流修改消息中携带有该接口删除消息中携带的端口ID,该流修改消息用于指示OF交换机根据该端口ID在本地流表中查找匹配表项并删除查找到的匹配表项。
OF交换机接收到控制器发来的接口删除消息之后,根据该接口删除消息中携带的端口ID在本地流表中查找匹配表项并删除查找到的匹配表项。
后续,当该OF交换机接收到上行报文,根据该上行报文中的报文头中的信息查找匹配表项时,此时会查找不到匹配表项,该OF交换机会将该上行报文发送给控制器,控制器会按照上述步骤S406再次生成指导该上行报文转发的流表表项,这里不再赘述。
此外,对于OF交换机接收到的下行报文,即,物理交换机(ToR)发来的报文(包括:转发路径为VM→OF交换机→ToR→OF交换机的报文,或者,从外部设备(ToR连接的不属于分布式虚拟交换机系统的其他设备)进入到ToR并由ToR发送给OF交换机的报文)的处理流程是:ToR接收到报文之后、要将该报文转发给OF交换机之前,ToR会根据本设备上对应聚合组的聚合算法(即,ToR连接该OF交换机的物理端口所属的聚合组对应的聚合算法),从该对应聚合组的物理端口中选择一个物理端口作为该报文的出端口,将该报文通过该出端口转发给该OF交换机。虽然ToR上的聚合组中的物理端口与该OF交换机上的同一聚合组中的uplink口存在一一对应关系,但是,ToR上的聚合组对应的聚合算法与OF交换机上的聚合组对应的聚合算法是各自独立的。OF交换机通过连接该ToR的一uplink口接收到下行报文后,判断接收到下行报文的uplink口是否是聚合组中的有效端口(有效端口为处于UP(可用)且选中状态的端口),若是,则在本地流表中查找匹配表项,若没有查找到匹配表项,则将该下行报文发送给控制器;若不是,则丢弃该下行报文。控制器接收到该下行报文后,会根据该下行报文是单播报文还是非单播报文,按照不同的流程生成指导该下行报文转发的流表表项并保存到本地流表中,将该下行报文和生成的流表表项发送给发来该下行报文的OF交换机。
其中,在链路聚合技术中,要求同一链路两端的端口(即,一个设备上的聚合组中的一个端口以及对端设备上的对应聚合组中的对应端口)的状态必须是一致的,因此,当OF交换机的聚合组中的一个非有效的uplink口,例如,处于UP且未选中状态、处于DOWN(不可用)且选中状态、或处于DOWN且选中状态,接收到ToR发来的下行报文后,说明该uplink口与位于ToR上的对应物理端口的状态是不一致,对于这种报文是不进行处理的。
(1)下行单播报文
步骤51:控制器根据该下行单播报文中的目的MAC地址和VLAN ID,在接口管理表中查找到对应的端口ID;
步骤52:控制器根据在步骤51中查找到的端口ID,生成用于指导该下行单播报文转发的流表表项并保存到本地流表中,其中,生成的流表表项的执行动作中包括:通过查找到的端口ID所指示的dvport口转发该下行单播报文。
在实际实施过程中,生成的流表表项的执行动作中还可以包括:剥除该下行单播报文中的VLAN ID。
(2)下行非单播报文
步骤51:根据该下行非单播报文中的VLAN ID,在接口管理表中查找到对应的至少两个端口ID;执行步骤52;
步骤52:根据该下行非单播报文中的源MAC地址和VLAN ID,在接口管理表中查找对应的端口ID;执行步骤53;
步骤53:判断在步骤52中是否查找到了对应的端口ID,若是,则执行步骤54,否则,执行步骤55;
步骤54:从在步骤51中查找到的至少两个端口ID中去除在步骤52中查找到的端口ID,之后根据剩余的端口ID,生成用于指导该下行非单播报文转发的流表表项并保存到本地流表中,其中,生成的流表表项的执行动作中包括:通过剩余的端口ID所指示的dvport口转发该下行非单播报文;
在实际实施过程中,生成的流表表项的执行动作中还可以包括:剥除该下行非单播报文中的VLAN ID。
步骤55:根据在步骤51中查找到的至少两个端口ID,生成用于指导该下行非单播报文转发的流表表项并保存到本地流表中,其中,生成的流表表项的执行动作中包括:通过该至少两个端口ID所指示的dvport口转发该下行非单播报文。
在实际实施过程中,生成的流表表项的执行动作中还可以包括:剥除该下行非单播报文中的VLAN ID。
由上述针对下行单播报文和下行非单播报文生成流表表项的流程可知,在针对下行报文确定出端口时,不需要使用聚合算法。
实施例二
以如图5所示的分布式虚拟交换机系统为例对上述实施例一中的方法进行详细说明。在图5中,OF交换机分别通过dvport口:dvport1-dvport3连接虚拟机VM1-VM3,dvport1-dvport3的MAC地址分别是MAC1-MAC3,且这3个dvport口均属于VLAN1。OF交换机与其连接的物理交换机ToR之间有2条链路,这两条链路通过链路聚合技术聚合,即,OF交换机上连接ToR的2个uplink口:uplink1和uplink2加入到同一聚合组,ToR上连接OF交换机的2个物理端口:T1和T2加入到同一聚合组。
控制器按照上述步骤S402,在聚合组信息表中添加了一个表项,如表4-1所示:
表4-1
OF交换机通过dvport2接收到VM2发来的上行报文,该上行报文的源MAC地址是MAC2、VLAN ID是VLAN1,OF交换机根据该上行报文的报文头中的信息在本地流表中查找匹配表项,结果是没有查找到匹配表项,OF交换机将该上行报文封装成OF消息发送给控制器,其中,该OF消息的消息头中携带有该OF交换机的交换机ID和该上行报文的入端口dvport2。
控制器接收到该OF消息后,解封装得到其中的上行报文,根据该OF消息的消息头中携带的交换机ID和入端口dvport2,查找到该入端口所属的下行端口组,并进而确定出对应的VLAN ID为VLAN1;控制器根据该OF消息的消息头中携带的交换机ID,确定出与该交换机ID对应的聚合组ID为2,然后,在聚合组信息表中查找到包含有聚合组ID:2的表项为如表4-1所示的表项,根据该上行报文的源MAC地址MAC2并使用如表4-1所示的表项中的聚合算法,从该表项中的成员端口中选择一个成员端口作为该上行报文的出端口,假设该出端口为uplink2,则控制器生成指导该上行报文转发的如表4-2所示的流表表项并保存到本地流表中;控制器将该上行报文和该流表表项发送给OF交换机。
OF交换机接收到该上行报文和该流表表项后,将该流表表项保存到本地流表中,然后,根据该报文的报文头中的信息:目的MAC地址和入端口dvport2,在本地流表中查找到该流表表项,根据该流表表项中的执行动作在该报文中增加一个VLAN1,然后通过uplink2转发给ToR。
表4-2
由表4-2可知,生成的流表表项的执行动作中包括:通过uplink2转发该上行报文(即Output to uplink2),以及在该报文中添加查找到的VLAN ID:VLAN1(即mod_vlan_vid:VLAN1)。
实施例三
针对上述实施例一中的方法,本申请实施例中提供了一种分布式虚拟交换机系统的控制器。如图6所示,该控制器中包括以下模块:创建添加模块101、接收模块102、聚合处理模块103、表项生成模块104和发送模块105,其中:
创建添加模块101,用于在OF交换机被创建后,创建与该OF交换机对应的聚合组,将该OF交换机上连接物理交换机的至少两个uplink口添加到该聚合组中;
接收模块102,用于接收OF交换机转发的上行报文,其中,该上行报文是OF交换机通过连接VM的一dvport口接收到的;
聚合处理模块103,用于在接收模块102接收到OF交换机发来的上行报文之后,确定与该OF交换机对应的聚合组,根据该上行报文的报文头中的相关信息并使用与该聚合组对应的聚合算法,选择该聚合组中的一个uplink口作为该上行报文的出端口,其中,该相关信息包括以下至少之一:源MAC地址、目的MAC地址、源IP地址、目的IP地址;
表项生成模块104,用于生成用于指导该接收模块102接收到的上行报文转发的流表表项并保存到本地流表中;其中,生成的流表表项的执行动作中包括:通过该聚合处理模块103选择的出端口转发该上行报文;
发送模块105,用于将该表项生成模块104生成的流表表项和该接收模块102接收到的上行报文发送给发来该上行报文的OF交换机。
其中,该创建添加模块中包括:创建单元、分配单元、消息接收单元、确定查找单元和添加单元,其中:
创建单元,用于为该OF交换机创建一个聚合组;
分配单元,用于为该创建单元创建的聚合组分配一个聚合组ID;
消息接收单元,用于接收该OF交换机在该OF交换机上连接物理交换机的uplink口被绑定到上行端口组后发来的接口添加消息,其中,接收到的接口添加消息中携带有该OF交换机的交换机ID和该uplink口的端口ID;
确定查找单元,用于确定与该消息接收单元接收到的接口添加消息中携带的交换机ID对应的聚合组ID,在该聚合组信息表中查找到包含有确定的聚合组ID的表项;
添加单元,用于在该分配单元为该创建单元创建的聚合组分配一个聚合组ID之后,在聚合组信息表中添加一个表项,该表项中包含有该聚合组ID和该聚合组对应的聚合算法;还用于将该消息接收单元接收到的接口添加消息中携带的端口ID与该确定查找单元确定的聚合组ID之间的对应关系,添加到包含有该确定的聚合组ID的表项中。
其中,控制器中的本地流表可以保存在表项生成模块中,聚合组信息表可以保存在创建添加模块中。
其中,该控制器中还可以包括:确定模块、查找模块和删除模块,其中,
接收模块,还用于接收到OF交换机发来的接口删除消息,其中,接收到的接口删除消息中携带有该OF交换机的交换机ID和该uplink口的端口ID,接口删除消息是OF交换机在该OF交换机上的uplink口从所属的上行端口组中去绑定后发来的,或者是在检测到该OF交换机上的uplink口变为不可用状态后发来的;
确定模块,用于确定与接收模块接收到的接口删除消息中携带的交换机ID对应的聚合组ID;
查找模块,还用于根据确定模块确定的聚合组ID在该聚合组信息表中查找到匹配表项;
删除模块,还用于从查找模块根据确定模块确定的聚合组ID在聚合组信息表中查找到的匹配表项中,删除接收到的接口删除消息中携带的端口ID与该确定的聚合组ID之间的对应关系。
另外,查找模块,还用于在接收模块接收到该接口删除消息之后,根据该接口删除消息中携带的交换机ID和端口ID,在本地流表中查找匹配表项;
删除模块,还用于若查找模块根据该接口删除消息中携带的交换机ID和端口ID在本地流表中查找到了匹配表项,则删除查找到的匹配表项;
发送模块,还用于若查找模块根据该接口删除消息中携带的交换机ID和端口ID在本地流表中查找到了匹配表项,则向该接口删除消息中携带的交换机ID所指示的OF交换机发送流修改消息,其中,该流修改消息中携带有该接口删除消息中携带的交换机ID和端口ID,该流修改消息用于指示OF交换机根据该交换机ID和该端口ID在本地流表中查找匹配表项并删除查找到的匹配表项。
根据本申请另一种实施例,该控制器中还包括:查找模块,其中:
接收模块,还用于接收OF交换机转发的下行报文,其中,下行报文是OF交换机通过连接物理交换机的一uplink口接收到的;
查找模块,用于若接收模块接收到的下行报文是单播报文,则根据下行单播报文中的目的MAC地址和VLAN ID,在接口管理表中查找到对应的端口ID;其中,接口管理表中记录有各个VM对应的接口信息,接口信息中包括:VM连接的OF交换机的交换机ID、该VM上连接该OF交换机的虚拟网卡接口的MAC地址、该OF交换机上连接该VM的dvport口所属VLAN的VLAN ID以及该dvport口的端口ID;
表项生成模块,还用于根据查找模块查找到的端口ID,生成用于指导下行单播报文转发的流表表项并保存到本地流表中,其中,生成的流表表项的执行动作中包括:通过查找到的端口ID所指示的dvport口转发下行单播报文;
发送模块,还用于将表项生成模块生成的流表表项和接收模块接收到的下行单播报文发送给发来下行单播报文的OF交换机。
其中,查找模块,还用于若接收模块接收到的下行报文是非单播报文,则根据下行非单播报文中的VLAN ID,在接口管理表中查找到对应的至少两个端口ID,根据下行非单播报文中的源MAC地址和VLAN ID,在接口管理表中查找对应的端口ID;
表项生成模块,还用于若查找模块没有查找到对应的端口ID,则根据至少两个端口ID,生成用于指导下行非单播报文转发的流表表项并保存到本地流表中,其中,生成的流表表项的执行动作中包括:通过至少两个端口ID所指示的dvport口转发下行非单播报文;还用于若查找模块查找到了对应的端口ID,则从至少两个端口ID中去除该查找到的端口ID,之后根据剩余的端口ID,生成用于指导下行非单播报文转发的流表表项并保存到本地流表中,其中,生成的流表表项的执行动作中包括:通过剩余的端口ID所指示的dvport口转发下行非单播报文;
发送模块,还用于将表项生成模块生成的流表表项和接收模块接收到的下行非单播报文发送给发来下行非单播报文的OF交换机。
实施例四
在实际实施过程中,本申请实施例的分布式虚拟交换机系统中,由LA管理模块来实现创建添加模块的功能、聚合处理模块的功能、查找模块的部分功能、接收模块的部分功能、删除模块的部分功能;流管理模块来实现接收模块的部分功能、表项生成模块的功能、发送模块的功能、查找模块的部分功能、删除模块的部分功能。
如图7所示,控制器中包括:OF控制器、IF(接口)管理模块、流管理模块和LA管理模块,OF交换机中包括:OF代理(Agent)模块、OF转发(Forwarding)模块和VM管理模块,其中:
OF交换机通过OF代理模块与控制器交互,向控制器发送数据和接收控制器发来的数据;OF转发模块用于与VM和物理交换机连接,该模块中保存有流表,用于在接收到VM或物理交换机发来的报文后进行查表转发处理;VM管理模块用于管理和维护VM。控制器通过OF控制器与OF交换机交互,向OF交换机发送数据和接收OF交换机转发的数据,用于数据存储,提供一些服务,并支持LLDP(LinkLayer Discovery Protocol,链路层发现协议)协议;IF管理模块中保存有接口管理管,用于根据VM的上线/下线/迁移更新维护接口管理表;LA管理模块中保存有聚合组信息表,用于在计算OF交换机的上行报文的出端口;流管理模块中保存有流表,用于生成流表表项和删除流表表项。
1、LA管理模块
(1)成员端口增加
聚合管理模块负责从VM到ToR的上行报文的出端口的计算,当流管理模块生成用于指导上行报文转发的流表表项时,LA管理模块需要计算出该上行报文的出端口。
VMM Center将OF交换机上的uplink口绑定到上行端口组中,并将该事件通知给该OF交换机,其中,该通知中携带有该uplink口的端口ID;
该OF交换机中的OF代理模块接收到该通知后,将该通知转发给OF转发模块,OF转发模块在接收到该通知之后,生成接口添加消息并转发给OF代理模块,由OF代理模块发送给控制器,其中,该接口添加消息中携带有该OF交换机的交换机ID和该uplink口的端口ID;
控制器中的OF控制器接收到该接口添加消息后,转发给IF管理模块,由IF管理模块转发给LA管理模块;
LA管理模块确定与该接口添加消息中携带的交换机ID对应的聚合组ID,在聚合组信息表中查找到包含有确定的聚合组ID的表项,将该接口添加消息中携带的端口ID与该确定的聚合组ID之间的对应关系,添加到包含有该确定的聚合组ID的表项中。
(2)成员端口减少
VMM Center将OF交换机上的uplink口从所属的上行端口组中去绑定,并将该去绑定事件通知给该OF交换机,其中,该去绑定通知中携带有该uplink口的端口ID;该OF交换机中的OF代理模块接收到该通知后转发给OF转发模块,OF转发模块在接收到该去绑定通知之后,生成接口删除消息并转发给OF代理模块,由OF代理模块发送给控制器;或者,OF交换机中的OF转发模块检测到连接ToR的一uplink口变为了DOWN状态后,生成接口删除消息并转发给OF代理模块,由OF代理模块发送给控制器;其中,该接口删除消息中携带有该OF交换机的交换机ID和该uplink口的端口ID;
控制器中的OF控制器接收到该接口删除消息后,转发给IF管理模块,由IF管理模块转发给LA管理模块和流管理模块;
LA管理模块接收到该接口删除消息后,确定与该接口删除消息中携带的交换机ID对应的聚合组ID,根据确定的聚合组ID在聚合组信息表中查找到匹配表项,从查找到的匹配表项中删除该接口删除消息中携带的端口ID与该确定的聚合组ID之间的对应关系;
流管理模块接收到该接口删除消息后,根据该接口删除消息中携带的交换机ID和端口ID,在本地流表中查找匹配表项,若查找到了匹配表项,则删除查找到的匹配表项,生成流修改消息并转发给OF控制器,其中,该流修改消息中携带有该接口删除消息中携带的交换机ID和端口ID,该流修改消息用于指示OF交换机根据该交换机ID和该端口ID在本地流表中查找匹配表项并删除查找到的匹配表项;
OF控制器将该流修改消息发送给该OF交换机;
该OF交换机中的OF代理模块接收到该流修改消息后转发给OF转发模块,OF转发模块收到该流修改消息后,根据该接口删除消息中携带的交换机ID和端口ID在本地流表中查找匹配表项并删除查找到的匹配表项。
2、流管理模块
(1)上行报文
OF交换机中的OF转发模块接收到VM发来的上行报文后,在本地流表中查找匹配表项,若没有查找到匹配表项,则将该报文封装成OF消息后转发给OF代理模块,由OF代理模块发送给控制器,其中,该OF消息的消息头中携带有该OF交换机的交换机ID和源端口ID;
控制器中的OF控制器接收到该OF消息后,将该OF消息转发给流管理模块;
流管理模块接收到该OF消息后,解封装得到其中的上行报文,根据该OF消息的消息头中携带的交换机ID和源端口ID,查找到对应的VLAN ID,同时,将该交换机ID和该上行报文的报文头中的相关信息发送给LA管理模块;LA管理模块根据该交换机ID确定对应的聚合组,根据该上行报文的报文头中的相关信息并使用与该聚合组对应的聚合算法,选择该聚合组中的一个uplink口作为该上行报文的出端口,发送给流管理模块;其中,该相关信息包括以下至少之一:源MAC地址、目的MAC地址、源IP地址、目的IP地址
流管理模块根据该出端口,生成用于指导该上行报文转发的流表表项并保存到本地流表中,将该流表表项转发给OF控制器,由OF控制器发送给OF交换机,其中,生成的流表表项的执行动作中包括:通过该出端口转发该上行报文,在该上行报文中添加查找到的VLAN ID
OF交换机中的OF代理模块接收到该上行报文和该流表表项后转发给OF转发模块,OF转发模块将该流表表项保存到本地流表中,然后,根据该报文的报文头中的信息,在本地流表中查找到该流表表项,根据该流表表项中的执行动作对该上行报文进行转发处理,最终发送给ToR。
(2)下行单播报文
OF交换机中的OF转发模块接收到ToR发来的下行单播报文后,在本地流表中查找匹配表项,若没有查找到匹配表项,则将该下行单播报文封装成OF消息后转发给OF代理模块,由OF代理模块发送给控制器;
控制器中的OF控制器接收到该OF消息后,将该OF消息转发给流管理模块;
流管理模块接收到该OF消息后,解封装得到其中的下行单播报文,根据该下行单播报文中的目的MAC地址和VLAN ID,在IF管理模块中的接口管理表中查找到对应的端口ID;其中,接口管理表中记录有各个VM对应的接口信息,接口信息中包括:VM连接的OF交换机的交换机ID、该VM上连接该OF交换机的虚拟网卡接口的MAC地址、该OF交换机上连接该VM的dvport口所属VLAN的VLAN ID以及该dvport口的端口ID;
流管理模块根据查找到的端口ID,生成用于指导该下行单播报文转发的流表表项并保存到本地流表中,将生成的流表表项和该下行单播报文发送给OF控制器,由OF控制器转发给OF交换机;其中,生成的流表表项的执行动作中包括:通过查找到的端口ID所指示的dvport口转发该下行单播报文;
OF交换机中的OF代理模块接收到该下行单播报文和该流表表项后转发给OF转发模块,OF转发模块将该流表表项保存到本地流表中,然后,根据该报文的报文头中的信息,在本地流表中查找到该流表表项,根据该流表表项中的执行动作对该下行单播报文进行转发处理,最终发送给目的VM。
(3)下行非单播报文
OF交换机中的OF转发模块接收到ToR发来的下行非单播报文后,在本地流表中查找匹配表项,若没有查找到匹配表项,则将该下行非单播报文封装成OF消息后转发给OF代理模块,由OF代理模块发送给控制器;
控制器中的OF控制器接收到该OF消息后,将该OF消息转发给流管理模块;
流管理模块接收到该OF消息后,解封装得到其中的下行非单播报文,根据该下行非单播报文中的VLAN ID,在IF管理模块中的接口管理表中查找到对应的至少两个端口ID,根据该下行非单播报文中的源MAC地址和VLAN ID,在接口管理表中查找对应的端口ID;
若没有查找到对应的端口ID,则流管理模块根据该至少两个端口ID,生成用于指导该下行非单播报文转发的流表表项并保存到本地流表中,将生成的流表表项和该下行非单播报文发送给OF控制器,由OF控制发送给OF交换机,其中,生成的流表表项的执行动作中包括:通过该至少两个端口ID所指示的dvport口转发该下行非单播报文;
若查找到了对应的端口ID,则流管理模块从该至少两个端口ID中去除该查找到的端口ID,之后根据剩余的端口ID,生成用于指导该下行非单播报文转发的流表表项并保存到本地流表中,将生成的流表表项和该下行非单播报文发送给OF控制器,由OF控制器发送给OF交换机,其中,生成的流表表项的执行动作中包括:通过剩余的端口ID所指示的dvport口转发该下行非单播报文;
OF交换机中的OF代理模块接收到该下行非单播报文和该流表表项后转发给OF转发模块,OF转发模块将该流表表项保存到本地流表中,然后,根据该报文的报文头中的信息,在本地流表中查找到该流表表项,根据该流表表项中的执行动作对该下行非单播报文进行转发处理,最终发送给至少一个目的VM。
综上,本申请以上实施例可以达到以下技术效果:
控制器在OF交换机被创建后,会创建与该OF交换机对应的聚合组,并将该OF交换机上连接物理交换机的多个uplink口添加到该聚合组中,这样,在接收到OF交换机发来的该OF交换机通过一dvport口接收到的上行报文后,控制器就可以根据该上行报文的报文头中的相关信息并使用该OF交换机对应的聚合组所对应的聚合算法,选择该聚合组中的一个uplink口作为该上行报文的出端口,进而根据该出端口生成指导该上行报文转发的流表表项。上述技术方案在基于OpenFlow的分布式虚拟交换机系统中实现了支持链路聚合功能的报文转发,并且,控制器在针对一种数据流的首包使用聚合算法计算出出端口并生成流表表项发给OF交换机后,该数据流的后续报文无需再使用聚合算法计算出端口,提高了报文转发效率。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (12)
1.一种分布式虚拟交换机系统的报文转发方法,其特征在于,所述分布式虚拟交换机系统中包括:控制器和多个服务器,所述服务器上设置有虚拟的开放流OF交换机和虚拟机VM,所述VM通过所述OF交换机连接至外部的物理交换机,所述OF交换机与所述物理交换机之间的至少两条链路聚合,所述方法应用于所述控制器,所述方法包括:
在OF交换机被创建后,创建与该OF交换机对应的聚合组,将该OF交换机上连接物理交换机的至少两个上行接口uplink口添加到该聚合组中;
接收OF交换机转发的上行报文,其中,所述上行报文是OF交换机通过连接VM的一下行接口dvport口接收到的;
确定与该OF交换机对应的聚合组,根据所述上行报文的报文头中的相关信息并使用与该聚合组对应的聚合算法,选择该聚合组中的一个uplink口作为所述上行报文的出端口,其中,所述相关信息包括以下至少之一:源媒体访问控制MAC地址、目的MAC地址、源因特网协议IP地址、目的IP地址;
生成用于指导所述上行报文转发的流表表项并保存到本地流表中,其中,生成的流表表项的执行动作中包括:通过该出端口转发所述上行报文;
将所述生成的流表表项和所述上行报文发送给发来所述上行报文的OF交换机。
2.根据权利要求1所述的方法,其特征在于,创建与该OF交换机对应的聚合组,将该OF交换机上连接物理交换机的至少两个uplink口添加到该聚合组中的方法包括:
为该OF交换机创建一个聚合组,并为该聚合组分配一个聚合组标识ID,在聚合组信息表中添加一个表项,所述表项中包含有该聚合组ID和该聚合组对应的聚合算法;
接收到该OF交换机在该OF交换机上连接物理交换机的uplink口被绑定到上行端口组后发来的接口添加消息,其中,接收到的接口添加消息中携带有该OF交换机的交换机ID和该uplink口的端口ID;
确定与所述接收到的接口添加消息中携带的交换机ID对应的聚合组ID,在所述聚合组信息表中查找到包含有确定的聚合组ID的表项;
将所述接收到的接口添加消息中携带的端口ID与所述确定的聚合组ID之间的对应关系,添加到包含有所述确定的聚合组ID的表项中。
3.根据权利要求2所述的方法,其特征在于,还包括:
接收到OF交换机发来的接口删除消息,其中,接收到的接口删除消息中携带有该OF交换机的交换机ID和该uplink口的端口ID,所述接口删除消息是OF交换机在该OF交换机上的uplink口从所属的上行端口组中去绑定后发来的,或者是在检测到该OF交换机上的uplink口变为不可用状态后发来的;
确定与所述接收到的接口删除消息中携带的交换机ID对应的聚合组ID,根据确定的聚合组ID在所述聚合组信息表中查找到匹配表项;
从查找到的匹配表项中删除所述接收到的接口删除消息中携带的端口ID与该确定的聚合组ID之间的对应关系。
4.根据权利要求3所述的方法,其特征在于,在接收到所述接口删除消息之后,还包括:
根据所述接口删除消息中携带的交换机ID和端口ID,在本地流表中查找匹配表项;
若查找到了匹配表项,则删除查找到的匹配表项,向所述接口删除消息中携带的交换机ID所指示的OF交换机发送流修改消息,其中,所述流修改消息中携带有所述接口删除消息中携带的交换机ID和端口ID,所述流修改消息用于指示OF交换机根据该交换机ID和该端口ID在本地流表中查找匹配表项并删除查找到的匹配表项。
5.根据权利要求1所述的方法,其特征在于,还包括:
接收OF交换机转发的下行报文,其中,所述下行报文是OF交换机通过连接物理交换机的一uplink口接收到的;
若所述下行报文是单播报文,则根据下行单播报文中的目的MAC地址和虚拟局域网VLAN ID,在接口管理表中查找到对应的端口ID;其中,所述接口管理表中记录有各个VM对应的接口信息,所述接口信息中包括:VM连接的OF交换机的交换机ID、该VM上连接该OF交换机的虚拟网卡接口的MAC地址、该OF交换机上连接该VM的dvport口所属VLAN的VLAN ID以及该dvport口的端口ID;
根据查找到的端口ID,生成用于指导所述下行单播报文转发的流表表项并保存到本地流表中,将生成的流表表项和所述下行单播报文发送给发来所述下行单播报文的OF交换机,其中,生成的流表表项的执行动作中包括:通过所述查找到的端口ID所指示的dvport口转发所述下行单播报文。
6.根据权利要求5所述的方法,其特征在于,在接收OF交换机转发的下行报文之后,还包括:
若所述下行报文是非单播报文,则根据下行非单播报文中的VLAN ID,在所述接口管理表中查找到对应的至少两个端口ID;
根据所述下行非单播报文中的源MAC地址和VLAN ID,在所述接口管理表中查找对应的端口ID;
若没有查找到对应的端口ID,则根据所述至少两个端口ID,生成用于指导所述下行非单播报文转发的流表表项并保存到本地流表中,将生成的流表表项和所述下行非单播报文发送给发来所述下行非单播报文的OF交换机,其中,生成的流表表项的执行动作中包括:通过所述至少两个端口ID所指示的dvport口转发所述下行非单播报文;
若查找到了对应的端口ID,则从所述至少两个端口ID中去除该查找到的端口ID,之后根据剩余的端口ID,生成用于指导所述下行非单播报文转发的流表表项并保存到本地流表中,将生成的流表表项和所述下行非单播报文发送给发来所述下行非单播报文的OF交换机,其中,生成的流表表项的执行动作中包括:通过所述剩余的端口ID所指示的dvport口转发所述下行非单播报文。
7.一种分布式虚拟交换机系统的控制器,其特征在于,所述分布式虚拟交换机系统中包括:控制器和多个服务器,所述服务器上设置有虚拟的开放流OF交换机和虚拟机VM,所述VM通过所述OF交换机连接至外部的物理交换机,所述OF交换机与所述物理交换机之间的至少两条链路聚合,所述控制器包括:
创建添加模块,用于在OF交换机被创建后,创建与该OF交换机对应的聚合组,将该OF交换机上连接物理交换机的至少两个上行接口uplink口添加到该聚合组中;
接收模块,用于接收OF交换机转发的上行报文,其中,所述上行报文是OF交换机通过连接VM的一下行接口dvport口接收到的;
聚合处理模块,用于确定与该OF交换机对应的聚合组,根据所述上行报文的报文头中的相关信息并使用与该聚合组对应的聚合算法,选择该聚合组中的一个uplink口作为所述上行报文的出端口,其中,所述相关信息包括以下至少之一:源媒体访问控制MAC地址、目的MAC地址、源因特网协议IP地址、目的IP地址;
表项生成模块,用于生成用于指导所述接收模块接收到的上行报文转发的流表表项并保存到本地流表中;其中,生成的流表表项的执行动作中包括:通过所述聚合处理模块选择的出端口转发所述上行报文;
发送模块,用于将所述表项生成模块生成的流表表项和所述接收模块接收到的上行报文发送给发来所述上行报文的OF交换机。
8.根据权利要求7所述的控制器,其特征在于,所述创建添加模块包括:
创建单元,用于为该OF交换机创建一个聚合组;
分配单元,用于为所述创建单元创建的聚合组分配一个聚合组标识ID;
消息接收单元,用于接收该OF交换机在该OF交换机上连接物理交换机的uplink口被绑定到上行端口组后发来的接口添加消息,其中,接收到的接口添加消息中携带有该OF交换机的交换机ID和该uplink口的端口ID;
确定查找单元,用于确定与所述消息接收单元接收到的接口添加消息中携带的交换机ID对应的聚合组ID,在所述聚合组信息表中查找到包含有确定的聚合组ID的表项;
添加单元,用于在所述分配单元为所述创建单元创建的聚合组分配一个聚合组ID之后,在聚合组信息表中添加一个表项,所述表项中包含有该聚合组ID和该聚合组对应的聚合算法;还用于将所述消息接收单元接收到的接口添加消息中携带的端口ID与所述确定查找单元确定的聚合组ID之间的对应关系,添加到包含有所述确定的聚合组ID的表项中。
9.根据权利要求8所述的控制器,其特征在于,还包括:确定模块、查找模块和删除模块,其中,
所述接收模块,还用于接收到OF交换机发来的接口删除消息,其中,接收到的接口删除消息中携带有该OF交换机的交换机ID和该uplink口的端口ID,所述接口删除消息是OF交换机在该OF交换机上的uplink口从所属的上行端口组中去绑定后发来的,或者是在检测到该OF交换机上的uplink口变为不可用状态后发来的;
所述确定模块,用于确定与所述接收到的接口删除消息中携带的交换机ID对应的聚合组ID;
所述查找模块,用于根据所述确定模块确定的聚合组ID在所述聚合组信息表中查找到匹配表项;
所述删除模块,用于从所述查找模块根据所述确定模块确定的聚合组ID在所述聚合组信息表中查找到的匹配表项中,删除所述接收到的接口删除消息中携带的端口ID与该确定的聚合组ID之间的对应关系。
10.根据权利要求9所述的控制器,其特征在于,
所述查找模块,还用于在所述接收模块接收到所述接口删除消息之后,根据所述接口删除消息中携带的交换机ID和端口ID,在本地流表中查找匹配表项;
所述删除模块,还用于若所述查找模块根据所述接口删除消息中携带的交换机ID和端口ID在本地流表中查找到了匹配表项,则删除查找到的匹配表项;
所述发送模块,还用于若所述查找模块根据所述接口删除消息中携带的交换机ID和端口ID在本地流表中查找到了匹配表项,则向所述接口删除消息中携带的交换机ID所指示的OF交换机发送流修改消息,其中,所述流修改消息中携带有所述接口删除消息中携带的交换机ID和端口ID,所述流修改消息用于指示OF交换机根据该交换机ID和该端口ID在本地流表中查找匹配表项并删除查找到的匹配表项。
11.根据权利要求7所述的控制器,其特征在于,还包括:查找模块,其中:
所述接收模块,还用于接收OF交换机转发的下行报文,其中,所述下行报文是OF交换机通过连接物理交换机的一uplink口接收到的;
所述查找模块,用于若所述接收模块接收到的下行报文是单播报文,则根据下行单播报文中的目的MAC地址和虚拟局域网VLAN ID,在接口管理表中查找到对应的端口ID;其中,所述接口管理表中记录有各个VM对应的接口信息,所述接口信息中包括:VM连接的OF交换机的交换机ID、该VM上连接该OF交换机的虚拟网卡接口的MAC地址、该OF交换机上连接该VM的dvport口所属VLAN的VLAN ID以及该dvport口的端口ID;
所述表项生成模块,还用于根据所述查找模块查找到的端口ID,生成用于指导所述下行单播报文转发的流表表项并保存到本地流表中,其中,生成的流表表项的执行动作中包括:通过所述查找到的端口ID所指示的dvport口转发所述下行单播报文;
所述发送模块,还用于将所述表项生成模块生成的流表表项和所述接收模块接收到的下行单播报文发送给发来所述下行单播报文的OF交换机。
12.根据权利要求11所述的控制器,其特征在于,
所述查找模块,还用于若所述接收模块接收到的下行报文是非单播报文,则根据下行非单播报文中的VLAN ID,在所述接口管理表中查找到对应的至少两个端口ID,根据所述下行非单播报文中的源MAC地址和VLAN ID,在所述接口管理表中查找对应的端口ID;
所述表项生成模块,还用于若所述查找模块没有查找到对应的端口ID,则根据所述至少两个端口ID,生成用于指导所述下行非单播报文转发的流表表项并保存到本地流表中,其中,生成的流表表项的执行动作中包括:通过所述至少两个端口ID所指示的dvport口转发所述下行非单播报文;还用于若所述查找模块查找到了对应的端口ID,则从所述至少两个端口ID中去除该查找到的端口ID,之后根据剩余的端口ID,生成用于指导所述下行非单播报文转发的流表表项并保存到本地流表中,其中,生成的流表表项的执行动作中包括:通过所述剩余的端口ID所指示的dvport口转发所述下行非单播报文;
所述发送模块,还用于将所述表项生成模块生成的流表表项和所述接收模块接收到的下行非单播报文发送给发来所述下行非单播报文的OF交换机。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310470421.6A CN104468358B (zh) | 2013-09-25 | 2013-09-25 | 分布式虚拟交换机系统的报文转发方法及设备 |
US14/899,925 US20160197824A1 (en) | 2013-09-25 | 2014-09-24 | Packet forwarding |
EP14847002.4A EP3050264A1 (en) | 2013-09-25 | 2014-09-24 | Packet forwarding |
PCT/CN2014/087263 WO2015043464A1 (en) | 2013-09-25 | 2014-09-24 | Packet forwarding |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310470421.6A CN104468358B (zh) | 2013-09-25 | 2013-09-25 | 分布式虚拟交换机系统的报文转发方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104468358A true CN104468358A (zh) | 2015-03-25 |
CN104468358B CN104468358B (zh) | 2018-05-11 |
Family
ID=52742061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310470421.6A Active CN104468358B (zh) | 2013-09-25 | 2013-09-25 | 分布式虚拟交换机系统的报文转发方法及设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20160197824A1 (zh) |
EP (1) | EP3050264A1 (zh) |
CN (1) | CN104468358B (zh) |
WO (1) | WO2015043464A1 (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104821895A (zh) * | 2015-04-21 | 2015-08-05 | 杭州华三通信技术有限公司 | 一种节能方法及装置 |
CN104967578A (zh) * | 2015-07-08 | 2015-10-07 | 上海斐讯数据通信技术有限公司 | Sdn控制器和交换机、流表管理方法及报文处理方法 |
CN105763444A (zh) * | 2016-01-27 | 2016-07-13 | 杭州华三通信技术有限公司 | 一种路由同步方法及装置 |
CN106998347A (zh) * | 2016-01-26 | 2017-08-01 | 中兴通讯股份有限公司 | 服务器虚拟化网络共享的装置和方法 |
CN107113240A (zh) * | 2015-12-31 | 2017-08-29 | 华为技术有限公司 | 可扩展虚拟局域网报文发送方法、计算机设备和可读介质 |
WO2017173952A1 (zh) * | 2016-04-08 | 2017-10-12 | 中兴通讯股份有限公司 | 一种实现虚拟机统一管理及互通的方法、装置和系统 |
CN107547283A (zh) * | 2017-09-21 | 2018-01-05 | 新华三技术有限公司 | 分布式聚合组的管理方法及装置 |
CN108650130A (zh) * | 2018-05-10 | 2018-10-12 | 中国电子科技集团公司第七研究所 | 网络资源描述方法和装置 |
CN108737274A (zh) * | 2018-05-22 | 2018-11-02 | 新华三技术有限公司 | 一种报文转发方法及装置 |
CN109218188A (zh) * | 2017-07-04 | 2019-01-15 | 华为技术有限公司 | 链路聚合系统、方法、装置、设备及介质 |
CN109246007A (zh) * | 2017-07-10 | 2019-01-18 | 杭州达乎科技有限公司 | 聚合接口的主备端口切换方法、存储装置和网络设备 |
CN109714266A (zh) * | 2018-12-25 | 2019-05-03 | 迈普通信技术股份有限公司 | 一种数据处理方法及网络设备 |
CN111865626A (zh) * | 2019-04-24 | 2020-10-30 | 厦门网宿有限公司 | 一种基于聚合端口的数据收发方法和装置 |
CN112019432A (zh) * | 2020-07-31 | 2020-12-01 | 深圳市风云实业有限公司 | 一种基于多端口捆绑的上行输入报文转发系统 |
CN113839883A (zh) * | 2021-09-30 | 2021-12-24 | 杭州迪普科技股份有限公司 | 一种端口聚合组的配置方法 |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104518967B (zh) * | 2013-09-30 | 2017-12-12 | 华为技术有限公司 | 路由方法、设备和系统 |
US9455901B2 (en) | 2013-10-04 | 2016-09-27 | Nicira, Inc. | Managing software and hardware forwarding elements to define virtual networks |
US20150180769A1 (en) * | 2013-12-20 | 2015-06-25 | Alcatel-Lucent Usa Inc. | Scale-up of sdn control plane using virtual switch based overlay |
CN105262685B (zh) * | 2014-07-14 | 2018-10-09 | 新华三技术有限公司 | 一种报文处理方法和装置 |
US10411742B2 (en) * | 2014-09-26 | 2019-09-10 | Hewlett Packard Enterprise Development Lp | Link aggregation configuration for a node in a software-defined network |
KR102233645B1 (ko) * | 2014-11-11 | 2021-03-30 | 한국전자통신연구원 | 가상 네트워크 기반 분산 다중 도메인 라우팅 제어 시스템 및 라우팅 제어 방법 |
CN105763512B (zh) * | 2014-12-17 | 2019-03-15 | 新华三技术有限公司 | Sdn虚拟化网络的通信方法和装置 |
CN105812269B (zh) * | 2014-12-31 | 2019-04-23 | 华为技术有限公司 | Sdn中创建端口组的方法、sdn控制器及网络系统 |
US9942058B2 (en) | 2015-04-17 | 2018-04-10 | Nicira, Inc. | Managing tunnel endpoints for facilitating creation of logical networks |
US9860350B2 (en) | 2015-05-12 | 2018-01-02 | Huawei Technologies Co., Ltd. | Transport software defined networking (SDN)—logical to physical topology discovery |
US10015053B2 (en) * | 2015-05-21 | 2018-07-03 | Huawei Technologies Co., Ltd. | Transport software defined networking (SDN)—logical link aggregation (LAG) member signaling |
US10425319B2 (en) | 2015-05-21 | 2019-09-24 | Huawei Technologies Co., Ltd. | Transport software defined networking (SDN)—zero configuration adjacency via packet snooping |
US10554484B2 (en) | 2015-06-26 | 2020-02-04 | Nicira, Inc. | Control plane integration with hardware switches |
US9819581B2 (en) | 2015-07-31 | 2017-11-14 | Nicira, Inc. | Configuring a hardware switch as an edge node for a logical router |
US9967182B2 (en) | 2015-07-31 | 2018-05-08 | Nicira, Inc. | Enabling hardware switches to perform logical routing functionalities |
US9847938B2 (en) | 2015-07-31 | 2017-12-19 | Nicira, Inc. | Configuring logical routers on hardware switches |
US10313186B2 (en) | 2015-08-31 | 2019-06-04 | Nicira, Inc. | Scalable controller for hardware VTEPS |
US10263828B2 (en) | 2015-09-30 | 2019-04-16 | Nicira, Inc. | Preventing concurrent distribution of network data to a hardware switch by multiple controllers |
US10230576B2 (en) | 2015-09-30 | 2019-03-12 | Nicira, Inc. | Managing administrative statuses of hardware VTEPs |
US9948577B2 (en) | 2015-09-30 | 2018-04-17 | Nicira, Inc. | IP aliases in logical networks with hardware switches |
US9979593B2 (en) | 2015-09-30 | 2018-05-22 | Nicira, Inc. | Logical L3 processing for L2 hardware switches |
US10250553B2 (en) | 2015-11-03 | 2019-04-02 | Nicira, Inc. | ARP offloading for managed hardware forwarding elements |
US9813286B2 (en) * | 2015-11-26 | 2017-11-07 | Industrial Technology Research Institute | Method for virtual local area network fail-over management, system therefor and apparatus therewith |
US9992112B2 (en) | 2015-12-15 | 2018-06-05 | Nicira, Inc. | Transactional controls for supplying control plane data to managed hardware forwarding elements |
US9998375B2 (en) | 2015-12-15 | 2018-06-12 | Nicira, Inc. | Transactional controls for supplying control plane data to managed hardware forwarding elements |
CN107295038B (zh) * | 2016-03-31 | 2021-02-09 | 华为技术有限公司 | 一种建立接口组的方法及装置 |
US10182035B2 (en) | 2016-06-29 | 2019-01-15 | Nicira, Inc. | Implementing logical network security on a hardware switch |
CN109479028B (zh) * | 2016-08-03 | 2020-09-25 | 华为技术有限公司 | 网络接口卡、计算设备以及数据包处理方法 |
CN109074330B (zh) | 2016-08-03 | 2020-12-08 | 华为技术有限公司 | 网络接口卡、计算设备以及数据包处理方法 |
US10965621B2 (en) * | 2016-12-15 | 2021-03-30 | At&T Intellectual Property I, L.P. | Application-based multiple radio access technology and platform control using SDN |
US11405335B2 (en) * | 2017-01-13 | 2022-08-02 | Nicira, Inc. | Managing network traffic in virtual switches based on logical port identifiers |
US11190440B2 (en) * | 2018-01-19 | 2021-11-30 | Vmware, Inc. | Methods and apparatus to configure and manage network resources for use in network-based computing |
US11102142B2 (en) | 2018-01-24 | 2021-08-24 | Vmware, Inc. | Methods and apparatus to perform dynamic load balancing for a multi-fabric environment in network-based computing |
US10616319B2 (en) | 2018-02-06 | 2020-04-07 | Vmware, Inc. | Methods and apparatus to allocate temporary protocol ports to control network load balancing |
US11811609B2 (en) * | 2018-05-04 | 2023-11-07 | International Business Machines Corporation | Storage target discovery in a multi-speed and multi-protocol ethernet environment |
CN110912825B (zh) | 2018-09-18 | 2022-08-02 | 阿里巴巴集团控股有限公司 | 一种报文的转发方法、装置、设备及系统 |
CN109450794B (zh) * | 2018-12-11 | 2021-02-23 | 上海云轴信息科技有限公司 | 一种基于sdn网络的通信方法及设备 |
US11258729B2 (en) * | 2019-02-27 | 2022-02-22 | Vmware, Inc. | Deploying a software defined networking (SDN) solution on a host using a single active uplink |
CN111740877B (zh) * | 2020-05-29 | 2021-08-10 | 苏州浪潮智能科技有限公司 | 一种链路检测方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013020126A1 (en) * | 2011-08-04 | 2013-02-07 | Midokura Pte. Ltd. | System and method for implementing and managing virtual networks |
US20130124707A1 (en) * | 2011-11-10 | 2013-05-16 | Brocade Communications Systems, Inc. | System and method for flow management in software-defined networks |
CN103200122A (zh) * | 2013-03-05 | 2013-07-10 | 中兴通讯股份有限公司 | 一种软件定义网络中组表的处理方法、系统和控制器 |
CN103236975A (zh) * | 2013-05-09 | 2013-08-07 | 杭州华三通信技术有限公司 | 报文转发方法和装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8842679B2 (en) * | 2010-07-06 | 2014-09-23 | Nicira, Inc. | Control system that elects a master controller instance for switching elements |
US9025459B2 (en) * | 2013-04-13 | 2015-05-05 | Hei Tao Fung | Network traffic load balancing |
JPWO2014208538A1 (ja) * | 2013-06-25 | 2017-02-23 | 日本電気株式会社 | 通信システムと装置と方法とプログラム |
CN104253770B (zh) * | 2013-06-27 | 2017-07-14 | 新华三技术有限公司 | 实现分布式虚拟交换机系统的方法及设备 |
-
2013
- 2013-09-25 CN CN201310470421.6A patent/CN104468358B/zh active Active
-
2014
- 2014-09-24 US US14/899,925 patent/US20160197824A1/en not_active Abandoned
- 2014-09-24 WO PCT/CN2014/087263 patent/WO2015043464A1/en active Application Filing
- 2014-09-24 EP EP14847002.4A patent/EP3050264A1/en not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013020126A1 (en) * | 2011-08-04 | 2013-02-07 | Midokura Pte. Ltd. | System and method for implementing and managing virtual networks |
US20130124707A1 (en) * | 2011-11-10 | 2013-05-16 | Brocade Communications Systems, Inc. | System and method for flow management in software-defined networks |
CN103200122A (zh) * | 2013-03-05 | 2013-07-10 | 中兴通讯股份有限公司 | 一种软件定义网络中组表的处理方法、系统和控制器 |
CN103236975A (zh) * | 2013-05-09 | 2013-08-07 | 杭州华三通信技术有限公司 | 报文转发方法和装置 |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104821895B (zh) * | 2015-04-21 | 2017-12-15 | 新华三技术有限公司 | 一种节能方法及装置 |
CN104821895A (zh) * | 2015-04-21 | 2015-08-05 | 杭州华三通信技术有限公司 | 一种节能方法及装置 |
CN104967578A (zh) * | 2015-07-08 | 2015-10-07 | 上海斐讯数据通信技术有限公司 | Sdn控制器和交换机、流表管理方法及报文处理方法 |
CN104967578B (zh) * | 2015-07-08 | 2017-11-21 | 上海斐讯数据通信技术有限公司 | Sdn控制器和交换机、流表管理方法及报文处理方法 |
CN107113240A (zh) * | 2015-12-31 | 2017-08-29 | 华为技术有限公司 | 可扩展虚拟局域网报文发送方法、计算机设备和可读介质 |
US11283650B2 (en) | 2015-12-31 | 2022-03-22 | Huawei Technologies Co., Ltd. | Method for sending virtual extensible local area network packet, computer device, and computer readable medium |
US10771286B2 (en) | 2015-12-31 | 2020-09-08 | Huawei Technologies Co., Ltd. | Method for sending virtual extensible local area network packet, computer device, and computer readable medium |
CN106998347A (zh) * | 2016-01-26 | 2017-08-01 | 中兴通讯股份有限公司 | 服务器虚拟化网络共享的装置和方法 |
CN105763444B (zh) * | 2016-01-27 | 2019-03-15 | 新华三技术有限公司 | 一种路由同步方法及装置 |
CN105763444A (zh) * | 2016-01-27 | 2016-07-13 | 杭州华三通信技术有限公司 | 一种路由同步方法及装置 |
WO2017173952A1 (zh) * | 2016-04-08 | 2017-10-12 | 中兴通讯股份有限公司 | 一种实现虚拟机统一管理及互通的方法、装置和系统 |
CN109218188B (zh) * | 2017-07-04 | 2021-11-19 | 华为技术有限公司 | 链路聚合系统、方法、装置、设备及介质 |
CN109218188A (zh) * | 2017-07-04 | 2019-01-15 | 华为技术有限公司 | 链路聚合系统、方法、装置、设备及介质 |
CN109246007A (zh) * | 2017-07-10 | 2019-01-18 | 杭州达乎科技有限公司 | 聚合接口的主备端口切换方法、存储装置和网络设备 |
CN107547283B (zh) * | 2017-09-21 | 2021-03-02 | 新华三技术有限公司 | 分布式聚合组的管理方法及装置 |
CN107547283A (zh) * | 2017-09-21 | 2018-01-05 | 新华三技术有限公司 | 分布式聚合组的管理方法及装置 |
CN108650130B (zh) * | 2018-05-10 | 2021-06-01 | 中国电子科技集团公司第七研究所 | 网络资源描述方法和装置 |
CN108650130A (zh) * | 2018-05-10 | 2018-10-12 | 中国电子科技集团公司第七研究所 | 网络资源描述方法和装置 |
CN108737274B (zh) * | 2018-05-22 | 2021-02-26 | 新华三技术有限公司 | 一种报文转发方法及装置 |
CN108737274A (zh) * | 2018-05-22 | 2018-11-02 | 新华三技术有限公司 | 一种报文转发方法及装置 |
CN109714266A (zh) * | 2018-12-25 | 2019-05-03 | 迈普通信技术股份有限公司 | 一种数据处理方法及网络设备 |
CN109714266B (zh) * | 2018-12-25 | 2022-06-07 | 迈普通信技术股份有限公司 | 一种数据处理方法及网络设备 |
CN111865626A (zh) * | 2019-04-24 | 2020-10-30 | 厦门网宿有限公司 | 一种基于聚合端口的数据收发方法和装置 |
CN111865626B (zh) * | 2019-04-24 | 2023-05-23 | 厦门网宿有限公司 | 一种基于聚合端口的数据收发方法和装置 |
CN112019432A (zh) * | 2020-07-31 | 2020-12-01 | 深圳市风云实业有限公司 | 一种基于多端口捆绑的上行输入报文转发系统 |
CN112019432B (zh) * | 2020-07-31 | 2022-02-01 | 深圳市风云实业有限公司 | 一种基于多端口捆绑的上行输入报文转发系统 |
CN113839883A (zh) * | 2021-09-30 | 2021-12-24 | 杭州迪普科技股份有限公司 | 一种端口聚合组的配置方法 |
CN113839883B (zh) * | 2021-09-30 | 2023-05-26 | 杭州迪普科技股份有限公司 | 一种端口聚合组的配置方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3050264A1 (en) | 2016-08-03 |
US20160197824A1 (en) | 2016-07-07 |
WO2015043464A1 (en) | 2015-04-02 |
CN104468358B (zh) | 2018-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104468358A (zh) | 分布式虚拟交换机系统的报文转发方法及设备 | |
US20220294701A1 (en) | Method and system of connecting to a multipath hub in a cluster | |
US9736278B1 (en) | Method and apparatus for connecting a gateway router to a set of scalable virtual IP network appliances in overlay networks | |
CN110896371B (zh) | 一种虚拟网络设备及相关方法 | |
US9665530B2 (en) | Method and system for implementing elastic network interface and interconnection | |
CN104468462B (zh) | 分布式虚拟交换机系统的报文转发方法及设备 | |
US8612559B2 (en) | Central controller for coordinating multicast message transmissions in distributed virtual network switch environment | |
US8953618B2 (en) | IP multicast service leave process for MPLS-based virtual private cloud networking | |
US8243594B1 (en) | Coordinated control of multiple parallel links or link aggregations | |
JP5497244B2 (ja) | スイッチング・ネットワークにおいてフロー制御を実施するための方法、マスタ・スイッチ、スイッチング・ネットワーク、プログラム、装置、システム | |
US9059922B2 (en) | Network traffic distribution | |
CN104022960A (zh) | 基于OpenFlow协议实现PVLAN的方法和装置 | |
CN104219075B (zh) | 一种基于开放流协议的lacp环路检测方法和装置 | |
CN104104570A (zh) | Irf系统中的聚合处理方法及装置 | |
CN104253770A (zh) | 实现分布式虚拟交换机系统的方法及设备 | |
CN105264493A (zh) | 信息中心网络上的动态虚拟机迁移 | |
WO2015039617A1 (zh) | 一种报文处理方法、系统及设备 | |
CN113810205A (zh) | 服务算力信息的上报、接收方法、服务器及数据中心网关 | |
Tadesse et al. | Energy-efficient traffic allocation in SDN-basec backhaul networks: Theory and implementation | |
US20160277251A1 (en) | Communication system, virtual network management apparatus, communication node, communication method, and program | |
CN103138955A (zh) | 在第2层网络中使用多个igmp查询器 | |
Cui et al. | DiFS: Distributed Flow Scheduling for adaptive switching in FatTree data center networks | |
WO2015123853A1 (zh) | 一种数据流处理方法及装置 | |
Moura et al. | Resilience enhancement at edge cloud systems | |
WO2014157512A1 (ja) | 仮想マシン提供システム、経路決定装置、経路制御方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Applicant after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Applicant before: Huasan Communication Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |