区域间路由计算
了解了3类LSA的具体内容,我们再来看一下我们如何根据3类LSA去计算路由的。
在这个拓扑其实是一个简化版的拓扑:
我们把原来的RTE和RTD都去省略掉了,因为它是非骨干区域的路由器,并不重要。我们可以直接认为这个网段是连接在ABR上的,相当于一个逻辑拓扑。
骨干区域
此时我这个ABR收到了一条1类LSA,在这里把它转化为了3类LSA发给RTA,然后RTA去转发给RTC。
此时RTA去计算192.168.1.0这一条路由信息的时候:
- 假如说它会生成2类LSA的话,RTA先去查看1类LSA、2类LSA。
- 如果是点对点的肯定不需要生成2类LSA。
首先查看1、2类LSA,去知道RTA和RTB的Metric值是多少,最后得出该接口的Metric的值是1。然后再去查看RTB发送给我的3类LSA,发现在3类LSA中从RTB到目的网段的Metric值也是1,就计算出了RTA到达1.0网段的Metric值等于2。
同理对于2.0也是一样的,先去查看1、2类LSA计算出RTA到达ABR的Metric值是多少,然后再根据RTC生成的这条3类LSA,去计算出RTC到达目的网段的Metric值,进行一个逐条累加,累加结果就是RTA到2.0的Metric值。
这是对于骨干区域通过3类LSA计算路由的过程。
非骨干区域
对于非骨干路由如何通过ABR来计算出Metric值呢?
首先我们以192.168.1.0为例,我们可以先看一下左边的拓扑:
在左边的拓扑中,192.168.1.0这一条路由,由RTB生成一条3类的LSA,传送给RTA和RTC。
RTC收到这条3类LSA之后,我们反复强调过会重新生成一条3类LSA,这个时候重新的生成的这条3类LSA,192.168.1.0这条3类LSA会去计算Metric值,计算Metric值也是一样的进行累加。
- 先通过1类、2类LSA来计算BC之间的距离,很明显Metric的值等于2。
- 根据我收到的这条LSA计算出RTB到1.0的距离是1。
- 那么2+1=3,因此我们计算出了RTC到达目的网段1.0的Metric值等于3。
然后这个时候的通告路由器(Adv)是RTC,即3.3.3.3,然后我再把这个3类的LSA通告给RTE,此时RTE收到的这条3类LSA:
- 目的网段是192.168.1.0。
- 通告者是3.3.3.3
- Metric值是3。
此时这个Metric值仅仅是我RTC到达目的网段的Metric值,我还需要通过1类LSA、2类LSA去计算出我到达RTC的距离,即1,此时我就再进行一个累加,最后我的RTE到1.0的距离就是等于4。
总结
这是区域间的路由计算,它的计算方式比较简单,可以看出它就是一个简单的带宽叠加的过程。
我们需要注意,3类LSA的泛洪范围是在相邻区域内泛洪的,每经过一个其他的区域,ABR都要去生成一个新的3类LSA。