OSPF协议原理与配置详解
OSPF(Open Shortest Path First)是IETF(Internet Engineering Task Force)组织开发的一个链路状态协议,采用SPF算法,用于在自治系统(Autonomous System,AS)内发现和计算路由。OSPF是IGP(Interior Gateway Protocol)协议,通过收集和传递自治系统的链路状态来动态地发现并传播路由。
OSPF协议的基本思想是,每个路由器都有责任和邻机会话,并获悉它们的名字。每个路由器构建一个称为“链路状态广播(LSA)”的包,该包列出了邻机的名字和到达这些邻机的费用。LSA被传送到所有的别的路由器,每个路由器存储了来自其他路由器的最新的LSA。每个路由器现在有了完整的拓扑图,计算出到每个目的地的路由。
OSPF协议的优点包括:
* 快速收敛:如果网络的拓扑结构发生变化,OSPF立即发送更新报文,使这一变化在自治系统中同步。
* 无自环:由于OSPF通过收集到的链路状态用最短路径树算法计算路由,故从算法本身保证了不会生成自环路由。
* 区域划分:OSPF协议允许自治系统的网络被划分成区域来管理,区域间传送的路由信息被进一步抽象,从而减少了占用网络的带宽。
* 等值路由:OSPF支持到同一目的地址的多条等值路由。
* 路由分级:OSPF使用4类不同的路由,按优先顺序分别是:区域内路由、区域间路由、第一类外部路由、第二类外部路由。
* 支持验证:它支持基于接口的报文验证以保证路由计算的安全性。
* 组播发送:OSPF在有组播发送能力的链路层上以组播地址发送协议报文,即达到了广播的作用,又最大程度的减少了对其他网络段设备的干扰。
OSPF协议和RIP协议的比较:
* OSPF协议使用洪泛法将信息发送到所有路由器,而RIP协议仅仅向自己相邻的几个路由器发送信息。
* OSPF协议发送的信息是链路状态,而RIP协议发送的信息是到所有网络的距离和下一跳路由器。
* OSPF协议只有当链路状态发生变化时,路由器才用洪泛法向所有路由器发送此信息,而RIP协议不管网络拓扑有无发生变化,路由器之间都要定期交换路由器表的信息。
OSPF协议的基本组件包括:
* Router ID:一个32bit的无符号整数,是一台路由器的唯一标识,在整个自治系统内惟一。
* 指定路由器DR(Designated Router)和备份指定路由器BDR(Backup Designated Router):在一个广播型多路访问环境中的路由器必须选举一个DR和BDR来代表这个网络,以减少在局域网上的OSPF的流量。
OSPF协议的DR和BDR选举是根据路由器优先级,优先级高者为DR,次高者为BDR。如果Priority值相同,Router-id值大者成为DR。DR/BDR的选举是为了解决在广播和NBMA类型的网络上,任意两台路由器之间都需要传递路由信息的问题,以减少不必要的传递和浪费的带宽资源。