OSPF具有可扩展性的一个原因是它的路由更新机制。OSPF使用LSA在OSPF节点之中共享路由信息。这些广播信息会在整个区中进行传播但不会超越一个区。
因此,区中的每一个路由器都知道本区的拓扑。然而,一个区的拓扑对区外是不可知的。
考虑到实际上有四种不同类型的OSPF路由器—区内路由器、区边界路由器、自治系统边界路由器、骨干路由器—很明显每种路由器类型有不同的对等实体集,路由器与这些对等实体交换LSA。
1.内部区路由器
内部的区路由器必须直接和区中的其他路由器交换LSA,其中包括每一个区内部路由器,也包括作为区成员的区边界路由器。图6显示了前面提及的OSPF例子网络中,在整个区1中转发或洪泛LSA的情形。需要重点注重的是相同区中的OSPF路由器无需彼此直接相连就能共享LSA信息。OSPF路由器直接把LSA报文发送到区中每一个知道的路由器,并且使用任何可用的链路来转发那些报文。图1显示了利用ASBR进行自治系统互联的情形。
图1 互联OSPF自治系统
蕴含在图5中不太被注重的一点是收敛能够相当快地发生。其中有两个原因,第一个原因是OSPF路由器能同时直接寻址并发送LSA至区中所有的路由器(洪泛),这和Rip使用的“邻居至邻居”的收敛方法完全不同。这样的结果是区内的路由器几乎同时收敛到新拓扑结构。
图2 在区1内的洪泛
收敛通过区的定义和使用而得到加速。拓扑数据不被传输到区边界之外。因此,收敛不必在自治系统中的所有路由器上发生,而只发生在受影响的区中。这个特点既加速了收敛又增加了网络的稳定性,因为只有自治系统中的一个子网经历不稳定性,这种不稳定性是收敛过程自身带来的。
2.区边界路由器
区边界路由器负责在数据库中为它们接口所连的每个区维护拓扑信息。因此,假如一个区边界路由器互联了两个不同的区,它必须和两个网络中的对等实体交换LSA。和区内部路由器一样,这些LSA直接寻址并传输到区中的对等实体。图3显示了这一点。
图3 在OSPF网络中由区边界路由器引起的区内LSA洪泛
OSPF加强性能的另一个特点是路由汇总。关于一个区的拓扑信息,并不和区外的路由器共享。相反,区边界路由器汇总了所有与其相连的所有区中的地址。这个汇总的路由数据通过LSA报文与其相互联的每个区中的对等路由器实现共享。OSPF使用几种不同类型的LSA:每种有不同的功能。
用于共享汇总路由数据的LSA为类型3LSA。所有OSPFLSA类型会在本章的剩余部分中描述。
在图3中,区边界路由器直接把汇总的数据广播给区0中的所有路由器。OSPF不答应大于或等于1的区之间相互连接。所有这样的互联必须通过区0。因此,其含义是区边界路由器把一个非0编号的区来与区0互联。
3.骨干路由器
骨干路由器负责维护骨干拓扑信息,并且为自治系统中的每个其他区传播汇总的拓扑信息。图4显示了由骨干路由器交换LSA的情形。
图4 在OSPF网络中由骨干路由器引起的区内LSA洪泛
虽然骨干路由器、区边界路由器和区内部路由器之间的差别看起来是清楚的,但由于路由器能支持到其他路由器的多I/O端口连接,三者还是会引起混淆。理论上讲,每个端口可以连至一个不同的区。所以,路由器可以在其连接的不同区之间形成边界。