一种组播报文处理方法和装置制造方法

文档序号:7800638阅读:101来源:国知局
一种组播报文处理方法和装置制造方法
【专利摘要】本发明公开了一种组播报文处理方法。该方法包括:设备需要接收组播报文时,将指定接口添加到该组播组的组播转发表项的出接口中;当通过RPF接口接收到组播报文时,根据该组播报文所属的组播组对应的组播转发表项转发该组播报文,若出接口中包括指定接口,则将该组播报文通过该指定接口进行上送处理。基于同样的发明构思,本发明还提出一种装置,通过该方法实现组播报文的上送和转发时,实现简单,无安全隐患,节省资源且提高了转发性能。
【专利说明】一种组播报文处理方法和装置
【技术领域】
[0001]本发明涉及通信【技术领域】,特别涉及一种组播报文处理方法和装置。
【背景技术】
[0002]因特网协议(IP)组播技术能够显著节省网络带宽,随着组播技术的不断发展,IP组播不仅广泛应用于视频点播、远程教育和监控等领域,越来越多的互联网协议开始使用组播技术。
[0003]以广泛使用的网络时间协议(Network Time Protocol, NTP)为例,服务器周期性地向指定的组播地址发送NTP时间同步报文。客户端侦听来自服务器的组播报文,根据接收的组播报文将设备的时间与组播服务器的时间进行同步。
[0004]充当NTP客户端的设备不仅需要将NTP组播报文转发给下游的其他NTP客户端,还需要将NTP协议报文上送给NTP处理模块,以便完成NTP时间同步的需求。
[0005]参见图1,图1为NTP组网示意图。图1中Rl为NTP组播服务器;R2、R3和R5为组播路由器;R4和R6为NTP组播客户端。
[0006]Rl周期的发送NTP组播协议报文;R2、R3和R5没有接收者,即不需要上送处理该NTP组播报文,只需要将该NTP组播报文向下游转发;R6只需要接收NTP组播报文,并上送处理该NTP组播报文;而R4既需要接收又需要转发NTP组播报文,并且需上送处理该NTP组播报文,即进行时间同步。
[0007]为实现上述效果,以R4为例。R4在EthO/Ι上配置NTP Client, R2在EthO/Ι上使能互联网组管理协议(Internet Group Management Protocol, IGMP),配置IGMP静态组或者模拟主机,则加入NTP使用的组播组;所有组播设备上都使能协议无关组播(ProtocolIndependent Multicast, PIM)协议,以便能够转发组播报文。
[0008]完成上述配置以后,NTP组播报文可以到达R4并向下游转发,为了能将NTP组播报文进行上送处理,还需要给底层的转发引擎下发特殊的软硬件规则。在转发过程中无论是否需要上送,每个NTP组播报文都需要额外匹配规则,如果匹配则转发并复制报文上送给NTP模块处理;如果不匹配则只进行转发。
[0009]对于既要转发又要上送的设备,由于逆向路径转发(Reverse Path Forwarding,RPF)接口随路由切换等原因,如果需要接收组播报文的接口不是RPF接口,则RPF接口到达的流量只能转发,而需要接收组播报文接口来的流量只能上送,需要进行两次报文接收才能完成转发和上送。即使通过配置可以让报文从RPF接口入,但是RPF接口可以随单播路由和配置切换,问题依然存在。
[0010]由上述实现可见,配置复杂,在上游路由器的出接口上使能IGMP协议,会通过该接口发送查询报文,若下游存在非法设备,会带来安全隐患;为了实现组播报文的上送处理,需要下发特殊的硬件或者软件规则,而设备支持的过滤规则有限,浪费资源;并且在组播报文转发过程中,每个报文都要去匹配规则,对于只需要转发的组播组,降低了转发效率。
【发明内容】

