一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种端口管理方法及装置与流程

2022-07-13 15:32:26 来源:中国专利 TAG:


1.本技术涉及通信技术领域,尤其涉及一种端口管理方法及装置。


背景技术:

2.在现有的虚拟路由冗余协议(virtual router redundancy protocol,vrrp)组网(如图1所示)中,二层组播设备1使能了互联网组管理协议窥探(internet group management protocol snooping,igmp snooping),在通过端口(port)3(即,组播组成员端口,简称为成员端口(member port)接收到指定组播组的组播接收者(即,主机1)发送的互联网组管理协议(internet group management protocol,igmp)成员关系报告(membership report)报文时,会生成二层组播转发表,以用于管理和控制组播数据报文的转发。
3.二层组播设备1分别与三层组播设备1和三层组播设备2相连接,三层组播设备1和三层组播设备2分别与连接指定组播组对应的组播源的三层组播设备3相连接,三层组播设备1和三层组播设备2未连接有指定组播组的组播接收者。并且,二层组播设备1、三层组播设备1和三层组播设备2属于同一生成树协议(spanning tree protocol,stp)环网,阻塞端口位于三层组播设备1上。
4.三层组播设备1和三层组播设备2组成vrrp备份组,且均使能了协议无关组播-稀疏模式(protocol independent multicast-sparse mode,pim-sm)和igmp。三层组播设备1和三层组播设备2会通过彼此交互协议无关组播(protocol independent multicast,pim)问候(hello)报文建立pim邻居,以及二者与使能了pim-sm且作为汇集点(rendezvous point,rp)节点的三层组播设备3交互pim hello报文建立pim邻居;并且,二者还会选举出指定路由器(designated router,dr)节点,例如选举出三层组播设备2为dr节点,由三层组播设备2负责向三层组播设备3发送pim加入报文,以由三层组播设备3创建出接口为三层组播设备2上的port1的路由表项;二者还会通过igmp建立组播组并维护组播组成员关系。
5.在这种组网下,三层组播设备1和三层组播设备2会周期性通过二层组播设备1向彼此发送pim hello报文,二层组播设备1会将接收到pim hello报文的端口(即,二层组播设备1上的port1和port2)设置为路由器端口(router port)。这样一来,三层组播设备3在接收到上述指定组播组的组播数据报文时,会基于相关路由表项,将该组播数据报文发送给三层组播设备2,由三层组播设备2将其发送给二层组播设备1,后续二层组播设备在通过自身上的port2接收到该组播数据报文之后,会基于相关二层组播转发表项,将该组播数据报文通过port3转发给主机1,还会通过自身上的其他路由端口(即,port1)将该组播数据报文转发给三层组播设备1。
6.但是,在三层组播设备1侧会因没有相应的出接口而丢弃该组播数据报文。之所以三层组播设备1侧没有相应的出接口,主要是因为三层组播设备1侧没有上述组播组的组播接收者,在这种情形下,二层组播设备1通过port1发送的这份组播数据报文实际上是多余的,这就导致浪费了较多的带宽资源。


技术实现要素:

7.为克服相关技术中存在的问题,本技术提供了一种端口管理方法及装置。
8.根据本技术实施例的第一方面,提供一种端口管理方法,所述方法应用于vrrp组网中的使能了igmp snooping的二层组播设备,所述vrrp组网还包括有与所述二层组播设备相连接的指定组播组的组播接收者、第一三层组播设备和第二三层组播设备,以及与所述第一三层组播设备和所述第二三层组播设备相连接的连接有所述指定组播组对应的组播源的第三三层组播设备,所述第一三层组播设备和所述第二三层组播设备组成vrrp备份组,且均未连接有所述指定组播组的组播接收者、以及均使能了pim-sm和igmp,所述二层组播设备、所述第一三层组播设备和所述第二三层组播设备属于同一stp环网,所述方法包括:
9.在首次接收到与自身相连接的所述指定组播组的组播接收者发送的第一igmp成员关系报告报文时,将接收到第一igmp成员关系报告报文的第一端口的端口角色设置为成员端口,并将自身创建的二层组播转发表中的包括有所述第一端口、所述指定组播组的地址和所述指定组播组的组播接收者所属的虚拟局域网(virtual local area network,vlan)的第一二层组播转发表项的状态设置为有效状态,其中,所述二层组播设备创建的二层组播转发表中的处于有效状态的二层组播转发表项,用于指导所述二层组播设备将通过与第一三层组播设备和第二三层组播设备中的作为指定路由器dr节点的三层组播设备相连接的端口接收到的所述指定组播组的组播数据报文,通过与所述组播数据报文相匹配的处于有效状态的二层组播表项中的出接口转发出去;
10.在首次接收到所述第一三层组播设备和所述第二三层组播设备中的作为igmp查询器的三层组播设备发送的igmp查询报文或者第一pim hello报文时,将接收到所述igmp查询报文或者所述第一pim hello报文的第二端口的端口角色设置为路由器端口,将自身创建的二层组播转发表中的包括有所述第二端口、所述指定组播组的地址和所述指定组播组的组播接收者所属的vlan的第二二层组播转发表项的状态设置为有效状态,并在将所述第二端口的端口角色设置为路由器端口之后,若在第一设定时长内通过所述第二端口仅接收到所述igmp查询报文和所述第一pim hello报文,则将所述第二端口的端口角色由路由器端口切换为设定端口,并将所述第二二层组播转发表项的状态由有效状态更改为无效状态;以及
11.在首次接收到所述第一三层组播设备和所述第二三层组播设备中的作为dr节点的三层组播设备发送的第二pim hello报文时,将接收到所述第二pim hello报文的第三端口的端口角色设置为路由器端口,将自身创建的二层组播转发表中的包括有所述第三端口、所述指定组播组的地址和所述指定组播组的组播接收者所属的vlan的第三二层组播转发表项的状态设置为有效状态,并在将所述第三端口的端口角色设置为路由器端口之后,若在第二设定时长内通过所述第三端口仅接收到所述第二pim hello报文,则将所述第三端口的端口角色由路由器端口切换为设定端口,并将所述第三二层组播转发表项的状态由有效状态更改为无效状态,其中,作为igmp查询器的三层组播设备与作为dr节点的三层组播设备不同。
12.根据本技术实施例的第二方面,提供一种端口管理装置,所述装置应用于vrrp组网中的使能了igmp snooping的二层组播设备,所述vrrp组网还包括有与所述二层组播设
备相连接的指定组播组的组播接收者、第一三层组播设备和第二三层组播设备,以及与所述第一三层组播设备和所述第二三层组播设备相连接的连接有所述指定组播组对应的组播源的第三三层组播设备,所述第一三层组播设备和所述第二三层组播设备组成vrrp备份组,且均未连接有所述指定组播组的组播接收者、以及均使能了pim-sm和igmp,所述二层组播设备、所述第一三层组播设备和所述第二三层组播设备属于同一stp环网,所述装置包括:
13.第一管理模块,用于在首次接收到与自身相连接的所述指定组播组的组播接收者发送的第一igmp成员关系报告报文时,将接收到第一igmp成员关系报告报文的第一端口的端口角色设置为成员端口,并将自身创建的二层组播转发表中的包括有所述第一端口、所述指定组播组的地址和所述指定组播组的组播接收者所属的vlan的第一二层组播转发表项的状态设置为有效状态,其中,所述二层组播设备创建的二层组播转发表中的处于有效状态的二层组播转发表项,用于指导所述二层组播设备将通过与第一三层组播设备和第二三层组播设备中的作为指定路由器dr节点的三层组播设备相连接的端口接收到的所述指定组播组的组播数据报文,通过与所述组播数据报文相匹配的处于有效状态的二层组播表项中的出接口转发出去;
14.第二管理模块,用于在首次接收到所述第一三层组播设备和所述第二三层组播设备中的作为igmp查询器的三层组播设备发送的igmp查询报文或者第一pim hello报文时,将接收到所述igmp查询报文或者所述第一pim hello报文的第二端口的端口角色设置为路由器端口,将自身创建的二层组播转发表中的包括有所述第二端口、所述指定组播组的地址和所述指定组播组的组播接收者所属的vlan的第二二层组播转发表项的状态设置为有效状态,并在将所述第二端口的端口角色设置为路由器端口之后,若在第一设定时长内通过所述第二端口仅接收到所述igmp查询报文和所述第一pim hello报文,则将所述第二端口的端口角色由路由器端口切换为设定端口,并将所述第二二层组播转发表项的状态由有效状态更改为无效状态;以及
15.第三管理模块,用于在首次接收到所述第一三层组播设备和所述第二三层组播设备中的作为dr节点的三层组播设备发送的第二pim hello报文时,将接收到所述第二pim hello报文的第三端口的端口角色设置为路由器端口,将自身创建的二层组播转发表中的包括有所述第三端口、所述指定组播组的地址和所述指定组播组的组播接收者所属的vlan的第三二层组播转发表项的状态设置为有效状态,并在将所述第三端口的端口角色设置为路由器端口之后,若在第二设定时长内通过所述第三端口仅接收到所述第二pim hello报文,则将所述第三端口的端口角色由路由器端口切换为设定端口,并将所述第三二层组播转发表项的状态由有效状态更改为无效状态,其中,作为igmp查询器的三层组播设备与作为dr节点的三层组播设备不同。
16.本技术的实施例提供的技术方案可以包括以下有益效果:
17.在本技术实施例中,对于vrrp组网中的使能了igmp snooping的二层组播设备而言,针对自身上的端口,新增一种新的端口角色(即设定端口),通过管理自身端口的端口角色(可以为成员端口、路由器端口或者设定端口)以及包括这些端口的相关二层组播转发表项的状态,使得二层组播设备在通过端口角色为路由器端口或者设定端口接收到相关组播数据报文时,仅会通过自身上与指定组播组的组播接收者连接的成员端口转发组播数据报
文,不会通过端口角色为设定端口转发组播数据报文,从而在一定程度上节省了带宽资源。
18.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
19.此处的附图被并入说明书中并构成本技术的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
20.图1为本技术实施例提供的vrrp组网的架构示意图之一;
21.图2为本技术实施例提供的一种端口管理方法的流程示意图;
22.图3为本技术实施例提供的vrrp组网的架构示意图之二;
23.图4为本技术实施例提供的vrrp组网的架构示意图之三;
24.图5为本技术实施例提供的vrrp组网的架构示意图之四;
25.图6为本技术实施例提供的一种端口管理装置的结构示意图;
26.图7为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
27.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
28.在本技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
29.应当理解,尽管在本技术可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”或者“若”可以被解释成为“在
……
时”或“当
……
时”。
30.接下来对本技术实施例进行详细说明。
31.本技术实施例提供了一种端口管理方法,该方法应用于vrrp组网中的使能了igmp snooping的二层组播设备,vrrp组网还包括有与二层组播设备相连接的指定组播组的组播接收者、第一三层组播设备和第二三层组播设备,以及与第一三层组播设备和第二三层组播设备相连接的连接有组播源的第三三层组播设备,第一三层组播设备和第二三层组播设备组成vrrp备份组,且均未连接有指定组播组的组播接收者、以及均使能了pim-sm和igmp,二层组播设备、第一三层组播设备和第二三层组播设备属于同一stp环网,如图1所示,该方法可以包括如下步骤:
32.s21、在首次接收到与自身相连接的指定组播组的组播接收者发送的第一igmp成员关系报告报文时,将接收到第一igmp成员关系报告报文的第一端口的端口角色设置为成
员端口,并将自身创建的二层组播转发表中的包括有第一端口、指定组播组的地址和指定组播组的组播接收者所属的vlan的第一二层组播转发表项的状态设置为有效状态。
33.其中,二层组播设备创建的二层组播转发表中的处于有效状态的二层组播转发表项,用于指导二层组播设备将通过与第一三层组播设备和第二三层组播设备中的作为dr节点的三层组播设备相连接的端口接收到的指定组播组的组播数据报文,通过与组播数据报文相匹配的处于有效状态的二层组播表项中的出接口转发出去。
34.s22、在首次接收到第一三层组播设备和第二三层组播设备中的作为igmp查询器的三层组播设备发送的igmp查询报文或者第一pim hello报文时,将接收到igmp查询报文或者第一pim hello报文的第二端口的端口角色设置为路由器端口,将自身创建的二层组播转发表中的包括有第二端口、指定组播组的地址和指定组播组的组播接收者所属的vlan的第二二层组播转发表项的状态设置为有效状态,并在将第二端口的端口角色设置为路由器端口之后,若在第一设定时长内通过第二端口仅接收到igmp查询报文和第一pim hello报文,则将第二端口的端口角色由路由器端口切换为设定端口,并将第二二层组播转发表项的状态由有效状态更改为无效状态。
35.在本步骤中,第一三层组播设备和第二三层组播设备之间选举作为igmp查询器的三层组播设备的具体选举过程为现有技术,在此不再详述。
36.另外,在本步骤中,上述第一设定时长可以为第一设定数量个igmp查询报文或者第一pim hello报文的发送周期的时长。
37.在这里,第一设定数量可以根据vrrp组网的实际网络需求来设定。例如,在一个例子中,假设igmp查询报文的发送周期的时长为105s,假设第一设定数量的取值为3,那么,第一设定时长即为315s。
38.s23、在首次接收到第一三层组播设备和第二三层组播设备中的作为dr节点的三层组播设备发送的第二pim hello报文时,将接收到第二pim hello报文的第三端口的端口角色设置为路由器端口,将自身创建的二层组播转发表中的包括有第三端口、指定组播组的地址和指定组播组的组播接收者所属的vlan的第三二层组播转发表项的状态设置为有效状态,并在将第三端口的端口角色设置为路由器端口之后,若在第二设定时长内通过第三端口仅接收到第二pim hello报文,则将第三端口的端口角色由路由器端口切换为设定端口,并将第三二层组播转发表项的状态由有效状态更改为无效状态。
39.在本步骤中,igmp查询器的三层组播设备与作为dr节点的三层组播设备不同。
40.另外,在本步骤中,上述第二设定时长可以为第二设定数量个第二pim hello报文的发送周期的时长。
41.需要说明的是,上述步骤s22和步骤s23并没有顺序之分。
42.另外,在本技术实施例中,对于二层组播设备来说,在通过与第一三层组播设备和第二三层组播设备中的作为dr节点的三层组播设备相连接的端口(该端口的端口角色可能是路由器端口,也可能是设定端口)接收到作为dr节点的三层组播设备发送的指定组播组的组播数据报文时,只从本地的二层组播转发表中处于有效状态的二层组播表项中查找与此组播数据报文相匹配的二层组播表项,然后通过查找到的二层组播表项中的出接口将此组播数据报文转发出去。这样一来,一旦二层组播设备上的与作为非dr节点的三层组播设备相连接的端口的端口角色为设定端口,那么,二层组播设备不会通过此端口转发相关组
播数据报文,从而在一定程度上节省了带宽资源。
43.在这里,第一三层组播设备和第二三层组播设备之间选举作为dr节点的三层组播设备的具体选举过程为现有技术,在此不再详述。
44.进一步地,在本技术实施例中,二层组播设备还可以执行以下操作流程:
45.第一种操作流程:在将第二端口的端口角色由路由器端口切换为设定端口之后,若通过第二端口首次接收到第一三层组播设备和第二三层组播设备中的作为非dr节点的三层组播设备广播的第二igmp成员关系报告报文,则将第二端口的端口角色由设定端口切换为成员端口和设定端口,并将第二二层组播转发表项的状态由无效状态更改为有效状态,其中,第二igmp成员关系报告报文为作为非dr节点的三层组播设备在连接有指定组播组的新的组播接收者、且接收到新的组播接收者发送的第二igmp成员关系报告报文时广播的;
46.在第三设定时长内通过第二端口未接收到第二igmp成员关系报告报文时,将第二端口的端口角色由成员端口和设定端口切换回路由器端口,并维持第二二层组播转发表项的状态不变;
47.在将第二端口的端口角色切换回路由器端口之后,开始执行若在第一设定时长内通过该端口仅接收到igmp查询报文和第一pim hello报文,则将第二端口的端口角色由路由器端口切换为设定端口的步骤。也即,二层组播设备在将该端口的端口角色切换回路由器端口之后,重新执行若在第一设定时长内通过该端口仅接收到igmp查询报文和/或pim hello报文,则将该端口的端口角色由路由器端口切换为设定端口的步骤,以及执行将自身创建的二层组播转发表中的包括有该端口、指定组播组的地址和指定组播组的组播接收者所属的vlan的二层组播转发表项的状态由有效状态更改为无效状态的步骤。
48.第二种操作流程:在将第二端口的端口角色切换为设定端口之后,若通过第二端口首次接收到第一三层组播设备或者第二三层组播设备发送的pim加入报文,则将第二端口的端口角色切换回路由器端口,并将第二二层组播转发表项的状态由无效状态更改为有效状态;其中,pim加入报文为第一三层组播设备或者第二三层组播设备在接收到与自身相连接的新的组播接收者发送的第三igmp成员关系报告报文、且确定出自身由非dr节点切换为dr节点、以及自身与第三三层组播设备之间的链路发生故障时发送的;
49.在将第二端口的端口角色切换回路由器端口之后,若在第四设定时长内通过第二端口仅接收到第一pim hello报文,则将第二端口的端口角色由路由器端口切换为设定端口,并将第二二层组播转发表项的状态由有效状态更改为无效状态。在这里,第四设定时长的设置方式可以与上述第二设定时长的设置方式相同。
50.需要说明的是,上述第一种操作流程适用于在二层组播设备将第二端口的端口角色由路由器端口切换为设定端口之后,在第一三层组播设备和第二三层组播设备中作为非dr节点的三层组播设备侧部署了指定组播组的新的组播接收者的场景。二层组播设备通过执行第一种操作流程,可以保证与作为非dr节点的三层组播设备连接的新的组播接收者能够及时接收到相关组播数据报文,并且在新的组播接收者下线后可以避免长时间浪费带宽资源。
51.在这里,在作为非dr节点的三层组播设备侧部署的指定组播组的新的组播接收者所属的vlan,可以与二层组播设备侧的指定组播组的组播接收者所属的vlan相同,也可以
不同。
52.具体地,在第一种操作流程中,上述第三设定时长可以为第三设定数量个第二igmp成员关系报告报文的发送周期的时长。在这里,第三设定数量也可以根据vrrp组网的实际网络需求来设定。
53.上述第二种操作流程适用于在二层组播设备将该端口的端口角色由路由器端口切换为设定端口之后,第一三层组播设备和第二三层组播设备中的dr节点发生变化、在作为新的dr节点的三层组播设备侧部署指定组播组的新的组播接收者、且作为新的dr节点的三层组播设备与第三三层组播设备之间的链路发生故障的场景。二层组播设备通过执行第二种操作流程,可以保证与作为新的dr节点的三层组播设备连接的新的组播接收者及时接收到相关组播数据报文,并且在新的组播接收者下线后可以避免长时间浪费带宽资源。
54.下面结合具体实施例对上述端口管理方法进行详细说明。
55.仍以图1所示的vrrp组网架构为例,假设作为dr节点的三层组播设备为三层组播设备2,作为igmp查询器的三层组播设备为三层组播设备1;假设三层组播设备1和三层组播设备2发送pim hello报文的发送周期为均为105s,三层组播设备1发送igmp查询报文的发送周期也为105s。
56.对于二层组播设备1而言,在首次接收到主机1发送的igmp成员关系报告报文1时,将接收到igmp成员关系报告报文1的端口(即,port3)的端口角色设置为成员端口,并将自身创建的二层组播转发表中的包括有该port3、指定组播组的地址和主机1所属的vlan(例如,vlan100)的二层组播转发表项(记为二层组播转发表项1)的状态设置为有效状态。
57.在首次接收到三层组播设备1发送的igmp查询报文或者pim hello报文1时,将接收到该igmp查询报文或者pim hello报文1的端口(即,port1)的端口角色设置为路由器端口,并将自身创建的二层组播转发表中的包括有该port1、指定组播组的地址和主机1所属的vlan(即,vlan100)的二层组播转发表项(记为二层组播转发表项2)的状态设置为有效状态。
58.在将该port1的端口角色设置为路由器端口之后,一旦在连续3个105s内(即,上述第一设定时长内)通过该port1仅接收到igmp查询报文和pim hello报文1,则将该port1的端口角色由路由器端口切换为设定端口,并将二层组播转发表项2的状态由有效状态更改为无效状态。
59.在首次接收到三层组播设备2发送的pim hello报文2时,将接收到pim hello报文2的端口(即,port2)的端口角色设置为路由器端口,并将自身创建的二层组播转发表中的包括有该port2、指定组播组的地址和主机1所属的vlan(即,vlan100)的二层组播转发表项(记为二层组播转发表项3)的状态设置为有效状态。
60.在将该port2的端口角色设置为路由器端口之后,一旦在连续3个105s内(即,上述第二设定时长内)通过该port2仅接收到pim hello报文2,则将该port2的端口角色由路由器端口切换为设定端口,并二层组播转发表项3的状态由有效状态更改为无效状态。
61.需要说明的是,对于二层组播设备1而言,在通过自身上的port2(相应的端口角色可能是路由器端口,也可能是设定端口)接收到三层组播设备2发送的指定组播组的组播数据报文(此组播数据报文是三层组播设备3在接收到来自于指定组播组对应的组播源的组播数据报文时发送给三层组播设备2的)时,只从本地的二层组播转发表中处于有效状态的
二层组播表项中查找与此组播数据报文相匹配的二层组播表项,然后通过查找到的二层组播表项中的出接口将此组播数据报文转发出去。这样一来,在二层组播设备1上的port1的端口角色为设定端口的情形下,二层组播设备1不会通过该port1转发此组播数据报文(如图3所示),从而在一定程度上节省了带宽资源。
62.另外,二层组播设备1在将自身上的port1的端口角色由路由器端口切换为设定端口之后,如果在三层组播设备1上部署了指定组播组的新的组播接收者,例如如图4所示的主机2,所属的vlan例如为vlan100,在这种情形下,三层组播设备1会通过自身上的port3接收到主机2发送的igmp成员关系报告报文,然后三层组播设备1将此igmp成员关系报告报文在主机1所属的vlan内广播。
63.后续对于二层组播设备1而言,在通过该port1首次接收到三层组播设备1广播的igmp成员关系报告报文2时,将该port1的端口角色由设定端口切换为成员端口和设定端口,并将二层组播转发表项2的状态由无效状态更改为有效状态,以保证主机2可以及时接收到相关组播数据报文。
64.接下来,如果在第三设定时长(例如,260s)内通过该port1未接收到igmp成员关系报告报文2,也即,主机2下线,此时,将该port1的端口角色由成员端口和设定端口切换回路由器端口,并维持二层组播转发表项2的状态不变。
65.之后,在将该port1的端口角色切换回路由器端口之后,一旦在连续3个105s内(即,上述第一设定时长内)通过该port1仅接收到igmp查询报文和pim hello报文1,则将该port1的端口角色由路由器端口切换为设定端口,并将二层组播转发表项2的状态由有效状态更改为无效状态,以避免带宽浪费。
66.再另外,二层组播设备1在将自身上的port1的端口角色由路由器端口切换为设定端口之后,如果在三层组播设备1上部署了指定组播组的新的组播接收者,例如,如图5所示的主机3,所属的vlan例如为vlan200,在图4中,假设三层组播设备1与三层组播设备3之间的链路发生了故障,并且,三层组播设备1还变更为了dr节点,在这种情形下,三层组播设备1会通过自身上的port3接收到主机2发送的igmp成员关系报告报文,然后三层组播设备1向二层组播设备1发送pim加入报文。
67.后续对于二层组播设备1而言,在通过该port1口首次接收到三层组播设备1发送的pim加入报文时,将该port1的端口角色切换回路由器端口,并将二层组播转发表项2的状态由无效状态更改为有效状态,以保证主机2可以及时接收到相关组播数据报文。
68.之后,在将该port1的端口角色切换回路由器端口之后,一旦在连续3个105s内(即,上述第四设定时长内)通过该port1仅接收到pim hello报文1,则将该port1的端口角色由路由器端口切换为设定端口,并将二层组播转发表项2的状态由有效状态更改为无效状态,以避免带宽浪费。
69.由以上技术方案可以看出,在本技术实施例中,对于vrrp组网中的使能了igmp snooping的二层组播设备而言,针对自身上的端口,新增一种新的端口角色(即设定端口),通过管理自身端口的端口角色(可以为成员端口、路由器端口或者设定端口)以及包括这些端口的相关二层组播转发表项的状态,使得二层组播设备在通过端口角色为路由器端口或者设定端口接收到相关组播数据报文时,仅会通过自身上与指定组播组的组播接收者连接的成员端口转发组播数据报文,不会通过端口角色为设定端口转发组播数据报文,从而在
一定程度上节省了带宽资源。
70.基于同一发明构思,本技术还提供了一种端口管理装置,所述装置应用于vrrp组网中的使能了igmp snooping的二层组播设备,所述vrrp组网还包括有与所述二层组播设备相连接的指定组播组的组播接收者、第一三层组播设备和第二三层组播设备,以及与所述第一三层组播设备和所述第二三层组播设备相连接的连接有所述指定组播组对应的组播源的第三三层组播设备,所述第一三层组播设备和所述第二三层组播设备组成vrrp备份组,且均未连接有所述指定组播组的组播接收者、以及均使能了pim-sm和igmp,所述二层组播设备、所述第一三层组播设备和所述第二三层组播设备属于同一stp环网,其结构示意图如图6所示,具体包括:
71.第一管理模块61,用于在首次接收到与自身相连接的所述指定组播组的组播接收者发送的第一igmp成员关系报告报文时,将接收到第一igmp成员关系报告报文的第一端口的端口角色设置为成员端口,并将自身创建的二层组播转发表中的包括有所述第一端口、所述指定组播组的地址和所述指定组播组的组播接收者所属的虚拟局域网vlan的第一二层组播转发表项的状态设置为有效状态,其中,所述二层组播设备创建的二层组播转发表中的处于有效状态的二层组播转发表项,用于指导所述二层组播设备将通过与第一三层组播设备和第二三层组播设备中的作为指定路由器dr节点的三层组播设备相连接的端口接收到的所述指定组播组的组播数据报文,通过与所述组播数据报文相匹配的处于有效状态的二层组播表项中的出接口转发出去;
72.第二管理模块62,用于在首次接收到所述第一三层组播设备和所述第二三层组播设备中的作为igmp查询器的三层组播设备发送的igmp查询报文或者第一协议无关组播pim hello报文时,将接收到所述igmp查询报文或者所述第一pim hello报文的第二端口的端口角色设置为路由器端口,将自身创建的二层组播转发表中的包括有所述第二端口、所述指定组播组的地址和所述指定组播组的组播接收者所属的vlan的第二二层组播转发表项的状态设置为有效状态,并在将所述第二端口的端口角色设置为路由器端口之后,若在第一设定时长内通过所述第二端口仅接收到所述igmp查询报文和所述第一pim hello报文,则将所述第二端口的端口角色由路由器端口切换为设定端口,并将所述第二二层组播转发表项的状态由有效状态更改为无效状态;以及
73.第三管理模块63,用于在首次接收到所述第一三层组播设备和所述第二三层组播设备中的作为dr节点的三层组播设备发送的第二pim hello报文时,将接收到所述第二pim hello报文的第三端口的端口角色设置为路由器端口,将自身创建的二层组播转发表中的包括有所述第三端口、所述指定组播组的地址和所述指定组播组的组播接收者所属的vlan的第三二层组播转发表项的状态设置为有效状态,并在将所述第三端口的端口角色设置为路由器端口之后,若在第二设定时长内通过所述第三端口仅接收到所述第二pim hello报文,则将所述第三端口的端口角色由路由器端口切换为设定端口,并将所述第三二层组播转发表项的状态由有效状态更改为无效状态,其中,作为igmp查询器的三层组播设备与作为dr节点的三层组播设备不同。
74.优选地,所述第二管理模块62,还用于:
75.在将所述第二端口的端口角色由路由器端口切换为设定端口之后,若通过所述第二端口首次接收到所述第一三层组播设备和所述第二三层组播设备中的作为非dr节点的
三层组播设备广播的第二igmp成员关系报告报文,则将所述第二端口的端口角色由设定端口切换为成员端口和设定端口,并将所述第二二层组播转发表项的状态由无效状态更改为有效状态,其中,所述第二igmp成员关系报告报文为作为非dr节点的三层组播设备在连接有所述指定组播组的新的组播接收者、且接收到所述新的组播接收者发送的所述第二igmp成员关系报告报文时广播的;
76.在第三设定时长内通过所述第二端口未接收到所述第二igmp成员关系报告报文时,将所述第二端口的端口角色由成员端口和设定端口切换回路由器端口,并维持所述第二二层组播转发表项的状态不变;
77.在将所述第二端口的端口角色切换回路由器端口之后,开始执行若在所述第一设定时长内通过该端口仅接收到所述igmp查询报文和所述第一pim hello报文,则将所述第二端口的端口角色由路由器端口切换为设定端口的步骤。
78.优选地,所述第二管理模块62,还用于:
79.在将所述第二端口的端口角色切换为设定端口之后,若通过所述第二端口首次接收到所述第一三层组播设备或者第二三层组播设备发送的pim加入报文,则将所述第二端口的端口角色切换回路由器端口,并将所述第二二层组播转发表项的状态由无效状态更改为有效状态;
80.在将所述第二端口的端口角色切换回路由器端口之后,若在第四设定时长内通过所述第二端口仅接收到所述第一pim hello报文,则将所述第二端口的端口角色由路由器端口切换为设定端口,并将所述第二二层组播转发表项的状态由有效状态更改为无效状态;
81.其中,所述pim加入报文为所述第一三层组播设备或者第二三层组播设备在接收到与自身相连接的新的组播接收者发送的第三igmp成员关系报告报文、且确定出自身由非dr节点切换为dr节点、以及自身与所述第三三层组播设备之间的链路发生故障时发送的。
82.优选地,所述第一设定时长为第一设定数量个所述igmp查询报文或者所述第一pim hello报文的发送周期的时长;所述第二设定时长为第二设定数量个所述第二pim hello报文的发送周期的时长。
83.优选地,所述第三设定时长为第三设定数量个所述第二igmp成员关系报告报文的发送周期的时长。
84.优选地,所述第四设定时长为第四设定数量个所述第一pim hello报文的发送周期的时长。
85.由以上技术方案可以看出,在本技术实施例中,对于vrrp组网中的使能了igmp snooping的二层组播设备而言,针对自身上的端口,新增一种新的端口角色(即设定端口),通过管理自身端口的端口角色(可以为成员端口、路由器端口或者设定端口)以及包括这些端口的相关二层组播转发表项的状态,使得二层组播设备在通过端口角色为路由器端口或者设定端口接收到相关组播数据报文时,仅会通过自身上与指定组播组的组播接收者连接的成员端口转发组播数据报文,不会通过端口角色为设定端口转发组播数据报文,从而在一定程度上节省了带宽资源。
86.本技术实施例还提供了一种电子设备,如图7所示,包括处理器71和机器可读存储介质72,所述机器可读存储介质72存储有能够被所述处理器71执行的机器可执行指令,所
述处理器71被所述机器可执行指令促使:实现上述端口管理方法的步骤。
87.上述的机器可读存储介质可以包括随机存取存储器(random access memory,ram),也可以包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。可选的,机器可读存储介质还可以是至少一个位于远离前述处理器的存储装置。
88.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
89.在本技术提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述端口管理方法的步骤。
90.以上所述仅为本技术的较佳实施例而已,并不用以限制本技术,凡在本技术的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本技术保护的范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献