04. OSPF

文章目录

一. 初识OSPF

1.1. OSPF概述

OSPF是开放式最短路径优先,是IETF(国际互联网工程任务组)开发的一个基于链路状态的IGP(内部网关协议)。目前针对IPV4协议使用是OSPF。

动态路由协议因其灵活性高、可靠性强、易于扩展等特点被广泛应用于现网。在动态路由协议中,OSPF是使用场景非常广泛的动态路由协议之一

1.2. OSPF特性

  • 版本:V2支持IPv4,V3支持IPv6
  • 基于SPF算法,也被称为Dijkstra算法
  • 使用主播收发部分协议报文,主播地址为224.0.0.5、224.0.0.6
  • 支持区域划分
  • 支持等价路由
  • 支持报文认证(明文、密文)

1.3. OSPF的专业术语

名称 描述
router-id 用于在一个 OSPF中唯一的标识一台路由器
area 从逻辑上将设备划分为不同的组,每个组用区域号来标识
Cost Cost值等于100Mbit/s接口带宽,其中100Mbit/s为指定的默认参考值
进程号 OSPF支持多进程,在同一台设备上可以运行多个不同的OSPF进程,它们之间互不影响彼此独立

1.4. OSPF维护的3张表

表名 描述
邻居表 查看OSPF路由器之间的邻居状态使用命令display ospf peer查看
LSDB表 保存自己产生的即从邻居收到的LSA信息,使用命令display ospf lsdb查看
OSPF路由表 包括Desttination、Cost和NextHop等指导转发的信息,使用display ospf routing命令查看

1.5. OSPF报文类型

报文类型 作用
Hello 发现和维护邻居关系
Database Description 交互链路状态数据库摘要
Link State Request 请求特定的链路状态信息
Link State Update 发送详细的链路状态信息
Link State Ack 发送确定报文

1.6. OSPF的邻居状态

项目 Value
down 邻居的初始状态,表示没有从邻居收到任何信息
init 收到了hello报文,但是自己不再收到的hello报文的邻居列表中
two-way 收到了对方的hello报文,而且在hello报文里看到自己的router-id,选DR/BDR
extart 发送DD报文,选择主/从
exchange 相互发送包含链路状态信息摘要的DD报文,描述本地LSDB的内容
loading 相互发送LSR报文,请求LSU通告LSA

二. 实验题

2.1. 实验1:点到点链路上的OSPF

2.1.1. 实验目的

  • 学会在路由器上启用OSPF路由进程
  • 学会启用参与路由协议的接口,并且通告网络级所在的区域
  • 掌握度量值Cost的计算方法
  • 掌握Hello相关参数的配置方法
  • 了解点到点链路上的OSPF特征
  • 学会查看和调试OSPF路由协议的相关信息

2.1.2. 实验拓扑图

2.1.3. 实验步骤

(1)IP地址配置

1)配置路由器R1,命令如下:

shell 复制代码
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname R1
[R1]interface s0/0/0
[R1-Serial0/0/0]ip address 192.168.12.1 24
[R1-Serial0/0/0]undo shutdown
[R1-Serial0/0/0]quit
[R1]interface LoopBack 0
[R1-LoopBack0]ip address 1.1.1.1 24
[R1-LoopBack0]quit

如图所示:

2)配置路由器R2,命令如下:

shell 复制代码
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname R2
[R2]interface s0/0/0
[R2-Serial0/0/0]ip address 192.168.23.2 24
[R2-Serial0/0/0]undo shutdown
[R2-Serial0/0/0]quit
[R2]interface s0/0/1
[R2-Serial0/0/1]ip address 192.168.12.2 24
[R2-Serial0/0/1]undo shutdown
[R2-Serial0/0/1]quit
[R2]interface LoopBack 0
[R2-LoopBack0]ip address 2.2.2.2 24
[R2-LoopBack0]quit

如图所示:

3)配置路由器R3,命令如下:

