本篇非常有意思:
如下图: R2 发布10.0.0.1/32 , R3/R4/R7 选路情况,及每路由器bgp 路由几条?
分析路由流向:(不一定真正按此顺序,不管怎样分析结果都一样)
- R2 把10.0.0.1/32 传给 R4 ,R4 有一条最优路径 F_R2, 显示 * > , 加载到IP路由表 , 并传给R3
- R2 把10.0.0.1/32 传给R1 , R1 传给R3 , 现在站在R3 此时有两条路径 ,第七条原则EBGP由于IGBP ,所以R3 优选F_R1 , 并通告给R4
故:R3 优选F_R2 ,此时两条bgp路由 - 现在站在R4视角,新收到路由并不比F_R2 优(原因同上), 所以R4 没有任何动静
故:R4 优选F_R2 ,此时两条bgp路由 - R3/R4 把最有的通告给R7 ,现在站在R7视角,根据8条原则后面的“ 邻居RID小” 选择 F_R3 。 但不会通告给R4 ,因为“从IGP邻居学到的路由不会通告给IGP邻居”
故:R7 优选R3, 2条bgp路由 - 假设配置R7 为RR :
R4 将有3条bgp路由
r4#sh bgp ipv4 un
BGP table version is 2, local router ID is 4.4.4.4
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
t secondary path,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
* i 10.0.0.1/32 3.3.3.3 0 100 0 10 i
* i 3.3.3.3 0 100 0 10 i (反射的路由下一跳不改变)
*> 10.0.24.2 0 0 10 i
使用LP 策略:
在R3 上对10.0.0.1/32 路由从R1 进来的时候,修改LP =120
问: R3/R4/R7 选路情况,及每路由器bgp 路由几条?
- R3 现在三条bgp路由(F_R1,F_R4,R_7),增加lp仍然优选F_R1,并通告R4/R7,路由带LP=120,R7也会通告给R4
- R4 收到后,根据第二条原则,优选F_R3。并向R3,R7发送撤销10.0.0.1/32 ,并试图发更新给邻居R3,R7,R2 ,不会向R3发(水平分割),会向R2发
- R4会向R7 通告吗? 不会!因为R4不是RR,从R3收到的不会发给R7,所以R7原来2条(F_R3,F_R4),被撤销一条,还剩一条
- R3 BGP表1条(原来的两条F_R4和F_R7都被撤销了)
- 现在看R2, R4 发来了来路由更新,但由于这条路由带着 asnumber 10 ,所以R2不会接收这条路由,当然不会向R4发送撤销,此时R4 BGP表3条(F_R3,F_R7,F_R2)
7 向4 发的路由更新:LP=120, 下一条3.3.3.3, 带有簇id和起源id
4向7发的路由撤销:
4 向2 发送的路由更新: ebgp没有 LP