网络运维学习笔记(DeepSeek优化版)010网工初级(HCIA-Datacom与CCNA-EI)距离矢量路由协议RIP与链路状态路由协议OSPF
文章目录
- RIP(Routing Information Protocol,路由信息协议)基于距离矢量的路由协议
- RIPv2核心特性
- 环路解决方案
- 华为设备配置
- 关键参数说明
- OSPF(Open Shortest Path First,开放式最短路径优先协议)协议详解
- 一、核心工作机制
- 工作流程四阶段
- 二、路由计算参数
- 三、OSPF配置流程
- 3.1 创建OSPF进程
- 3.2 配置Router-ID
- 3.3 区域配置
- 3.4 区域类型
- 3.5 区域特性
- 四、协议报文与状态机
- 4.1 五种报文类型
- 4.2 两个阶段:
- 4.3 七种状态详解
- 4.4 关键转换触发条件表
- 4.5 故障排查要点
- 五、DR/BDR选举机制
- 5.1 选举规则
- 5.2 选举过程
- 5.3 DR/BDR的组播地址:
- 六、网络类型对照表
- 七、设备三表体系
- 八、关键参数说明
- 九、设备配置实例
- 9.1 思科设备配置
- 9.2 华为设备配置
- 十、实验
- 配置IP地址略
- 运行OSPF
- 思科
- 华为
- 区域内如果有交换机
- 思科
- 华为
RIP(Routing Information Protocol,路由信息协议)基于距离矢量的路由协议
RIPv2核心特性
- 路由更新机制:周期性泛洪路由表(30秒/次),通过UDP 520端口通信
- 拓扑认知局限:仅维护邻居关系,无全局拓扑感知能力
- 矢量方向特性:遵循"收表→加表→发表"的传播模式
- 跳数限制:最大有效跳数15,16跳标识不可达
- 组播地址:使用224.0.0.9进行路由更新
环路解决方案
机制名称 | 实现原理 |
---|---|
水平分割 | 禁止反向通告从接收接口学到的路由信息 |
毒性反转 | 故障路由标记为16跳并主动通告 |
触发更新 | 网络变化时立即发送更新,无需等待周期 |
抑制计时器 | 路由失效后启动冻结期,防止异常路由传播 |
华为设备配置
[R1]rip
[R1-rip-1]version 2 #如果用rip,一般都用ripv2
[R1-rip-1]network 12.0.0.0 #rip只能宣告主类ip地址,像12.1.1.0是不能宣告的
[R1]display ip routing-table protocol rip #查看rip路由表
关键参数说明
协议 | 管理距离/优先级 | 默认Cost计算 | 进程号范围 |
---|---|---|---|
RIP | 120 | 固定跳数 | 单进程 |
OSPF(Open Shortest Path First,开放式最短路径优先协议)协议详解
协议号89,基于链路状态的路由协议,工作在网络层(三层)之上
一、核心工作机制
工作流程四阶段
- 邻居建立
- 通过Hello报文建立邻居关系(10s/次,40s超时)
- 要求TTL=1(仅限直连邻居通信)
- LSA泛洪
- 交换 LSA(Link State Advertise,链路状态通告)
- 同步 LSDB(Link State Database,链路状态数据库)
- SPF计算
- 以自身为根节点生成 最短路径树(Shortest Path First Tree)
- 使用**SPF算法(Shortest Path First,最短路径优先)**计算最优路径
- 路由加载
- 将计算结果存入 RIB(路由信息库)
- 支持IPv4(OSPFv2)和IPv6(OSPFv3)
- 无环路,收敛快,扩展性好,支持认证
二、路由计算参数
Cost = 参考带宽(默认100)/ 实际接口带宽
结果为数值越小越优。默认情况下。百兆千兆均为1,算出为0.1也算作1。
示例:千兆接口Cost=100/1000=0.1(实际取1)
路径总Cost=沿途所有入接口Cost累加
三、OSPF配置流程
3.1 创建OSPF进程
router ospf <进程号> ! 进程号取值范围1-65535(仅在本地有效)
3.2 配置Router-ID
router-id <X.X.X.X> ! 必须全网唯一,取值范围同IPv4地址
- 建议手动配置:和环回口IP地址相同即可
- 注意事项:
- 格式要求:32位(同IPv4地址)
- 系统默认选择第一个UP状态的接口IP作为Router-ID
- 当存在多个同时UP的接口时,选择IP地址最大的作为Router-ID
- 一旦确定后不会自动改变
- 生成优先级:手动配置 > 最大环回地址 > 最大物理接口IP
- 修改Router-ID后需要重启OSPF进程生效
3.3 区域配置
network <网段地址> <反掩码> area <区域号>
3.4 区域类型
区域类型 | 区域号范围 | 特殊要求 |
---|---|---|
骨干区域 | area 0 | 必须存在且唯一 |
常规区域 | area 1-4294967295 | 必须与骨干区域物理/逻辑相连 |
3.5 区域特性
- 接口划分区域
- 相同区域内的设备才能建立邻居关系
- 每个区域维护独立的LSDB(链路状态数据库)
- 常规区域必须通过ABR(区域边界路由器)连接骨干区域
- 多区域提高了网络扩展性,可以支撑更大规模组网,减小泛洪范围,减小路由表规模。
- OSPF路由器分为四种:
- BR(Backbone Router,骨干路由器);
- IR(Internal Router,区域内路由器);
- ABR(area border router,区域边界路由器):同协议两个区域之间的路由器;
- ASBR(Autonomous System Boundary Router,自治系统边界路由器):不同协议间的路由器。
- 宣告内容:
- 邻居
- 身后的路由条目。
- 首先发送空DD,根据Router-ID选举Master之后开始发送报文
四、协议报文与状态机
4.1 五种报文类型
类型 | 名称 | 功能说明 |
---|---|---|
Hello | 邻居发现 | 建立/维持邻居关系 |
DD | 数据库描述 | 描述LSDB中LSA头部摘要信息 |
LSR | 链路状态请求 | 请求完整LSA |
LSU | 链路状态更新 | 携带一条或多条LSA |
LSACK | 链路状态确认 | 对LSA进行确认,确保LSA可靠传输 |
4.2 两个阶段:
邻居关系
邻接关系
4.3 七种状态详解
Down(未启动) → Init(初始) → 2-Way(双向通信) → ExStart(确认主从) → Exchange(信息交换) → Loading(信息更新) → Full(完全连接)
- Down
- 初始状态,未收到任何Hello报文
- 接口激活后开始发送Hello
- Init
- 收到对端Hello(不包含本端Router-ID)
- 持续周期:10秒(Hello间隔)
- 2-Way
- 收到包含本端Router-ID的Hello
- 建立基本邻居关系
- ExStart
- 主从协商阶段(Master/Slave)
- 确定DD报文序列号
- Exchange
- 交换LSA摘要信息
- 比较LSDB差异
- Loading
- 请求缺失的LSA详情
- 使用LSR/LSU报文交互
- Full
- 完成LSDB同步
- 生成最终路由表
4.4 关键转换触发条件表
状态转换 | 触发条件 |
---|---|
Down → Init | 接口UP,发送第一个Hello报文 |
Init → 2-Way | 收到包含自身Router-ID的Hello |
2-Way → ExStart | 邻居参数匹配(MTU/区域ID/认证等) |
ExStart → Exchange | 完成主从角色选举 |
Exchange → Loading | 发现本地LSDB缺失条目 |
Loading → Full | 收到所有请求的LSA并确认 |
4.5 故障排查要点
- 长期卡在ExStart状态:
- 检查接口MTU值是否一致
- 验证认证配置匹配
- Loading状态持续:
- 检查网络是否丢包
- 确认LSACK确认机制正常
- 无法达到Full状态:
- 对比两端区域ID设置
- 检查Router-ID冲突情况
注:ospf建立成功后还可以连接某台路由器的环回地址用来远程管理
五、DR/BDR选举机制
- OSPF会选举出:
- DR(路由器)
- BDR(备份指定路由器)
- DROthers(其他路由器)
- DR/BDR是指接口,每个广播域选一套DR/BDR。
5.1 选举规则
- 优先级比较(默认1,范围0-255,越大越优, 0为放弃,一个广播域内都改为0便不会选举DR和BDR了)
- Router-ID决胜(数值大者胜出)
- 非抢占模式(需重启进程触发重新选举)
5.2 选举过程
- 接口进入Waiting状态(40s)
- 收集所有邻居Hello报文
- 生成候选列表并排序
- 确定DR/BDR角色
5.3 DR/BDR的组播地址:
- 224.0.0.5:成员为所有人在侦听
- 224.0.0.6:成员为DR、BDR在侦听
六、网络类型对照表
类型 | 描述 | 典型应用场景 |
---|---|---|
Broadcast | 以太网广播环境 | 企业局域网 |
P2P | 专线直连 | 运营商专线 |
P2MP | 多点连接(需手动配置) | 特殊组网需求 |
NBMA | 非广播多路访问(已淘汰) | 传统帧中继网络 |
七、设备三表体系
邻居表
记录邻居状态和参数
show ip ospf neighbor # 思科
display ospf peer (brief) # 华为
LSDB表
存储所有LSA信息
show ip ospf database # 思科
display ospf lsdb # 华为
路由表
记录通过OSPF学习的最佳路径
show ip route ospf # 思科
display ospf routing # 华为
八、关键参数说明
协议 | 管理距离/优先级 | 默认Cost计算 | 进程号范围 |
---|---|---|---|
OSPF(思科) | 110 | 参考带宽/接口带宽 | 1-65535 |
OSPF(华为) | 10(内) 150(外) | 参考带宽/接口带宽 | 1-65535 |
注:华为设备修改Router-ID需重启OSPF进程生效,思科设备支持热更新
九、设备配置实例
9.1 思科设备配置
router ospf 110 # 创建并运行ospf进程
router-id 1.1.1.1 # 进入进程并命名router-id为1.1.1.1
network 1.1.1.254 0.0.0.0 area 0 宣告接口并加入区域
ip ospf 110 area 0 # 接口下宣告 (需要先保证OSPF进程已经创建,不需要提前创建区域)
show ip ospf interface (brief) # 查看ospf宣告的接口
show ip route ospf # 查看ospf路由表
clear ip ospf process # 重置所有本地OSPF进程,之后y
no ip cef # 交换机都取消快速转发,否则可能会有路由表但是不通
9.2 华为设备配置
ospf 10 router-id 2.2.2.2 # 创建并运行ospf进程并命名router-id为2.2.2.2
area 0 # 创建并运行区域0
network 2.2.2.254 0.0.0.0 # 宣告连接主机的接口
ospf enable 10 area 0 # 接口下宣告 (需要先保证OSPF进程和该区域已经创建)
display ospf interface (brief) # 查看ospf宣告的接口
display ip routing-table protocol ospf # 查看ospf路由表
ospf dr-priority ? # [0-255]接口视图下,手动修改ospf DR优先级,越大越优,Tips:改255永远为DR,改254永远为BDR
reset ospf process # 重置所有本地OSPF进程,之后y
十、实验
配置IP地址略
运行OSPF
思科
R1:
router ospf 110
router-id 1.1.1.1
network 12.1.1.1 0.0.0.0 area 0
network 1.1.1.254 0.0.0.0 area 0
R2:
router ospf 110
router-id 2.2.2.2
network 12.1.1.2 0.0.0.0 area 0
network 2.2.2.254 0.0.0.0 area 0
华为
R1:
ospf 10 router-id 1.1.1.1
area 0
network 12.1.1.1 0.0.0.0
network 1.1.1.254 0.0.0.0
R2:
ospf 10 router-id 2.2.2.2
area 0
network 12.1.1.2 0.0.0.0
network 2.2.2.254 0.0.0.0
宣告完成后看到提示已建立邻居,ospf运行完成,可以查看三大表了,主机互ping已通
区域内如果有交换机
思科
router ospf 110 # 需要把交换机创建ospf进程
router-id 5.5.5.5 # 并命名id,每台设备id不能相同
interface vlan 8 # 进入vlan接口(有IP地址的接口)
ip ospf 110 area 1 # 并宣告该接口
华为
ospf 10 router-id 5.5.5.5 # 需要把交换机创建ospf进程并命名id,每台设备id不能相同
area 0 # 创建区域
interface vlanif 8 # 进入vlanif接口(有IP地址的接口)
ospf enable 10 area 0 # 并宣告该接口
network 1.1.1.1 0.0.0.0 # 如果有环回口也要宣告
[R1-g0/0/0] ospf cost 70 # 更改接口开销值的方法
bandwidth-reference 100 # 设置ospf带宽参考值(不常用)
[R1-g0/0/1] ospf network-type ? # 进入接口,更改接口的ospf网络类型(Broadcast/NBMA/P2MP/P2P)。
[AR1] display ospf interface GigabitEthernet 0/0/0 # 查看ospf的第四张表:ospf接口表
[AR1-g0/0/0] ospf authentication-mode md5 1 xxxxxxx # 在接口下配置第一个秘钥,密码为xxxxxxx