shell 复制代码
<Huawei>system-view
[Huawei]undo info-center enable
[R2]sysname R3
[R3]interface s0/0/1
[R3-Serial0/0/1]ip address 192.168.23.3 24
[R3-Serial0/0/1]undo shutdown
[R3-Serial0/0/1]quit
[R3]interface LoopBack 0
[R3-LoopBack0]ip address 3.3.3.3 24
[R3-LoopBack0]quit

如图所示:

(2)OSPF路由协议的配置

1)路由器R1的配置如下:

shell 复制代码
[R1]ospf router-id 1.1.1.1 #OSPF的进程为1,router-id为1.1.1.1
[R1-ospf-1]area 0 #进入区域0

#命令"network 192.168.12.0 0.0.0.255"的作用为匹配192.168.12.0/24网段的ip地址,并且将ip地址属于本网段的接口全部激活OSPF
[R1-ospf-1-area-0.0.0.0]network 192.168.12.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 1.1.1.0 0.0.0.255 #通告网络1.1.1.0
[R1-ospf-1-area-0.0.0.0]quit #退出

如图所示:

技术要点: OSPF选择router-id的规则

场景参数 描述
手动配置router-id 就作为本设备的路由器id
已创建OSPF进程 系统会自动生成设备的router-id
无手动配置router-id router-id的选举原则为:设备上有环回口时,选择环回口地址大的作为本设备的router-id;设备上没有环回口时,选择接口ip地址大的作为router-id

说明一点:手动配置的router-id将不生效时,如果想使用手动配置的router-id。可以在用户视图模式下使用reset ospf process命令重设OPF进程是新的router-id生效。还可以删除当前OSPF配置,再重新配置OSPF进程时加上对应的router-id

2)路由器R2的配置如下:

shell 复制代码
[R2]ospf router-id 2.2.2.2
[R2-ospf-1]area 0 #进入区域0
[R2-ospf-1-area-0.0.0.0]network 192.168.12.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 192.168.23.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 2.2.2.0 0.0.0.255 #通告网络2.2.2.0
[R2-ospf-1-area-0.0.0.0]quit #退出

如图所示:

3)路由器R3的配置如下:

shell 复制代码
<Huawei>system-view
[Huawei]sysname R3
[R3]undo info-center enable
[R3]ospf router-id 3.3.3.3
[R3-ospf-1]area 0 #进入区域0
[R3-ospf-1-area-0.0.0.0]network 192.168.23.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]network 3.3.3.0 0.0.0.255 #通告网络3.3.3.0
[R3-ospf-1-area-0.0.0.0]quit #退出

如图所示:

技术要点: OSPF协议参数

参数名 描述
多进程 在同一台设备上可以运行多个不同的OSPF进程,他们之间互相不影响彼此独立
进程号 可以在创建OSPF进程时指定进程号,若不指定,默认进程号为1

说明:不同OSPF进程之间的路由交互,相当于不同路由协议之间的路由交互

2.1.3. 实验调试

(1)查看邻居表
shell 复制代码
#查看R1的邻居表
[R1]display ospf peer brief

如图所示:

技术要点: 邻居表参数名

参数名 描述
Area Id 表示邻居在某个区域建立的OSPF的邻居关系。这里表示在Area 0中与邻居建立了OSPF的邻居关系
Interface 路由器自己和邻居路由器相连的接口。这里表示为s0/0/0接口与邻居相连
Neighbor id 表示邻居的router-id。这里表示R1的邻居的router-id为2.2.2.2
State 邻居的状态,其中Full表示已经建立的邻接关系,并且双方的数据库已经同步了。在P2P网络中属于最终的状态。当然,在广播型网络中,非指定路由之间的状态会停留在2-Way
(2)查看LSDB表
shell 复制代码
#查看R1的LSDB表
[R1]display ospf lsdb

如图所示:

技术要点: 数链状态数据库参数信息

参数名 描述
Type LSA的类型
LinkState ID 标识每个LSA
AdvRouter 表示通告路由器,代表产生该LSA的设备
Age 表示本LSA的老化时间
Len 代表LSA的大小
Sequence 代表LSA的序列号
Metric 开销值
(3)查看路由表表
shell 复制代码
#查看R1的路由表
[R1]display ip routing-table

