OSPF路由协议
CMX 译自《TCP/IP Protocol Suite》 05-14-2003
OSPF协议是一个正在开始流行的内部路由协议。其作用域也是一个自治系统。若干个所谓“自治系统边界路由器”用于负责将其他自治系统的信息传入当前系统。为了提高路由处理的效率,OSPF将一个自治系统分成若干个区域。
区域
所谓“区域”就是某个自治系统内部若干网络、主机和路由器的组合。反之,一个自治系统可以分成许多个不同的区域。一个区域内的所有网络必须连接起来。
区域内的各个路由器将路由信息向该区域发布。在一个区域的边界处,一些所谓的“区域边界路由器”将与该区域有关的信息进行汇总,并将其发送给其他区域。在自治系统的内部区域中,有一个特殊的区域叫“主干区域”。该自治系统内的所有区域必须与此主干区域连接。换言之,主干区域相当于底层区域,而其他区域相当于第二层的区域。但这并不表示各区域内的路由器们不能相互连接。
主干区域内的路由器称为“主干路由器”。注意,主干路由器也可能是一个区域边界路由器。
如果由于某些问题,某主干路由器与某个区域之间的连接断开了,管理系统必须在路由器间创建一个“虚拟链路”以保持主干区域作为底层区域的功能。
每个区域都有一个区域标识号。主干区域的区域标识号为0。下图显示了一个自治系统及其各区域的情况。
计量标准
OSPF协议允许管理者给每个路由器指定一个开销值(所谓“计量标准”)。该计量标准可以基于某种服务类型(最小延迟、最大吞吐量等)。事实上,一个路由器可以有多个路由表,每个表基于一个不同的服务类型。
链路状态路由
OSPF使用“链路状态路由”来更新一个区域内的路由表。在具体讨论OSPF协议之前,先讨论一下“链路状态路由”,这是一种使每个路由器与该区域中的各路由器共享其邻居情况的技术。理解这种方法的工作原理,关键有三点:
1、共享关于邻居的知识。每个路由器都发送自己的邻居状态给区域内的每个其他路由器。
2、和每个其他路由器共享。每个路由器都发送自己的邻居状态给区域内的每个其他路由器。所用的方法是所谓“广播”,也就是一个路由器将其信息发送给所有它的邻居们(通过它的所有端口)。每个邻居又把这个数据包转发给所有它的邻居们,以此进行下去。每个接收到该数据包的路由器发送一份该数据报考贝给它的每个邻居。最后,每个路由器(毫无例外)都收到了同一份信息的考贝。
3、共享改变的信息。每个路由器仅在链路状态出现变化时才共享其邻居的状态信息。这个规则正好与距离矢量路由技术相反,后者是不管是否出现变化,总要定期发送信息。所以链路状态路由技术产生的内部流量低于距离矢量路由技术。
链路状态路由的基本思想是都应该有该互连网络精确的动态拓扑。