CN113507425B - 一种Overlay组播方法、装置及设备 - Google Patents

一种Overlay组播方法、装置及设备 Download PDF

Info

Publication number
CN113507425B
CN113507425B CN202110690736.6A CN202110690736A CN113507425B CN 113507425 B CN113507425 B CN 113507425B CN 202110690736 A CN202110690736 A CN 202110690736A CN 113507425 B CN113507425 B CN 113507425B
Authority
CN
China
Prior art keywords
multicast group
multicast
vswitch
overlay
sdn controller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110690736.6A
Other languages
English (en)
Other versions
CN113507425A (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.)
New H3C Big Data Technologies Co Ltd
Original Assignee
New H3C Big Data 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 New H3C Big Data Technologies Co Ltd filed Critical New H3C Big Data Technologies Co Ltd
Priority to CN202110690736.6A priority Critical patent/CN113507425B/zh
Publication of CN113507425A publication Critical patent/CN113507425A/zh
Application granted granted Critical
Publication of CN113507425B publication Critical patent/CN113507425B/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
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/201Multicast operation; Broadcast operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags

Landscapes

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

Abstract

本公开提供了一种本公开提供一种Overlay组播方法、装置及设备,本公开通过SDN控制器建立overlay组播组与underlay组播组之间的映射关系,由SDN控制器向加入overlay组播组的虚拟机所在的虚拟交换机下发第一流表项和第二流表项,第一流表项用于将接收到的underlay组播报文去除掉大二层虚拟网络封装并转发给组播接收者,第二流表用于为组播源发送的Overlay组播报文添加大二层虚拟网络封装并以Underlay组播组地址转发给Underlay交换机。本公开中的虚拟交换机可在不支持EVPN组播路由协议等协议的情况下,实现EVPN组播,降低了虚拟交换机的组播路由协议依赖。

Description

