HCIA-OSPF基础
前言:本博客仅作记录学习使用,部分图片出自网络,如有侵犯您的权益,请联系删除
本篇笔记是根据B站上的视频教程整理而成,感谢UP主的精彩讲解!如果需要了解更多细节,可以参考以下视频:
https://www.bilibili.com/video/BV1rdT6zQEMg/?spm_id_from=333.788.videopod.episodes&vd_source=e539f90574cdb0bc2bc30a8b5cb3fc00&p=6https://www.bilibili.com/video/BV1rdT6zQEMg/?spm_id_from=333.788.videopod.episodes&vd_source=e539f90574cdb0bc2bc30a8b5cb3fc00&p=6https://www.bilibili.com/video/BV1rdT6zQEMg/?spm_id_from=333.788.videopod.episodes&vd_source=e539f90574cdb0bc2bc30a8b5cb3fc00&p=6
一、OSPF协议概述
1、动态路由协议的分类
1.1、距离矢量路由协议(被淘汰)
1.2、链路状态路由协议
(1)LSA泛洪
链路状态路由协议与距离矢量协议不同,它不直接通告路由表,而是通告链路状态信息(LSA)。运行该协议的路由器首先建立邻居关系,然后通过交换LSA来共享网络拓扑信息
(2)LSDB组建
每台路由器生成LSAs,收到的LSAs存入LSDB(链路状态数据库),通过LSDB掌握全网拓扑。
(3)SPF计算
每台路由器基于LSDB,使用SPF算法计算出以自己为根的最短路径树,从而确定到达网络各个角落的最优路径。
最后,路由器将计算出来的优选路径,加载进自己的路由表
(4)总结
2、OSPF简介
OSPF是广泛使用的链路状态路由协议,针对IPv4使用OSPFv2(RFC 2328),针对IPv6使用OSPFv3(RFC 2740)
- OSPF路由器交互链路状态(LS,链路状态)信息,而非直接交互路由。LS信息是拓扑及路由计算的关键。
- 路由器收集LS信息并存储在LSDB中,掌握区域内网络拓扑,便于计算无环路径。
- 每台路由器通过SPF算法计算最短路径,生成路由并加载到路由表中。
- OSPF支持VLSM和手工路由汇总,多区域设计使其能支持大规模网络。
3、OFPF基础术语
3.1、区域
OSPF Area用于标识OSPF的区域,区域是从逻辑上将设备划分为不同组,每组用区域号(Area ID)来标识
3.2、Router-ID
Router-ID(路由器标识符)用于在OSPF域中唯一标识路由器。可以通过手工配置或系统自动配置来设定
3.3、度量值
OSPF使用Cost(开销)作为路由的度量值。每个OSPF接口都有一个接口Cost值,缺省计算公式为:Cost=100 Mbit/s/接口带宽
其中,100 Mbit/s是OSPF的缺省参考值,可配置。一条OSPF路由的Cost值是从目的网段到本路由器沿途所有入接口的Cost值累加。
4、OSPF协议报文类型
报文名称 | 报文功能 |
---|---|
Hello | 周期性发送,用来发现和维护OSPF邻居关系 |
Database Description | 描述本地LSDB的摘要信息,用于两台设备进行数据库同步 |
Link State Request | 用于向对方请求所需要的LSA。设备只有在OSPF邻居双方成功交换DD报文后才会向对方发出LSR报文 |
Link State Update | 同于向对方发送其所需要的LSA |
Link State ACK | 同来对收到的LSA进行确认 |
5、OSPF三大表项
OSPF有三张重要的表项,OSPF邻居表、LSDB表和OSPF路由表
5.1、邻居表
- OSPF在传递链路状态信息之前,需先建立OSPF邻居关系
- OSPF的邻居关系通过交互Hello报文建立
- OSPF邻居表显示了OSPF路由器之间的邻居状态,使用display OSPF peer查看
5.2、LSDB表
- LSDB保存路由器自己产生的及从邻居收到的LSA信息。
- 每条LSA有Type(类型)和AdvRouter(发送路由器)标识。
- 可以通过命令行display ospf lsdb查看LSDB表。
5.3、OSPF路由表
- OSPF路由表和路由器路由表是两张不同的表。
- OSPF路由表包含Destination(目的地址)、Cost(开销)和NextHop(下一跳)等信息,用于指导数据转发。
- 可以通过命令display ospf routing查看OSPF路由表。
二、OSPF协议工作原理
1、OSPF路由器之间的关系
- 邻居关系:两台直连路由器在互联接口上激活OSPF后,通过发送和侦听Hello报文发现彼此,形成邻居关系。
-
邻接关系:在邻居关系基础上,路由器通过DD、LSR、LSU和LS ACK等报文交互完成LSDB同步,并开始独立计算路由后,形成邻接关系。
2、OSPF邻接关系建立过程
OSPF完成邻接关系的建立有四个步骤,建立邻居关系、协商主/从、交互LSDB信息,同步LSDB。
(1)建立邻居关系流程
(2)协商主/从与交互LSDB信息
(3)同步LSDB
(4)查看OSPF邻居表
3、PSPF网络类型简介
OSPF网络类型是接口的重要变量,影响OSPF在接口上的操作,例如报文发送方式和是否选举DR/BDR。网络类型取决于接口的数据链路层封装。OSPF有四种网络类型:Broadcast、NBMA、P2MP和P2P。
4、DR与BDR
(1)背景
MA(Multi-Access,多路访问)网络分为广播型(BMA)和非广播型(NBMA)两种。以太网是典型的广播型多路访问网络。
在MA网络中,如果每台OSPF路由器都与其他所有路由器建立邻接关系,会导致过多的OSPF邻接关系,增加设备负担和网络中OSPF报文的数量。拓扑变更时,LSA泛洪可能会浪费带宽和设备资源。
(2)DR与DBR
为优化MA网络中的OSPF邻接关系,OSPF定义了三种路由器角色:DR(指定路由器)、BDR(备用指定路由器)和DRother(其他路由器)。
- DR和BDR 会与其他所有OSPF路由器建立邻接关系。
- DRother路由器之间不会建立全毗邻的OSPF邻接关系,仅停留在2-way状态。
- BDR会监控DR的状态,并在DR故障时接替其角色,确保网络的稳定运行。
5、OSPF域
5.1、单区域
OSPF域是由一系列使用相同策略的连续OSPF网络设备组成的网络。路由器在同一个区域内泛洪LSA,确保LSDB同步以维持一致的网络拓扑认知。
但如果OSPF域仅有一个区域,随着网络规模扩大、路由器数量增多,会产生诸多问题:
- LSDB过于庞大,导致路由表规模增加。
- 路由器资源消耗多,设备性能下降,影响数据转发。
- 基于庞大LSDB的路由计算变得困难。
- 网络拓扑变更时,LSA全域泛洪和全网SPF重计算带来巨大负担。
5.2、多区域
OSPF引入区域(Area)概念,将OSPF域划分为多个区域,以支撑更大规模的组网。多区域设计减小了LSA泛洪范围,将拓扑变化的影响控制在区域内,优化网络性能。同时,在区域边界可以进行路由汇总,减小路由表规模,提高网络扩展性,有利于组建大规模网络。
5.3、OSPF路由器类型
5.4、OSPF单区域与多区域典型组网
三、OSPF协议典型配置
1、配置命令
--创建并运行OSPF进程(系统视图):
[Huawei] ospf [process-id | router-id router-id] --router-id未指定则自动获取--创建并进入OSPF区域(OSPF视图):
[Huawei-ospf-1] area area-id--指定运行OSPF的接口(OSPF区域视图)
[Huawei-ospf-1-area-0.0.0.0] network network-address wildcard-mask--配置OSPF接口开销(接口视图)
[Huawei-GigabitEthernet0/0/0] ospf cost cost--设置OSPF带宽参考值(OSPF视图)
[Huawei-ospf-1] bandwidth-reference value--设置接口DR优先级(接口视图)
[Huawei-GigabitEthernet0/0/0] ospf dr-priority priority --priority值越大优先级越高
2、配置案例
(1)配置设备接口
--R1的配置:<Huawei>sys[Huawei]sys R1[R1]interface LoopBack 0[R1-LoopBack0]ip address 1.1.1.1 32[R1-LoopBack0]interface GigabitEthernet 0/0/0[R1-GigabitEthernet0/0/0]ip address 10.1.12.1 30--R3的配置:<Huawei>sys[Huawei]sys R3[R3]interface LoopBack 0[R3-LoopBack0]ip address 3.3.3.3 32[R3-LoopBack0]interface GigabitEthernet 0/0/1[R3-GigabitEthernet0/0/1]ip address 10.1.23.2 30
(2)配置OSPF
--R1的OSPF配置:[R1]ospf 1 router-id 1.1.1.1[R1-ospf-1]area 0[R1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0[R1-ospf-1-area-0.0.0.0]network 10.1.12.0 0.0.0.3--R2的OSPF配置:<Huawei>sys[Huawei]sys R2[R2]ospf 1 router-id 2.2.2.2[R2-ospf-1]area 0[R2-ospf-1-area-0.0.0.0]network 10.1.12.0 0.0.0.3[R2-ospf-1-area-0.0.0.0]area 1[R2-ospf-1-area-0.0.0.1]network 10.1.23.0 0.0.0.3--R3的ospf配置:[R3]ospf 1 router-id 3.3.3.3[R3-ospf-1]area 1[R3-ospf-1-area-0.0.0.1]network 3.3.3.3 0.0.0.0[R3-ospf-1-area-0.0.0.1]network 10.1.23.0 0.0.0.3
(3)验证结果
<R2>display ospf peer briefOSPF Process 1 with Router ID 2.2.2.2Peer Statistic Information----------------------------------------------------------------------------Area Id Interface Neighbor id State ----------------------------------------------------------------------------0.0.0.0 GigabitEthernet0/0/0 1.1.1.1 full0.0.0.1 GigabitEthernet0/0/1 3.3.3.3 full------------------------------------------------------------------------------在路由器R1上查看路由表,并执行从源1.1.1.1 ping 3.3.3.3<R1>display ip routing-table Route Flags: R - relay, D - download to fib------------------------------------------------------------------------------Routing Tables: PublicDestinations : 8 Routes : 8 Destination/Mask Proto Pre Cost Flags NextHop Interface1.1.1.1/32 Direct 0 0 D 127.0.0.1 LoopBack03.3.3.3/32 OSPF 10 2 D 10.1.12.2 GigabitEthernet0/0/010.1.12.0/30 Direct 0 0 D 10.1.12.1 GigabitEthernet0/0/0...<R1>ping -a 1.1.1.1 3.3.3.3PING 3.3.3.3: 56 data bytes, press CTRL_C to breakReply from 3.3.3.3:bytes=65 Sequence=1 ttl=254 time=50 ms...
学习永无止境,让我们共同进步!!