编辑
2025-10-02
网工之路
00

目录

1. OSPF网络类型
1.1 点到点网络
1.2 广播网络
1.3 点到多点网络
1.4 NBMA
1.5 点到多点非广播
1.6 环回网络
1.7 总结
2. 最短路径优先算法
3. 最优路径选择
3.1 路由类型
3.2 路由类型偏好
3.3 OSPF路由的防环
4. 特殊区域

OSPF0.jpeg

1. OSPF网络类型

路由器可以连接到不同类型的WAN链路,有些WAN链路支持全互联,有的支持星形互联,也有的只支持点到点连接。有的支持组播和广播,有的只支持单播。不同类型的WAN链路的特性也不一样,所以这也是为什么要设置OSPF的网络类型。

RFC 2328中定义了四种公认的网络类型:

  • 广播
  • 非广播
  • 点到点
  • 点到多点 还有两种厂商私有的网络类型:
  • 点到多点非广播(思科私有)
  • 环回(多厂商)

ospf303.jpeg 基于不同的网络类型,OSPF会

  • 自动通过组播来发现邻居,或通过单播进行手动指定邻居。
  • 决定是否需要DR/BDR。
  • 使用不同的Hello和Dead间隔。

当在一个接口上配置OSPF时,根据接口的类型会有一些默认值,譬如:

  • 以太网:默认为广播。
  • HDLC/PPP:默认点到点。
  • 帧中继:默认NBMA。

1.1 点到点网络

点到点网络是最简单明了的。在WAN链路为串口,E1/T1的租用线路,以及GRE和IPsec隧道时,链路默认设置为点到点网络。

  • 只能连接到一个远端的路由器,连接为1对1的通信。
  • 允许通过组播来动态发现邻居,组播地址为224.0.0.5。
  • 不需要DR/BDR,因为链路上只有两个路由器。

ospf301.jpeg

在1类LSA中会显示两条:

  • P2P连接到另一台的路由器,包括自己的IP地址和对端路由器的RID。
  • 连接到一个末节网络,包括P2P网络的前缀和掩码。

1.2 广播网络

广播网络是使用最多的网络类型,当在各种速率的以太口上配置OSPF时,默认的网络的类型就是广播。

  • 可以通过此接口连接到无数的路由器。连接是任意到任意的。
  • 允许通过组播来动态发现邻居,组播地址为224.0.0.5。
  • 因为在这个网络里有许多路由器,因为需要选举DR/BDR来优化LSA的泛洪。

ospf302.jpeg

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

ospf303.jpeg

1.3 点到多点网络

点到多点网络需要在接口下明确配置为P2MP。它用在帧中继和DMVPN这种的WAN链路上。

  • 可以通过此接口连接到无数的路由器。连接为星形连接,自己是中心。
  • 允许通过组播来动态发现邻居,组播地址为224.0.0.5。
  • 因为我是中心,我可以优化LSA的泛洪,因此不需要选举DR/BDR。
  • 在Spoke站点,配置为点到点网络,因为它只能连接到Hub。
  • Hello间隔默认30秒,Dead间隔默认120秒。

1.4 NBMA

NBMA为非广播多路访问网络,用于原生不支持组播和广播的网络,譬如帧中继和X.25。

  • 可以通过此接口连接到无数的路由器。连接是任意到任意的。
  • 无组播能力,需要手动指定邻居,通过单播来传播控制信息。
  • 因为在这个网络里有许多路由器,因为需要选举DR/BDR来优化LSA的泛洪。
  • Hello间隔默认30秒,Dead间隔默认120秒。

1.5 点到多点非广播

特性和P2MP差不多,只是不支持组播和广播,需要在接口下明确配置P2MP non-broadcast。

  • 可以通过此接口连接到无数的路由器。连接为星形连接,自己是中心。
  • 无组播能力,需要手动指定邻居,通过单播来传播控制信息。
  • 因为我是中心,我可以优化LSA的泛洪,因此不需要选举DR/BDR。
  • 在Spoke站点,配置为点到点网络,因为它只能连接到Hub。
  • Hello间隔默认30秒,Dead间隔默认120秒。

1.6 环回网络

Loopback接口默认设置为环回网络。OSPF总是将Lookback地址通告成/32的主机地址, 即使真实的IP地址为/24的。

1.7 总结

