摘 要
本文主要从分析OSPF协议的基本工作原理出发,介绍了OSPF协议操作过程,研究了OSPF协议的核心算法实现。O S P F由I E T F在2 0世纪8 0年代末期开发,O S P F是S P F类路由协议中的开放式版本。最初的O S P F规范体现在RFC 11 3 1中。这个第1版( O S P F版本1 )很快被进行了重大改进的版本所代替,这个新版本体现在RFC 1247文档中。RFC 1247 OSPF称为O S P F版本2是为了明确指出其在稳定性和功能性方面的实质性改进。这个O S P F版本有许多更新文档,每一个更新都是对开放标准的精心改进。接下来的一些规范出现在RFC 1583、2 1 7 8和2 3 2 8中。
OSPF路由协议是一种典型的链路状态(Link-state)的路由协议,一般用于同一个路由域内。在这里,路由域是指一个自治系统(Autonomous System),即AS,它是指一组通过统一的路由政策或路由协议互相交换路由信息的网络。在这个AS中,所有的OSPF路由器都维护一个相同的描述这个AS结构的数据库,该数据库中存放的是路由域中相应链路的状态信息,OSPF路由器正是通过这个数据库计算出其OSPF路由表的。
作为一种链路状态的路由协议,OSPF将链路状态广播数据包LSA(Link State Advertisement)传送给在某一区域内的所有路由器,这一点与距离矢量路由协议不同。运行距离矢量路由协议的路由器是将部分或全部的路由表传递给与其相邻的路由器并采用VC++编程的方式对OSPF路由协议进行了仿真:
通过数据库以邻接矩阵存储网络的拓扑结构图,图中的结点即表示WAN中的路由器;
可以随意选择某一个结点作为初始结点,随机变化网络状态(更改,删除结点,改变度量等等),根据OSPF协议的工作原理,显示每个结点的路由表。