OSPF是开放式最短路径优先,是IETF(国际互联网工程任务组)开发的一个基于链路状态的IGP(内部网关协议)。目前针对IPV4协议使用是OSPF。
动态路由协议因其灵活性高、可靠性强、易于扩展等特点被广泛应用于现网。在动态路由协议中,OSPF是使用场景非常广泛的动态路由协议之一
名称 | 描述 |
---|---|
router-id | 用于在一个 OSPF中唯一的标识一台路由器 |
area | 从逻辑上将设备划分为不同的组,每个组用区域号来标识 |
Cost | Cost值等于100Mbit/s接口带宽,其中100Mbit/s为指定的默认参考值 |
进程号 | OSPF支持多进程,在同一台设备上可以运行多个不同的OSPF进程,它们之间互不影响彼此独立 |
表名 | 描述 |
---|---|
邻居表 | 查看OSPF路由器之间的邻居状态使用命令display ospf peer查看 |
LSDB表 | 保存自己产生的即从邻居收到的LSA信息,使用命令display ospf lsdb查看 |
OSPF路由表 | 包括Desttination、Cost和NextHop等指导转发的信息,使用display ospf routing命令查看 |
报文类型 | 作用 |
---|---|
Hello | 发现和维护邻居关系 |
Database Description | 交互链路状态数据库摘要 |
Link State Request | 请求特定的链路状态信息 |
Link State Update | 发送详细的链路状态信息 |
Link State Ack | 发送确定报文 |
项目 | Value |
---|---|
down | 邻居的初始状态,表示没有从邻居收到任何信息 |
init | 收到了hello报文,但是自己不再收到的hello报文的邻居列表中 |
two-way | 收到了对方的hello报文,而且在hello报文里看到自己的router-id,选DR/BDR |
extart | 发送DD报文,选择主/从 |
exchange | 相互发送包含链路状态信息摘要的DD报文,描述本地LSDB的内容 |
loading | 相互发送LSR报文,请求LSU通告LSA |
1)配置路由器R1,命令如下:
<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
<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
<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
1)路由器R1的配置如下:
[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的配置如下:
[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 #退出
<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进程时指定进程号,若不指定,默认进程号为1 |
说明:不同OSPF进程之间的路由交互,相当于不同路由协议之间的路由交互
#查看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 |
#查看R1的LSDB表
[R1]display ospf lsdb
参数名 | 描述 |
---|---|
Type | LSA的类型 |
LinkState ID | 标识每个LSA |
AdvRouter | 表示通告路由器,代表产生该LSA的设备 |
Age | 表示本LSA的老化时间 |
Len | 代表LSA的大小 |
Sequence | 代表LSA的序列号 |
Metric | 开销值 |
#查看R1的路由表
[R1]display ip routing-table
#查看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邻接关系不能建立的常见原因如下
1)配置路由器R1,命令让如下:
<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
<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
<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
<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
1)配置路由器R1,命令让如下:
<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
<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
<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
<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
<R1>system-view
#查看R1接口状态的OSPF状态,命令如下:
[R1]display ospf interface g0/0/0
思考要点
假如有4台路由器的优先级都为1,那么比较rouer id,根据这个原则,R4会变成DR,R3会成为BDR,为什么R1会成为DR,R2会成为BDR?
解答:因为最先配置R1,然后配置R2,如果邻居路由器没有相关DR和BDR字段,那么就等待40秒,然后开始选举DR/BDR
#查看R3与R4接口邻居关系
[R3]display ospf peer brief
1)配置路由器R1,命令如下:
<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
<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
<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
<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
1)配置路由器R1,命令如下:
<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
<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
<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
<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
假设R4为企业网的出口,出口编号为NULL 0,命令如下:
#配置默认路由,出口为NULL 0(可以理解为垃圾桶)
[R4]ip route-static 0.0.0.0 0.0.0.0 NULL 0
#查看R4的路由表,命令如下:
[R4]display ip routing-table
#查看R1的路由表,命令如下:
[R1]display ip routing-table
如图所示:
通过以上输出结果,可以看到R4上有一条默认路由
可以看到只有R4上有静态路由,在R1、R2、R3上是没有静态路由的,如果一条一条的进行配置就比较麻烦,可以使用OSPF下发默认路由命令如下:
[R4]ospf
[R4-ospf-1]default-route-advertise #下发默认路由
[R4-ospf-1]quit
技术要点:
[R1]display ip routing-table
命令 | 作用 |
---|---|
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 | 下发默认路由 |