这可能更多是一个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,我怎么去增加一个“权重”或某种偏好值来说:
我希望我的问题很清楚。 如果不是或者你想从这些路由器的任何输出,请让我知道。 感谢你的协助 :)
(假设Vyatta支持BGP …)为什么不在Edge1,Edge2,Edge3和Core路由器之间使用iBGP,而不是将BGP重新分配给OSFP? 重新分配完整的bgp路由到OSPF是非常令人沮丧的,因为OSPF不是为了处理这么多的路由而devise的。
如果您使用iBGP从ISP分配路由,则使用local-preference来控制您的路由。
在一个AS内,每个IBGP路由器都偏好具有较高本地优先级的路由。 因此,如果从边缘1,边缘2和边缘3有相同的路由,则优选来自边缘3的路由。
顺便说一句,你可以从networking工程这个问题有更好的答案。