
本文深入探讨OSPF协议核心概念。详细介绍了点到点、广播、NBMA、点到多点及环回等OSPF网络类型,涵盖邻居发现、DR/BDR选举、Hello/Dead间隔及其默认值。阐述了OSPF最短路径优先(SPF)算法,包括基于带宽的度量计算和管理距离。分析了OSPF路由类型(域内、域间、外部)及其优先级偏好与防环机制。最后,重点介绍了Stub、Totally Stubby、NSSA、Totally NSSA等特殊区域,阐明其限制LSA传播、优化网络性能的作用,以及对LSA类型过滤的规则。
路由器可以连接到不同类型的WAN链路,有些WAN链路支持全互联,有的支持星形互联,也有的只支持点到点连接。有的支持组播和广播,有的只支持单播。不同类型的WAN链路的特性也不一样,所以这也是为什么要设置OSPF的网络类型。
RFC 2328中定义了四种公认的网络类型:
基于不同的网络类型,OSPF会
当在一个接口上配置OSPF时,根据接口的类型会有一些默认值,譬如:
点到点网络是最简单明了的。在WAN链路为串口,E1/T1的租用线路,以及GRE和IPsec隧道时,链路默认设置为点到点网络。

在1类LSA中会显示两条:
广播网络是使用最多的网络类型,当在各种速率的以太口上配置OSPF时,默认的网络的类型就是广播。

在1类LSA里会显示连接到一个Transit网络,包括DR的IP地址和自己的IP地址。通过DR的IP地址来查看2类的LSA。它包括DR地址,网络的掩码以及所有连接到此网络的路由器的RID。

点到多点网络需要在接口下明确配置为P2MP。它用在帧中继和DMVPN这种的WAN链路上。
NBMA为非广播多路访问网络,用于原生不支持组播和广播的网络,譬如帧中继和X.25。
特性和P2MP差不多,只是不支持组播和广播,需要在接口下明确配置P2MP non-broadcast。
Loopback接口默认设置为环回网络。OSPF总是将Lookback地址通告成/32的主机地址, 即使真实的IP地址为/24的。
Network Type | DR/BDR Election | Neighbor Discovery | Default Timers (Hello/Dead) | Common Use Case |
|---|---|---|---|---|
Broadcast | Yes | Automatic (Multicast) | 10 / 40 seconds | Ethernet LAN |
Point-to-Point | No | Automatic (Multicast) | 10 / 40 seconds | Serial Links, Two-Router Ethernet Links |
Non-Broadcast (NBMA) | Yes | Manual (Unicast) | 30 / 120 seconds | Legacy Frame Relay (Full-Mesh) |
Point-to-Multipoint | No | Automatic (Multicast) | 30 / 120 seconds | Hub-and-Spoke WAN (with multicast) |
Point-to-Multipoint Non-Broadcast | No | Manual (Unicast) | 30 / 120 seconds | Hub-and-Spoke WAN (no multicast) |
Loopback | N/A | N/A | N/A | Router ID, Management Interfaces |
OSPF路由协议的核心是SPF算法,也叫做Dijkstra算法,它使用链路的带宽作为度量,默认是以100M为参考值,也就是100M的链路的度量值为1。度量值是一个整数值,公式为 $10^8$ / 接口带宽(单位为bps),结果四舍五入到最近的整数,不足的1的为1。
通过LSA的泛洪,区域内的路由器都保持相同的LSDB,因此每台路由器在本地计算从本身到目标网络的度量,并选出度量值最小的作为最优路径。在实际的生产环境,设置的带宽参考值为本网络中最高速率的接口带宽值。在普通企业环境,一般是10G。
参考日常使用到的管理距离,OSPF的管理距离为110。在OSPF选出最优路径后,如果目标网络还从其他路由协议学到了,则需要选择管理距离小的放到全局路由表中。
路由来源 | 管理距离值 |
|---|---|
直连接口 | 0 |
静态路由 | 1 |
EIGRP汇总路由 | 5 |
EBGP | 20 |
EIGRP内部路由 | 90 |
OSPF | 110 |
IS-IS | 115 |
RIP | 120 |
EIGRP外部路由 | 170 |
IBGP | 200 |
O : 域内路由

O IA:域间路由

O E:外部路由
1类外部路由包括本设备到ASBR的度量值加外部引入时的度量值,而2类路由只包含外部引入时的度量值,因为2类路由在OSPF域内传递时度量值不变。
从普通区域引入的外部路由分为O E1和 O E2类型的路由。而从NSSA区域引入的外部路由则分为 O N1和O N2类型的路由。
如果同一条路由既有域内的又有域间的,而域间的度量值更低一些,OSPF会选择哪个作为最优路由呢?
答案是选择域内的。对于OSPF路由的偏好是O > O IA > N1 > E1 > N2 > E2。只有是同类型的OSPF路由才会比较度量值。而如果路由类型和度量值都一样,则会进行负载均衡。

正在上传图片...
末节区域的作用是限制外部路由的传播,优化网络性能。它一共有四种变种形式。
它们的特点如下:
OSPF Area Type | OSPF LSA Types Allowed |
|---|---|
Backbone | Type 1, Type 2, Type 3, Type 4, Type 5 |
Normal | Type 1, Type 2, Type 3, Type 4, Type 5 |
Stub | Type 1, Type 2, Type 3, OSPF summary default route |
Totally-Stubby (Cisco) | Type 1, Type 2, OSPF summary default route |
Not-So-Stubby (NSSA) | Type 1, Type 2, Type 3, Type 7, default static route |
Totally NSSA | Type 1, Type 2, Type 7, OSPF summary default route |
注意事项:
📚 延伸阅读
更多内容持续更新于我的博客:https://www.zenseek.site
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。