文章目录
- [一. 初识OSPF](#一. 初识OSPF)
-
- [1.1. OSPF概述](#1.1. OSPF概述)
- [1.2. OSPF特性](#1.2. OSPF特性)
- [1.3. OSPF的专业术语](#1.3. OSPF的专业术语)
- [1.4. OSPF维护的3张表](#1.4. OSPF维护的3张表)
- [1.5. OSPF报文类型](#1.5. OSPF报文类型)
- [1.6. OSPF的邻居状态](#1.6. OSPF的邻居状态)
- [二. 实验题](#二. 实验题)
-
- [2.1. 实验1:点到点链路上的OSPF](#2.1. 实验1:点到点链路上的OSPF)
-
- [2.1.1. 实验目的](#2.1.1. 实验目的)
- [2.1.2. 实验拓扑图](#2.1.2. 实验拓扑图)
- [2.1.3. 实验步骤](#2.1.3. 实验步骤)
- [2.1.3. 实验调试](#2.1.3. 实验调试)
- [2.2. 实验2:MA网络上的OSPF](#2.2. 实验2:MA网络上的OSPF)
-
- [2.2.1. 实验目的](#2.2.1. 实验目的)
- [2.2.2. 实验拓扑图](#2.2.2. 实验拓扑图)
- [2.2.3. 实验步骤](#2.2.3. 实验步骤)
- [2.3. 实验3:OSPF下方默认路由](#2.3. 实验3:OSPF下方默认路由)
- [三. OSPF命令汇总](#三. 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 | 下发默认路由 |