eNSP中OSPF协议多区域的配置实验

一、构建拓扑图

拓扑核心信息(依据图片)

  • R1:

    • Loopback0: 1.1.1.1/24

    • GE 0/0/1 (连接R2): 12.0.0.1/24 (位于 Area 0)

    • GE 0/0/0 (连接R3): 10.0.0.1/24 (位于 Area 1)

  • R2:

    • Loopback0: 2.2.2.2/24

    • GE 0/0/1 (连接R1): 12.0.0.2/24 (位于 Area 0)

    • GE 0/0/0 (连接R4): 20.0.0.1/24 (位于 Area 2)

  • R3:

    • Loopback0: 3.3.3.3/24

    • GE 0/0/0 (连接R1): 10.0.0.2/24 (位于 Area 1)

  • R4:

    • Loopback0: 4.4.4.4/24

    • GE 0/0/0 (连接R2): 20.0.0.2/24 (位于 Area 2)

二、ENSP 完整配置命令

1. R1 配置 (Area 0 与 Area 1 的 ABR)
复制代码
sysname R1
# 1. 配置接口IP地址
interface LoopBack0
 ip address 1.1.1.1 255.255.255.0
interface GigabitEthernet0/0/1  # 图片中此接口连接R2
 ip address 12.0.0.1 255.255.255.0
interface GigabitEthernet0/0/0  # 图片中此接口连接R3
 ip address 10.0.0.1 255.255.255.0

# 2. 配置OSPF
ospf 1 router-id 1.1.1.1
 # 宣告骨干区域Area 0的直连网络
 area 0.0.0.0
  network 12.0.0.0 0.0.0.255
 # 宣告非骨干区域Area 1的直连网络
 area 0.0.0.1
  network 10.0.0.0 0.0.0.255
  network 1.1.1.1 0.0.0.0

2. R2 配置 (Area 0 与 Area 2 的 ABR)
复制代码
sysname R2
# 1. 配置接口IP地址
interface LoopBack0
 ip address 2.2.2.2 255.255.255.0
interface GigabitEthernet0/0/1  # 图片中此接口连接R1
 ip address 12.0.0.2 255.255.255.0
interface GigabitEthernet0/0/0  # 图片中此接口连接R4
 ip address 20.0.0.1 255.255.255.0

# 2. 配置OSPF
ospf 1 router-id 2.2.2.2
 # 宣告骨干区域Area 0的直连网络
 area 0.0.0.0
  network 12.0.0.0 0.0.0.255
 # 宣告非骨干区域Area 2的直连网络
 area 0.0.0.2
  network 20.0.0.0 0.0.0.255
  network 2.2.2.2 0.0.0.0
3. R3 配置 (Area 1 的内部路由器)
复制代码
sysname R3
# 1. 配置接口IP地址
interface LoopBack0
 ip address 3.3.3.3 255.255.255.0
interface GigabitEthernet0/0/0
 ip address 10.0.0.2 255.255.255.0  # 图片中为10.0.0.2,非100.0.0.2

# 2. 配置OSPF,所有接口都在Area 1
ospf 1 router-id 3.3.3.3
 area 0.0.0.1
  network 10.0.0.0 0.0.0.255
  network 3.3.3.3 0.0.0.0

4. R4 配置 (Area 2 的内部路由器)
复制代码
sysname R4
# 1. 配置接口IP地址
interface LoopBack0
 ip address 4.4.4.4 255.255.255.0
interface GigabitEthernet0/0/0
 ip address 20.0.0.2 255.255.255.0

# 2. 配置OSPF,所有接口都在Area 2
ospf 1 router-id 4.4.4.4
 area 0.0.0.2
  network 20.0.0.0 0.0.0.255
  network 4.4.4.4 0.0.0.0

三、关键验证步骤

配置完成后,请按顺序执行以下命令进行验证:

  1. 检查接口与链路

    复制代码
    display ip interface brief
  2. 检查OSPF邻居 ​ (确保所有邻居状态为 Full):

    复制代码
    display ospf peer brief
  3. 检查OSPF路由表

    复制代码
    display ospf routing
  4. 检查全局路由表 ​ (应能看到标记为 O_IA​ 的OSPF区域间路由):

    复制代码
    display ip routing-table protocol ospf
  5. 测试全网连通性​ (在任意路由器上ping其他所有Loopback地址):

    复制代码
    # 例如,在R3上测试:
    ping -a 3.3.3.3 1.1.1.1
    ping -a 3.3.3.3 2.2.2.2
    ping -a 3.3.3.3 4.4.4.4

答疑:

环回地址的掩码配置为/24,但在network命令中,使用反掩码0.0.0.0是正确的,也是更推荐的做法 。而使用0.0.0.255虽然语法正确,但在大多数场景下会导致非预期的路由行为。

下面详细解释两者的区别、影响及最佳实践。

核心区别:宣告的是什么?

关键在于理解network命令中"反掩码 "的作用:它决定了将接口的哪个IP地址何种形式发布到OSPF中。

