我不明白 ISP 如何能够将公共 IP 分配给新加入其网络的路由器,而无需将 DHCP 或 ARP 消息放大百万倍。
据我所知,对于 L3 路由器来说,要加入网络,加入实体必须讲话与 DHCP 服务器通信以获取 IP 地址。DHCP 发现消息以 MAC FF:FF:FF:FF:FF:FF 进行广播,并且到整个子网。因此,如果路由器新连接到具有数千个(如果不是大约 100000 个)其他路由器的 WAN,我可以想象结果将是 DHCP 发现消息不断回荡和放大,直到其 TTL 过期 - 这肯定会导致 a) 无法达到目标或 b) 导致数百万(甚至数十亿)其他消息。
并且,面对相同的方向,我可以将相同的论点应用于 ARP。ARP 消息也会在网络上广播,就像 DHCP 发现一样,因此会出现相同的问题。
我可能可以将相同的论点应用于网络层用来使用距离矢量算法协调其路由器的消息,除非路由器以某种方式以树或图形的方式组织,但我离题了。
我哪里做错了?
答案1
你做出的很多假设根本不是事实。
拓扑结构各不相同,但 ISP 的网络不是一个平面的广播域,因此广播不是放大一百万倍。路由器会阻止广播,因此它们仅限于一个子网。
ISP 可以进一步过滤广播,并采取许多其他“技巧”来将 DHCP 和 ARP 消息限制到小组设备上。
还有一件事:距离矢量路由算法(如 RIP)基本上已经过时了。ISP 通常在内部使用 OSPF 或 IS-IS,并使用 BGP 与其客户和同行建立连接。
答案2
据我所知,对于 L3 路由器来说,要加入网络,加入实体必须与 DHCP 服务器通信以获取 IP 地址。DHCP 发现消息以 MAC FF:FF:FF:FF:FF:FF 的形式广播,并广播到整个子网。
这些消息在单个第 2 层域中广播。广播不会跨越第 2 层边界。
此外,DHCP 并不是路由器的常见情况。很多时候,路由器需要预先配置 IP 地址,而自动地址分配根本不会发生。我认为在 ISP WAN 中确实存在这种情况,而不是 DHCP 部分。
如果您谈论的是连接到 ISP 网络的家用路由器,那么 DHCP 会在链路的另一端进行处理,并且不会进一步广播。
因此,如果路由器新连接到具有数千个 WAN,
具有如此多路由器的 WAN 不是单个第 2 层域。路由器也是第 3 层设备。广播不能越过第 2 层边界,也就是说它会在下一个路由器处停止。
我认为这个路由器应该知道将 DHCP 消息路由到哪里,或者能够自己回答这些消息。然而我不知道。
并且,面对相同的方向,我可以将相同的论点应用于 ARP。ARP 消息也会在网络上广播,就像 DHCP 发现一样,因此会出现相同的问题。
ARP 也在同一个第 2 层域中广播。ARP 实际上在跨第 2 层边界时没有意义,因为第 2 层通信仅用于连接到同一个第 2 层域的两个邻居设备之间。
如何扩展第 2 层也是一个有效的问题,但这是一个单独的问题。对于您的场景,可以安全地假设单个第 2 层域中的设备数量很少。
我可能可以将相同的论点应用于网络层用来使用距离矢量算法协调其路由器的消息,除非路由器以某种方式以树或图形的方式组织,但我离题了。
确实如此。路由协议具有用于保持网络层消息数量足够少的机制。这些机制有其局限性,这使得路由协议在某些情况下不适用。由于功能和机制不同,因此需要分别讨论每个协议。
从冗余角度来看,将路由器组织成树状结构非常糟糕。如果某条链路发生故障,拓扑中就没有地方可以重新路由。(此处的“树”是指实际的物理拓扑。(R)STP 将拓扑简化为树状结构,但如果链路发生故障,则可以计算出新的树状结构。)
每个网络都可以建模为一个图,因为图可以有任意数量的节点和任意数量的链接,并且可以任意连接。