一种Overlay组播方法、装置及设备
技术领域
本公开涉及通信技术领域,尤其涉及一种Overlay组播方法、装置及设备。
背景技术
以太网虚拟专用网络(Ethernet Virtual Private Network,EVPN)是一种VPN技术,租户的物理站点分散在不同位置时,EVPN可以基于已有的服务提供商或企业IP网络,为同一租户的相同子网提供二层或三层互联。通过大二层虚拟网络技术,例如可扩展虚拟局域网络(Virtual eXtensible LAN,VXLAN)协议,可以使得不同租户共用相同的底层网络,这种方式在目前业界使用越来越广泛,目前主流的两种封装和解封装VXLAN的设备,一种称为主机overlay,也就是由服务器内部的虚拟交换机(Virtual Switch,VSwitch)来做流量的VXLAN头部的加解封装,另一种称为网络overlay,主要是由物理交换机来承担流量的VXLAN头部的加解封装。
目前大部分的VSwitch都不能支持VXLAN组播,也就是不能将组播流量封装VXLAN报文头,并将外层的IP地址设置为组播地址,此外,VSwitch支持VXLAN组播也会增加OVS(Openflow Virtual Switch,OVS)的CPU和内存资源消耗压力。
发明内容
有鉴于此,本公开提供一种Overlay组播方法、装置及设备,用于实现Overlay组网中虚拟交换机的低开销组播能力。
图1为本公开提供的Overlay组播方法的步骤流程示意图,本公开提供了一种Overlay组播方法,该方法应用于部署有SDN控制器、边界网关协议BGP路由组件、虚拟交换机vSwitch、Underlay交换机的网络中的SDN控制器,在SDN控制器上预先规划有在Underlay公网运行的组播组地址池,所述方法包括:
步骤101.SDN控制器根据vSwitch上送的信息建立虚拟机VM、虚拟专用网络VPN和Underlay交换机之间的对应关系;
步骤102.当SDN控制器首次接收到通过vSwitch上送的第一VM发送的加入第一Overlay组播组的加入报文时,为第一Overlay组播组分配对应的第一Underlay组播组,建立第一Overlay组播组与第一Underlay组播组之间的映射关系;
步骤103.SDN控制器向所有同属于所述第一VM所属的第一VPN的VM所在的vSwitch为每个同属于所述第一VPN的VM下发第一流表和第二流表,所述第一条流表的目的地址为第一Underlay组播组地址,动作为去掉大二层虚拟网络封装;所述第二流表的目的地址为第一Overlay组播组地址,动作为增加大二层虚拟网络封装;
步骤104.当SDN控制器发现vSwitch下有属于所述第一VPN的VM加入所述第一Overlay组播组时,SDN控制器向组播接收者连接的Underlay交换机的下行口下发第一Underlay组播组的静态组播组加入报文,以在所述Underlay交换机对应的下行口上建立所述第一Underlay组播组的转发表项。
进一步地,所述SDN控制器根据vSwitch上送的信息建立虚拟机VM、虚拟专用网络VPN和Underlay交换机之间的对应关系包括:
SDN控制器接收vSwitch基于SDN控制器下发的流表上送的由VM发送的地址解析协议ARP、邻居发现ND或动态主机配置协议DHCP的报文,获取到VM所在的vSwitch、vSwitch连接的Underlay交换机及连接接口信息;
SDN控制器根据云管理平台下发的虚拟机VM与VPN之间的所属关系建立所述虚拟机VM、虚拟专用网络VPN和Underlay交换机之间的对应关系。
进一步地,SDN控制器根据预先规划的虚拟机VM使用的VLAN与大二层虚拟网络的对应关系表下发所述第一流表和第二流表。
进一步地,当所述SDN控制器建立第一Overlay组播组与第一Underlay组播组之间的映射关系后,通知所述BGP路由组件,由所述BGP路由组件生成通告接收者信息的以太网虚拟专用网络EVPN组播路由表项,并通过所述BGP路由组件与路由反射器RR之间链路,通告其它有同属于所述第一VPN的VM接入的Underlay交换机在对应的下行口上建立所述第一Underlay组播组的转发表项;
在Underlay交换机连接vSwitch的接口均使能协议无关组播PIM功能。
进一步地,当SDN控制器接收到由第一VM所在的vSwitch上送的第一VM离开所述第一Overlay组播组的组播组离开报文时,将第一VM所在的vSwitch下的组播接收者计数减1,当减为0时,通知第一VM所在的vSwitch接入的Underlay交换机在对应下行口删除所述第一Overlay组播组对应的第一Underlay组播组的组播表项。
图2为本公开一实施例提供的一种装置结构示意图,该装置200中的各功能模块可以采用软件、硬件或软硬件相结合的方式实现。该装置200应用于部署有SDN控制器、边界网关协议BGP路由组件、虚拟交换机vSwitch、Underlay交换机的网络中的SDN控制器,在SDN控制器上预先规划有在Underlay公网运行的组播组地址池,所述装置200包括:
链路关系建立模块201,用于根据vSwitch上送的信息建立虚拟机VM、虚拟专用网络VPN和Underlay交换机之间的对应关系;
组播组关系建立模块202,用于在首次接收到通过vSwitch上送的第一VM发送的加入第一Overlay组播组的加入报文时,为第一Overlay组播组分配对应的第一Underlay组播组,建立第一Overlay组播组与第一Underlay组播组之间的映射关系;
流表建立模块203,用于向所有同属于所述第一VM所属的第一VPN的VM所在的vSwitch为每个同属于所述第一VPN的VM下发第一流表和第二流表,所述第一条流表的目的地址为第一Underlay组播组地址,动作为去掉大二层虚拟网络封装;所述第二流表的目的地址为第一Overlay组播组地址,动作为增加大二层虚拟网络封装;
公网组播表项建立模块204,用于在发现vSwitch下有属于所述第一VPN的VM加入所述第一Overlay组播组时,SDN控制器向组播接收者连接的Underlay交换机的下行口下发第一Underlay组播组的静态组播组加入报文,以在所述Underlay交换机对应的下行口上建立所述第一Underlay组播组的转发表项。
进一步地,所述链路关系建立模块201包括:
链路发现模块,用于接收vSwitch基于SDN控制器下发的流表上送的由VM发送的地址解析协议ARP、邻居发现ND或动态主机配置协议DHCP的报文,获取到VM所在的vSwitch、vSwitch连接的Underlay交换机及连接接口信息;
关系建立模块,用于根据云管理平台下发的虚拟机VM与VPN之间的所属关系建立所述虚拟机VM、虚拟专用网络VPN和Underlay交换机之间的对应关系。
进一步地,流表建立模块203根据预先规划的虚拟机VM使用的VLAN与大二层虚拟网络的对应关系表下发所述第一流表和第二流表。
进一步地,所述组播组关系建立模块202,还用于在建立第一Overlay组播组与第一Underlay组播组之间的映射关系后,通知所述BGP路由组件,由所述BGP路由组件生成通告接收者信息的以太网虚拟专用网络EVPN组播路由表项,并通过所述BGP路由组件与路由反射器RR之间链路,通告其它有同属于所述第一VPN的VM接入的Underlay交换机在对应的下行口上建立所述第一Underlay组播组的转发表项;
所述组播组关系建立模块202,还用于在Underlay交换机连接vSwitch的接口均使能协议无关组播PIM功能。
进一步地,所述装置200还包括:
组播链路拆除模块,用于在接收到由第一VM所在的vSwitch上送的第一VM离开所述第一Overlay组播组的组播组离开报文时,将第一VM所在的vSwitch下的组播接收者计数减1,当减为0时,通知第一VM所在的vSwitch接入的Underlay交换机在对应下行口删除所述第一Overlay组播组对应的第一Underlay组播组的组播表项。
本公开通过SDN控制器建立overlay组播组与underlay组播组之间的映射关系,由SDN控制器向加入overlay组播组的虚拟机所在的虚拟交换机下发基于组播组映射关系的第一流表项和第二流表项,第一流表项用于将接收到的underlay组播报文去除掉大二层虚拟网络封装并转发给组播接收者,第二流表用于为组播源发送的Overlay组播报文添加大二层虚拟网络封装并以Underlay组播组地址转发给Underlay交换机。本公开能够实现在虚拟交换机不支持EVPN组播路由协议和BGP协议的情况下,依然能够运行实现EVPN组播,降低了虚拟交换机的组播路由协议依赖,降低了开销,提高了性能。
附图说明
为了更加清楚地说明本公开实施例或者现有技术中的技术方案,下面将对本公开实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本公开实施例的这些附图获得其他的附图。
图1为本公开一实施例提供的一种方法流程图;
图2为本公开一实施例提供的一种装置结构示意图;
图3为一混合Overlay组网示例图;
图4为本公开一实施例提供的Overlay组网示例图;
图5为本公开一实施例提供的通过vBGP发布EVPN组播路由的示例图;
图6为本公开一实施例提供的一种电子设备结构示意图。
具体实施方式
在本公开实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本公开实施例。本公开实施例中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。本公开中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
图3为一混合Overlay组网示例图,基于图3的组网示例,如果vSwitch1,vSwitch2和vSwitch3均为主机overlay的vSwitch,也就是VxLAN的头部封装均由vSwitch完成,其接入的underlay switch1,underlay switch2和underlay switch4为普通IP转发交换机,不承担VxLAN的加解封装功能。同时leaf3为支持EVPN VxLAN协议的物理交换机,VxLAN的加解封装由leaf3承担,leaf3即为业界称谓的网络overlay设备。
如果让vSwitch也运行EVPN VxLAN组播的协议栈,发布EVPN VxLAN的组播路由的话,那么对vSwitch的要求过高,要求vSwitch能够支持EVPN组播路由协议,且耗费CPU和内存来做路由计算和收敛,无法适用于业界不同厂家和开源的vSwitch的场景。
本公开旨在提供一种Overlay组播方法,使得不同租户在主机overlay和网络overlay混合组网的场景下,在vSwitch不支持EVPN组播路由协议和BGP协议的情况下,依然能够运行实现EVPN组播,降低对vSwitch支持EVPN VXLAN协议族的依赖。
图4为本公开一实施例提供的Overlay组网示例图,在该组网示例中组播源为位于服务器Server1上的VM1,组播接收者分别位于服务器Server1、Server2、Server3、Server4上。vSwitch1、vSwitch2和vSwitch4所在设备为overlay设备,其接入的underlay switch1,underlay switch2和underlay switch4为普通IP转发交换机,不承担VxLAN的加解封装功能。交换机leaf3为支持EVPN VxLAN组播协议的物理交换机,为网络overlay设备。以下以该示例图为例说明本公开技术方案的实现方式。
该实施例中,在SDN控制器所在的控制平面的网络设备上部署有边界网关协议(Border Gateway Protocol,BGP)路由组件(简称为vBGP),此vBGP和网络中的路由反射器(Router Reflector,RR)建立BGP邻居,从而代理vSwitch的EVPN组播发布功能。
在SDN控制器上预先规划在Underlay公网运行的组播组地址池,如underlayGroup(uG1,uG2,…。),提前规划各虚拟机使用的VLAN和VxLAN ID的对应关系表,如表1所示:
表1
VLAN ID VxLAN ID
VLAN1 VxLANID1
VLAN 2 VxLANID2
由云管理平台即Cloud端通知SDN控制器各虚拟机VM所属的VPN,该实施例中VM与VPN的对应关系如表2所示:
表2
虚拟机VM1,VM2,VM3,VM4和VM6属于VPN1,VM5属于VPN2。
SDN控制器通过Openflow协议给各承担主机overlay加解封装的vSwitch下发多条流表,匹配域为地址解析协议ARP/邻居发现ND/动态主机配置协议DHCP/DHCPv6/因特网组管理协议IGMP/组播侦听发现协议MLD的协议特征(针对每个协议类型下发一条流表),动作域为出端口为vSwitch和控制器相连的管理网络的网卡端口。这些流表的匹配域和动作域的配置如表3示例:
表3
当虚拟机(virtual Machine,VM)从vSwitch上线时,会发送ARP/ND/DHCP/DHCPv6协议类型的报文,这些类型的报文会命中如表3所示例的流表,通过流表转发给SDN控制器,被SDN控制器截获,从而使SDN控制器能够获取到VM是从哪个VSwitch上线的信息,进而获取到vSwitch和VM的映射关系。根据虚拟机信息,查找表2,知道了该虚拟机将要使用的VPN信息,最终生成表4
表4
组播接收端的vSwitch(例如vSwtich2和vSwitch4)会从其下挂的虚拟机(例如VM3、VM4、VM5、VM6)收到加入overlay组播组(例如oG1)的IGMP组播组加入报文,此类报文在vSwitch上也会命中如表3示例的流表并被上报到SDN控制器。SDN控制器解析通过vSwitch上送的有关Overlay组播组的报文,如果是IGMP组播组加入报文(IGMP report报文),则从中获取到此虚拟机要加入的组播组oG1的信息,并记录该vSwitch下的组播接收者个数。SDN控制器从Underlay的组播地址池中选择一个,如uG1,建立并保存oG1和uG1的映射关系,如表5示例:
表5
Number Overlay组播组地址 Unerlay组播组地址
1 oG1 uG1
SDN控制器通过Openflow等协议通知各有此VPN上线虚拟机的vSwitch,并给这些vswtich下发两条流表。第一条流表的目的地址是uG1,动作为去掉VxLAN封装,如果SDN控制器从同一个虚拟机收到了多个IGMP report报文,则该vSwitch的流表动作还要增加复制多份,分别转发到连接这些虚拟机的端口。第二条流表的目的地址为oG1,动作为增加VxLAN封装,根据虚拟机的VLAN ID查找表1获取VxLAN ID,外层目的IP地址为uG1,源IP为vswtich1的地址。将表3的流表的匹配域和动作域的配置刷新如表6中的序号2和3项的示例:
表6
公网uG1和overlay oG1的组播组映射关系在表5中形成。
假设VM3上线后,vSwitch2下的VM3第一个通过vSwitch2发送加入overlay组播组oG1的IGMP组播组加入报文,该组播加入报文根据表6中的序号1对应的流表项转发给SDN控制器,SDN控制器根据该组播加入报文发现vSwitch2下的VM3要加入组播组oG1,当SDN控制器发现vSwitch2下属于VPN1的VM加入oG1的数量由0变为1时,SDN控制器通知vSwitch2所连接的underlay switch2的下行端口,通过netconf向对应端口下发underlay公网组播组uG1的静态组播组加入报文,从而达到使虚拟机接入的物理设备可以在underlay网络上有uG1组播组的组播转发表项,形成underlay的组播转发路径的目的,如表7所示。同理,当vSwitch4下的VM6加入oG1时,也会在Underlay switch4上形成如表8的表项。
表7 underlay swtich2 underlay组播表项
表8 underlay swtich4 underlay组播表项
图5为本公开一实施例提供的通过vBGP发布EVPN组播路由的示例图,在SDN控制器获取到oG1和uG1的映射关系时,SDN可以通过gRPC/Netconf等通信协议和方式告知vBGP,由vBGP生成通告接收者信息的EVPN组播路由表项,并通过vBGP和RR建立的邻居,通告给其他有同VPN主机接入的Underlay switch设备,例如当VM2还没有发起组播组加入时,underlayswitch也能形成underlay组播表项,如表9示例:
表9 underlay swtich1组播表项
在underlay switch连接vSwitch的接口均使能协议无关组播(ProtocolIndependent Multicast,PIM)功能,从而标示该underlay switch下可能有组播源接入,而vSwitch不需要使能PIM。
当组播源VM1发出组播报文时,原始报文如表10的示例,组播报文的目的IP地址为组播地址oG1。
表10
目的地址 源地址 负载
DIP=oG1 SIP=vM1 payload
当VM1发出组播报文被vSwitch1收到后,命中如表6中的序号3的流表,报文增加VxLAN头和外层IP头,处理后的报文示例如表11示例。
表11
DIP=uG1 SIP=vswitch1 VxLANheader DIP=oG1 SIP=vM1 Payload
报文到达underlay switch1后,会命中表9,按照三层组播现有实现进行组播转发,并刷新表9得到如表12的表项:
表12 underlay swtich1组播表项
当组播流量到达spine设备,会按照现有三层组播表项进行复制,发给underlayswtich2和underlay switch4,这两台设备根据表7和表8发给vswitch 2和vswitch4设备.并刷新表7和8为得到表13和表14。
表13 unerlay vswtich2 underlay组播表项
表14 unerlay vswtich4 underlay组播表项
组播流量到达vSwitch2后,命中表6中序号2示例的流表项,在vSwitch2上剥去外层的IP头和VxLAN头,并进行复制,转发给VM3和VM4。VSwitch4收到组播流量后,也同样命中表6中序号2示例的流表项,将组播报文转发给VM6。
当某台虚拟机,如VM6发送组播组离开报文,此报文会命中vSwitch中如表6中序号1示例的流表项,从而上送给SDN控制器,SDN控制器收到此报文后,对该vSwitch下的组播接收者计数减1,当减为0时,通过netconf等协议删除其接入的underlay Switch,如underlaySwitch4的静态组播组加入的配置。
Leaf 3收到IGMP report报文后,本地生成组播路由如表15所示,并通过BGP协议通告给所有其他网络overlay的leaf设备以及vBGP。其他网络overlay的leaf设备收到此组播路由时,生成一个(*,oG1)的组播表项,其他有此VPN主机接入的underlay设备生成如表9的(*,uG1)的表项,当组播源VM1发出报文时,通过查找的表15组播表项,转发给leaf3,leaf3解vxlan封装后发给其下的接收者,并刷新表15为表16。
表15 leaf3 overlay组播表项
表16 leaf3 overlay组播表项
本公开技术方案不需要vSwitch支持EVPN组播协议,也不需要vSwitch支持普通组播协议,不需要支持BGP协议,也能够和网络中的其他网络overlay设备做EVPN组播业务,降低了对vSwitch的协议能力要求和CPU内存的能力要求,可以成为一种低要求的通用方案。
图6为本公开一实施例提供的一种电子设备结构示意图,该设备600包括:诸如中央处理单元(CPU)的处理器610、通信总线620、通信接口640以及存储介质630。其中,处理器610与存储介质630可以通过通信总线620相互通信。存储介质630内存储有计算机程序,当该计算机程序被处理器610执行时即可实现本公开提供的方法的各步骤的功能。
其中,存储介质可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。另外,存储介质还可以是至少一个位于远离前述处理器的存储装置。处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
应当认识到,本公开的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术,包括配置有计算机程序的非暂时性存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。此外,可按任何合适的顺序来执行本公开描述的过程的操作,除非本公开另外指示或以其他方式明显地与上下文矛盾。本公开描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。
进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本公开的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、RAM、ROM等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本公开所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本公开所述的方法和技术编程时,本公开还包括计算机本身。
以上所述仅为本公开的实施例而已,并不用于限制本公开。对于本领域技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

