关于OSPF外部路由E1和E2的分析 关于OSPF外部路由E1和E2的分析 1.ospf 在单个asbr 发布外部路由的时候1.1 单个ASBR OSPF 域内等值路径在r2 的ospf 上重新发布rip 的路由,发布的类型为e2 或e1这个时候,r5 上都会出现两条路由,分别通过r3 和r4 到达10.1.1.0 (因为都是等代价路由,这部分比较简单,不细说)关于ospf外部路由e1和e2路由选择区别 网络无限1.2 单个ASBR OSPF 域内不等值路径在r2 上重分布的时候发布e2 的路由,发布的metric 为20在r5 上只会看到一条路由,通过r4 到达 的地址的路由。因为lsdb 库收敛后最终有1 条5 类lsa,收到的路由的metric 为20,r5 通过spf 的算法,计算如何到达asbr 的最近距离。通过计算,r5 选择r4作为10.1.1.0网段的下一跳路由。由于e2 的路由再放入路由表的时候不需要叠加ospf 域内的cost 值。因此在路由表中该路由的metric值也为20。原本我在理解e2路由的时候总是认为r5 到达10.1.1.0 网段的metric由于不考虑内部路由,所以无所谓内部网络是如何的,哪怕路径不等价,也是做为两条路由放在路由表中的,实际是对ospf如何通过lsdb 库构建路由不熟悉犯的错。在r2 上重分布的时候发布e1 的路由,发布的metric 为20在r5的lsdb 库中只有一条5 类的lsa,收到的路由的metric为20,r5 通过spf的算法,计算如何到达asbr 的最近距离。通过计算,r5 选择r4 作为10.1.1.0 网段的下一跳路由。由于e1 的路由在放入路由表的时候需要叠加ospf 域内的cost 值。因此在路由表中该路由的metric值也为22。总结:在ospf 域内路径不等价的情况下,e1 和e2 的路由选择的路径是相同的,其选择路径关于ospf外部路由e1和e2路由选择区别 网络无限的原理本质也是相同的,虽然e2 不计算内部的cost 值,但是路由器仍然会比较到达ASBR的路径值的大小,会选择最优的路径。2.ospf 在多个asbr 发布外部路由的时候2.1 被重发布的路由协议的管理距离值高于ospf 路由的管理距离值在r2 和r5 的ospf 上重新发布rip 路由,发布的类型为e2,e1,metric 值都是20这时候,在整个ospf 域内都只有一条到达10.1.1.0 的路由。因为r2 或者r5 向ospf 域内重发布rip 路由的时候,关键看r2 和r5 谁先收到对方重发布过来的路由,如果r2 先收到了该条路由,那么在r2 路由器上就会出现针对10.1.1.0 网段重发布不成功的现象。因为重发布必须遵循两个原则,第一、重发布的路由必须在路由表(某种需要重发布的路由协议的形式)中存在,即ospf 重发布rip 的路由,那么在路由表中针对需要重发布的路由必须以rip 的形式存在。第二、重发布的路由器不会更改自己的路由表。而这种情况下,r2 学到10.1.1.0 网段有两种路由协议,一种是r5 重发布过来的路由,一种是rip 学过来的路由,这个时候路由表就删除了通过rip 学来的路由。这样r2 的重发布就不会成功。由于r2 的重发布不成功,因此域内ospf 会收敛到一个asbr 发送的重发布路由。关于ospf外部路由e1和e2路由选择区别 网络无限这种情况其实对任何一种路由重发布都是有效的,也就是在重发布的时候要考虑不同路由协议之间distance。只要理解重发布的过程就可以了。以上的情况可以归结为被重发布的路由协议的distance 值高于需要重发布其他路由协议的路由的distance 值。说的很拗口,理解就行。2.2 被重发布的路由协议的管理距离值低于ospf 路由的管理距离值以静态路由为例在ospf 域内路由表的选择原则是,l 首先路由器会根据自己接收到的lsa计算比较到目标网络的metric,会选择metric小的lsa做为计算路由的依据(E1和E2不会进行相互比较)。l 其次,在metric 相同的情况下,会计算到asbr 的距离作为放入路由表的依据。选择最优的路由放入路由表。那么在的情况下域内cost 值相同,都为1如果发布都是e2 的路由,那么r3 和r4 路由器会收到2 个5 类的lsa,分别来自两个不同的ASBR。而且两个ASBR发布的都发布的是e2的5类lsa,r3计算得出到达10.1.1.0 网段的metric 值都为20(不包含ospf域内的cost值)。然后r3 会比较到达两个ASBR的cost值,经过比较,到达两个ASBR的cost值都相同,因此在r3 的路由表有两条路由前往10.1.1.0关于ospf外部路由e1和e2路由选择区别 网络无限的路由。同理r4。r2 只有一条静态路由在路由表中,r5 也只有一条静态路由。如果发布都是e1 的路由,r3 和r4 路由器同样会收到2 个5 类的lsa,分别来自两个不同的ASBR。但这时r3 计算出来的metric 与上面的不同。R3 通过spf 算法计算出由两个ASBR 重分布的外部路由的metric 值都为21,这时,r3 会计算内部路径的cost 值,发现到两个ASBR 的路径值相同。因此r3 的路由表仍然会有两条路由,分别都通过r2 和r5 学到了10.1.1.0 网段。同理r4。r2 和r5 都只有一条路由。域内cost 值不同,r2 和r3 之间的cost 值为64如果发布都是e2 的路由,r3根据lsdb库计算出到达10.1.1.0网段的会有两个路径,metric相同,都是20,并且是去往两个ASBR 的。此时r3 会进行spf 算法计算出到达两个ASBR的最优路径,到达r2为3,到达r5为1,因此r3 会选择r5作为10.1.1.0网段的下一跳路由。R3 的路由表只有一条路由。而r4 计算得出到达10.1.1.0 网段的metric 值都为20(不包含ospf域内的cost值)。然后r4 会比较到达两个ASBR的cost值,经过比较,到达两个ASBR的cost值都相同,r4 的路由表有两条路由前往10.1.1.0 的路由。r2 只有一条静态路由在路由表中,r5 也只有一条静态路由。如果发布都是e1 的路由,R3通过spf算法计算出到达10.1.1.0 网段的metric有两个,一个为23,一个21,计算出metric值为21 的ADV 为r5,r3 会选择r5作为10.1.1.0 网段的出口ASBR。由于r3在计算metric值的时候本身进行的就是spf算法,所以r3到达r5的路径也是域内的最优路径。R3 的路由表中只有一条路由。同理可以计算出r4。R4的路由表仍然会有2 条路由。r2 和r5 都只有一条路由。这里再提一句,如果r5 没有进行重发布,只有r2 进行重发布,那么r3 的路由表也只有一条,通过r5 作为下一跳。还有大家可以仔细思 一下如果两边发布的metric值不同,情况会如何,如果发布的类型不同,又会如何。其实只要掌握ospf 对于外部路由的选择的原则,一切都比较清晰。注明:在E1 和E2都存在的情况下,首先选择的是E1的路由,不比较E1和E2的metric值。