OSPF作为一种可以支持多区域的链路状态路由协议,相应的路由条目也是比较复杂的。路由条目标识中有O(intra-area)、O IA(inter-area)、O E1(external计算内部度量)、OE2(external不计算内部度量)、O N1(NSSA区域中的external路由且计算内部度量)、O N2(NSSA区域中的external路由且不计算内部度量)。所以OSPF的选路规则也是IGP路由协议相对比较复杂的,下面我们就结合实验来讨论一下OSPF的选路规则。
1. O和O IA的比较
通过这个实验我们可以得出结论O>O IA
2. OIA 与O E的比较
通过这个实验我们可以得出结论O IA>O E
3. O E1与O E2的比较
通过这个实验我们得出结论O E1>O E2
4. O N1与O N2的比较
通过这个实验我们得出结论O N1>O N2
5. O E1与O N2的比较
通过这个实验我们得出结论O E1>O N2
6. O N1与O E2的比较
通过这个实验我们得出结论O N1>O E2
综合3-6几个实验,我们又得出一个很重要的结论,那就是无论是O N还是OE的路由1型的选路永远是优先于2型的。
我们通过这6个实验得出的结论如图:
需要注意的是此时在选路中不同类型(我们这里把每个圈归为一类)的选路是优先于Metric值的。
而在每一种类型的内部关于同一个网络有多个条目时,他是怎么样选路的呢?
这时路由器才会参考Metric值进行选路:
1. 当一台路由器对于同一网段有2条O的路由(或2条O IA的路由)时:
l 若Metric值不同,则选择Metric值较低的路径
l 若Metric值相同,则负载均衡
2. 当一台路由器对于同一网段收到2条O E1的路由:
l 若Metric值不同,则选择Metric值较低的路径
l 若Metric值相同,则负载均衡
3. 当一台路由器对于同一网段收到2条O N1的路由:
l 若Metric值不同,则选择Metric值较低的路径
l 若Metric值相同,则负载均衡
4. 当一台路由器对于同一网段即收到1条O E1,又收到一条O N1
l 若Metric值不同,则选择Metric值较低的路径
l 若Metric值相同,则选择O E1
5. 当一台路由器对于同一网段收到2条O E2的路由:
l 若Metric值不同,则选择Metric值较低的路径
l 若Metric值相同,则选择到达ASBR的Metric值较低的路径
l 若Metric值相同,到达ASBR的Metric值也相同,则负载均衡
6. 当一台路由器对于同一网段收到2条O N2的路由:
l 若Metric值不同,则选择Metric值较低的路径
l 若Metric值相同,则选择到达ASBR的Metric值较低的路径
l 若Metric值相同,到达ASBR的Metric值也相同,则负载均衡