Claims (11)

1.一种Overlay组播方法,其特征在于,该方法应用于部署有SDN控制器、边界网关协议BGP路由组件、虚拟交换机vSwitch、Underlay交换机的网络中的SDN控制器,在SDN控制器上预先规划有在Underlay公网运行的组播组地址池,所述方法包括:
SDN控制器根据vSwitch上送的信息建立虚拟机VM、虚拟专用网络VPN和Underlay交换机之间的对应关系;
当SDN控制器首次接收到通过vSwitch上送的第一VM发送的加入第一Overlay组播组的加入报文时,为第一Overlay组播组分配对应的第一Underlay组播组,建立第一Overlay组播组与第一Underlay组播组之间的映射关系;
SDN控制器向所有同属于所述第一VM所属的第一VPN的VM所在的vSwitch为每个同属于所述第一VPN的VM下发第一流表和第二流表,所述第一流表的目的地址为第一Underlay组播组地址,动作为去掉大二层虚拟网络封装;所述第二流表的目的地址为第一Overlay组播组地址,动作为增加大二层虚拟网络封装;
当SDN控制器发现vSwitch下有属于所述第一VPN的VM加入所述第一Overlay组播组时,SDN控制器向组播接收者连接的Underlay交换机的下行口下发第一Underlay组播组的静态组播组加入报文,以在所述Underlay交换机对应的下行口上建立所述第一Underlay组播组的转发表项。
2.根据权利要求1所述的方法,其特征在于,所述SDN控制器根据vSwitch上送的信息建立虚拟机VM、虚拟专用网络VPN和Underlay交换机之间的对应关系包括:
SDN控制器接收vSwitch基于SDN控制器下发的流表上送的由VM发送的地址解析协议ARP、邻居发现ND或动态主机配置协议DHCP的报文,获取到VM所在的vSwitch、vSwitch连接的Underlay交换机及连接接口信息;
SDN控制器根据云管理平台下发的虚拟机VM与VPN之间的所属关系建立所述虚拟机VM、虚拟专用网络VPN和Underlay交换机之间的对应关系。
3.根据权利要求1所述的方法,其特征在于,
SDN控制器根据预先规划的虚拟机VM使用的VLAN与大二层虚拟网络的对应关系表下发所述第一流表和第二流表。
4.根据权利要求1所述的方法,其特征在于,
当所述SDN控制器建立第一Overlay组播组与第一Underlay组播组之间的映射关系后,通知所述BGP路由组件,由所述BGP路由组件生成通告接收者信息的以太网虚拟专用网络EVPN组播路由表项,并通过所述BGP路由组件与路由反射器RR之间链路,通告其它有同属于所述第一VPN的VM接入的Underlay交换机在对应的下行口上建立所述第一Underlay组播组的转发表项;
在Underlay交换机连接vSwitch的接口均使能协议无关组播PIM功能。
5.根据权利要求1所述的方法,其特征在于,
当SDN控制器接收到由第一VM所在的vSwitch上送的第一VM离开所述第一Overlay组播组的组播组离开报文时,将第一VM所在的vSwitch下的组播接收者计数减1,当减为0时,通知第一VM所在的vSwitch接入的Underlay交换机在对应下行口删除所述第一Overlay组播组对应的第一Underlay组播组的组播表项。
6.一种Overlay组播装置,其特征在于,该装置应用于部署有SDN控制器、边界网关协议BGP路由组件、虚拟交换机vSwitch、Underlay交换机的网络中的SDN控制器,在SDN控制器上预先规划有在Underlay公网运行的组播组地址池,所述装置包括:
链路关系建立模块,用于根据vSwitch上送的信息建立虚拟机VM、虚拟专用网络VPN和Underlay交换机之间的对应关系;
组播组关系建立模块,用于在首次接收到通过vSwitch上送的第一VM发送的加入第一Overlay组播组的加入报文时,为第一Overlay组播组分配对应的第一Underlay组播组,建立第一Overlay组播组与第一Underlay组播组之间的映射关系;
流表建立模块,用于向所有同属于所述第一VM所属的第一VPN的VM所在的vSwitch为每个同属于所述第一VPN的VM下发第一流表和第二流表,所述第一流表的目的地址为第一Underlay组播组地址,动作为去掉大二层虚拟网络封装;所述第二流表的目的地址为第一Overlay组播组地址,动作为增加大二层虚拟网络封装;
公网组播表项建立模块,用于在发现vSwitch下有属于所述第一VPN的VM加入所述第一Overlay组播组时,SDN控制器向组播接收者连接的Underlay交换机的下行口下发第一Underlay组播组的静态组播组加入报文,以在所述Underlay交换机对应的下行口上建立所述第一Underlay组播组的转发表项。
7.根据权利要求6所述的装置,其特征在于,所述链路关系建立模块包括:
链路发现模块,用于接收vSwitch基于SDN控制器下发的流表上送的由VM发送的地址解析协议ARP、邻居发现ND或动态主机配置协议DHCP的报文,获取到VM所在的vSwitch、vSwitch连接的Underlay交换机及连接接口信息;
关系建立模块,用于根据云管理平台下发的虚拟机VM与VPN之间的所属关系建立所述虚拟机VM、虚拟专用网络VPN和Underlay交换机之间的对应关系。
8.根据权利要求6所述的装置,其特征在于,
流表建立模块,根据预先规划的虚拟机VM使用的VLAN与大二层虚拟网络的对应关系表下发所述第一流表和第二流表。
9.根据权利要求6所述的装置,其特征在于,
所述组播组关系建立模块,还用于在建立第一Overlay组播组与第一Underlay组播组之间的映射关系后,通知所述BGP路由组件,由所述BGP路由组件生成通告接收者信息的以太网虚拟专用网络EVPN组播路由表项,并通过所述BGP路由组件与路由反射器RR之间链路,通告其它有同属于所述第一VPN的VM接入的Underlay交换机在对应的下行口上建立所述第一Underlay组播组的转发表项;
所述组播组关系建立模块,还用于在Underlay交换机连接vSwitch的接口均使能协议无关组播PIM功能。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
组播链路拆除模块,用于在接收到由第一VM所在的vSwitch上送的第一VM离开所述第一Overlay组播组的组播组离开报文时,将第一VM所在的vSwitch下的组播接收者计数减1,当减为0时,通知第一VM所在的vSwitch接入的Underlay交换机在对应下行口删除所述第一Overlay组播组对应的第一Underlay组播组的组播表项。
11.一种电子设备,其特征在于,包括处理器、通信接口、存储介质和通信总线,其中,处理器、通信接口、存储介质通过通信总线完成相互间的通信;
存储介质,用于存放计算机程序;
处理器,用于执行存储介质上所存放的计算机程序时,实施权利要求1-5任一项所述的方法步骤。
CN202110690736.6A 2021-06-22 2021-06-22 一种Overlay组播方法、装置及设备 Active CN113507425B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110690736.6A CN113507425B (zh) 2021-06-22 2021-06-22 一种Overlay组播方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110690736.6A CN113507425B (zh) 2021-06-22 2021-06-22 一种Overlay组播方法、装置及设备

