目录
[1.1 基础概念(RouterID相关)](#1.1 基础概念(RouterID相关))
[1.2 OSPF报文类型及作用](#1.2 OSPF报文类型及作用)
[1.3 邻居建立过程(状态机)](#1.3 邻居建立过程(状态机))
[1.3.1 七种状态及行为](#1.3.1 七种状态及行为)
[1.3.2 邻居/邻接关系定义](#1.3.2 邻居/邻接关系定义)
[1.3.3 邻居建立条件(8项)](#1.3.3 邻居建立条件(8项))
[1.4 DR/BDR相关](#1.4 DR/BDR相关)
[1.5 LSA相关](#1.5 LSA相关)
[1.5.1 LSA核心要素与新旧判断](#1.5.1 LSA核心要素与新旧判断)
[1.5.2 各类LSA作用及产生条件](#1.5.2 各类LSA作用及产生条件)
[1.5.3 OSPF更新机制](#1.5.3 OSPF更新机制)
[1.6 特殊功能与设备](#1.6 特殊功能与设备)
[1.6.1 虚链路](#1.6.1 虚链路)
[1.6.2 关键设备定义](#1.6.2 关键设备定义)
[1.6.3 特殊区域(优化LSDB)](#1.6.3 特殊区域(优化LSDB))
[1.7 其他关键配置](#1.7 其他关键配置)
[2.1 基础概念](#2.1 基础概念)
[2.2 级别分类(路由器/链路/邻居)](#2.2 级别分类(路由器/链路/邻居))
[2.3 区域定义](#2.3 区域定义)
[2.4 配置命令](#2.4 配置命令)
[2.5 邻居建立与报文](#2.5 邻居建立与报文)
[2.5.1 邻居建立过程(MA网络)](#2.5.1 邻居建立过程(MA网络))
[2.5.2 报文类型及作用](#2.5.2 报文类型及作用)
[2.5.3 数据同步过程](#2.5.3 数据同步过程)
[2.6 DIS选举(与OSPF DR的区别)](#2.6 DIS选举(与OSPF DR的区别))
[2.7 LSP相关](#2.7 LSP相关)
[2.8 路由计算与防环](#2.8 路由计算与防环)
[2.8.1 域间路由原则](#2.8.1 域间路由原则)
[2.8.2 防环机制](#2.8.2 防环机制)
[2.9 认证与过载](#2.9 认证与过载)
[2.9.1 认证分类及作用](#2.9.1 认证分类及作用)
[2.9.2 路由过载](#2.9.2 路由过载)
[2.10 度量值(补充)](#2.10 度量值(补充))
[3.1 核心配置命令](#3.1 核心配置命令)
[3.2 关键概念补充](#3.2 关键概念补充)
一、OSPF路由协议
1.1 基础概念(RouterID相关)
-
RouterID(RID)核心信息
-
作用:在网络或协议中唯一标识路由器
-
位数:32位二进制数
-
与IP地址关系:特定情况下数值相同
-
初始值:全局RID和协议RID初始值均为[0.0.0.0](0.0.0.0)(全局RID初始无效)
-
-
全局RID与协议RID的关系
- 未单独配置协议RID时,OSPF协议自动使用全局RID作为自身协议RID
-
全局RID的动态变化规则
-
优先选择LoopBack端口的IP地址
-
端口类型相同时,优先选择数值更大的IP地址
-
-
协议RID修改命令
[huawei]ospf 1 router-id 1.1.1.1 <huawei>reset ospf process
1.2 OSPF报文类型及作用
|-------|------------------------------|
| 报文类型 | 核心作用 |
| HELLO | 发现、建立和维持邻居关系;发送间隔10秒,超期时间40秒 |
| DD | 主从选举、交互LSA摘要信息 |
| LSR | 请求LSA数据报文 |
| LSU | 发送LSA数据报文的详细信息 |
| LSACK | 对接收到的LSA数据报文进行确认 |
1.3 邻居建立过程(状态机)
1.3.1 七种状态及行为
-
Down:未收到其他路由器的HELLO报文
-
Init:收到其他路由器发送的NBR字段为NULL的HELLO报文
-
2-WAY:收到其他路由器HELLO报文,且对方报文中Active-Neighbor包含自身RID(邻居关系建立标志)
-
ExStart:发送空DD报文,进行主从选举(RID大的为主设备,小的为从设备)
-
Exchange:主从关系确定后,发送带LSA摘要信息的DD报文
-
Loading:收到DD报文且M位置为0时,请求自身缺失的LSA
-
Full:所有待接收LSA均同步完成(邻接关系建立标志)
1.3.2 邻居/邻接关系定义
-
邻居关系:2-WAY状态(仅DROther-DROther之间)
-
邻接关系:Full状态(DR-BDR、DR-DROther、BDR-DROther之间)
1.3.3 邻居建立条件(8项)
-
OSPF协议版本一致
-
Router-ID不冲突
-
区域ID一致
-
认证类型和认证密码一致
-
MA链路两端端口IP在同一网段且子网掩码相同
-
HELLO发送间隔和邻居失效时间一致
-
HELLO报文中Options选项的N位、E位一致
-
链路两端端口MTU一致
1.4 DR/BDR相关
-
作用:收集和发送广播网络中所有设备的LSA信息
-
选举原则
-
优先比较DR优先级(取值0-255,默认1)
-
优先级相等时比较RID,最大为DR,第二大为BDR,其余为DROther
-
优先级=0时,该路由器不参与DR/BDR选举
-
不支持抢占机制
-
-
常见问题解答
-
一个路由器可成为多个广播网络的DR
-
一个广播网络只能有1个DR、1个BDR,可有多台DROther
-
广播网络可不存在DROther(仅DR和BDR),但不能无BDR
-
DR故障:BDR自动升级为DR,重新选举新BDR
-
BDR故障:重新选举新BDR
-
DROther故障:不影响DR/BDR,仅移除该邻居
-
故障DR恢复后:作为DROther(不抢占)
-
故障BDR恢复后:作为DROther(不抢占)
-
1.5 LSA相关
1.5.1 LSA核心要素与新旧判断
-
三要素:LSA类型、LSA链路状态ID、ADVRouter
-
新旧判断顺序:序列号(越大越新)→ 校验和(越大越新)→ 老化时间(越小越新)
1.5.2 各类LSA作用及产生条件
|-------|----------------------|-----------------------------------------------------------------------------------------------------------------|
| LSA类型 | 作用 | 产生条件/场景 |
| 1类 | 记录路由器一跳范围内网络信息 | - StubNet:连接终端PC、环回接口启用OSPF、对端路由器未启用OSPF<br>- P-2-P:串口启用OSPF<br>- TransNet:以太网端口启用OSPF<br>- Virtual:设置虚链路 |
| 2类 | 表示广播网络中伪节点连接的网络和设备信息 | 广播网络环境中由DR生成 |
| 3类 | 跨区域传输网络信息(仅叶子信息) | ABR设备生成,用于不同区域间信息交互(替代1、2类LSA跨区域传输) |
| 4类 | 指导自治系统内其他路由器找到ASBR | ASBR所在区域的ABR生成 |
| 5类 | 传输外部路由信息 | ASBR生成,自治系统内传输时内容不变 |
| 7类 | NSSA区域内替代5类LSA | NSSA区域内的ASBR生成 |
1.5.3 OSPF更新机制
-
触发更新:链路状态变更(COST值、网段、子网掩码变更)时触发
-
周期更新:每30分钟更新一次自身产生的LSA,序列号+1,校验和重算,Age重置
1.6 特殊功能与设备
1.6.1 虚链路
-
解决问题:非骨干区域未直接连接骨干区域的问题
-
配置命令:vlink-peer 后续参数为RID(优势:邻居关系更稳定,冗余链路故障不影响)
-
源/目的IP获取:通过绘制最短路径树确定
-
特性:
-
属于区域0的逻辑链路
-
不能穿越特殊区域,仅能穿越一个常规非骨干区域
-
继承区域0的认证设置
-
-
潜在问题:可能产生环路
1.6.2 关键设备定义
-
ABR(区域边界路由器):连接骨干区域和非骨干区域的路由器
-
ASBR(自治系统边界路由器):运行多种路由协议且进行路由引入的路由器
1.6.3 特殊区域(优化LSDB)
|--------|-------------|--------------------------|
| 区域类型 | 优化内容 | 核心特性 |
| Stub | 过滤4、5类LSA | 产生缺省3类LSA,不能进行路由引入 |
| 完全Stub | 过滤3、4、5类LSA | 在Stub基础上进一步优化,仅保留缺省3类LSA |
| NSSA | 过滤4、5类LSA | 支持路由引入,用7类LSA传输外部路由 |
1.7 其他关键配置
-
COST值计算:COST=参考带宽(默认100Mbps)/接口带宽,0<结果<1时进位为1
-
路由汇总:优化骨干区域LSDB的LSA信息(ABR或ASBR上配置)
-
认证方式:NULL(无认证)、Simple(简单认证)、MD5(加密认证)
二、ISIS路由协议
2.1 基础概念
-
核心定义
-
中间系统(IS):具有路由/报文转发能力的网络设备
-
端系统(ES):无路由/报文转发能力的网络设备
-
标准ISIS:适用于OSI/RM架构
-
集成ISIS:适用于OSI/RM和TCP/IP架构
-
-
地址相关
-
NSAP地址组成:IDP(区域地址)+ System ID(区分主机)+ SEL(服务类型,标识上层协议)
-
NET地址:SEL=00的NSAP地址
-
2.2 级别分类(路由器/链路/邻居)
|-------|------------|----------------------------------------------------------------------------------|
| 级别类型 | 分类 | 核心规则 |
| 路由器级别 | L1、L2、L1/2 | - L1:仅发送L1 HELLO报文<br>- L2:仅发送L2 HELLO报文<br>- L1/2:可发送L1和L2 HELLO报文(由链路级别决定) |
| 链路级别 | L1、L2、L1/2 | 限制L1/2路由器发送的HELLO报文类型(对应端口发送对应级别报文) |
| 邻居级别 | L1、L2 | 邻居建立需级别匹配 |
2.3 区域定义
-
骨干区域:连续的L2邻居关系组成的逻辑区域
-
非骨干区域:连续的L1邻居关系组成的逻辑区域
2.4 配置命令
# 启用ISIS进程
isis 1
# 设置NET地址
network-entity 49.0000.0000000.00
# 设置路由器级别(默认L1/2)
is-level level-1-2
# 端口启用ISIS进程
interface <端口号> isis enable 1
# 设置端口链路级别
isis circuit-level level-1-2
2.5 邻居建立与报文
2.5.1 邻居建立过程(MA网络)
-
Down状态:双方均未收到HELLO报文
-
Init状态:收到对方System-ID有效、NBR=NULL的IIH报文
-
Up状态:收到对方NBR字段包含自身System-ID的IIH报文
-
最终步骤:DIS选举

2.5.2 报文类型及作用
|------------|----------------------------|
| 报文类型 | 作用 |
| HELLO(IIH) | 建立和维护邻居关系(发送周期10秒,超期时间30秒) |
| CSNP | 发送链路状态摘要信息 |
| LSP | 发送链路状态更新信息 |
| PSNP | 发送请求信息和确认信息 |
2.5.3 数据同步过程
-
P2P网络:CSNP → PSNP → LSP → PSNP(确认)
-
MA网络:DIS选举完成后,通过CSNP同步摘要,缺失信息通过PSNP请求LSP补充
2.6 DIS选举(与OSPF DR的区别)
|--------|-----------|---------|
| 对比项 | ISIS DIS | OSPF DR |
| 默认优先级 | 64 | 1 |
| 优先级=0时 | 仍参与选举 | 不参与选举 |
| 抢占机制 | 支持 | 不支持 |
| 备用角色 | 无(无BDR概念) | 有BDR |
| 优先级最大值 | 127 | 255 |
2.7 LSP相关
-
LSPID字段含义
-
SystemID:唯一标识中间系统IS
-
伪节点标识符:00=实节点信息(1类),非00=伪节点信息(2类)
-
分片标识符:标识设备是否用多个信息描述自身
-
-
关键字段作用
-
ATT位:骨干区域连接符(L1/2设备ATT=1时,非骨干区域设备以其为缺省路由)
-
P位:虚链路标识(未被厂商实现)
-
OL位:路由过载位(标识设备不希望被其他设备转发报文)
-
-
LSP更新机制
-
触发更新:链路状态变化时触发
-
周期更新:每900秒更新一次自身产生的LSP
-
2.8 路由计算与防环
2.8.1 域间路由原则
-
骨干区域→非骨干区域:L1/2路由器将L1路由以叶子形式放入L2 LSP
-
非骨干区域→骨干区域:通过缺省路由访问
2.8.2 防环机制
-
L1/2路由器忽略ATT位计算
-
路由优先级:L1路由 > L2路由 > L1*路由(无论COST值)
2.9 认证与过载
2.9.1 认证分类及作用
|-------|-----------------------|
| 认证类型 | 作用范围 |
| 接口认证 | 仅认证L1、L2的HELLO报文 |
| 区域认证 | 仅认证L1的LSP、CSNP、PSNP报文 |
| 路由域认证 | 仅认证L2的LSP、CSNP、PSNP报文 |
2.9.2 路由过载
-
适用场景:设备负载过高时,避免转发其他设备的报文
-
LSP变化:L1/2路由器关闭部分L1→L2路由泄露,ATT位设为0;L1、L2路由器LSP无变化
2.10 度量值(补充)
-
窄度量:支持发送和处理两种度量
-
宽度量:支持发送和处理两种度量
-
兼容模式:窄兼容、宽度量兼容、全兼容(具体需结合设备支持)
三、BGP路由协议(配置为主)
3.1 核心配置命令
# 创建BGP进程
bgp 100
# 设置BGP的router-id
router-id 1.1.1.1
# 设置BGP邻居信息
peer 10.0.12.2 as-number 200
peer 192.168.4.1 as-number 200
# 设置当前路由器使用环回端口0建立BGP邻居
peer 192.168.4.1 connect-interface LoopBack 0
# 设置当前路由器发送BGP路由信息时修改下一跳地址
peer 192.168.4.1 next-hop-local
# 设置路由器宣告BGP路由
network 192.168.1.0 24
# 设置路由器宣告BGP路由
import-route direct route-policy 192.168.5.0
# 查看BGP邻居信息
dis bgp peer
# 查看BGP路由表
dis bgp routing-table
3.2 关键概念补充
-
邻居类型:EBGP(不同AS)、IBGP(同一AS)
-
路由宣告方式:network(精确宣告已存在的路由)、import-route(引入其他协议路由)
-
下一跳优化:next-hop-local适用于IBGP邻居,确保路由可达