一、 实验拓扑图:
二、实验基本配置:
1、首先进行RT1、RT2、RT3、RT4、RT5、RT6基本信息和接口IP地址,以及loopback 0口的配置。
2、RT3、RT4、RT5、RT6的业务接口配置。
3、RT1-RT2、RT1-RT5、RT2-RT6、RT5-RT6的链路测调。
4、RT1-RT3、RT2-RT4、RT3-RT4的链路测调。
5、IGP配置过程中将OSPF区域内RT1-RT2、RT1-RT5、RT2-RT6、RT5-RT6的网络类型都配置成点对点,OSPF cost都配置为100.
(所有BGP路由器都关闭同步,关闭自动汇总;AS10内部路由器RT5、RT6不运行BGP,RT5、RT6通过AS10的边界路由器RT1、RT2发布的IGP缺省路由到达AS外部。)
三、实验测试及截图:
实验测调:
1、查看BGP邻居状态:
RT1与RT2用loopback 0口建立起IBGP邻居,RT1与RT3用直连接口IP地址建立起EBGP邻居。
BGP中宣告缺省网段时,必须要先在全局路由表中存在这条缺省路由。(即需要先写一条指向null 0的汇总路由。)
路由器始发路由,下一跳默认为0.0.0.0。
查看各设备BGP表:
查看各设备全局路由表:
全网连通性测试:
测试结果:全网全连通,四台PC相互之间都能ping通。
Traceroute 测试全网路径:
PC5访问PC4过程中,数据被发给RT1经过RT2,最后被发送给RT4;PC4访问PC5的过程中,到达RT2后会出现基于流的负载均衡,默认会经过RT1,然后到达RT5,当RT1和RT2之间的链路DOWN掉后,数据会走RT6,然后到达RT5。
四、BGP next-hop问题:
在RT2上不重发布直连网段:
RT2(config)#router ospf 1
RT2(config-router)#no redistribute connected //关闭重发布直连网段
在RT1上查看BGP表:
RT1#show ip bgp
Network Next Hop Metric LocPrf Weight Path
* i10.10.0.0/16 10.10.0.2 0 100 0 i
*> 0.0.0.0 0 32768 i
*> 10.30.0.0/16 10.10.13.2 0 0 30 i
*> 10.40.0.0/16 10.10.13.2 0 30 40 i
* i 10.20.24.2 0 100 0 40 i
//丢弃下一跳不可达的路由。
在RT2上强制指定下一跳地址为自己loopback 0 口地址:
RT2(config)#router bgp 10
RT2(config-router)#neighbor 10.10.0.1 next-hop-self
RT1#show ip bgp
* 10.40.0.0/16 10.10.13.2 0 30 40 i
*>i 10.10.0.2 0 100 0 40 i
RT2#show ip bgp
* 10.30.0.0/16 10.20.24.2 0 40 30 i
*>i 10.10.13.2 0 100 0 30 i
在RT1上强制指定下一跳为自己的loopback 口地址:
RT1(config)#router bgp 10
RT1(config-router)#neighbor 10.10.0.2 next-hop-self
RT2#show ip bgp
* 10.30.0.0/16 10.20.24.2 0 40 30 i
*>i 10.10.0.1 0 100 0 30 i
BGP路由发布:动态注入(纯动态注入、半动态注入)
纯动态注入:(重发布IGP路由至BGP)
RT1(config)#no ip route 10.10.0.0 255.255.0.0 null0 //删除静态汇总
RT1(config)#router bgp 10
RT1(config-router)#no network 10.10.0.0 mask 255.255.0.0
RT1(config-router)#redistribute ospf 1 match internal external 1 external 2
RT2(config)#no ip route 10.10.0.0 255.255.0.0 null0
RT2(config)#router bgp 10
RT2(config-router)#no network 10.10.0.0 mask 255.255.0.0
RT2(config-router)#redistribute ospf 1 match internal external 1 external 2
//BGP redistribute ospf 默认匹配internal
查看设备BGP表:
半动态注入:(使用network精确发布IGP路由至BGP)
RT1(config)#router bgp 10
RT1(config-router)#no redistribute ospf 1
RT1(config-router)#network 10.10.5.0 mask 255.255.255.0
RT1(config-router)#network 10.10.6.0 mask 255.255.255.0
RT2(config)#router bgp 10
RT2(config-router)#no redistribute ospf 1
RT2(config-router)#network 10.10.5.0 mask 255.255.255.0
RT2(config-router)#network 10.10.6.0 mask 255.255.255.0
查看设备BGP表:
RT5#ping 10.40.4.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.40.4.1, timeout is 2 seconds:
.....
Success rate is 0 percent (0/5)
RT5#ping 10.40.4.1 source 10.10.5.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.40.4.1, timeout is 2 seconds:
Packet sent with a source address of 10.10.5.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 140/166/220 ms
路由环路问题:
Down掉RT1的F1/0接口:
RT1(config)#int f1/0
RT1(config-if)#shut
在RT1和RT5之间产生路由环路:
RT5#ping 10.40.4.1 source 10.10.5.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.40.4.1, timeout is 2 seconds:
Packet sent with a source address of 10.10.5.1
.....
Success rate is 0 percent (0/5)
RT5#trace 10.40.4.1 source 10.10.5.1
Type escape sequence to abort.
Tracing the route to 10.40.4.1
1 10.10.1.5 80 msec 60 msec 48 msec
2 10.10.1.6 24 msec 52 msec 52 msec
3 10.10.1.5 72 msec 92 msec 92 msec
4 10.10.1.6 100 msec 88 msec 76 msec
5 10.10.1.5 152 msec 84 msec 108 msec
6 10.10.1.6 92 msec 156 msec 104 msec
7 10.10.1.5 172 msec 164 msec 128 msec
.........
解决上述路由环路办法:
方法一:在RT1--RT2之间再增加一条链路,以保证路由的健壮性。
方法二:将AS10内所有设备启动BGP,配置IBGP全连接。
方法三:将AS10内所有设备启动BGP,配置路由反射器RR。
方法四:将AS10内所有设备启动MPLS,边界设备之间建立MPLS LSP。
方法五:在RT1、RT2上,有选择地把部分BGP路由重发布至IGP。