通过运行BGP和MPLS使得R4上loo 8与R5上loo 9连通。
1.实验拓扑共有三个AS,每台路由器都有自己的loo 0口地址,其中还在路由器R4上存在loo 8的8.8.8.8/24的环回地址,在路由器R5上存在9.9.9.9/24的环回口地址。
2.在AS 10内运行EIGRP使得在本AS内全网互通。
3.R4与R2建立EBGP对等体,R2与R3建立IBGP对等体,R3与R5建立EBGP对等体。
Router>enable
Router#configure
Router(config)#hostname R1
R1(config)#int loopback 0
R1(config-if)#ip address 1.1.1.1 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#exit
R1(config)#interface ethernet 0/1
R1(config-if)#ip address 13.1.1.1 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#exit
R1(config)#interface ethernet 0/0
R1(config-if)#ip address 12.1.1.1 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#exit
R1(config)#do write
Router>enable
Router#configure
Router(config)#hostname R2
R2(config)#interface loopback 0
R2(config-if)#ip address 2.2.2.2 255.255.255.0
R2(config-if)#no shutdown
R2(config-if)#exi
R2(config)#interface ethernet 0/1
R2(config-if)#ip add 12.1.1.2 255.255.255.0
R2(config-if)#no shutdown
R2(config-if)#exit
R2(config)#interface serial 1/0
R2(config-if)#ip address 24.1.1.2 255.255.255.0
R2(config-if)#no shutdown
R2(config-if)#exit
R2(config)#do write
Router>enable
Router#configure
Router(config)#hostname R3
R3(config)#interface loopback 0
R3(config-if)#ip add 3.3.3.3 255.255.255.0
R3(config-if)#no shutdown
R3(config-if)#exit
R3(config)#interface ethernet 0/0
R3(config-if)#ip address 13.1.1.3 255.255.255.0
R3(config-if)#no shutdown
R3(config-if)#exit
R3(config)#interface serial 0
R3(config)#interface serial 1/1
R3(config-if)#ip address 35.1.1.3 255.255.255.0
R3(config-if)#no shutdown
R3(config-if)#exit
R3(config)#do write
Router>enable
Router#configure
Router(config)#hostname R4
R4(config)#interface loopback 0
R4(config-if)#ip address 4.4.4.4 255.255.255.0
R4(config-if)#no shutdown
R4(config-if)#exit
R4(config)#interface loo
R4(config)#interface loopback 8
R4(config-if)#ip add 8.8.8.8 255.255.255.0
R4(config-if)#no shutdown
R4(config-if)#exit
R4(config)#interface serial 1/1
R4(config-if)#ip address 24.1.1.4 255.255.255.0
R4(config-if)#no shutdown
R4(config-if)#exit
R4(config)#do write
Router>enable
Router#configure
Router(config)#hostname R5
R5(config)#interface loopback 0
R5(config-if)#ip address 5.5.5.5 255.255.255.0
R5(config-if)#no shutdown
R5(config-if)#exit
R5(config)#interface loopback 9
R5(config-if)#ip address 9.9.9.9 255.255.255.0
R5(config-if)#no shutdown
R5(config-if)#exit
R5(config)#interface serial 1/0
R5(config-if)#ip address 35.1.1.5 255.255.255.0
R5(config-if)#no shutdown
R5(config-if)#exit
R5(config)#do write
R1(config)#router eigrp 90
R1(config-router)#eigrp router-id 1.1.1.1
R1(config-router)#network 1.1.1.1 0.0.0.0
R1(config-router)#network 12.1.1.1 0.0.0.0
R1(config-router)#network 13.1.1.1 0.0.0.0
R1(config-router)#exit
R1(config)#do write
R2(config)#router eigrp 90
R2(config-router)#eigrp router-id 2.2.2.2
R2(config-router)#network 2.2.2.2 0.0.0.0
R2(config-router)#network 12.1.1.2 0.0.0.0
R2(config-router)#exit
R2(config)#do write
R3(config)#router eigrp 90
R3(config-router)#eigrp router-id 3.3.3.3
R3(config-router)#network 3.3.3.3 0.0.0.0
R3(config-router)#network 13.1.1.3 0.0.0.0
R3(config-router)#exit
R3(config)#do write
在R4上启用BGP,关闭自动汇总,关闭同步规则,通过直连接口与R2建立EBGP对等体关系,通过8.8.8.0/24的路由进入BGP。
R4(config)#router bgp 4
R4(config-router)#no auto-summary
R4(config-router)#no synchronization
R4(config-router)#bgp router-id 4.4.4.4
R4(config-router)#neighbor 24.1.1.2 remote-as 10
R4(config-router)#network 8.8.8.0 mask 255.255.255.0
R4(config-router)#do write
在R4上检查你所通告的路由:
在R2上启用BGP,关闭自动汇总,关闭同步规则,通过直连接口与R4建立EBGP对等体关系
R2(config)#router bgp 10
R2(config-router)#no auto-summary
R2(config-router)#no synchronization
R2(config-router)#bgp router-id 2.2.2.2
R2(config-router)#neighbor 24.1.1.4 remote-as 4
R2(config-router)#do write
在R2上查看iPv4单播AFI的邻居:
在R2上查看BGP表:
在R2上与R3建立IBGP的对等体关系,修改更新源地址,设置NHS(R2存在EBGP的邻居关系,所以要对他的IBGP指NHS,否则下一跳不
可达)。
R2(config)#router bgp 10
R2(config-router)#neighbor 3.3.3.3 remote-as 10
R2(config-router)#neighbor 3.3.3.3 update-source loopback 0
R2(config-router)#neighbor 3.3.3.3 next-hop-self
R2(config-router)#do write
R3(config)#router bgp 10
R3(config-router)#neighbor 2.2.2.2 remote-as 10
R3(config-router)#neighbor 2.2.2.2 update-source loopback 0
R3(config-router)#neighbor 2.2.2.2 next-hop-self
R3(config-router)#do write
R3(config)#exi
R3(config)#ip route 5.5.5.0 255.255.255.0 serial 1/1 35.1.1.5
R3(config)#router bgp 10
R3(config-router)#neighbor 5.5.5.5 remote-as 5
R3(config-router)#neighbor 5.5.5.5 update-source loopback 0
R3(config-router)#neighbor 5.5.5.5 ebgp-multihop
R3(config-router)#do write
R5(config)#ip route 3.3.3.0 255.255.255.0 serial 1/0 35.1.1.3
R5(config)#router bgp 5
R5(config-router)#neighbor 3.3.3.3 remote-as 10
R5(config-router)#neighbor 3.3.3.3 update-source loopback 0
R5(config-router)#neighbor 3.3.3.3 ebgp-multihop
R5(config-router)#do write
(在使用环回口建立EBGP的对等体关系时,一定要写静态默认和ebgp-multihop,因为TTL为1,只传一跳)!!!
在R3上查看邻居关系:
在R3上查看BGP表:
通过9.9.9.0/24的路由:
R5(config)#router bgp 5
R5(config-router)#network 9.9.9.0 mask 255.255.255.0
R5(config-router)#end
R5#write
在R5上查看通告路由之后的BGP表:
在R4上也查看BGP表,发现只要是运行BGP的路由器,都收到了8.8.8.0/24和9.9.9.0/24的路由。
测试连通性:
因为这个包会经过R1,但是R1有没有运行BGP,所以不通!!
控制层面,路由时一跳一跳传的!!
R1(config)#ip cef
R1(config)#mpls ip
R1(config)#mpls label protocol ldp
R1(config)#mpls ldp router-id loopback 0 force
R1(config)#interface range ethernet 0/0-1
R1(config-if-range)#mpls ip
R1(config-if-range)#end
R2(config)#ip cef
R2(config)#mpls ip
R2(config)#mpls label protocol ldp
R2(config)#mpls ldp router-id loopback 0 force
R2(config)#interface ethernet 0/1
R2(config-if)#mpls ip
R2(config-if)#end
R3(config)#ip cef
R3(config)#mpls ip
R3(config)#mpls label protocol ldp
R3(config)#mpls ldp router-id loopback 0 force
R3(config)#interface ethernet 0/0
R3(config-if)#mpls ip
R3(config-if)#end
R3#wr
测试连通性:
总结BGP的知识要点:
一:BGP建邻居有两步:
1.指定和谁建立邻居
2.指定基于哪个AFI激活和邻居的邻接关系
二:
大于号前面的符号含义:
1.*有资格加入路由表
2.R(rib failure)由于管理距离的问题,通过BGP学到的路由,通过其他方式也学到了,其他方式学到的路由的管理距离更低,所以这条BGP路由由于管理距离过高没有办法加入到路由表,但是我还能够给邻居传走
3.S(suppressed)被抑制的路由,不会加入到路由表,也不会给邻居传走
大于号的含义:最优的路由
大于号后面符号的含义:
1.空(EBGP)
2.I(IBGP)
最后面的起源属性(origin):描述了一条BGP路由是通过何种方式被加入到BGP域的
1.i(igp):通过network和聚合
2.e(egp):从EGP重分发进BGP的
3.?(incomplete):来自其他的协议(IGP,静态,直连)重分发进入到BGP的
起源属性可以比较路径的好坏:i>e>?
三。排错:
一台路由器没有路由是邻居没有给你传呢?还是邻居给你传了你没有接收呢?
BGP路由器会针对邻居缓存两张表:
1.我给邻居发送过哪些路由(默认只会记录这张表,因为CPU缓存的问题)show ip bgp neighbors 3.3.3.3 advertised-routers
2.我通过邻居接收过哪些路由(nei 3.3.3.3 soft-reconfiguration inbound开启完之后,排完错之后建议关掉)show ip bgp neighbors 3.3.3.3 reseived-routers
四:BGP的对等体组