本篇非常有意思:
如下圖: 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或起源id小” 選擇 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