BGP即边界网关协议(Border Gateway Protocol)是互联网的路由协议。然而,路由器只是在与互联网有多个连接时才使用这个协议。不过,如果你真的需要进行BGP的配置时,你需要注意哪些方面呢? 如果你使用show running-configuration命令或者show runn|beg bgp命令,你可知在输出结果中看到了什么?下面我们给出一个来自实际运行的路由器的BGP的配置的例子。(为了安全起见,笔者已经修改了口令,IP地址,和AS的数量)。
5 z8 O$ N5 k0 ^& I$ Q: b
8 _, b: ~+ k/ Y* H9 l% v
* W' U, v4 j/ m. R1 z- X* j3 X以下是引用片段: MY-Router# show running-configuration | beg bgp router bgp 55555 no synchronization bgp log-neighbor-changes bgp dampening network 3.3.3.0 neighbor 1.1.1.1 remote-as 1234 neighbor 1.1.1.1 description Provider1 neighbor 1.1.1.1 password 7 09823490822093482F neighbor 1.1.1.1 update-source Loopback1 neighbor 1.1.1.1 version 4 neighbor 1.1.1.1 route-map Provider1 out neighbor 2.2.2.2 remote-as 5678 neighbor 2.2.2.2 description Provider2 neighbor 2.2.2.2 password 7 09823490822093482F neighbor 2.2.2.2 update-source Loopback2 neighbor 2.2.2.2 version 4 neighbor 2.2.2.2 weight 50/ d* E0 V8 W% ?: g$ B5 s. y% Y1 W
;
( B& d, }+ y5 a" j1 M: Y: D% a5 e 6 t7 d* ]- ]7 c, i, A- H
我们可从输出结果中看到什么呢?我们可以看出这台路由器与两个ISP连接,而且它可能正在二者之间执行动态的、最短的AS路径路由选择。此外,我们可以看出在每个连接上都存在口令,而且还有相关的描述来帮助确认每一个连接。
: ]9 O/ C2 A/ T 现在已经对我们正在进行的工作有了一个了解,下面看一下关于BGP配置需要注意哪些最重要的方面。
# W, q) C7 K" n2 U2 _/ p 1. 什么是AS数?+ n- Y. @6 O" ]# Q' l9 O p/ q% K
在这个配置中一个最重要的数字是自主系统数即AS数(autonomous system (AS))。在这个例子中,AS就是55555(在route bgp 55555这一行中)。这个数字唯一性地确认了在你的控制之下的连接到互联网的路由范围。BGP是一个“路径向量”路由协议。在其最基本的意义上,BGP的工作就是通过互联网自主系统找到最短的路径。! U/ u: U, ]! R; s( v' y5 W
2. 配置一个BGP近邻的最小数字是多少?
7 B; _' V- s* r9 j" n# t( d8 f, `" u# T 一个路由器需要与BGP相邻实体通信的最小BGP配置是一个neighbor语句和一个到这个neighbor的路由。其配置会相当简单:
0 h" ]: o+ y6 e. f( t P
% B9 E' t ?+ P, I; C
& G+ j6 }/ D9 l8 Q# j$ Q/ _" ?以下是引用片段: router bgp 55555 neighbor 1.1.1.1 remote-as 1234 D# U4 t3 H' Y
) Y1 U8 i, p4 G7 A6 D% ?( i$ J
% _; H' {( J) Y5 q
更可能的情况如下: % n4 e8 a4 C0 |- R! d
, Z; `' c5 a6 E: ]! a! K4 M
9 s. H% h" |$ _
$ f) y h1 {# P. _7 g以下是引用片段: network 3.3.3.0
; v4 r; U9 j8 L2 Q( a! L
/ z0 `: D0 H! f; u, d7 _& x 使用这个命令,你就是在告诉BGP正在寻找哪一个IP网络。使用这种网络,在你发送数据的时候,它们知道怎样将反应消息回馈给你。此外,你还可以配置一个口令来执行安全的MD5加密。
% }! v3 u4 x* d0 @: w5 P
/ \6 G+ o3 x$ b+ Z& }; H0 _/ G# ^, \ 3. 应该使用哪些BGP show 命令?! M+ V" O6 p1 _( g. i
下面是两个最重要的BGP show命令:5 E, k6 @# v1 a! X- E% L
· Show ip bgp summary: 这个命令显示BGP peering关系的状态信息。
2 T* M; l X) \1 I: b' q" R · Show ip bgp:这个命令显示从你的BGP 近邻收到的所有路由。
2 k! N- [9 P* m+ B+ I 在使用BGP时,你会一次又一次地使用这些命令。实际上,笔者经常使用这些命令,因此创建了其快捷方式。下面是一个例子:" [4 [9 y8 b5 `* [) ^
( k* m* u& }7 v
& z* S" K) ^$ o以下是引用片段: alias exec sib show ip bgp alias exec sibs show ip bgp summary0 G1 l' ?* \3 R7 h
;
7 B+ s- H" I. g; j- B5 C( M4 N$ M4 C - @; ]3 _$ g5 Z0 D d
! v( J! t7 m: T& Y6 a
这样一来,笔者只需键入sib 或 sibs就可以得到这种重要的BGP命令的输出。 7 v. f( W0 N- d2 T2 e$ v# l$ x
! ]9 k. @7 ^! M! M7 w# Q
4. BGP使用的metric度量标准
- i" W) Y" q' E6 g" h6 b0 ^! u 在使用BGP时,你需要明白BGP是怎样做决定的。刚才提到,BGP通过互联网选择最短的AS路径。虽然如此,它还使用许多其它的重要metric度量标准来做决策。; C( [* ^7 Q* q6 f9 H( ^+ A
要查明具体情况和细节信息,请阅读Cisco的BGP Best Path Selection Algorithm文档。例如,“shortest AS path”实际上处于所用的metric列表的第四位。在比较权重、本地参数等因素时,如果存在着一种“关系”,BGP才使用它。) G' a- z3 I7 V! x" X Y
5、关于no synchronization 命令
: I U: s! ~2 A7 s+ O* [ 另一个比较令人困惑的BGP命令是命令no synchronization命令。默认情况下,如果BGP拥有一个在路由表中的内部路由时,BGP只将路由转发给它的邻居。这仅仅是因为在其互联网路由器上没有一个动态的内部路由选择协议。, B+ ^' y. H# j8 O- M; G# O% t
不过,这个命令有一个目的-只转发路由器能够与之通信的网络。不过,你仍然可以禁用它。下面给出一个例子:9 t# Z: q3 j' ^% f4 Q' x
! m2 y& X5 F: N7 n% Y8 u: \5 {6 B4 g9 g0 Q1 {
4 M6 _3 o6 o# \5 n) i以下是引用片段: Router bgp 55555 no synchronization
- F; |' n5 ]2 R4 b, _! {+ C; W, E2 }7 G; y) Q+ [1 _- s" g
& _/ b, x! k+ O8 @5 O
愿这些命令的说明能够对大家的工作和学习带来帮助。 |