a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 239|回复: 2

[CCNP] BGP协议最佳路径选择算法揭秘

[复制链接]
发表于 2012-8-3 20:20:19 | 显示全部楼层 |阅读模式
它是一个路径矢量路由协议,也就是说,它的工作就是在自主系统间交换路由信息,以便发现访问互联网某处数据的最有效路径。每个 BGP路由器通过邻居声名与周边的一个或多个路由器连接。一旦建立了邻居关系,这些BGP路由器之间就会相互交换路由信息。据我最近一次统计,整个互联网上有大约12.5万个路由信息,因此要配备一个强大的路由器才能将所有BGP路由信息接收下来。- @/ ~+ I+ G4 t9 l
什么是 BGP 最佳路径选择算法?
$ n* O! x% N3 O8 y+ K由于整个互联网的BGP路由表有超过20万个路由,同时一个BGP路由器可能从多个来源收到多份的路由表,因此肯定会有一种方法可以比较不同的 BGP路由表,并从中选择最佳的路由方案。这种方法就是BGP 最佳路径选择算法。  X2 N/ c7 k5 [# H* f, R5 }
可能你会注意到,Cisco BGP路由器会将应用权重(weight)作为 路由表的第一标准,而其它品牌的路由器则不是这样。Cisco的官方BGP 最佳路径选择算法文档 中详细列明了所参考的各项标准。接下来我会列出每种标准并给出解释和范例。- B+ f( k1 x+ X( n! c
默认情况下, BGP最佳路径都是基于最短自治系统(AS)的原理得出的。不过很多时候,诸如weight,local preference以及MED这样的标准都是网络管理员自行设定的。
回复

使用道具 举报

 楼主| 发表于 2012-8-3 20:20:20 | 显示全部楼层

BGP协议最佳路径选择算法揭秘

</p>接下来我们就按照BGP选择最佳路径的参考顺序将这几项标准介绍一下:" m0 `' H2 }9 M/ M2 e$ b
#1 Weight — 权重是 Cisco为本地路由器设定的自定义参数,并不随路由器更新而变化。如果指向某一IP地址的路径有多条(这很常见),那么BGP会寻找权重最高的路径。设定权重的参考因素很多,包括邻居命令, as-path 访问列表,或者路由镜像等。/ s$ t1 {. `& |0 R6 X
#2 Local Preference — 本地出口优先级参数会告知 AS 哪条路径具有本地优先,数值越高优先级越高。默认为100。比如:. I& X5 m  |; I; ]% q
bgp default local-preference 150
- K3 Q$ c. P/ h& H#3 Network or Aggregate — 这个参数会选择本地发起的网络或聚合作为路径。将特定的路径加入路由中,会让路由更有效率,同时也节省了网络空间。更多有关聚合的信息,可以参考Cisco的文章“Understanding Route Aggregation in BGP.”; H# m' F3 B1 X$ u
#4 Shortest AS_PATH — BGP 只有在weight, local preference和locally originated相当接近的时候才使用这个参数。
% H  A3 |4 J5 g. N' K1 M#5 Lowest origin type — 这个参数处理Interior Gateway Protocol (IGP) 协议的优先级低于 Exterior Gateway Protocol (EGP)协议。
& h/ `5 h' x3 |; G#6 Lowest multi-exit discriminator (MED) — 较低的 MED 值要优于较高的MED值。/ p  `( R9 d6 ~
#7 eBGP over iBGP — 类似于#5, BGP AS Path 更倾向 eBGP 而不是 iBGP。
6 @1 w0 O. c. D6 S2 @  Q7 Q#8 Lowest IGP metric — 这个参数倾向于采用最低IGP作为BGP下一跳。5 I( J1 |& @9 r" U  M  B
#9 Multiple paths — 这个参数决定是否要在路由表中装入多个路径。可以参考 BGP Multipath 获取更多信息。5 N' M; Y$ k* Y) O' h: e" Z: ~
#10 External paths — 当所有路径都为外部路径时,选择首先接收到的路径(较老的路径)。
) u$ y; G9 q! {#11 Lowest router ID — 选择来自具有最低路由器ID的BGP路由器的路径。' a+ q6 W; @) B& u8 |& y/ H
#12 Minimum cluster list — 如果多个路径的originator或路由器 ID相同,选择cluster 列表长度最短的路径。% F* s. f2 h2 I# ~; z6 i8 n
#13 Lowest neighbor address — 这是指最低邻居地址传来的路径。; m. w6 R6 v: t: w% K6 ^) k
' M8 w% k* w' @
有些命令需要不断的用到BGP 参数,它们是show ip bgp 和 show ip bgp summary。实际上,我更喜欢给这两个命令创建别名,以便能更快捷的使用它们(参考我的文章《 用Cisco命令别名更有效的输入命令》)。这些命令可以让你快速获取 BGP以及与路由器的关系。下面是使用show ip bgp 命令后的情况范例:
回复 支持 反对

使用道具 举报

 楼主| 发表于 2012-8-3 20:20:21 | 显示全部楼层

BGP协议最佳路径选择算法揭秘

</p>RTA# show ip bgp
3 t. l" g# L  JBGP table version is 14, local router ID is 203.250.15.10# b% |* C$ `% L) H
Status codes: s suppressed, d damped, h history, * valid, > best, i -internal
8 W7 N" i( L4 O" A/ W- N1 XOrigin codes: i - IGP, e - EGP, ? - incomplete
% M& f8 C; k4 b+ T5 I  k5 `' @Network Next Hop Metric LocPrf Weight Path
( f( v+ S- Y; m, v! W# P*>i128.213.0.0 128.213.63.2 0 200 0 200 i
' i- N/ ]2 i/ X2 ^3 j> 192.208.10.0 192.208.10.5 0 300 0 300 i6 o4 Z) o+ p: e8 a6 {' s7 z
*>i200.200.0.0/16 128.213.63.2 200 0 200 400 i- A- W- f  J2 s) V" |+ F3 p6 o1 F% w
>i203.250.13.0 203.250.13.41 0 100 0 i- H( ]' a& A( f# S! J1 {
*>i203.250.14.0 203.250.13.41 0 100 0 i# B7 y- ~7 |4 P2 m
*> 203.250.15.0 0.0.0.0 0 32768 i$ O3 ~- N: w* p4 C! d! s, P
带星号的是BGP最佳路径选择算法选出的最佳路径。& T# {- U* k1 o( [
总 结
& |# m4 b# F0 _不论你是使用 BGP的网管,还是只是为了CCIE或CCNP考试学习BGP的学员,懂得这方面的知识都是非常有益的。正如上面看到的,使用参数和命令行的方式,确实可以快速实现所需功能。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-5-5 07:37 , Processed in 0.207367 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表