[0011]有鉴于此,本发明提供一种组播报文处理方法和装置,在实现组播报文的上送和转发时,不需要复杂配置,无安全隐患,节省资源且提高了转发性能。
[0012]为解决上述技术问题,本发明的技术方案是这样实现的:
[0013]一种组播报文处理方法,所述方法包括:
[0014]当设备需要接收组播报文时,将指定接口加入该组播报文所属的组播组;并将所述指定接口添加到该组播组的组播转发表项的出接口中,其中,所述指定接口为用于上送本设备处理的逻辑接口;
[0015]当通过逆向路径转发RPF接口接收到组播报文时,查找该组播报文所属的组播组对应的组播转发表项,并确定查找到的组播转发表项的出接口中是否包含所述指定接口,如果是,将该组播报文通过所述指定接口进行上送处理,并通过该组播转发表项中的其他出接口转发该组播报文;否则,将该组播报文通过该组播转发表项中的出接口转发。
[0016]一种装置,所述装置包括:处理单元、接收单元、查找单元和发送单元;
[0017]所述处理单元,用于当本装置需要接收组播报文时,将指定接口加入该组播报文所属的组播组;并将所述指定接口添加到该组播组的组播转发表项的出接口中,其中,所述指定接口为用于上送本设备处理的逻辑接口;
[0018]所述接收单元,用于接收组播报文;
[0019]所述查找单元,用于当所述接收单元通过逆向路径转发RPF接口接收到组播报文时,在所述处理单元中查找该组播报文所属的组播组对应的组播转发表项,并确定查找到的组播转发表项的出接口中是否包含所述指定接口;
[0020]所述发送单元,用于当所述查找单元确定出接口中包含该指定接口时,将该组播报文通过该指定接口进行上送处理,并通过该组播转发表项中的其他出接口转发该组播报文;当所述查找单元确定出接口中不包含该指定接口时,将该组播报文通过该组播转发表项中的出接口转发。
[0021]综上所述,本发明通过该设备需要接收组播报文时,将指定接口添加到该组播组的组播转发表项的出接口中;当通过RPF接口接收到组播报文时,根据该组播报文所属的组播组对应的组播转发表项转发该组播报文,若出接口中包括指定接口,则将该组播报文通过该指定接口进行上送处理。通过该方法实现组播报文的上送和转发时,不需要复杂配置,无安全隐患,节省资源且提高了转发性能。
【专利附图】