以R1的环回口地址 1.1.1.1/24为例:

配置命令 反掩码逻辑 OSPF宣告内容 其他路由器学到的路由表项
**network 1.1.1.1 0.0.0.0**​ 精确匹配**IP地址 1.1.1.1**​ 这一个主机。 接口的IP地址 1.1.1.1 ​ 作为一个32位主机路由/32)发布。 1.1.1.1/32(主机路由)
**network 1.1.1.1 0.0.0.255**​ 匹配 1.1.1.01.1.1.255整个网段。 接口所在网络 1.1.1.0/24 ​ 作为一个网络路由发布。 1.1.1.0/24(网络路由)

为什么在宣告环回地址时,强烈建议使用 0.0.0.0

这与环回接口的用途OSPF的行为有关:

  1. 环回接口的用途是设备标识,而非真实网段

    • 环回地址(如1.1.1.1)通常用于:

      • 路由器ID的来源,唯一标识设备。

      • 网络管理(Telnet/SSH的目的地址)。

      • 其他协议(如BGP、MPLS LDP)建立会话的源地址。

    • 它是一个虚拟接口 ,背后并没有一个真实的、连接着多台主机的1.1.1.0/24局域网。宣告整个/24网段会误导网络中的其他设备,让它们以为存在一个可以到达1.1.1.21.1.1.100等地址的网络。

  2. OSPF处理环回接口的特殊性

    • 在OSPF中,环回接口默认被通告为32位主机路由(/32)无论其实际配置的掩码是多少。这是一个业内标准行为(Cisco、华为等设备均如此)。

    • 当您使用network 1.1.1.1 0.0.0.0时,您正显式地、精准地 执行这个默认行为,宣告的就是1.1.1.1/32

    • 如果使用network 1.1.1.1 0.0.0.255,您是在尝试覆盖OSPF的默认行为,强制宣告一个/24的网络路由。虽然可以做到,但这通常不是你想要的结果

在您的ENSP实验中会产生什么影响?

假设R1使用 network 1.1.1.1 0.0.0.255

  1. 在R2、R3、R4的路由表 中,会学到一条 1.1.1.0/24的路由,下一跳指向R1。

  2. 问题 :如果R2试图ping一个不存在的地址,例如 1.1.1.100,它的路由表会匹配到这条/24的路由,并将数据包发给R1。R1收到后,发现自己并没有 1.1.1.100这个直连接口,最终会回复"目的网络不可达" 。这造成了虚假的可达性带宽浪费

结论与最佳实践建议

场景 推荐的反掩码 原因
宣告环回接口地址 **0.0.0.0**​ 精确宣告设备标识,符合环回口的用途和OSPF默认行为,避免宣告虚假的网络空间。
宣告真实的物理链路 ​ (如 12.0.0.0/24) **0.0.0.255**​ 宣告一个真实的、可用的IP网段,该网段内的所有地址(.1到.254)在物理上都是可互通的。
宣告一个真实的物理主机或点对点链路 0.0.0.0 ​ 或 0.0.0.255均可 对于/30/31的点对点链路,两者效果常相同。但用0.0.0.0更精准。

最终建议:

在ENSP实验配置中,请保持原配置不变 ,即对环回地址使用 network 1.1.1.1 0.0.0.0。这是专业且正确的配置方法。

您可以这样验证:

在R2上执行 display ip routing-table 1.1.1.1,会看到一条 1.1.1.1/32的OSPF路由,这证明配置是正确且符合预期的。

简单记忆:环回接口是"点",用0.0.0.0;真实网段是"面",用0.0.0.255(或对应的反掩码)。

相关推荐
阿巴~阿巴~17 小时前
从IP到MAC,从内网到公网:解密局域网通信与互联网连接的完整路径
服务器·网络·网络协议·架构·智能路由器·tcp·arp
无心水17 小时前
【分布式利器:腾讯TSF】3、服务注册发现深度解析:构建动态弹性的微服务网络
网络·分布式·微服务·架构·分布式利器·腾讯tsf·分布式利器:腾讯tsf
liulilittle17 小时前
OPENPPP2 Code Analysis Three
网络·c++·网络协议·信息与通信·通信
汽车通信软件大头兵17 小时前
Autosar--ETAS Isolar能够自由学习啦!
网络·学习·安全·汽车·etas·uds·isoalr
牛老师讲GIS17 小时前
多边形简化讲解:从四大核心算法到 Mapshaper 自动化实战
网络·算法·自动化
阿巴~阿巴~17 小时前
帧长、MAC与ARP:解密局域网通信的底层逻辑与工程权衡
linux·服务器·网络·网络协议·tcp/ip·架构·以太网帧
Maggie_ssss_supp17 小时前
Linux-计算机网络
服务器·网络·计算机网络
emma羊羊18 小时前
Vulhub-AppWeb
网络·安全·web安全·vulhub
乾元18 小时前
IoT 大量接入场景下的网络切片与安全隔离——AI 驱动的策略生成、验证与落地工程
运维·网络·人工智能·物联网·网络协议·安全