OSPF 外部路由选路规则及RFC2382与RFC1583分析

1      OSPF选路规则

通过同一个OSPF进程内的LSA计算的相同路由条目:

1.     区域内路由优于区域间路由

2. 区域间路由优于外部路由

3. 对于外部路由,类型1总是优于类型2

4. 对于外部路由,且开销类型相同时:

(1)   同为外部类型2,重分布时携带开销小的最优

(2)   定义两种开销值:

l  x=内部设备到转发地址(FA)的开销;FA0时,X为到ASBR的开销

l  y=外部路由重分发进来时LSA携带的开销值

RFC1583RFC2328是针对外部路由由不同选优方式。

此时需要分选择标准:

* RFC1583标准:

A.      TYPE-1路由比对:

X+Y值最小路由

B.       TYPE-2路由比对:

X值最小路由

之后就没有成型的规范了。基本实现应该是负载

* RFC2328标准:

直接比对X路由类型(RFC232816.4.1

(1)   非骨干区域的区域内路由始终优先。

(2)   骨干区域中的区域内路径和区域间路径,优先级相同

(3)   如果无法比对出结果,则等同RFC1583继续比对

(4)   如果多条都是最小开销,选择学习到的这些LSA的区域里,选择最大area-ID里面的LSA使用

之后没有任何成型规范。所以,如果ID(associated area-ID)相同,基本实现应该是负载

2      测试的拓扑图与说明

设备互连IP段,如AR1AR2互连为10.10.AB.AAR110.10.12.1/24AR210.10.12.2/24ospfrouter IDA.A.A.A,如AR1router ID1.1.1.1

引入的路由为loop0地址,IP地址都为100.100.100.100/32

                                   image.png          

3      兼容RFC1583(默认兼容)下的选路

3.1          引入type 1的外部路由

R2,R4R5都引入type 1并都设置cost 10

[R2-ospf-1]dis this

[V200R003C00]

#

ospf 1 router-id 2.2.2.2

 import-route direct cost 10 type 1

 area 0.0.0.0

  network 10.10.12.2 0.0.0.0

  network 10.10.23.2 0.0.0.0

#

[R4-ospf-1]dis this

#

ospf 1 router-id 4.4.4.4

 import-route direct cost 10 type 1

 area 0.0.0.1

  network 10.10.34.4 0.0.0.0

#

<R5>dis cu configuration ospf

#

ospf 1 router-id 5.5.5.5

 import-route direct type 1 cost 10

 area 0.0.0.2

  network 10.10.35.5 0.0.0.0

#

3.1.1     X相同,Y相同

R3到外部路由的:X=1,Y=10

R3查看100.100.100.100路由,三条等价路由负载,开销都为11X=1,Y=10

image.png

3.1.2     X不同,Y相同

修改(增加)R3Area 1Area 2接口的开销后(意味着X的开销增大),即R3R2引入的路由:X=1,Y=10R3R4R5引入的路由为X=100Y=10,那么路由就优先开销小(X+YAR2引入的路由(X=1,Y=10,其余两条X=100,Y=10

[R3-GigabitEthernet2/0/0]ospf cost 100

[R3-GigabitEthernet0/0/1]ospf cost 100

R3查看100.100.100.100路由,优选X+Y小的负载。

image.png

3.1.3     X相同,Y不同

恢复R3Area 1Area 2接口的开销后(意味着X相等),R4引入路由的开销设为20,即R4引入的路由Y=20,而R2R5引入的路由Y=10

[R3-GigabitEthernet2/0/0]undo ospf cost

[R3-GigabitEthernet0/0/1]undo ospf cost

[R4-ospf-1]import-route direct type 1 cost 20

R3查看100.100.100.100路由,优选X+Y小的负载。

image.png

3.1.4     X不同,Y不同,X+Y相同

恢复R4引入的路由开销为10,修改(增加)R3Area 1Area 2接口的开销后(意味着X的开销增大),即R3R2引入的路由:X=1,Y=109R3R4R5引入的路由为X=100Y=10,那么路由就X+Y)相等时负载

[R3-GigabitEthernet2/0/0]ospf cost 100

[R3-GigabitEthernet0/0/1]ospf cost 100

[R2-ospf-1]import-route direct type 1 cost 109

R3查看100.100.100.100路由,三条(X+Y相等)等价路由负载

image.png

3.2          引入type 2的外部路由

R2R4R5同时引入type 2并都设置cost 20

[R2-ospf-1]import-route direct type 2 cost 20

[R4-ospf-1]import-route direct type 2 cost 20

[R5-ospf-1]import-route direct type 2 cost 20

3.2.1     X相同,Y相同

R3到外部路由的X=1,Y=20

R3查看100.100.100.100路由,三条等价路由负载,开销为Y

image.png

3.2.2     X不同,Y相同

修改(增加)R3Area 1接口的开销后(意味着X的开销增大)

[R3-GigabitEthernet2/0/0]ospf cost 100       

查看路由,R4X=100R2R5X=1,先比对Y,再比对XY相等,X小的优先,X相等进行负载。

image.png

3.2.3     X相同,Y不同

恢复R3Area 1接口的开销后(意味着X相等),R4引入路由的开销设为20,即R5引入的路由Y=30,而R2R5引入的路由Y=10

[R3-GigabitEthernet2/0/0]undo ospf cost

[R5-ospf-1] import-route direct type 2 cost 30

R3查看100.100.100.100路由,优选Y小的负载。

image.png

3.3          引入type 2的外部路由分析

比较YY都为20,当Y相等时,对比XX也都为1,因此负载分担,且路由的开销为20Y)。

当增加R3Area 1Area 2区域接口的开销后,依旧按照Y开销小的优先,选择AR2引入的路由(走骨干区域)。

4      RFC2328(不兼容RFC1583)下的选路

4.1          引入type 1 的外部路由

R2R4R5配置引入type 1路由并设置cost 10

[R2-ospf-1]import-route direct type 1 cost 10

[R4-ospf-1]import-route direct type 1 cost 10

[R5-ospf-1]import-route direct type 1 cost 10

R3配置取消RFC1583兼容

[R3-ospf-1]undo rfc1583 compatible

4.1.1     X相同,Y相同

R3到外部路由的:X=1,Y=10

查看R3100.100.100.100路由,两条等价路由,一条骨干区域引入的路由选优失败。优选X为非骨干区域,再根据X+Y负载。

image.png

4.1.2     X不同,Y相同

修改(增加)R3Area 1Area 2接口的开销后(意味着X的开销增大),路由选路没有变化,只是增加了开销,证明优选X为非骨干区域,再根据X+Y负载。

[R3-GigabitEthernet2/0/0]ospf cost 100

[R3-GigabitEthernet0/0/1]ospf cost 100

image.png

4.1.3     X相同,Y不同

恢复R3Area 1Area 2接口的开销后(意味着X相等),R5(非骨干区域)引入路由的开销设为20,即R5引入的路由Y=20,而R2R4引入的路由Y=10

[R3-GigabitEthernet2/0/0]undo ospf cost

[R3-GigabitEthernet0/0/1]undo ospf cost

[R5-ospf-1]import-route direct type 1 cost 20

R3查看100.100.100.100路由,优选X为非骨干区域,再根据X+Y优选。选择了X为非骨干区域且X+Y最小的R4

image.png

4.1.4     X不同,Y不同,X+Y相同

恢复R4引入路由的开销为10,修改(增加)R3Area 1Area 0接口的开销后(意味着X的开销增大),即R3R5引入的路由:X=1,Y=109R3R4R5引入的路由为X=100Y=10,那么路由就X+Y)相等时负载