【附图说明】
[0022]图1为NTP组网示意图;
[0023]图2为本发明具体实施例中组播报文处理方法流程示意图;
[0024]图3为本发明具体实施例中应用于上述技术的装置的结构示意图。
【具体实施方式】
[0025]为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明所述方案作进一步地详细说明。[0026]本发明实施例中提出一种组播报文处理方法,应用于使用组播技术的协议网络中的任一设备上,该设备需要接收组播报文时将指定接口添加到该组播组的组播转发表项的出接口中;当通过RPF接口接收到组播报文时,根据该组播报文所属的组播组对应的组播转发表项转发该组播报文,若出接口中包括指定接口,则将该组播报文通过该指定接口进行上送处理。通过该方法实现组播报文的上送和转发时,不需要复杂配置,无安全隐患,节省资源且提高了转发性能。
[0027]参见图2,图2为本发明具体实施例中组播报文处理方法流程示意图。具体步骤包括:
[0028]步骤201,当设备需要接收组播报文时,将指定接口加入该组播报文所属的组播组;并将所述指定接口添加到该组播组的组播转发表项的出接口中。
[0029]其中,所述指定接口为用于上送本设备处理的逻辑接口。用于上送本设备处理的逻辑接口为本设备中已存在的用于上送本设备处理的逻辑接口,或新创建的用于上送本设备的逻辑接口。
[0030]如果该设备上已经配置了用于将报文进行上送处理的逻辑接口,可以使用该已配置的逻辑接口作为本发明实施例中用于上送本设备处理的逻辑接口,用于上送组播报文。
[0031]也可以新创建一个逻辑接口,用于将本发明实施例中需要接收的组播报文进行上送处理。
[0032]本发明具体实施例中给出一种将指定接口加入所述组播报文所属的组播组,以及组播转发表项的出接口中的实现方式,但是本发明具体实现时并不局限于这种实现方式。
[0033]该设备发送将所述指定接口加入所述组播组的请求,以使组播接收者发现协议模块将该指定接口加入所述组播组,并通知组播路由协议模块将所述指定接口添加到该组播组的组播转发表项的出接口中。
[0034]其中,组播接收者发现协议模块指运行组播接收者发现协议的模块,对于IPv4网络,组播接收者发现协议为IGMP,对于IPv6,组播接收者发现协议为组播侦听者发现协议(Multicast Listener Discovery Protocol, MLD)。
[0035]组播路由协议模块为运行组播路由协议的模块,组播路由协议可以为PM协议、DVMRP协议。
[0036]通过该种方式实现时,可以在通过组播转发机制生成组播转发表项时,将所述指定接口添加到组播转发表项的出接口中,也可以在所述指定接口加入该组播组时,生成一个出接口只有该指定接口的组播转发表项。
[0037]步骤202,该设备当通过RPF接口接收到组播报文时,查找该组播报文所属的组播组对应的组播转发表项,并确定查找到的组播转发表项的出接口中是否包含所述指定接口,如果是,执行步骤203 ;否则,执行步骤204。
[0038]该设备接收到组播报文,根据组播报文所属的组播组查找对应的组播转发表项,如果查找不到,则丢弃该组播报文。
[0039]当该组播报文通过RPF接口接收到时,则进行组播转发表项的查找;当通过RPF接口之外的接口接收到,则进行丢弃处理。
[0040]步骤203,该设备将该组播报文通过该指定接口进行上送处理,并通过该组播转发表项中的其他出接口转发该组播报文,结束本流程。[0041 ] 如果该组播转发表项中除了本发明实施例中的指定接口,还有其他出接口,则通过所述其他出接口转发该组播报文,如果不存在其他出接口,则不转发该组播报文。
[0042]步骤204,该设备将该组播报文通过该组播转发表项中的出接口转发。
[0043]上文描述了设备需要接收组播报文时的处理过程,下面详细描述该设备不需要接收所述组播报文时的具体处理过程:
[0044]当该设备不需要接收所述组播报文时,将所述指定接口退出所述组播报文所属的组播组,并将该组播组的组播转发表项的出接口中的该指定接口删除。
[0045]本发明具体实施例中给出一种将指定接口退出所述组播报文所属的组播组,以及组播转发表项的出接口的实现方式,但是本发明具体实现时并不局限于这种实现方式。
[0046]该设备发送将该指定接口退出所述组播报文所属的组播组的请求,以使组播接收者发现协议模块将该指定接口退出该组播组,并通知组播路由协议模块从该组播组的组播转发表项中删除该指定接口。
[0047]仍然以图1为例,详细描述本发明实施例中如何实现组播报文的上送和转发。图1中Rl为NTP组播服务器;R2、R3和R5为组播路由器;R4和R6为NTP组播客户端。以IPv4为例,图1中各设备使能PIM协议,在具体实现时可以只在有应用需要的设备上使能IGMP协议,即NTP组播客户端上使能IGMP协议。
[0048]本发明具体实施例中与现有实现上在使能IGMP协议时存在不同:
[0049]在现有实现时每个设备上都需使能IGMP协议,而本发明具体实施例中只在NTP组播客户端上运行IGMP协议,如R4和R6 ;
[0050]在现有实现时,在NTP组播客户端的上游设备的出接口上使能IGMP,如R6的上游设备R5的接口 EthO/Ι上使能IGMP协议,R4的上游设备R2的接口 EthO/Ι或R3的接口EthO/1上使能IGMP协议,而在本发明具体实施例中不需要在这些接口上使能IGMP协议,因此,不会通过这些接口发送查询报文,即使下游设备中存在不安全的设备,也不会加入该接口所加入的组播组,从而无安全隐患。
[0051]对于图1中的R2、R3和R5都没有应用需要接收NTP组播报文,即不需要进行时间同步。在本发明具体实施例中,通过P頂模块建立组播转发表项将Rl发送的组播流引到R4和R6上即可。
[0052]以R2为例,R2通过PM模块确定是否在本地建立组播转发表项。(通过PM协议实现时,可能通过R2将Rl发送的组播流引到R4,也可能通过R3将Rl发送的组播流引到R4 上)。
[0053]在具体实现时,R2通过RPF接口接收到NTP组播报文时,在本地查找该组播报文所属的组播组的组播转发表项,如果查找到的组播转发表项,则根据该组播转发表项中出接口转发该组播报文;若不存在出接口,则不转发该组播报文。如果查找不到该组播组的组播转发表项,则丢弃接收到的NTP组播报文。
[0054]对于R4和R6有应用需要接收NTP组播报文,在本地进行时间同步。
[0055]首先R4需要接收NTP组播报文时,发送将指定接口加入该应用所使用的组播组(如,224.0.1.1)的请求,以使IGMP模块将该指定接口加入所述组播组,并通知PM模块在建立组播转发表项时,将该指定接口添加到该组播组的组播转发表项的出接口中。
[0056]R4在通过RPF接口接收到NTP组播报文时,进行标准的组播转发。查找该组播报文所属的组播组的组播转发表项,并通过查找到的组播转发表项中的出接口转发。
[0057]R4通过RPF接口之外的接口接收到NTP组播报文时,不进行处理。
[0058]由R4在图1中的网络中的位置,可见出接口不仅包括本发明实施例中引入的指定接口,还包括普通的物理接口(EthO/3),因此,通过指定接口发送该NTP组播报文时,完成NTP组播报文的上送功能,处理该NTP组播报文,进行时间同步;通过接口 EthO/3发送NTP组播报文时,完成该NTP组播报文的转发功能。
[0059]对于R6,由于也有应用需要接收NTP组播报文,因此,将指定接口添加为该组播组的组播转发表项的出接口的过程,同R4的操作过程,这里不再一一描述。
[0060]R6在通过RPF接口接收到该NTP组播报文时,进行标准的组播转发。查找该组播报文所属的组播组的组播转发表项,并通过查找发到的组播转发表项中的出接口转发。
[0061 ] 由R6在图1中的网络中的位置,可见出接口中只包括本发明实施例中引入的指定接口,不存在普通的物理端口,因此,只将该NTP组播报文通过指定接口上送即可,完成NTP组播报文的上送功能。R6处理该NTP组播报文,进行时间同步。
[0062]如果R6上不需要接收NTP组播报文,即R6不需要进行时间同步时,发送将该指定接口退出该组播组的请求,以使IGMP模块将该指定接口退出所述组播组,并通知PIM模块在该组播组的组播转发表项中将该指定接口删除。
[0063]基于同样的发明构思,本申请还提出一种装置。参见图3,图3为本发明具体实施例中应用于上述技术的装置的结构示意图。该设备包括:处理单元301、接收单元302、查找单元303和发送单元304。
[0064]处理单元301,用于当本装置需要接收组播报文时,将指定接口加入该组播报文所属的组播组;并将所述指定接口添加到该组播组的组播转发表项的出接口中,其中,所述指定接口为用于上送本设备处理的逻辑接口;
[0065]接收单元302,用于接收组播报文;
[0066]查找单元303,用于当接收单元302通过逆向路径转发RPF接口接收到组播报文时,在处理单元301中查找该组播报文所属的组播组对应的组播转发表项,并确定查找到的组播转发表项的出接口中是否包含所述指定接口;
[0067]发送单元304,用于当查找单元303确定出接口中包含该指定接口时,将该组播报文通过该指定接口进行上送处理,并通过该组播转发表项中的其他出接口转发该组播报文;当查找单元303确定出接口中不包含该指定接口时,将该组播报文通过该组播转发表项中的出接口转发。
[0068]较佳地,
[0069]处理单元301包括:请求模块311、组播接收者发现协议模块321和组播路由协议模块331 ;
[0070]请求模块311,用于当本装置需要接收组播报文时,向组播接收者发现协议模块321发送将所述指定接口加入所述组播组的请求;
[0071]组播接收者发现协议模块321,用于当接收到请求模块311发送将所述指定接口加入所述组播组的请求时,将该指定接口加入所述组播组,并通知组播路由协议模块331 ;
[0072]组播路由协议模块331,用于接收到组播接收者发现协议模块321的通知时,将所述指定接口添加到该组播组的组播转发表项的出接口中。[0073]较佳地,
[0074]所述指定接口为本设备中已存在的用于上送本设备处理的逻辑接口,或新创建的用于上送本设备处理的逻辑接口。
[0075]较佳地,
[0076]处理单元301,进一步用于当该装置不需要接收所述组播报文时,将指定接口退出所述组播报文所属的组播组并将该组播组的组播转发表项的出接口中的该指定接口删除。
[0077]较佳地,
[0078]请求模块311,进一步用于当该装置不需要接收所述组播报文时,向组播接收者发现协议模块321发送将该指定接口退出所述组播报文所属的组播组的请求;
[0079]组播接收者发现协议模块321,进一步用于当接收到请求模块311发送的将该指定接口退出所述组播报文所属的组播组的请求时,将该指定接口退出该组播组,并通知组播路由协议模块331从该组播组的组播转发表项中删除该指定接口 ;
[0080]组播路由协议模块331,进一步用于当组播接收者发现协议模块321通知的从该组播组的组播转发表项中删除该指定接口时,从该组播组的组播转发表项中删除该指定接□。
[0081]上述实施例的单元可以集成于一体,也可以分离部署;可以合并为一个单元,也可以进一步拆分成多个子单兀。
[0082]综上所述,本发明通过该设备有需要接收组播报文的应用时,将用于上送本设备处理的逻辑接口添加到该组播组的组播转发表项的出接口中;当通过RPF接口接收到组播报文时,根据该组播报文所属的组播组对应的组播转发表项转发该组播报文,若出接口中包括逻辑接口,则将该组播报文通过该逻辑接口进行上送处理。通过该方法实现组播报文的上送和转发时,不需要复杂简单,无安全隐患,节省资源且提高了转发性能。
[0083]本发明具体实施例中不需要在物理接口上使能IGMP/MLD,不需要配置IGMP/MLD静态组和模拟主机,配置简单。
[0084]在物理接口上不需要额外使能IGMP/MLD,无安全隐患。
[0085]本发明具体实施例中使用普通组播转发流程上送组播报文,只需要处理RPF接口收到的报文,不需要下发额外的硬件和软件资源。
[0086]组播转发引擎不用每个报文都去比较上送规则,对于不需要上送的组播组,转发效率高。
[0087]以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种组播报文处理方法,其特征在于,所述方法包括: 当设备需要接收组播报文时,将指定接口加入该组播报文所属的组播组;并将所述指定接口添加到该组播组的组播转发表项的出接口中,其中,所述指定接口为用于上送本设备处理的逻辑接口; 当通过逆向路径转发RPF接口接收到组播报文时,查找该组播报文所属的组播组对应的组播转发表项,并确定查找到的组播转发表项的出接口中是否包含所述指定接口,如果是,将该组播报文通过所述指定接口进行上送处理,并通过该组播转发表项中的其他出接口转发该组播报文;否则,将该组播报文通过该组播转发表项中的出接口转发。
2.根据权利要求1所述的方法,其特征在于,所述指定接口为本设备中已存在的用于上送本设备处理的逻辑接口,或新创建的用于上送本设备处理的逻辑接口。
3.根据权利要求1或2所述的方法,其特征在于,所述将指定接口加入该组播报文所属的组播组;并将所述指定接口添加到该组播组的组播转发表项的出接口中,包括: 发送将所述指定接口加入所述组播组的请求,以使组播接收者发现协议模块将该指定接口加入所述组播组,并通知组播路由协议模块将所述指定接口添加到该组播组的组播转发表项的出接口中。
4.根据权利要求3所述的方法,其特征在于,所述方法进一步包括: 当该设备不需要接收所述组 播报文时,将指定接口退出所述组播报文所属的组播组并将该组播组的组播转发表项的出接口中的该指定接口删除。
5.根据权利要求4所述的方法,其特征在于,所述将指定接口退出所述组播报文所属的组播组并将该组播组的组播转发表项的出接口中的该指定接口删除,包括: 发送将该指定接口退出所述组播报文所属的组播组的请求,以使组播接收者发现协议模块将该指定接口退出该组播组,并通知组播路由协议模块从该组播组的组播转发表项中删除该指定接口。
6.一种装置,其特征在于,所述装置包括:处理单元、接收单元、查找单元和发送单元; 所述处理单元,用于当本装置需要接收组播报文时,将指定接口加入该组播报文所属的组播组;并将所述指定接口添加到该组播组的组播转发表项的出接口中,其中,所述指定接口为用于上送本设备处理的逻辑接口; 所述接收单元,用于接收组播报文; 所述查找单元,用于当所述接收单元通过逆向路径转发RPF接口接收到组播报文时,在所述处理单元中查找该组播报文所属的组播组对应的组播转发表项,并确定查找到的组播转发表项的出接口中是否包含所述指定接口; 所述发送单元,用于当所述查找单元确定出接口中包含该指定接口时,将该组播报文通过该指定接口进行上送处理,并通过该组播转发表项中的其他出接口转发该组播报文;当所述查找单元确定出接口中不包含该指定接口时,将该组播报文通过该组播转发表项中的出接口转发。
7.根据权利要求6所述的装置,其特征在于,所述指定接口为本设备中已存在的用于上送本设备处理的逻辑接口,或新创建的用于上送本设备处理的逻辑接口。
8.根据权利要求6或7所述的装置,其特征在于,所述处理单元包括:请求模块、组播接收者发现协议模块和组播路由协议模块;所述请求模块,用于当本装置需要接收组播报文时,向所述组播接收者发现协议模块发送将所述指定接口加入所述组播组的请求; 所述组播接收者发现协议模块,用于当接收到所述请求模块发送将所述指定接口加入所述组播组的请求时,将该指定接口加入所述组播组,并通知所述组播路由协议模块; 所述组播路由协议模块,用于接收到所述组播接收者发现协议模块的通知时,将所述指定接口添加到该组播组的组播转发表项的出接口中。
9.根据权利要求8所述的装置,其特征在于, 所述处理单元,进一步用于当该装置不需要接收所述组播报文时,将指定接口退出所述组播报文所属的组播组并将该组播组的组播转发表项的出接口中的该指定接口删除。
10.根据权利要求9所述的装置,其特征在于, 所述请求模块,进一步用于当该装置不需要接收所述组播报文时,向所述组播接收者发现协议模块发送将该指定接口退出所述组播报文所属的组播组的请求; 所述组播接收者发现协议模块,进一步用于当接收到所述请求模块发送的将该指定接口退出所述组播报文所属的组播组的请求时,将该指定接口退出该组播组,并通知所述组播路由协议模块从该组播组的组播转发表项中删除该指定接口 ; 所述组播路由协议模块,进一步用于当所述组播接收者发现协议模块通知的从该组播组的组播转发表项中删除该指定接口时,从该组播组的组播转发表项中删除该指定接口。
【文档编号】H04L12/761GK103905320SQ201410131484
【公开日】2014年7月2日 申请日期:2014年4月2日 优先权日:2014年4月2日
【发明者】孙青岩 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1