OSPF协议
OSPF协议是一种路由协议,它配置在三层交换机或路由器上,用于生成路由表。
OSPF协议可克服RIP协议有跳数限制、频繁更新路由表、占用网络资源比较多等缺点,是当前使用很广泛的一种路由协议。
OSPF协议也是一种内部网关协议,只能用于自治系统内部。
OSPF协议原理
OSPF协议是一种链路状态协议,工作原理与RIP协议区别很大。
路由器会通过OSPF协议获取区域的拓扑结构,并用Dijkstra算法生成一颗最小生成树。路由表就是根据最小生成树的路径生成的。
每当网络发生变化(增加新网络、有网络断开等)时,OSPF就会发送链路状态通告,各路由器就根据这些通告调整拓扑信息数据库,重新生成最小生成树和路由表。
同一区域中的路由器只建立本区域的详细链路数据库,对其它区域的信息只产生汇总信息,当拓扑变化时,链路状态信息只在本区域中传播,再由区域边界路由器汇总后,向其它区域传播汇总信息。
区域
使用OSPF协议时,可以对网络划分区域。当一个区域中出现网络变化时,可以把链路状态通告限制在区域内传播,减少整个网络的动荡。
区域0是必需的,称为骨干区域,所有其它区域都与区域0交汇,彼此间不交汇。区域边界路由器负责传播汇总信息。
区域划分只需在规模很大的自治系统中使用,规模不大的自治系统只需定义为区域0。
OSPF协议的配置
配置路由器ID:
路由器ID起到标识路由器的作用,它配置在Loopback接口上,是一个IP地址(可以使用私有地址)。
这项配置不是必需的,如果不做配置,系统会使用路由器的一个接口IP地址作为路由器ID,由于接口有可能会down掉,这种情况会导致区域不稳定。
回环接口(Loopback)接口是不会down掉的,所以为路由器配置ID是一个好习惯。
在路由器上启用OSPF协议
进程号只在路由器内部起作用,取值1~65535,不同路由器的进程号可以不同。
通配符掩码用来指定网络地址的格式,通常取子网掩码的反码。
配置举例(1)
这是一个局域网的例子,由于规模很小,不需要划分区域,整个自治系统只是一个区域0。
192.168.100.1和192.168.100.2是路由器ID,配置在三层交换机的Loopback接口上。
启用OSPF协议时,只需启用直连网络即可。
在路由表中,标识为“O”的就是OSPF协议生成的路由表项。
查看配置
配置举例(2)
这是一个小型广域网的例子,不需要划分区域,整个自治系统只是一个区域0。
掩码30的值为255.255.255.252,对应的通配符掩码是0.0.0.3。
192.168.100.0/24作为路由器ID使用,配置在各路由器的Loopback接口上。
查看配置
配置举例(3)
这是一个划分了多个区域的广域网,R2和R3是区域边界路由器,它们同时属于不同的区域。
掩码30的值为255.255.255.252,对应的通配符掩码是0.0.0.3。
192.168.10.0/24作为路由器ID使用,配置在各路由器的Loopback接口上。
启用OSPF协议时要注意区域的设置。
查看配置
OSPF协议的特点
OSPF属于链路状态协议,它在选择最优路径时不仅考虑跳数,还考虑带宽、延迟、可靠性等,因此比RIP协议可选出更好的路径。
OSPF协议适用于各种规模的网络,它的收敛速度快。当自治系统的规模很大时,可通过划分区域减少因网络变动产生的大规模网络波动。
OSPF协议在平时都是十分安静的,不会频繁向网络中广播路由表,只有当网络发生变化时才会发送链路状态通告,所以它占用的网络带宽很小,响应也非常及时。
OSPF协议是无类型的路由协议,可方便实现各种IP地址块的切割和聚合。