您的位置:首页 > 其它

CCIE学习(55)―― 建立BGP邻接关系(一)

2008-01-28 15:42 435 查看
●建立邻接关系的基本过程
BGP会在每对邻接路由器之间形成一条TCP连接,由这条连接发送BGP消息,最终发送包含路由信息的BGP更新消息。
每个路由器都要显式地配置其邻接路由器的IP地址,路由器通过这些信息了解哪些IP地址试图建立TCP连接。如果路由器接收到未配置为BGP邻接路由器的IP地址发来的TCP连接请求(BGP端口179),它会直接拒绝该请求。TCP连接建立之后,BGP开始发送BGP Open消息。一旦一对Open消息互相交换完毕,邻接路由器即进入已建立(established)状态,这是可工作的BGP路由器对的稳定状态。此时,BGP的更新消息可以进行交换。

●BGP邻接关系建立的关键特性
1)BGP的TCP端口号:179
2)可以通过bgp timers keepalive holdtime路由器子命令或对每个邻接路由器使用neighbor timers命令来设置保活(keepalive)和保持(hold)定时器的时间。其默认值分别为60和180秒。它们用来判断邻接路由器是否失效。
3)在同一AS中的邻接路由器可以成为内部BGP(iBGP)邻接路由器。
4)在另一AS中的邻接路由器可以成为外部BGP(eBGP)邻接路由器。
5)确定BGP路由器ID(RID)的顺序如下:bgp router-id命令,BGP进程启动时处于up状态的loopback接口的最大IP,BGP进程启动时处于up状态的其他接口的最大IP。
6)怎样确定到达邻接路由器路由的源IP地址:可使用neighbor update-source命令,或者,默认情形下,使用该路由的外发接口的IP地址。
7)怎样确定到达邻接路由器路由的目的IP地址:使用neighbor命令显式指定。
8)自动汇总(auto-summary)功能默认是屏蔽的,可以通过auto-summary路由器子命令激活。
9)邻接路由器的认证方式:只支持MD5,使用neighbor password命令配置。

●内部BGP邻接路由器
前面已经介绍了iBGP邻接路由器是同处于一个AS中的路由器。iBGP路由器对通常使用loopback接口的IP地址来连通,以获得更高的可用性。在单个AS中,每对路由器之间常常至少有两条路由,如果使用一个一般接口的IP地址来建立TCP连接,一旦该接口失效(此时可能还有其他路由可连通),BGP的TCP连接也会随之失败。显然,使用loopback地址来建立连接会更为合理。

●iBGP配置实例




配置目标:
1)ASN 123中的三台路由器组成全网格(两两之间互为邻居)的iBGP邻接关系。
2)R1使用bgp router-id命令配置其RID,而不使用loopback接口地址。
3)R3使用peer-group来配置邻接路由器R1和R2。这样不仅可以使配置命令更为简单,而且可以提升路由器的处理效率。
4)R1-R3的邻接关系使用MD5认证。
配置:
1)R1的配置:
interface Loopback1
ip address 1.1.1.1 255.255.255.255
!
router bgp 123
no synchronization
bgp router-id 111.111.111.111
bgp log-neighbor-changes
neighbor 2.2.2.2 remote-as 123
neighbor 2.2.2.2 update-source Loopback1
neighbor 3.3.3.3 remote-as 123
neighbor 3.3.3.3 password secret-pw
neighbor 3.3.3.3 update-source Loopback1
no auto-summary
2)R3的配置:
interface Loopbacl1
ip address 3.3.3.3 255.255.255.255
!
router bgp 123
no synchronization
bgp log-neighbor-changes
neighbor my-as peer-group
neighbor my-as remote-as 123
neighbor my-as update-source Loopback1
neighbor 1.1.1.1 peer-group my-as
neighbor 1.1.1.1 password secret-pw
neighbor 2.2.2.2 peer-group my-as
no auto-summary
配置说明:
1)配置中并不直接定义邻接关系是iBGP还是eBGP,而是由路由器通过比较router bgp命令所定义的ASN和neighbor remote-as命令所列出的邻接路由器ASN来判断,如果两者匹配,即为iBGP,如果不匹配,则为eBGP。
2)BGP的peer-group命令可以将BGP邻接路由器的配置归为一组,然后对邻接路由器应用该peer组。BGP对每个peer组只建立一套更新消息,因其路由策略应用于全组(而不仅是一台路由器),所以可起到提升处理效率的作用。

●外部BGP邻接路由器
在eBGP路由器对之间往往只有一条物理链路,此时,eBGP在组对时可以就简单地使用接口IP地址,当这条链路失效时,路由器对之间的TCP连接也会失败(因为此时已经没有路由可连通这两个路由器)。如果在eBGP路由器对之间存在冗余链路,neighbor命令应该使用loopback的IP地址,其原理与iBGP类似。

●eBGP配置实例
拓扑图如上,考虑如何在R3-R4和R1-R6上建立eBGP邻接关系
配置:
1)R1的配置:
router bgp 123
neighbor 172.16.16.6 remote-as 678
2)R3的配置:
router bgp 123
neighbor 4.4.4.4 remote-as 45
neighbor 4.4.4.4 update-source loopback1
neighbor 4.4.4.4 ebgp-multihop 2
配置说明:
1)注意eBGP的neighbor remote-as命令设置的ASN与router bgp命令的ASN不一样,这意味着两者之间是eBGP的邻接关系。
2)R3-R4需要配置ebgp-multihop 2命令,否则两者之间邻接关系无法建立。对于eBGP连接,Cisco IOS默认的IP包TTL值是1(假定用接口IP地址来组对),而现在R3-R4使用的是loopback接口地址来组对,如果此时TTL设置为1,IP包会因为超出跳数而丢弃,所以必须将跳数配置为2。本文出自 “第二次启航” 博客,请务必保留此出处http://riser.blog.51cto.com/252482/60982
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: