文章目录
- 路由概念、BFD协议详解与OSPF第一课
- 一、路由协议优先级与选路原则
- 1.1 路由协议优先级对照表
- 1.2 路由选路核心原则
- 二、BFD(Bidirectional Forwarding Detection,双向转发检测)的配置与应用
- 2.1 双向心跳探测(双端配置)
- 2.2 单臂回声探测(单端配置)
- 三、OSPF(Open Shortest Path First,开放式最短路径优先协议)协议精讲
- 3.1 OSPF基本特性
- 3.2 RIP的问题与OSPF的优化
- 3.3 Router-ID选举规则
- 3.4 OSPF工作流程
- 3.5 实验
- 四、OSPF五种报文详解
- 4.1 报文通用头部格式
- 4.2 各报文功能解析
路由概念、BFD协议详解与OSPF第一课
一、路由协议优先级与选路原则
1.1 路由协议优先级对照表
| 路由协议类型 | 内部优先级 | 外部优先级 |
|---|---|---|
| Direct | 0 | 0 |
| Static | 60 | 60 |
| RIP | 100 | 100 |
| OSPF | 10 | 10 |
| OSPF ASE | 150 | 150 |
| OSPF NSSA | 150 | 150 |
| ISIS(Level-1) | 15 | 15 |
| ISIS(Level-2) | 18 | 15 |
| EBGP | 20 | 255 |
| IBGP | 200 | 255 |
路由协议优先级有外部和内部之分,外部优先级可修改,内部优先级看不到且无法更改。路由选路时,外部优先级比较不出来,会比较内部优先级。
1.2 路由选路核心原则
- 加表原则:优先级 > cost值(数值越小越优)
- 转发原则:最长掩码匹配优先
- 链路检测:华为设备自动探测接口物理状态,若接口UP但链路不通需启用BFD检测
二、BFD(Bidirectional Forwarding Detection,双向转发检测)的配置与应用

2.1 双向心跳探测(双端配置)
[R1]bfd #启用bfd功能,启用后输入q退出
[R1]bfd huawei bind peer-ip 12.1.1.2 source-ip 12.1.1.1 auto #bfd起名叫huawei,绑定探测的ip地址为12.1.1.2,自动用12.1.1.1探测
[R1-bfd-session-huawei]commit
[R1]dis bfd session all #探测成功
[R1]ip route-static 8.8.8.8 32 12.1.1.2 track bfd-session huawei #把静态路由与bfd联动
[R1]ip route-static 8.8.8.8 32 13.1.1.3 preference 100 #配置浮动路由
2.2 单臂回声探测(单端配置)
[R1]bfd isp bind peer-ip 12.1.1.2 interface GigabitEthernet 0/0/0 one-arm-echo #配置单臂回声
[R1-bfd-session-isp]discriminator local 1 #配置本地标识符
#[R1-bfd-session-isp]detect-multiplier 4 #配置检测倍数为4倍
#[R1-bfd-session-isp]min-echo-rx-interval 300 #配置检测时间为300毫秒
[R1]dis bfd session all #探测成功
[R1]ip route-static 8.8.8.8 32 12.1.1.2 track bfd-session isp #把静态路由与bfd联动
[R1]ip route-static 8.8.8.8 32 13.1.1.3 preference 100 #配置浮动路由
三、OSPF(Open Shortest Path First,开放式最短路径优先协议)协议精讲
3.1 OSPF基本特性
- 协议层级:工作在网络层之上(3.5层协议)
- LSA更新机制:30分钟周期性检查更新
- RFC标准:RFC2328
[R1-ospf-1]preference 9 #更改优先级的方法:进入ospf进程修改
3.2 RIP的问题与OSPF的优化
| RIP的特性 | 带来的问题 | 优化或解决的方式 |
|---|---|---|
| 逐跳收敛 | 收敛慢,故障恢复时间长 | “收到更新→计算路由→发送更新”改为“收到更新→发送更新→计算路由” |
| 传闻路由更新机制 | 缺少对全局网络拓扑的了解 | 路由器基于拓扑信息,独立计算路由 |
| 最多有效跳数为15 | 环形组网中,使远端路由不可达 | 不限定跳数 |
| 以“跳数”为度量 | 存在选择次优路径风险 | 将链路带宽作为选路参考值 |
路由信息传递与路由计算分离;基于SPF算法;以“累计链路开销”作为选路参考值。
3.3 Router-ID选举规则
- router-id:用来标记同区域唯一的ospf路由器(类似身份证),用点分十进制表示(类似IP地址),建议手动配置。如果没有手动配置:
| 优先级 | 配置方式 |
|---|---|
| 1 | 手动指定router-id |
| 2 | 环回接口最大IP地址 |
| 3 | 物理接口最大IP地址 |
| 实际 | 全局router-id(设备第一个配置了IP并且up的IP地址) |
display router id #查看全局router-id的方法
在工作中可以找一个网段的IP地址作为管理IP,在每个网络设备创建一个环回接口,设置一个管理IP,并把它作为router-id
3.4 OSPF工作流程
- 邻居建立:通过Hello报文建立邻接关系
- LSDB同步:交换DD、LSR、LSU报文完成链路状态数据库同步
- SPF计算:基于SPF算法计算最优路径树
3.5 实验

[R1-g0/0/0]ip add 12.1.1.1 24 #R1和R2的g0/0/0分别设置ip为12.1.1.1 和12.1.1.2
[R1-LoopBack0]ip add 1.1.1.1 32 #R1和R2的回环接口0分别设置ip为1.1.1.1 和2.2.2.2
[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 12.1.1.1 0.0.0.0
[R1/R2]dis ospf peer brief
四、OSPF五种报文详解
4.1 报文通用头部格式

4.2 各报文功能解析
| 报文类型 | 功能描述 | 关键字段说明 |
|---|---|---|
| Hello | 发现/维持邻居关系 | Router-ID、Hello Interval |
| DD | 数据库摘要同步 | Sequence Number、I/M/MS |
| LSR | 请求缺失的LSA | LSA Type、Link State ID |
| LSU | 携带完整的LSA信息 | LS Age、Advertising Router |
| LSAck | 确认收到的LSU报文 | LSA Headers |
- hello报文(ospf的hello报文TTL=1,即:ospf的hello报文不能跨设备传递):

- DD报文:摘要信息

- LSR报文:用于向邻居请求自身缺少的LSA
- 当路由器收到LSR报文时,会根据报文中的LSA三要素在自身LSDB中查找相关的LSA,并将其封装在LSU报文中回复

- 当路由器收到LSR报文时,会根据报文中的LSA三要素在自身LSDB中查找相关的LSA,并将其封装在LSU报文中回复
- LSU报文:用于发送完整的LSA,报文中可以看到完整的LSA

- LSACK报文:用于确认收到了哪些LSA报文,只用到了LSA的头部信息,不是完整的LSA
