1.一种协议无关组播PIM的选举方法,其特征在于,应用于PIM路由器,所述方法包括:
在接收到来自PIM邻居的PIM Hello报文后,判断所述PIM路由器是否存在所述PIM邻居数量大于等于2的出接口;其中,所述出接口为所述PIM路由器中组播转发表中的出接口,且所述出接口用于沿着远离组播源的下游方向转发组播报文;
若存在,则通过所述出接口发送断言Assert报文。
2.根据权利要求1所述的方法,其特征在于,所述判断所述PIM路由器是否存在PIM邻居数量大于等于2的出接口的步骤,包括:
通过查询已建立的PIM邻居表,确定所述PIM邻居表中PIM邻居数量大于等于2的接口;
依据所述PIM邻居数量大于等于2的接口,查询所述组播转发表;
在所述组播转发表中存在与所述PIM邻居数量大于等于2的接口相匹配的出接口时,判定所述PIM路由器存在PIM邻居数量大于等于2的出接口。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
接收来自PIM邻居的PIM Hello报文,所述PIM Hello报文中携带有所述PIM邻居的地址信息;
在所述PIM邻居表中查询是否存在与所述地址信息相匹配的邻居表项,若不存在,则建立所述PIM邻居的地址信息与接收所述PIM Hello报文的接口之间的映射关系;
将所述映射关系作为邻居表项加入所述PIM邻居表中。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在通过所述出接口发送Assert报文之后,更新所述出接口对应的Assert状态。
5.根据权利要求4所述的方法,其特征在于,所述更新所述出接口对应的Assert状态的步骤,包括:
将所述出接口的Assert状态更新为获胜状态;
所述方法还包括:
在所述出接口接收到更优的Assert报文时,将所述出接口的获胜状态更新为失败状态。
6.一种协议无关组播PIM的选举装置,其特征在于,应用于PIM路由器,所述装置包括:
判断模块,用于在接收到来自PIM邻居的PIM Hello报文后,判断所述PIM路由器是否存在所述PIM邻居数量大于等于2的出接口;其中,所述出接口为所述PIM路由器中组播转发表中的出接口,且所述出接口用于沿着远离组播源的下游方向转发组播报文;
发送模块,用于在所述判断模块判断出所述PIM路由器存在PIM邻居数量大于等于2的出接口时,通过所述出接口发送Assert报文。
7.根据权利要求6所述的装置,其特征在于,所述判断模块,包括:
第一查询子模块,用于通过查询已建立的PIM邻居表,确定所述PIM邻居表中PIM邻居数量大于等于2的接口;
第二查询子模块,用于依据所述PIM邻居数量大于等于2的接口,查询所述组播转发表;
判断子模块,用于在所述组播转发表中存在与所述PIM邻居数量大于等于2的接口相匹配的出接口时,判定所述PIM路由器存在PIM邻居数量大于等于2的出接口。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
接收模块,用于接收来自PIM邻居的PIM Hello报文,所述PIM Hello报文中携带有所述PIM邻居的地址信息;
建立模块,用于在所述PIM邻居表中查询是否存在与所述地址信息相匹配的邻居表项,若不存在,则建立所述PIM邻居的地址信息与接收所述PIM Hello报文的接口之间的映射关系;
加入模块,用于将所述映射关系作为邻居表项加入所述PIM邻居表中。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第一更新模块,用于在通过所述出接口发送Assert报文之后,更新所述出接口对应的Assert状态。
10.根据权利要求9所述的装置,其特征在于,所述第一更新模块还用于将所述出接口的Assert状态更新为获胜状态;
所述装置还包括:
第二更新模块,用于在所述出接口接收到更优的Assert报文时,将所述出接口的获胜状态更新为失败状态。