Network TypeDR/BDR ElectionNeighbor DiscoveryDefault Timers (Hello/Dead)Common Use Case
BroadcastYesAutomatic (Multicast)10 / 40 secondsEthernet LAN
Point-to-PointNoAutomatic (Multicast)10 / 40 secondsSerial Links, Two-Router Ethernet Links
Non-Broadcast (NBMA)YesManual (Unicast)30 / 120 secondsLegacy Frame Relay (Full-Mesh)
Point-to-MultipointNoAutomatic (Multicast)30 / 120 secondsHub-and-Spoke WAN (with multicast)
Point-to-Multipoint Non-BroadcastNoManual (Unicast)30 / 120 secondsHub-and-Spoke WAN (no multicast)
LoopbackN/AN/AN/ARouter ID, Management Interfaces

2. 最短路径优先算法

OSPF路由协议的核心是SPF算法,也叫做Dijkstra算法,它使用链路的带宽作为度量,默认是以100M为参考值,也就是100M的链路的度量值为1。度量值是一个整数值,公式为 10810^8 / 接口带宽(单位为bps),结果四舍五入到最近的整数,不足的1的为1。

通过LSA的泛洪,区域内的路由器都保持相同的LSDB,因此每台路由器在本地计算从本身到目标网络的度量,并选出度量值最小的作为最优路径。在实际的生产环境,设置的带宽参考值为本网络中最高速率的接口带宽值。在普通企业环境,一般是10G。

参考日常使用到的管理距离,OSPF的管理距离为110。在OSPF选出最优路径后,如果目标网络还从其他路由协议学到了,则需要选择管理距离小的放到全局路由表中。

路由来源管理距离值
直连接口0
静态路由1
EIGRP汇总路由5
EBGP20
EIGRP内部路由90
OSPF110
IS-IS115
RIP120
EIGRP外部路由170
IBGP200

3. 最优路径选择

3.1 路由类型

O : 域内路由

ospf304.jpeg

O IA:域间路由

ospf305.jpeg

O E:外部路由 1类外部路由包括本设备到ASBR的度量值加外部引入时的度量值,而2类路由只包含外部引入时的度量值,因为2类路由在OSPF域内传递时度量值不变。 从普通区域引入的外部路由分为O E1和 O E2类型的路由。而从NSSA区域引入的外部路由则分为 O N1和O N2类型的路由。

3.2 路由类型偏好

如果同一条路由既有域内的又有域间的,而域间的度量值更低一些,OSPF会选择哪个作为最优路由呢? 答案是选择域内的。对于OSPF路由的偏好是Intra-Area (O) > Inter-Area (IA) > NSSA (N1) > External (E1) > NSSA (N2) > External (E2)。只有是同类型的OSPF路由才会比较度量值。而如果路由类型和度量值都一样,则会进行负载均衡。

3.3 OSPF路由的防环

  • 链路状态的路由协议与距离矢量的路由协议不同,因为在区域内每台设备都有整个区域内的拓扑,它会计算出到区域内所有的目标网络的无环最优路径,因此在域内OPSF原生地就防环。

  • 而对于域间路由,都是由普通区域传到骨干区域再传到其他区域。从一个区域学到的路由不会再传回这个区域。

  • 如果是MPLS作为超级骨干区域,PE-CE使用OSPF,则PE将路由从MPBGP导回到OSPF时会将SLA的DN bit置1,CE的OSPF的SPF算法会忽略DN bit置位的SLA。

ospf307.jpeg

  • 在双点双向重分布的时候,也可以通过打标签来过略掉重分布的路由。

ospf306.jpeg

4. 特殊区域

末节区域的作用是限制外部路由的传播,优化网络性能。它一共有四种变种形式。

  • Stub
  • Totally Stub
  • NSSA
  • Totally NSSA

它们的特点如下:

  • 这4种区域允许域内的1类和2类路由外,禁止5类外部路由的传播。
  • 带Totally字样的则会禁止域间的3类路由的传播。
  • NSSA系列的可以引入外部路由,但是ASBR会生成7类路由,到ABR时会重新生成5类传到骨干区域。
OSPF Area TypeOSPF LSA Types Allowed
BackboneType 1, Type 2, Type 3, Type 4, Type 5
NormalType 1, Type 2, Type 3, Type 4, Type 5
StubType 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 NSSAType 1, Type 2, Type 7, OSPF summary default route

注意事项:

  • 末节区域内的路由器配置Area时要带stub选项,不然邻居起不来。这个属性也是由Hello包来携带的。
  • Area 0无法配置末节区域。
  • 根据RFC 2328,虚电路无法穿越末节区域。

本文作者:潘晓可

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!