当前位置: 老葡京网站娱乐 > 网络技术 > 网络基础 > 正文

BGP属性详解:Next-hop

时间:2014-10-30

老葡京网站娱乐 www.sdguanhua.com 在IGP时代我们都知道,比如说ospf,链路状态协议,在进行路由选择的时候,比的是链路的耗费,哪条链路耗费小则会更优先,如果两个链路耗费是一样的,那么就做负载均衡。

实际上就2个原则成就了ospf---最短路径优先的工作原理。

那如果在BGP中,有多条路由可以到达目的的时候,应当如何进行选择呢?哪一条路径是比较优先的呢?

来看看这11个属性的优先级,加深记忆,最好能熟练的背下来:

1 HIGHEST WEIGHT--cisco私有属性

2 HIGHEST LOCAL PRERENCE -----公认可选

3 ROUTE ORIGINATED BY THE ROUTER NEXT HOP=0.0.0.0 * -----公认必尊well-known mandatory

4 SHORTEST AS PATH * -----公认必尊well-known mandatory

5 LOWEST ORIGINATED IGP>EGP>INCOMPLETE * -----公认必尊well-known mandatory

6 LOWEST MED

7 EBGP PATH OVER IBGP PATH

8 PREFER THE PATH THROGH THE CLOSEST IGP NEIGHBOR

9 RREFER OLDEST ROUTER FOR EBGP PATH

10 PREFER THE PATH WITH THE LOWEST NEIGHBOR BGP ROUTER ID

11 BGP LOWEST ROUTER ID

12 MINIMUM CLASTER LIST LENGTH

在bgp中,除了有一大堆原理需要深刻理解以外,选路原则是重中之重。一定需要掌握(要想对bgp有所认识和故障排查,这里一定是要掌握而不是了解)选路原则。

该文档会逐一对每个属性进行验证.力求能达到让我自己在心里有数对这些概念。

再来看看BGP的选路原则:

1、 优先选取具有最大权重(weight)值的路径,权重是Cisco专有属性。

2、 如果权重值相同,优先选取具有最高本地优先级的路由。

3、 如果本地优先级相同,优先选取本地路由(下一跳为0.0.0.0)上的BGP路由。

4、 如果本地优先级相同,并且没有源自本路由器的路由,优先选取具有最短AS路径的路由。

5、 如果具有相同的AS路径长度,优先选取具有最低源代码(IBGP<EBGP<INCOMPLETE)的路由。

6、 如果起源代码相同,优先选取具有最低MED值的路径。

7、 如果MED都相同,在EBGP路由和联盟EBGP路由中,首选EBGP路由,在联盟EBGP路由和IBGP路由中,首选联盟EBGP路由。

8、 如果前面所有属性都相同,优先选取离IGP邻居最近的路径。

9、 如果内部路径也相同,优先选取最低BGP路由器ID的路径。

Next-hop 属性详解:

我查了房至勇IE笔记,还有中文版的TCP/IP路由技术(卷二),还有一些cisco的培训PPT.在这些资料上,提到了三个原则关于Next-hop的。在本文档中会一一覆盖。但是,我个人认为,既然是选录原则,就一定要进行比较,而这些所有资料中提到的都是工作原则,那么我的疑问是,如果weight还有Local_Pref都是默认的情况,第三条比较Next-HOP该如何比较?在井同学的帮助下,找到了英文版中的描述,才解开了这个谜团。应该说之前我查的哪些资料都没有问题,可是都少些了一个关键的东西,如果比较Next-hop这个问题,什么才叫:如果本地优先级相同,优先选取本地路由(下一跳为0.0.0.0)上的BGP路由。

Prefer the path that was locally originated through a network or aggregate BGP subcommand, or through redistribution from an IGP. Local paths sourced by network/redistribute commands are preferred over local aggregates sourced by the aggregate-address command.

首先还是来说一下Next-HOP的三个工作原则:

原则一:

如果宣告路由器与接收路由器的位置位于不同的AS,那么Next-Hop是宣告路由的接口地址。

在TCP/IP卷二上面,是这样表示的。

这个和IGP一样的。没有什么好说的,如果BGP的update消息通过EBGP进行宣告,那么Next-hop属性将是Ebgp的IP地址.

普通的IGP是router by router的,而BGP是AS by AS的。

所以当两个EBGP在通告路由的时候,达到的效果就是和IGP一样的效果。因为两个路由器相互是EBGP,都是ASBR.

所以下一跳刚好是另外一个区域的EBGP邻居地址。