如图所示:

(4)查看接口状态
shell 复制代码
#查看R1的接口状态
[R1]display ospf interface s0/0/0

如图所示:

技术要点:

参数名 描述
Cost 接口度量值为1562
State 链路类型为P-2-P
Type 网络类型为P2P
MTU 最大传输单元为1500B
Hello Hello报文的间隔时间为10S
Dead 40 Hello报文的死亡时间为40S

说明:OSPF邻接关系不能建立的常见原因如下

  • 区域号码不一致
  • 特殊区域的区域类型不匹配
  • 认证类型或密码不一致
  • 路由器ID相同
  • Hello包被ACL deny(拒绝通行)
  • 链路上的MTU不匹配
  • 接口下的OSPF网络类型不匹配

2.2. 实验2:MA网络上的OSPF

2.2.1. 实验目的

  • 学会在路由器上启动OSPF进程
  • 学会启用参与路由协议的接口,并通告网络及所在的区域
  • 学会修改参考带宽
  • 学会DR选举的控制

2.2.2. 实验拓扑图

2.2.3. 实验步骤

(1)配置ip地址

1)配置路由器R1,命令让如下:

shell 复制代码
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname R1
[R1]interface g0/0/0
[R1-GigabitEthernet0/0/0]ip address 10.1.1.1 24
[R1-GigabitEthernet0/0/0]undo shutdown
[R1-GigabitEthernet0/0/0]quit
[R1]interface LoopBack 0   #创建环回口编号为0
[R1-LoopBack0]ip address 1.1.1.1 24 #配置ip地址
[R1-LoopBack0]quit

如图所示:

2)配置路由器R2,命令让如下:

shell 复制代码
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname R2
[R2]interface g0/0/0
[R2-GigabitEthernet0/0/0]ip address 10.1.1.2 24
[R2-GigabitEthernet0/0/0]undo shutdown
[R2-GigabitEthernet0/0/0]quit
[R2]interface LoopBack 0   #创建环回口编号为0
[R2-LoopBack0]ip address 2.2.2.2 24 #配置ip地址
[R2-LoopBack0]quit

如图所示:

3)配置路由器R3,命令让如下:

shell 复制代码
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname R3
[R3]interface g0/0/0
[R3-GigabitEthernet0/0/0]ip address 10.1.1.3 24
[R3-GigabitEthernet0/0/0]undo shutdown
[R3-GigabitEthernet0/0/0]quit
[R3]interface LoopBack 0   #创建环回口编号为0
[R3-LoopBack0]ip address 3.3.3.3 24 #配置ip地址
[R3-LoopBack0]quit

如图所示:

4)配置路由器R4,命令让如下:

shell 复制代码
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname R4
[R4]interface g0/0/0
[R4-GigabitEthernet0/0/0]ip address 10.1.1.4 24
[R4-GigabitEthernet0/0/0]undo shutdown
[R4-GigabitEthernet0/0/0]quit
[R4]interface LoopBack 0   #创建环回口编号为0
[R4-LoopBack0]ip address 4.4.4.4 24 #配置ip地址
[R4-LoopBack0]quit

如图所示:

(2)OSPF配置

1)配置路由器R1,命令让如下:

shell 复制代码
<R1>system-view
[R1]ospf router-id 1.1.1.1
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]network 10.1.1.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 1.1.1.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]quit

如图所示:

2)配置路由器R2,命令让如下:

shell 复制代码
<R2>system-view
[R2]ospf router-id 2.2.2.2
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 10.1.1.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 2.2.2.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]quit

如图所示:

3)配置路由器R3,命令让如下:

shell 复制代码
<R3>system-view
[R3]ospf router-id 3.3.3.3
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]network 10.1.1.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]network 3.3.3.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]quit

如图所示:

4)配置路由器R4,命令让如下:

shell 复制代码
<R4>system-view
[R4]ospf router-id 4.4.4.4
[R4-ospf-1]area 0
[R4-ospf-1-area-0.0.0.0]network 10.1.1.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0]network 4.4.4.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0]quit