[R3-GigabitEthernet2/0/0]ospf cost 100

[R3-GigabitEthernet0/0/0]ospf cost 100

[R5-ospf-1]import-route direct type 1 cost 109

R3查看100.100.100.100路由,优选X为非骨干区域,再根据X+Y负载。

image.png

4.1.5     引入type 1的外部路由分析ASBR位置

R3查看LSDB,引入type1的外部路由的FA都为0.0.0.0,即X等于去往ASBR的开销,都为1Y都为10。比较X+YX+Y都等于11,因此负载分担,且开销为11(1+10)。但是AR2ASBR)在骨干区域,比较X,非骨干区域路由的优先,因此ASBRR4R5的负载分担,这里试验结果是OSPF并没有对比区域ID

[R1-ospf-1]undo rfc1583 compatible

对比配置AR1,依旧可以再骨干区域和非骨干区域之间负载。因此证明与ASBR在哪无关,而是该路由器去ASBR的路由经过的哪个区域AR1100.100.100.100的两条路由不管是R2引入还是R4R5引入,去往ASBR的路由都是经过Area 0.

image.png

当增加R3Area 1Area 2区域接口的开销后,依旧是非骨干优先原则,选择非骨干区域的路由负载,开销为X+Y

4.2          引入type 2的外部路由

R2R4R5同时引入type 2并都设置cost 20

[R2-ospf-1]import-route direct type 2 cost 20

[R4-ospf-1]import-route direct type 2 cost 20

[R5-ospf-1]import-route direct type 2 cost 20

R3配置取消RFC1583兼容

[R3-ospf-1]undo rfc1583 compatible

4.2.1     X相同,Y相同

查看R3100.100.100.100路由两条等价路由一条骨干区域引入的路由选优失败,非骨干优先原则

image.png

4.2.2     X不同,Y相同

修改(增加)R3Area 1接口的开销后(意味着X的开销增大)

[R3-GigabitEthernet2/0/0]ospf cost 100       

查看路由,R4X=100R2R5X=1

1.       非骨干优先原则,先选择X为非骨干路由R4R5

2.       比对Y,再比对XY相等,X小的优先,因此选择R5

image.png

4.2.3     X相同,Y不同

恢复R3Area 1接口的开销后(意味着X相等),R4引入路由的开销设为20,即R5引入的路由Y=30,而R2R5引入的路由Y=10

[R3-GigabitEthernet2/0/0]undo ospf cost

[R5-ospf-1] import-route direct type 2 cost 30

R3查看100.100.100.100路由,优选Y小的负载。

1.       非骨干优先原则,先选择X为非骨干路由R4R5

2.       比对YY小优先,因此选择R4

 image.png 

5      RFC1583RFC2328混用形成环路

设备互连IP段,如AR1AR2互连为10.10.AB.AAR110.10.12.1/24AR210.10.12.2/24ospfrouter IDA.A.A.A,如AR1router ID1.1.1.1

引入的路由为loop0地址,IP地址都为100.100.100.100/32

image.png

1.       R2配置取消RFC1583兼容;

[R2-ospf-1]undo rfc1583 compatible

2.       R3默认开启RFC1583兼容,G0/0/1OSPF开销配置为100

[R3-GigabitEthernet0/0/1]ospf cost 100

3.       R1R4都引入直连路由,type 2cost20.

[R1-ospf-1]import-route direct type 2 cost 20

[R4-ospf-1]import-route direct type 2 cost 20

查看R2100.100.100.100路由,cost 20,下一跳R3

image.png

查看R3100.100.100.100路由,cost 20,下一跳R2

image.png

R2R3之间形成环路。

image.png

5.1          环路分析

R2取消了RFC 1583兼容,因此优选非骨干区域的去往ASBR/FA的路由,而R3兼容RFC1583,根据外部路由开销选择路由,因为R3去往R4的开销变大,因此选择R2,形成环路,实际上,不论是引入的type 1type 2,只要是R2选择取消RFC1583兼容,R3选择RFC兼容,而R2选择了非骨干区域去往ASBR/FAR3选择开销小的。因此容易形成环路。

6      RFC2328RFC1583总结

1.       对于外部路由,type 1优于type 2

2.       如果只是type 1选优,

a)      RFC 1583优选X+Y最小的X+Y相等则负载,只比较X+Y,不单独比较X大小或者Y大小

b)      RFC 2328先比较X的区域,非骨干优先,其次再比较X+Y

3.       如果只是type 2选优,

a)      RFC1583优选Y最小,如果Y相等,则比对X,优先X最小,X也相等则负载

b)      RFC2328先比较X的区域,非骨干优先,再根据RFC1583比对

测试中未发现根据Area ID进行选择

X的区域比较只当前路由器去往转发地址(FA)的路由(如果FA=0,则是去往ASBR的路由)是否经过骨干区域,而无关ASBR是否在骨干区域。


猜你喜欢

转载自blog.51cto.com/xxy12345/2607788