CN110868353B - 一种报文处理方法及装置 - Google Patents
一种报文处理方法及装置 Download PDFInfo
- Publication number
- CN110868353B CN110868353B CN201810989096.7A CN201810989096A CN110868353B CN 110868353 B CN110868353 B CN 110868353B CN 201810989096 A CN201810989096 A CN 201810989096A CN 110868353 B CN110868353 B CN 110868353B
- Authority
- CN
- China
- Prior art keywords
- message
- port
- multicast address
- packet
- join
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
- H04L49/201—Multicast operation; Broadcast operation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供了一种报文处理方法及装置。该方法包括:通过网络设备的第一端口接收第一加入报文,第一加入报文携带待加入的第一组播地址;生成所述第一组播地址与第一端口的第一对应关系;广播携带第一组播地址的第二加入报文,以使其他网络设备根据所述第二加入报文生成第一组播地址与第二端口的第二对应关系,并根据第二对应关系转发数据报文;其中,第二端口为其他网络设备中接收第二加入报文的端口。应用本申请实施例提供的方案,能够实现对复杂组网中组播的数据报文的转发,减少带宽浪费,提高网络稳定性。
Description
技术领域
本申请涉及通信技术领域,特别是涉及一种报文处理方法及装置。
背景技术
组播能够在发送者和每一接收者之间实现点对多点的网络连接。如果一个发送者同时给多个接收者传输相同的数据,也只需要复制一份相同的数据报文。这种数据传输方式提高了数据的传输效率,减少了骨干网络出现拥塞的可能性。
互联组管理协议(Internet Group Management Protocol,IGMP),是因特网协议家族中的一个组播协议。该协议运行在终端设备和组播交换机之间。参见图1a,当交换机1为查询器时,查询器可以广播查询报文,当用户设备接收到查询报文时,反馈携带待加入的组播地址的加入报文。加入报文依次发送至交换机2、交换机1时,两交换机均生成对应的端口与组播地址的对应关系。当交换机1或交换机2接收到待发送至该组播地址的数据报文时,可以通过保存的端口与组播地址的对应关系,将数据报文通过确定的端口进行转发。
但是,对于图1b所示的复杂组网来说,当交换机1为查询器时,来自用户设备1的加入报文发送至交换机1就终止了。为了能够使得来自服务器2的组播数据报文能够发送至用户设备2,通常采用的方法是,将交换机2中的端口配置成组播泛洪模式,即交换机2会对接收的组播数据报文通过各个端口进行无条件的转发。这种方式势必会造成大量的带宽浪费,影响网络稳定性。
发明内容
本申请实施例的目的在于提供了一种报文处理方法及装置,以实现对复杂组网中组播的数据报文的转发,减少带宽浪费,提高网络稳定性。
第一方面,本申请实施例提供了一种报文处理方法,该方法应用于网络设备,所述方法包括:
通过所述网络设备的第一端口接收第一加入报文,所述第一加入报文携带待加入的第一组播地址;
生成所述第一组播地址与所述第一端口的第一对应关系;
广播携带所述第一组播地址的第二加入报文,以使其他网络设备根据所述第二加入报文生成所述第一组播地址与第二端口的第二对应关系,并根据所述第二对应关系转发数据报文;
其中,所述第二端口为所述其他网络设备中接收所述第二加入报文的端口;所述其他网络设备为组网中除所述网络设备之外的网络设备。
可选的,当所述第一加入报文为广播报文时,所述广播携带所述第一组播地址的第二加入报文的步骤,包括:
将所述第一加入报文作为第二加入报文,广播所述第二加入报文;
或者,当所述第一加入报文为非广播报文时,在所述广播携带所述第一组播地址的第二加入报文的步骤之前,还包括:
生成携带所述第一组播地址的广播报文,作为第二加入报文。
可选的,当所述第一加入报文为广播报文时,所述第一加入报文还携带第一指定标识,所述第一指定标识用于指示生成所述第一组播地址与接收所述第一加入报文的端口之间的对应关系;
所述生成所述第一组播地址与所述第一端口的第一对应关系的步骤,包括:
根据所述第一指定标识,生成所述第一组播地址与所述第一端口的第一对应关系。
可选的,所述广播携带所述第一组播地址的第二加入报文的步骤,包括:
通过所述网络设备的第一目标路由端口,广播携带所述第一组播地址的第二加入报文;
其中,所述第一目标路由端口为:所述网络设备与所述其他网络设备连接的端口中的端口;所述第一目标路由端口不包括所述第一端口。
可选的,所述方法还包括:
在预设的查询条件满足时,发送携带查询标识的第一查询报文,所述查询标识用于指示获取所述其他网络设备存储的所有组播地址;
通过所述网络设备中的第三端口,接收所述其他网络设备发送的所有组播地址;
生成接收的所有组播地址与所述第三端口的第三对应关系。
可选的,所述方法还包括:
在接收到所述其他网络设备发送的第二查询报文的情况下,当所述第二查询报文携带所述查询标识时,获取所述网络设备自身存储的所有组播地址;
将获取的所述自身存储的各个组播地址发送至所述其他网络设备。
第二方面,本申请实施例提供了另一种报文处理方法,该方法应用于网络设备,所述方法还包括:
通过所述网络设备的第四端口接收第一离开报文,所述第一离开报文携带待离开的第二组播地址;
根据所述第一离开报文,删除已保存的所述第二组播地址与所述第四端口的第四对应关系;
广播携带所述第二组播地址的第二离开报文,以使所述其他网络设备根据所述第二离开报文删除保存的所述第二组播地址与第五端口的第五对应关系;
其中,所述第五端口为所述其他网络设备中接收所述第二离开报文的端口;所述其他网络设备为组网中除所述网络设备之外的网络设备。
可选的,当所述第一离开报文为广播报文时,所述广播携带所述第二组播地址的第二离开报文的步骤,包括:
将所述第一离开报文作为第二离开报文,广播所述第二离开报文;
或者,当所述第一离开报文为非广播报文时,在所述广播携带所述第二组播地址的第二离开报文的步骤之前,还包括:
生成携带所述第二组播地址的广播报文,作为第二离开报文。
可选的,当所述第一离开报文为广播报文时,所述第一离开报文还携带第二指定标识,所述第二指定标识用于指示删除所述第二组播地址与接收所述第一离开报文的端口之间的对应关系;
所述根据所述第一离开报文,删除已保存的所述第二组播地址与所述第四端口的第四对应关系的步骤,包括:
根据所述第一离开报文和所述第二指定标识,删除已保存的所述第二组播地址与所述第四端口的第四对应关系。
可选的,所述广播携带所述第二组播地址的第二离开报文的步骤,包括:
通过所述网络设备的第二目标路由端口,广播携带所述第二组播地址的第二离开报文;
其中,所述第二目标路由端口为:所述网络设备与所述其他网络设备连接的端口中的端口;所述第二目标路由端口不包括所述第四端口。
可选的,在所述删除已保存的所述第二组播地址与所述第四端口的第四对应关系的步骤之后,在所述广播携带所述第二组播地址的第二离开报文的步骤之前,还包括:
判断所述网络设备是否存在所述第二组播地址与其他端口的对应关系;
如果不存在,则广播携带所述第二组播地址的第二离开报文。
第三方面,本申请实施例提供了一种报文处理装置,该装置应用于网络设备,所述装置包括:
第一接收模块,用于通过所述网络设备的第一端口接收第一加入报文,所述第一加入报文携带待加入的第一组播地址;
第一生成模块,用于生成所述第一组播地址与所述第一端口的第一对应关系;
第一广播模块,用于广播携带所述第一组播地址的第二加入报文,以使其他网络设备根据所述第二加入报文生成所述第一组播地址与第二端口的第二对应关系;
其中,所述第二端口为所述其他网络设备中接收所述第二加入报文的端口;所述其他网络设备为组网中除所述网络设备之外的网络设备。
可选的,所述第一广播模块,具体用于:
当所述第一加入报文为广播报文时,将所述第一加入报文作为第二加入报文,广播所述第二加入报文;
或者,在所述第一广播模块之前,还包括:
第二生成模块,用于当所述第一加入报文为非广播报文时,生成携带所述第一组播地址的广播报文,作为第二加入报文。
第四方面,本申请实施例提供了另一种报文处理装置,该装置应用于网络设备,所述装置还包括:
第二接收模块,用于通过所述网络设备的第四端口接收第一离开报文,所述第一离开报文携带待离开的第二组播地址;
第一删除模块,用于根据所述第一离开报文,删除已保存的所述第二组播地址与所述第四端口的第四对应关系;
第二广播模块,用于广播携带所述第二组播地址的第二离开报文,以使所述其他网络设备根据所述第二离开报文删除保存的所述第二组播地址与第五端口的第五对应关系;
其中,所述第五端口为所述其他网络设备中接收所述第二离开报文的端口;所述其他网络设备为组网中除所述网络设备之外的网络设备。
可选的,所述第二广播模块,具体用于:
当所述第一离开报文为广播报文时,将所述第一离开报文作为第二离开报文,广播所述第二离开报文;
或者,在所述第二广播模块之前,还包括:
第三生成模块,用于当所述第一离开报文为非广播报文时,生成携带所述第二组播地址的广播报文,作为第二离开报文。
可选的,所述装置还包括:
第二删除模块,用于在删除已保存的所述第二组播地址与所述第四端口的第四对应关系之后,在广播携带所述第二组播地址的第二离开报文之前,判断所述网络设备是否存在所述第二组播地址与其他端口的对应关系;
所述第二广播模块,具体用于当所述网络设备不存在所述第二组播地址与其他端口的对应关系时,广播携带所述第二组播地址的第二离开报文。
第五方面,本申请实施例提供了一种网络设备,该网络设备包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第一方面提供的报文处理方法。
第六方面,本申请实施例提供了另一种网络设备,该网络设备包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第二方面提供的报文处理方法。
第七方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面提供的报文处理方法。
第八方面,本申请实施例提供了另一种计算机可读存储介质,计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第二方面提供的报文处理方法。
本申请实施例提供的报文处理方法及装置,可以在接收到第一加入报文时,生成第一组播地址与第一端口的对应关系,并广播携带第一组播地址的第二加入报文,以使其他网络设备根据第二加入报文生成第一组播地址与第二端口的对应关系。由于每个网络设备在接收到第一加入报文后,都通过广播第二加入报文,使其他网络设备生成组播地址与端口的对应关系,因此在复杂组网情况下,组网中的每个网络设备都能生成组播地址与端口的对应关系,在网络设备接收到待发送至该组播地址的数据报文时,可以根据生成的对应关系对数据报文进行转发,无需将网络设备的端口配置成组播泛洪模式。因此本申请实施例能够实现对复杂组网中组播的数据报文的转发,减少带宽浪费,提高网络稳定性。当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a和图1b为应用本申请实施例的几种组网示意图;
图2为本申请实施例提供的一种报文处理方法的流程示意图;
图3为本申请实施例提供的另一种报文处理方法的流程示意图;
图4为本申请实施例提供的一种报文处理装置的结构示意图;
图5为本申请实施例提供的另一种报文处理装置的结构示意图;
图6为本申请实施例提供的一种网络设备的结构示意图;
图7为本申请实施例提供的另一种网络设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了实现对复杂组网中组播的数据报文的转发,减少带宽浪费,提高网络稳定性,本申请实施例提供了一种报文处理方法及装置。下面通过具体实施例,对本申请进行详细说明。
图2为本申请实施例提供的一种报文处理方法的流程示意图。该方法应用于网络设备。该网络设备可以为路由器或交换机等设备。该方法包括:
步骤S201:通过网络设备的第一端口接收第一加入报文。
其中,第一加入报文携带待加入的第一组播地址。该网络设备可以是在查询器广播查询报文之后接收到第一加入报文。该网络设备可以是查询器,也可以不是查询器。该第一加入报文的源地址为发送该加入报文的主机设备的地址,报文类型为加入。主机设备也可以称为终端设备,可以包括用户设备、普通计算机设备和服务器等。
步骤S202:生成第一组播地址与第一端口的第一对应关系。
在生成第一对应关系之后,可以对第一对应关系进行存储。其中,在第一对应关系中,第一端口即为第一组播地址对应的出端口。
如果该网络设备接收到待发送至该第一组播地址的第一数据报文,则可以根据第一对应关系,确定第一数据报文对应的出端口,即第一端口,通过第一端口对该第一数据报文进行转发。
步骤S203:广播携带第一组播地址的第二加入报文,以使其他网络设备根据第二加入报文生成第一组播地址与第二端口的第二对应关系。
其中,第二端口为其他网络设备中接收第二加入报文的端口。第二加入报文为广播报文,第二加入报文的目的地址为空。第一组播地址可以为第二加入报文中的组播地址字段中的内容。其他网络设备为组网中作为执行主体的网络设备之外的网络设备。
其他网络设备可以为一个或多个。当其他网络设备接收到第二加入报文时,其他网络设备可以根据第二加入报文生成第一组播地址与第二端口的第二对应关系。当其他网络设备接收到待发送至第一组播地址的第二数据报文时,可以根据第二对应关系,确定该第二数据报文的出端口,即第二端口,通过第二端口对该第二数据报文进行转发。
例如,在图1b所示的组播中,交换机1为查询器,查询器广播查询报文之后,用户设备2接收到该查询报文,并向交换机1发送加入报文A,加入报文携带组播地址224.0.0.55。交换机1的端口p1接收到加入报文A时,生成224.0.0.55与p1的对应关系。交换机1广播携带224.0.0.55的加入报文B。交换机2的端口p4接收到加入报文B,生成224.0.0.55与p4的对应关系。当服务器2向交换机2发送待发送至224.0.0.55的数据报文时,交换机2的端口p5接收到该数据报文,根据224.0.0.55与p4的对应关系,将数据报文通过p4进行转发。当交换机1的端口p3接收到该数据报文时,根据224.0.0.55与p1的对应关系,将数据报文通过p1进行转发,用户设备2即能接收到该数据报文。这样就能实现服务器2与用户设备2之间的组播通信。
假设交换机1与用户设备2之间还有交换机3(图中未示出),交换机3通过端口p7接收到用户设备2发送的加入报文A时,生成224.0.0.55与p7的对应关系,并生成携带224.0.0.55的加入报文B,对加入报文B进行广播。当交换机1接收到加入报文B时,生成224.0.0.55与p1的对应关系,并直接广播加入报文B。交换机2的端口p4接收到加入报文B时,生成224.0.0.55与p4的对应关系。
本实施例中的数据报文可以是视频数据报文、图像数据报文、音频数据报文等。本申请实施例对数据报文携带的数据的类型不做限定。
广播携带第一组播地址的第二加入报文时,具体可以包括:对第二加入报文进行复制,通过网络设备的每个端口发送复制的第二加入报文。
由上述内容可知,本实施例中,由于每个网络设备在接收到第一加入报文后,都通过广播第二加入报文,使其他网络设备生成组播地址与端口的对应关系,因此在复杂组网情况下,组网中的每个网络设备都能生成组播地址与端口的对应关系,在网络设备接收到待发送至该组播地址的数据报文时,可以根据生成的对应关系对数据报文进行转发,无需将网络设备的端口配置成组播泛洪模式。因此本实施例能够实现对复杂组网中组播的数据报文的转发,减少带宽浪费,提高网络稳定性。
在应用互联组管理协议(Internet Group Management Protocol,IGMP)的组网中,组播地址与端口的对应关系可以以组播表项的形式呈现。组网中的网络设备可以为IGMP查询器(Querier)或者IGMP探听者(Snooping)。IGMP查询器可以广播查询报文。作为二层设备的IGMP探听者可以对收到的IGMP报文进行分析,为端口和MAC组播地址建立映射关系,并根据这样的映射关系转发组播数据。当二次设备没有运行IGMP Snooping时,组播数据在二层被广播。当二次设备运行IGMP Snooping时,已知组播地址的组播数据不会在二层被广播,而在二层被组播给指定的接收者。
协议无关组播(Protocol Independent Multicast,PIM)协议也是一种组播路由协议。PIM协议不依赖于某一特定的单播路由协议,它可以利用任意单播路由协议建立的单播路由表完成反向路径转发(Reverse Path Forwarding,RPF)检查功能,从而建立组播路由。由于PIM无需收发组播路由更新报文,所以与其他组播路由协议相比,PIM开销降低了许多。
为了能够实现复杂组网情况下组播的数据报文的转发,参见图1b,也可以在网络设备之间运行PIM协议,在终端设备与网络设备之间运行IGMP协议。由于网络设备之间需要同步表项,因此这种组播方式需要复杂的配置。尤其是对于网络设备来说,需要对网段进行划分,配置比较繁琐。
而本申请提供的实施例中,可以在终端设备与网络设备之间,以及各个网络设备之间均运行IGMP协议,实现二层组播,配置简单、易实现。
本实施例中,终端设备包括服务器和用户设备等除了网络设备之外的设备。
在IGMP组网中,终端设备在接收到查询报文时,可以发送组播的加入报文(join报文)。交换机接收终端设备发送的组播的加入报文。上述实施例中,第二加入报文为广播的加入报文。第二加入报文可以采用join’报文表示。第一组播地址可以位于join’报文中的组播地址字段中。
因此,上述实施例中,第一加入报文可以是其他网络设备发送的,这种情况下第一加入报文为广播报文;也可以是终端设备发送的,这种情况下第一加入报文为组播报文。
在本申请的另一实施例中,基于图2所示实施例,当第一加入报文为广播报文时,步骤S203中,广播携带第一组播地址的第二加入报文的步骤,包括:将第一加入报文作为第二加入报文,广播第二加入报文。
本实施例中,第一加入报文为其他网络设备发送至上述网络设备的报文,为广播报文。因此,网络设备可以直接将第一加入报文作为第二加入报文进行广播,无需重新生成报文。
当第一加入报文为非广播报文时,例如为组播报文时,在广播携带第一组播地址的第二加入报文的步骤之前,方法还可以包括:生成携带第一组播地址的广播报文,作为第二加入报文。
在生成第二加入报文时,具体可以对第一加入报文进行修改,得到第二加入报文。在这种情况下,第二加入报文为与第一加入报文类型不同的加入报文。第一加入报文的目的地址为第一组播地址,协议类型为指定类型,报文类型为加入。第二加入报文的目的地址为空,协议类型为自定义的协议号,报文类型为加入,组播地址为第一组播地址。
在本实施例中,第一加入报文为终端设备发送至网络设备的报文,为组播报文。因此,网络设备可以生成携带第一组播地址的第二加入报文,对第二加入报文进行广播。
在本申请的另一实施例中,基于图2所示实施例,当第一加入报文为广播报文时,第一加入报文还可以携带第一指定标识。第一指定标识用于指示生成第一组播地址与接收第一加入报文的端口之间的对应关系。
步骤S202,生成第一组播地址与第一端口的第一对应关系的步骤,包括:根据第一指定标识,生成第一组播地址与第一端口的第一对应关系。
其中,第一指定标识可以为自定义的协议号和报文类型。报文类型可以为加入。
当需要生成第二加入报文时,可以生成携带第一组播地址和第一指定标识的第二加入报文。
在本申请的另一实施例中,为了提高处理效率,基于图2所示实施例,步骤S203,广播携带第一组播地址的第二加入报文的步骤,具体可包括:
通过网络设备的第一目标路由端口,广播携带第一组播地址的第二加入报文。
其中,第一目标路由端口为:网络设备与其他网络设备连接的端口中的端口。第一目标路由端口不包括第一端口。本实施例中,网络设备与其他网络设备连接的端口可以称为路由端口。第一目标路由端口可以为路由端口中的部分或全部端口。
当第一加入报文为其他网络设备发送至该网络设备时,第一端口为路由端口,第一目标路由端口不包括该第一端口。当第一加入报文为终端设备发送至网络设备时,第一端口不为路由端口,第一目标路由端口可以为该网络设备的所有路由端口。
在通过网络设备的第一目标路由端口,广播携带第一组播地址的第二加入报文之前,该方法还可以包括:
判断网络设备是否存在路由端口;如果存在,则通过网络设备的第一目标路由端口,广播携带第一组播地址的第二加入报文;如果不存在,则可以不予以处理。
本实施例中,通过网络设备的第一目标路由端口,广播第二加入报文,可以避免将第二加入报文广播至与终端设备连接的端口,减少广播报文的数量,提高处理效率。
在本申请的另一实施例中,基于图2所示实施例,该方法还可以包括以下步骤1a~3a。
步骤1a:在预设的查询条件满足时,发送携带查询标识的第一查询报文。
其中,上述查询标识用于指示获取其他网络设备存储的所有组播地址。预设的查询条件可以为以下条件的一种:预设查询周期到来时;预设的查询时刻到来时;网络设备启动或重启启动时。第一查询报文不同于IGMP中查询器发送的查询报文。第一查询报文携带自定义的协议号,报文类型可以为所有(All)查询,组播地址字段为空。上述查询标识可以为自定义的协议号和/或报文类型。
第一查询报文可以为广播报文,即广播发送第一查询报文。第一查询报文也可以为组播报文,组播发送第一查询报文。
具体的,可以通过网络设备中与其他网络设备连接的路由端口,发送第一查询报文。当其他网络设备接收到第一查询报文时,可以获取自身存储的所有组播地址,并将所有组播地址发送至该网络设备。所有组播地址可以是以组播地址列表的形式发送的。
步骤2a:通过网络设备中的第三端口,接收其他网络设备发送的所有组播地址。其中,第三端口可以为一个或多个。
步骤3a:生成接收的所有组播地址与第三端口的第三对应关系。
例如,网络设备1分别与网络设备2和网络设备3连接。网络设备2中包括A、B、C三个组播地址,网络设备3中包括D、E两个组播地址。网络设备1通过端口p1向网络设备2发送第一查询报文,通过端口p2向网络设备3发送第一查询报文。当网络设备1分别接收到网络设备2和3返回的A、B、C、D、E五个组播地址时,分别生成A、B、C与p1的对应关系,以及D、E与p2的对应关系。
本实施例中,网络设备可以通过第一查询报文一次性得到其他网络设备中的组播地址,从而尽可能保证组播的数据报文的正常转发,无需再一一地获取每个终端设备待加入的组播地址,能够节省处理资源。
在上述实施例中,查询器可以定期广播查询报文,网络设备在接收到查询报文之后对该查询报文进行转发。当终端设备接收到网络设备转发的查询报文时,可以通过与网络设备连接的端口发送组播的加入报文。该加入报文的目的地址为待加入的组播地址,源地址为终端设备的地址。上述查询报文与上述第一查询报文不同。上述查询报文为查询器广播的、用于分别获取每个终端设备待加入的组播地址的查询报文。第一查询报文用于获取其他网络设备中存储的所有组播地址。
在组网中,上述查询报文和第一查询报文可以同时存在。
在本申请的另一实施例中,基于图2所示实施例,该方法还包括以下步骤1b和2b。
步骤1b:在接收到其他网络设备发送的第二查询报文的情况下,当第二查询报文携带查询标识时,获取网络设备自身存储的所有组播地址。
具体的,每个网络设备中均可以保存包含组播地址与端口的对应关系的列表。在确定网络设备自身存储的所有组播地址时,可以从该列表中获取。
当第二查询报文不携带查询标识时,可以直接对该查询报文进行转发。这种查询报文可以为查询器广播的用于获取终端设备的组播地址的报文。
步骤2b:将获取的自身存储的各个组播地址发送至其他网络设备。
其中,可以采用自定义报文将各个组播地址发送至其他网络设备。该自定义报文的协议类型可以为自动以的协议号,报文类型为All加入,组播地址为需要加入的组播地址列表。
本实施例中,网络设备可以接收其他网络设备发送的携带查询标识的报文,并将自身存储的各个组播地址发送至其他网络设备,能够使得其他网络设备一次性获取该网络设备中的所有组播地址,提高处理效率。
在图1b所示的复杂组播网络中,当用户设备2需要离开某一组播组(224.0.0.55)时,可以向查询器发送携带组播地址224.0.0.55的离开报文,该离开报文的目的地址为组播地址224.0.0.55,报文类型为离开。在交换机1为查询器的情况下,交换机1的端口p1能接收到该离开报文时,删除组播地址与端口的对应关系,即删除224.0.0.55与p1的对应关系。由于该离开报文发送至查询器即终止了,交换机2无法接收到该离开报文,因此仍旧保存着224.0.0.55与p4的对应关系。当交换机2接收到待发送至组播地址224.0.0.55的数据报文时,会根据224.0.0.55与p4的对应关系,通过端口p4转发至交换机1。交换机未查找到包含224.0.0.55的对应关系时,会将该数据报文丢弃。由于交换机2没有删除224.0.0.55与p4的对应关系,因此,交换机2可能会额外发送冗余的数据报文,这也造成了对交换机端口的带宽资源的浪费。
因此,为了减少对带宽资源的浪费,本申请实施例还提供了以下实施例。
图3为本申请实施例提供的另一种报文处理方法的流程示意图。该方法应用于网络设备。该网络设备可以为路由器或交换机等设备。该方法包括:
步骤S301:通过网络设备的第四端口接收第一离开报文。
其中,第一离开报文携带待离开的第二组播地址。该网络设备可以是查询器,也可以不是查询器。
步骤S301:根据第一离开报文,删除已保存的第二组播地址与第四端口的第四对应关系。
步骤S301:广播携带第二组播地址的第二离开报文,以使其他网络设备根据第二离开报文删除保存的第二组播地址与第五端口的第五对应关系。
其中,第五端口为其他网络设备中接收第二离开报文的端口。其他网络设备为组网中除作为执行主体的网络设备之外的网络设备。第二离开报文为广播报文,第二离开报文的目的地址为空。第二组播地址可以为第二离开报文中的组播地址字段中的内容。
其他网络设备可以为一个或多个。当其他网络设备接收到第二离开报文时,其他网络设备可以根据第二离开报文删除第二组播地址与第五端口的第五对应关系。当其他网络设备接收到待发送至第二组播地址的第三数据报文时,由于第五对应关系已经被删除,且在确定不存在包含该第二组播地址的对应关系时,可以直接对该第三数据报文进行丢弃处理。
广播携带第二组播地址的第二离开报文时,具体可以包括:对第二离开报文进行复制,通过网络设备的每个端口发送复制的第二离开报文。
由上述内容可知,本实施例中,由于每个网络设备在接收到第一离开报文后,都通过广播第二离开报文,使其他网络设备删除组播地址与端口的对应关系,因此在复杂组网情况下,组网中的每个网络设备都能删除指定组播地址与端口的对应关系,在网络设备接收到待发送至该组播地址的数据报文时,可以在确定不存在包含该组播地址的对应关系时,丢弃该数据报文,无需对该数据报文进行转发。因此本实施例能够减少对带宽资源的浪费。
在IGMP组网中,终端设备在需要离开组播组时,可以发送组播的离开报文(leave报文)。交换机接收终端设备发送的组播的离开报文。上述实施例中,第二离开报文为广播的离开报文。第二离开报文可以采用leave’报文表示。第二组播地址可以位于leave’报文中的组播地址字段中。
因此,上述实施例中,第一离开报文可以是其他网络设备发送的,这种情况下第一离开报文为广播报文;也可以是终端设备发送的,这种情况下第一离开报文为组播报文。
在本申请的另一实施例中,基于图3所示实施例,当第一离开报文为广播报文时,步骤S303中,广播携带第二组播地址的第二离开报文的步骤,包括:将第一离开报文作为第二离开报文,广播第二离开报文。
本实施例中,第一离开报文为其他网络设备发送至上述网络设备的报文,为广播报文。因此,网络设备可以直接将第一离开报文作为第二离开报文进行广播,无需重新生成报文。
当第一离开报文为非广播报文时,在广播携带第二组播地址的第二离开报文的步骤之前,方法还可以包括:生成携带第二组播地址的广播报文,作为第二离开报文。
在生成第二离开报文时,具体可以对第一离开报文进行修改,得到第二离开报文。在这种情况下,第二离开报文为与第一离开报文类型不同的离开报文。第一离开报文的目的地址为第二组播地址,协议类型为指定类型,报文类型为离开。第二离开报文的目的地址为空,协议类型为自定义的协议号,报文类型为离开,组播地址为第二组播地址。
在本实施例中,第一离开报文为终端设备发送至网络设备的报文,为组播报文。因此,网络设备可以生成携带第二组播地址的第二离开报文,对第二离开报文进行广播。
在本申请的另一实施例中,基于图3所示实施例,当第一离开报文为广播报文时,第一离开报文还携带第二指定标识。第二指定标识用于指示删除第二组播地址与接收第一离开报文的端口之间的对应关系。
步骤S302,根据第一离开报文,删除已保存的第二组播地址与第四端口的第四对应关系的步骤,包括:根据第一离开报文和第二指定标识,删除已保存的第二组播地址与第四端口的第四对应关系。
其中,第二指定标识可以为自定义的协议号和报文类型。报文类型可以为离开。
当需要生成第二离开报文时,可以生成携带第二组播地址和第二指定标识的第二离开报文。
在本申请的另一实施例中,为了提高处理效率,基于图3所示实施例,步骤S303,广播携带第二组播地址的第二离开报文的步骤,包括:通过网络设备的第二目标路由端口,广播携带第二组播地址的第二离开报文。
其中,第二目标路由端口为:网络设备与其他网络设备连接的端口中的端口。第二目标路由端口不包括第四端口。本实施例中,网络设备与其他网络设备连接的端口可以称为路由端口。第二目标路由端口可以为路由端口中的部分或全部端口。
当第一离开报文为其他网络设备发送至该网络设备时,第四端口为路由端口,第二目标路由端口不包括该路由端口。当第一离开报文为终端设备发送至网络设备时,第四端口不为路由端口,第二目标路由端口可以为该网络设备的所有路由端口。
在通过网络设备的第二目标路由端口,广播携带第二组播地址的第二离开报文之前,该方法还可以包括:
判断网络设备是否存在路由端口;如果存在,则通过网络设备的第二目标路由端口,广播携带第二组播地址的第二离开报文;如果不存在,则可以不予以处理。
本实施例中,通过网络设备的第二目标路由端口,广播第二离开报文,可以避免将第二离开报文广播至与终端设备连接的端口,减少广播报文的数量,提高处理效率。
下面结合具体实例对本申请实施例进行说明。在图1b所示的组网中,交换机1为查询器,用户设备2需要离开组播地址224.0.0.55所在的组播组时,可以向交换机1发送离开报文A,离开报文携带组播地址224.0.0.55。交换机1的端口p1接收到加入报文A时,删除224.0.0.55与p1的对应关系。交换机1广播携带224.0.0.55的离开报文B。交换机2的端口p4接收到交换机1发送的离开报文B,删除224.0.0.55与p4的对应关系。当服务器2向交换机2发送待发送至组播地址224.0.0.55的数据报文时,交换机2的端口p5接收到该数据报文,当确定交换机2自身不存在包含224.0.0.55的对应关系时,可以将数据报文丢弃。
在图1b所示组网中,可能会有两个以上的终端设备加入同一组播地址。这样,在网络设备中,同一组播地址可以对应两个端口。为了避免一个终端设备离开组播地址时,影响其他加入该组播地址的终端设备对数据报文的接收,本申请还提供了以下实施例。
在本申请的另一实施例中,基于图3所示实施例,在删除已保存的第二组播地址与第四端口的第四对应关系之后,在广播携带第二组播地址的第二离开报文的步骤之前,即在步骤S302之后,步骤S303之前,该方法还包括:
判断上述网络设备是否存在第二组播地址与其他端口的对应关系,如果不存在,则广播携带第二组播地址的第二离开报文。
如果存在,则不予以处理,即不广播携带第二组播地址的第二离开报文。
例如,在图1b中,假设用户设备1和用户设备2均加入组播地址X1中,并且用户设备1还加入了组播地址X2。则交换机1存在X1与p1的对应关系、X2与p1的对应关系以及X1与p3的对应关系;交换机2存在X1与p4的对应关系、X2与p4的对应关系以及X1与p6的对应关系。
当用户设备1发送携带待离开组播地址X2的离开报文C时,交换机1的端口p1接收到该离开报文C,删除X2与p1的对应关系。由于交换机1中不存在X2与其他端口的对应关系,因此,此时交换机1可以生成广播的离开报文C’,通过除p1之外的其他端口转发该离开报文C’。
交换机2在通过端口p4接收到交换机1广播的离开报文C’时,删除X2与p4的对应关系。当交换机2接收到待发送至组播地址X2的数据报文时,会对该数据报文进行丢弃处理。
当用户设备1发送携带待离开组播地址X1的离开报文D时,交换机1的端口p1可以接收到该离开报文D。则交换机1删除X1与p1的对应关系。由于交换机1中还存在X1与p3的对应关系,因此,此时交换机1不转发该离开报文D。
当用户设备2发送携带待离开组播地址X1的离开报文E时,交换机2的端口p6可以接收到该离开报文E。则交换机2删除X1与p6的对应关系。由于交换机2中还存在X1与p4的对应关系,因此,此时交换机2不转发该离开报文E。
这样,用户设备1(或用户设备2)离开组播地址X1,不会影响用户设备2(或用户设备1)对组播的数据报文的接收,尽可能保证数据报文的转发。
图4为本申请实施例提供的一种报文处理装置的结构示意图。该装置与图2所示方法实施例相对应。该实施例应用于网络设备。该网络设备可以为路由器或交换机等。装置包括:
第一接收模块401,用于通过所述网络设备的第一端口接收第一加入报文,所述第一加入报文携带待加入的第一组播地址;
第一生成模块402,用于生成所述第一组播地址与所述第一端口的第一对应关系;
第一广播模块403,用于广播携带所述第一组播地址的第二加入报文,以使其他网络设备根据所述第二加入报文生成所述第一组播地址与第二端口的第二对应关系;
其中,所述第二端口为所述其他网络设备中接收所述第二加入报文的端口;其他网络设备为组网中除所述网络设备之外的网络设备。
在本申请的另一实施例中,图4所示实施例中的第一广播模块403,具体用于:
当所述第一加入报文为广播报文时,将所述第一加入报文作为第二加入报文,广播所述第二加入报文;
或者,在所述第一广播模块403之前,还包括:
第二生成模块(图中未示出),用于当所述第一加入报文为非广播报文时,生成携带所述第一组播地址的广播报文,作为第二加入报文。
在本申请的另一实施例中,图4所示实施例中,当所述第一加入报文为广播报文时,所述第一加入报文还携带第一指定标识,所述第一指定标识用于指示生成所述第一组播地址与接收所述第一加入报文的端口之间的对应关系;
第一生成模块402具体用于:
根据所述第一指定标识,生成所述第一组播地址与所述第一端口的第一对应关系。
在本申请的另一实施例中,图4所示实施例中第一广播模块403具体用于:
通过所述网络设备的第一目标路由端口,广播携带所述第一组播地址的第二加入报文;
其中,所述第一目标路由端口为:所述网络设备与所述其他网络设备连接的端口中的端口;所述第一目标路由端口不包括所述第一端口。
在本申请的另一实施例中,图4所示实施例中,装置还包括:
发送模块(图中未示出),用于在预设的查询条件满足时,发送携带查询标识的第一查询报文,所述查询标识用于指示获取所述其他网络设备存储的所有组播地址;
第一接收模块401,还用于通过所述网络设备中的第三端口,接收所述其他网络设备发送的所有组播地址;
第一生成模块402,还用于生成接收的所有组播地址与所述第三端口的第三对应关系。
在本申请的另一实施例中,图4所示实施例中,该装置还包括:
确定模块,用于在接收到所述其他网络设备发送的第二查询报文的情况下,当第二查询报文携带查询标识时,确定所述网络设备自身存储的所有组播地址;
发送模块,还用于将获取的所述自身存储的各个组播地址发送至所述其他网络设备。
由于上述装置实施例是基于图2所示方法实施例得到的,与该方法具有相同的技术效果,因此装置实施例的技术效果在此不再赘述。对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
图5为本申请实施例提供的另一种报文处理装置的结构示意图。该装置与图3所示方法实施例相对应。该实施例应用于网络设备。该网络设备可以为路由器或交换机等。装置包括:
第二接收模块501,用于通过所述网络设备的第四端口接收第一离开报文,所述第一离开报文携带待离开的第二组播地址;
第一删除模块502,用于根据所述第一离开报文,删除已保存的所述第二组播地址与所述第四端口的第四对应关系;
第二广播模块503,用于广播携带所述第二组播地址的第二离开报文,以使所述其他网络设备根据所述第二离开报文删除保存的所述第二组播地址与第五端口的第五对应关系;
其中,所述第五端口为所述其他网络设备中接收所述第二离开报文的端口;所述其他网络设备为组网中除所述网络设备之外的网络设备。
在本申请的另一实施例中,图5所示实施例中,第二广播模块503具体用于:
当第一离开报文为广播报文时,将第一离开报文作为第二离开报文,广播所述第二离开报文;
或者,在第二广播模块503之前,还包括:
第三生成模块(图中未示出),用于当所述第一离开报文为非广播报文时,生成携带所述第二组播地址的广播报文,作为第二离开报文。
在本申请的另一实施例中,图5所示实施例中,当第一离开报文为广播报文时,第一离开报文还携带第二指定标识,第二指定标识用于指示删除所述第二组播地址与接收第一离开报文的端口之间的对应关系;删除模块502,具体用于:
根据所述第一离开报文和所述第二指定标识,删除已保存的所述第二组播地址与所述第四端口的第四对应关系。
在本申请的另一实施例中,图5所示实施例中,第二广播模块503,具体用于:
通过所述网络设备的第二目标路由端口,广播携带所述第二组播地址的第二离开报文;
其中,所述第二目标路由端口为:所述网络设备与所述其他网络设备连接的端口中的端口;所述第二目标路由端口不包括所述第四端口。
在本申请的另一实施例中,图5所示实施例中,所述装置还包括:
第二删除模块(图中未示出),用于在删除已保存的所述第二组播地址与所述第四端口的第四对应关系之后,在广播携带所述第二组播地址的第二离开报文之前,判断所述网络设备是否存在所述第二组播地址与其他端口的对应关系;
第二广播模块503,具体用于当所述网络设备不存在所述第二组播地址与其他端口的对应关系时,广播携带所述第二组播地址的第二离开报文。
由于上述装置实施例是基于图3所示方法实施例得到的,与该方法具有相同的技术效果,因此装置实施例的技术效果在此不再赘述。对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。
图6为本申请实施例提供的一种网络设备的结构示意图。该网络设备包括:处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信;
存储器603,用于存放计算机程序;
处理器601,用于执行存储器603上所存放的程序时,实现本申请实施例提供的报文处理方法。该报文处理方法包括:
通过所述网络设备的第一端口接收第一加入报文,所述第一加入报文携带待加入的第一组播地址;
生成所述第一组播地址与所述第一端口的第一对应关系;
广播携带所述第一组播地址的第二加入报文,以使其他网络设备根据所述第二加入报文生成所述第一组播地址与第二端口的第二对应关系;
其中,所述第二端口为所述其他网络设备中接收所述第二加入报文的端口;所述其他网络设备为组网中除所述网络设备之外的网络设备。
本实施例中,由于每个网络设备在接收到第一加入报文后,都通过广播第二加入报文,使其他网络设备生成组播地址与端口的对应关系,因此在复杂组网情况下,组网中的每个网络设备都能生成组播地址与端口的对应关系,在网络设备接收到待发送至该组播地址的数据报文时,可以根据生成的对应关系对数据报文进行转发,无需将网络设备的端口配置成组播泛洪模式。因此本实施例能够实现对复杂组网中组播的数据报文的转发,减少带宽浪费,提高网络稳定性。
图7为本申请实施例提供的另一种网络设备的结构示意图。该网络设备包括:处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信;
存储器703,用于存放计算机程序;
处理器701,用于执行存储器703上所存放的程序时,实现本申请实施例提供的报文处理方法。该报文处理方法包括:
通过所述网络设备的第四端口接收第一离开报文,所述第一离开报文携带待离开的第二组播地址;
根据所述第一离开报文,删除已保存的所述第二组播地址与所述第四端口的第四对应关系;
广播携带所述第二组播地址的第二离开报文,以使所述其他网络设备根据所述第二离开报文删除保存的所述第二组播地址与第五端口的第五对应关系;
其中,所述第五端口为所述其他网络设备中接收所述第二离开报文的端口;所述其他网络设备为组网中除所述网络设备之外的网络设备。
本实施例中,由于每个网络设备在接收到第一离开报文后,都通过广播第二离开报文,使其他网络设备删除组播地址与端口的对应关系,因此在复杂组网情况下,组网中的每个网络设备都能删除指定组播地址与端口的对应关系,在网络设备接收到待发送至该组播地址的数据报文时,可以在确定不存在包含该组播地址的对应关系时,丢弃该数据报文,无需对该数据报文进行转发。因此本实施例能够减少对带宽资源的浪费。
针对图6或图7实施例提到的通信总线可以是外设部件互连标准(PeripheralComponent Interconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本申请实施例提供的以下报文处理方法:
通过所述网络设备的第一端口接收第一加入报文,所述第一加入报文携带待加入的第一组播地址;
生成所述第一组播地址与所述第一端口的第一对应关系;
广播携带所述第一组播地址的第二加入报文,以使其他网络设备根据所述第二加入报文生成所述第一组播地址与第二端口的第二对应关系;
其中,所述第二端口为所述其他网络设备中接收所述第二加入报文的端口;所述其他网络设备为组网中除所述网络设备之外的网络设备。
本实施例中,由于每个网络设备在接收到第一加入报文后,都通过广播第二加入报文,使其他网络设备生成组播地址与端口的对应关系,因此在复杂组网情况下,组网中的每个网络设备都能生成组播地址与端口的对应关系,在网络设备接收到待发送至该组播地址的数据报文时,可以根据生成的对应关系对数据报文进行转发,无需将网络设备的端口配置成组播泛洪模式。因此本实施例能够实现对复杂组网中组播的数据报文的转发,减少带宽浪费,提高网络稳定性。
本申请实施例还提供了另一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现本申请实施例提供的以下报文处理方法:
通过所述网络设备的第四端口接收第一离开报文,所述第一离开报文携带待离开的第二组播地址;
根据所述第一离开报文,删除已保存的所述第二组播地址与所述第四端口的第四对应关系;
广播携带所述第二组播地址的第二离开报文,以使所述其他网络设备根据所述第二离开报文删除保存的所述第二组播地址与第五端口的第五对应关系;
其中,所述第五端口为所述其他网络设备中接收所述第二离开报文的端口;所述其他网络设备为组网中除所述网络设备之外的网络设备。
本实施例中,由于每个网络设备在接收到第一离开报文后,都通过广播第二离开报文,使其他网络设备删除组播地址与端口的对应关系,因此在复杂组网情况下,组网中的每个网络设备都能删除指定组播地址与端口的对应关系,在网络设备接收到待发送至该组播地址的数据报文时,可以在确定不存在包含该组播地址的对应关系时,丢弃该数据报文,无需对该数据报文进行转发。因此本实施例能够减少对带宽资源的浪费。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本申请的保护范围内。
Claims (18)
1.一种报文处理方法,其特征在于,应用于组网中的任一网络设备,所述组网的网络设备包括:路由器和交换机;所述方法包括:
通过所述网络设备的第一端口接收第一加入报文,所述第一加入报文携带待加入的第一组播地址;
生成所述第一组播地址与所述第一端口的第一对应关系;
广播携带所述第一组播地址的第二加入报文,以使其他网络设备根据所述第二加入报文生成所述第一组播地址与第二端口的第二对应关系,并根据所述第二对应关系转发数据报文;
其中,所述第二端口为所述其他网络设备中接收所述第二加入报文的端口;所述其他网络设备为组网中除所述网络设备之外的网络设备。
2.根据权利要求1所述的方法,其特征在于,当所述第一加入报文为广播报文时,所述广播携带所述第一组播地址的第二加入报文的步骤,包括:
将所述第一加入报文作为第二加入报文,广播所述第二加入报文;
或者,当所述第一加入报文为非广播报文时,在所述广播携带所述第一组播地址的第二加入报文的步骤之前,还包括:
生成携带所述第一组播地址的广播报文,作为第二加入报文。
3.根据权利要求2所述的方法,其特征在于,当所述第一加入报文为广播报文时,所述第一加入报文还携带第一指定标识,所述第一指定标识用于指示生成所述第一组播地址与接收所述第一加入报文的端口之间的对应关系;
所述生成所述第一组播地址与所述第一端口的第一对应关系的步骤,包括:
根据所述第一指定标识,生成所述第一组播地址与所述第一端口的第一对应关系。
4.根据权利要求1所述的方法,其特征在于,所述广播携带所述第一组播地址的第二加入报文的步骤,包括:
通过所述网络设备的第一目标路由端口,广播携带所述第一组播地址的第二加入报文;
其中,所述第一目标路由端口为:所述网络设备与所述其他网络设备连接的端口中的端口;所述第一目标路由端口不包括所述第一端口。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在预设的查询条件满足时,发送携带查询标识的第一查询报文,所述查询标识用于指示获取所述其他网络设备存储的所有组播地址;
通过所述网络设备中的第三端口,接收所述其他网络设备发送的所有组播地址;
生成接收的所有组播地址与所述第三端口的第三对应关系。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在接收到所述其他网络设备发送的第二查询报文的情况下,当所述第二查询报文携带所述查询标识时,获取所述网络设备自身存储的所有组播地址;
将获取的所述自身存储的各个组播地址发送至所述其他网络设备。
7.一种报文处理方法,其特征在于,应用于组网中的任一网络设备,所述组网的网络设备包括:路由器和交换机;所述方法包括:
通过所述网络设备的第四端口接收第一离开报文,所述第一离开报文携带待离开的第二组播地址;
根据所述第一离开报文,删除已保存的所述第二组播地址与所述第四端口的第四对应关系;
广播携带所述第二组播地址的第二离开报文,以使其他网络设备根据所述第二离开报文删除保存的所述第二组播地址与第五端口的第五对应关系;
其中,所述第五端口为所述其他网络设备中接收所述第二离开报文的端口;所述其他网络设备为组网中除所述网络设备之外的网络设备。
8.根据权利要求7所述的方法,其特征在于,当所述第一离开报文为广播报文时,所述广播携带所述第二组播地址的第二离开报文的步骤,包括:
将所述第一离开报文作为第二离开报文,广播所述第二离开报文;
或者,当所述第一离开报文为非广播报文时,在所述广播携带所述第二组播地址的第二离开报文的步骤之前,还包括:
生成携带所述第二组播地址的广播报文,作为第二离开报文。
9.根据权利要求7所述的方法,其特征在于,当所述第一离开报文为广播报文时,所述第一离开报文还携带第二指定标识,所述第二指定标识用于指示删除所述第二组播地址与接收所述第一离开报文的端口之间的对应关系;
所述根据所述第一离开报文,删除已保存的所述第二组播地址与所述第四端口的第四对应关系的步骤,包括:
根据所述第一离开报文和所述第二指定标识,删除已保存的所述第二组播地址与所述第四端口的第四对应关系。
10.根据权利要求7所述的方法,其特征在于,所述广播携带所述第二组播地址的第二离开报文的步骤,包括:
通过所述网络设备的第二目标路由端口,广播携带所述第二组播地址的第二离开报文;
其中,所述第二目标路由端口为:所述网络设备与所述其他网络设备连接的端口中的端口;所述第二目标路由端口不包括所述第四端口。
11.根据权利要求7所述的方法,其特征在于,在所述删除已保存的所述第二组播地址与所述第四端口的第四对应关系的步骤之后,在所述广播携带所述第二组播地址的第二离开报文的步骤之前,还包括:
判断所述网络设备是否存在所述第二组播地址与其他端口的对应关系;
如果不存在,则广播携带所述第二组播地址的第二离开报文。
12.一种报文处理装置,其特征在于,应用于组网中的任一网络设备,所述组网的网络设备包括:路由器和交换机;所述装置包括:
第一接收模块,用于通过所述网络设备的第一端口接收第一加入报文,所述第一加入报文携带待加入的第一组播地址;
第一生成模块,用于生成所述第一组播地址与所述第一端口的第一对应关系;
第一广播模块,用于广播携带所述第一组播地址的第二加入报文,以使其他网络设备根据所述第二加入报文生成所述第一组播地址与第二端口的第二对应关系;
其中,所述第二端口为所述其他网络设备中接收所述第二加入报文的端口;所述其他网络设备为组网中除所述网络设备之外的网络设备。
13.根据权利要求12所述的装置,其特征在于,所述第一广播模块,具体用于:
当所述第一加入报文为广播报文时,将所述第一加入报文作为第二加入报文,广播所述第二加入报文;
或者,在所述第一广播模块之前,还包括:
第二生成模块,用于当所述第一加入报文为非广播报文时,生成携带所述第一组播地址的广播报文,作为第二加入报文。
14.一种报文处理装置,其特征在于,应用于组网中的任一网络设备,所述组网的网络设备包括:路由器和交换机;所述装置包括:
第二接收模块,用于通过所述网络设备的第四端口接收第一离开报文,所述第一离开报文携带待离开的第二组播地址;
第一删除模块,用于根据所述第一离开报文,删除已保存的所述第二组播地址与所述第四端口的第四对应关系;
第二广播模块,用于广播携带所述第二组播地址的第二离开报文,以使其他网络设备根据所述第二离开报文删除保存的所述第二组播地址与第五端口的第五对应关系;
其中,所述第五端口为所述其他网络设备中接收所述第二离开报文的端口;所述其他网络设备为组网中除所述网络设备之外的网络设备。
15.根据权利要求14所述的装置,其特征在于,所述第二广播模块,具体用于:
当所述第一离开报文为广播报文时,将所述第一离开报文作为第二离开报文,广播所述第二离开报文;
或者,在所述第二广播模块之前,还包括:
第三生成模块,用于当所述第一离开报文为非广播报文时,生成携带所述第二组播地址的广播报文,作为第二离开报文。
16.根据权利要求14所述的装置,其特征在于,所述装置还包括:
第二删除模块,用于在删除已保存的所述第二组播地址与所述第四端口的第四对应关系之后,在广播携带所述第二组播地址的第二离开报文之前,判断所述网络设备是否存在所述第二组播地址与其他端口的对应关系;
所述第二广播模块,具体用于当所述网络设备不存在所述第二组播地址与其他端口的对应关系时,广播携带所述第二组播地址的第二离开报文。
17.一种网络设备,其特征在于,包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-10任一所述的方法步骤。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-10任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810989096.7A CN110868353B (zh) | 2018-08-28 | 2018-08-28 | 一种报文处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810989096.7A CN110868353B (zh) | 2018-08-28 | 2018-08-28 | 一种报文处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110868353A CN110868353A (zh) | 2020-03-06 |
CN110868353B true CN110868353B (zh) | 2022-02-08 |
Family
ID=69651860
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810989096.7A Active CN110868353B (zh) | 2018-08-28 | 2018-08-28 | 一种报文处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110868353B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116566896A (zh) * | 2022-01-29 | 2023-08-08 | 华为技术有限公司 | 一种数据传输方法、系统及装置 |
CN117499343A (zh) * | 2022-07-25 | 2024-02-02 | 中兴通讯股份有限公司 | 一种组播报文处理方法、装置、存储介质及电子装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100496985B1 (ko) * | 2002-10-16 | 2005-06-28 | 한국전자통신연구원 | 가상 랜을 이용한 아이피 멀티캐스트 서비스방법 |
CN101083664A (zh) * | 2007-07-20 | 2007-12-05 | 中兴通讯股份有限公司 | 一种防止二层组播数据流洪泛的方法 |
EP2083534A1 (en) * | 2008-01-25 | 2009-07-29 | Alcatel Lucent | Transmission of multicast and broadcast content and method thereof |
CN102412976B (zh) * | 2010-09-25 | 2014-05-07 | 杭州华三通信技术有限公司 | 一种运营商骨干网桥接网络中处理组播报文的方法和装置 |
CN102075439B (zh) * | 2011-02-22 | 2013-09-11 | 杭州华三通信技术有限公司 | 一种组播报文转发方法和路由设备 |
CN102739532A (zh) * | 2012-06-21 | 2012-10-17 | 上海斐讯数据通信技术有限公司 | 防止三层组播数据流洪泛的方法 |
US9935782B1 (en) * | 2015-04-14 | 2018-04-03 | Cisco Technology, Inc. | Scalable internet group management protocol (IGMP) snooping in a switch fabric |
CN106375222A (zh) * | 2015-07-20 | 2017-02-01 | 中兴通讯股份有限公司 | 环型组网组播线路切换的方法及装置 |
-
2018
- 2018-08-28 CN CN201810989096.7A patent/CN110868353B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110868353A (zh) | 2020-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11206148B2 (en) | Bit indexed explicit replication | |
US8243643B2 (en) | Active multicast information protocol | |
US9237025B2 (en) | Source routing in multicast transmissions | |
US8023448B2 (en) | Packet relay apparatus | |
WO2019085822A1 (zh) | 用于实现组播业务的方法和装置 | |
CN109981308B (zh) | 报文传输方法及装置 | |
US20050281265A1 (en) | Multicast packet routing arrangements for group-membership handling | |
EP3151487A1 (en) | Pim source discovery by last hop router on shared tree | |
CN109561022A (zh) | 一种组播转发方法及组播路由器 | |
CN110868353B (zh) | 一种报文处理方法及装置 | |
KR20220062347A (ko) | 역 경로 포워딩 rpf 검사 방법 및 장치 | |
JP2006074132A (ja) | マルチキャスト通信方法及びゲートウェイ装置 | |
CN110868307B (zh) | 一种报文处理方法及装置 | |
CN107547377B (zh) | 一种组播流量传输方法和装置 | |
US11259343B2 (en) | Multicast replication in 5G networks | |
US20200106628A1 (en) | Bit forwarding router identifier signaling using protocol independent multicast attribute | |
CN108011828B (zh) | 一种组播切换方法、装置、核心层交换机及存储介质 | |
WO2012103748A1 (zh) | 一种组播控制方法、路由设备及组播系统 | |
CN110324247B (zh) | 三层组播网络中的组播转发方法、设备及存储介质 | |
WO2020168982A1 (zh) | 一种发送和获取断言报文的方法和网络节点 | |
Cisco | Simple Multicast Routing Protocol (SMRP) | |
CN110392090B (zh) | 通讯系统及通讯传输方法 | |
CN113595912B (zh) | 5GLAN中基于IPv6扩展报头的一对多通信方法及装置 | |
CN105099907B (zh) | 路径检测方法、宿节点设备及通信系统 | |
CN108881015B (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 |