如图所示:

(3)实验调试
查看接口OSPF状态
shell 复制代码
<R1>system-view
#查看R1接口状态的OSPF状态,命令如下:
[R1]display ospf interface g0/0/0

如图所示:

技术要点

  • DR的选举只在广播型网络或者非广播型多路访问网络中出现,选举原则为比较该网络中接口的优先级,数值越大越优先,数值为0,不参与选举;
  • 如果优先级一样,则比较Router-id,Router-id越大越优先,其次选举为BDR,若没被选上的设备为Drother;
  • DR是无法被抢占的,也就意味着在网络运行正常时,即使修改设备的优先级也不会影响该网络中DR的角色变化;
  • 所有的Drother与DR和BDR建立邻接关系(Full状态),Drother之间的状态为邻接状态(2-Way)

思考要点
假如有4台路由器的优先级都为1,那么比较rouer id,根据这个原则,R4会变成DR,R3会成为BDR,为什么R1会成为DR,R2会成为BDR?

解答:因为最先配置R1,然后配置R2,如果邻居路由器没有相关DR和BDR字段,那么就等待40秒,然后开始选举DR/BDR

查看接口邻居关系
shell 复制代码
#查看R3与R4接口邻居关系
[R3]display ospf peer brief

如图所示:

2.3. 实验3:OSPF下方默认路由

2.3.1. 实验目的

  • 学会在路由器上启动OSPF进程
  • 学会启用参与路由协议的接口,并且通告网络及所在的区域
  • 掌握OSPF下默认路由的配置

2.3.2. 实验拓扑图

2.3.3. 实验步骤

(1)IP地址配置

1)配置路由器R1,命令如下:

shell 复制代码
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname R1
[R1]interface g0/0/0
[R1-GigabitEthernet0/0/0]ip address 192.168.12.1 24
[R1-GigabitEthernet0/0/0]undo shutdown
[R1-GigabitEthernet0/0/0]quit
[R1]interface g0/0/1
[R1-GigabitEthernet0/0/1]ip address 192.168.13.1 24
[R1-GigabitEthernet0/0/1]undo shutdown
[R1-GigabitEthernet0/0/1]quit

如图所示:

2)配置路由器R2,命令如下:

shell 复制代码
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname R2
[R2]interface g0/0/1
[R2-GigabitEthernet0/0/1]ip address 192.168.12.2 24
[R2-GigabitEthernet0/0/1]undo shutdown
[R2-GigabitEthernet0/0/1]quit
[R2]interface g0/0/0
[R2-GigabitEthernet0/0/0]ip address 192.168.24.2 24
[R2-GigabitEthernet0/0/0]undo shutdown
[R2-GigabitEthernet0/0/0]quit

如图所示:

3)配置路由器R3,命令如下:

shell 复制代码
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname R3
[R2]interface g0/0/0
[R2-GigabitEthernet0/0/0]ip address 192.168.13.3 24
[R2-GigabitEthernet0/0/0]undo shutdown
[R2-GigabitEthernet0/0/0]quit
[R2]interface g0/0/1
[R2-GigabitEthernet0/0/1]ip address 192.168.34.3 24
[R2-GigabitEthernet0/0/1]undo shutdown
[R2-GigabitEthernet0/0/1]quit

如图所示:

4)配置路由器R4,命令如下:

shell 复制代码
<Huawei>system-view
[Huawei]undo info-center enable
[Huawei]sysname R4
[R4]interface g0/0/0
[R4-GigabitEthernet0/0/0]ip address 192.168.34.4 24
[R4-GigabitEthernet0/0/0]undo shutdown
[R4-GigabitEthernet0/0/0]quit
[R4]interface g0/0/1
[R4-GigabitEthernet0/0/1]ip address 192.168.24.3 24
[R4-GigabitEthernet0/0/1]undo shutdown
[R4-GigabitEthernet0/0/1]quit

如图所示:

(2)OSPF配置

1)配置路由器R1,命令如下:

