CN104468462A - 分布式虚拟交换机系统的报文转发方法及设备 - Google Patents
分布式虚拟交换机系统的报文转发方法及设备 Download PDFInfo
- Publication number
- CN104468462A CN104468462A CN201310416405.9A CN201310416405A CN104468462A CN 104468462 A CN104468462 A CN 104468462A CN 201310416405 A CN201310416405 A CN 201310416405A CN 104468462 A CN104468462 A CN 104468462A
- Authority
- CN
- China
- Prior art keywords
- message
- vlan
- port
- switch
- list item
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本申请公开了一种分布式虚拟交换机系统的报文转发方法及设备,该方法包括:控制器获取VM对应的接口信息,将包含有该VM对应的接口信息的表项添加到VLAN转发表中,其中,该VM对应的接口信息中包括:该VM连接的OF交换机的DataPath ID、该VM上连接该OF交换机的虚拟网卡接口的MAC地址、该OF交换机上连接该VM的dvport口所属VLAN的VLAN ID以及该dvport口的端口标识;接收OF交换机发来的报文;当接收到的报文是OF交换机通过连接物理交换机的一uplink口接收到的下行单播报文时,根据下行单播报文的报文头中的信息和VLAN转发表,生成用于指导下行单播报文转发的流表表项并保存到本地流表中;将生成的流表表项和接收到的报文发送给发来该报文的OF交换机。
Description
技术领域
本申请涉及网络通信技术领域,特别涉及一种分布式虚拟交换机系统的报文转发方法及设备。
背景技术
EVB(Edge Virtual Bridging,边缘虚拟桥接)技术分为交换机EVB技术和服务器(station)EVB技术两种,其中,服务器EVB技术应用于数据中心服务器,具体是在数据中心服务器上的虚拟交换机中实现,用于简化虚拟服务器的流量转发实现,对虚拟服务器的网络交换、流量管理和策略下发进行集中控制,并能在虚拟迁移时实现网络管理和策略的自动迁移。
支持EVB的虚拟交换机分为VEB(Virtual Ethernet Bridge,虚拟边缘交换机)和VEPA(Virtual Edge Port Aggregator,虚拟边缘端口汇聚)两种。在服务器上采用纯软件方式的VEB实现方式简单,且技术兼容性好,但也面临着诸如占用CPU(中央处理器)资源导致虚拟机性能下降,以及虚拟机流量监管、虚拟机的网络策略实施以及管理可扩展性等问题。
如图1所示,VEPA将虚拟机(Virtual Machine,VM)产生的网络流量全部交由与服务器相连的物理交换机ToR(Top of Rack switch,机架顶部交换机,也可称为边缘交换机)进行处理,即使同一台服务器上的VM之间的数据流,也将在ToR上查表处理后,再回到目的VM上。VEPA方式不仅借助ToR解决了VM间流量转发,同时还实现了对VM数据流的监管,并且将VM接入层网络纳入到传统服务器接入网络管理体系中。
OpenFlow(开放流,OF)是斯坦福大学发起的一种网络技术,它使传统的二层和三层交换机具备了细粒度流转发能力,即传统的基于MAC(Media Access Control,媒体访问控制)的网包转发,基于IP(Internet Protocol,因特网协议)的路由转发,被拓展到了基于多域网包包头描述的流转发。同时,传统的控制层面从转发设备中剥离出来,所有转发行为的决策从交换机自身“迁移”到了某个集中控制器上,该控制器支持OpenFlow,又称为OpenFlow控制器。
每一个OF交换机(Switch)都有一张流表(Flow Table),用于进行包查找和转发。OpenFlow交换机可以通过OpenFlow协议经一个安全通道(Secure Channel)连接到外部的OpenFlow控制器(controller),对流表进行查找和管理,如图2所示。
流表包括:包头域(header fields),活动计数器(counters)以及0个或多个执行动作(actions)。OF交换机在接收到一个数据包之后,根据该数据包的包头中的多个域的值,在流表中查找匹配表项,如果查找到了匹配表项,则按照该匹配表项中的执行行动对该数据包进行相应处理,否则,通过安全通道将该数据包转发到控制器,由控制器来决策该数据包的执行行动。按照执行行动可以将数据包转发到一个或者多个接口。
包头域中可以包括12个域,具体为:入端口(Ingress Port)、Ethernet(以太网)源地址、Ethernet目标地址、Ethernet类型、VLAN(Virtual Local Area Network,虚拟局域网)ID(标识)、VLAN优先级、IP源地址、IP目标地址、IP协议、IP ToS(Typeof Service,服务类型)比特位、TCP(Transmission Control Protocol,传输控制协议)/UDP(User Datagram Protocol,用户数据报协议)目标端口、TCP/UDP源端口。每一个域的值可以是一个确定值或者所有值(any),更准确的匹配可以通过掩码实现。
计数器可以针对每张表、每个流、每个端口、每个队列来维护。计数器用来统计流量的一些信息,例如活动表项、查找次数、发送包数等。
流表中的每一个表项对应于0个或者多个执行行动,如果一个表项中没有执行行动,则默认为丢弃。多个执行行动的执行需要依照优先级顺序依次进行。另外,OF交换机可以对不支持的执行行动返回错误(unspported flow error)。
Open virtual switch(OVS,开源虚拟交换机)是一个开源的虚拟交换机。OVS的目的是成为一个产品级质量的多层虚拟交换机,通过支持可编程扩展来实现大规模的网络自动化。设计目标是方便管理和配置虚拟机网络,检测多物理主机在动态虚拟环境中的流量情况。OVS的基本设计思路是将传统交换机的MAC转发模型在服务器中实现,实现了基于服务器虚拟化的分布式的虚拟交换系统,并且,简单地支持了OpenFlow。
其中,OVS提供的支持OpenFlow的特性包括:
■ovs-openflowd:一个简单的OpenFlow交换机;
■ovs-controller:一个简单的OpenFlow控制器;
■ovs-ofctl:查询和控制OpenFlow交换机和控制器;
■ovs-pki:为OpenFlow交换机创建和管理公钥框架;
■tcpdump的补丁,解析OpenFlow的消息。
虽然现有技术的OVS实现了分布式的虚拟交换,并且能够简单支持OpenFlow,但是,在转发报文时,仍然是依赖于硬件转发芯片基于MAC地址对报文进行转发,业务实现不灵活,控制单一,目前还没有一种技术能够实现基于OpenFlow的支持VLAN的报文转发。
发明内容
本申请提供了一种分布式虚拟交换机系统的报文转发方法及设备,以实现基于OpenFlow的支持VLAN的报文转发。
本申请的技术方案如下:
一方面,提供了一种分布式虚拟交换机系统的报文转发方法,分布式虚拟交换机系统中包括:控制器和多个服务器,服务器上设置有虚拟的OF交换机和VM,VM通过OF交换机连接至外部的物理交换机,该方法应用于控制器,该方法包括:
获取VM对应的接口信息,将包含有该VM对应的接口信息的表项添加到VLAN转发表中,其中,该VM对应的接口信息中包括:该VM连接的OF交换机的DataPathID、该VM上连接该OF交换机的虚拟网卡接口的MAC地址、该OF交换机上连接该VM的dvport口所属VLAN的VLAN ID以及该dvport口的端口标识;
接收OF交换机发来的报文;
当接收到的报文是OF交换机通过连接物理交换机的一uplink口接收到的下行单播报文时,根据下行单播报文的报文头中的信息和VLAN转发表,生成用于指导下行单播报文转发的流表表项并保存到本地流表中;
将生成的流表表项和接收到的报文发送给发来该报文的OF交换机。
另一方面,还提供了一种分布式虚拟交换机系统的控制器,分布式虚拟交换机系统中包括:控制器和多个服务器,服务器上设置有虚拟的OF交换机和VM,VM通过OF交换机连接至外部的物理交换机,控制器包括:
获取添加模块,用于获取VM对应的接口信息,将包含有该VM对应的接口信息的表项添加到VLAN转发表中,其中,该VM对应的接口信息中包括:该VM连接的OF交换机的DataPath ID、该VM上连接该OF交换机的虚拟网卡接口的MAC地址、该OF交换机上连接该VM的dvport口所属VLAN的VLAN ID以及该dvport口的端口标识;
接收模块,用于接收OF交换机发来的报文;
表项生成模块,用于当接收模块接收到的报文是OF交换机通过连接物理交换机的一uplink口接收到的下行单播报文时,根据下行单播报文的报文头中的信息和VLAN转发表,生成用于指导下行单播报文转发的流表表项并保存到本地流表中;
发送模块,用于将表项生成模块生成的流表表项和接收模块接收到的报文发送给发来该报文的OF交换机。
通过本申请的以上技术方案,控制器可以获取到每一个VM对应的接口信息,并将包含有该VM对应的接口信息的表项添加到VLAN转发表中,其中,该接口信息中包括:该VM连接的OF交换机的DataPath ID、该VM上连接该OF交换机的虚拟网卡接口的MAC地址、该OF交换机上连接该VM的dvport口所属VLAN的VLAN ID以及该dvport口的端口标识,即,通过VLAN转发表记录了各个VM的虚拟网卡接口的相关信息,这样,在OF交换机接收到物理交换机发来的下行单播报文并发送给控制器来决策该下行单播报文的转发行为后,控制器就可以根据该下行单播报文的报文头中的信息和该VLAN转发表生成用于指导该下行单播报文转发的流表表项,从而实现了基于OpenFlow协议的支持VLAN的报文转发。
附图说明
图1是现有技术的VEPA方式实现示意图;
图2是OpenFlow协议中的流表管理示意图;
图3是本申请实施例中的分布式虚拟交换机系统的架构示意图;
图4是本申请实施例中的OF交换机的接口示意图;
图5是本申请实施例一的分布式虚拟交换机系统的报文转发方法的流程图;
图6是本申请实施例二的OF交换机与VM、ToR之间的连接示意图;
图7是本申请实施例三的分布式虚拟交换机系统中的控制器的结构示意图;
图8是本申请实施例四的分布式虚拟交换机系统的实际架构示意图。
具体实施方式
为了实现基于OpenFlow的支持VLAN的报文转发,本申请的以下实施例中提供了一种分布式虚拟交换机系统的报文转发方法,以及一种可以应用该方法的控制器。
如图3所示,本申请以下实施例的分布式虚拟交换机系统中包括:全局统一的控制器和多个服务器,服务器上设置有虚拟的OF交换机和VM,VM通过OF交换机连接至外部的物理交换机(即ToR或边缘交换机)。控制器利用OpenFlow协议统一控制所有OpenFlow交换机,形成一个分布式虚拟交换机系统。
OF交换机上有两类接口,一类为上行接口,称为uplink口,另一类为下行接口,称为dvport口,其中,uplink口与物理交换机相连,而dvport口与VM的虚拟网卡接口相连,如图4所示。
基于此,OF交换机接收的报文可为:OF交换机通过任一dvport口接收VM发出的报文,称为上行报文,或者,OF交换机通过连接物理交换机的任一uplink口接收的报文,称为下行报文。
实施例一
如图5所示,本申请实施例一的分布式虚拟交换机系统的报文转发方法由控制器来执行,该方法包括以下步骤:
步骤502,获取VM对应的接口信息,将包含有该VM对应的接口信息的表项添加到VLAN转发表中,其中,该VM对应的接口信息中包括:该VM连接的OF交换机的DataPath(数据转发路径)ID(标识)、该VM上连接该OF交换机的虚拟网卡接口的MAC地址、该OF交换机上连接该VM的dvport口所属VLAN的VLAN ID以及该dvport口的端口标识;
在步骤S502中,控制器获取VM对应的接口信息,将包含有该VM对应的接口信息的表项添加到VLAN转发表中的方法包括步骤11-13的VM上线过程:
步骤11:VMM Center(虚拟机管理软件)在配置一个VM上线时,将该VM连接OF交换机的虚拟网卡接口加入到一个下行Port Group(端口组)中,从该端口组的端口标识范围中选择一个未被使用的端口标识,分配给该虚拟网卡接口,然后,将该虚拟网卡接口的端口标识和所属的端口组通知给控制器,将该虚拟网卡接口的MAC地址、所属VLAN的VLAN ID以及端口ID通知给OF交换机;
VMM Center中,预先定义了多个端口组,每一个端口组对应一个网络策略,该网络策略包括:该端口组的端口标识范围,该端口组所属的VLAN,该端口组的类型为uplink口或dvport口;加入到一个端口组中的接口只能是与该端口组的类型相同的接口,即,当一个端口组的类型是uplink口时,加入到该端口组中的接口只能是uplink口,当一个端口组的类型是dvport口时,加入到该端口组中的接口只能是dvport口。并且,VMM Center预先已经将每一个端口组及其对应的网络策略通知给了控制器。其中,类型为dvport口的端口组称为下行端口组,类型为uplink口的端口组称为上行端口组。
VM连接OF交换机的虚拟网卡接口与该OF交换机连接该VM的dvport口实际上就是同一个接口,因此,该虚拟网卡接口与该dvport口的端口标识是相同的,所属的VLAN也是相同的。
步骤12:该VM连接的OF交换机检测(或感知)到该VM上线后,向控制器发送接口添加消息,以便告知控制器该接口添加事件,其中,接口添加消息中携带有该OF交换机的DataPath ID、该VM上连接该OF交换机的虚拟网卡接口的MAC地址、该OF交换机上连接该VM的dvport口所属VLAN的VLAN ID以及该dvport口的端口标识(也即该VM上连接该OF交换机的虚拟网卡接口所属VLAN的VLAN ID以及该虚拟网卡接口的端口标识);
其中,DataPath ID是能够唯一标识一个OF交换机的标识。该VM上连接该OF交换机的虚拟网卡接口的MAC地址、该OF交换机上连接该VM的dvport口所属VLAN的VLAN ID以及该dvport口的端口标识是由VMM Center在配置该VM上线后,通知给OF交换机的。
步骤13:控制器接收OF交换机在检测到该VM上线后发来的接口添加消息,然后,在如表1所示的VLAN转发表中添加一个表项,其中,该表项中包括:接口添加消息中携带的DataPath ID、MAC地址、VLAN ID和端口标识。
表1
该表1用于针对OF交换机接收到的下行单播报文,查找出端口。
另外,在步骤13中,在控制器接收到该接口添加消息之后,还会在如表2所示的VLAN端口表中添加一个表项,其中,该表项中包括:接口添加消息中携带的DataPathID、VLAN ID和端口标识。
表2
可见,与如表1所示的VLAN转发表相比,如表2所示的VLAN端口表只是少了一列:MAC地址而已,即,在VLAN端口表中不需要记录VM上连接OF交换机的虚拟网卡接口的MAC地址。
该表2用于针对OF交换机接收到的下行非单播报文,查找出端口。
步骤504,接收OF交换机发来的报文;
OF交换机在接收到VM或ToR发来的报文后,会根据该报文的报文头中的信息在本地流表中查找匹配表项,若没有查找到,则将该报文封装成OF消息后发送给控制器,若查找到了,则按照查找到的流表表项对该报文进行转发处理。
步骤S506,判断接收到的报文是OF交换机通过连接物理交换机的一uplink口接收到的下行报文或通过连接VM的一dvport口接收到的上行报文,若是下行报文,则进入步骤S508,若是上行报文,则进入步骤S514;
在步骤S506中,判断接收到的报文是OF交换机通过uplink口或dvport口接收到的方法为:根据OF消息的消息头中携带的DataPath ID和源端口的端口标识,查找到对应的端口组的类型;若查找到的端口组的类型为uplink口,则判断出接收到的报文是OF交换机通过uplink口接收到的,即为下行报文;若查找到的端口组的类型为dvport口,则判断出接收到的报文是OF交换机通过dvport口接收到的,即为上行报文。
步骤S508,判断该报文是否是单播报文,若是,则进入步骤S510,否则,进入步骤S512;
步骤S510,接收到的报文是OF交换机通过连接物理交换机的一uplink口接收到的下行单播报文,则控制器根据该下行单播报文的报文头中的信息和VLAN转发表,生成用于指导下行单播报文转发的流表表项并保存到本地流表中;然后,执行步骤S516;
在步骤S510中,根据下行单播报文的报文头中的信息和VLAN转发表,生成用于指导下行单播报文转发的流表表项的方法包括步骤21-22:
步骤21:根据该下行单播报文中的目的MAC地址和VLAN ID,在如表1所示的VLAN转发表中查找到对应的端口标识;
步骤22:根据在步骤21中查找到的端口标识,生成用于指导该下行单播报文转发的流表表项,其中,生成的流表表项的执行动作中包括:通过查找到的端口标识所指示的dvport口转发该下行单播报文,以及剥除该下行单播报文中的VLAN ID。
步骤S512,接收到的报文是OF交换机通过连接物理交换机的一上行接口uplink口接收到的下行非单播报文,则控制器根据该下行非单播报文的报文头中的信息和VLAN端口表,生成用于指导下行非单播报文转发的流表表项并保存到本地流表中;然后,执行步骤S516;
在步骤S512中,根据该下行非单播报文的报文头中的信息和VLAN端口表,生成用于指导下行非单播报文转发的流表表项的方法包括步骤31-35:
步骤31:根据该下行非单播报文中的VLAN ID,在如表2所示的VLAN端口表中查找到对应的至少两个端口标识;
步骤32:根据该下行非单播报文中的源MAC地址和VLAN ID,在如表1所示的VLAN转发表中查找对应的端口标识;
步骤33:判断在步骤32中是否查找到了对应的端口标识,若是,则执行步骤34,否则,执行步骤35;
步骤34:从在步骤31中查找到的至少两个端口标识中去除在步骤32中查找到的端口标识,之后根据剩余的端口标识,生成用于指导该下行非单播报文转发的流表表项,其中,生成的流表表项的执行动作中包括:通过剩余的端口标识所指示的dvport口转发该下行非单播报文,以及剥除该下行非单播报文中的VLAN ID;
步骤35:根据在步骤31中查找到的至少两个端口标识,生成用于指导该下行非单播报文转发的流表表项,其中,生成的流表表项的执行动作中包括:通过该至少两个端口标识所指示的dvport口转发该下行非单播报文,以及剥除该下行非单播报文中的VLAN ID。
步骤S514,接收到的报文是OF交换机通过连接VM的一dvport口接收到的上行报文,则控制器根据该上行报文所在的OF消息的消息头中的信息,生成用于指导该上行报文转发的流表表项并保存到本地流表中;然后,执行步骤S516;
在实际实施过程中,由于控制器和OF交换机之间运行OF协议,两者之间通信的数据都会封装在OF消息中发送给对方,因此,OF交换机会将报文封装在OF消息中发送给控制器。
在步骤S514中,根据该报文所在的OF消息的消息头中的信息,生成用于指导该上行报文转发的流表表项并保存到本地流表中的方法包括步骤41-43:
步骤41:根据该上行报文所在的OF消息的消息头中携带的DataPath ID和源端口的端口标识,查找到对应的VLAN ID;其中,控制器中保存有:端口组、该端口组中的各个接口、该端口组的类型、与该端口组所属VLAN的VLAN ID之间的对应关系,该端口组的类型为uplink口或dvport口;
消息头中的源端口即为OF交换机接收到该上行报文的dvport口。在实际实施过程中,DataPath ID和端口标识可以唯一标识一个dvport口。
步骤42:根据该消息头中携带的DataPath ID,查找对应的uplink口,其中,控制器中保存有:DataPath ID与该DataPath ID所指示的OF交换机上连接物理交换机的各个uplink口的对应关系;
步骤43:若在步骤42中查找到一个uplink口,则根据该uplink口生成用于指导该上行报文转发的流表表项并保存到本地流表中,其中,生成的流表表项的执行动作中包括:通过该uplink口转发该上行报文,以及在该上行报文中添加查找到的VLANID;若在步骤42中查找到至少两个uplink口,则从这至少两个uplink口中选择一个uplink口,根据选择的uplink口生成用于指导该上行报文转发的流表表项并保存到本地流表中,其中,生成的流表表项的执行动作中包括:通过选择的uplink口转发该上行报文,以及在该上行报文中添加查找到的VLAN ID。
对于上行报文来说,上行单播报文和上行非单播报文生成流表表项的过程是相同的。
步骤S516,将生成的流表表项和接收到的报文发送给发来该报文的OF交换机。
后续,OF交换机接收到该流表表项和报文后,会将该流表表项添加到本地流表中,然后,根据该报文的报文头中的信息在本地流表中查找匹配表项,此时,查找结果是查找到了匹配的流表表项,按照该流表表项对该报文进行转发处理。
显然,在实际实施过程中,也可以只创建并维护VLAN转发表,而不需要VLAN端口表,对于OF交换机接收到的下行单播报文和下行非单播报文,均只需要查询VLAN转发表即可。
本申请实施例的技术方案中,控制器可以获取到每一个VM对应的接口信息,并将包含有该VM对应的接口信息的表项添加到VLAN转发表中,其中,该接口信息中包括:该VM连接的OF交换机的DataPath ID、该VM上连接该OF交换机的虚拟网卡接口的MAC地址、该OF交换机上连接该VM的dvport口所属VLAN的VLAN ID以及该dvport口的端口标识,即,通过VLAN转发表记录了各个VM的虚拟网卡接口的相关信息,这样,在OF交换机接收到物理交换机发来的下行单播报文并发送给控制器来决策该下行单播报文的转发行为后,控制器就可以根据该下行单播报文的报文头中的信息和该VLAN转发表生成用于指导该下行单播报文转发的流表表项,从而实现了基于OpenFlow协议的支持VLAN的报文转发。
下面介绍一下VM下线时和VM迁移时,控制器的处理流程。
1、VM下线
此时,控制器的处理流程包括:
步骤S602,接收OF交换机在检测到一VM下线后发来的接口删除消息,其中,该接口删除消息中携带有该OF交换机的DataPath ID、该VM上连接该OF交换机的虚拟网卡接口的MAC地址、该OF交换机上连接该VM的dvport口所属VLAN的VLAN ID以及该dvport口的端口标识;
在步骤S602之前,VMM Center配置一个VM下线时,该VM连接的OF交换机检测到该VM下线,向控制器发送接口删除消息,该接口删除消息中携带有该OF交换机的DataPath ID、该VM上连接该OF交换机的虚拟网卡接口的MAC地址、该OF交换机上连接该VM的dvport口所属VLAN的VLAN ID以及该dvport口的端口标识。
在实际实施过程中,VM下线的方式可以是将该VM断电,也可以是将该VM从其所属的端口组中删除。
步骤S604,根据该接口删除消息中携带的DataPath ID、MAC地址、VLAN ID和端口标识,在VLAN转发表中查找匹配表项,并删除查找到的匹配表项;根据接口删除消息中携带的DataPath ID、VLAN ID和端口标识,在VLAN端口表中查找匹配表项,并删除查找到的匹配表项;根据该接口删除消息中携带的MAC地址和/或端口标识,在本地流表中查找匹配表项,并删除查找到的匹配表项;
步骤S606,向该接口删除消息中携带的DataPath ID所指示的OF交换机发送流删除消息,其中,该流删除消息中携带有该接口删除消息中携带的MAC地址和端口标识,流删除消息用于指示OF交换机根据该MAC地址和/或该端口标识在本地流表中查找匹配表项并删除查找到的匹配表项。
OF交换机接收到控制器发来的流删除消息后,根据该流删除消息中携带的MAC地址和/或该端口标识在本地流表中查找到匹配表项,并删除查找到的匹配表项。其中,查找到的匹配表项包括:包含有该MAC地址的流表表项,包含有该端口标识的流表表项,包含有该MAC地址和该端口标识的流表表项。
3、VM迁移
当一个VM从一个OF交换机(称为源OF交换机)迁移到另一个OF交换机(称为目标OF交换机)时,控制器的处理流程包括:
步骤S702,控制器接收源OF交换机在检测到该VM下线后发来的接口删除消息,其中,该接口删除消息中携带有源OF交换机的DataPath ID、该VM上连接源OF交换机的虚拟网卡接口的MAC地址、源OF交换机上连接该VM的dvport口所属VLAN的VLAN ID以及该dvport口的端口标识;
在步骤S702之前,VMM Center配置一个VM从源OF交换机迁移到目标OF交换机时,VMM Center将该VM的虚拟网卡接口的MAC地址、所属VLAN的VLAN ID以及端口ID通知给目标OF交换机。源OF交换机检测到该VM下线,向控制器发送接口删除消息,其中,该接口删除消息中携带有该接口删除消息中携带有源OF交换机的DataPath ID、该VM上连接源OF交换机的虚拟网卡接口的MAC地址、源OF交换机上连接该VM的dvport口所属VLAN的VLAN ID以及该dvport口的端口标识。
其中,VM迁移时,不会改变该VM所属的端口组,这样,该VM的虚拟网卡接口所属的VLAN也不会改变。
步骤S704,控制器根据该接口删除消息中携带的DataPath ID、MAC地址、VLANID和端口标识,在VLAN转发表中查找匹配表项,并删除查找到的匹配表项;根据该接口删除消息中携带的DataPath ID、VLAN ID和端口标识,在VLAN端口表中查找匹配表项,并删除查找到的匹配表项;根据该接口删除消息中携带的MAC地址和/或端口标识,在本地流表中查找匹配表项,并删除查找到的匹配表项;向该接口删除消息中携带的DataPath ID所指示的OF交换机发送流删除消息,其中,该流删除消息中携带有该接口删除消息中携带的MAC地址和端口标识,流删除消息用于指示OF交换机根据该MAC地址和/或该端口标识在本地流表中查找匹配表项并删除查找到的匹配表项;
OF交换机接收到控制器发来的流删除消息后,根据该流删除消息中携带的MAC地址和/或该端口标识在本地流表中查找到匹配表项,并删除查找到的匹配表项。其中,查找到的匹配表项包括:包含有该MAC地址的流表表项,包含有该端口标识的流表表项,包含有该MAC地址和该端口标识的流表表项。
步骤S706,控制器接收到目标OF交换机发来的接口添加消息,该接口添加消息中携带有目标OF交换机的DataPath ID、该VM上连接目标OF交换机的虚拟网卡接口的MAC地址、目标OF交换机上连接该VM的dvport口所属VLAN的VLAN ID以及该dvport口的端口标识;在VLAN转发表中添加一个包含有该接口添加消息中携带的DataPath ID、MAC地址、VLAN ID和端口标识的表项,在VLAN端口表中添加一个包含有该接口添加消息中携带的DataPath ID、VLAN ID和端口标识的表项;
在VM迁移到目标OF交换机完成时,目标OF交换机检测到该VM上线,向控制器发送接口添加消息,该接口添加消息中携带有目标OF交换机的DataPath ID、该VM上连接目标OF交换机的虚拟网卡接口的MAC地址、目标OF交换机上连接该VM的dvport口所属VLAN的VLAN ID以及该dvport口的端口标识,此时,目标OF交换机上连接该VM的dvport口所属VLAN与源OF交换机上连接该VM的dvport口所属VLAN相同。
步骤S708,当接收到来自该VM的报文或要发到该VM的报文后,控制器会重新生成与该VM有关的流表表项并发送给目标OF交换机,具体表项生成过程同前,这里不再赘述。
在整个迁移过程中,通过流表表项的删除和重新建立来保证通讯不间断。
实施例二
以图5所示的OF交换机为例,对上述实施例一的方法进行详细说明。在图5中,一个服务器中的OF交换机连接了4个VM:VM1-VM4,其中,OF交换机连接VM1-VM3的dvport口(也即,VM1-VM3连接该OF交换机的虚拟网卡接口):Port1-Port3属于VLAN1,该OF交换机连接VM4的dvport口(也即,VM4连接该OF交换机的虚拟网卡接口):Port4属于VLAN2;该OF交换机连接物理交互机ToR的uplink口是Port5。该OF交换机的DataPath ID为Dpid1,VM1-VM4上的虚拟网卡接口的MAC地址分别是:MAC1-MAC4。
控制器按照实施例一中的步骤11-13,在VLAN转发表和VLAN端口表中分别添加4个表项,此时,VLAN转发表如表3-1所示,VLAN端口表如表3-2所示:
表3-1
DataPath ID | VLAN ID | MAC | Port |
Dpid1 | VLAN1 | MAC1 | Port1 |
Dpid1 | VLAN1 | MAC2 | Port2 |
Dpid1 | VLAN1 | MAC3 | Port3 |
Dpid1 | VLAN2 | MAC4 | Port4 |
表3-2
DataPath ID | VLAN ID | Port |
Dpid1 | VLAN1 | Port1 |
Dpid1 | VLAN1 | Port2 |
Dpid1 | VLAN1 | Port3 |
Dpid1 | VLAN2 | Port4 |
OF交换机接收到VM1发来的报文(可以是单播报文、组播报文或广播报文),其中,该报文的源MAC地址是MAC1;OF交换机在本地流表中查找匹配表项,若没有查找到匹配表项,则将该报文封装在OF消息中发送给控制器,其中,该OF消息的消息头中携带有Dpid1和Port1。控制器接收到该OF消息后解封装得到其中的报文,控制器根据该OF消息的消息头中携带的Dpid1和Port1,查找到对应的VLAN ID:VLAN1,然后,根据该消息头中携带的Dpid1,查找对应的uplink口,由于该OF交换机通过Port5连接ToR,则查找到Port5,根据Port5生成用于指导该报文转发的如表4-1所示的流表表项并保存到本地流表中,发送该流表表项和该报文给OF交换机。
OF交换机接收到如表4-1流表表项和该报文后,将该流表表项添加到本地流表中,然后,根据该报文的报文头中的信息:目的MAC地址和入端口Port1,在本地流表中查找到该流表表项,根据该流表表项中的执行动作在该报文中增加一个VLAN1,然后通过Port5转发给ToR。
表4-1
由表4-1可知,生成的流表表项的执行动作中包括:通过Port5转发该报文(即Output to Port5),以及在该报文中添加查找到的VLAN ID:VLAN1(即mod_vlan_vid:vlan1)。
OF交换机接收到ToR发来的单播报文,其中,该单播报文的目的MAC地址是MAC3、VLAN ID是VLAN1;OF交换机在本地流表中查找匹配表项,若没有查找到匹配表项,则将该单播报文封装在OF消息中发送给控制器。控制器解封装该OF消息得到其中的单播报文,根据该单播报文中的目的MAC地址MAC3和VLAN IDVLAN1,在如表3-1所示的VLAN转发表中查找到对应的端口标识:Port3,然后,根据查找到的端口标识Port3,生成用于指导该单播报文转发的如表4-2所示的流表表项并保存到本地流表中,发送该流表表项和该单播报文给OF交换机。
OF交换机接收到如表4-2流表表项和该单播报文后,将该流表表项添加到本地流表中,然后,根据该单播报文的报文头中的信息:目的MAC地址MAC3和入端口Port5,在本地流表中查找到该流表表项,根据该流表表项中的执行动作将该报文中的VLAN1剥除,然后通过Port3转发给VM3。
表4-2
由表4-2可知,生成的流表表项的执行动作中包括:通过Port3所指示的dvport口转发该单播报文(即Output to Port3),以及剥除该单播报文中的VLAN ID:VLAN1(即strip_vlan)。
OF交换机接收到ToR发来的广播报文,其中,该广播报文的目的MAC地址是全F、VLAN ID是VLAN1;OF交换机在本地流表中查找匹配表项,若没有查找到匹配表项,则将该报文封装在OF消息中发送给控制器。控制器根据该广播报文中的VLANID:VLAN1,在如表3-2所示的VLAN端口表中查找到对应的3个端口标识:Port1、Port2和Port3,然后,根据该广播报文中的源MAC地址和VLAN ID,在如表3-1所示的VLAN转发表中查找对应的端口标识;若没有查找到对应的端口标识,则说明该广播报文是从ToR外部进入ToR的,控制器根据Port1、Port2和Port3,生成用于指导该广播报文转发的如表4-3所示的流表表项并保存到本地流表中,将该如表4-3所示的流表表项和该广播报文发送给OF交换机。
OF交换机接收到如表4-3所示的流表表项和该广播报文后,将该流表表项将该流表表项添加到本地流表中,然后,根据该广播报文的报文头中的信息:目的MAC地址ff:ff:ff:ff:ff:ff、源MAC地址、入端口Port5和VLAN ID:VLAN1,在本地流表中查找到该流表表项,根据该流表表项中的执行动作将该报文中的VLAN1剥除,然后通过Port1、Port2和Port3转发给VM1-VM3。
若该广播报文的源MAC地址是MAC2,则说明该广播报文是从VM2发出到TOR并由ToR直接返回的,控制器会在如表3-1所示的VLAN转发表中查找对应的端口标识Port2,则从Port1、Port2和Port3中去除Port2,之后根据剩余的端口标识Port1和Port3,生成用于指导该广播报文转发的如表4-4所示的流表表项并保存到本地流表中,将如表4-3所示的流表表项和该广播报文发送给OF交换机。
OF交换机接收到如表4-4所示的流表表项和该广播报文后,将该流表表项将该流表表项添加到本地流表中,然后,根据该广播报文的报文头中的信息:目的MAC地址ff:ff:ff:ff:ff:ff、源MAC地址MAC2、入端口Port5和VLAN ID:VLAN1,在本地流表中查找到该流表表项,根据该流表表项中的执行动作将该报文中的VLAN1剥除,然后通过Port1和Port3转发给VM1和VM3。
表4-3
由表4-3可知,生成的流表表项的执行动作中包括:通过Port1、Port2和Port3所指示的dvport口转发该广播报文(即Output:Port1,Output:Port2,Output:Port3),以及剥除该广播报文中的VLAN ID:VLAN1(即strip_vlan);
表4-4
由表4-4可知,生成的流表表项的执行动作中包括:通过Port1和Port3所指示的dvport口转发该广播报文(即Output:Port1,Output:Port3),以及剥除该广播报文中的VLAN ID:VLAN1(即strip_vlan)。
实施例三
针对上述实施例一中的方法,本申请实施例中提供了一种分布式虚拟交换机系统的控制器。如图7所示,控制器中包括以下模块:
获取添加模块101,用于获取VM对应的接口信息,将包含有该VM对应的接口信息的表项添加到VLAN转发表中,其中,该VM对应的接口信息中包括:该VM连接的OF交换机的DataPath ID、该VM上连接该OF交换机的虚拟网卡接口的MAC地址、该OF交换机上连接该VM的dvport口所属VLAN的VLAN ID以及该dvport口的端口标识;
接收模块102,用于接收OF交换机发来的报文;
表项生成模块103,用于当接收模块102接收到的报文是OF交换机通过连接物理交换机的一uplink口接收到的下行单播报文时,根据该下行单播报文的报文头中的信息和VLAN转发表,生成用于指导该下行单播报文转发的流表表项并保存到本地流表中;
发送模块104,用于将表项生成模块103生成的流表表项和接收模块102接收到的报文发送给发来该报文的OF交换机。
其中,表项生成模块中包括:查找单元和生成单元,其中,
查找单元,用于根据下行单播报文中的目的MAC地址和VLAN ID,在VLAN转发表中查找到对应的端口标识;
生成单元,用于根据查找单元查找到的端口标识,生成用于指导下行单播报文转发的流表表项,其中,生成的流表表项的执行动作中包括:通过查找到的端口标识所指示的dvport口转发下行单播报文,以及剥除下行单播报文中的VLAN ID。
接收到的报文封装在OF消息中,则,控制器还包括:查找模块和选择模块,其中,
查找模块,用于当接收模块接收到的报文是OF交换机通过连接VM的一dvport口接收到的上行报文时,根据上行报文所在的OF消息的消息头中携带的DataPath ID和源端口的端口标识,查找到对应的VLAN ID,其中,控制器中保存有:端口组、该端口组中的各个接口、该端口组的类型、与该端口组所属VLAN的VLAN ID之间的对应关系,该端口组的类型为uplink口或dvport口;还用于根据消息头中携带的DataPath ID,查找对应的uplink口,其中,控制器中保存有:DataPath ID与该DataPathID所指示的OF交换机上连接物理交换机的各个uplink口的对应关系;
选择模块,用于若查找模块查找到至少两个uplink口,则从至少两个uplink口中选择一个uplink口;
表项生成模块,还用于若查找模块查找到一个uplink口,则根据该uplink口生成用于指导上行报文转发的流表表项并保存到本地流表中,其中,生成的流表表项的执行动作中包括:通过该uplink口转发上行报文,以及在上行报文中添加查找到的VLANID;还用于根据选择模块选择的uplink口生成用于指导上行报文转发的流表表项并保存到本地流表中,其中,生成的流表表项的执行动作中包括:通过选择的uplink口转发上行报文,以及在上行报文中添加查找到的VLAN ID。
其中,判断接收到的报文是OF交换机通过uplink口或dvport口接收到的方式包括:根据OF消息的消息头中携带的DataPath ID和源端口的端口标识,查找到对应的端口组的类型;若查找到的端口组的类型为uplink口,则判断出接收到的报文是OF交换机通过uplink口接收到的;若查找到的端口组的类型为dvport口,则判断出接收到的报文是OF交换机通过dvport口接收到的。
其中,获取添加模块包括:消息接收单元和添加单元,其中,
消息接收单元,用于接收OF交换机在检测到一VM上线后发来的接口添加消息,其中,接口添加消息中携带有该OF交换机的DataPath ID、该VM上连接该OF交换机的虚拟网卡接口的MAC地址、该OF交换机上连接该VM的dvport口所属VLAN的VLAN ID以及该dvport口的端口标识;
添加单元,用于在消息接收单元接收到接口添加消息之后,在VLAN转发表中添加一个表项,其中,该表项中包括:消息接收单元接收到的接口添加消息中携带的DataPath ID、MAC地址、VLAN ID和端口标识。
其中,添加单元,还用于在消息接收单元接收到接口添加消息之后,在VLAN端口表中添加一个表项,其中,该表项中包括:接口添加消息中携带的DataPath ID、VLANID和端口标识;则,
查找模块,还用于当接收模块接收到的报文是OF交换机通过连接物理交换机的一上行接口uplink口接收到的下行非单播报文时,根据下行非单播报文中的VLAN ID,在VLAN端口表中查找到对应的至少两个端口标识;还用于根据下行非单播报文中的源MAC地址和VLAN ID,在VLAN转发表中查找对应的端口标识;
表项生成模块,还用于若查找模块根据下行非单播报文中的源MAC地址和VLANID在VLAN转发表中没有查找到对应的端口标识,则根据至少两个端口标识,生成用于指导下行非单播报文转发的流表表项,其中,生成的流表表项的执行动作中包括:通过至少两个端口标识所指示的dvport口转发下行非单播报文,以及剥除下行非单播报文中的VLAN ID;还用于若查找模块根据下行非单播报文中的源MAC地址和VLAN ID在VLAN转发表中查找到了对应的端口标识,则从至少两个端口标识中去除该查找到的端口标识,之后根据剩余的端口标识,生成用于指导下行非单播报文转发的流表表项,其中,生成的流表表项的执行动作中包括:通过剩余的端口标识所指示的dvport口转发下行非单播报文,以及剥除下行非单播报文中的VLAN ID。
其中,控制器中还包括:删除模块,其中,
接收模块,还用于接收OF交换机在检测到一VM下线后发来的接口删除消息,其中,接口删除消息中携带有该OF交换机的DataPath ID、该VM上连接该OF交换机的虚拟网卡接口的MAC地址、该OF交换机上连接该VM的dvport口所属VLAN的VLAN ID以及该dvport口的端口标识;
查找模块,还用于根据接收模块接收到的接口删除消息中携带的DataPath ID、MAC地址、VLAN ID和端口标识,在VLAN转发表中查找匹配表项;还用于根据接口删除消息中携带的MAC地址和/或端口标识,在本地流表中查找匹配表项;
删除模块,用于删除查找模块根据接收模块接收到的接口删除消息中携带的DataPath ID、MAC地址和VLAN ID在VLAN转发表中查找到的匹配表项;还用于删除查找模块根据接口删除消息中携带的DataPath ID、VLAN ID和端口标识在VLAN端口表中查找到的匹配表项;还用于删除查找模块根据接口删除消息中携带的MAC地址和接收到接口删除消息的dvport口的端口标识在本地流表中查找到的匹配表项;
发送模块,还用于向该接口删除消息中携带的DataPath ID所指示的OF交换机发送流删除消息,其中,该流删除消息中携带有该接口删除消息中携带的MAC地址和端口标识,该流删除消息用于指示OF交换机根据该MAC地址和/或该端口标识在本地流表中查找匹配表项并删除查找到的匹配表项。
实施例四
在实际实施过程中,本申请实施例的分布式虚拟交换机系统中,由VLAN管理模块来实现获取添加模块的功能、接收模块的部分功能、查找模块的部分功能、删除模块的部分功能;流管理模块来实现接收模块的部分功能、表项生成模块的功能、发送模块的功能、查找模块的部分功能、选择模块的功能和删除模块的部分功能。
如图8所示,控制器中包括:OF控制器、VLAN管理模块和流管理模块,OF交换机中包括:OF代理(Agent)模块、OF转发(Forwarding)模块和VM管理模块,其中:
OF交换机通过OF代理模块与控制器交互,向控制器发送数据和接收控制器发来的数据;OF转发模块用于与VM和物理交换机连接,该模块中保存有流表,用于在接收到VM或物理交换机发来的报文后进行查表转发处理;VM管理模块用于管理和维护VM。控制器通过OF控制器与OF交换机交互,向OF交换机发送数据和接收OF交换机发来的数据,用于数据存储,提供一些服务,并支持LLDP(LinkLayer Discovery Protocol,链路层发现协议)协议;VLAN管理模块中保存有VLAN转发表和VLAN端口表,用于添加表项和删除表项;流管理模块中保存有流表,用于生成流表表项和删除流表表项。
OpenFlow交换机支持VLAN内的通信和VM迁移。
1、VLAN管理模块
(1)VM上线对应的VLAN转发表项和VLAN端口表项的添加流程
VMM Center在配置一个VM上线时,将该VM连接OF交换机的虚拟网卡接口加入到一个下行Port Group中,从该端口组的端口ID范围内选择一个未被使用的端口ID,分配给该虚拟网卡接口,然后,将该虚拟网卡接口的端口ID及其所属的端口组通知给控制器;将该虚拟网卡接口的MAC地址、所属VLAN的VLAN ID以及端口ID通知给OF交换机;
OF交换机中的OF转发模块检测到该VM上线后,生成接口添加消息并发送给OF代理模块,由OF代理模块发送给控制器,其中,接口添加消息中携带有该OF交换机的DataPath ID、该VM上连接该OF交换机的虚拟网卡接口的MAC地址、该OF交换机上连接该VM的dvport口所属VLAN的VLAN ID以及该dvport口的端口标识(也即该VM上连接该OF交换机的虚拟网卡接口所属VLAN的VLAN ID以及该虚拟网卡接口的端口标识);
控制器中的OF控制器接收到该接口添加消息后,转发给VLAN管理模块,VLAN管理模块接收到该接口添加消息,在VLAN转发表中添加一个表项,其中,该表项中包括:接口添加消息中携带的DataPath ID、MAC地址、VLAN ID和端口标识,并在VLAN端口表中添加一个表项,该表项中包括:接口添加消息中携带的DataPath ID、VLAN ID和端口标识。
(2)VM下线对应的VLAN转发表项和VLAN端口表项的删除流程和流表表项删除流程
VMM Center配置一个VM下线;
OF交换机中的OF转发模块检测到该VM下线,生成接口删除消息并发送给OF代理模块,由OF代理模块发送给控制器,其中,该接口删除消息中携带有该OF交换机的DataPath ID、该VM上连接该OF交换机的虚拟网卡接口的MAC地址、该OF交换机上连接该VM的dvport口所属VLAN的VLAN ID以及该dvport口的端口标识;
控制器中的OF控制器接收到该接口删除消息后,转发给VLAN管理模块和流管理模块;
VLAN管理模块接收到该接口删除消息,根据该接口删除消息中携带的DataPathID、MAC地址、VLAN ID和端口标识,在VLAN转发表中查找匹配表项,并删除查找到的匹配表项,根据接口删除消息中携带的DataPath ID、VLAN ID和端口标识,在VLAN端口表中查找匹配表项,并删除查找到的匹配表项;
流管理模块根据该接口删除消息中携带的MAC地址和/或端口标识,在本地流表中查找匹配表项,并删除查找到的匹配表项;生成接口删除消息并发送给OF控制器,由OF控制器转发给该接口删除消息中携带的DataPath ID所指示的OF交换机,该流删除消息中携带有该接口删除消息中携带的MAC地址和端口标识;
OF交换机中的OF代理模块接收到该流删除消息后,转发给OF转发模块;OF转发模块收到该流删除消息后,根据该流删除消息中携带的MAC地址和/或该端口标识在本地流表中查找匹配表项并删除查找到的匹配表项。
(3)VM迁移对应的VLAN转发表项和VLAN端口表项的更新流程、以及流表表项更新流程
VMM Center配置一个VM从源OF交换机迁移到目标OF交换机,将该VM的虚拟网卡接口的MAC地址、所属VLAN的VLAN ID以及端口ID通知给目标OF交换机;
源OF交换机中的OF转发模块检测到该VM下线,生成接口删除消息并发送给OF代理模块,由OF代理模块发送给控制器,其中,该接口删除消息中携带有该接口删除消息中携带有源OF交换机的DataPath ID、该VM上连接源OF交换机的虚拟网卡接口的MAC地址、源OF交换机上连接该VM的dvport口所属VLAN的VLAN ID以及该dvport口的端口标识;
控制器中的OF控制器接收到该接口删除消息后,转发给VLAN管理模块和流管理模块;
VLAN管理模块接收到该接口删除消息,根据该接口删除消息中携带的DataPathID、MAC地址、VLAN ID和端口标识,在VLAN转发表中查找匹配表项,并删除查找到的匹配表项;根据该接口删除消息中携带的DataPath ID、VLAN ID和端口标识,在VLAN端口表中查找匹配表项,并删除查找到的匹配表项;
流管理模块根据该接口删除消息中携带的MAC地址和/或端口标识,在本地流表中查找匹配表项,并删除查找到的匹配表项;生成接口删除消息并发送给OF控制器,由OF控制器转发给源OF交换机,该流删除消息中携带有该接口删除消息中携带的MAC地址和端口标识;
源OF交换机中的OF代理模块接收到该流删除消息后,转发给OF转发模块;OF转发模块收到该流删除消息后,根据该流删除消息中携带的MAC地址和/或该端口标识在本地流表中查找匹配表项并删除查找到的匹配表项;
在VM迁移到目标OF交换机完成时,目标OF交换机中的OF转发模块检测到该VM上线,生成接口添加消息并发送给OF代理模块,由OF代理模块发送给控制器,其中,该接口添加消息中携带有目标OF交换机的DataPath ID、该VM上连接目标OF交换机的虚拟网卡接口的MAC地址、目标OF交换机上连接该VM的dvport口所属VLAN的VLAN ID以及该dvport口的端口标识,此时,目标OF交换机上连接该VM的dvport口所属VLAN与源OF交换机上连接该VM的dvport口所属VLAN相同;
控制器中的OF控制器接收到该接口添加消息后,转发给VLAN管理模块;
VLAN管理模块在VLAN转发表中添加一个包含有该接口添加消息中携带的DataPath ID、MAC地址、VLAN ID和端口标识的表项,在VLAN端口表中添加一个包含有该接口添加消息中携带的DataPath ID、VLAN ID和端口标识的表项。
2、流管理模块
(1)上行报文首包触发的流表表项生成流程
OF交换机中的OF转发模块接收到VM发来的报文后,在本地流表中查找匹配表项,若没有查找到,则将其发送给OF代理模块,由OF代理模块将该报文封装成OF消息后,发送给控制器;
控制器中的OF控制器接收到该OF消息后,将该OF消息转发给流管理模块;
流管理模块接收到该OF消息后解封装得到其中的报文,根据该OF消息的消息头中携带的DataPath ID和源端口,查找到对应的VLAN ID,然后,根据该消息头中携带的DataPath ID,查找对应的uplink口,若查找到的uplink口只有一个,则根据该uplink口生成用于指导该上行报文转发的流表表项并保存到本地流表中,其中,生成的流表表项的执行动作中包括:通过该uplink口转发该上行报文,以及在该上行报文中添加查找到的VLAN ID;若查找到了多个uplink口,则从这多个uplink口中选择一个uplink口,根据选择的uplink口生成用于指导该上行报文转发的流表表项并保存到本地流表中,其中,生成的流表表项的执行动作中包括:通过选择的uplink口转发该上行报文,以及在该上行报文中添加查找到的VLAN ID;
流管理模块将生成的流表表项和该报文通过OF控制器发送给OF交换机;
OF交换机中的OF代理模块接收到该流表表项和该报文后,转发给OF转发模块;
OF转发模块接收到该流表表项和该报文后,将该流表表项添加到本地流表中,然后,根据该报文的报文头中的信息,在本地流表中查找到该流表表项,根据该流表表项中的执行动作在该报文中增加一个VLAN ID,然后通过一个uplink口转发给ToR。
(2)下行单播报文首包触发的流表表项生成流程
OF交换机中的OF转发模块接收到ToR发来的下行单播报文后,在本地流表中查找匹配表项,若没有查找到,则将其发送给OF代理模块,由OF代理模块将该下行单播报文封装成OF消息后,发送给控制器;
控制器中的OF控制器接收到该OF消息后,将该OF消息转发给流管理模块;
流管理模块接收到该OF消息后,解封装该OF消息得到其中的下行单播报文,根据该下行单播报文中的目的MAC地址和VLAN ID,在VLAN转发表中查找到对应的端口标识,然后,根据该端口标识,生成用于指导该下行单播报文转发的流表表项并保存到本地流表中,其中,生成的流表表项的执行动作中包括:通过该端口标识所指示的dvport口转发该下行单播报文,以及剥除该下行单播报文中的VLAN ID;
流管理模块将生成的流表表项和该下行单播报文通过OF控制器发送给OF交换机;
OF交换机中的OF代理模块接收到该流表表项和该下行单播报文后,转发给OF转发模块;
OF转发模块接收到该流表表项和该下行单播报文后,将该流表表项添加到本地流表中,然后,根据该下行单播报文的报文头中的信息,在本地流表中查找到该流表表项,根据该流表表项中的执行动作剥除该下行单播报文中的VLAN ID,然后通过一个dvport口转发给VM。
(3)下行非单播报文首包触发的流表表项生成流程
OF交换机中的OF转发模块接收到ToR发来的下行非单播报文后,在本地流表中查找匹配表项,若没有查找到,则将其发送给OF代理模块,由OF代理模块将该下行非单播报文封装成OF消息后,发送给控制器;
控制器中的OF控制器接收到该OF消息后,将该OF消息转发给流管理模块;
流管理模块根据该下行非单播报文中的VLAN ID,在VLAN端口表中查找到对应的至少两个端口标识,然后,根据该下行非单播报文中的源MAC地址和VLAN ID,在VLAN转发表中查找对应的端口标识;若在VLAN转发表中查找到了对应的端口标识(称为第一端口标识),则从该至少两个端口标识中去除第一端口标识,之后根据剩余的端口标识,生成用于指导该下行非单播报文转发的流表表项并保存到本地流表中,其中,生成的流表表项的执行动作中包括:通过剩余的端口标识所指示的dvport口转发该下行非单播报文,以及剥除该下行非单播报文中的VLAN ID;若在VLAN转发表中没有查找到对应的端口标识,则根据该至少两个端口标识,生成用于指导该下行非单播报文转发的流表表项并保存到本地流表中,其中,生成的流表表项的执行动作中包括:通过该至少两个端口标识所指示的dvport口转发该下行非单播报文,以及剥除该下行非单播报文中的VLAN ID;
流管理模块将生成的流表表项和该下行非单播报文通过OF控制器发送给OF交换机;
OF交换机中的OF代理模块接收到该流表表项和该下行非单播报文后,转发给OF转发模块;
OF转发模块接收到该流表表项和该下行非单播报文后,将该流表表项添加到本地流表中,然后,根据该下行非单播报文的报文头中的信息,在本地流表中查找到该流表表项,根据该流表表项中的执行动作剥除该下行非单播报文中的VLAN ID,然后通过至少一个dvport口转发给VM。
综上,本申请以上实施例可以达到以下技术效果:
(1)控制器可以获取到每一个VM对应的接口信息,并将包含有该VM对应的接口信息的表项添加到VLAN转发表中,其中,该接口信息中包括:该VM连接的OF交换机的DataPath ID、该VM上连接该OF交换机的虚拟网卡接口的MAC地址、该OF交换机上连接该VM的dvport口所属VLAN的VLAN ID以及该dvport口的端口标识,即,通过VLAN转发表记录了各个VM的虚拟网卡接口的相关信息,这样,在OF交换机接收到物理交换机发来的下行单播报文并发送给控制器来决策该下行单播报文的转发行为后,控制器就可以根据该下行单播报文的报文头中的信息和该VLAN转发表生成用于指导该下行单播报文转发的流表表项,从而实现了基于OpenFlow协议的支持VLAN的报文转发。
(2)控制器还可以将包含有VM连接的OF交换机的DataPath ID、该OF交换机上连接该VM的dvport口所属VLAN的VLAN ID以及该dvport口的端口标识的表项添加到VLAN端口表中,这样,在OF交换机接收到物理交换机发来的下行非单播报文并发送给控制器来决策该下行非单播报文的转发行为后,控制器就可以根据该下行非单播报文的报文头中的信息和该VLAN端口表生成用于指导该下行非单播报文转发的流表表项,从而实现了基于OpenFlow协议的支持VLAN的报文转发。
(3)在OF交换机接收到VM发来的上行报文并发送给控制器来决策该上行报文的转发行为后,控制器还可以确定出OF交换机接收到该上行报文的dvport口所属的VLAN,以及确定出该OF交换机连接物理交换机的一个uplink口,从而根据该VLAN和该uplink口生成用于指导该上行报文转发的流表表项,从而实现了基于OpenFlow协议的支持VLAN的报文转发。
(4)在OpenFlow控制器上(控制平面)创建了基于VLAN的新的管理方式;
(5)通过OpenFlow实现了同一VLAN中的VM之间的通信,以及通过OpenFlow流表表项实现同一VLAN中VM的迁移过程中通信不间断。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (14)
1.一种分布式虚拟交换机系统的报文转发方法,其特征在于,所述分布式虚拟交换机系统中包括:控制器和多个服务器,所述服务器上设置有虚拟的开放流OF交换机和虚拟机VM,所述VM通过所述OF交换机连接至外部的物理交换机,所述方法应用于所述控制器,所述方法包括:
获取VM对应的接口信息,将包含有该VM对应的接口信息的表项添加到虚拟局域网VLAN转发表中,其中,该VM对应的接口信息中包括:该VM连接的OF交换机的数据转发路径标识DataPath ID、该VM上连接该OF交换机的虚拟网卡接口的媒体访问控制MAC地址、该OF交换机上连接该VM的下行接口dvport口所属VLAN的VLAN ID以及该dvport口的端口标识;
接收OF交换机发来的报文;
当接收到的报文是所述OF交换机通过连接物理交换机的一上行接口uplink口接收到的下行单播报文时,根据所述下行单播报文的报文头中的信息和所述VLAN转发表,生成用于指导所述下行单播报文转发的流表表项并保存到本地流表中;
将生成的流表表项和所述接收到的报文发送给发来该报文的OF交换机。
2.根据权利要求1所述的方法,其特征在于,根据所述下行单播报文的报文头中的信息和所述VLAN转发表,生成用于指导所述下行单播报文转发的流表表项的方法包括:
根据所述下行单播报文中的目的MAC地址和VLAN ID,在所述VLAN转发表中查找到对应的端口标识;
根据查找到的端口标识,生成用于指导所述下行单播报文转发的流表表项,其中,生成的流表表项的执行动作中包括:通过所述查找到的端口标识所指示的dvport口转发所述下行单播报文,以及剥除所述下行单播报文中的VLAN ID。
3.根据权利要求1所述的方法,其特征在于,所述接收到的报文封装在OF消息中,则,在接收OF交换机发来的报文之后,还包括:
当接收到的报文是所述OF交换机通过连接VM的一dvport口接收到的上行报文时,所述控制器根据所述上行报文所在的OF消息的消息头中携带的DataPath ID和源端口的端口标识,查找到对应的VLAN ID;其中,所述控制器中保存有:端口组、该端口组中的各个接口、该端口组的类型、与该端口组所属VLAN的VLAN ID之间的对应关系,该端口组的类型为uplink口或dvport口;
根据所述消息头中携带的DataPath ID,查找对应的uplink口,其中,所述控制器中保存有:DataPath ID与该DataPath ID所指示的OF交换机上连接物理交换机的各个uplink口的对应关系;
若查找到一个uplink口,则根据该uplink口生成用于指导所述上行报文转发的流表表项并保存到所述本地流表中,其中,生成的流表表项的执行动作中包括:通过该uplink口转发所述上行报文,以及在所述上行报文中添加查找到的VLAN ID;
若查找到至少两个uplink口,则从所述至少两个uplink口中选择一个uplink口,根据选择的uplink口生成用于指导所述上行报文转发的流表表项并保存到所述本地流表中,其中,生成的流表表项的执行动作中包括:通过所述选择的uplink口转发所述上行报文,以及在所述上行报文中添加查找到的VLAN ID。
4.根据权利要求3所述的方法,其特征在于,判断接收到的报文是所述OF交换机通过uplink口或dvport口接收到的方法包括:
根据所述OF消息的消息头中携带的DataPath ID和源端口的端口标识,查找到对应的端口组的类型;
若查找到的端口组的类型为uplink口,则判断出所述接收到的报文是所述OF交换机通过uplink口接收到的;
若查找到的端口组的类型为dvport口,则判断出所述接收到的报文是所述OF交换机通过dvport口接收到的。
5.根据权利要求1所述的方法,其特征在于,获取VM对应的接口信息,将包含有该VM对应的接口信息的表项添加到VLAN转发表中的方法包括:
接收OF交换机在检测到一VM上线后发来的接口添加消息,其中,所述接口添加消息中携带有该OF交换机的DataPath ID、该VM上连接该OF交换机的虚拟网卡接口的MAC地址、该OF交换机上连接该VM的dvport口所属VLAN的VLAN ID以及该dvport口的端口标识;
在所述VLAN转发表中添加一个表项,其中,该表项中包括:所述接口添加消息中携带的DataPath ID、MAC地址、VLAN ID和端口标识。
6.根据权利要求5所述的方法,其特征在于,在接收到所述接口添加消息之后,还包括:在VLAN端口表中添加一个表项,其中,该表项中包括:所述接口添加消息中携带的DataPath ID、VLAN ID和端口标识;则,在接收OF交换机发来的报文之后,还包括:
当接收到的报文是所述OF交换机通过连接物理交换机的一上行接口uplink口接收到的下行非单播报文时,根据所述下行非单播报文中的VLAN ID,在所述VLAN端口表中查找到对应的至少两个端口标识;
根据所述下行非单播报文中的源MAC地址和VLAN ID,在所述VLAN转发表中查找对应的端口标识;
若没有查找到对应的端口标识,则根据所述至少两个端口标识,生成用于指导所述下行非单播报文转发的流表表项,其中,生成的流表表项的执行动作中包括:通过所述至少两个端口标识所指示的dvport口转发所述下行非单播报文,以及剥除所述下行非单播报文中的VLAN ID;
若查找到了对应的端口标识,则从所述至少两个端口标识中去除该查找到的端口标识,之后根据剩余的端口标识,生成用于指导所述下行非单播报文转发的流表表项,其中,生成的流表表项的执行动作中包括:通过所述剩余的端口标识所指示的dvport口转发所述下行非单播报文,以及剥除所述下行非单播报文中的VLAN ID。
7.根据权利要求6所述的方法,其特征在于,还包括:
接收OF交换机在检测到一VM下线后发来的接口删除消息,其中,所述接口删除消息中携带有该OF交换机的DataPath ID、该VM上连接该OF交换机的虚拟网卡接口的MAC地址、该OF交换机上连接该VM的dvport口所属VLAN的VLAN ID以及该dvport口的端口标识;
根据所述接口删除消息中携带的DataPath ID、MAC地址、VLAN ID和端口标识,在所述VLAN转发表中查找匹配表项,并删除查找到的匹配表项;根据所述接口删除消息中携带的DataPath ID、VLAN ID和端口标识,在所述VLAN端口表中查找匹配表项,并删除查找到的匹配表项;根据所述接口删除消息中携带的MAC地址和/或端口标识,在所述本地流表中查找匹配表项,并删除查找到的匹配表项;
向所述接口删除消息中携带的DataPath ID所指示的OF交换机发送流删除消息,其中,所述流删除消息中携带有所述接口删除消息中携带的MAC地址和端口标识,所述流删除消息用于指示OF交换机根据该MAC地址和/或该端口标识在本地流表中查找匹配表项并删除查找到的匹配表项。
8.一种分布式虚拟交换机系统的控制器,其特征在于,所述分布式虚拟交换机系统中包括:控制器和多个服务器,所述服务器上设置有虚拟的开放流OF交换机和虚拟机VM,所述VM通过所述OF交换机连接至外部的物理交换机,所述控制器包括:
获取添加模块,用于获取VM对应的接口信息,将包含有该VM对应的接口信息的表项添加到虚拟局域网VLAN转发表中,其中,该VM对应的接口信息中包括:该VM连接的OF交换机的数据转发路径标识DataPath ID、该VM上连接该OF交换机的虚拟网卡接口的媒体访问控制MAC地址、该OF交换机上连接该VM的下行接口dvport口所属VLAN的VLAN ID以及该dvport口的端口标识;
接收模块,用于接收OF交换机发来的报文;
表项生成模块,用于当所述接收模块接收到的报文是所述OF交换机通过连接物理交换机的一上行接口uplink口接收到的下行单播报文时,根据所述下行单播报文的报文头中的信息和所述VLAN转发表,生成用于指导所述下行单播报文转发的流表表项并保存到本地流表中;
发送模块,用于将所述表项生成模块生成的流表表项和所述接收模块接收到的报文发送给发来该报文的OF交换机。
9.根据权利要求8所述的控制器,其特征在于,所述表项生成模块包括:
查找单元,用于根据所述下行单播报文中的目的MAC地址和VLAN ID,在所述VLAN转发表中查找到对应的端口标识;
生成单元,用于根据所述查找单元查找到的端口标识,生成用于指导所述下行单播报文转发的流表表项,其中,生成的流表表项的执行动作中包括:通过所述查找到的端口标识所指示的dvport口转发所述下行单播报文,以及剥除所述下行单播报文中的VLAN ID。
10.根据权利要求8所述的控制器,其特征在于,所述接收到的报文封装在OF消息中,则,所述控制器还包括:查找模块和选择模块,其中,
所述查找模块,用于当所述接收模块接收到的报文是所述OF交换机通过连接VM的一dvport口接收到的上行报文时,根据所述上行报文所在的OF消息的消息头中携带的DataPath ID和源端口的端口标识,查找到对应的VLAN ID,其中,所述控制器中保存有:端口组、该端口组中的各个接口、该端口组的类型、与该端口组所属VLAN的VLAN ID之间的对应关系,该端口组的类型为uplink口或dvport口;还用于根据所述消息头中携带的DataPath ID,查找对应的uplink口,其中,所述控制器中保存有:DataPath ID与该DataPath ID所指示的OF交换机上连接物理交换机的各个uplink口的对应关系;
所述选择模块,用于若所述查找模块查找到至少两个uplink口,则从所述至少两个uplink口中选择一个uplink口;
所述表项生成模块,还用于若所述查找模块查找到一个uplink口,则根据该uplink口生成用于指导所述上行报文转发的流表表项并保存到所述本地流表中,其中,生成的流表表项的执行动作中包括:通过该uplink口转发所述上行报文,以及在所述上行报文中添加查找到的VLAN ID;还用于根据所述选择模块选择的uplink口生成用于指导所述上行报文转发的流表表项并保存到所述本地流表中,其中,生成的流表表项的执行动作中包括:通过所述选择的uplink口转发所述上行报文,以及在所述上行报文中添加查找到的VLAN ID。
11.根据权利要求10所述的控制器,其特征在于,判断接收到的报文是所述OF交换机通过uplink口或dvport口接收到的方式包括:
根据所述OF消息的消息头中携带的DataPath ID和源端口的端口标识,查找到对应的端口组的类型;
若查找到的端口组的类型为uplink口,则判断出所述接收到的报文是所述OF交换机通过uplink口接收到的;
若查找到的端口组的类型为dvport口,则判断出所述接收到的报文是所述OF交换机通过dvport口接收到的。
12.根据权利要求10所述的控制器,其特征在于,所述获取添加模块包括:
消息接收单元,用于接收OF交换机在检测到一VM上线后发来的接口添加消息,其中,所述接口添加消息中携带有该OF交换机的DataPath ID、该VM上连接该OF交换机的虚拟网卡接口的MAC地址、该OF交换机上连接该VM的dvport口所属VLAN的VLAN ID以及该dvport口的端口标识;
添加单元,用于在所述消息接收单元接收到接口添加消息之后,在所述VLAN转发表中添加一个表项,其中,该表项中包括:所述消息接收单元接收到的接口添加消息中携带的DataPath ID、MAC地址、VLAN ID和端口标识。
13.根据权利要求12所述的控制器,其特征在于,所述添加单元,还用于在所述消息接收单元接收到所述接口添加消息之后,在VLAN端口表中添加一个表项,其中,该表项中包括:所述接口添加消息中携带的DataPath ID、VLAN ID和端口标识;则,
所述查找模块,还用于当所述接收模块接收到的报文是所述OF交换机通过连接物理交换机的一上行接口uplink口接收到的下行非单播报文时,根据所述下行非单播报文中的VLAN ID,在所述VLAN端口表中查找到对应的至少两个端口标识;还用于根据所述下行非单播报文中的源MAC地址和VLAN ID,在所述VLAN转发表中查找对应的端口标识;
所述表项生成模块,还用于若所述查找模块根据所述下行非单播报文中的源MAC地址和VLAN ID在所述VLAN转发表中没有查找到对应的端口标识,则根据所述至少两个端口标识,生成用于指导所述下行非单播报文转发的流表表项,其中,生成的流表表项的执行动作中包括:通过所述至少两个端口标识所指示的dvport口转发所述下行非单播报文,以及剥除所述下行非单播报文中的VLAN ID;还用于若所述查找模块根据所述下行非单播报文中的源MAC地址和VLAN ID在所述VLAN转发表中查找到了对应的端口标识,则从所述至少两个端口标识中去除该查找到的端口标识,之后根据剩余的端口标识,生成用于指导所述下行非单播报文转发的流表表项,其中,生成的流表表项的执行动作中包括:通过所述剩余的端口标识所指示的dvport口转发所述下行非单播报文,以及剥除所述下行非单播报文中的VLAN ID。
14.根据权利要求13所述的控制器,其特征在于,还包括:删除模块,其中,
所述接收模块,还用于接收OF交换机在检测到一VM下线后发来的接口删除消息,其中,所述接口删除消息中携带有该OF交换机的DataPath ID、该VM上连接该OF交换机的虚拟网卡接口的MAC地址、该OF交换机上连接该VM的dvport口所属VLAN的VLAN ID以及该dvport口的端口标识;
所述查找模块,还用于根据所述接收模块接收到的接口删除消息中携带的DataPath ID、MAC地址、VLAN ID和端口标识,在所述VLAN转发表中查找匹配表项;还用于根据所述接口删除消息中携带的DataPath ID、VLAN ID和端口标识,在所述VLAN端口表中查找匹配表项;还用于根据所述接口删除消息中携带的MAC地址和/或端口标识,在所述本地流表中查找匹配表项;
所述删除模块,用于删除所述查找模块根据所述接收模块接收到的接口删除消息中携带的DataPath ID、MAC地址和VLAN ID在所述VLAN转发表中查找到的匹配表项;还用于删除所述查找模块根据所述接口删除消息中携带的DataPath ID、VLANID和端口标识在所述VLAN端口表中查找到的匹配表项;还用于删除所述查找模块根据所述接口删除消息中携带的MAC地址和接收到所述接口删除消息的dvport口的端口标识在所述本地流表中查找到的匹配表项;
所述发送模块,还用于向所述接口删除消息中携带的DataPath ID所指示的OF交换机发送流删除消息,其中,所述流删除消息中携带有所述接口删除消息中携带的MAC地址和端口标识,所述流删除消息用于指示OF交换机根据该MAC地址和/或该端口标识在本地流表中查找匹配表项并删除查找到的匹配表项。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310416405.9A CN104468462B (zh) | 2013-09-12 | 2013-09-12 | 分布式虚拟交换机系统的报文转发方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310416405.9A CN104468462B (zh) | 2013-09-12 | 2013-09-12 | 分布式虚拟交换机系统的报文转发方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104468462A true CN104468462A (zh) | 2015-03-25 |
CN104468462B CN104468462B (zh) | 2017-12-15 |
Family
ID=52913850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310416405.9A Active CN104468462B (zh) | 2013-09-12 | 2013-09-12 | 分布式虚拟交换机系统的报文转发方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104468462B (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106330585A (zh) * | 2015-06-29 | 2017-01-11 | 中兴通讯股份有限公司 | 流量监控方法、装置及系统 |
CN106330783A (zh) * | 2015-07-01 | 2017-01-11 | 中兴通讯股份有限公司 | 一种OpenFlow交换机能力上报的方法及装置 |
CN106612225A (zh) * | 2016-12-12 | 2017-05-03 | 武汉烽火信息集成技术有限公司 | 一种基于openstack的代理部署系统及方法 |
WO2017173952A1 (zh) * | 2016-04-08 | 2017-10-12 | 中兴通讯股份有限公司 | 一种实现虚拟机统一管理及互通的方法、装置和系统 |
CN107294865A (zh) * | 2017-07-31 | 2017-10-24 | 华中科技大学 | 一种软件交换机的负载均衡方法及软件交换机 |
CN107534613A (zh) * | 2015-05-20 | 2018-01-02 | 华为技术有限公司 | 使用子树标识符的多区域源路由组播 |
CN107885573A (zh) * | 2016-09-29 | 2018-04-06 | 华为技术有限公司 | 一种数据流量的控制方法、控制器及数据中心系统 |
CN107888438A (zh) * | 2016-09-29 | 2018-04-06 | 上海天旦网络科技发展有限公司 | 一种基于流表技术的自动感知并适应云环境变化的方法和系统 |
CN108293001A (zh) * | 2015-12-31 | 2018-07-17 | 华为技术有限公司 | 一种软件定义数据中心及其中的服务集群的部署方法 |
CN109756359A (zh) * | 2017-11-06 | 2019-05-14 | 财团法人工业技术研究院 | 自动初始化网络装置的方法及远程服务器及网络系统 |
CN110912825A (zh) * | 2018-09-18 | 2020-03-24 | 阿里巴巴集团控股有限公司 | 一种报文的转发方法、装置、设备及系统 |
US10601728B2 (en) | 2015-12-31 | 2020-03-24 | Huawei Technologies Co., Ltd. | Software-defined data center and service cluster scheduling and traffic monitoring method therefor |
CN111698167A (zh) * | 2020-04-01 | 2020-09-22 | 新华三大数据技术有限公司 | 一种报文处理方法及装置 |
CN113110916A (zh) * | 2021-04-22 | 2021-07-13 | 深信服科技股份有限公司 | 一种虚拟机数据读写方法、装置、设备及介质 |
CN113206807A (zh) * | 2020-01-31 | 2021-08-03 | 伊姆西Ip控股有限责任公司 | 用于信息处理的方法、电子设备和计算机存储介质 |
CN113821473A (zh) * | 2020-06-20 | 2021-12-21 | 科尔奇普投资公司 | 基于mac-table快取在单晶片系统或交换机上解决uni端口信息的方法和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101110721A (zh) * | 2006-07-18 | 2008-01-23 | 中兴通讯股份有限公司 | 利用以太网交换机媒体接入控制地址表空间的方法 |
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 | 中兴通讯股份有限公司 | 一种软件定义网络中组表的处理方法、系统和控制器 |
-
2013
- 2013-09-12 CN CN201310416405.9A patent/CN104468462B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101110721A (zh) * | 2006-07-18 | 2008-01-23 | 中兴通讯股份有限公司 | 利用以太网交换机媒体接入控制地址表空间的方法 |
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 | 中兴通讯股份有限公司 | 一种软件定义网络中组表的处理方法、系统和控制器 |
Non-Patent Citations (1)
Title |
---|
BEN PFAFF 等: "Extending Networking into the Virtualization Layer", 《EXTENDING NETWORKING INTO THE VIRTUALIZATION LAYER》 * |
Cited By (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107534613A (zh) * | 2015-05-20 | 2018-01-02 | 华为技术有限公司 | 使用子树标识符的多区域源路由组播 |
CN107534613B (zh) * | 2015-05-20 | 2020-02-14 | 华为技术有限公司 | 使用子树标识符的多区域源路由组播方法 |
CN106330585A (zh) * | 2015-06-29 | 2017-01-11 | 中兴通讯股份有限公司 | 流量监控方法、装置及系统 |
CN106330783A (zh) * | 2015-07-01 | 2017-01-11 | 中兴通讯股份有限公司 | 一种OpenFlow交换机能力上报的方法及装置 |
US10374899B2 (en) | 2015-07-01 | 2019-08-06 | Zte Corporation | Method and device for reporting OpenFLow switch capability |
CN106330783B (zh) * | 2015-07-01 | 2019-03-15 | 中兴通讯股份有限公司 | 一种OpenFlow交换机能力上报的方法及装置 |
CN108293001A (zh) * | 2015-12-31 | 2018-07-17 | 华为技术有限公司 | 一种软件定义数据中心及其中的服务集群的部署方法 |
US11237858B2 (en) | 2015-12-31 | 2022-02-01 | Huawei Technologies Co., Ltd. | Software-defined data center, and deployment method for service cluster therein |
CN108293001B (zh) * | 2015-12-31 | 2020-10-23 | 华为技术有限公司 | 一种软件定义数据中心及其中的服务集群的部署方法 |
US10601728B2 (en) | 2015-12-31 | 2020-03-24 | Huawei Technologies Co., Ltd. | Software-defined data center and service cluster scheduling and traffic monitoring method therefor |
CN107276783A (zh) * | 2016-04-08 | 2017-10-20 | 中兴通讯股份有限公司 | 一种实现虚拟机统一管理及互通的方法、装置和系统 |
WO2017173952A1 (zh) * | 2016-04-08 | 2017-10-12 | 中兴通讯股份有限公司 | 一种实现虚拟机统一管理及互通的方法、装置和系统 |
CN107276783B (zh) * | 2016-04-08 | 2022-05-20 | 中兴通讯股份有限公司 | 一种实现虚拟机统一管理及互通的方法、装置和系统 |
CN107885573B (zh) * | 2016-09-29 | 2021-09-14 | 华为技术有限公司 | 一种数据流量的控制方法、控制器及数据中心系统 |
CN107888438A (zh) * | 2016-09-29 | 2018-04-06 | 上海天旦网络科技发展有限公司 | 一种基于流表技术的自动感知并适应云环境变化的方法和系统 |
CN107888438B (zh) * | 2016-09-29 | 2021-06-08 | 上海天旦网络科技发展有限公司 | 一种基于流表技术的自动感知并适应云环境变化的系统 |
CN107885573A (zh) * | 2016-09-29 | 2018-04-06 | 华为技术有限公司 | 一种数据流量的控制方法、控制器及数据中心系统 |
CN106612225A (zh) * | 2016-12-12 | 2017-05-03 | 武汉烽火信息集成技术有限公司 | 一种基于openstack的代理部署系统及方法 |
CN106612225B (zh) * | 2016-12-12 | 2020-01-14 | 武汉烽火信息集成技术有限公司 | 一种基于openstack的代理部署系统及方法 |
CN107294865A (zh) * | 2017-07-31 | 2017-10-24 | 华中科技大学 | 一种软件交换机的负载均衡方法及软件交换机 |
CN107294865B (zh) * | 2017-07-31 | 2019-12-06 | 华中科技大学 | 一种软件交换机的负载均衡方法及软件交换机 |
CN109756359A (zh) * | 2017-11-06 | 2019-05-14 | 财团法人工业技术研究院 | 自动初始化网络装置的方法及远程服务器及网络系统 |
CN109756359B (zh) * | 2017-11-06 | 2021-08-10 | 财团法人工业技术研究院 | 自动初始化网络装置的方法及远程服务器及网络系统 |
CN110912825A (zh) * | 2018-09-18 | 2020-03-24 | 阿里巴巴集团控股有限公司 | 一种报文的转发方法、装置、设备及系统 |
US11677686B2 (en) | 2018-09-18 | 2023-06-13 | Alibaba Group Holding Limited | Packet forwarding method, apparatus, device, and system |
CN113206807A (zh) * | 2020-01-31 | 2021-08-03 | 伊姆西Ip控股有限责任公司 | 用于信息处理的方法、电子设备和计算机存储介质 |
CN113206807B (zh) * | 2020-01-31 | 2022-12-09 | 伊姆西Ip控股有限责任公司 | 用于信息处理的方法、电子设备和计算机存储介质 |
CN111698167B (zh) * | 2020-04-01 | 2023-04-07 | 新华三大数据技术有限公司 | 一种报文处理方法及装置 |
CN111698167A (zh) * | 2020-04-01 | 2020-09-22 | 新华三大数据技术有限公司 | 一种报文处理方法及装置 |
CN113821473A (zh) * | 2020-06-20 | 2021-12-21 | 科尔奇普投资公司 | 基于mac-table快取在单晶片系统或交换机上解决uni端口信息的方法和系统 |
CN113821473B (zh) * | 2020-06-20 | 2024-02-20 | 美商光禾科技股份有限公司 | 基于mac-table快取在单晶片系统或交换机上解决uni端口信息的方法和系统 |
CN113110916A (zh) * | 2021-04-22 | 2021-07-13 | 深信服科技股份有限公司 | 一种虚拟机数据读写方法、装置、设备及介质 |
CN113110916B (zh) * | 2021-04-22 | 2023-11-07 | 深信服科技股份有限公司 | 一种虚拟机数据读写方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104468462B (zh) | 2017-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104468462B (zh) | 分布式虚拟交换机系统的报文转发方法及设备 | |
EP3533189B1 (en) | Rule-based network identifier mapping | |
CN104253770B (zh) | 实现分布式虚拟交换机系统的方法及设备 | |
CN104468358B (zh) | 分布式虚拟交换机系统的报文转发方法及设备 | |
US10230577B2 (en) | Packet broadcast mechanism in a split architecture network | |
CN104022960B (zh) | 基于OpenFlow协议实现PVLAN的方法和装置 | |
US10193707B2 (en) | Packet transmission method and apparatus | |
CN108880968B (zh) | 软件定义网络中广播、组播实现方法及装置、存储介质 | |
CN104104570B (zh) | Irf系统中的聚合处理方法及装置 | |
US10462038B2 (en) | Control apparatus, communication system, tunnel endpoint control method, and program | |
EP3082309A1 (en) | Sdn controller, data centre system and router connection method | |
CN108574616A (zh) | 一种处理路由的方法、设备及系统 | |
CN104780088A (zh) | 一种业务报文的传输方法和设备 | |
CN103227757A (zh) | 一种报文转发方法及设备 | |
CN104022953A (zh) | 基于开放流Openflow的报文转发方法和装置 | |
WO2013185715A1 (zh) | 一种实现虚拟网络的方法和虚拟网络 | |
US10911354B2 (en) | Packet processing method and system, and device | |
CN104579894B (zh) | 分布式虚拟交换机系统的IGMP Snooping实现方法及装置 | |
CN107306215B (zh) | 一种数据处理方法、系统及节点 | |
CN104144082A (zh) | 二层网络中检测环路的方法及控制器 | |
CN106209689B (zh) | 从vxlan至vlan的组播数据报文转发方法和设备 | |
US8675658B2 (en) | Using multiple IGMP queriers in a layer 2 network | |
US20160277251A1 (en) | Communication system, virtual network management apparatus, communication node, communication method, and program | |
CN103888356B (zh) | Vpls实现方法、系统和提供商边缘设备 | |
US11627071B2 (en) | BIER overlay signaling enhancement |
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 |
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. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |