CN115883286B - Igmp报文处理方法、装置、vtep设备及存储介质 - Google Patents
Igmp报文处理方法、装置、vtep设备及存储介质 Download PDFInfo
- Publication number
- CN115883286B CN115883286B CN202211511461.6A CN202211511461A CN115883286B CN 115883286 B CN115883286 B CN 115883286B CN 202211511461 A CN202211511461 A CN 202211511461A CN 115883286 B CN115883286 B CN 115883286B
- Authority
- CN
- China
- Prior art keywords
- igmp
- message
- report message
- side interface
- interface
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 28
- 238000000034 method Methods 0.000 claims abstract description 34
- 238000004590 computer program Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 abstract description 10
- 238000010586 diagram Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 7
- 230000008859 change Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 206010041235 Snoring Diseases 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000005538 encapsulation Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及数据通信技术领域,提供了一种IGMP报文处理方法、装置、VTEP设备及存储介质,应用于虚拟可扩展局域网VXLAN网络中的第一VTEP设备,所述方法包括:获取互联网组管理协议IGMP查询报文;若IGMP查询报文是从接入侧接口接收的或者是第一VTEP设备自身生成的,则发送IGMP查询报文、且禁止将IGMP查询报文发送至隧道侧接口;若IGMP查询报文是从隧道侧接口接收的,则丢弃IGMP查询报文。本发明使组播流量在两个VTEP设备之间转发,无需经过第三VTEP设备,并且避免了组播流量在VXLAN网络中形成环路,实现了VXLAN网络中组播流量的有效转发。
Description
技术领域
本发明涉及数据通信技术领域,具体而言,涉及一种IGMP报文处理方法、装置、VTEP设备及存储介质。
背景技术
IGMP Snooping(Internet Group Management Protocol Snooping,互联网组管理协议窥探)是运行在二层网络转发设备上的组播约束的机制,用于管理和控制组播组。VXLAN(Virtual Extention Local Area Network,虚拟可扩展局域网)技术是一种L2 VPN(Layer 2Virtual Private Network,二层虚拟专用网)技术,通过VXLAN封装,能够实现分散站点在二层网络中互联。
如何对组播流量进行有效转发是本领域技术人员亟待解决的问题。
发明内容
本发明的目的在于提供了一种IGMP报文处理方法、装置、VTEP设备及存储介质,IGMP查询报文不通过隧道侧接口发送,使得第一VTEP设备和第二VTEP设备均不会学习到对方的IGMP查询报文,避免查询器选举,进而避免由选举出的查询器集中处理组播流量导致转发负担过重的问题,提高了组播流量的转发效率。
本发明的实施例可以这样实现:
第一方面,本发明提供一种IGMP报文处理方法,应用于虚拟可扩展局域网VXLAN网络中的第一VTEP设备,所述第一VTEP设备包括隧道侧接口和接入侧接口,所述第一VTEP设备通过所述隧道侧接口与所述VXLAN网络中的第二VTEP设备通信,所述第一VTEP设备通过所述接入侧接口与主机或者路由器通信,所述方法包括:
获取互联网组管理协议IGMP查询报文;
若所述IGMP查询报文是从所述接入侧接口接收的或者是所述第一VTEP设备自身生成的,则发送所述IGMP查询报文、且禁止将所述IGMP查询报文发送至所述隧道侧接口;
若所述IGMP查询报文是从所述隧道侧接口接收的,则丢弃所述IGMP查询报文。
在可选的实施方式中,所述接入侧接口包括用于与所述路由器通信的路由器侧接口和用于与所述主机通信的主机侧接口,所述方法还包括:
接收IGMP报告报文;
若所述IGMP报告报文是从所述主机侧接口接收的,则将所述IGMP报告报文转发至所述路由器侧接口和所述隧道侧接口;
若所述IGMP报告报文是从所述隧道侧接口接收的,则将所述IGMP报告报文转发至所述路由器侧接口。
在可选的实施方式中,所述接入侧接口包括用于与所述路由器通信的路由器侧接口和用于与所述主机通信的主机侧接口,所述第一VTEP设备运行有IGMP Snooping代理,所述方法还包括:
接收IGMP报告报文;
根据所述IGMP报告报文生成IGMP代理报告报文并发送所述IGMP代理报告报文。
在可选的实施方式中,所述第一VTEP设备还包括接入侧代理数据库,所述根据所述IGMP报告报文生成IGMP代理报告报文并发送所述IGMP代理报告报文,包括:
若所述接入侧代理数据库的状态从非转发状态变为转发状态,则根据所述IGMP报告报文生成IGMP代理加入报告报文,并将所述IGMP代理加入报告报文发送至所述路由器侧接口;
若所述接入侧代理数据库的状态从转发状态变为非转发状态,则根据所述IGMP报告报文生成IGMP代理离开报告报文,并将所述IGMP代理离开报告报文发送至所述路由器侧接口。
在可选的实施方式中,所述方法还包括:
若所述IGMP报告报文为IGMP加入报告报文、且接收所述IGMP报告报文之前所述接入侧代理数据库中不存在接入侧接口的成员或者隧道侧接口的成员,则判定所述接入侧代理数据库从非转发状态变为转发状态;
若所述IGMP报告报文为IGMP离开报告报文、且接收所述IGMP报告报文之前所述接入侧代理数据库中存在接入侧接口的成员或者隧道侧接口的成员、且接收所述IGMP报告报文之后所述接入侧代理数据库中不存在接入侧接口的成员且不存在隧道侧接口的成员,则判定所述接入侧代理数据库从转发状态变为非转发状态。
在可选的实施方式中,所述第一VTEP设备还包括隧道侧代理数据库,所述根据所述IGMP报告报文生成IGMP代理报告报文并发送所述IGMP代理报告报文,包括:
若所述隧道侧代理数据库的状态从非转发状态变为转发状态,则根据所述IGMP报告报文生成IGMP代理加入报告报文,并将所述IGMP代理加入报告报文发送至所述隧道侧接口;
若所述隧道侧代理数据库的状态从转发状态变为非转发状态,则根据所述IGMP报告报文生成IGMP代理离开报告报文,并将所述IGMP代理离开报告报文发送至所述隧道侧接口。
在可选的实施方式中,所述第一VTEP设备还包括隧道侧代理数据库,所述方法还包括:
若所述IGMP报告报文为IGMP加入报告报文、且接收所述IGMP报告报文之前所述隧道侧代理数据库中不存在接入侧接口的成员、且接收所述IGMP报文之后所述隧道侧代理数据库中存在接入侧接口的成员,则判定所述隧道侧代理数据库从非转发状态变为转发状态;
若所述IGMP报告报文为IGMP离开报告报文、且接收所述IGMP报告报文之前所述隧道侧代理数据库中存在接入侧接口的成员、且接收所述IGMP报告报文之后所述隧道侧代理数据库中不存在接入侧接口的成员,则判定所述隧道侧代理数据库从转发状态变为非转发状态。
在可选的实施方式中,所述第一VTEP设备还包括接入侧代理数据库和隧道侧代理数据库,所述接入侧接口包括用于与所述路由器通信的路由器侧接口和用于与所述主机通信的主机侧接口,所述方法还包括:
若所述接入侧代理数据库为转发状态,则向所述路由器侧接口发送所述接入侧代理数据库的IGMP加入报告报文。
在可选的实施方式中,所述方法还包括:
周期性向所述隧道侧接口发送所述隧道侧代理数据库的IGMP加入报告报文。
第二方面,本发明提供一种IGMP报文处理装置,应用于虚拟可扩展局域网VXLAN网络中的第一VTEP设备,所述第一VTEP设备包括隧道侧接口和接入侧接口,所述第一VTEP设备通过所述隧道侧接口与所述VXLAN网络中的第二VTEP设备通信的,所述第一VTEP设备通过所述接入侧接口与主机或者路由器通信,所述装置包括:
获取模块,用于获取互联网组管理协议IGMP查询报文;
处理模块,用于若所述IGMP查询报文是从所述接入侧接口接收的或者是所述第一VTEP设备自身生成的,则发送所述IGMP查询报文、且禁止将所述IGMP查询报文发送至所述隧道侧接口;
所述处理模块,还用于若所述IGMP查询报文是从所述隧道侧接口接收的,则丢弃所述IGMP查询报文。
第三方面,本发明提供一种VTEP设备,包括处理器和存储器,所述存储器用于存储程序,所述处理器用于在执行所述程序时,实现前述实施方式中任一项所述的IGMP报文处理方法。
第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现前述实施方式中任一项所述的IGMP报文处理方法。
相对于现有技术,本实施例提供的IGMP报文处理方法、装置、VTEP设备及存储介质,通过禁止将自身生成的IGMP查询报文及接入侧接口接收的IGMP查询报文通过VXLAN隧道发送,且将隧道侧接口接收的IGMP查询报文丢弃,即IGMP查询报文不通过隧道侧接口发送,使得VXLAN网络中第一VTEP设备和第二VTEP设备均不会学习到对方的IGMP查询报文,避免查询器选举,进而避免由选举出的查询器集中处理组播流量导致转发负担过重的问题,提高了组播流量的转发效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本实施例提供的应用场景的示例图。
图2为本实施例提供的VTEP设备的方框示例图。
图3为本实施例提供的IGMP报文处理方法的流程示例图一。
图4为本实施例提供的IGMP加入报告报文处理的示例图。
图5为本实施例提供的组播流量转发过程的示例图一。
图6为本实施例提供的VM1加入组播组时IGMP报文的处理的示例图。
图7为本实施例提供的VM2加入组播组时IGMP报文的处理的示例图。
图8为本实施例提供的VM3加入组播组时IGMP报文的处理的示例图。
图9为本实施例提供的组播流量转发的示例图二。
图10为本发明实施例提供的IGMP报文处理装置的方框示意图。
图标:10-VTEP设备;11-处理器;12-存储器;13-总线;14-通信接口;20-主机;30-路由器;40-服务器;50-spine节点;100-IGMP报文处理装置;110-获取模块;120-处理模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
在VXLAN网络中,二层组播报文通常是在VXLAN网络中洪泛的。为了避免组播报文洪泛,实现VXLAN网络的二层组播按需转发,可以在VXLAN网络中应用IGMP snooping功能,即在VXLAN网络中的VTEP设备上使能IGMP snooping功能,通过IGMP snooping监听VXLAN网络中的IGMP报文,建立VXLAN广播域内的组播转发表,完成组播报文的按需转发。
IGMP snooping是按照传统二层网络设计的,二层网络中的IGMP snooping需要从VXLAN网络中使能IGMP snooping功能的VTEP设备中选举出唯一的一个设备充当查询器设备,以进行整个二层网络的查询。所有非查询器设备,需要将所有组播流量转发到查询器设备,在查询器设备上进行集中转发。
二层网络的IGMP snooping在VXLAN网络中进行应用存在如下问题:
(1)VXLAN网络相对于传统二层网络规模更大,作为查询器的设备需要处理大量的IGMP成员报告,控制层面负担过重。
(2)所有流量需要经过查询器设备,需要非查询器设备将组播流量转发到查询器设备,由查询器设备进行集中转发,查询器设备需要承担大量数据转发,转发带宽压力大。
(3)转发组播流量时,需要将隧道进入的组播流量从隧道转发出去,极易形成环路,因此,必须进行组播报文防环路处理,网络部署复杂度高。
有鉴于此,本实施例提供一种IGMP报文处理方法、装置、VTEP设备及存储介质,用于解决上述问题,下面将对其进行详细描述。
请参考图1,图1为本实施例提供的应用场景的示例图,图1中,VXLAN网络中包括两个使能IGMP snooping功能的VTEP设备10:VTEP A和VTEP B两者之间建立有通过骨干节点(spine节点50)形成的VXLAN隧道,在leaf-spine结构的VXLAN组网结构中,spine节点50关注于高速IP转发,强调高速转发能力,spine节点不感知VXLAN隧道,只作为VXLAN报文的转发节点,VTEP A和VTEP B为leaf节点,leaf节点作为VXLAN网络中的二层网关设备,与物理服务器或VM对接,用于解决终端租户接入VXLAN虚拟网络的问题。leaf节点作为VXLAN网络中的三层网关设备,进行VXLAN报文封装/解封装,实现跨子网的终端租户通信,以及外部网络的访问。
VTEP A的接口1和接口2为接入侧接口,分别连接主机VM1和主机VM2,VTEP A的接口3为隧道侧接口,通过该隧道侧接口和VXLAN隧道和VTEP B通信。
VTEP B的接口4和接口5为接入侧接口,接口4连接主机VM3,接口5连接路由器30,VTEP B的接口6为隧道侧接口,通过该隧道侧接口和VXLAN隧道和VTEP A通信。接入侧接口包括与主机通信的主机侧接口和与路由器通信的路由器侧接口,接口4为主机侧接口,接口5学习到了PIM(Protocol Independent Multicast,协议无关组播)协议报文,故接口5为路由器侧接口。
路由器30运行PIM和IGMP协议,路由器的接口7连接服务器40,路由器30的接口8连接VTEP B。
以VTEP A为第一VTEP设备为例,若VTEP A生成IGMP查询报文,VTEP A将生成的IGMP查询报文发送至接口1和接口2,通过接口1和接口2分别将IGMP查询报文发送至VM1和VM2,同时禁止将该IGMP查询报文发送至接口3。若VTEP A从接口3接收到IGMP查询报文后,将该IGMP查询报文丢弃。
VTEP A和VTEP B均为VTEP设备10,VTEP是英文VXLAN Tunnel Endpoint的缩写,中文称VXLAN隧道端点,VTEP设备10负责VXLAN报文的封装与解封装。每个VTEP设备10具备两个接口:一个是本地桥接接口,负责原始以太帧接收和发送,另一个是IP接口,负责VXLAN数据帧接收和发送。VTEP设备10可以是物理交换机或软件交换机。
主机20为收发业务报文的机器,两个主机20通过VTEP设备10或者路由器30实现业务报文的交换,主机20可以是实体计算机,也可以是虚拟计算机、笔记本电脑、平板电脑、移动终端等。
路由器30是连接两个或多个网络的硬件设备,在网络间起网关的作用,是读取每一个数据包中的地址然后决定如何传送的专用智能性的网络设备。
服务器40负责以组播方式发送组播流量,能够实现向大量用户提供流媒体服务。服务器40可以是单个服务器设备、也可以是由多个服务器组成的服务器组或者服务器集群等。
需要说明的是,图1只是一种应用场景的示例,事实上,VXLAN网络中还可以包括其他VTEP设备,每一VTEP设备还可以与其他主机或者路由器连接,两个VTEP设备之间可以通过隧道进行通信。
在图1的基础上,本实施例还提供了VTEP设备的方框示例图,请参照图2,图2为本实施例提供的VTEP设备的方框示例图,VTEP设备10包括处理器11、存储器12、总线13及通信接口14,处理器11、存储器12、通信接口14通过总线13连接。
处理器11可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,IGMP报文处理方法的各步骤可以通过处理器11中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器11可以是通用处理器,包括CPU(Central Processing Unit,中央处理器)、NP(Network Processor,网络处理器)等;还可以是DSP(Digital Signal Processing,数字信号处理器)、ASIC(Application Specific Integrated Circuit,专用集成电路)、FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器12用于存储程序,例如下述实施例中的IGMP报文处理装置100。IGMP报文处理装置100包括至少一个可以软件或固件(firmware)的形式存储于存储器12中或固化在VTEP设备10的OS(Operating System,操作***)中的软件功能模块。处理器11在接收到执行指令后,执行所述程序以实现上述实施例揭示的IGMP报文处理方法。
VTEP设备10通过通信接口14和主机20通信和路由器30通信。
基于图1和图2,本实施例还提供了一种IGMP报文处理方法,应用于第一VTEP设备,第一VTEP设备可以是图1中的VTEP A,也可以是图1中的VTEP B,当第一VTEP设备为图1中的VTEP A时,则第二VTEP设备为图1中的VTEP B,当第一VTEP设备为图2中的VTEP B时,第二VTEP设备为图2中的VTEP A,第一VTEP设备也可以是图2中的VTEP设备。请参照图3,图3为本实施例提供的IGMP报文处理方法的流程示例图一,该方法包括以下步骤:
步骤S101,获取互联网组管理协议IGMP查询报文。
在本实施例中,IGMP是用于支持主机和路由器进行多播的互联网组管理协议,让一个物理网络上的所有***知道主机当前所在的多播组。
在本实施例中,IGMP查询报文可以是第一VTEP设备生成的,也可以是从接入侧接口接收的,还可以从隧道侧接口接收的。若第一VTEP设备配置了查询器,则第一VTEP设备周期性生成IGMP查询报文,第一VTEP设备也可以从与路由器30通信的接入侧接口接收IGMP查询报文,第一VTEP设备也可以从隧道侧接口接收第二VTEP设备发送的IGMP查询报文。
步骤S102,若IGMP查询报文是从接入侧接口接收的或者是第一VTEP设备自身生成的,则发送IGMP查询报文、且禁止将IGMP查询报文发送至隧道侧接口。
在本实施例中,若IGMP查询报文是从接入侧接口接收的,则不会从接收的接入侧接口再次发送出去,若IGMP查询报文是自身生成的,则会通过所有接入侧接口发送出去。例如,接入侧接口有3个:接口a、接口b和接口c,若IGMP查询报文是从接口a接收的,则IGMP查询报文不会再从接口a发送出去,而是从接口b和接口c发送出去;若IGMP查询报文是第一VTEP设备自身生成的,则IGMP查询报文从接口a、接口b和接口c发送出去。
步骤S103,若IGMP查询报文是从隧道侧接口接收的,则丢弃IGMP查询报文。
本实施例提供的上述方法,通过禁止非隧道侧接口接收到的IGMP查询报文通过VXLAN隧道发送,且将隧道侧接口接收的IGMP查询报文丢弃,即IGMP查询报文不通过隧道侧接口发送,使得VXLAN网络中第一VTEP设备和第二VTEP设备均不会学习到对方的IGMP查询报文,避免查询器选举,进而避免由选举出的查询器集中处理组播流量导致转发负担过重的问题,提高了组播流量的转发效率。
在本实施例中,当主机加入组播组或者离开组播组时,会主动发送IGMP报告报文,为了尽快使VXLAN网络中的设备获知IGMP报告报文,及时获知组播组的最新变化,本实施例还提供了对IGMP报告报文进行处理的方式:
接收IGMP报告报文;
若IGMP报告报文是从主机侧接口接收的,则将IGMP报告报文转发至路由器侧接口和隧道侧接口;
若IGMP报告报文是从隧道侧接口接收的,则将IGMP报告报文转发至路由器侧接口。
在本实施例中,若路由器侧接口和隧道侧接口为多个时,将主机侧接口接收的IGMP报告报文转发至所有路由器侧接口和所有隧道侧接口,将隧道侧接口接收的IGMP报文转发至所有路由器侧接口。
还需要说明的是,IGMP报告报文包括IGMP加入报告报文和IGMP离开报告报文,前者是主机加入组播组时触发的,后者是主机离开组播组时触发的。当IGMP报告报文为IGMP加入报告报文时,若IGMP加入报告报文是从主机侧接口接收的,还会在转发表中加入该主机侧接口,以便第一VTEP设备根据转发表将组播流量转发至与该主机侧接口相连的主机,若IGMP加入报告报文是从隧道侧接口接收的,还会在转发表中加入该隧道侧接口,以便第一VTEP设备根据转发表将组播流量转发至与该隧道侧接口通信的第二VTEP设备;当IGMP报告报文为IGMP离开报告报文时,对应地,会将对应的接口从转发表中删除,此处不再赘述。
为了更清楚地说明IGMP报告报文的处理过程,请参照图4,图4为本实施例提供的IGMP加入报告报文处理的示例图,图4中,当VM2加入组播组时,VM2向VTEP A的接口2发送IGMP加入报告报文1,VTEP A将接口2加入至本地的转发表,并将该IGMP加入报告报文1发送至接口3,通过接口3到达VTEP B的接口6,VTEP B从接口6接收到IGMP加入报告报文1后,将接口6加入至本地的转发表,并将IGMP加入报告报文1转发至接口5,通过接口5发送至路由器30,路由器30将接口5加入至本地的转发表,IGMP加入报告报文1的发送路径如图4中的带箭头的短横线①-④所示;当VM3加入组播组时,VM3向VTEP B的接口4发送IGMP加入报告报文2,VTEP B将接口4加入至本地转发表,并将该IGMP加入报告报文2转发至VTEP B的接口6和接口5,VTEP A从接口3收到该IGMP加入报告报文2后,将接口3加入至本地的转发表,由于VTEP A没有和路由器30相连,VTEP A不再转发该IGMP加入报告报文2,IGMP加入报告报文2的发送路径如图4中的带箭头的点线⑤-⑦所示。
本实施例提供的上述方法,能够在接收IGMP报告报文时,将该IGMP报告报文进行合理转发,以便根据该IGMP报告报文合理地进行转发表的更新,以通过转发表在VTEP设备和主机及其他VTEP设备之间进行组播流量的转发,无需经过第三VTEP设备的中转,由此降低了组播流量转发带来的带宽压力。
为了更清楚地说明组播流量的转发过程,请参照图5,图5为本实施例提供的组播流量转发过程的示例图一。图5中,VM2和VM3未加入组224.1.1.1,VM1加入组224.1.1.1。服务器40发送组224.1.1.1的组播流量,路由器30从接口7收到224.1.1.1的组播流量,命中组播转发表,从接口8转发。VTEP B从接口5收到224.1.1.1的组播流量,命中组播转发表,将流量从接口6通过VXLAN隧道转发到VTEP A。VTEP A从接口3收到来自VXLAN隧道的流量,解封装后命中组播转发表,将流量从接口1发送至VM1,组播流量转发的路径如图5中的①-⑤。
在本实施例中,为了减少VXLAN网络中的IGMP报文数量,通常会采用IGMPsnooping代理技术,充当IGMP snooping代理的设备将主机的IGMP报告综合计算,形成基于设备的IGMP状态机,基于设备响应IGMP查询,减少到达查询器的IGMP报文数量,从而减少查询器控制面负担。但是,组播流量仍然通过查询器进行集中转发,查询器转发层面的负担仍然很重,且查询器转发层面仍然存在环路问题。
为了解决存在IGMP snooping代理的场景下的上述问题,本实施例还提供了第一VTEP设备运行有IGMP Snooping代理时,处理IGMP报告报文的方式:
接收IGMP报告报文;
根据所述IGMP报告报文生成IGMP代理报告报文并发送所述IGMP代理报告报文。
在本实施例中,IGMP Snooping代理在接收到IGMP报告报文之后,不会转发该报文,而是终止该报文继续转发,IGMP Snooping代理以主机的角色生成IGMP代理报告报文并发送。
在本实施例中,为了在存在IGMP Snooping代理时避免不必要的IGMP报文发送,本实施例提供了将生成的IGMP代理报告报文发送的实现方式:
若接入侧代理数据库的状态从非转发状态变为转发状态,则根据IGMP报告报文生成IGMP代理加入报告报文,并将所述IGMP代理加入报告报文发送至路由器侧接口;
若接入侧代理数据库的状态从转发状态变为非转发状态,则根据IGMP报告报文生成IGMP代理离开报告报文并将所述IGMP代理离开报告报文发送至路由器侧接口。
在本实施例中,接入侧代理数据库为转发状态,意味着第一VTEP设备能够通过路由器侧接口正常转发报文,若接入侧数据为非转发状态,意味着不能正常转发报文,为了避免不必要的报文转发,只有在接入侧代理数据库的状态发生变化时才进行对应报文的发送,否则不发送。
本实施例还提供了一种确定接入侧代理数据库状态发生变化的判断方式:
若IGMP报告报文为IGMP加入报告报文、且接收IGMP报告报文之前接入侧代理数据库中不存在接入侧接口的成员或者隧道侧接口的成员,则判定接入侧代理数据库从非转发状态变为转发状态;
若IGMP报告报文为IGMP离开报告报文、且接收IGMP报告报文之前接入侧代理数据库中存在接入侧接口的成员或者隧道侧接口的成员、且接收IGMP报告报文之后接入侧代理数据库中不存在接入侧接口的成员且不存在隧道侧接口的成员,则判定接入侧代理数据库从转发状态变为非转发状态。
在本实施例中,接入侧代理数据库可以包括一个或者多个组播组,IGMP报告报文是针对指定组播组的,判断接入侧代理数据库的状态变化时,也是通过接入侧代理数据库中是否存在该指定组播组的接入侧接口的成员或者隧道侧接口的成员进行的判断,一种实现方式可以是:先获取IGMP报告报文中的组播地址,根据组播地址确定IGMP报告报文的组播组,确定接入侧代理数据库中的一个或者多个组播组中与IGMP报文的组播组相同的目标组播组,若IGMP报告报文为IGMP加入报告报文、且在接收IGMP报告报文之前,接入侧代理数据库中不存在该目标组播组的接入侧接口的成员或者隧道侧接口的成员,则判定接入侧代理数据库从非转发状态变为转发状态;若IGMP报告报文为IGMP离开报告报文、且在接收IGMP报告报文之前,接入侧代理数据库中存在该目标组播组的接入侧接口的成员或者隧道侧接口的成员、且在接收IGMP报告报文之后,接入侧数据库中不存在该目标组播组的接入侧接口的成员、且也不存在该目标组播组的隧道侧接口的成员,则判定接入侧数据库从转发状态变为非转发状态。
除了提供将生成的IGMP代理报告报文发送至路由器侧接口的实现方式,本实施例还提供了将生成的IGMP代理报告报文发送隧道侧接口的实现方式:
若隧道侧代理数据库的状态从非转发状态变为转发状态,则根据IGMP报告报文生成IGMP代理加入报告报文,并将IGMP代理加入报告报文发送至隧道侧接口;
若隧道侧代理数据库的状态从转发状态变为非转发状态,则根据IGMP报告报文生成IGMP代理离开报告报文,并将IGMP代理离开报告报文发送至隧道侧接口。
在本实施例中,由于隧道侧接口的加组不纳入隧道侧代理数据库的计算范围,不会影响隧道侧代理数据库状态的变化,隧道侧代理数据库状态变化的判断方式为:
若IGMP报告报文为IGMP加入报告报文、且接收IGMP报告报文之前隧道侧代理数据库中不存在接入侧接口的成员、且接收IGMP报文之后隧道侧代理数据库中存在接入侧接口的成员,则判定隧道侧代理数据库从非转发状态变为转发状态;
若IGMP报告报文为IGMP离开报告报文、且接收IGMP报告报文之前隧道侧代理数据库中存在接入侧接口的成员、且接收IGMP报告报文之后隧道侧代理数据库中不存在接入侧接口的成员,则判定隧道侧代理数据库从转发状态变为非转发状态。
需要说明的是,同接入侧代理数据库类似,隧道侧代理数据库也可以包括一个或者多个组播组,IGMP报告报文是针对指定组播组的,判断隧道侧代理数据库的状态变化时,是通过隧道侧代理数据库中是否存在该指定组播组的接入侧接口的成员进行的判断,一种实现方式可以是:先获取IGMP报告报文中的组播地址,根据组播地址确定IGMP报告报文的组播组,确定隧道侧代理数据库中的一个或者多个组播组中与IGMP报文的组播组相同的目标组播组,然后,若IGMP报告报文为IGMP加入报告报文、且在接收IGMP报告报文之前,隧道侧代理数据库中不存在该目标组播组的接入侧接口的成员、且接收IGMP报告报文之后隧道侧数据库中存在接入侧接口的成员,则判定隧道侧代理数据库从非转发状态变为转发状态;若IGMP报告报文为IGMP离开报告报文、且在接收IGMP报告报文之前,隧道侧代理数据库中存在该目标组播组的接入侧接口的成员、且在接收IGMP报告报文之后,隧道侧数据库中不存在该目标组播组的接入侧接口的成员,则判定隧道侧数据库从转发状态变为非转发状态。
需要说明的是,与前述实施方式类似,VTEP设备10在接收到IGMP代理报告报文之后仍然会更新本地的转发表,根据接收加入报告报文的接口,则将接收加入报告报文的主机侧接口或者隧道侧接口添加至转发表,根据接收离开报告报文的接口,则接收离开报告报文的主机侧接口或者隧道侧接口从转发表中删除。
在本实施例中,为了在存在IGMP Snooping代理时,使VXLAN网络中的其他设备及时得知组播成员的最新消息,本实施例还提供了一种对IGMP查询报文进行响应的实现方式:
若接入侧代理数据库为转发状态,则向路由器侧接口发送接入侧代理数据库的IGMP加入报告报文。
在本实施例中,IGMP加入报告报文可以以自身接口IP地址为源IP地址,也可以以预设的IP地址为源IP地址,以自身加入的组播地址为目的发送IGMP加入报告报文,接入侧代理数据库为转发状态,则向路由器侧接口发送IGMP加入报告报文中的组播地址为接入侧代理数据库中的组播地址,隧道侧代理数据库为转发状态,则向隧道侧接口发送IGMP加入报告报文中的组播地址为隧道侧代理数据库的组播地址。
在本实施例中,为了更清楚地说明存在IGMP Snooping代理时IGMP报文的处理过程,请参照图6~图8,图6~图8为VM1、VM2、VM3依次加入组播组时IGMP报文的处理过程。请参照图6,图6为本实施例提供的VM1加入组播组时IGMP报文的处理的示例图,处理过程如下:
①VTEP A向接口1发送IGMP查询报文;
②VM1响应IGMP查询报文发送组地址为224.1.1.1的IGMP加入报文;
③VTEP A的接口1收到组地址为224.1.1.1的IGMP加入报告报文,VTEP A生成(VXLAN为100,组地址为224.1.1.1)的转发表,并设置接口1为转发接口;VTEP A计算接入侧代理数据库的组224.1.1.1由非转发状态变为转发状态,由于VTEP A上没有接入侧路由器接口,不会发送此状态更新。
④VTEP A计算隧道侧代理数据库的组224.1.1.1由非转发状态变为转发状态,向隧道侧接口3发送组224.1.1.1的IGMP加入报告。
⑤VTEP B的接口6收到VXLAN封装的报文进行解封装后,处理VTEP A的VXLAN为100,组地址为224.1.1.1的IGMP加入报文;VTEP B生成(VXLAN为100,组地址为224.1.1.1)的转发表,并设置接口6为转发接口。
⑥VTEP B计算接入侧代理数据库的组224.1.1.1由非转发状态变为转发状态,向VTEP的路由器接口5发送组224.1.1.1的IGMP加入报告;VTEP B计算隧道侧代理数据库,由于隧道侧接口的加组不纳入隧道侧代理数据库的计算范围,因而隧道侧代理数据库不变。
⑦路由器从接口8收到IGMP报文,按照PIM协议建立组播转发表,接口8设置为转发接口。
请参照图7,图7为本实施例提供的VM2加入组播组时IGMP报文的处理的示例图,处理过程如下:
①VTEP A向接口2发送IGMP查询报文;
②VM2发送组地址为224.1.1.1的IGMP加入报文。
③VTEP A的接口2收到组地址为224.1.1.1的IGMP加入报文;VTEP A在(VXLAN为100,组地址为224.1.1.1)的转发表添加接口2为转发接口,此时转发接口有接口1和接口2;VTEP A计算接入侧代理数据库,组224.1.1.1转发状态不变,不向接入侧接口发IGMP加入报文;VTEP A计算隧道侧代理数据库,组224.1.1.1转发状态不变,不向隧道侧接口发IGMP加入报文。
请继续参照图8,图8为本实施例提供的VM3加入组播组时IGMP报文的处理的示例图,处理过程如下:
①VTEP B向接口4发送IGMP查询报文;
②VM3发送组地址为224.1.1.1的IGMP加入报文。
③VTEP B的接口4收到组地址为224.1.1.1的IGMP加入报文;VTEP B在(VXLAN为100,组地址为224.1.1.1)的转发表,添加接口4为转发接口,此时转发表有转发接口4和接口6;VTEP B计算接入侧代理数据库,组224.1.1.1转发状态不变,不向接口5发送IGMP加入报文。
④VTEP B计算隧道侧代理数据库,组224.1.1.1由非转发状态变为转发状态,向接口6发送组224.1.1.1的IGMP加入报告。
⑤VTEP A的接口3收到VXLAN封装的报文进行解封装后,处理VTEP B的VXLAN为100,组地址为224.1.1.1的IGMP加入报文;VTEP A在(VXLAN为100,组地址为224.1.1.1)的转发表,添加接口3为转发接口。此时转发表有转发接口1,接口2和接口3;VTEP A计算接入侧代理数据库,组224.1.1.1转发状态不变;VTEP A计算隧道侧代理数据库,由于隧道侧接口的加组不纳入隧道侧代理数据库的计算范围,因而隧道代理数据库不变。
为了更清楚地说明存在IGMP Snooping代理时组播流量的转发过程,请参照图9,图9为本实施例提供的组播流量转发的示例图二,服务器发送组224.1.1.1的组播流量的过程如图9中实线箭头线所示:
①路由器从接口7收到224.1.1.1的组播流量,命中组播转发表,从接口8转发。
②VTEP B从接口5收到224.1.1.1的组播流量,命中组播转发表,将流量从接口6通过VXLAN隧道转发到VTEP A,从接口4转发至VM3。
③VTEP A从接口3收到来自VXLAN隧道的流量,解封装后命中组播转发表,将流量从接口1转发至VM1,从接口2转发至VM2。
VM1发送组224.1.1.1的组播流量的处理过程如图9中虚线箭头线所示:
④VTEP A从接口1收到224.1.1.1的组播流量。
⑤VTEP A判定命中组播转发表,向接口2转发到VM2,向接口3转发到VTEP B。
⑥VTEP B从接口6收到224.1.1.1的组播流量。
⑦VTEP B判定命中组播转发表,向接口4转发到VM3。由于禁止了隧道进入的组播流量从隧道转发,因此不会从隧道接口6发送出去,避免了流量环路。
在本实施例中,由于第一VTEP设备不会从隧道侧接口收到IGMP查询报文,为了及时了解到IGMP成员的情况,本实施例还提供了一种处理方式:
周期性向隧道侧接口发送隧道侧代理数据库的IGMP加入报告报文。
在本实施例中,IGMP加入报告报文在前述已有说明,此处不再赘述。
为了执行上述实施例及各个可能的实施方式中的相应步骤,下面给出一种IGMP报文处理装置100的实现方式。请参照图10,图10出了本发明实施例提供的IGMP报文处理装置100的方框示意图。需要说明的是,本实施例所提供的IGMP报文处理装置100,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及指出。
IGMP报文处理装置100,应用于虚拟可扩展局域网VXLAN网络中的第一VTEP设备,第一VTEP设备包括隧道侧接口和接入侧接口,第一VTEP设备通过隧道侧接口与VXLAN网络中的第二VTEP设备通信的,第一VTEP设备通过接入侧接口与主机或者路由器通信,IGMP报文处理装置100包括获取模块110和处理模块120。
获取模块110,用于获取互联网组管理协议IGMP查询报文;
处理模块120,用于若IGMP查询报文是从接入侧接口接收的或者是第一VTEP设备自身生成的,则发送IGMP查询报文、且禁止将IGMP查询报文发送至隧道侧接口;
处理模块120,还用于若IGMP查询报文是从隧道侧接口接收的,则丢弃IGMP查询报文。
在可选的实施方式中,接入侧接口包括用于与路由器通信的路由器侧接口和用于与主机通信的主机侧接口,处理模块120还用于:接收IGMP报告报文;若IGMP报告报文是从主机侧接口接收的,则将IGMP报告报文转发至路由器侧接口和隧道侧接口;若IGMP报告报文是从隧道侧接口接收的,则将IGMP报告报文转发至路由器侧接口。
在可选的实施方式中,接入侧接口包括用于与路由器通信的路由器侧接口和用于与主机通信的主机侧接口,第一VTEP设备运行有IGMP Snooping代理,处理模块120还用于:接收IGMP报告报文;根据IGMP报告报文生成IGMP代理报告报文并发送IGMP代理报告报文。
在可选的实施方式中,第一VTEP设备还包括接入侧代理数据库,处理模块120在用于根据IGMP报告报文生成IGMP代理报告报文并发送IGMP代理报告报文时具体用于:若接入侧代理数据库的状态从非转发状态变为转发状态,则根据所述IGMP报告报文生成IGMP代理加入报告报文,并将IGMP代理加入报告报文发送至路由器侧接口;若接入侧代理数据库的状态从转发状态变为非转发状态,则根据IGMP报告报文生成IGMP代理离开报告报文,并将IGMP代理离开报告报文发送至路由器侧接口。
在可选的实施方式中,处理模块120还用于:若IGMP报告报文为IGMP加入报告报文、且接收IGMP报告报文之前接入侧代理数据库中不存在接入侧接口的成员或者隧道侧接口的成员,则判定接入侧代理数据库从非转发状态变为转发状态;若IGMP报告报文为IGMP离开报告报文、且接收IGMP报告报文之前接入侧代理数据库中存在接入侧接口的成员或者隧道侧接口的成员、且接收IGMP报告报文之后接入侧代理数据库中不存在接入侧接口的成员且不存在隧道侧接口的成员,则判定接入侧代理数据库从转发状态变为非转发状态。
在可选的实施方式中,第一VTEP设备还包括隧道侧代理数据库,处理模块120在用于根据IGMP报告报文生成IGMP代理报告报文并发送IGMP代理报告报文时具体用于:若隧道侧代理数据库的状态从非转发状态变为转发状态,则根据IGMP报告报文生成IGMP代理加入报告报文,并将IGMP代理加入报告报文发送至隧道侧接口;若隧道侧代理数据库的状态从转发状态变为非转发状态,则根据IGMP报告报文生成IGMP代理离开报告报文,并将IGMP代理离开报告报文发送至隧道侧接口。
在可选的实施方式中,第一VTEP设备还包括隧道侧代理数据库,处理模块120还用于:若IGMP报告报文为IGMP加入报告报文、且接收IGMP报告报文之前隧道侧代理数据库中不存在接入侧接口的成员、且接收IGMP报文之后隧道侧代理数据库中存在接入侧接口的成员,则判定隧道侧代理数据库从非转发状态变为转发状态;若IGMP报告报文为IGMP离开报告报文、且接收IGMP报告报文之前隧道侧代理数据库中存在接入侧接口的成员、且接收IGMP报告报文之后隧道侧代理数据库中不存在接入侧接口的成员,则判定隧道侧代理数据库从转发状态变为非转发状态。
在可选的实施方式中,第一VTEP设备还包括接入侧代理数据库和隧道侧代理数据库,接入侧接口包括用于与路由器通信的路由器侧接口和用于与主机通信的主机侧接口,处理模块120还用于:若接入侧代理数据库为转发状态,则向路由器侧接口发送接入侧代理数据库的IGMP加入报告报文。
在可选的实施方式中,处理模块120还用于:周期性向隧道侧接口发送隧道侧代理数据库的IGMP加入报告报文。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现前述实施方式中任一项的IGMP报文处理方法。
综上所述,本发明实施例提供了一种IGMP报文处理方法、装置、VTEP设备及存储介质,应用于虚拟可扩展局域网VXLAN网络中的第一VTEP设备,第一VTEP设备包括隧道侧接口和接入侧接口,第一VTEP设备通过隧道侧接口与VXLAN网络中的第二VTEP设备通信,第一VTEP设备通过接入侧接口与主机或者路由器通信,所述方法包括:获取互联网组管理协议IGMP查询报文;若IGMP查询报文是从接入侧接口接收的或者是第一VTEP设备自身生成的,则发送IGMP查询报文、且禁止将IGMP查询报文发送至隧道侧接口;若IGMP查询报文是从隧道侧接口接收的,则丢弃IGMP查询报文。与现有技术相比,本发明实施例具有以下优势:通过禁止非隧道侧接口接收到的IGMP查询报文通过VXLAN隧道发送,且将隧道侧接口接收的IGMP查询报文丢弃,即IGMP查询报文不通过隧道侧接口发送,使得VXLAN网络中第一VTEP设备和第二VTEP设备均不会学习到对方的IGMP查询报文,避免查询器选举,进而避免由选举出的查询器集中处理组播流量导致转发负担过重的问题,提高了组播流量的转发效率;在接收IGMP加入报文时,基于将接收该报文的目标接口加入至转发表,并设置目标接口为转发接口,以通过转发表在VTEP设备和主机及其他VTEP设备之间进行组播流量的转发,无需经过第三VTEP设备的中转,由此降低了组播流量转发带来的带宽压力;通过禁止向隧道侧接口转发从隧道侧接口接收的组播流量,避免了组播流量在VXLAN网络中形成环路;在存在IGMP snooping代理时,通过接入侧代理数据库和隧道侧代理数据库的状态变化进行IGMP报文的发送,减少了不必要的报文发送,进一步降低了报文发送的带宽压力。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (12)
1.一种IGMP报文处理方法,其特征在于,应用于虚拟可扩展局域网VXLAN网络中的第一VTEP设备,所述第一VTEP设备包括隧道侧接口和接入侧接口,所述第一VTEP设备通过所述隧道侧接口与所述VXLAN网络中的第二VTEP设备通信,所述第一VTEP设备通过所述接入侧接口与主机或者路由器通信,所述方法包括:
获取互联网组管理协议IGMP查询报文;
若所述IGMP查询报文是从所述接入侧接口接收的或者是所述第一VTEP设备自身生成的,则发送所述IGMP查询报文且禁止将所述IGMP查询报文发送至所述隧道侧接口;
若所述IGMP查询报文是从所述隧道侧接口接收的,则丢弃所述IGMP查询报文。
2.如权利要求1所述的IGMP报文处理方法,其特征在于,所述接入侧接口包括用于与所述路由器通信的路由器侧接口和用于与所述主机通信的主机侧接口,所述方法还包括:
接收IGMP报告报文;
若所述IGMP报告报文是从所述主机侧接口接收的,则将所述IGMP报告报文转发至所述路由器侧接口和所述隧道侧接口;
若所述IGMP报告报文是从所述隧道侧接口接收的,则将所述IGMP报告报文转发至所述路由器侧接口。
3.如权利要求1所述的IGMP报文处理方法,其特征在于,所述接入侧接口包括用于与所述路由器通信的路由器侧接口和用于与所述主机通信的主机侧接口,所述第一VTEP设备运行有IGMP Snooping代理,所述方法还包括:
接收IGMP报告报文;
根据所述IGMP报告报文生成IGMP代理报告报文并发送所述IGMP代理报告报文。
4.如权利要求3所述的IGMP报文处理方法,其特征在于,所述第一VTEP设备还包括接入侧代理数据库,所述根据所述IGMP报告报文生成IGMP代理报告报文并发送所述IGMP代理报告报文,包括:
若所述接入侧代理数据库的状态从非转发状态变为转发状态,则根据所述IGMP报告报文生成IGMP代理加入报告报文,并将所述IGMP代理加入报告报文发送至所述路由器侧接口;
若所述接入侧代理数据库的状态从转发状态变为非转发状态,则根据所述IGMP报告报文生成IGMP代理离开报告报文并将所述IGMP代理离开报告报文发送至所述路由器侧接口。
5.如权利要求4所述的IGMP报文处理方法,其特征在于,所述方法还包括:
若所述IGMP报告报文为IGMP加入报告报文、且接收所述IGMP报告报文之前所述接入侧代理数据库中不存在接入侧接口的成员或者隧道侧接口的成员,则判定所述接入侧代理数据库从非转发状态变为转发状态;
若所述IGMP报告报文为IGMP离开报告报文、且接收所述IGMP报告报文之前所述接入侧代理数据库中存在接入侧接口的成员或者隧道侧接口的成员、且接收所述IGMP报告报文之后所述接入侧代理数据库中不存在接入侧接口的成员且不存在隧道侧接口的成员,则判定所述接入侧代理数据库从转发状态变为非转发状态。
6.如权利要求3所述的IGMP报文处理方法,其特征在于,所述第一VTEP设备还包括隧道侧代理数据库,所述根据所述IGMP报告报文生成IGMP代理报告报文并发送所述IGMP代理报告报文,包括:
若所述隧道侧代理数据库的状态从非转发状态变为转发状态,则根据所述IGMP报告报文生成IGMP代理加入报告报文,并将所述IGMP代理加入报告报文发送至所述隧道侧接口;
若所述隧道侧代理数据库的状态从转发状态变为非转发状态,则根据所述IGMP报告报文生成IGMP代理离开报告报文,并将所述IGMP代理离开报告报文发送至所述隧道侧接口。
7.如权利要求6所述的IGMP报文处理方法,其特征在于,所述第一VTEP设备还包括隧道侧代理数据库,所述方法还包括:
若所述IGMP报告报文为IGMP加入报告报文、且接收所述IGMP报告报文之前所述隧道侧代理数据库中不存在接入侧接口的成员、且接收所述IGMP报文之后所述隧道侧代理数据库中存在接入侧接口的成员,则判定所述隧道侧代理数据库从非转发状态变为转发状态;
若所述IGMP报告报文为IGMP离开报告报文、且接收所述IGMP报告报文之前所述隧道侧代理数据库中存在接入侧接口的成员、且接收所述IGMP报告报文之后所述隧道侧代理数据库中不存在接入侧接口的成员,则判定所述隧道侧代理数据库从转发状态变为非转发状态。
8.如权利要求1所述的IGMP报文处理方法,其特征在于,所述第一VTEP设备还包括接入侧代理数据库和隧道侧代理数据库,所述接入侧接口包括用于与所述路由器通信的路由器侧接口和用于与所述主机通信的主机侧接口,所述方法还包括:
若所述接入侧代理数据库为转发状态,则向所述路由器侧接口发送所述接入侧代理数据库的IGMP加入报告报文。
9.如权利要求8所述的IGMP报文处理方法,其特征在于,所述方法还包括:
周期性向所述隧道侧接口发送所述隧道侧代理数据库的IGMP加入报告报文。
10.一种IGMP报文处理装置,其特征在于,应用于虚拟可扩展局域网VXLAN网络中的第一VTEP设备,所述第一VTEP设备包括隧道侧接口和接入侧接口,所述第一VTEP设备通过所述隧道侧接口与所述VXLAN网络中的第二VTEP设备通信的,所述第一VTEP设备通过所述接入侧接口与主机或者路由器通信,所述装置包括:
获取模块,用于获取互联网组管理协议IGMP查询报文;
处理模块,用于若所述IGMP查询报文是从所述接入侧接口接收的或者是所述第一VTEP设备自身生成的,则发送所述IGMP查询报文、且禁止将所述IGMP查询报文发送至所述隧道侧接口;
所述处理模块,还用于若所述IGMP查询报文是从所述隧道侧接口接收的,则丢弃所述IGMP查询报文。
11.一种VTEP设备,其特征在于,包括处理器和存储器,所述存储器用于存储程序,所述处理器用于在执行所述程序时,实现权利要求1-9中任一项所述的IGMP报文处理方法。
12.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,该计算机程序被处理器执行时实现权利要求1-9中任一项所述的IGMP报文处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211511461.6A CN115883286B (zh) | 2022-11-29 | 2022-11-29 | Igmp报文处理方法、装置、vtep设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211511461.6A CN115883286B (zh) | 2022-11-29 | 2022-11-29 | Igmp报文处理方法、装置、vtep设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115883286A CN115883286A (zh) | 2023-03-31 |
CN115883286B true CN115883286B (zh) | 2024-04-09 |
Family
ID=85764641
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211511461.6A Active CN115883286B (zh) | 2022-11-29 | 2022-11-29 | Igmp报文处理方法、装置、vtep设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115883286B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102075422A (zh) * | 2011-01-04 | 2011-05-25 | 杭州华三通信技术有限公司 | 一种组播管理方法及二层设备 |
CN102075439A (zh) * | 2011-02-22 | 2011-05-25 | 杭州华三通信技术有限公司 | 一种组播报文转发方法和路由设备 |
CN103814554A (zh) * | 2013-12-11 | 2014-05-21 | 华为技术有限公司 | 一种虚拟可扩展局域网的通信方法、装置和*** |
CN103841037A (zh) * | 2012-11-21 | 2014-06-04 | 华为技术有限公司 | 组播报文转发的方法及设备 |
CN104579704A (zh) * | 2013-10-18 | 2015-04-29 | 杭州华三通信技术有限公司 | 组播数据报文的转发方法及装置 |
CN107612809A (zh) * | 2017-10-31 | 2018-01-19 | 新华三技术有限公司 | 一种组播表项同步方法以及设备 |
US9935782B1 (en) * | 2015-04-14 | 2018-04-03 | Cisco Technology, Inc. | Scalable internet group management protocol (IGMP) snooping in a switch fabric |
CN108880968A (zh) * | 2017-05-11 | 2018-11-23 | 中兴通讯股份有限公司 | 软件定义网络中广播、组播实现方法及装置、存储介质 |
CN108881024A (zh) * | 2018-05-31 | 2018-11-23 | 新华三技术有限公司 | 一种组播流量转发方法及装置 |
WO2018214809A1 (zh) * | 2017-05-23 | 2018-11-29 | 中兴通讯股份有限公司 | 消息发送方法及装置、存储介质 |
CN109039675A (zh) * | 2018-09-26 | 2018-12-18 | 盛科网络(苏州)有限公司 | 基于IGMPv2协议的成员离开管理方法及*** |
CN109818869A (zh) * | 2017-11-22 | 2019-05-28 | 北京华为数字技术有限公司 | 组播流量转发端口的生成方法及相关设备 |
US10749741B1 (en) * | 2019-04-25 | 2020-08-18 | Dell Products L.P. | Methods and systems for auto-discovery of VXLAN VTEPs using PIM BSR |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10880112B2 (en) * | 2017-12-31 | 2020-12-29 | Arista Networks, Inc. | Multicast traffic in a virtual extensible local area network (VXLAN) |
-
2022
- 2022-11-29 CN CN202211511461.6A patent/CN115883286B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102075422A (zh) * | 2011-01-04 | 2011-05-25 | 杭州华三通信技术有限公司 | 一种组播管理方法及二层设备 |
CN102075439A (zh) * | 2011-02-22 | 2011-05-25 | 杭州华三通信技术有限公司 | 一种组播报文转发方法和路由设备 |
CN103841037A (zh) * | 2012-11-21 | 2014-06-04 | 华为技术有限公司 | 组播报文转发的方法及设备 |
CN104579704A (zh) * | 2013-10-18 | 2015-04-29 | 杭州华三通信技术有限公司 | 组播数据报文的转发方法及装置 |
CN103814554A (zh) * | 2013-12-11 | 2014-05-21 | 华为技术有限公司 | 一种虚拟可扩展局域网的通信方法、装置和*** |
US9935782B1 (en) * | 2015-04-14 | 2018-04-03 | Cisco Technology, Inc. | Scalable internet group management protocol (IGMP) snooping in a switch fabric |
CN108880968A (zh) * | 2017-05-11 | 2018-11-23 | 中兴通讯股份有限公司 | 软件定义网络中广播、组播实现方法及装置、存储介质 |
WO2018214809A1 (zh) * | 2017-05-23 | 2018-11-29 | 中兴通讯股份有限公司 | 消息发送方法及装置、存储介质 |
CN107612809A (zh) * | 2017-10-31 | 2018-01-19 | 新华三技术有限公司 | 一种组播表项同步方法以及设备 |
CN109818869A (zh) * | 2017-11-22 | 2019-05-28 | 北京华为数字技术有限公司 | 组播流量转发端口的生成方法及相关设备 |
CN108881024A (zh) * | 2018-05-31 | 2018-11-23 | 新华三技术有限公司 | 一种组播流量转发方法及装置 |
CN109039675A (zh) * | 2018-09-26 | 2018-12-18 | 盛科网络(苏州)有限公司 | 基于IGMPv2协议的成员离开管理方法及*** |
US10749741B1 (en) * | 2019-04-25 | 2020-08-18 | Dell Products L.P. | Methods and systems for auto-discovery of VXLAN VTEPs using PIM BSR |
Non-Patent Citations (6)
Title |
---|
"A Management Method of IP Multicast in Overlay Networks using OpenFlow";Yukihiro Nakagawa,et al;《proceedings of the frist workshop on hot topics in software defined networks》;20121231;全文 * |
"基于VLAN 的IGMP Proxy 的设计与实现";包莉娜;《中国优秀硕士学位论文全文数据库》;20181231;全文 * |
HFC网络组播技术研究与实现;王沁;袁玲玲;张燕;许娜;李;;小型微型计算机***;20091115(第11期);全文 * |
VPLS组播功能实现与研究;王小玲;;计算机光盘软件与应用;20131201(第23期);全文 * |
基于IXA架构的IGMP Snooping协议的实现;石洋;;职大学报;20091215(第04期);全文 * |
基于IXP2800处理器的IGMP Snooping协议的设计与实现;刘金花;;潍坊学院学报;20071115(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115883286A (zh) | 2023-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6369698B2 (ja) | トラフィック切り替え方法、デバイス、およびシステム | |
US11374857B2 (en) | Network device management method and apparatus, and system for indicating a network device to perform management operation | |
EP3188409A1 (en) | Oam mechanisms for evpn active-active services | |
US10454710B2 (en) | Virtual local area network mismatch detection in networks | |
US9515927B2 (en) | System and method for layer 3 proxy routing | |
CN112929274A (zh) | 一种处理路由的方法、设备及*** | |
CN108964940B (zh) | 消息发送方法及装置、存储介质 | |
WO2021031648A1 (zh) | Evpn和vpls共存双活的方法、设备及*** | |
US9060322B2 (en) | Method and system for preventing loops in mesh networks | |
EP3313031B1 (en) | Sdn-based arp realization method and apparatus | |
WO2022001669A1 (zh) | 建立vxlan隧道的方法及相关设备 | |
US20200177402A1 (en) | Protocol independent multicast (pim) designated router (dr) election | |
US20230010837A1 (en) | Fault diagnosis method and apparatus thereof | |
EP4191966A1 (en) | Method and device for processing data message, storage medium, and electronic device | |
CN111083061B (zh) | 一种确定组播流的df的方法、设备及*** | |
CN112787934A (zh) | 位索引显式复制网络中负载分担的方法、装置及设备 | |
CN109167693B (zh) | 一种基于跨机箱链路聚合组mlag的隔离配置方法及装置 | |
CN115883286B (zh) | Igmp报文处理方法、装置、vtep设备及存储介质 | |
CN114980243A (zh) | 一种数据转发方法、装置及存储介质 | |
Cisco | Configuring MSDP | |
CN110324247B (zh) | 三层组播网络中的组播转发方法、设备及存储介质 | |
WO2022194193A1 (zh) | 用于获取路径的方法和装置 | |
CN113014481B (zh) | 传输链路状态通告的方法、装置、设备及存储介质 | |
WO2022116615A1 (zh) | 报文传输的方法、获取对应关系的方法、装置及*** | |
CN116366593A (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 |