网络的那些事——初级——OSPF(1)

💎什么是OSPF?

OSPF(Open Shortest Path First,开放最短路径优先)是一种基于链路状态的内部网关协议(IGP),广泛应用于中大型企业及运营商网络。其核心设计目标是解决早期协议(如RIP)的局限性,提供高效、可扩展的路由解决方案。

💎开放式最短路径优先?

开放式最短路径优先OSPF(Open Shortest Path First)是IETF组织开发的一个基于链路状态的内部网关协议(Interior Gateway Protocol)。

目前针对IPv4协议使用的是OSPF Version 2(RFC2328);针对IPv6协议使用OSPF Version 3(RFC2740)。如无特殊说明,本文中所指的OSPF均为OSPF Version 2。

在OSPF出现前,网络上广泛使用RIP(Routing Information Protocol)作为内部网关协议。

由于RIP是基于距离矢量算法的路由协议,存在着收敛慢、路由环路、可扩展性差等问题,所以逐渐被OSPF取代。

OSPF作为基于链路状态的协议,能够解决RIP所面临的诸多问题。此外,OSPF还有以下优点:

  • OSPF采用组播形式收发报文,这样可以减少对其它不运行OSPF路由器的影响。

  • OSPF支持无类型域间选路(CIDR)。

  • OSPF支持对等价路由进行负载分担。

  • OSPF支持报文加密。

由于OSPF具有以上优势,使得OSPF作为优秀的内部网关协议被快速接收并广泛使用。

⚖️OSPF工作状态图解:

OSPF(Open Shortest Path First)协议的工作状态可以分为以下几种‌

Down‌:此状态表示路由器尚未与其他路由器交换信息。路由器会向外发送Hello分组,但还不知道DR(若为广播网络)和任何其他路由器。发送Hello分组时使用组播地址224.0.0.5‌

‌Attempt‌:仅适用于NBMA网络,邻居是手动指定的。在此状态下,路由器将使用HelloInterval取代PollInterval来发送Hello包‌

‌Init‌:在DeadInterval内收到了Hello包,但双向会话尚未建立。此时路由器尚未确认邻居的存在‌

‌Two-way‌:双向会话建立,RID彼此出现在对方的邻居列表中。若为广播网络,此时会选举DR和BDR‌。


‌ExStart‌:信息交换初始状态,本地路由器和邻居将建立Master/Slave关系,并确定DD Sequence Number。RID较大的成为Master‌。


Exchange‌:本地路由器和邻居交换一个或多个DBD分组(数据库描述包)。DBD包含有关LSDB中LSA条目的摘要信息‌


Loading‌:收到DBD后,使用LSACK分组确认已收到DBD。将收到的信息与LSDB中的信息进行比较,如果有更新的链路状态条目,则向对方发送LSR请求新的LSA‌

OSPF(Open Shortest Path First)协议的工作状态可以分为以下几种‌:

Down‌:此状态表示路由器尚未与其他路由器交换信息。路由器会向外发送Hello分组,但还不知道DR(若为广播网络)和任何其他路由器。发送Hello分组时使用组播地址224.0.0.5‌

‌Attempt‌:仅适用于NBMA网络,邻居是手动指定的。在此状态下,路由器将使用HelloInterval取代PollInterval来发送Hello包‌

‌Init‌:在DeadInterval内收到了Hello包,但双向会话尚未建立。此时路由器尚未确认邻居的存在‌

Two-way‌:双向会话建立,RID彼此出现在对方的邻居列表中。若为广播网络,此时会选举DR和BDR‌

ExStart‌:信息交换初始状态,本地路由器和邻居将建立Master/Slave关系,并确定DD Sequence Number。RID较大的成为Master‌

‌Exchange‌:本地路由器和邻居交换一个或多个DBD分组(数据库描述包)。DBD包含有关LSDB中LSA条目的摘要信息‌

Loading‌:收到DBD后,使用LSACK分组确认已收到DBD。将收到的信息与LSDB中的信息进行比较,如果有更新的链路状态条目,则向对方发送LSR请求新的LSA‌

‌Full‌:完全邻接状态,这种状态出现在Router LSA和Network LSA中‌。

 

