内部和网络路由

网络工程 路由
2021-07-08 22:44:54

为什么不能使用距离矢量和链路状态路由作为互联网络路由算法?那除了距离矢量路由收敛时间长之外,还有什么原因不能作为外部路由算法使用吗?

2个回答

有人曾经写过这个作为对类似问题的回答

其他协议(如 EIGRP 或 OSPF)假定到达某处的最佳方式是最快的链路——即具有最高带宽的链路。因此,它们具有用于选择路由的简单度量。

在许多情况下,尤其是在不同组织(自治系统)之间,选择特定路径的原因可能与带宽无关。这可能是由于预先安排了谁将承载什么流量的协议,或者基于某些财务协议。您可能希望将一些流量路由到一个邻居,但将不同的流量路由到另一个邻居。

BGP 的主要优势在于,它让您可以更好地控制自己通告的路由以及从邻居那里接受的通告。BGP 使您可以更好地控制路由选择和邻居的路由选择。

有人说,记录在 RFC 1925 中:

(3)推力足够,猪飞得很好。

有了足够的 CPU 能力,您可以在 Internet 中运行链接状态,并且您可能会做得很好。但这既不优雅也不可扩展。

BGP 的发明是为了提供规模——通过限制网络协议需要处理的不必要事物的数量并专注于事物的数量,这些事物在网络规模上很重要(如 AS_PATH,它在互联网规模上显示了 AS 互连的方式)。

例如,链接状态协议专注于链接,而不是前缀或 AS_PATH。为什么要保留 Internet 中所有链接的链接状态信息?你能做到吗?是的,大概。它会在 20 年前可用的处理器上运行吗?不。从工程的角度来看,今天这样做真的明智吗?同样,可能不是 - 至少不是在每个节点上。

在SDN控制器时代,将有越来越多的马力可以提供跨越甚至整个互联网的大规模计算。然而,这并不意味着这应该在每个节点的基础上执行。