BGP到OSP​​F,反之亦然 – 为路由添加“权重”?

这可能更多是一个devise问题。 我有两个中转服务提供商,我通过BGP接收完整的互联网路由表,并且还参与了一个IX,我从那个IX(也通过BGP)接收同行的路由。 然后我通过OSPF将这些路由重新分配给我的networking的其余部分。 然后我有一个核心路由器,我连接了一个terminal设备。

下面是一个解释这一切的图表:

所有Edge设备和Core路由器都运行Vyatta 6.5。 我的terminal设备只是一个Linux盒子,我可以从中执行traceroutes(查看我的stream量正在进行什么)。

正如你所看到的,我有不同的链接速度给我的提供者。 理想情况下,我宁愿几乎所有的stream量通过ISP B,我有一个1Gbps的连接,只有ISP A的过境坐在那里等待ISP。 同样,如果通过连接到IX的networking可用,我想优先selectnetworking。

目前,我的所有stream量都是通过ISP A进行的。

用Vyatta,我怎么去增加一个“权重”或某种偏好值来说:

  1. 如果networking通过边缘3可用,去那里
  2. 否则,如果networking通过边缘2可用,去那里
  3. 否则,通过边缘1

我希望我的问题很清楚。 如果不是或者你想从这些路由器的任何输出,请让我知道。 感谢你的协助 :)

(假设Vyatta支持BGP …)为什么不在Edge1,Edge2,Edge3和Core路由器之间使用iBGP,而不是将BGP重新分配给OSFP? 重新分配完整的bgp路由到OSPF是非常令人沮丧的,因为OSPF不是为了处理这么多的路由而devise的。

如果您使用iBGP从ISP分配路由,则使用local-preference来控制您的路由。

  1. 从边缘3接收的路由设置本地优先级为120。
  2. 将从边缘2接收的路由的本地优先级设置为110。
  3. 保留本地优先级,不接受来自边缘1的路由。(假设默认的本地优先级值是100)

在一个AS内,每个IBGP路由器都偏好具有较高本地优先级的路由。 因此,如果从边缘1,边缘2和边缘3有相同的路由,则优选来自边缘3的路由。

顺便说一句,你可以从networking工程这个问题有更好的答案。