shell 复制代码
<R1>system-view
[R1]ospf router-id 1.1.1.1
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]network 192.168.12.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 192.168.13.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]quit

如图所示:

2)配置路由器R2,命令如下:

shell 复制代码
<R2>system-view
[R2]ospf router-id 2.2.2.2
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 192.168.12.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 192.168.24.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]quit

如图所示:

3)配置路由器R3,命令如下:

shell 复制代码
<R3>system-view
[R3]ospf router-id 3.3.3.3
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]network 192.168.13.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]network 192.168.34.0 0.0.0.255
[R3-ospf-1-area-0.0.0.0]quit

如图所示:

4)配置路由器R4,命令如下:

shell 复制代码
<R4>system-view
[R4]ospf router-id 4.4.4.4
[R4-ospf-1]area 0
[R4-ospf-1-area-0.0.0.0]network 192.168.24.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0]network 192.168.34.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0]quit

如图所示:

(3)配置默认路由

假设R4为企业网的出口,出口编号为NULL 0,命令如下:

shell 复制代码
#配置默认路由,出口为NULL 0(可以理解为垃圾桶)
[R4]ip route-static 0.0.0.0 0.0.0.0 NULL 0

如图所示:

查看路由表
shell 复制代码
#查看R4的路由表,命令如下:
[R4]display ip routing-table
#查看R1的路由表,命令如下:
[R1]display ip routing-table

如图所示:

通过以上输出结果,可以看到R4上有一条默认路由

可以看到只有R4上有静态路由,在R1、R2、R3上是没有静态路由的,如果一条一条的进行配置就比较麻烦,可以使用OSPF下发默认路由命令如下:

shell 复制代码
[R4]ospf
[R4-ospf-1]default-route-advertise #下发默认路由
[R4-ospf-1]quit

如图所示:

技术要点:

  • OSPF网络注入默认路由的命令为default-route-advertise,表示其他的OSPF设备可以收到该设备下发的默认路由,从而减少配置量,在此命令后加上always参数,表示无论进行默认路由下发的设备是否默认路由,都会下发;
  • 如果有默认路由,则下发,一般默认情况下,如果企业网络只有单出口,则加always参数;
  • 如果有多出口冗余,则不加该参数,以免出现路由黑洞;

2.3.4. 实验调试

shell 复制代码
[R1]display ip routing-table

如图所示:

三. OSPF命令汇总

命令 作用
display ospf brief 查看OSPF的概要信息
display ospf interface 显示OSPF的接口信息
display ospf lsdb 显示OSPF的LSDB信息
display ospf peer 显示OSPF中各区域邻居的信息
display ospf routing 显示OSPF的路由表信息
ospf 启动OSPF路由进程
rouer-id 配置路由器id
Area 设置区域
Network 通告网络
default-route-advertise 下发默认路由
相关推荐
Spring_java_gg13 分钟前
如何抵御 Linux 服务器黑客威胁和攻击
linux·服务器·网络·安全·web安全
方方怪1 小时前
与IP网络规划相关的知识点
服务器·网络·tcp/ip
weixin_442643422 小时前
推荐FileLink数据跨网摆渡系统 — 安全、高效的数据传输解决方案
服务器·网络·安全·filelink数据摆渡系统
阑梦清川3 小时前
JavaEE初阶---网络原理(五)---HTTP协议
网络·http·java-ee
FeelTouch Labs3 小时前
Netty实现WebSocket Server是否开启压缩深度分析
网络·websocket·网络协议
长弓三石6 小时前
鸿蒙网络编程系列44-仓颉版HttpRequest上传文件示例
前端·网络·华为·harmonyos·鸿蒙
xianwu5436 小时前
反向代理模块
linux·开发语言·网络·git
follycat6 小时前
[极客大挑战 2019]HTTP 1
网络·网络协议·http·网络安全
xiaoxiongip6667 小时前
HTTP 和 HTTPS
网络·爬虫·网络协议·tcp/ip·http·https·ip
JaneJiazhao7 小时前
HTTPSOK:智能SSL证书管理的新选择
网络·网络协议·ssl