|
1.根本原因
导致路由收敛环路的根本原因是:同前缀的不同路径,比较顺序不同,最佳路径选择的结果不同——存在路径比较环路
例如Net A有三条路径a、b、c,如果存在如下关系,则可能会发生路由收敛环路
a > b,b > c,c > a
而如果不满足上述条件,三条路径相互比较,一定能够比较出优先级序列,例如
a > b,c > b,a > c,则有a > c > b
在此情况下,由于选路优先级明确,即便在收敛过程中可能会出现浮动,但是最终一定能够收敛到预测的结果
在BGP中,具体表现为AS_PATH中最近的AS不一致时,不比较MED;而AS_PATH中最近的AS相同时比较MED
当有多条路径时,可能导致某些路径比较MED值,而某些路径比较其它选路参数
2.收敛环路现象及解决办法
2.1 现象
①BGP Table Version值不断增加
and
②BGP路径不断切换,路径数量也会发生浮动
2.2 解决办法
①配置deterministic-med,防止路由比较环路的产生——推荐做法
②always-compare-med
③将MED值置为0(可以配合community使用)
3.iBGP全互联环境下的收敛环路
如上图所示,联盟内某个AS 4台设备分别收到4条相同前缀的更新,其优先情况为R1> R2 > R3,R4 > R1,R2 > R4,R3 > R4
3.1 初始情况
R1:
|
Path
|
Next Hop
|
AS_PATH
|
MED
|
RID
|
|
1
|
-
|
100
|
1
|
10.10.10.10
|
其它设备同理,这里不一一列出,红色路径表示当前选择的最佳路径
3.2 4台设备相互发送更新后,其BGP转发表分别如下
R1:
|
Path
|
Next Hop
|
AS_PATH
|
MED
|
RID
|
|
1
|
R2
|
100
|
2
|
2.2.2.2
|
|
2
|
R4
|
200
|
1
|
4.4.4.4
|
|
3
|
R3
|
100
|
3
|
3.3.3.3
|
|
4
|
-
|
100
|
1
|
10.10.10.10
|
R1上选路未发生改变,下一步本地无操作
R2:
|
Path
|
Next Hop
|
AS_PATH
|
MED
|
RID
|
|
1
|
R3
|
100
|
3
|
3.3.3.3
|
|
2
|
R4
|
200
|
1
|
4.4.4.4
|
|
3
|
R1
|
100
|
1
|
10.10.10.10
|
|
4
|
-
|
100
|
2
|
2.2.2.2
|
此时R2上的选路发生改变,R2下一步将回收向R1、R3、R4通告的更新
R3:
|
Path
|
Next Hop
|
AS_PATH
|
MED
|
RID
|
|
1
|
R2
|
100
|
2
|
2.2.2.2
|
|
2
|
R4
|
200
|
1
|
4.4.4.4
|
|
3
|
R1
|
100
|
1
|
10.10.10.10
|
|
4
|
-
|
100
|
3
|
3.3.3.3
|
此时R3上的选路发生改变,R2下一步将回收向R1、R2、R4通告的更新
R4:
|
Path
|
Next Hop
|
AS_PATH
|
MED
|
RID
|
|
1
|
R2
|
100
|
2
|
2.2.2.2
|
|
2
|
R3
|
100
|
3
|
3.3.3.3
|
|
3
|
R1
|
100
|
1
|
10.10.10.10
|
|
4
|
-
|
200
|
1
|
4.4.4.4
|
R4上选路未发生改变,下一步本地无操作
3.3 R2、R3的更新被回收
R1:
|
Path
|
Next Hop
|
AS_PATH
|
MED
|
RID
|
|
1
|
R4
|
200
|
1
|
4.4.4.4
|
|
2
|
-
|
100
|
1
|
10.10.10.10
|
R1上的最佳路径发生改变,R1将回收通告的更新
R2:
|
Path
|
Next Hop
|
AS_PATH
|
MED
|
RID
|
|
1
|
R4
|
200
|
1
|
4.4.4.4
|
|
2
|
R1
|
100
|
1
|
10.10.10.10
|
|
3
|
-
|
100
|
2
|
2.2.2.2
|
R2上最佳路径发生改变,R2将通告更新
R3:
|
Path
|
Next Hop
|
AS_PATH
|
MED
|
RID
|
|
1
|
R4
|
200
|
1
|
4.4.4.4
|
|
2
|
R1
|
100
|
1
|
10.10.10.10
|
|
3
|
-
|
100
|
3
|
3.3.3.3
|
R4:
|
Path
|
Next Hop
|
AS_PATH
|
MED
|
RID
|
|
1
|
R1
|
100
|
1
|
10.10.10.10
|
|
2
|
-
|
200
|
1
|
4.4.4.4
|
R4上最佳路径未发生改变,下一步无操作
3.4 R1回收更新,R2、R3通告更新
R1:
|
Path
|
Next Hop
|
AS_PATH
|
MED
|
RID
|
|
1
|
R3
|
100
|
3
|
3.3.3.3
|
|
2
|
R2
|
100
|
2
|
2.2.2.2
|
|
3
|
R4
|
200
|
1
|
4.4.4.4
|
|
4
|
-
|
100
|
1
|
10.10.10.10
|
R1上的最佳路径发生改变,R1将通告更新
R2:
|
Path
|
Next Hop
|
AS_PATH
|
MED
|
RID
|
|
1
|
R3
|
100
|
3
|
3.3.3.3
|
|
2
|
R4
|
200
|
1
|
4.4.4.4
|
|
3
|
-
|
100
|
2
|
2.2.2.2
|
R2上最佳路径未发生改变
R3:
|
Path
|
Next Hop
|
AS_PATH
|
MED
|
RID
|
|
1
|
R2
|
100
|
2
|
2.2.2.2
|
|
2
|
R4
|
200
|
1
|
4.4.4.4
|
|
3
|
-
|
100
|
3
|
3.3.3.3
|
R3上最佳路径发生改变,R3将回收通告的更新
R4:
|
Path
|
Next Hop
|
AS_PATH
|
MED
|
RID
|
|
1
|
R3
|
100
|
3
|
3.3.3.3
|
|
2
|
R2
|
100
|
2
|
2.2.2.2
|
|
3
|
-
|
200
|
1
|
3.3.3.3
|
R4上最佳路径发生改变,R4将回收通告的更新
3.5 R1通告更新,R3、R4回收更新
R1:
|
Path
|
Next Hop
|
AS_PATH
|
MED
|
RID
|
|
1
|
R2
|
100
|
2
|
2.2.2.2
|
|
2
|
-
|
100
|
1
|
10.10.10.10
|
R1上最佳路径未改变
R2:
|
Path
|
Next Hop
|
AS_PATH
|
MED
|
RID
|
|
1
|
R1
|
100
|
1
|
10.10.10.10
|
|
2
|
-
|
100
|
2
|
2.2.2.2
|
R2上最佳路径发生改变,将回收更新
R3:
|
Path
|
Next Hop
|
AS_PATH
|
MED
|
RID
|
|
1
|
R1
|
100
|
1
|
10.10.10.10
|
|
2
|
R2
|
100
|
2
|
2.2.2.2
|
|
3
|
-
|
100
|
3
|
3.3.3.3
|
R3上最佳路径发生改变,下一步无操作
R4:
|
Path
|
Next Hop
|
AS_PATH
|
MED
|
RID
|
|
1
|
R1
|
100
|
1
|
10.10.10.10
|
|
2
|
R2
|
100
|
2
|
2.2.2.2
|
|
3
|
-
|
200
|
1
|
3.3.3.3
|
R4上最佳路径发生改变,将通告更新
3.6 R2回收更新,R4通告更新
R1:
|
Path
|
Next Hop
|
AS_PATH
|
MED
|
RID
|
|
1
|
R4
|
200
|
1
|
4.4.4.4
|
|
2
|
-
|
100 |
域名转让和技术支持QQ:2000617

Powered by Discuz! X3.4
Copyright © 2001-2021, Tencent Cloud.
|