CN104022960A - 基于OpenFlow协议实现PVLAN的方法和装置 - Google Patents

基于OpenFlow协议实现PVLAN的方法和装置 Download PDF

Info

Publication number
CN104022960A
CN104022960A CN201310063008.8A CN201310063008A CN104022960A CN 104022960 A CN104022960 A CN 104022960A CN 201310063008 A CN201310063008 A CN 201310063008A CN 104022960 A CN104022960 A CN 104022960A
Authority
CN
China
Prior art keywords
port
message
vlan
stream table
vds
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
Application number
CN201310063008.8A
Other languages
English (en)
Other versions
CN104022960B (zh
Inventor
林涛
任维春
刘阳
张连雷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201310063008.8A priority Critical patent/CN104022960B/zh
Priority to US14/018,124 priority patent/US9565104B2/en
Publication of CN104022960A publication Critical patent/CN104022960A/zh
Application granted granted Critical
Publication of CN104022960B publication Critical patent/CN104022960B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/351Switches specially adapted for specific applications for local area network [LAN], e.g. Ethernet switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于OpenFlow协议实现PVLAN的方法,该方法引入OpenFlow协议实现PVLAN,在OpenFlow控制器中控制是否对报文的转发,不需要将子VLAN内的MAC表拷贝到主VLAN中。基于同样的发明构思,本发明还提出一种装置,在实现PVLAN时,不会造成主VLAN的表项占用大的内存,也不会降低报文的转发速率。

Description

基于OpenFlow协议实现PVLAN的方法和装置
技术领域
本申请涉及通信技术领域,特别涉及一种基于开放流(OpenFlow)协议实现PVLAN的方法和装置。
背景技术
随着数据中心业务日益增加,用户需求不断提高,数据中心的规模和功能日趋复杂,管理难度也越来越高。在这一背景下,整合数据中心、降低数据中心的管理成本,充分挖掘现有资源能力以适应更高的业务需求,成为企业数据中心的重要任务。对数据中心资源进行虚拟化,成为目前数据中心整合的重要趋势。
虚拟化技术通过对物理资源和提供的服务进行抽象化,让资源使用者和系统管理者不关心对象的物理特征和服务边界的细节,从而降低资源使用和管理的复杂度,提高使用效率。因而,对数据中心的虚拟化能够提高数据中心的资源利用率,如中央处理器(CPU)利用率、存储容量等,降低系统的能耗,并减少系统的设计、运行、管理、维护成本,从而实现整合的目标。
数据中心的虚拟化技术主要包括3方面内容:网络虚拟化、存储虚拟化和服务器虚拟化,最主要的是服务器虚拟化。通过专用的虚拟化软件,如VMware管理,一台物理服务器能虚拟出多台虚拟机(VM),每个VM独立运行,互不影响,都有自己的操作系统和应用程序和虚拟的硬件环境,包括虚拟CPU、内存、存储设备、IO设备、虚拟边缘端口汇聚(VEPA:Virtual Edge Port Aggregator)交换机等。
边缘虚拟桥接技术(Edge Virtual Bridging,EVB)技术分为交换机EVB技术和服务器EVB技术。服务器EVB技术应用于数据中心服务器,在其上的VEPA交换机中实现,用于简化虚拟服务器的流量转发实现,对虚拟服务器的网络交换、流量管理和策略下发进行集中控制,并能在虚拟迁移时实现网络管理和策略的自动迁移。
支持EVB的VEPA交换机分为虚拟边缘交换机(Virtual Ethernet Bridge,VEB)和虚拟边缘端口汇聚(Virtual Edge Port Aggregator,VEPA)。在服务器上采用纯软件方式实现的VEB实现方式简单,且技术兼容性好,但也面临着诸如占用CPU资源导致虚拟机性能下降,存在虚拟机流量监管、虚拟机的网络策略实施以及管理可扩展性等问题。
VEPA将虚拟机产生的网络流量全部交由与服务器相连的物理交换机进行处理,即使同一台服务器上的虚拟机间流量,也将在物理交换机上查表处理后,再回到目的虚拟机上。VEPA方式不仅借助物理交换机解决了虚拟机间流量转发,同时还实现了对虚拟机流量的监管,并且将虚拟机接入层网络纳入到传统服务器接入网络管理体系中。
新型网络交换模型(OpenFlow)是斯坦福大学发起的一种网络技术,它使传统的二层和三层交换机具备了细粒度流转发能力,即传统的基于MAC的网包转发,基于IP的路由转发,被拓展到了基于多域网包包头描述的流转发。同时,传统的控制层面从转发设备中剥离出来,所有转发行为的决策从交换机自身迁移到了某个集中控制器上。
每个OpenFlow交换机都有一张流表,进行包查找和转发。交换机可以通过OpenFlow协议经一个安全通道连接到外部OpenFlow控制器,对流表进行查询和管理。
流表包括包头域(header fileds),匹配包头多个域;活动计数器(counters)域、0个或多个执行行动(actions)域。对每一个包进行查找,如果匹配则执行相关策略,否则通过安全通道将包转发到OpenFlow控制器,OpenFlow控制器来决策相关行为。流表项可以将包转发到一个或者多个接口。
私有虚拟局域网(private VLAN,PVLAN)使用二层VLAN结构,它在同一台设备上设置主(Primary)VLAN和子(Secondary)VLAN,Secondary VLAN又分为公共(Community)VLAN和隔离(isolated)VLAN。同一个Community VLAN中的端口可以相互通信,但是不能与其它Community VLAN二层互通。同一个IsolatedVLAN中的端口在二层不能互通。Community VLAN和isolated VLAN都可以与Primary VLAN通信。
传统的基于媒体访问控制(MAC)转发的实现,通过将子VLAN内的MAC表拷贝到主VLAN中,实现报文转发,VLAN内的端口屏蔽通过端口隔离来实现由于将子VLAN中的MAC表都拷贝到主VLAN中,这样会造成主VLAN的MAC表会很大,如果软件实现,将导致转发速率下降。基于MAC转发,缺少对应用层连接流的监控。
发明内容
有鉴于此,本申请提供一种基于OpenFlow协议实现私有虚拟局域网PVLAN的方法和装置,在实现PVLAN时,不会造成主VLAN的表项占用大的内存,也不会降低报文的转发速率。
为解决上述技术问题,本发明的技术方案是这样实现的:
一种基于开放流OpenFlow协议实现私有虚拟局域网PVLAN的方法,该方法应用于包含OpenFlow控制器、服务器和边缘交换机的组网中的OpenFlow控制器上,所述OpenFlow控制器创建虚拟分布式交换机VDS;所述服务器虚拟多个虚拟机VM和一个虚拟边缘端口汇聚VEPA交换机,所述VEPA交换机的与边缘交换机连接的上行端口配置加入主VLAN,所述VEPA交换机的与VM连接的下行端口配置加入子VLAN,所述下行端口和上行端口均配置加入对应的VDS,所述子VLAN包括隔离isolated VLAN和公共Community VLAN;所述方法包括:
OpenFlow控制器接收VEPA交换机上送的报文;
OpenFlow控制器根据所述报文的入端口和目的端口各自所属的子VLAN以及各自所属的VDS,构造用于转发所述报文的流表,其中,所述入端口是所述VEPA交换机接收到所述报文的端口,所述目的端口是所述报文的目的MAC地址对应的端口;
OpenFlow控制器将所述流表下发给所述VEPA交换机,使所述VEPA交换机根据该流表转发该单播报文。
一种装置,可应用于包含OpenFlow控制器、服务器和边缘交换机的组网中的OpenFlow控制器上,其中,所述OpenFlow控制器创建虚拟分布式交换机VDS;所述服务器虚拟多个虚拟机VM和一个虚拟边缘端口汇聚VEPA交换机,所述VEPA交换机的与边缘交换机连接的上行端口配置加入主VLAN,所述VEPA交换机的与VM连接的下行端口配置加入子VLAN,所述下行端口和上行端口均配置加入对应的VDS,所述子VLAN包括隔离isolated VLAN和公共CommunityVLAN;所述装置包括:接收单元、构造单元和下发单元;
所述接收单元,用于接收VEPA交换机上送的报文;
所述构造单元,用于根据所述接收单元接收到的VEPA交换机上送的报文的入端口和目的端口各自所属的子VLAN以及各自所属的VDS,构造用于转发所述报文的流表,其中,所述入端口是所述VEPA交换机接收到所述报文的端口,所述目的端口是所述报文的目的MAC地址对应的端口;
所述下发单元,用于将所述流表下发给所述VEPA交换机,使所述VEPA交换机根据该流表转发该单播报文。
综上所述,本申请通过引入OpenFlow协议实现PVLAN,在OpenFlow控制器中控制是否对报文的转发,不需要将子VLAN内的MAC表拷贝到主VLAN中,因此不会造成主VLAN的表项占用大的内存,也不会降低报文的转发速率。
附图说明
图1为本发明实施例中实现PVLAN的方法流程示意图;
图2为本发明实施例中组网结构示意图;
图3为本发明具体实施例中应用于上述技术的装置结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。
本发明实施例中提出一种基于OpenFlow协议实现PVLAN的方法,该方法应用于包含OpenFlow控制器、服务器和边缘交换机的组网中的OpenFlow控制器上,任一所述服务器虚拟多个虚拟机VM(各个虚拟机包括至少一虚拟网卡vNIC)和一个交换机,并在虚拟的交换机上运行OpenFlow协议,该VEPA交换机可称为OpenFlow交换机,为虚拟的VM和交换机分配端口号。该OpenFlow交换机在接收到各VM发送的报文,以及接收到的边缘交换机发送的报文时,负责将接收到得报文进行转发。该OpenFlow交换机在接收到报文时,根据报文的目的MAC地址和接收报文的端口号,在本地查找流表,如果查找到,根据流表中对应的执行动作处理接收到的报文;否则,将接收到的报文上送到OpenFlow控制器。
该OpenFlow控制器运行VEPA协议和OpenFlow协议,创建虚拟分布式交换机(VDS);各个服务器配置加入对应的VDS,生成该VDS的转发平面,以及配置上行端口(VEPA交换机与边缘交换机相连的端口)加入主VLAN,配置下行端口(VEPA交换机和VM相连的端口)加入对应的子VLAN,其中,子VLAN ID包括isolated VLAN和Community VLAN。所述下行端口和上行端口均配置加入对应的VDS。
服务器在配置加入VDS后,服务器可以向OpenFlow控制器发送一上行端口的事件消息;服务器上配置的各个虚拟机(VM)启动后,向OpenFlow控制器发送一vNIC(虚拟网卡)事件消息。该OpenFlow控制器接收各服务器上送的事件消息,获得该事件消息中携带的用于指示该服务器所属VDS的VDS ID,通过OpenFlow协议为服务器分配端口号,端口号包括下行端口(VEPA交换机和VM相连的端口)的端口号,以及上行端口(VEPA交换机与边缘交换机相连的端口)的端口号。OpenFlow控制器接收VM启动后上报的事件消息,还可以根据所述事件消息中携带的VM的MAC地址以及所述VEPA交换机上连接所述VM的端口,维护各个VM的MAC地址以及所述VEPA交换机连接各个VM的端口之间的对应关系。
在本发明具体实施例中,也可以在OpenFlow控制器上,或者与OpenFlow控制器相连的一个服务器上通过Vmware的控制界面(vCenter)将所述组网中的各服务器的各网卡加入创建的VDS,以及,将各服务器中各虚拟机的虚拟网卡加入对应的端口组,加入某个端口组的端口,将自动加载该端口组的配置,如VLAN配置、VDS配置等。在各虚拟机启动后,通过OpenFlow协议上送携带VDS ID、端口号、MAC地址的事件消息给OpenFlow控制器,控制器可以维护各个端口对应的MAC地址、各个端口所属的VLAN等信息。
参见图1,图1为本发明实施例实现PVLAN的方法流程示意图。具体步骤为:
步骤101,OpenFlow控制器接收VEPA交换机上送的报文。
这里,当VEPA交换机接收到报文后,如果在本地未查找到匹配该报文的流表,则将该报文上送至OpenFlow控制器。
步骤102,OpenFlow控制器根据所述报文的入端口和目的端口各自所属的子VLAN以及各自所属的VDS,构造用于转发所述报文的流表,其中,所述入端口是所述VEPA交换机接收到所述报文的端口,所述目的端口是所述报文的目的MAC地址对应的端口。
这里,OpenFlow控制器可以根据维护的VM的MAC地址以及VEPA交换机连接VM的端口之间的对应关系,确定报文源MAC地址对应的端口(即源端口)、以及目的MAC地址对应的端口(即目的端口)。
步骤103,OpenFlow控制器将所述流表下发给所述VEPA交换机,使所述VEPA交换机根据该流表转发该报文。
这里,OpenFlow控制器下发流表给VEPA交换机,从而后续VEPA交换机可以根据该流表对具有相同包头域参数的报文进行处理。步骤103中,在下发流表的同时,OpenFlow控制器也可以对该报文进行转发或丢弃处理。
下面再分别以VEPA接收到的上/下行的单播报文和多播报文为例,对本发明实施例如何构造流表作进一步的说明。这里,上行是指报文从VM发送至VEPA交换机,下行是指报文从VEPA的上行端口进入发送至VM。
示例一:isolated VLAN的上行单播报文
在所述报文是入端口所属的子VLAN为isolated VLAN的单播报文时,若所述入端口与所述目的端口各自所属的VDS不同,则构造第一流表;否则,丢弃所述单播报文;其中,所述第一流表的包头域包括所述入端口和目的MAC,动作域包括设置VLAN为主VLAN并通过上行端口转发。
该示例中,当OpenFlow控制器接收到服务器上送的单播报文的源端口所属的子VLAN为isolated VLAN的单播报文时,由于isolated VLAN中的端口只能与自身所在VDS之外的端口通信,不能与同一VDS内任何isolated VLAN或CommunityVLAN中的端口通信,因此在确定该单播报文的目的端口不属于该单播报文的源端口所属的VDS,会为该单播报文下发流表。由于isolated VLAN中的端口不能与本端口所在的VDS内的任何端口通信,因此,若确定该单播报文的目的端口不属于该单播报文的入端口属于的VDS,直接将该单播报文丢弃。
该流表中的入端口和目的MAC地址为Header Fields(包头域)包含的内容,出端口和主VLAN为Action(动作域)包含的内容。其中,出端口为该VEPA交换机与边缘交换机相连的端口。
由于OpenFlow控制器本地配置了VDS管理的各服务器的MAC地址,因此,OpenFlow控制器接收到服务器上送报文时,会知道是哪个VDS服务器上送的报文。在具体实现时,一个OpenFlow控制器可以配置一个或多个VDS,并通过为各VDS分配VDS标识来区分。
当该OpenFlow控制器仅配置了一个VDS时,如果该VDS中配置了该目的MAC地址对应的目的端口,则确定该目的端口属于该单播报文的入端口属于的VDS;否则,确定该目的端口不属于该单播报文的入端口属于的VDS。
当该OpenFlow控制器配置了多个VDS时,先确定上送的单播报文的入端口属于的VDS,若是,则进一步在该VDS内确定上送的单播报文的目的端口是否属于该VDS。
该示例中OpenFlow控制器根据isolated VLAN的特性,在发送端决定是否发送该单播报文。
示例二:Community VLAN的上行单播报文
在所述报文是入端口所属的子VLAN为Community VLAN的单播报文时,若所述入端口与所述目的端口各自所属的子VLAN为同一主VLAN内同一CommunityVLAN,或者所述入端口与所述目的端口各自所属的VDS不同,则构造第二流表;否则,丢弃所述单播报文;其中,所述第二流表的包头域包括所述入端口和目的MAC,动作域包括设置VLAN为主VLAN并通过上行端口转发。
这里,下发的流表中的入端口和目的MAC地址为Header Fields包含的内容,出端口和所设置的主VLAN为Action包含的内容。其中,出端口为该VEPA交换机与边缘交换机相连的端口号。
本示例中接收到服务器上送的单播报文的入端口所属的子VLAN为Community VLAN。由于Community VLAN中的属于同一主VLAN的同一Community VLAN中的端口才可以通信;Community VLAN中的端口也可以同该端口所在VDS之外的VDS中的端口通信,而其它情况下丢弃该单播报文。
通过实施例二,OpenFlow控制器根据Community VLAN的特性,决定源MAC地址所属子VLAN为Community VLAN的单播报文在发送端是否发送。
示例三:isolated VLAN/Community VLAN的下行单播报文
在所述报文是入端口为上行端口的单播报文时,构造第三流表,所述第三流表的包头域包括所述入端口和目的MAC,动作域包括通过所述目的端口转发。
本示例中下发的流表中,Header Fields可以包含入端口号、主VLAN ID、源MAC地址和目的MAC地址,Action包括转发的出端口号。其中,入端口号为接收该单播报文的上行端口,即该VEPA交换机与边缘交换机相连的端口号,出端口号为该单播报文的目的MAC地址对应的端口。
由于isolated VLAN和Community VLAN的上行单播报文在发送端都根据各自特性,是否发送进行了过滤控制,因此在接收端,如果接收到单播报文,只需根据该单播报文的内容为该单播报文分配流表,使服务器进行发送即可。
示例四:isolated VLAN/Community VLAN的上行多播报文
多播报文包括组播报文和广播报文。在所述报文是入端口为下行端口的多播报文时,构造第四流表,所述第四流表的包头域包括所述入端口和目的MAC,动作域包括设置VLAN为主VLAN并通过上行端口转发。
这里,下发的流表中的入端口和目的MAC地址为Header Fields包含的内容,出端口和主VLAN为Action包含的内容。其中,出端口号为该VEPA交换机与边缘交换机相连的上行端口。
本实施例中,对于上行组播或广播报文直接下发流表,由于相同主VLAN内和VDS之外的端口的服务器都会收到,对于组播报文来说,VLAN内和VDS之外的属于此组播组的服务器都会收到,因此在发送端无法判断是否丢弃报文,因此下发流表转发,而在接收到对应组播报文或广播报文时,再判断是否转发该组播报文或广播报文。
示例五:isolated VLAN的下行多播报文
在所述报文是入端口为上行端口、且源端口所属的子VLAN为isolated VLAN的多播报文时,构造第五流表,所述第五流表的包头域包括所述入端口、源MAC和目的MAC,动作域包括通过所述VEPA交换机上的第一类端口转发;所述第一类端口所属VDS与所述源端口所属VDS不同,所述源端口是所述报文的源MAC地址对应的端口。
也就是说,对于isolated VLAN的下行多播报文,只有在该多播报文的源端口所属VDS不同于所述VEPA交换机所属VDS时,才会下发流表;否则,丢弃该多播报文。另外,针对下行组播报文下发的流表,其中的所述第一类端口所属VDS与所述源端口所属VDS不同,并且,所述第一类端口还是该组播报文对应的组播组的端口。
示例六:Community VLAN的下行多播报文
在所述报文是入端口为上行端口、且源端口所属的子VLAN为Community VLAN的多播报文时,构造第六流表,所述第六流表的包头域包括所述入端口、源MAC和目的MAC,动作域包括通过所述VEPA交换机上的第二类端口转发;所述第二类端口所属Community VLAN与所述源端口所属Community VLAN相同,且属于同一主VLAN,或者,所述第二类端口所属VDS与所述源端口所属VDS不同。
也就是说,对于Community VLAN的下行多播报文,只有在该多播报文的源端口所属VDS不同于所述VEPA交换机所属VDS,或者所述VEPA交换机上存在有与所述源端口属于同一Community VLAN的下行端口时,才会下发流表;否则,丢弃该多播报文。另外,针对下行组播报文下发的流表,其中的所述第一类端口所属VDS与所述源端口所属VDS不同,并且,所述第一类端口还是该组播报文对应的组播组的端口;或者,所述第一类端口与所述源端口所属的Community VLAN相同,并且,所述第一类端口还是该组播报文对应的组播组的端口;
在Community VLAN中不在同一VDS内的端口可以互相通信,因此接收到该服务器所在VDS之外的服务器发送的组播或广播报文时,在本VDS内如果存在对应的Community VLAN中的端口,则为该组播或广播报文下发流表,使该服务器转发该组播或广播报文。另外,在VDS内同一主VLAN内的同一CommunityVLAN内的端口才可以互相通信,因此确定该组播或广播报文的源端口和出端口属于同一主VLAN内的同一Community VLAN时,会为该组播报文或广播报文下发流表,使该服务器根据下发的流表转发该组播报文或广播报文。
下面,再结合图2提供的组网结构图,对本发明实施例的具体应用作进一步描述。
参见图2,图2为本发明实施例中组网结构示意图。图2中OpenFlow控制器上运行VEPA协议,以配置一个VDS管理服务器1和服务器2为例。以服务器1为例,服务器1虚拟一个交换机,该交换机上运行OpenFlow协议,称为OpenFlow交换机。并虚拟三个VM,分别为VM1、VM2和VM3。
OpenFlow控制器配置服务器1的三个MAC地址,VM1对应MAC1,VM2对应MAC2,VM3对应MAC3,以及各MAC地址对应端口的VLAN ID和端口号。MAC1对应端口的子VLAN为isolated VLAN1,对应的主VLAN为PrimaryVLAN1,对应的入端口为port1;MAC2对应端口的子VLAN为isolated VLAN1,对应的主VLAN为Primary VLAN1,对应的入端口为port2;MAC3对应端口的子VLAN为Community VLAN1,对应的主VLAN为Primary VLAN1,对应的入端口为port3。并配置Primary VLAN1对应的入端口为port9。
假设VM1生成一个单播报文,通过port1发送到OpenFlow交换机,OpenFlow交换机根据该单播报文的入端口号和目的MAC地址查找对应的流表,如果查找到,根据查找到的流表中的Action的内容转发该单播报文;如果未查找到对应的流表,则将该单播报文上送到OpenFlow控制器。
OpenFlow控制器接收到服务器虚拟的OpenFlow交换机上送服务器生成的单播报文时,确定该单播报文的目的MAC地址是否属于该单播报文的源MAC地址所属的VDS,如果是,直接丢弃该单播报文;否则,为该单播报文下发流表。
参见表1,表1为本实例中为VM1发送的单播报文下发的流表包含的内容。
表1
表1中假设该单播报文的目的MAC地址为MAC8,且不在配置的VDS内;入端口号根据上送的单播报文的源MAC地址所对应的端口确定。该流表的执行动作中包括报文转发端口(即通过转发端口将报文转发出去),以及转发该单播报文需封装的主VLAN ID。
OpenFlow控制器将流表下发给服务器1的OpenFlow交换机,并使该服务器根据该流表的内容转发该单播报文。并将该流表在本地保存,再次接收到通过port1接收的,目的MAC地址为MAC8的报文时,根据表1的内容进行报文转发。
当VM1发送的是广播报文或组播报文时,OpenFlow交换机根据该广播报文的入端口号和目的MAC地址查找对应的流表,如果查找到,根据查找到的流表中的Action的内容转发该广播或组播报文;如果未查找到对应的流表,则将该组播或广播报文上送到OpenFlow控制器。
OpenFlow控制器接收到服务器虚拟的OpenFlow交换机上送服务器生成的组播或广播报文时,直接为该组播报文或广播报文下发流表。参见表2,表2为本实施中为VM1发送的组播报文下发的流表包含的内容。参见表3,表3为本实施中为VM1发送的广播报文下发的流表包含的内容。
表2
表3
下面来详细描述服务器1接收到边缘交换机发送来的报文的处理过程,为了描述方便。将边缘交换机发来的单播报文称为下行单播报文,发来的广播报文称为下行广播报文。
服务器1接收到边缘交换机发送的下行单播报文时,根据该单播报文的入端口、源MAC地址和目的MAC地址查找对应的流表,如果查找到,根据流表中的Action内容转发该单播报文。如果未查找到,上送到OpenFlow控制器。
OpenFlow控制器根据该单播报文的目的MAC地址为该单播报文分配流表。由于单播报文在上行时,即发送端时进行了控制,因此在接收端一定会查找到对应的MAC地址,并分配流表,使服务器1进行转发。
即如果接收到的单播报文的目的MAC地址为MAC1时,即该单播报文需通过port1转发给VM1,并且该单播报文的源MAC地址假设为MAC9。
参见表4,表4为本实例中为OpenFlow控制器为下行单播报文下发的流表包含的内容。
表4
服务器1接收到边缘交换机转发的下行组播报文或广播报文时,且该组播报文或广播报文的源端口不属于服务器1所在的VDS时,如果OpenFlow控制器接收到服务器1上送的该下行组播报文或广播报文时,根据该下行组播报文或广播报文下发流表,如组播报文,在OpenFlow控制器上会配置该组播报文的目的MAC地址对应的组播组中包含的端口,则将该组播报文通过对应的组播组中包含的端口转发。如果该组播组在服务器1上包含的对应端口为port1,则下发的流表见表5,表5是为本实例中为OpenFlow控制器为下行组播报文下发的流表包含的内容。
表5
对于广播报文下发的流表与对组播报文下发的流表相类似的,这里不再详细举例。
下面仍参考图2,以对图2中的服务器2为例,服务器2虚拟一个交换机,该交换机上运行OpenFlow协议,称为OpenFlow交换机。并虚拟三个VM,分别为VM4、VM5和VM6。
OpenFlow控制器配置服务器2的三个MAC地址,VM4对应MAC4,VM5对应MAC5,VM6对应MAC6,以及各MAC地址对应端口的VLAN ID和端口号。MAC4对应端口的子VLAN为Community VLAN2,对应的主VLAN为PrimaryVLAN2,对应的入端口为port4;MAC5对应端口的子VLAN为Community VLAN2,对应的主VLAN为Primary VLAN2,对应的入端口为port5;MAC6对应端口的子VLAN为Community VLAN2,对应的主VLAN为Primary VLAN2,对应的入端口为port6。并配置Primary VLAN2对应的入端口为port8。
假设VM4生成一个单播报文,通过port4发送到OpenFlow交换机,OpenFlow交换机根据该单播报文的入端口号和目的MAC地址查找对应的流表,如果查找到,根据查找到的流表中的Action的内容转发该单播报文;如果未查找到对应的流表,则将该单播报文上送到OpenFlow控制器。
OpenFlow控制器接收到服务器虚拟的OpenFlow交换机上送服务器生成的单播报文时,若确定该单播报文的目的端口属于该单播报文源端口所属的VDS,确定该单播报文的目的端口与源端口是否属于同一主VLAN的同一CommunityVLAN,即确定目的端口是否属于Primary VLAN2中的Community VLAN2,如果是,为该单播报文下发流表;否则,直接丢弃该单播报文。如果该单播报文的目的MAC地址为MAC5时,则为该单播报文下发流表。
若确定该单播报文的目的端口不属于该单播报文源端口所属的VDS,即该单播报文需要向服务器2所在的VS之外的服务器发送时,直接为该单播报文下发流表。
参见表6,表6为本发明具体实施例八中为VM4发送的单播报文下发的流表包含的内容。
表6
表6中假设该单播报文的目的MAC地址为MAC5时,下发的流表包含的内容。入端口号根据上送的单播报文的入端口确定。该流表的执行动作中包括报文转发端口,以及转发该单播报文需封装的主VLAN ID。
OpenFlow控制器将流表下发给服务器2的OpenFlow交换机,并使该服务器根据该流表的内容转发该单播报文。并将该流表在本地保存,再次接收到通过port4接收的,目的MAC地址为MAC5的报文时,根据表6的内容进行报文转发。
当VM4发送的是广播报文或组播报文时,OpenFlow交换机根据该广播报文的入端口号和目的MAC地址查找对应的流表,如果查找到,根据查找到的流表中的Action的内容转发该广播或组播报文;如果未查找到对应的流表,则将该组播或广播报文上送到OpenFlow控制器。OpenFlow控制器接收到服务器虚拟的OpenFlow交换机上送服务器生成的组播或广播报文时,直接为该组播报文或广播报文下发流表。参见表7,表7为本实例为VM4发送的组播报文下发的流表包含的内容。参见表8,表8为本实例为VM1发送的广播报文下发的流表包含的内容。
表7
表8
下面来详细描述服务器2接收到边缘交换机发送来的报文的处理过程,为了描述方便。将边缘交换机发来的单播报文称为下行单播报文,发来的广播报文称为下行广播报文。
服务器2接收到边缘交换机发送的下行单播报文时,根据该单播报文的入端口、源MAC地址和目的MAC地址查找对应的流表,如果查找到,根据流表中的Action内容转发该单播报文。如果未查找到,上送到OpenFlow控制器。
OpenFlow控制器根据该单播报文的目的MAC地址为该单播报文构造流表。由于单播报文在上行时,即发送端时进行了过滤控制,因此在接收端会查找到对应的MAC地址,并下发流表,使服务器2进行转发。
即如果接收到的单播报文的目的MAC地址为MAC4时,即该单播报文需通过port4转发给VM4,表9为本实例为OpenFlow控制器为下行单播报文下发的流表包含的内容。
表9
服务器2接收到边缘交换机转发的下行组播报文或广播报文时,且该组播报文或广播报文的源MAC地址不属于服务器2所在的VDS时,如果OpenFlow控制器接收到服务器2上送的该下行组播报文或广播报文时,根据该下行组播报文或广播报文下发流表,如组播报文,在OpenFlow控制器上会配置该组播报文的目的MAC地址对应的组播组中包含的端口,则将该组播报文通过对应的组播组中包含的端口转发。如果该组播组在服务器1上包含的对应端口为port4和port5,则下发的流表见表10,表10为本实例为OpenFlow控制器为下行组播报文下发的流表包含的内容。
表10
对于广播报文下发的流表与对组播报文下发的流表相类似的,这里不再详细举例。
本发明具体实施例中基于同样的发明构思,还提出一种装置,可应用于包含OpenFlow控制器、服务器和边缘交换机的组网中的OpenFlow控制器上,其中,任一所述服务器虚拟多个VM和一个VEPA交换机,并在VEPA交换机上运行OpenFlow协议,为虚拟的VM和交换机分配端口号。参见图3,图3为本发明具体实施例中应用于上述技术的装置结构示意图。该装置包括:接收单元301、构造单元302和下发单元303。
接收单元301,用于接收VEPA交换机上送的报文;
构造单元302,用于根据接收单元301接收到的VEPA交换机上送的报文的入端口和目的端口各自所属的子VLAN以及各自所属的VDS,构造用于转发所述报文的流表,其中,所述入端口是所述VEPA交换机接收到所述报文的端口,所述目的端口是所述报文的目的MAC地址对应的端口;
下发单元303,用于将所述流表下发给所述VEPA交换机,使所述VEPA交换机根据该流表转发该报文。
较佳地,该装置还包括:
接收单元301,进一步用于接收VM启动后上报的事件消息。
维护单元304,用于当接收单元301接收到VM启动后上报的事件消息,根据所述事件消息中携带的VM的MAC地址以及所述VEPA交换机上连接所述VM的端口,维护各个VM的MAC地址以及所述VEPA交换机连接各个VM的端口之间的对应关系。
确定单元305,用于根据所述维护单元维护的对应关系,确定所述报文的源MAC地址对应的端口、以及目的MAC地址对应的端口。
较佳地,构造单元302包括:
第一处理单元312,用于在所述报文是入端口所属的子VLAN为isolated VLAN的单播报文时,若所述入端口与所述目的端口各自所属的VDS不同,则构造第一流表;否则,丢弃所述单播报文;
第二处理单元322,用于在所述报文是入端口所属的子VLAN为Community VLAN的单播报文时,若所述入端口与所述目的端口各自所属的子VLAN为同一主VLAN内同一Community VLAN,或者所述入端口与所述目的端口各自所属的VDS不同,则构造第二流表;否则,丢弃所述单播报文;
其中,所述第一流表和第二流表的包头域均包括所述入端口和目的MAC,动作域包括设置VLAN为主VLAN并通过上行端口转发。
较佳地,构造单元302还包括:
第三处理单元332,用于在所述报文是入端口为上行端口的单播报文时,构造第三流表,所述第三流表的包头域包括所述入端口和目的MAC,动作域包括通过所述目的端口转发。
较佳地,构造单元302还包括:
第四处理单元342,用于在所述报文是入端口为下行端口的多播报文时,构造第四流表,所述第四流表的包头域包括所述入端口和目的MAC,动作域包括设置VLAN为主VLAN并通过上行端口转发。
较佳地,构造单元302还包括:
第五处理单元352,用于在所述报文是入端口为上行端口、且源端口所属的子VLAN为isolated VLAN的多播报文时,构造第五流表,所述第五流表的包头域包括所述入端口、源MAC和目的MAC,动作域包括通过所述VEPA交换机上的第一类端口转发;所述第一类端口所属VDS与所述源端口所属VDS不同,所述源端口是所述报文的源MAC地址对应的端口;
第六处理单元362,用于在所述报文是入端口为上行端口、且源端口所属的子VLAN为Community VLAN的多播报文时,构造第六流表,所述第六流表的包头域包括所述入端口、源MAC和目的MAC,动作域包括通过所述VEPA交换机上的第二类端口转发;所述第二类端口所属Community VLAN与所述源端口所属CommunityVLAN相同,且属于同一主VLAN,或者,所述第二类端口所属VDS与所述源端口所属VDS不同。
上述实施例的单元可以集成于一体,也可以分离部署;可以合并为一个单元,也可以进一步拆分成多个子单元。
综上所述,本发明具体实施例中通过引入OpenFlow协议实现PVLAN,在OpenFlow控制器中控制是否对报文的转发,不需要将子VLAN内的MAC表拷贝到主VLAN中,因此不会造成主VLAN的表项占用大的内存,也不会降低报文的转发速率。
在具体实施例中报文首包的处理放在OpenFlow控制器中,减轻了服务器的负担。PVLAN的实现结合OpenFlow,在节约VLAN ID消耗的同时,实现了对主机之间报文转发的统一控制,高效而且针对性强;结合OpenFlow使得具备基于应用的流管理和监控功能。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (12)

1.一种基于开放流OpenFlow协议实现私有虚拟局域网PVLAN的方法,其特征在于,该方法应用于包含OpenFlow控制器、服务器和边缘交换机的组网中的OpenFlow控制器上,所述OpenFlow控制器创建虚拟分布式交换机VDS;所述服务器虚拟多个虚拟机VM和一个虚拟边缘端口汇聚VEPA交换机,所述VEPA交换机的与边缘交换机连接的上行端口配置加入主VLAN,所述VEPA交换机的与VM连接的下行端口配置加入子VLAN,所述下行端口和上行端口均配置加入对应的VDS,所述子VLAN包括隔离isolated VLAN和公共Community VLAN;所述方法包括:
OpenFlow控制器接收VEPA交换机上送的报文;
OpenFlow控制器根据所述报文的入端口和目的端口各自所属的子VLAN以及各自所属的VDS,构造用于转发所述报文的流表,其中,所述入端口是所述VEPA交换机接收到所述报文的端口,所述目的端口是所述报文的目的MAC地址对应的端口;
OpenFlow控制器将所述流表下发给所述VEPA交换机,使所述VEPA交换机根据该流表转发该报文。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
OpenFlow控制器接收VM启动后上报的事件消息,根据所述事件消息中携带的VM的MAC地址以及所述VEPA交换机上连接所述VM的端口,维护各个VM的MAC地址以及所述VEPA交换机连接各个VM的端口之间的对应关系;
所述OpenFlow控制器进一步根据所述对应关系,确定所述报文的源MAC地址对应的端口、以及目的MAC地址对应的端口。
3.根据权利要求1所述的方法,其特征在于,所述构造用于转发所述报文的流表包括:
在所述报文是入端口所属的子VLAN为isolated VLAN的单播报文时,若所述入端口与所述目的端口各自所属的VDS不同,则构造第一流表;否则,丢弃所述单播报文;
在所述报文是入端口所属的子VLAN为Community VLAN的单播报文时,若所述入端口与所述目的端口各自所属的子VLAN为同一主VLAN内同一CommunityVLAN,或者所述入端口与所述目的端口各自所属的VDS不同,则构造第二流表;否则,丢弃所述单播报文;
其中,所述第一流表和第二流表的包头域均包括所述入端口和目的MAC,动作域包括设置VLAN为主VLAN并通过上行端口转发。
4.根据权利要求3所述的方法,其特征在于,所述构造用于转发所述报文的流表还包括:
在所述报文是入端口为上行端口的单播报文时,构造第三流表,所述第三流表的包头域包括所述入端口和目的MAC,动作域包括通过所述目的端口转发。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述构造用于转发所述报文的流表包括:
在所述报文是入端口为下行端口的多播报文时,构造第四流表,所述第四流表的包头域包括所述入端口和目的MAC,动作域包括设置VLAN为主VLAN并通过上行端口转发。
6.根据权利要求5所述的方法,其特征在于,所述构造用于转发所述报文的流表还包括:
在所述报文是入端口为上行端口、且源端口所属的子VLAN为isolated VLAN的多播报文时,构造第五流表,所述第五流表的包头域包括所述入端口、源MAC和目的MAC,动作域包括通过所述VEPA交换机上的第一类端口转发;所述第一类端口所属VDS与所述源端口所属VDS不同,所述源端口是所述报文的源MAC地址对应的端口;
在所述报文是入端口为上行端口、且源端口所属的子VLAN为Community VLAN的多播报文时,构造第六流表,所述第六流表的包头域包括所述入端口、源MAC和目的MAC,动作域包括通过所述VEPA交换机上的第二类端口转发;所述第二类端口所属Community VLAN与所述源端口所属Community VLAN相同,且属于同一主VLAN,或者,所述第二类端口所属VDS与所述源端口所属VDS不同。
7.一种装置,其特征在于,可应用于包含OpenFlow控制器、服务器和边缘交换机的组网中的OpenFlow控制器上,其中,所述OpenFlow控制器创建虚拟分布式交换机VDS;所述服务器虚拟多个虚拟机VM和一个虚拟边缘端口汇聚VEPA交换机,所述VEPA交换机的与边缘交换机连接的上行端口配置加入主VLAN,所述VEPA交换机的与VM连接的下行端口配置加入子VLAN,所述下行端口和上行端口均配置加入对应的VDS,所述子VLAN包括隔离isolated VLAN和公共Community VLAN;所述装置包括:接收单元、构造单元和下发单元;
所述接收单元,用于接收VEPA交换机上送的报文;
所述构造单元,用于根据所述接收单元接收到的VEPA交换机上送的报文的入端口和目的端口各自所属的子VLAN以及各自所属的VDS,构造用于转发所述报文的流表,其中,所述入端口是所述VEPA交换机接收到所述报文的端口,所述目的端口是所述报文的目的MAC地址对应的端口;
所述下发单元,用于将所述流表下发给所述VEPA交换机,使所述VEPA交换机根据该流表转发该单播报文。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
所述接收单元,进一步用于接收VM启动后上报的事件消息;
维护单元,用于当所述接收单元接收到VM启动后上报的事件消息,根据所述事件消息中携带的VM的MAC地址以及所述VEPA交换机上连接所述VM的端口,维护各个VM的MAC地址以及所述VEPA交换机连接各个VM的端口之间的对应关系;
确定单元,用于根据所述维护单元维护的对应关系,确定所述报文的源MAC地址对应的端口、以及目的MAC地址对应的端口。
9.根据权利要求7所述的装置,其特征在于,所述构造单元包括:
第一处理单元,用于在所述报文是入端口所属的子VLAN为isolated VLAN的单播报文时,若所述入端口与所述目的端口各自所属的VDS不同,则构造第一流表;否则,丢弃所述单播报文;
第二处理单元,用于在所述报文是入端口所属的子VLAN为Community VLAN的单播报文时,若所述入端口与所述目的端口各自所属的子VLAN为同一主VLAN内同一Community VLAN,或者所述入端口与所述目的端口各自所属的VDS不同,则构造第二流表;否则,丢弃所述单播报文;
其中,所述第一流表和第二流表的包头域均包括所述入端口和目的MAC,动作域包括设置VLAN为主VLAN并通过上行端口转发。
10.根据权利要求9所述的装置,其特征在于,所述构造单元还包括:
第三处理单元,用于在所述报文是入端口为上行端口的单播报文时,构造第三流表,所述第三流表的包头域包括所述入端口和目的MAC,动作域包括通过所述目的端口转发。
11.根据权利要求7至10任一项所述的装置,其特征在于,所述构造单元还包括:
第四处理单元,用于在所述报文是入端口为下行端口的多播报文时,构造第四流表,所述第四流表的包头域包括所述入端口和目的MAC,动作域包括设置VLAN为主VLAN并通过上行端口转发。
12.根据权利要求11所述的装置,其特征在于,所述构造单元还包括:
第五处理单元,用于在所述报文是入端口为上行端口、且源端口所属的子VLAN为isolated VLAN的多播报文时,构造第五流表,所述第五流表的包头域包括所述入端口、源MAC和目的MAC,动作域包括通过所述VEPA交换机上的第一类端口转发;所述第一类端口所属VDS与所述源端口所属VDS不同,所述源端口是所述报文的源MAC地址对应的端口;
第六处理单元,用于在所述报文是入端口为上行端口、且源端口所属的子VLAN为Community VLAN的多播报文时,构造第六流表,所述第六流表的包头域包括所述入端口、源MAC和目的MAC,动作域包括通过所述VEPA交换机上的第二类端口转发;所述第二类端口所属Community VLAN与所述源端口所属Community VLAN相同,且属于同一主VLAN,或者,所述第二类端口所属VDS与所述源端口所属VDS不同。
CN201310063008.8A 2013-02-28 2013-02-28 基于OpenFlow协议实现PVLAN的方法和装置 Active CN104022960B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201310063008.8A CN104022960B (zh) 2013-02-28 2013-02-28 基于OpenFlow协议实现PVLAN的方法和装置
US14/018,124 US9565104B2 (en) 2013-02-28 2013-09-04 Switch controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310063008.8A CN104022960B (zh) 2013-02-28 2013-02-28 基于OpenFlow协议实现PVLAN的方法和装置

Publications (2)

Publication Number Publication Date
CN104022960A true CN104022960A (zh) 2014-09-03
CN104022960B CN104022960B (zh) 2017-05-31

Family

ID=51388092

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310063008.8A Active CN104022960B (zh) 2013-02-28 2013-02-28 基于OpenFlow协议实现PVLAN的方法和装置

Country Status (2)

Country Link
US (1) US9565104B2 (zh)
CN (1) CN104022960B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104852840A (zh) * 2015-05-28 2015-08-19 杭州华三通信技术有限公司 一种控制虚拟机之间互访的方法及装置
WO2016095822A1 (en) * 2014-12-17 2016-06-23 Hangzhou H3C Technologies Co., Ltd. Flow transmission
CN106034077A (zh) * 2015-03-18 2016-10-19 华为技术有限公司 一种动态路由配置方法、装置及系统
WO2016177180A1 (zh) * 2015-07-01 2016-11-10 中兴通讯股份有限公司 一种OpenFlow交换机能力上报的方法及装置
WO2017084228A1 (zh) * 2015-11-20 2017-05-26 英业达科技有限公司 软件定义网络中流量项目的管理方法
CN108833166A (zh) * 2018-06-19 2018-11-16 中国联合网络通信集团有限公司 边缘云报文转发方法及系统、网络报文转发方法及系统
CN109150765A (zh) * 2018-09-12 2019-01-04 郑州云海信息技术有限公司 一种基于fpga实现的交换机
CN109905336A (zh) * 2019-03-13 2019-06-18 武汉星耀科技有限公司 分布式虚拟交换机的SuperVLAN实现方法及系统

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9712431B2 (en) * 2013-07-17 2017-07-18 Kt Corporation Methods for managing transaction in software defined network
US9426060B2 (en) 2013-08-07 2016-08-23 International Business Machines Corporation Software defined network (SDN) switch clusters having layer-3 distributed router functionality
US20150098475A1 (en) * 2013-10-09 2015-04-09 International Business Machines Corporation Host table management in software defined network (sdn) switch clusters having layer-3 distributed router functionality
US9502111B2 (en) 2013-11-05 2016-11-22 Cisco Technology, Inc. Weighted equal cost multipath routing
US9825857B2 (en) 2013-11-05 2017-11-21 Cisco Technology, Inc. Method for increasing Layer-3 longest prefix match scale
US10778584B2 (en) 2013-11-05 2020-09-15 Cisco Technology, Inc. System and method for multi-path load balancing in network fabrics
US10951522B2 (en) 2013-11-05 2021-03-16 Cisco Technology, Inc. IP-based forwarding of bridged and routed IP packets and unicast ARP
US9674086B2 (en) 2013-11-05 2017-06-06 Cisco Technology, Inc. Work conserving schedular based on ranking
US9769078B2 (en) 2013-11-05 2017-09-19 Cisco Technology, Inc. Dynamic flowlet prioritization
US9374294B1 (en) 2013-11-05 2016-06-21 Cisco Technology, Inc. On-demand learning in overlay networks
US9397946B1 (en) 2013-11-05 2016-07-19 Cisco Technology, Inc. Forwarding to clusters of service nodes
US9876711B2 (en) 2013-11-05 2018-01-23 Cisco Technology, Inc. Source address translation in overlay networks
US9655232B2 (en) 2013-11-05 2017-05-16 Cisco Technology, Inc. Spanning tree protocol (STP) optimization techniques
US9509092B2 (en) 2013-11-06 2016-11-29 Cisco Technology, Inc. System and apparatus for network device heat management
US9559865B2 (en) * 2013-11-08 2017-01-31 Verizon Patent And Licensing Inc. Virtual network device in a cloud computing environment
US9124536B2 (en) * 2013-12-12 2015-09-01 International Business Machines Corporation Managing data flows in overlay networks
US20150169345A1 (en) * 2013-12-18 2015-06-18 International Business Machines Corporation Software-defined networking (sdn) for management of traffic between virtual processors
US20150180769A1 (en) * 2013-12-20 2015-06-25 Alcatel-Lucent Usa Inc. Scale-up of sdn control plane using virtual switch based overlay
US11308114B1 (en) * 2013-12-23 2022-04-19 Cazena, Inc. Platform for provisioning a data analytics environment
US9620213B2 (en) 2013-12-27 2017-04-11 Cavium, Inc. Method and system for reconfigurable parallel lookups using multiple shared memories
US9548945B2 (en) 2013-12-27 2017-01-17 Cavium, Inc. Matrix of on-chip routers interconnecting a plurality of processing engines and a method of routing using thereof
US9825884B2 (en) 2013-12-30 2017-11-21 Cavium, Inc. Protocol independent programmable switch (PIPS) software defined data center networks
US9379963B2 (en) 2013-12-30 2016-06-28 Cavium, Inc. Apparatus and method of generating lookups and making decisions for packet modifying and forwarding in a software-defined network engine
US9880844B2 (en) * 2013-12-30 2018-01-30 Cavium, Inc. Method and apparatus for parallel and conditional data manipulation in a software-defined network processing engine
US10135687B2 (en) * 2014-01-06 2018-11-20 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Virtual group policy based filtering within an overlay network
CN104954281B (zh) * 2014-03-31 2018-08-03 中国移动通信集团公司 通信方法、系统、资源池管理系统、交换机和控制装置
US10277422B2 (en) * 2014-05-06 2019-04-30 International Business Machines Corporation Virtual port support in a logical switch architecture
US10291553B2 (en) * 2014-05-06 2019-05-14 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Logical switch architecture for network virtualization
US9774502B2 (en) * 2014-06-25 2017-09-26 Ciena Corporation Systems and methods for combined software defined networking and distributed network control
US9762489B2 (en) * 2014-09-24 2017-09-12 Cisco Technology, Inc. Local packet switching at a satellite device
US9882814B2 (en) * 2014-09-25 2018-01-30 Intel Corporation Technologies for bridging between coarse-grained and fine-grained load balancing
US9838337B1 (en) * 2014-09-30 2017-12-05 Juniper Networks, Inc. Automatic virtual local area network (VLAN) provisioning in data center switches
CN104301230A (zh) * 2014-10-10 2015-01-21 杭州华三通信技术有限公司 报文转发方法和装置
CN104407911B (zh) * 2014-10-31 2018-03-20 新华三技术有限公司 虚拟机迁移方法及装置
US10116493B2 (en) 2014-11-21 2018-10-30 Cisco Technology, Inc. Recovering from virtual port channel peer failure
CN105991456B (zh) * 2015-02-06 2019-04-05 中国电信股份有限公司 一种OpenFlow交换机、网络系统及带宽共享方法
US10003676B2 (en) * 2015-02-20 2018-06-19 Cavium, Inc. Method and apparatus for generating parallel lookup requests utilizing a super key
US10305816B1 (en) * 2015-03-31 2019-05-28 Cisco Technology, Inc. Adjustable bit mask for high-speed native load balancing on a switch
US10025609B2 (en) 2015-04-23 2018-07-17 International Business Machines Corporation Virtual machine (VM)-to-VM flow control for overlay networks
CN105141526B (zh) * 2015-08-19 2019-01-15 北京百度网讯科技有限公司 虚拟网络通信的方法及装置
US10187218B2 (en) * 2015-09-15 2019-01-22 Google Llc Systems and methods for processing packets in a computer network
US10284502B2 (en) * 2015-10-12 2019-05-07 Mellanox Technologies, Ltd. Dynamic optimization for IP forwarding performance
US10142163B2 (en) 2016-03-07 2018-11-27 Cisco Technology, Inc BFD over VxLAN on vPC uplinks
US10333828B2 (en) 2016-05-31 2019-06-25 Cisco Technology, Inc. Bidirectional multicasting over virtual port channel
CN106059822B (zh) * 2016-06-29 2019-07-09 新华三技术有限公司 一种配置信息的下发方法和装置
US11509501B2 (en) 2016-07-20 2022-11-22 Cisco Technology, Inc. Automatic port verification and policy application for rogue devices
US11018743B2 (en) 2016-07-22 2021-05-25 Apple Inc. QCL (quasi co-location) indication for beamforming management
US10264040B2 (en) * 2016-08-03 2019-04-16 Big Switch Networks, Inc. Systems and methods to manage multicast traffic
US10193750B2 (en) 2016-09-07 2019-01-29 Cisco Technology, Inc. Managing virtual port channel switch peers from software-defined network controller
US10462059B2 (en) 2016-10-19 2019-10-29 Intel Corporation Hash table entries insertion method and apparatus using virtual buckets
CN108234422B (zh) * 2016-12-21 2020-03-06 新华三技术有限公司 资源调度方法及装置
CN108243123B (zh) * 2016-12-23 2022-03-11 中兴通讯股份有限公司 广播报文的处理方法、装置、控制器和交换机
US10554494B1 (en) 2017-01-04 2020-02-04 Juniper Networks, Inc. Automatic ICCP provisioning and VLAN provisioning on an inter-chassis link in a MC-LAG
US10547509B2 (en) 2017-06-19 2020-01-28 Cisco Technology, Inc. Validation of a virtual port channel (VPC) endpoint in the network fabric
US10536379B2 (en) * 2017-09-28 2020-01-14 Argela Yazilim Ve Bilisim Teknolojileri San Ve Tic. A.S. System and method for control traffic reduction between SDN controller and switch
CN109861961B (zh) * 2017-11-30 2022-10-28 松下电器(美国)知识产权公司 网络防御装置以及网络防御系统
CN110022262B (zh) * 2018-01-09 2021-07-30 上海层峰网络科技有限公司 一种基于sdn网络实现平面分离的方法、系统和装置
CN108183862B (zh) * 2018-01-24 2021-02-09 上海宽带技术及应用工程研究中心 软件定义交换网的通信方法/系统、可读存储介质及设备
US11494212B2 (en) * 2018-09-27 2022-11-08 Intel Corporation Technologies for adaptive platform resource assignment
CN109831390B (zh) * 2019-01-21 2022-06-10 新华三云计算技术有限公司 报文转发控制方法及装置
KR102207290B1 (ko) * 2019-04-12 2021-01-25 아토리서치(주) 소프트웨어 정의 네트워크에서 vlan을 지원하는 방법
US11438280B2 (en) 2019-08-30 2022-09-06 Nutanix, Inc. Handling IP network addresses in a virtualization system
US11550616B2 (en) 2019-08-30 2023-01-10 Nutanix, Inc. Virtual IP support for bare metal cloud infrastructures
US11429411B2 (en) 2019-08-30 2022-08-30 Nutanix, Inc. Fast ARP cache rewrites in a cloud-based virtualization environment
US11740919B2 (en) * 2020-05-18 2023-08-29 Dell Products L.P. System and method for hardware offloading of nested virtual switches
US11502959B2 (en) * 2020-11-17 2022-11-15 Cisco Technology, Inc. Traffic flow based map-cache refresh to support devices and their dynamic policy updates
US11502872B1 (en) * 2021-06-07 2022-11-15 Cisco Technology, Inc. Isolation of clients within a virtual local area network (VLAN) in a fabric network
CN114553799B (zh) * 2022-01-10 2023-11-03 珠海高凌信息科技股份有限公司 基于可编程数据平面的组播转发方法、装置、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120099591A1 (en) * 2010-10-26 2012-04-26 Dell Products, Lp System and Method for Scalable Flow Aware Network Architecture for Openflow Based Network Virtualization
CN102594689A (zh) * 2012-02-22 2012-07-18 中兴通讯股份有限公司 一种分布式网络控制方法及装置
CN102780608A (zh) * 2011-05-13 2012-11-14 国际商业机器公司 用于分布式虚拟交换机的私有虚拟局域网方法和系统
US20120287930A1 (en) * 2011-05-13 2012-11-15 Cisco Technology, Inc. Local switching at a fabric extender
CN102857416A (zh) * 2012-09-18 2013-01-02 中兴通讯股份有限公司 一种实现虚拟网络的方法和虚拟网络

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102349268B (zh) 2009-03-09 2015-11-25 日本电气株式会社 OpenFlow通信系统和OpenFlow通信方法
US8966035B2 (en) 2009-04-01 2015-02-24 Nicira, Inc. Method and apparatus for implementing and managing distributed virtual switches in several hosts and physical forwarding elements
CN101631062B (zh) 2009-08-25 2012-01-11 北京东土科技股份有限公司 一种汇聚端口隔离的pvlan实现方法
US9014184B2 (en) 2009-09-24 2015-04-21 Nec Corporation System and method for identifying communication between virtual servers
US8761187B2 (en) 2011-06-14 2014-06-24 Futurewei Technologies, Inc. System and method for an in-server virtual switch
US8560663B2 (en) 2011-09-30 2013-10-15 Telefonaktiebolaget L M Ericsson (Publ) Using MPLS for virtual private cloud network isolation in openflow-enabled cloud computing
CN102868645A (zh) 2012-09-26 2013-01-09 盛科网络(苏州)有限公司 Openflow交换机系统及其报文处理方法
US8831000B2 (en) * 2012-10-10 2014-09-09 Telefonaktiebolaget L M Ericsson (Publ) IP multicast service join process for MPLS-based virtual private cloud networking
US9350558B2 (en) * 2013-01-09 2016-05-24 Dell Products L.P. Systems and methods for providing multicast routing in an overlay network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120099591A1 (en) * 2010-10-26 2012-04-26 Dell Products, Lp System and Method for Scalable Flow Aware Network Architecture for Openflow Based Network Virtualization
CN102780608A (zh) * 2011-05-13 2012-11-14 国际商业机器公司 用于分布式虚拟交换机的私有虚拟局域网方法和系统
US20120287930A1 (en) * 2011-05-13 2012-11-15 Cisco Technology, Inc. Local switching at a fabric extender
CN102594689A (zh) * 2012-02-22 2012-07-18 中兴通讯股份有限公司 一种分布式网络控制方法及装置
CN102857416A (zh) * 2012-09-18 2013-01-02 中兴通讯股份有限公司 一种实现虚拟网络的方法和虚拟网络

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016095822A1 (en) * 2014-12-17 2016-06-23 Hangzhou H3C Technologies Co., Ltd. Flow transmission
US10476981B2 (en) 2014-12-17 2019-11-12 Hewlett Packard Enterprise Development Lp Flow transmission
CN106034077B (zh) * 2015-03-18 2019-06-28 华为技术有限公司 一种动态路由配置方法、装置及系统
CN106034077A (zh) * 2015-03-18 2016-10-19 华为技术有限公司 一种动态路由配置方法、装置及系统
CN104852840B (zh) * 2015-05-28 2018-08-24 新华三技术有限公司 一种控制虚拟机之间互访的方法及装置
CN104852840A (zh) * 2015-05-28 2015-08-19 杭州华三通信技术有限公司 一种控制虚拟机之间互访的方法及装置
WO2016177180A1 (zh) * 2015-07-01 2016-11-10 中兴通讯股份有限公司 一种OpenFlow交换机能力上报的方法及装置
RU2687215C1 (ru) * 2015-07-01 2019-05-07 ЗетТиИ Корпорейшн Способ и устройство для передачи информации о функциях коммутатора openflow
US10374899B2 (en) 2015-07-01 2019-08-06 Zte Corporation Method and device for reporting OpenFLow switch capability
WO2017084228A1 (zh) * 2015-11-20 2017-05-26 英业达科技有限公司 软件定义网络中流量项目的管理方法
CN108833166A (zh) * 2018-06-19 2018-11-16 中国联合网络通信集团有限公司 边缘云报文转发方法及系统、网络报文转发方法及系统
CN108833166B (zh) * 2018-06-19 2021-07-27 中国联合网络通信集团有限公司 边缘云报文转发方法及系统、网络报文转发方法及系统
CN109150765A (zh) * 2018-09-12 2019-01-04 郑州云海信息技术有限公司 一种基于fpga实现的交换机
CN109905336A (zh) * 2019-03-13 2019-06-18 武汉星耀科技有限公司 分布式虚拟交换机的SuperVLAN实现方法及系统

Also Published As

Publication number Publication date
US20140241353A1 (en) 2014-08-28
US9565104B2 (en) 2017-02-07
CN104022960B (zh) 2017-05-31

Similar Documents

Publication Publication Date Title
CN104022960B (zh) 基于OpenFlow协议实现PVLAN的方法和装置
TWI461032B (zh) 電腦系統及在電腦系統的通信方法
CN108880968B (zh) 软件定义网络中广播、组播实现方法及装置、存储介质
US8831000B2 (en) IP multicast service join process for MPLS-based virtual private cloud networking
US9338097B2 (en) Method and system for load balancing at a data network
US8953618B2 (en) IP multicast service leave process for MPLS-based virtual private cloud networking
CN104468462B (zh) 分布式虚拟交换机系统的报文转发方法及设备
CN104144082A (zh) 二层网络中检测环路的方法及控制器
CN104468358A (zh) 分布式虚拟交换机系统的报文转发方法及设备
CN101841451B (zh) 一种云主机基于虚拟局域网的限速方法和系统
CN101616014B (zh) 一种实现跨虚拟专用局域网组播的方法
CN104104570A (zh) Irf系统中的聚合处理方法及装置
CN104285416A (zh) 在存储区域网络中端接覆盖隧道的虚拟路由器
CN104253770A (zh) 实现分布式虚拟交换机系统的方法及设备
CN101478496B (zh) 一种数据报文的转发方法和交换设备
EP2883123B1 (en) Forwarding packet in stacking system
CN106034052A (zh) 一种对虚拟机间二层流量进行监控的系统及方法
WO2014143118A1 (en) Loop-free hybrid network
CN104092684A (zh) 一种OpenFlow协议支持VPN的方法及设备
CN110351135B (zh) 多dc中的网络设备配置方法及装置
CN104539539A (zh) 一种 ac 设备多业务板数据转发方法
CN102647359B (zh) 基于DSA TAG及自定义协议栈的网桥IGMP Snooping实现方法
US20160277251A1 (en) Communication system, virtual network management apparatus, communication node, communication method, and program
US20080240114A1 (en) Data Frame Forwarding Method By Data Relay Entity And Data Relay Entity
CN110661732B (zh) 基于mac划分vlan的工作组间流量调度装置及方法

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