跳到主要内容

3.6. Multi-Access Transit LANs (多路访问传输局域网)

到目前为止的概述关注点对点传输链路。然而, 使用以太网等多路访问 LAN 进行传输并不罕见。这可能会因为三个原因导致复杂性:

  • LAN 上的两个或多个路由器可能向 LAN 上的不同上游路由器发出 (*,G) Join, 因为它们对如何到达 RP 有不一致的 MRIB 条目。RP 树上的两条路径都将被建立, 导致共享树流量的两个副本出现在 LAN 上。

  • LAN 上的两个或多个路由器可能向 LAN 上的不同上游路由器发出 (S,G) Join, 因为它们对如何到达源 S 有不一致的 MRIB 条目。源特定树上的两条路径都将被建立, 导致来自 S 的流量的两个副本出现在 LAN 上。

  • LAN 上的一个路由器可能向 LAN 上的一个上游路由器发出 (,G) Join, 而 LAN 上的另一个路由器可能向同一 LAN 上的不同上游路由器发出 (S,G) Join。来自 S 的流量可能通过 RPT 和 SPT 两者到达 LAN。如果 (,G) 下游路由器后面的接收者没有发出 (S,G,rpt) prune, 那么这种情况将持续存在。

所有这些问题都是由同一组或源-组对存在多个上游路由器具有 join 状态引起的。PIM 不会阻止此类重复 join 的发生; 相反, 当重复的数据包从不同的路由器出现在 LAN 上时, 这些路由器会注意到这一点, 然后选举出一个转发者。这种选举是使用 PIM Assert 消息执行的, 该消息解决了有利于具有 (S,G) 状态的上游路由器的问题; 或者, 如果两个路由器都没有 (S,G) 状态或两者都有, 则该问题会解决为有利于对于 RP 树具有到 RP 的最佳度量的路由器, 或者对于源特定树具有到源的最佳度量的路由器。

这些 Assert 消息也被 LAN 上的下游路由器接收, 这些消息导致后续的 Join 消息被发送到赢得 Assert 的上游路由器。