🌐一、核心工作原理

  1. 链路状态数据库(LSDB)与SPF算法

    • 每台OSPF路由器通过洪泛(Flooding) 机制向邻居广播链路状态通告(LSA),描述自身接口、邻居及链路开销(Cost)18。

    • 所有路由器同步构建全网拓扑图(LSDB),并独立运行Dijkstra算法计算最短路径树(SPT),生成无环路由表458。

  2. 邻居建立与报文交互
    OSPF通过5类报文实现动态路由维护:

    • Hello报文:发现邻居(组播地址224.0.0.5),每10秒发送一次,维持邻居关系18。

    • DBD(数据库描述):交换LSDB摘要信息。

    • LSR/LSU(链路状态请求/更新):请求并传递完整LSA。

    • LSAck(确认):确保LSA可靠传输8。

  3. DR/BDR选举机制

    • 在广播网络(如以太网)中,为避免O(N²)的LSA泛洪,选举指定路由器(DR) 和备份指定路由器(BDR)

    • 选举依据:接口优先级(默认为1,0表示不参与) → Router ID(高者优先)18。


🌐 二、区域化分层设计

OSPF通过划分区域(Area)解决大规模网络扩展性问题:

  • 骨干区域(Area 0):必选核心区域,其他非骨干区域必须与之直连或通过虚链路(Virtual Link)连接110。

  • 路由器角色分类

    类型功能
    IR(区域内路由器)仅在本区域泛洪LSA
    ABR(区域边界路由器)连接不同区域,汇总Type 3 LSA
    ASBR(自治系统边界路由器)引入外部路由(如RIP、静态路由),生成Type 5/7 LSA1
  • 特殊区域类型

    • Stub区域:屏蔽外部路由(Type 4/5 LSA),由ABR注入默认路由。

    • NSSA区域:允许引入外部路由但转换为Type 7 LSA,经ABR转为Type 51。


📬 三、LSA类型与功能

OSPF定义了多种LSA类型,关键类型如下:

LSA类型名称泛洪范围作用
Type 1Router LSA本区域内描述路由器直连链路及Cost
Type 2Network LSA本区域内DR生成,描述广播网段连接的路由器
Type 3Summary LSA区域间ABR生成,通告其他区域的路由摘要
Type 5AS External LSA全自治系统ASBR通告外部路由(如默认OE2/OE1)18

⚖️ 四、OSPF与RIP的对比

特性OSPFRIP
算法基础链路状态(Dijkstra)距离向量(跳数)
收敛速度秒级(触发更新)分钟级(周期广播)
网络规模无跳数限制(支持数千节点)限15跳
度量值基于带宽(Cost = 参考带宽/接口带宽)跳数(Hop Count)
地址支持原生支持VLSM/CIDRRIPv2支持VLSM
资源消耗高内存/CPU(维护LSDB)低内存,高带宽(周期广播路由表)369

✅ 五、优势与局限性

  • 优势

    • 快速收敛:链路变化时立即触发更新410。

    • 无环路由:SPF算法从根源避免环路。

    • 分层扩展:区域化设计减少路由更新流量110。

    • 安全可靠:支持MD5/明文认证17。

  • 局限性

    • 配置复杂:需规划区域、Router ID、链路Cost等46。

    • 资源消耗大:LSDB占用内存,SPF计算消耗CPU4。

    • 负载均衡限制:仅支持等价路径负载分担(同Cost值)6。

✅配置案例:

 配置OSPF基本功能示例

背景:所有的路由器都运行OSPF,并将整个自治系统划分为3个区域,其中RouterA和RouterB作为ABR来转发区域之间的路由。

目标:配置完成后,每台路由器都应学到AS内的到所有网段的路由。

配置思路

采用如下的思路配置OSPF基本功能:

  1. 在各路由器上使能OSPF。

  2. 指定不同区域内的网段。