Publications (2)

Publication Number Publication Date
CN113507425A CN113507425A (zh) 2021-10-15
CN113507425B true CN113507425B (zh) 2023-11-07

Family

ID=78010666

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110690736.6A Active CN113507425B (zh) 2021-06-22 2021-06-22 一种Overlay组播方法、装置及设备

Country Status (1)

Country Link
CN (1) CN113507425B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114006856B (zh) * 2021-12-30 2022-03-11 北京天维信通科技有限公司 基于hash算法实现多路径并发传输的网络处理方法
CN115242708B (zh) * 2022-07-21 2023-10-20 迈普通信技术股份有限公司 组播表项处理方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104601427A (zh) * 2013-10-31 2015-05-06 杭州华三通信技术有限公司 数据中心网络中的报文转发方法及装置
CN106161259A (zh) * 2015-03-27 2016-11-23 杭州华三通信技术有限公司 虚拟扩展局域网vxlan的组播数据报文转发方法和设备
CN112311606A (zh) * 2020-11-12 2021-02-02 中国科学院计算技术研究所 一种用于构建虚实解耦仿真网络的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9900263B2 (en) * 2014-09-29 2018-02-20 Alcatel-Lucent Usa Inc. Non-overlay resource access in datacenters using overlay networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104601427A (zh) * 2013-10-31 2015-05-06 杭州华三通信技术有限公司 数据中心网络中的报文转发方法及装置
CN106161259A (zh) * 2015-03-27 2016-11-23 杭州华三通信技术有限公司 虚拟扩展局域网vxlan的组播数据报文转发方法和设备
CN112311606A (zh) * 2020-11-12 2021-02-02 中国科学院计算技术研究所 一种用于构建虚实解耦仿真网络的方法

Also Published As

Publication number Publication date
CN113507425A (zh) 2021-10-15

Similar Documents

Publication Publication Date Title
EP3533189B1 (en) Rule-based network identifier mapping
US10666561B2 (en) Virtual machine migration
US10693766B2 (en) Engines to prune overlay network traffic
EP2853066B1 (en) Layer-3 overlay gateways
US9448821B2 (en) Method and system for realizing virtual machine mobility
US11323409B2 (en) Efficient ARP bindings distribution in VPN networks
US10841209B2 (en) Method, node, and medium for establishing connection between a source and endpoint via one or more border nodes
US9504016B2 (en) Optimized multicast routing in a Clos-like network
CN101155136A (zh) 一种虚拟网关、虚拟子网的实现方法以及系统
CN108900414B (zh) 转发表生成方法及装置
EP3188422A1 (en) Traffic black holing avoidance and fast convergence for active-active pbb-evpn redundancy
US10291532B1 (en) Enabling interconnection between ethernet virtual private networks (EVPNs) and provider backbone bridging EVPNs (PBB-EVPNs)
CN108718269B (zh) 报文处理方法及装置
CN113507425B (zh) 一种Overlay组播方法、装置及设备
CN106209616B (zh) 一种泛洪抑制方法及装置
CN107040441B (zh) 跨数据中心的数据传输方法、装置及系统
WO2017185780A1 (zh) 转发表项建立方法和装置
US10623207B2 (en) Hardware based packet replication at tail end node
CN110401726B (zh) 地址解析协议报文的处理方法、装置及设备、存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant