一种组播转发表项生成方法及装置制造方法及图纸

技术编号:24805408 阅读:36 留言:0更新日期:2020-07-07 22:08
本申请实施例公开了一种组播转发表项生成方法及装置,有助于提高被保护节点的备份下一跳节点的组播转发表项的生成效率。所述组播转发表项生成方法包括:第一节点接收来自非直连邻居的第二节点的加入消息,所述加入消息包括第一组播源地址和第一组播组地址;所述第一节点生成第一组播转发表项,所述第一组播转发表项包括所述第一组播源地址、所述第一组播组地址以及出接口,所述出接口为第一隧道的隧道接口,所述第一隧道为所述第一节点与所述第二节点间用于转发组播报文的隧道。

【技术实现步骤摘要】
一种组播转发表项生成方法及装置
本申请涉及网络通信领域,尤其涉及一种组播转发表项生成方法及装置。
技术介绍
组播是一种点到多点的信息传输方式,即一个组播源(source)可以同时将数据发送给多个接收端(receiver),多个接收端构成一个特定的节点集合,称为组或者群组。由于组播技术具有网络利用率高、减少骨干网络拥塞、节省资源、可扩展性强等优点,在视频会议、文件分发、实时信息发布、网络电视等新型网络应用中发挥了很大的作用。目前,通常采用组播快速重路由(multicast-onlyfastreroute,MoFRR)技术减少组播报文的丢失。即,组播源可以通过两条或两条以上的链路向同一个接收端发送相同的组播报文,其中一条链路为主链路,其他链路为备链路。主链路和备链路具有相同的被保护节点,所谓被保护节点是指主链路和备链路汇聚的终节点,来自组播源的相同的组播报文经过主链路和备链路到达被保护节点。在主链路没有发生故障时,被保护节点向接收端转发来自主链路的组播报文,丢弃来自备链路的组播报文;而当主链路发生故障时,被保护节点向接收端转发来自备链路的组播报文。而传统技术在建立备链路时,首先根据无环路替代(loopfreealternative,LFA)算法,从被保护节点的邻居节点中选出一个满足内部网关协议(interiorgatewayprotocols,IGP)链路开销(cost)条件的节点,作为该被保护节点的备份下一跳节点,然后根据备份下一跳节点建立备链路。如果被保护节点的邻居节点中没有满足IGPcost条件的节点作为备份下一跳节点,就无法自动建立备链路。此时需要人工选择合适的备链路,并手动在该备链路包括的所有节点上配置用于转发组播报文的组播转发表项,当备链路上的节点较多时,就需要花费较多的时间来配置组播转发表项,效率较低。
技术实现思路
本申请实施例提供了一种组播转发表项生成方法及装置,有助于提高被保护节点的备份下一跳节点的组播转发表项的生成效率。第一方面,本申请实施例提供了一种组播转发表项生成方法,该方法可以应用于第一节点,第一节点可以是路由器、交换机或软件定义网络(softwaredefinednetwork,SDN)控制器等设备。第一节点可以支持协议无关组播(protocolindependentmulticast,PIM)协议。组播转发表项生成方法包括:首先,第一节点接收来自非直连邻居的第二节点的加入(join)消息,加入消息包括第一组播源地址和第一组播组地址。其次,第一节点根据加入消息建立第一隧道(tunnel),第一隧道为第一节点与第二节点间用于转发组播报文的隧道。第一隧道为点到点(peertopeer,P2P)隧道,例如为多协议标签交换(multi-protocollabelswitching,MPLS)流量工程(trafficengineering,TE)隧道,或通用路由封装协议(genericroutingencapsulation,GRE)IP隧道等。最后,第一节点生成第一组播转发表项,第一组播转发表项包括第一组播源地址、第一组播组地址以及出接口,出接口为第一隧道的隧道接口。在本申请实施例中,第一节点通过接收来自第二节点的加入消息,根据加入消息建立通往第二节点的第一隧道,然后根据第一隧道的隧道接口以及加入消息中的第一组播源地址和第一组播组地址自动的生成第一组播转发表项。相对于传统技术需要在备用下一跳节点中手动配置组播转发表项的方式,本申请实施例能够有效提高备用下一跳节点的组播转发表项的生成效率。可选的,方法还包括:第一节点接收来自第二节点的第一消息,第一消息可以是第一hello消息。第一消息用于向第一节点通告第二节点为第一节点的非直连邻居节点。第一节点接收来自第二节点的第一消息可以先于接收来自第二节点的加入消息执行。通过第一消息来告知第二节点为第一节点的非直连邻居节点,减少人工参与,给用户提供了便利,且提高了组播表项的生成效率。可选的,第一消息中可以包括第一标识,该第一标识用于指示第一节点向第二节点发送第二消息,第二消息可以是第二hello消息,第二消息用于向第二节点通告第一节点为第二节点的非直连邻居节点。第一标识例如可以存储在第一hello消息的消息头中的保留(reserved)字段中。在第一节点接收到来自第二节点的第一消息之后,可以根据第一标识向第二节点发送第二消息。也就是说,本申请实施例可以使得第一节点和第二节点自动的互相知晓对方是自己的非直连邻居节点,从而第二节点可以基于此向第一节点发送加入消息,有助于减少人工参与,提高用户体验,且提高了组播表项的生成效率。在本申请实施例中,不同类型的第一隧道,第一节点对组播报文处理方式也不同。若第一隧道为MPLSTE隧道,第一组播转发表项中还包括MPLS标签,MPLS标签与第一隧道对应。上述方法还包括:第一节点获取组播报文,组播报文包括第二组播源地址和第二组播组地址,第二组播源地址与第一组播源地址相同,第二组播组地址与第一组播组地址相同;第一节点根据第二组播源地址、第二组播组地址和第一组播转发表项,获取出接口和MPLS标签;第一节点用MPLS标签封装组播报文,获得封装有MPLS标签的组播报文;第一节点通过出接口向第二节点发送封装有MPLS标签的组播报文。即若第一隧道为MPLSTE隧道,则需要在组播报文中封装MPLS标签之后才能在第一隧道中发送。若第一隧道为GREIP隧道,则方法还包括:第一节点获取组播报文,组播报文包括第二组播源地址和第二组播组地址,第二组播源地址与第一组播源地址相同,第二组播组地址与第一组播组地址相同;第一节点为组播报文封装GRE头,并在GRE头之外封装IP头,获得封装有GRE头和IP头的组播报文,IP头包括第一隧道的源节点的地址和第一隧道的目的节点的地址,第一隧道的源节点的地址为第一节点的IP地址,第一隧道的目的节点的地址为第二节点的IP地址;第一节点通过出接口向第二节点发送封装有GRE头和IP头的组播报文。也就是说,第一隧道为GREIP隧道,则需要在组播报文封装GRE头和IP头之后才能在第一隧道转发。第二方面,本申请实施例还提供了一种组播转发表项生成方法,该方法可以应用于第二节点,第二节点可以是路由器、交换机或软件定义网络(softwaredefinednetwork,SDN)控制器等设备。第二节点可以支持协议无关组播(protocolindependentmulticast,PIM)协议。方法包括:第二节点接收第一节点发送的第一消息,第一消息用于通告第二节点第一节点为第二节点的非直连邻居节点;第二节点基于第一消息向第一节点发送加入消息,加入消息中包括第一组播源地址和第一组播组地址,第一组播源地址和第一组播组地址用于生成第一组播转发表项。所述第一组播转发表项为所述第一节点生成的用于转发组播报文的表项。可选的,在第二节点接收第一节点发送的第一消息之前,方法还包括:第二节点向第一节点发送第二消息,第二消息包括第一标识,第一标识用于指示第一节点向第二节点发送第一消息。通过第二消息来本文档来自技高网
...

【技术保护点】
1.一种组播转发表项生成方法,其特征在于,所述方法包括:/n第一节点接收来自非直连邻居的第二节点的加入消息,所述加入消息包括第一组播源地址和第一组播组地址;/n所述第一节点生成第一组播转发表项,所述第一组播转发表项包括所述第一组播源地址、所述第一组播组地址以及出接口,所述出接口为第一隧道的隧道接口,所述第一隧道为所述第一节点与所述第二节点间用于转发组播报文的隧道。/n

【技术特征摘要】
1.一种组播转发表项生成方法,其特征在于,所述方法包括:
第一节点接收来自非直连邻居的第二节点的加入消息,所述加入消息包括第一组播源地址和第一组播组地址;
所述第一节点生成第一组播转发表项,所述第一组播转发表项包括所述第一组播源地址、所述第一组播组地址以及出接口,所述出接口为第一隧道的隧道接口,所述第一隧道为所述第一节点与所述第二节点间用于转发组播报文的隧道。


2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述第一节点接收来自所述第二节点的第一消息,所述第一消息用于向所述第一节点通告所述第二节点为所述第一节点的非直连邻居节点。


3.根据权利要求1或2所述的方法,其特征在于,所述第一隧道为多协议标签交换流量工程MPLSTE隧道,所述第一组播转发表项中还包括MPLS标签,所述MPLS标签与所述第一隧道对应,所述方法还包括:
所述第一节点获取所述组播报文,所述组播报文包括第二组播源地址和第二组播组地址,所述第二组播源地址与所述第一组播源地址相同,所述第二组播组地址与所述第一组播组地址相同;
所述第一节点根据所述第二组播源地址、所述第二组播组地址和所述第一组播转发表项,获取所述出接口和所述MPLS标签;
所述第一节点用所述MPLS标签封装所述组播报文,获得封装有所述MPLS标签的组播报文;
所述第一节点通过所述出接口向所述第二节点发送所述封装有所述MPLS标签的组播报文。


4.根据权利要求1或2所述的方法,其特征在于,所述第一隧道为通用路由封装协议GREIP隧道,则所述方法还包括:
所述第一节点获取所述组播报文,所述组播报文包括第二组播源地址和第二组播组地址,所述第二组播源地址与所述第一组播源地址相同,所述第二组播组地址与所述第一组播组地址相同;
所述第一节点为所述组播报文封装GRE头,并在所述GRE头之外封装IP头,获得封装有所述GRE头和所述IP头的组播报文,所述IP头包括所述第一隧道的源节点的地址和所述第一隧道的目的节点的地址,所述第一隧道的源节点的地址为所述第一节点的IP地址,所述第一隧道的目的节点的地址为所述第二节点的IP地址;
所述第一节点通过所述出接口向所述第二节点发送所述封装有所述GRE头和所述IP头的组播报文。


5.一种组播转发表项生成方法,其特征在于,所述方法包括:
第二节点接收所述第一节点发送的第一消息,所述第一消息用于通告所述第二节点所述第一节点为所述第二节点的非直连邻居节点;
所述第二节点基于所述第一消息向所述第一节点发送加入消息,所述加入消息中包括第一组播源地址和第一组播组地址,所述第一组播源地址和第一组播组地址用于生成第一组播转发表项。


6.根据权利要求5所述的方法,其特征在于,在第二节点接收所述第一节点发送的第一消息之前,所述方法还包括:
所述第二节点向所述第一节点发送第二消息,所述第二消息包括第一标识,所述第一标识用于指示所述第一节点向所述第二节点发送所述第一消息。


7.根据权利要求5或6所述的方法,其特征在于,所述方法还包括:
所述第二节点接收所述第一节点通过第一隧道发送的组播报文,所述第一隧道为所述第一节点与所述第二节点间用于转发组播报文的隧道。


8.根据权利要求7所述的方法,其特征在于,所述加入消息还包括与所述第一隧道对应的第一信息,所述方法还包括:
若所述组播报文包括所述第一信息,则所述第二节点确认所述组播报文通过反向路径转发RPF检查。


9.根据权利要求7所述的方法,其特征在于,若所述第一隧道为MPLSTE隧道,则在所述第二节点接收所述第一节点通过第一隧道发送的组播报文之前,所述方法还包括:
所述第二节点接收来自所述第一节点的隧道建立请求,根据所述隧道建立请求生成与所述第一隧道对应的第二信息和多协议标签交换MPLS标签,所述MPLS标签用于建立所述MPLSTE隧道;
所述第二节点建立所述第二信息与所述MPLS标签之间的映射关系,并向所述第一节点发送所述MPLS标签。


10.根据权利要求9所述的方法,其特征在于,在所述第二节点接收所述第一节点通过第一隧道发送的组播报文之前,所述方法还包括:
所述第二节点接收来自所述第一节点的第三消息,所述第三消息中包括与所述第一隧道对应的第二信息,所述第三消息用于指示所述与所述第二信息对应的MPLS标签用于转发组播报文;
在所述第二节点接收所述第一节点通过第一隧道发送的组播报文之后,所述方法还包括:
若所述组播报文中包括所述用于转发组播报文的所述MPLS标签,则所述第二节点确认所述组播报文通过RPF检查。


11.根据权利要求7所述的方法,其特征在于,若所述第一隧道为GREIP隧道,则在所述第二节点接收所述第一节点通过第一隧道发送的组播报文之前,所述方法还包括:
所述第二节点接收来自于所述第一节点的第四消息,所述第四消息中包括与所述第一隧道对应的第三信息;
在所述第二节点接收所述第一节点通过第一隧道发送的组播报文之后,所述方法还包...

【专利技术属性】
技术研发人员:王大为刘京卿
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1