研究OSPF数据结构( 四 )


表面上讲,LSA的传输是因为一个路由器检测到了链路状态变化 。所以,在接收到任何类型的LSA之后,OSPF路由器必须把LSA的内容和自身路由表的对应部分进行比较 。只有通过SPF算法,使用新数据形成新的网络视图之后才能进行比较,SPF算法输出的结果是得到网络的新视图 。这些结果与已存在的OSPF路由表相比较,看是否它的路由受到了网络状态变化的影响 。
假如由于状态变化必须改变一条或多条路由,就要使用新的信息建造一个新的路由表 。
3.复制LSA
考虑到LSA在整个OSPF区内洪泛,就有可能同时存在多个相同LSA类型的事例 。因此,OSPF网络的稳定性要求路由器能够识别多个LSA中的最新者 。收到两个或多个相同LSA类型的路由器会检查LSA头中的LS年龄、LS顺序号以及LS校验和域 。只有包含在最新LSA中的信息才被接受,并且要经过前面一节中描述的处理过程 。
4 链路-状态应答报文
第5种OSPF报文是链路-状态应答报文 。OSPF的特点是可靠地分布LSA报文(LSA表示链路-状态通告(advertisement),通告而不是链路-状态应答),可靠性意味着通告的接收方必须应答 。否则,源节点将没有办法知道是否LSA已到达目的地 。因此,需要一些应答LSA接收的机制 。这个机制是链路-状态应答报文 。
链路-状态应答报文惟一地标识其要应答的LSA报文 。标识以包含在LSA头中的信息为基础,包括LS顺序号和通告路由器 。LSA与应答报文之间无需1对1的对应关系 。多个LSA可以用一个报文来应答 。
5 计算路由
OSPF虽然很复杂,却使用下面两种相当简单的方法之一计算路由耗费:
?非带宽敏感的缺省值可以用于每一个OSPF接口 。
?OSPF能自动计算使用每个路由接口的耗费 。
不管使用哪种方法,任何一条路由的耗费可以通过把路由上碰到的每个路由器接口耗费加起来得到 。在OSPF的最短路径树中记录了每一个已知目的地的和耗费 。


推荐阅读