操作步骤

  1. 配置各路由器接口的IP地址

    # 配置RouterA。

    <Huawei> system-view
    [Huawei] sysname RouterA
    [RouterA] interface gigabitethernet 1/0/0
    [RouterA-GigabitEthernet1/0/0] ip address 192.168.0.1 255.255.255.0
    [RouterA-GigabitEthernet1/0/0] quit
    [RouterA] interface gigabitethernet 2/0/0
    [RouterA-GigabitEthernet2/0/0] ip address 192.168.1.1 255.255.255.0
    [RouterA-GigabitEthernet2/0/0] quit

    RouterB、RouterC、RouterD、RouterE和RouterF的配置与RouterA一致(略)

  2. 配置OSPF基本功能

    # 配置RouterA。

    [RouterA] router id 1.1.1.1
    [RouterA] ospf
    [RouterA-ospf-1] area 0
    [RouterA-ospf-1-area-0.0.0.0] network 192.168.0.0 0.0.0.255
    [RouterA-ospf-1-area-0.0.0.0] quit
    [RouterA-ospf-1] area 1
    [RouterA-ospf-1-area-0.0.0.1] network 192.168.1.0 0.0.0.255
    [RouterA-ospf-1-area-0.0.0.1] quit
    [RouterA-ospf-1] quit

    # 配置RouterB。

    [RouterB] router id 2.2.2.2
    [RouterB] ospf
    [RouterB-ospf-1] area 0
    [RouterB-ospf-1-area-0.0.0.0] network 192.168.0.0 0.0.0.255
    [RouterB-ospf-1-area-0.0.0.0] quit
    [RouterB-ospf-1] area 2
    [RouterB-ospf-1-area-0.0.0.2] network 192.168.2.0 0.0.0.255
    [RouterB-ospf-1-area-0.0.0.2] quit
    [RouterB-ospf-1] quit

    # 配置RouterC。

    [RouterC] router id 3.3.3.3
    [RouterC] ospf
    [RouterC-ospf-1] area 1
    [RouterC-ospf-1-area-0.0.0.1] network 192.168.1.0 0.0.0.255
    [RouterC-ospf-1-area-0.0.0.1] network 172.16.1.0 0.0.0.255
    [RouterC-ospf-1-area-0.0.0.1] quit
    [RouterC-ospf-1] quit

    # 配置RouterD。

    [RouterD] router id 4.4.4.4
    [RouterD] ospf
    [RouterD-ospf-1] area 2
    [RouterD-ospf-1-area-0.0.0.2] network 192.168.2.0 0.0.0.255
    [RouterD-ospf-1-area-0.0.0.2] network 172.17.1.0 0.0.0.255
    [RouterD-ospf-1-area-0.0.0.2] quit
    [RouterD-ospf-1] quit

    # 配置RouterE。

    [RouterE] router id 5.5.5.5
    [RouterE] ospf
    [RouterE-ospf-1] area 1
    [RouterE-ospf-1-area-0.0.0.1] network 172.16.1.0 0.0.0.255
    [RouterE-ospf-1-area-0.0.0.1] quit
    [RouterE-ospf-1] quit

    # 配置RouterF。

    [RouterF] router id 6.6.6.6
    [RouterF] ospf
    [RouterF-ospf-1] area 2
    [RouterF-ospf-1-area-0.0.0.2] network 172.17.1.0 0.0.0.255
    [RouterF-ospf-1-area-0.0.0.2] quit
    [RouterF-ospf-1] quit

    验证配置结果

  3. # 查看RouterA的OSPF邻居。
    [RouterA] display ospf peer
              OSPF Process 1 with Router ID 1.1.1.1NeighborsArea 0.0.0.0 interface 192.168.0.1(GigabitEthernet1/0/0)'s neighbors
    Router ID: 2.2.2.2      Address: 192.168.0.2State: Full  Mode:Nbr is  Master  Priority: 1DR: 192.168.0.2  BDR: 192.168.0.1   MTU: 0Dead timer due in 36  secRetrans timer interval: 5Neighbor is up for 00:15:04Authentication Sequence: [ 0 ]NeighborsArea 0.0.0.1 interface 192.168.1.1(GigabitEthernet2/0/0)'s neighbors
    Router ID: 3.3.3.3       Address: 192.168.1.2State: Full  Mode:Nbr is  Master  Priority: 1DR: 192.168.1.2  BDR: 192.168.1.1   MTU: 0Dead timer due in 39  secRetrans timer interval: 5Neighbor is up for 00:07:32Authentication Sequence: [ 0 ]
    

    # 显示RouterA的OSPF路由信息。

    [RouterA] display ospf routing
              OSPF Process 1 with Router ID 1.1.1.1Routing TablesRouting for NetworkDestination      Cost  Type         NextHop         AdvRouter       Area172.16.1.0/24     2    Transit     192.168.1.2     3.3.3.3         0.0.0.1172.17.1.0/24     3    Inter-area  192.168.0.2     2.2.2.2         0.0.0.0192.168.0.0/24    1    Transit     192.168.0.1     1.1.1.1         0.0.0.0192.168.1.0/24    1    Transit     192.168.1.1     1.1.1.1         0.0.0.1192.168.2.0/24    2    Inter-area  192.168.0.2     2.2.2.2         0.0.0.0Total Nets: 5Intra Area: 3  Inter Area: 2  ASE: 0  NSSA: 0
    # 显示RouterA的LSDB。
    [RouterA] display ospf lsdb
              OSPF Process 1 with Router ID 1.1.1.1Link State DatabaseArea: 0.0.0.0Type      LinkState ID    AdvRouter          Age  Len   Sequence   MetricRouter    2.2.2.2         2.2.2.2            317  48    80000003    1Router    1.1.1.1         1.1.1.1            316  48    80000002    1Network   192.168.0.2     2.2.2.2            399  32    800000F8    0Sum-Net   172.16.1.0      1.1.1.1            250  28    80000001    2Sum-Net   172.17.1.0      2.2.2.2            203  28    80000001    2Sum-Net   192.168.2.0     2.2.2.2            237  28    80000002    1Sum-Net   192.168.1.0     1.1.1.1            295  28    80000002    1Area: 0.0.0.1
    Type      LinkState ID    AdvRouter          Age  Len   Sequence   MetricRouter    5.5.5.5         5.5.5.5            214  36    80000004    1        Router    3.3.3.3         3.3.3.3            217  60    80000008    1Router    1.1.1.1         1.1.1.1            289  48    80000002    1Network   192.168.1.1     1.1.1.1            202  28    80000002    0Network   172.16.1.1      3.3.3.3            670  32    80000001    0Sum-Net   172.17.1.0      1.1.1.1            202  28    80000001    3Sum-Net   192.168.2.0     1.1.1.1            242  28    80000001    2Sum-Net   192.168.0.0     1.1.1.1            300  28    80000001    1
    # 查看RouterD的路由表,并使用Ping进行测试连通性。
    [RouterD] display ospf routing
              OSPF Process 1 with Router ID 4.4.4.4Routing TablesRouting for NetworkDestination        Cost  Type       NextHop      AdvRouter       Area172.16.1.0/24      4  Inter-area 192.168.2.1     2.2.2.2         0.0.0.2172.17.1.0/24      1  Transit    172.17.1.1      4.4.4.4         0.0.0.2192.168.0.0/24     2  Inter-area 192.168.2.1     2.2.2.2         0.0.0.2192.168.1.0/24     3  Inter-area 192.168.2.1     2.2.2.2         0.0.0.2192.168.2.0/24     1  Transit    192.168.2.2     4.4.4.4         0.0.0.2Total Nets: 5Intra Area: 2  Inter Area: 3  ASE: 0  NSSA: 0
    [RouterD] ping 172.16.1.1PING 172.16.1.1: 56  data bytes, press CTRL_C to breakReply from 172.16.1.1: bytes=56 Sequence=1 ttl=253 time=62 msReply from 172.16.1.1: bytes=56 Sequence=2 ttl=253 time=16 msReply from 172.16.1.1: bytes=56 Sequence=3 ttl=253 time=62 msReply from 172.16.1.1: bytes=56 Sequence=4 ttl=253 time=94 msReply from 172.16.1.1: bytes=56 Sequence=5 ttl=253 time=63 ms--- 172.16.1.1 ping statistics ---5 packet(s) transmitted5 packet(s) received0.00% packet lossround-trip min/avg/max = 16/59/94 ms

配置OSPF虚连接示例

Area2没有与骨干区域直接相连。Area1被用作传输区域(Transit Area)来连接Area2和Area0。RouterA和RouterB之间配置一条虚连接。

配置思路

采用如下的思路配置OSPF虚连接:

  1. 在各路由器上配置OSPF基本功能。

  2. 在RouterA和RouterB上配置虚连接,使非骨干区域与骨干区域连通。

操作步骤

  1. 配置各路由器接口的IP地址

    # 配置RouterA。

    <Huawei> system-view
    [Huawei] sysname RouterA
    [RouterA] interface gigabitethernet 1/0/0
    [RouterA-GigabitEthernet1/0/0] ip address 192.168.1.1 24
    [RouterA-GigabitEthernet1/0/0] quit
    [RouterA] interface gigabitethernet 2/0/0
    [RouterA-GigabitEthernet2/0/0] ip address 10.1.1.1 8
    [RouterA-GigabitEthernet2/0/0] quit

    RouterB、RouterC和RouterD的配置与RouterA一致(略)

  2. 配置OSPF基本功能

    # 配置RouterA。

    [RouterA] ospf 1 router-id 1.1.1.1
    [RouterA-ospf-1] area 0
    [RouterA-ospf-1-area-0.0.0.0] network 10.0.0.0 0.255.255.255 
    [RouterA-ospf-1-area-0.0.0.0] quit
    [RouterA-ospf-1] area 1
    [RouterA-ospf-1-area-0.0.0.1] network 192.168.1.0 0.0.0.255 
    [RouterA-ospf-1-area-0.0.0.1] quit

    # 配置RouterB。

    [RouterB] ospf 1 router-id 2.2.2.2
    [RouterB-ospf-1] area 1
    [RouterB-ospf-1-area-0.0.0.1] network 192.168.1.0 0.0.0.255 
    [RouterB-ospf-1-area-0.0.0.1] quit
    [RouterB-ospf-1] area 2
    [RouterB–ospf-1-area-0.0.0.2] network 172.16.0.0 0.0.255.255
    [RouterB–ospf-1-area-0.0.0.2] quit

    # 配置RouterC。

    [RouterC] ospf 1 router-id 3.3.3.3 
    [RouterC-ospf-1] area 0
    [RouterC-ospf-1-area-0.0.0.0] network 10.0.0.0 0.255.255.255 
    [RouterC-ospf-1-area-0.0.0.0] quit

    # 配置RouterD。

    [RouterD] ospf 1 router-id 4.4.4.4
    [RouterD-ospf-1] area 2
    [RouterD-ospf-1-area-0.0.0.2] network 172.16.0.0 0.0.255.255 
    [RouterD-ospf-1-area-0.0.0.2] quit
    # 查看RouterA的OSPF路由表。

    注:由于Area2没有与Area0直接相连,所以RouterA的路由表中没有Area2中的路由。

    [RouterA] display ospf routing
              OSPF Process 1 with Router ID 1.1.1.1
                       Routing Tables
     Routing for Network
     Destination        Cost  Type       NextHop         AdvRouter       Area
     10.0.0.0/8         1   Transit       10.1.1.1        1.1.1.1         0.0.0.0
     192.168.1.0/24     1   Transit       192.168.1.1     1.1.1.1         0.0.0.1
     Total Nets: 2
     Intra Area: 2  Inter Area: 0  ASE: 0  NSSA: 0

验证配置结果

  1. # 查看RouterA的OSPF路由表。
    [RouterA] display ospf routing
              OSPF Process 1 with Router ID 1.1.1.1
                       Routing Tables
     Routing for Network
     Destination        Cost  Type       NextHop         AdvRouter       Area
     172.16.0.0/16      2   Inter-area 192.168.1.2        2.2.2.2         0.0.0.2
     10.0.0.0/8         1   Transit       10.1.1.1        1.1.1.1         0.0.0.0
     192.168.1.0/24     1   Transit       192.168.1.1     1.1.1.1         0.0.0.1
     Total Nets: 3
     Intra Area: 2  Inter Area: 1  ASE: 0  NSSA: 0

配置OSPF的DR选择示例

RouterA的优先级为100,它是网络上的最高优先级,所以RouterA被选为DR;RouterC是优先级第二高的,被选为BDR;RouterB的优先级为0,这意味着它将无法成为DR或BDR;RouterD没有配置优先级,取缺省值1。

配置思路

采用如下的思路配置OSPF的DR选择:

  1. 配置各路由器上router id,使能OSPF,指定网段。

  2. 在缺省优先级情况下,查看各路由器DR/BDR状态。

  3. 配置接口上的DR优先级,查看DR/BDR状态。

操作步骤

  1. 配置各接口的IP地址

    # 配置RouterA的各接口的IP地址。

    <Huawei> system-view
    [Huawei] sysname RouterA
    [RouterA] interface gigabitethernet 1/0/0
    [RouterA-GigabitEthernet1/0/0] ip address 192.168.1.1 255.255.255.0
    [RouterA-GigabitEthernet1/0/0] quit

    RouterB、RouterC和RouterD的配置同RouterA此处略。

  2. 配置OSPF基本功能

    # 配置RouterA。

    [RouterA] router id 1.1.1.1
    [RouterA] ospf
    [RouterA-ospf-1] area 0
    [RouterA-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255
    [RouterA-ospf-1-area-0.0.0.0] quit
    [RouterA-ospf-1] quit

    # 配置RouterB。

    [RouterB] router id 2.2.2.2
    [RouterB] ospf
    [RouterB-ospf-1] area 0
    [RouterB-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255 
    [RouterB-ospf-1-area-0.0.0.0] quit
    [RouterB-ospf-1] quit

    # 配置RouterC

    [RouterC] router id 3.3.3.3
    [RouterC] ospf
    [RouterC-ospf-1] area 0
    [RouterC-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255 
    [RouterC-ospf-1-area-0.0.0.0] quit
    [RouterC-ospf-1] quit

    # 配置RouterD。

    [RouterD] router id 4.4.4.4
    [RouterD] ospf
    [RouterD-ospf-1] area 0
    [RouterD-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255 
    [RouterD-ospf-1-area-0.0.0.0] quit
    [RouterD-ospf-1] quit
    # 查看DR/BDR的状态。
    [RouterA] display ospf peer
              OSPF Process 1 with Router ID 1.1.1.1
                      Neighbors
     Area 0.0.0.0 interface 192.168.1.1(GigabitEthernet1/0/0)'s neighbors
     Router ID: 2.2.2.2      Address: 192.168.1.2
    State: 2-Way  Mode:Nbr is  Master  Priority: 1
    DR: 192.168.1.4  BDR: 192.168.1.3  MTU: 0
       Dead timer due in 32  sec
       Retrans timer interval: 5
       Neighbor is up for 00:04:21
       Authentication Sequence: [ 0 ]
     Router ID: 3.3.3.3      Address: 192.168.1.3
    State: Full  Mode:Nbr is  Master  Priority: 1
    DR: 192.168.1.4  BDR: 192.168.1.3  MTU: 0
       Dead timer due in 37  sec
       Retrans timer interval: 5
       Neighbor is up for 00:04:06
       Authentication Sequence: [ 0 ]
     Router ID: 4.4.4.4      Address: 192.168.1.4
    State: Full  Mode:Nbr is  Master  Priority: 1
    DR: 192.168.1.4  BDR: 192.168.1.3  MTU: 0
       Dead timer due in 37  sec
       Retrans timer interval: 5
       Neighbor is up for 00:03:53
       Authentication Sequence: [ 0 ]

    查看RouterA的邻居信息,可以看到DR优先级(缺省为1)以及邻居状态,此时RouterD为DR,RouterC为BDR。

    当优先级相同时,router-id高的为DR。若DR、BDR已经选择完毕,当一台新路由器加入后,即使它的DR优先级值最大,也不会立即成为该网段中的DR。

  3. 配置接口上的DR优先级

    # 配置RouterA。

    [RouterA] interface gigabitethernet 1/0/0
    [RouterA-GigabitEthernet1/0/0] ospf dr-priority 100
    [RouterA-GigabitEthernet1/0/0] quit

    # 配置RouterB。

    [RouterB] interface gigabitethernet 1/0/0
    [RouterB-GigabitEthernet1/0/0] ospf dr-priority 0
    [RouterB-GigabitEthernet1/0/0] quit

    # 配置RouterC。

    [RouterC] interface gigabitethernet 1/0/0
    [RouterC-GigabitEthernet1/0/0] ospf dr-priority 2
    [RouterC-GigabitEthernet1/0/0] quit

    # 查看DR/BDR的状态。

    [RouterD] display ospf peer
              OSPF Process 1 with Router ID 4.4.4.4
                      Neighbors
     Area 0.0.0.0 interface 192.168.1.4(GigabitEthernet1/0/0)'s neighbors
     Router ID: 1.1.1.1      Address: 192.168.1.1
       State: Full  Mode:Nbr is  Slave  Priority: 100
    DR: 192.168.1.4  BDR: 192.168.1.3  MTU: 0
       Dead timer due in 31  sec
       Retrans timer interval: 5
       Neighbor is up for 00:11:17
       Authentication Sequence: [ 0 ]
     Router ID: 2.2.2.2      Address: 192.168.1.2
       State: Full  Mode:Nbr is  Slave  Priority: 0
    DR: 192.168.1.4  BDR: 192.168.1.3  MTU: 0
       Dead timer due in 35  sec
       Retrans timer interval: 5
       Neighbor is up for 00:11:19
       Authentication Sequence: [ 0 ]
     Router ID: 3.3.3.3      Address: 192.168.1.3
       State: Full  Mode:Nbr is  Slave  Priority: 2
    DR: 192.168.1.4  BDR: 192.168.1.3  MTU: 0
       Dead timer due in 33  sec
       Retrans timer interval: 5
       Neighbor is up for 00:11:15
       Authentication Sequence: [ 0 ]

验证配置结果

  1. # 查看OSPF邻居状态。
    [RouterD] display ospf peer
              OSPF Process 1 with Router ID 4.4.4.4
                      Neighbors
     Area 0.0.0.0 interface 192.168.1.4(GigabitEthernet1/0/0)'s neighbors
     Router ID: 1.1.1.1      Address: 192.168.1.1
    State: Full  Mode:Nbr is  Slave  Priority: 100
    DR: 192.168.1.1  BDR: 192.168.1.3  MTU: 0
       Dead timer due in 35  sec
       Retrans timer interval: 5
       Neighbor is up for 00:07:19
       Authentication Sequence: [ 0 ]
     Router ID: 2.2.2.2      Address: 192.168.1.2
    State: 2-Way  Mode:Nbr is  Master  Priority: 0
    DR: 192.168.1.1  BDR: 192.168.1.3  MTU: 0
       Dead timer due in 35  sec
       Retrans timer interval: 5
       Neighbor is up for 00:07:19
       Authentication Sequence: [ 0 ]
     Router ID: 3.3.3.3      Address: 192.168.1.3
    State: Full  Mode:Nbr is  Slave  Priority: 2
    DR: 192.168.1.1  BDR: 192.168.1.3  MTU: 0
       Dead timer due in 37  sec
       Retrans timer interval: 5
       Neighbor is up for 00:07:17
       Authentication Sequence: [ 0 ]
    # 查看OSPF接口的状态。
    [RouterA] display ospf interface
              OSPF Process 1 with Router ID 1.1.1.1
                      Interfaces
     Area: 0.0.0.0
     IP Address  Type        State    Cost  Pri   DR              BDR
     192.168.1.1 Broadcast   DR     1     100 192.168.1.1 192.168.1.3
    [RouterB] display ospf interface
              OSPF Process 1 with Router ID 2.2.2.2
                      Interfaces
     Area: 0.0.0.0
     IP Address      Type         State    Cost  Pri   DR              BDR
     192.168.1.2     Broadcast    DROther  1     0 192.168.1.1 192.168.1.3

    如果邻居的状态是Full,这说明它和邻居之间形成了邻接关系;如果停留在2-Way的状态,则说明都不是DR或BDR,两者之间不需要交换LSA。

    如果OSPF接口的状态是DROther,则说明它既不是DR,也不是BDR。


💎 总结

OSPF凭借其分层架构高效收敛强扩展性,成为中大型网络的首选IGP协议。尽管配置复杂度较高,但其在避免环路、支持VLSM/CIDR、区域化流量控制等方面的优势,使其全面超越RIP等早期协议。实际部署中需结合网络规模合理划分区域,并优化DR选举与路由聚合策略以提升性能1410。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/diannao/86833.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

前端导出PDF(适配ios Safari浏览器)

目前市面上常用的前端导出PDF库组合一般为&#xff1a; 1. html2canvas js-pdf 2. html2canvaspdf-lib 3. domtoimagepdf-lib 因本人项目中导出pdf需求为导出30页及以上的多页pdf&#xff0c;考虑性能问题&#xff0c;选择了 html2canvaspdf-lib 及domtoimagepdf-lib两种方…

physicsnemo开源程序是开源深度学习框架,用于使用最先进的 Physics-ML 方法构建、训练和微调深度学习模型

​一、软件介绍 文末提供程序和源码下载 NVIDIA PhysicsNeMo 是一个开源深度学习框架&#xff0c;用于使用最先进的 SciML 方法构建、训练、微调和推理物理 AI 模型&#xff0c;以实现 AI4 科学和工程。PhysicsNeMo 提供 python 模块来构建可扩展和优化的训练和推理管道&#…

JDBC接口开发指南

1.简介 JDBC&#xff08;Java Data Base Connectivity,java数据库连接&#xff09;是一种用于执行SQL语句的Java API&#xff0c;可以为多种关系数据库提供统一访问&#xff0c;它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准&#xff0c;据此可以构建更高级的工具…

Shell 脚本:系统管理与任务自动化的利器

在开发者忙碌的日常工作中&#xff0c;效率就是生命线。当面对大量重复、繁琐的系统管理任务与开发流程时&#xff0c;一款得力的编程工具能让工作事半功倍。Shell 脚本&#xff0c;这把在 Linux 和 Unix 系统环境下闪耀着光芒的利器&#xff0c;凭借其强大的自动化能力&#x…

关于mybatis插入大批量数据效率问题

一、即便分批次用mybatis插入数据&#xff0c;效率依旧不高&#xff0c;原因&#xff1a; MyBatis一次性批量插入几千条数据&#xff0c;为什么性能很差&#xff1f;-腾讯云开发者社区-腾讯云 文中提出&#xff1a; 默认执行器类型为Simple&#xff0c;会为每个语句创建一个新…

在 JavaScript中编写 Appium 测试(入门)

1.编写一个测试 (JS) 要在 JavaScript&#xff08;Node.js&#xff09;中编写 Appium 测试&#xff0c;我们需要选择一个与 Appium 兼容的客户端 库。维护最好的库和 Appium 团队推荐使用的库是 WebdriverIO, 所有就让我们使用它吧。既然我们已经安装了 Appium&#xff0c;我们…

【android bluetooth 框架分析 04】【bt-framework 层详解 6】【Properties介绍】

DeviceProperties、AdapterProperties、StorageModule、以及 bt_config.conf 是 AOSP Bluetooth 栈中 设备属性管理与持久化系统 的核心组成部分&#xff0c;它们之间关系紧密&#xff0c;但职责各有不同。 下面我将依次讲解它们的区别与联系. 注意: 在代码里面 还有 Blueto…

@Resource vs @Autowired 在Spring中的使用和区别

Resource vs Autowired 在Spring中的使用和区别 在Spring开发中&#xff0c;我们常会接触两个用于实现引用模块注入的注解&#xff1a;Resource 和 Autowired。它们在使用上有些相似之处&#xff0c;但本质上来看&#xff0c;有所区别。本文将给出两者的详细介绍和对比&#x…

Mac M4 芯片运行大模型指南,包括模型微调与推理

Mac M4 芯片运行大模型指南&#xff0c;模型微调与推理 背景模型推理 Ollama&#x1f50d; 举例说明&#xff1a;踩坑 模型微调 unsloth 背景 在国补、教育优惠、京东会员500优惠券等众多优惠之下。 我拿下了Macmini M4 16G 内存万兆网卡。在机器到手的第一时间&#xff0c;马…

微信小程序中安装vant

以下是微信小程序中安装 Vant 的详细步骤&#xff1a; 1. 初始化项目 在微信小程序项目目录下&#xff0c;打开终端&#xff0c;执行以下命令进行项目初始化&#xff1a; npm init -y该命令会快速生成一个默认的package.json文件&#xff0c;-y参数表示直接使用默认配置&…

今天做的力扣SQL

我本地markdown的东西直接复制出来了。 多说一嘴&#xff0c;今天早上六点醒了&#xff0c;然后被外面吵&#xff0c;心里也担心找实习就一直睡不着了。索性直接来实验室&#xff0c;这一上午感觉好快啊。幸运的是&#xff0c;自己也没有浪费时间&#xff0c;还行吧。SQL欠的账…

【开发常用命令】:docker常用命令

docker常用命令 基础命令 # 启动docker systemctl start docker # 关闭docker systemctl stop docker # 重启docker systemctl restart docker # 设置开机自启动 systemctl enable docker # 查看docker运行状态 systemctl status docker # 查看docker版本号信息 docker versi…

安装配置以太链钱包工具

安装go语言环境 1、官网下载go安装包并上传到指定机器 https://golang.google.cn/dl/ 2、解压缩至指定位置&#xff1a; tar -C /usr/local -xzf go1.21.0.linux-amd64.tar.gz 3、将 /usr/local/go/bin 目录添加至 PATH 环境变量&#xff1a; export PATH$PATH:/usr/local/g…

论文阅读:speculative decoding

Fast Inference from Transformers via Speculative Decoding 论文地址&#xff1a;https://arxiv.org/pdf/2211.17192 speculative sampling 为了从分布 p ( x ) p(x) p(x) 中采样&#xff0c;我们实际上是从分布 q ( x ) q(x) q(x) 中采样 x x x&#xff0c;如果 q ( …

java操作word里的表格

依赖&#xff1a; <dependency><groupId>com.techCoLtd</groupId><artifactId>aspose-words-16.4.0-jdk16</artifactId><classifier>jdk16</classifier> </dependency>/*** 删除表格及表格的行* throws Exception*/ private s…

单链表经典算法题之分割链表

给定一个头结点和一个值x&#xff0c;是链表中所有小于x的值都在x前面 typedef struct ListNode ListNode; struct ListNode* partition(struct ListNode* head, int x) { //思路一&#xff1a;在原链表上进行修改 //思路二&#xff1a;创建新链表&#xff0c;使用哨兵位&…

Modbus TCP转DeviceNet网关连接ABB变频器配置案例

某工厂需要将支持Modbus TCP协议的上位机控制系统&#xff08;如PLC或SCADA&#xff09;与支持DeviceNet协议的变频器&#xff08;如ABB ACS880、施耐德ATV320等&#xff09;进行通信。为实现协议转换&#xff0c;采用开疆智能Modbus TCP转DeviceNet网关KJ-DVCZ-MTCPS作为中间设…

【力扣 简单 C++】206. 反转链表

目录 题目 解法一&#xff1a;迭代 解法二&#xff1a;递归 题目 待添加 解法一&#xff1a;迭代 class Solution { private:ListNode* reverse(ListNode* head){ListNode* newHead {};while (head){ListNode* nextNode {head->next};head->next newHead;newHead …

计算机视觉之三维重建(深入浅出SfM与SLAM核心算法)—— 1. 摄像机几何

文章目录 1. 针孔相机1.1. 针孔成像1.2. 光圈对成像的影响 2. 透视投影相机2.1. 透镜成像2.2. 失焦2.3. 径向畸变2.4. 透视投影的性质 3. 世界坐标系到像素坐标系的变换4. 其它相机模型4.1. 弱透视投影摄像机4.2. 正交投影摄像机4.3. 各种摄像机模型的应用场合 课程视频链接&am…

第十三节:第七部分:Stream流的中间方法、Stream流的终结方法

Stream流常见的中间方法 Stream流常见的终结方法 代码 学生类&#xff08;代码一与代码二共涉及到的类&#xff09; package com.itheima.day28_Stream;import java.util.Objects;public class Student implements Comparable<Student> {private String name;private i…