在单向隧道存在的情况下建立协议无关多播树的方法_2

文档序号:9221925阅读:来源:国知局
路由或信息。
[0023]在一些网络拓扑中,到多播源的可达性通过单播隧道如IGP转发捷径或BGP隧道,例如源节点14由第一 PE路由器16经由单播隧道20可达。对于这种路由,从隧道近端的路由器到源的下一跳将为隧道远端的隧道端点,例如第二 PE路由器18将为来自使用隧道20的第一 PE路由器16的下一跳。然而,由于隧道承载的通信是单向的,PIM与下一跳18的邻接不能在隧道上建立。因此,试图使用隧道设立PM树将失败。例如,第一 PE路由器16试图使用隧道20设立PM树将失败,因为第一 PE路由器16不与第二 PE路由器18邻接。
[0024]本发明的实施例提供了一种经由单播隧道构建到可到达的源的PM树的机制。该机制依赖递归下一跳查找以在向着多播源节点的方向上到达下一跳网络节点。对于下一跳网络节点不具有到所期望的多播源节点的可达性的情况,其将导致下一跳网络节点不能够向多播源节点传播PM加入消息,一种使用RPF向量TLV以帮助构建PIM树的附加机制被描述。
[0025]参照图1,在第一和第二 PE路由器16、18和第三路由器22PM被激活。第一和第二 PE路由器16、18分别地各自与第三路由器22的PM邻接。然而,第一和第二 PE路由器16、18彼此之间不具有PM邻接。在主机节点12,到达源节点14的下一跳是第一 PE路由器16。在第一 PE路由器16,到达源节点14的下一跳是使用由单播隧道20提供的路由的第二 PE路由器18。
[0026]为了构建多播分发树,PM加入消息被路由器在树到多播组的源的路径上逐跳转发。路由器在每一跳创建转发状态,并将所述加入信息向源传播。例如参照图1,主机节点12将发送一个(S,G)加入消息24到第一 PE路由器16。第一 PE路由器16将(S,G)加入消息24转发到下一跳路由器,其为第二 PE路由器18。然而,在这种情况下,由于第一 PE路由器16不与下一跳路由器(即第二 PE路由器18)邻接;所述下一跳路由器不会将加入消息24向源节点14传播。
[0027]上述问题的现有解决方案是让如OSPF和ISIS的IGP协议彻底解析IGP转发捷径路由并提供直接的下一跳。然而,这种解决方案存在至少两个问题:其增加了对关键资源的开销,例如那些用于由IGP路由协议所做的最短路径优先(SPF)计算,并且如果网络核心不具有到多播树源的路由,则它不会工作。
[0028]本发明实施例使得PM在下一跳上递归,并确定其他与其有邻接的直接下一跳。也就是说,试图转发(S,G)加入消息的路由器将在下一跳路由器的IP地址上执行递归下一跳解析以寻找与其邻接的另一路由器,并且该另一路由器在到下一跳路由器的路径中。因此,参照图1,第一 PE路由器16将确定,为到达源节点14,它需要在作为第二 PE路由器18的下一跳上递归。该递归将产生第三路由器22作为与第一 PE路由器16有邻接的最终的下一跳。因此,第一 PE路由器16能将(S,G)加入消息24传播到第三路由器22并期待第三路由器22将加入消息24进一步向源节点14进行上流传播。
[0029]如果第三路由器22不具有到源节点14的可达性,另一个问题可显现。在这种情况下,第三路由器22将仅丢弃(S,G)加入消息24而不将其播向源节点14转发。为解决该问题,在此提供了另一种机制。具体而言,由于第一 PE路由器16关于第二 PE路由器18执行了递归下一跳解析,第一 PE路由器16可以发起PM(S,G)加入消息26,其包括用第二 PE路由器18的地址编码的RPF向量属性。RPF向量属性因此将向第三路由器22提供关于加入消息26应向哪里传播的指示。所述RPF向量属性将优选地符合RFC5496和RFC5384的规则。
[0030]作为示例,假设主机节点12向第一 PE路由器16发送(S,G)加入消息24。接收到所述加入后,第一 PE路由器16查找路由表以寻找向着源节点14的路由。由路由表提供的路由是通过单播隧道20的具有第二 PE路由器18的下一跳的隧道路由。PM不能标记所述下一跳有效,因为其不与路由器第二 PE路由器18邻接。需要注意的是隧道20是单向隧道。为了邻接的设立,双向隧道是必要的。鉴于路由被隧道化,第一 PE路由器16上的PM将对下一跳递归以寻找到下一跳(第二 PE路由18)的路由。到第二 PE路由18的新路由将具有第三路由器22的下一跳。它将被直接连接下一跳并且PIM将发现与直接的下一跳(第三路由器22)的邻接。第一 PE路由器16然后将发起加入消息26到第三路由器22。如果所述拓扑是这种不包含到源节点14的路由的核心网络(在这种情况下,三个路由器16、18和22),则第一 PE路由器16将发起(S,G)加入消息26以用于具有编码于其中的RPF向量的源⑶和组(G)。所述RPF向量将具有第二 PE路由器18的IP地址编码于其中。所述RPF向量将向第三路由器22提供指示,其必须向第二 PE路由器18发送加入消息以到达源节点14。PIM加入消息26将逐跳前往源节点14并且多播业务将启动从源节点14到主机节点12的流。
[0031]总之,如果从当前路由器到达PIM树的源S的路由通过单播隧道,使得下一跳只有通过隧道可达,则PM将递归下一跳地址并获得到不使用隧道到达下一跳的路由。用于路由的新的下一跳将由当前路由器确定并且该新的下一跳是当前路由器上的PIM与其具有相邻关系的直接跳。当前路由器然后将发起PIM加入消息以用于源S并将其发送到新的下一跳。此外,如果新的下一跳是核心路由器,并且网络拓扑是这种核心路由器不具有到源S的路由的情况,编码具有下一跳地址的RPF向量属性可被包含在PM加入消息中。所述RPF向量属性将向核心路由器提供关于加入消息应被传播到哪里的指示或暗示。所述PIM加入消息将逐跳传往源S,其一旦接收到该加入消息将使得多播业务开始从源节点S流向接收器R。
[0032]图2示出了根据本发明的第二实施例建立PM树的方法200。方法200将在分组交换网络中的一个或多个路由器上被执行,如图1所示的路由器16、18、22。根据方法200,开始202后,下一个步骤是接收204(S,G)加入消息,如图1所示的消息24、26中的任一个。执行方法200的路由器然后通过查找206至接收到的(S,G)加入消息所指示的源S的路由来继续。路由器将通常使用源S的IP地址来在所述路由器的路由表中查找至源S的路由。方法200的下一步骤是随后确定208通过查找发现的路由是否通过单播隧道,或使得所述路由器不与沿所述路由的下一跳邻接的任何其他路由。如果路由器确定路由不通过单播隧道,并且沿着路由路由器与下一跳邻接,那么方法200的下一步骤是转发214(S,G)加入消息到沿所述路由的下一跳,之后路由器执行的方法200结束216。
[0033]然而,如果路由器确定208路由是通过单播隧道或者沿其路由器不与下一跳邻接的路由,那么方法200的下一个步骤视具体情况而定为递归210隧道端点或下一跳。递归210隧道端点(或下一跳)意味着执行所述隧道端点(或下一跳)的IP地址的递归下一跳解析以查找通过隧道端点的不使用隧道至源S的间接替代路由。应当指出,替代路由可能穿越隧道穿越的相同的路由器或网络节点的某些或全部。然而,在替代路由上的数据分组一一包括承载加入消息的那些数据分组一一的路由将不会与经由隧道被路由的数据分组所应当经由的路线相同。
[0034]如果路由器确定212这样的替代路由已经被发现,方法200的下一步骤是确定215是否基于节点配置和/或响应于执行递归下一跳解析的行为来发送RPF向量。在网络核心不具
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1