Bgp 的下一跳
R1:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

R1(config)#int lo0

R1(config-if)#ip addr 192.168.10.1 255.255.255.0

R1(config-if)#no shut

R1(config-if)#exit

R1(config)#router bgp 64500

fig-router)#neighbor 202.110.100.2 remote-as 64500

R1(config-router)#net 202.110.100.0

R1(config-router)#net 192.168.10.0

R1(config-router)#exit

 

R2 上:

Router(config)#host R2

R2(config)#int s1/0

R2(config-if)#ip addr 202.110.100.2 255.255.255.0

R2(config-if)#encap hdlc

R2(config-if)#no shut

R2(config-if)#exit

 

R2(config)#int s1/1

R2(config-if)#ip addr 202.110.101.1 255.255.255.0

R2(config-if)#encap hdlc

R2(config-if)#clock rate 56000

R2(config-if)#no shut

R2(config-if)#exit

R2(config)#router bgp 64500

R2(config-router)#neighbor 202.110.100.1 remote-as 64500

R2(config-router)#neighbor 202.110.101.2 remote-as 64501

R2(config-router)#net 202.110.100.0

R2(config-router)#net 202.110.101.0

 

R3 上:

 

R3(config-if)#int fa0/0

R3(config-if)#ip addr 192.168.20.1 255.255.255.0

R3(config-if)#no shut

R3(config)#int s1/1

R3(config-if)#ip addr 202.110.101.2 255.255.255.0

 

R3(config-if)#encap hdlc

R3(config-if)#no shut

R3(config-if)#exit

 

R3(config)#router bgp 64501

R3(config-router)#neighbor 202.110.101.1 remote-as 64500

R3(config-router)#net 202.110.101.0

R3(config-router)#net 192.168.20.0

 

R1 上测试:

 

R1#show ip bgp

BGP table version is 7, local router ID is 202.110.100.1

Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,

              r RIB-failure, S Stale

Origin codes: i - IGP, e - EGP, ? - incomplete

 

   Network          Next Hop            Metric LocPrf Weight Path

*> 192.168.10.0     <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />0.0.0.0                  0         32768 i

*>i192.168.20.0     202.110.101.2             0    100      0 64501 i

* i202.110.100.0    202.110.100.2            0    100      0 i

*>                  0.0.0.0                  0         32768 i

*>i202.110.101.0    202.110.100.2            0    100      0 i

R1#

我们在 R1 上查看 fa0/0 的路由下一跳不是常规下我们设想的 100.2 ,而是 101.2

总结:路由器 ebgp 邻居处收到路由后,再把该路由转发给自己的 IBGP 邻居时,保留了路由的下一跳。

解决办法:

通告路由器转发“ EBGP 邻居的路由”给 IBGP 邻居时,修改路由的下一跳为自己的端口的下一跳 ip

语法格式:

config-router #neighbor  邻居 ip  next-hop-self

注意 ; 这里邻居 IP 是指 IBGP (内部路由器)。本试验中的 R1, 如果将这个 ip 写成 EBGP ,本试验的 202.110.101.2 ,那么试验结果是错误的,至于错误结果就不做了,所以朋友们一定要注意。

所以在 R2 上做如下修改:

 

R2(config)#router bgp 64500

R2(config-router)#neighbor 202.110.101.2 remote-as 64501

R2(config-router)#neighbor 202.110.100.1 next-hop-self

R2(config-router)#exit

再次在 R1 上看效果:

 

R1#show ip bgp

BGP table version is 9, local router ID is 202.110.100.1

Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,

              r RIB-failure, S Stale

Origin codes: i - IGP, e - EGP, ? - incomplete

 

   Network          Next Hop            Metric LocPrf Weight Path

*> 192.168.10.0     0.0.0.0                  0         32768 i

*>i192.168.20.0     202.110.100.2             0    100      0 64501 i

* i202.110.100.0    202.110.100.2            0    100      0 i

*>                  0.0.0.0                  0         32768 i

*>i202.110.101.0    202.110.100.2            0    100      0 i

 

 

显然可以看出 R1 学习到的 R3 路由 192.168.20.0 的下一跳变为 202.110.100.2  ,所以我们的修改下一跳成功。一切和理论符合。

 

BGP的med属性:

目睹实战现场: