如果互联网上的所有路由表都被同时删除,路由器能够自动重新发现它们吗?
我和一位同事说,RIPE路由表是必不可less的,但是我记得如果这些表消失了,BGP协议将允许路由器通过查询它们的邻居来重新发现节点之间的工作路由,他们的邻居,直到工作路线将被发现。 然后,将使用该路由重新填充路由表。 过了一段时间,所有的路线将被恢复(不一定是最佳路线)。
那是对的吗?
实际上没有一个互联网路由表,这一切都取决于你在哪里,你的连接是什么样的。 路由聚合,path可以不同
为了这个讨论,如果所有互联网路由器都丢失了他们的路由表,那么这个表就不需要大量的时间来重build,因为路由表中的networking仍然存在广告。 大多数情况下,这是路由器的CPU来处理疯狂的数量的表更新会。
没有“RIPE路由表”,RIPE / ARIN等维护whoislogging的事情。 这些不是路由条目,而是所有权logging,尽pipe一些ISP(例如Level3)使用这些logging来构build用于停止随机公告的前缀filter。
在这个过程的最后,所有的路线将被恢复到他们(理论上)的最佳路线(最近的路线是一个非常松散的短语,networking中立性,运输成本等)。
BGP路由器可以自动重build他们的表,因为没有中央控制。 每个路由器都会向其邻居通告自己可达的IP前缀,并从其邻居那里接受类似的广告。
假设A,B,C是3个BGP路由器。 最初A的表是(B,C),B的表是(A,C),C的表是(A,B)。 现在我们删除他们的路由表。
A()— B()— C()
A将向B发送其IP前缀。 B将发送到C自己和A的IP前缀(因为它有他们在它的路由表)所以现在C有一个完整的路由表
A()—> B(A)—> C(A,B)
C将发送给B的IP前缀。 B将发送给它自己和C的IP前缀,所以现在A又有一个完整的路由表
A(B,C)<— B(A,C)<— C(A,B)
从上面的过程B重build一个完整的表格。
所有的互联网路由器的规模相同,最终可以在没有任何中央协调的情况下随时重build他们的表格。 如果您需要更多的细节,您可以search“path向量协议”,其优点是无需中央协调即可运行,并可扩展到大量节点(如路由器)。
RIPE所做的是将IP前缀分配给自治系统。 之后,它在Internet路由中没有任何活跃的作用。
即使他们能够,他们也不会。 互联网不是一个技术问题,这是一个企业。 如果有人不支付你从A点到B点的包,你不这样做。 没有正确的configuration,路由器就会知道接受哪些路由。
如果你连接到英国的Level3,并且连接到日本的AT&T,那么TW Telecom从英国的Level3到日本的AT&T都有很好的路线,因为没有人支付TW电信承载stream量。
路由器必须被configuration为知道接受哪些路由。