BGP选路规则实验.docx
《BGP选路规则实验.docx》由会员分享,可在线阅读,更多相关《BGP选路规则实验.docx(30页珍藏版)》请在冰豆网上搜索。
BGP选路规则实验
BGP选路规则实验
1.使R1,R2,R3,R4全网建立BGP,并且互通
(1)将R3加入BGP中
R1:
r1(config)#routerbgp1
r1(config-router)#neighbor3.3.3.3remote-as1
r1(config-router)#neighbor3.3.3.3update-sourceloopback0
R3:
r3(config)#routerbgp1
r3(config-router)#bgprouter-id3.3.3.3
r3(config-router)#neighbor1.1.1.1remote-as1
r3(config-router)#neighbor1.1.1.1update-sourceloopback0
r3(config-router)#neighbor4.4.4.4remote-as4
r3(config-router)#neighbor4.4.4.4update-sourceloopback0
r3(config-router)#neighbor4.4.4.4ebgp-multihop
R4:
r4(config)#routerbgp4
r4(config-router)#neighbor3.3.3.3remote-as1
r4(config-router)#neighbor3.3.3.3update-sourceloopback0
r4(config-router)#neighbor3.3.3.3ebgp-multihop
(2)查看R3的BGP邻居
r3#shipbgsummary
BGProuteridentifier3.3.3.3,localASnumber1
BGPtableversionis4,mainroutingtableversion4
3networkentriesusing351bytesofmemory
3pathentriesusing156bytesofmemory
3/2BGPpath/bestpathattributeentriesusing372bytesofmemory
1BGPAS-PATHentriesusing24bytesofmemory
0BGProute-mapcacheentriesusing0bytesofmemory
0BGPfilter-listcacheentriesusing0bytesofmemory
BGPusing903totalbytesofmemory
BGPactivity3/0prefixes,3/0paths,scaninterval60secs
Neighbor V ASMsgRcvdMsgSent TblVer InQOutQUp/Down State/PfxRcd
1.1.1.1 4 1 7 7 4 0 000:
02:
08 1
4.4.4.4 4 4 7 5 4 0 000:
00:
08 2
r3#
说明:
R3已经与其它路由器建立BGP邻居。
2.改变AS1内部下一跳
(1)查看R1的BGP路由表
r1#shipbgp
BGPtableversionis6,localrouterIDis1.1.1.1
Statuscodes:
ssuppressed,ddamped,hhistory,*valid,>best,i-internal,
rRIB-failure,SStale
Origincodes:
i-IGP,e-EGP,?
-incomplete
Network NextHop MetricLocPrfWeightPath
*>11.1.1.0/24 0.0.0.0 0 32768i
*>i22.2.2.0/24 2.2.2.2 0 100 0?
*i44.4.4.0/24 4.4.4.4 0 100 04i
*>i 4.4.4.4 0 100 04i
ri100.1.1.0/24 4.4.4.4 0 100 04i
r>i 4.4.4.4 0 100 04i
r1#
说明:
因为R1都是从iBGP收到的路由,所以到达R4的路由44.4.4.0的下一跳都为4.4.4.4,而没有被R2和R3改变。
(2)改变R2与R3对R1的下一跳为自己
r2(config)#routerbgp1
r2(config-router)#neighbor1.1.1.1next-hop-self
r3(config)#routerbgp1
r3(config-router)#neighbor1.1.1.1next-hop-self
(3)再次查看R1的BGP路由表
r1#shipbgp
BGPtableversionis8,localrouterIDis1.1.1.1
Statuscodes:
ssuppressed,ddamped,hhistory,*valid,>best,i-internal,
rRIB-failure,SStale
Origincodes:
i-IGP,e-EGP,?
-incomplete
Network NextHop MetricLocPrfWeightPath
*>11.1.1.0/24 0.0.0.0 0 32768i
*>i22.2.2.0/24 2.2.2.2 0 100 0?
*i44.4.4.0/24 3.3.3.3 0 100 04i
*>i 2.2.2.2 0 100 04i
ri100.1.1.0/24 3.3.3.3 0 100 04i
r>i 2.2.2.2 0 100 04i
r1#
说明:
学习到的路由44.4.4.0/24已经被R2和R3改为自己。
测试选路规则说明:
测试R1通过R2与R3到达R4的网段44.4.4.0/24的选路,
以及测试R4通过R2与R3到达R1的网段11.1.1.0/24的选路,
要测试的选路顺序为
1.最高Weight值
2.最高LOCAL_PREF值
3.本地发起路由
4.最短AS_PATH
5.最低Origin类型
6.最小MED值
7.eBGP优于iBGP
8.最小IGPmetric到达下一跳的路由
9.负载均衡(如果开启的话)
10.如果下一跳都为eBGP,则选择最早学习到的路由(即时间最长的路由)
11.最低Router-ID下一跳
12.最短clusterlist(如同AS_PATH)
13.最小下一跳的邻居地址
因为选路顺序为由上至下,当上一个属性已经比较出最优路径,则下一属性被忽略,所以我们实验从下往上修改来进行比较,因为改过下面的属性影响选路之后,只要再改上一条,就能再次影响选路,就能证明,上一条是比下一条优先的。
测试第13条最小下一跳的邻居地址
说明:
因为只有下一跳邻居的Router-ID相同的情况下,才会比较下一跳邻居的地址大小,所以先将R2与R3的Router-ID改为相同,以测试比较下一跳地址。
(1)修改R3的Router-ID与R2相同
r3(config)#routerbgp1
r3(config-router)#bgprouter-id2.2.2.2
r3(config-router)#
(2)查看R1到达44.4.4.0/24的选路
r1#shipbgp
BGPtableversionis8,localrouterIDis1.1.1.1
Statuscodes:
ssuppressed,ddamped,hhistory,*valid,>best,i-internal,
rRIB-failure,SStale
Origincodes:
i-IGP,e-EGP,?
-incomplete
Network NextHop MetricLocPrfWeightPath
*>11.1.1.0/24 0.0.0.0 0 32768i
*>i22.2.2.0/24 2.2.2.2 0 100 0?
*i44.4.4.0/24 3.3.3.3 0 100 04i
*>i 2.2.2.2 0 100 04i
ri100.1.1.0/24 3.3.3.3 0 100 04i
r>i 2.2.2.2 0 100 04i
r1#
说明:
R1到达网段44.4.4.0/24选则最小下一跳邻居R2为最优路径。
测试第12条最短clusterlist
说明:
因为比较最短clusterlist只在BGPRouteReflector(RR)环境中才有,所以此步跳过。
测试第11条最低Router-ID下一跳
说明:
选择下一跳有最小Router-ID的邻居为最优路径。
(1)修改R3的Router-ID
r3(config)#routerbgp1
r3(config-router)#bgprouter-id1.1.1.3
说明:
将R3的Router-ID改为1.1.1.3
(2)查看R1到达44.4.4.0/24的选路
r1#shipbgp
BGPtableversionis10,localrouterIDis1.1.1.1
Statuscodes:
ssuppressed,ddamped,hhistory,*valid,>best,i-internal,
rRIB-failure,SStale
Origincodes:
i-IGP,e-EGP,?
-incomplete
Network NextHop MetricLocPrfWeightPath
*>11.1.1.0/24 0.0.0.0 0 32768i
*>i22.2.2.0/24 2.2.2.2 0 100 0?
*>i44.4.4.0/24 3.3.3.3 0 100 04i
*i 2.2.2.2 0 100 04i
r>i100.1.1.0/24 3.3.3.3 0 100 04i
ri 2.2.2.2 0 100 04i
r1#
说明:
因为R2的Router-ID为2.2.2.2,而R3的Router-ID为1.1.1.3,所以最小Router-ID的R3被选为最优路径。
测试第10条如果下一跳都为eBGP,则选择最早学习到的路由(即时间最长的路由)
说明:
因为只有下一跳都为eBGP,才比较选择最早学习到的路由,所以测试R4通过R2与R2到达11.1.1.0/24的选路。
(1)查看R4到达11.1.1.0/24的选路
r4#shipbgp
BGPtableversionis7,localrouterIDis4.4.4.4
Statuscodes:
ssuppressed,ddamped,hhistory,*valid,>best,i-internal,
rRIB-failure,SStale
Origincodes:
i-IGP,e-EGP,?
-incomplete
Network NextHop MetricLocPrfWeightPath
* 11.1.1.0/24 3.3.3.3 01i
*> 2.2.2.2 01i
*>22.2.2.0/24 2.2.2.2 0 01?
*>44.4.4.0/24 0.0.0.0 0 32768i
*>100.1.1.0/24 0.0.0.0 0 32768i
r4#
说明:
R4选择R2到达11.1.1.0/24
(2)查看R2与R3的邻居时间
r4#shipbgsummary
BGProuteridentifier4.4.4.4,localASnumber4
BGPtableversionis7,mainroutingtableversion7
4networkentriesusing404bytesofmemory
5pathentriesusing240bytesofmemory
3BGPpathattributeentriesusing180bytesofmemory
1BGPAS-PATHentriesusing24bytesofmemory
0BGProute-mapcacheentriesusing0bytesofmemory
0BGPfilter-listcacheentriesusing0bytesofmemory
BGPusing848totalbytesofmemory
BGPactivity5/1prefixes,8/3paths,scaninterval60secs
Neighbor V ASMsgRcvdMsgSent TblVer InQOutQUp/Down State/PfxRcd
2.2.2.2 4 1 51 49 7 0 000:
43:
27 2
3.3.3.3 4 1 27 33 7 0 000:
02:
23 1
r4#
说明:
因为R2的邻居时间比R3长,所以R2为最优路径。
(3)清除R2的邻居,以刷新邻居时间
r4(config)#routerbgp4
r4(config-router)#neighbor2.2.2.2shutdown
r4(config-router)#
*Mar 101:
16:
09.823:
%BGP-5-ADJCHANGE:
neighbor2.2.2.2DownAdmin.shutdown
r4(config-router)#noneighbor2.2.2.2shutdown
r4(config-router)#
*Mar 101:
16:
37.452:
%BGP-5-ADJCHANGE:
neighbor2.2.2.2Up
r4(config-router)#
说明:
将邻居R2断开,再建立,从而刷新邻居的建立时间。
(4)再次查看邻居的建立时间
r4#shipbgsummary
BGProuteridentifier4.4.4.4,localASnumber4
BGPtableversionis10,mainroutingtableversion10
4networkentriesusing404bytesofmemory
5pathentriesusing240bytesofmemory
3BGPpathattributeentriesusing180bytesofmemory
1BGPAS-PATHentriesusing24bytesofmemory
0BGProute-mapcacheentriesusing0bytesofmemory
0BGPfilter-listcacheentriesusing0bytesofmemory
BGPusing848totalbytesofmemory
BGPactivity5/1prefixes,10/5paths,scaninterval60secs
Neighbor V ASMsgRcvdMsgSent TblVer InQOutQUp/Down State/PfxRcd
2.2.2.2 4 1 57 55 10 0 000:
00:
27 2
3.3.3.3 4 1 28 36 10 0 000:
03:
45 1
r4#
说明:
R3的邻居时间比R2长。
(5)再次查看R4到达11.1.1.0/24的选路
r4#shipbgp
BGPtableversionis10,localrouterIDis4.4.4.4
Statuscodes:
ssuppressed,ddamped,hhistory,*valid,>best,i-internal,
rRIB-failure,SStale
Origincodes:
i-IGP,e-EGP,?
-incomplete
Network NextHop MetricLocPrfWeightPath
* 11.1.1.0/24 2.2.2.2 01i
*> 3.3.3.3 01i
*>22.2.2.0/24 2.2.2.2 0 01?
*>44.4.4.0/24 0.0.0.0 0 32768i
*>100.1.1.0/24 0.0.0.0 0 32768i
r4#
说明:
因为R3的邻居时间比R2长,所以选择了R3为最优路径。
测试第9条BGP负载均衡
说明:
只有在前面8条属性都相同的话,才能开启BGP的负载功能,前8条属性任何一条不同,都不能负载。
(1)查看R1到达44.4.4.0/24的选路
r1#shiproutebgp
22.0.0.0/24issubnetted,1subnets
B 22.2.2.0[200/0]via2.2.2.2,00:
38:
33
44.0.0.0/24issubnetted,1subnets
B 44.4.4.0[200/0]via3.3.3.3,00:
05:
12
r1#
说明:
R1到达44.4.0/24只走R3,默认没有负载。
(2)开启BGP负载功能
r1(config)#routerbgp1
r1(config-router)#maximum-pathsibgp2
说明:
因为两个下一跳都为iBGP,所以开启iBGP的负载功能。
(3)再次查看R1到达44.4.0/24的选路
r1#shiproutebgp
22.0.0.0/24issubnetted,1subnets
B 22.2.2.0[200/0]via2.2.2.2,00:
39:
16
44.0.0.0/24issubnetted,1subnets
B 44.4.4.0[200/0]via2.2.2.2,00:
00:
18
[200/0]