开放式最短路径优先(Open Shortest Path First,OSPF)是广泛使用的一种动态路由协议,它属于链路状态路由协议,具有路由变化收敛速度快、无路由环路、支持变长子网掩码(VLSM)和汇总、层次区域划分等优点。在网络中使用OSPF协议后,大部分路由将由OSPF协议自行计算和生成,无须网络管理员人工配置,当网络拓扑发生变化时,协议可以自动计算、更正路由信息。与EIGRP类似,都是“触发式”的路由协议。
OSPF分为两种:单区域用户简单的网络,多区域用于复杂网络
SPF 两级区域层次结构
- 主干区域 - 主要功能是快速高效地传输 IP 数据包的 OSPF 区域。主干区域与其他类型的 OSPF 区域互连。主干区域也称为 OSPF 区域 0(area 0)。分层网络中将区域 0 定义为核心,所有其他区域与其直接连接。
- 非主干区域 - 连接用户和资源。常规区域通常按功能或地理区域分组进行设置。默认情况下,非主干区域不允许来自另一区域的流量使用它的链路到达其他区域。来自其他区域的所有流量必须经过主干区域
OSPF路由器的类型
OSPF 路由器分为四种不同类型:
内部路由器 – 所有接口位于同一区域的路由器。区域中的所有内部路由器具有相同的 LSDB
主干路由器 – 主干区域中的路由器。主干区域被设为区域 0。
区域边界路由器 (ABR) – 接口连接多个区域的路由器。它必须为相连的每个区域维护单独的 LSDB,并能在区域之间路由。ABR 可配置为汇总来自相连区域的 LSDB 的路由信息。ABR 将路由信息分发到主干区域。然后主干路由器将消息转发到其他 ABR。在多区域网络中,一个区域可以有一个或多个 ABR。
自治系统边界路由器 (ASBR) – 至少有一个接口连接到外部网际网路的路由器。
OSPF LSA 类型
LSA 是 OSPF LSDB 的构建基块。单独使用时,它们充当数据库记录并提供特定 OSPF 网络的详细信息。组合使用时,它们描述 OSPF 网络或区域的完整拓扑。
LSA 第 1 类
所有路由器使用第 1 类 LSA 通告其直连 OSPF 链路,并将网络信息转发给 OSPF 邻居。LSA 包含直连接口、链路类型、邻居和链路状态的列表.
LSA 第 2 类
第 2 类 LSA 仅存在于多接入和非广播多接入 (NBMA) 网络,这些网络已选择了 DR 并且多接入网段上至少有两个路由器
LSA 第 3 类
ABR 使用第 3 类 LSA 通告来自其他区域的网络。ABR 在 LSDB 中收集第 1 类 LSA
LSA 第 4 类
第 4 类和第 5 类 LSA 共同用于识别 ASBR 和将外部网络通告到 OSPF 路由域。
LSA 第 5 类
第 5 类外部 LSA 描述到达 OSPF 路由域之外的网络的路由。
以使用以下公式计算所需的邻接数。多接入网络上任何数量的路由器要求的邻接关系数量(指定为 n)为:
n (n – 1) / 2
默认 DR/BDR 选择过程
1.在网络中,路由器选择具有最高接口优先级的路由器作为 DR。具有第二高接口优先级的路由器被选为 BDR。优先级可配置为 0 - 255 之间的任意数字。路由器的优先级越高,就越可能被选为 DR。
2.如果路由器的接口优先级相等,则选择路由器 ID 最高的路由器作为 DR。路由器 ID 第二高的路由器被选为 BDR。
当然我们可以自己配置改变优先级,因而改变选举,最简单的使用 router-id
也可以是
- ip ospf priority value - OSPFv2 接口命令
- ipv6 ospf priority value - OSPFv3 接口命令
传播默认静态路由
default-information originate 路由器配置模式命令
手动修改 OSPFv2 Hello 间隔和 Dead 间隔:
- ip ospf hello-interval seconds
- ip ospf dead-interval seconds
- 使用 no ip ospf hello-interval 和 no ip ospf dead-interval 命令将间隔重置为默认值。
OSPF的数据包类型:
- Hello 数据包: 用于建立和维护其他OSPF路由器的邻居关系
- 数据库描述数据包:包含本地的LSDB,以方便建立SPF树
- 链路状态请求数据包(LSR):路由器通过发送LSR请求DBD中的任意条目的详细信息
- 链路状态更新信息(LSU)数据包:用于恢复LSR的通告新消息
- 链路状态确认数据包(LSACK):路由器收到LSU后,发送LSACK用于确认
配置OSPF
配置接口信息
Router>enable
Router#configure
Router(config)#hostname R1
R1(config)#interface G0/0
R1(config-if)#ip address 10.0.0.1 255.255.255.0
R1(config-if)#no shutdown
Router>enable
Router#configure
Router(config)#hostname R2
R2(config)#interface G0/0
R2(config-if)#ip address 10.0.0.2 255.255.255.0
R2(config-if)#no shutdown
R2(config-if)#exit
R2(config)#interface G0/1
R2(config-if)#ip address 10.0.1.1 255.255.255.0
R2(config-if)#no shutdown
Router>enable
Router#configure
Router(config)#hostname R3
R3(config)#interface G0/1
R3(config-if)#ip address 10.0.1.2 255.255.255.0
R3(config-if)#no shutdown
配置OSPF
R1(config-router)#router-id 1.1.1.1
R1(config-router)#network 10.0.0.0 0.0.0.255 area 0
R2(config)#router ospf 1
R2(config-router)#router-id 2.2.2.2
R2(config-router)#network 10.0.0.0 0.0.0.255 area 0
R2(config-router)#network 10.0.1.0 0.0.0.255 area 0
R3(config)#router ospf 1
R3(config-router)#router-id 3.3.3.3
R3(config-router)#network 10.0.1.0 0.0.0.255 area 0
当我们配置完的时候,可以注意这样的信息
这样表示,OSPF的邻居已经建立;若配置完,没有出现此信息,可能你的网段没有声明正确哦
通过show ip ospf neighbor,可以查看邻居信息
当然,我们在一个未知的拓扑的时候,我们应该是首先show ip protocal
可以查看此时的OSPF的进程,网段,route-id等详细信息。这个主要是在拍错的时候用得多
通过show ip ospf database查看OSPF的状态
当然,这是单区域OSPF数据库
我们可以试着配置为OSPF,再来看数据库信息
添加配置R3、R4、ISP
R3(config)#interface G0/0
R3(config-if)#ip address 10.0.2.1 255.255.255.0
R3(config-if)#no shutdown
Router>enable
Router#configure
Router(config)#hostname R4
R4(config)#interface G0/0
R4(config-if)#ip address 10.0.2.2 255.255.255.0
R4(config-if)#no shutdown
R4(config-if)#exit
R4(config)#interface Serial 0/0/0
R4(config-if)#ip address 10.0.3.1 255.255.255.0
R4(config-if)#no shutdown
Router>enable
Router#configure
Router(config)#hostname ISP
ISP(config)#interface Serial 0/0/0
ISP(config-if)#ip address 10.0.3.1 255.255.255.0
ISP(config-if)#no shutdown
修改区域ID
R1(config)#router ospf 1
R1(config-router)#network 10.0.0.0 0.0.0.255 area 1
如果在配置OSPF的时候,遇到这种情况,不要着急,是因为对面的路由器的声明区域不对,只需要修改对面路由器的区域ID即可
R2(config)#router ospf 1
R2(config-router)#network 10.0.0.0 0.0.0.255 area 1
配置完后,又重新建立邻居关系
R3(config)#router ospf 1
R3(config-router)#network 10.0.2.0 0.0.0.255 area 0
R4(config-router)#router-id 4.4.4.4
R4(config-router)#network 10.0.2.0 0.0.0.255 area 0
当我们配置了多区域的OSPF后,OSPF的database就会显示五类的信息
配置完默认或静态路由,需要在重分布
R4(config)#ip route 0.0.0.0 0.0.0.0 serial 0/0/0
ISP(config)#ip route 0.0.0.0 0.0.0.0 serial 0/0/0
R4(config)#router ospf 1
R4(config-router)#default-information originate
文章来源:https://www.toymoban.com/news/detail-465951.html
在查看路由表的时候,我们可看见静态路由重新分布了文章来源地址https://www.toymoban.com/news/detail-465951.html
到了这里,关于Cisco简单配置(十八)—OSPF的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!