路由算法与路由协议详解
路由算法基础
核心概念
- 路由器 :核心功能是转发 IP 数据报,通过运行路由协议实现路径选择。
- 路由协议:定义路由器之间交换网络信息的规则,是路由算法的输入。常见协议包括 RIP、OSPF、BGP 等。
- 路由算法 :以路由协议交换的信息为输入,计算出最佳转发路径 ,并生成路由表。本质上是解决图论中的最短路径问题。
路由算法分类
路由算法主要分为两大类:
| 类型 | 定义 | 特点 |
|---|---|---|
| 静态路由算法 | 由网络管理员手动配置每一条路由条目 | 配置简单、安全可靠,但无法自适应网络变化,适用于小型稳定网络 |
| 动态路由算法 | 路由器根据网络流量负载和拓扑结构变化,自动计算并更新路由表 | 自适应能力强,适合大型复杂网络,但算法实现和开销相对复杂 |
常见动态路由算法
- 距离 - 向量路由算法 :代表协议为RIP,路由器仅与邻居交换路由信息,通过 "跳数" 等度量计算最短路径。
- 链路状态路由算法 :代表协议为OSPF ,路由器通过泛洪获取全网拓扑信息,使用Dijkstra 算法计算最短路径。
- 路径 - 向量路由算法 :代表协议为BGP,主要用于自治系统(AS)之间的路由选择,关注路径属性和策略。
距离 - 向量路由算法(Distance-Vector)
核心原理
距离 - 向量算法基于Bellman-Ford 方程 ,每个路由器维护一个距离向量,记录到每个目的网络的最短距离及下一跳路由器。
-
符号定义:
d_x(net1):从路由器X到目的网络net1的最短距离(最小代价)。c(x, v):从路由器X到其邻居v的直接链路代价。d_v(net1):从邻居v到目的网络net1的已知最短距离。
-
核心公式 :
dx(net1)=minc(x,v)+dv(net1)(∀v是X的邻居) dx(net1)=min{c(x,v)+dv(net1)}(∀v 是 X 的邻居) dx(net1)=minc(x,v)+dv(net1)(∀v是X的邻居)路由器
X通过比较所有邻居提供的路径,选择代价最小的一条作为最优路径。 -
"距离" 的定义:
不同路由协议对 "距离"(代价)的定义不同:
- RIP:使用跳数(经过的路由器数量)作为距离。
- 其他协议:可使用链路延迟、带宽、负载、费用等作为度量。
算法特点
- 信息交换范围 :仅与直接相邻的路由器交换信息。
- 信息内容 :交换自身完整的路由表(距离向量)。
- 收敛过程:通过周期性更新,逐步让所有路由器获知全网最短路径。
链路状态路由算法(Link-State)
核心原理
链路状态算法的核心思想是 "先感知全网,再计算路径"。
- 发现邻居:每个路由器通过 Hello 协议发现直连邻居,建立邻接关系。
- 测量链路代价:测量到每个邻居的链路代价(如延迟、带宽)。
- 泛洪链路状态 :将本地链路状态信息(LSA)泛洪到整个自治系统,确保所有路由器都拥有完整的网络拓扑结构(带权图)。
- 计算最短路径 :每个路由器基于全网拓扑,使用Dijkstra 算法独立计算到所有目的网络的最短路径,构建路由表。
算法优势
- 拓扑感知全面:所有路由器拥有一致的全网视图,避免了路由环路和计数到无穷大问题。
- 快速收敛:拓扑变化时仅泛洪变化部分,收敛速度远快于距离 - 向量算法。
- 灵活度量:支持多种链路代价度量,更适合复杂网络环境。
分层次的路由体系
自治系统(AS)
全球路由器数量庞大,无法让单台路由器知晓全部网络信息。因此,互联网被划分为多个自治系统(Autonomous System, AS):
- 定义:由同一管理实体(如运营商、大型企业)控制,使用统一内部路由策略的网络集合。
- 特点 :每个 AS 有唯一的AS 编号(ASN),AS 之间是平等的,可包含一个或多个 CIDR 地址块。
- 边界路由器:每个 AS 至少有一台边界路由器,负责与其他 AS 连接。
路由协议分类
根据作用范围,路由协议分为两大类:
| 类别 | 英文全称 | 作用范围 | 代表协议 | 核心目标 |
|---|---|---|---|---|
| 内部网关协议(IGP) | Interior Gateway Protocol | AS 内部 | RIP、OSPF、EIGRP | 高效计算 AS 内的最短路径 |
| 外部网关协议(EGP) | Exterior Gateway Protocol | AS 之间 | BGP | 实现 AS 间的可达性与策略路由 |
- 域内路由选择:AS 内部的路由计算,由 IGP 完成。
- 域间路由选择:AS 之间的路由计算,由 EGP(主要是 BGP)完成。
一、RIP 协议(Routing Information Protocol)
RIP 作为经典的距离 - 向量协议,以其简单性在小型网络中仍有应用,但在大型网络中,OSPF 凭借其更快的收敛速度和更稳定的性能成为更优选择。而在自治系统之间,路径 - 向量协议 BGP则承担着全球互联网的路由选择重任。
协议概述
RIP 是一种基于距离 - 向量算法的内部网关协议(IGP),是最早被广泛使用的路由协议之一。
-
协议层次 :属于应用层 协议,使用UDP 协议传输数据,端口号为520。
-
报文类型:
- Request(请求)报文:用于路由器启动或查询时,请求邻居发送完整路由表。
- Response(响应)报文:用于响应请求或 ** 周期性(默认 30 秒)** 向邻居发送,携带本地完整路由表信息。
-
报文封装结构:

RIP 核心规定
路径长度定义
- 度量标准 :RIP 使用 跳数(Hop Count 作为到达目的网络的距离度量。跳数指从本路由器到目的网络所经过的路由器数量。

- 最优路径 :RIP 认为跳数最少的路径即为最优路径。
- 最大跳数限制 :RIP 规定一条合法路径的最大跳数为15 。跳数为16 时,被认为是网络不可达。这一限制也制约了 RIP 适用的网络规模。
路由表格式
每个运行 RIP 的路由器都维护一张路由表,表项包含三个关键字段:
| 字段 | 含义 |
|---|---|
| 目的网络(N) | 要到达的目标网络地址 |
| 距离(d) | 到该目的网络的跳数 |
| 下一跳路由器地址(X) | 转发数据报的下一跳路由器 IP 地址 |
路由器同时维护一个距离向量,记录自身到所有目的网络的距离。
RIP 信息交换机制
RIP 协议严格遵循 "谁(Who)、什么(What)、何时(When)" 的信息交换模型:
- Who(和谁交换) :仅与直接相邻的路由器交换信息。
- What(交换什么) :交换本地路由器的完整路由表,即所有已知的目的网络、距离和下一跳信息。
- When(何时交换):
- 周期性更新 :默认每30 秒向所有邻居发送一次 Response 报文。
- 触发更新:当网络拓扑发生变化(如链路断开、新网络加入)时,路由器立即向邻居发送更新报文,加速收敛。
RIP 工作过程
初始状态
路由器刚启动时,仅知道与自己直接相连的网络,这些网络的跳数为 1,下一跳为 "直接交付"。
路由更新与收敛
-
路由器向所有邻居发送 Response 报文,包含自己的初始路由表。
-
邻居路由器收到 RIP 报文后,执行以下操作:
-
修改报文:将报文中所有 "下一跳" 字段改为发送方路由器地址,并将所有 "距离" 字段加 1(因为增加了一跳)。
-
更新路由表
:对修改后的每个表项,按以下逻辑处理:
- 情况 1 :原路由表中无此目的网络 → 添加该表项。
- 情况 2 :原路由表中有此目的网络,且下一跳就是发送方 → 替换为新表项。
- 情况 3 :原路由表中有此目的网络,但下一跳不同 → 若新距离更小,则更新表项;否则忽略。
- 情况 4:其他情况 → 不做任何操作。
-
-
超时与不可达 :若180 秒内未收到某邻居的更新报文,则将该邻居标记为不可达,将对应路由的距离设为 16。
-
收敛 :经过多轮信息交换,所有路由器最终都会获知 AS 内所有网络的最短路径和下一跳地址,此时称为收敛。
RIP 示例分析
(1)初始路由表
以包含 R1、R2、R3、R4 四个路由器的 AS 为例:

Net0表示外部网络,所以这里用默认路由0.0.0.0/0来表示
假设四个路由器同时通电启动开机,那么初始时刻构建的路由表只能知道自己的邻居路由器:
- R1:直连 Net0、Net1,距离均为 1。
- R2:直连 Net2,距离为 1。
- R3:直连 Net3,距离为 1。
- R4:直连 Net4,距离为 1。

(2)第一次更新(0 时刻)
各路由器向与自己相邻的所有路由器发送自己的完整路由表:
- R1 收到 R2 的 Net2 信息,更新为【
Net2, 2, R2】;收到 R3 的 Net3 信息,更新为【Net3, 2, R3】。 - R2 收到 R1 的 Net0、Net1 信息,更新为【
Net0, 2, R1】、【Net1, 2, R1】。 - R3 收到 R1 的 Net0、Net1 信息,更新为【
Net0, 2, R1】、【Net1, 2, R1】;收到 R4 的 Net4 信息,更新为【Net4, 2, R4】。 - R4 收到 R3 的 Net3 信息,更新为【
Net3, 2, R3】。
各路由器更新自己定路由表:

(3)后续更新与收敛
- 30 秒 :R1 通过 R3 获知 Net4,更新为
Net4, 3, R3;R2 通过 R1 获知 Net3、Net4;R3 通过 R1 获知 Net2;R4 通过 R3 获知 Net0、Net1。 - 60 秒 :R2 获知 Net4,R4 获知 Net2,RIP 协议达到收敛状态,所有路由器都拥有完整的路由信息。

RIP 的问题与优化
计数到无穷大(Count to Infinity)
当网络出现故障(如 R2 宕机),R1 在 180 秒后将到 Net2 的距离设为 16。但如果 R3 仍向 R1 通告 "到 Net2 的距离为 2",R1 会错误地认为可以通过 R3 到达 Net2,导致跳数不断增加,直到变为 16 才标记为不可达。这个过程称为计数到无穷大 ,是 RIP "坏消息传得慢" 的典型表现。
解决方案
- 水平分割(Split Horizon):禁止路由器将从某个接口学到的路由,再从该接口发回给邻居。
- 毒性逆转(Poison Reverse):当发现路由不可达时,将其距离设为 16(毒性),并立即发送给邻居,强制清除错误路由。
- 触发更新:拓扑变化时立即发送更新报文,而不是等待周期。
RIP 的优缺点
优点
- 实现简单:协议设计简洁,易于理解和部署。
- 开销较小:对路由器性能和带宽要求低。
- 收敛较快(好消息):当发现更短路径时,更新信息能快速传播到全网。
缺点
- 网络规模受限:最大跳数为 15,不适用于大型网络。
- 带宽消耗大:路由器之间交换完整路由表,网络规模越大,开销越大。
- 收敛缓慢(坏消息):网络故障时,需要多次交换信息才能收敛,易产生路由环路和计数到无穷大问题。
二、OSPF协议(Open Shortest Path First)
OSPF 是一种高效、稳定、可扩展 的链路状态路由协议,通过 "泛洪链路状态 + 全网拓扑视图 + Dijkstra 计算 " 的核心机制,解决了 RIP 等距离 - 向量协议的收敛慢、规模受限等问题。同时,通过区域划分 和分层路由器角色,OSPF 能够支撑超大型自治系统的路由需求,是目前企业网和运营商网络中最主流的 IGP 协议之一。
OSPF 协议概述
OSPF(Open Shortest Path First,开放最短路径优先 )是一种基于链路状态算法的内部网关协议(IGP),由 IETF 开发,用于在自治系统(AS)内实现高效的路由选择。
协议定位与封装
- 协议层次 :OSPF 直接运行在 IP 层 之上,是网络层协议,不依赖传输层(如 TCP/UDP)。
- IP 协议号 :IP 首部中协议字段值为 89,用于标识 OSPF 数据报。
- 报文封装:OSPF 报文直接封装在 IP 数据报中,格式如下:

- PDU 名称 :OSPF 的协议数据单元(PDU)常称为 OSPF 分组 或 OSPF 数据报。
OSPF 分组类型
OSPF 定义了 5 种核心分组类型,通过 OSPF 首部中的 Type 字段区分:
| Type 值 | 英文缩写 | 中文名称 | 核心作用 |
|---|---|---|---|
| 1 | Hello Packet | 问候分组 | 发现、建立和维护邻居关系;选举指定路由器(DR)和备份指定路由器(BDR) |
| 2 | DD Packet | 数据库描述分组 | 邻居建立初期,交换各自链路状态公告(LSA)的摘要信息,同步数据库 |
| 3 | LSR Packet | 链路状态请求分组 | 向邻居请求缺失或更新的具体 LSA 信息 |
| 4 | LSU Packet | 链路状态更新分组 | 向邻居发送完整的 LSA 信息,是实现链路状态泛洪的核心分组 |
| 5 | LSAck Packet | 链路状态确认分组 | 对收到的 LSU 分组进行确认,保证可靠传输 |
OSPF 核心原理:链路状态算法
OSPF 基于链路状态路由算法 (本质是 Dijkstra 最短路径算法),其核心思想是:让每台路由器都拥有完整的网络拓扑图(带权有向图),然后独立计算最短路径。

链路状态信息生成
每台路由器会主动探测自身直连的链路状态,生成链路状态信息(Link State, LS),包含:
- 直连邻居节点标识
- 到邻居的链路代价(Cost)
- 链路的接口信息与网络类型
例如,路由器 R1 会生成类似如下的链路状态信息:

链路状态信息交换机制
OSPF 路由器之间通过可靠泛洪机制交换链路状态信息:
(1)交换内容(What)
路由器只向邻居发布自己直连的链路状态信息,而不是完整路由表。这与 RIP 交换整张路由表的机制截然不同。
(2)传播方式(How)
- 泛洪传播 :当一个路由器收到邻居发来的 LS 信息后,会立即将其转发给所有其他相邻节点(除了发送方),确保信息快速扩散到整个区域 / AS。
- 防环机制:收到重复的 LS 信息时,路由器不会再次转发,避免形成环路。
- 可靠传输:通过 LSU/LSAck 分组实现确认重传,保证 LS 信息可靠送达。
(3)触发时机(When)
- 当路由器探测到本地链路状态变化(如接口 up/down、邻居断开)时,立即生成新的 LSA 并泛洪。
- 周期性泛洪(默认 30 分钟),刷新老化的 LSA,保证数据库一致性。
链路状态数据库(LSDB)
所有路由器泛洪交换的 LS 信息,最终会在每台路由器上形成一个链路状态数据库(Link-State Database, LSDB)。
- LSDB 本质上是全网拓扑的带权有向图,包含了 AS / 区域内所有链路和节点的完整信息。
- 同一 OSPF 区域内的所有路由器,拥有完全一致的 LSDB。
最短路径计算与路由表生成
每台路由器基于本地 LSDB,使用 Dijkstra 算法 计算以自身为根的最短路径树(SPF Tree),并据此生成路由表。
-
路由表结构:路由表只存储 "目的网络 + 下一跳 + 代价",不存储完整路径,保证转发效率。
目的网络 下一跳 距离(代价) Net1 直连 1 Net2 R2 4 -
拓扑变化处理:当网络拓扑变化触发新的 LSA 泛洪后,所有路由器会更新 LSDB,并重新运行 Dijkstra 算法,生成新的路由表,实现快速收敛。
OSPF 协议核心特点
OSPF 相比 RIP 等距离 - 向量协议,具有显著优势:
-
灵活的链路代价度量
-
OSPF 允许管理员为每条链路设置不同的代价(Cost),可根据业务需求(如延迟、带宽、可靠性)计算最优路径。
-
默认代价计算:代价 = 参考带宽 / 接口带宽
- 例:100 Mbps 接口代价 = 1;10 Mbps 接口代价 = 10;1 Gbps 接口代价 = 1。
-
同一条链路的两个方向,代价可以不同;直连网络到路由器方向的权值通常为 0。
-
-
支持等价负载均衡
- 当到达同一目的网络存在多条代价相同 的路径时,OSPF 会将这些路径全部加入路由表,并将通信量均匀分配到多条路径上,实现负载均衡,提升网络利用率。
-
身份认证与安全
- OSPF 分组支持身份鉴别功能(如明文认证、MD5 认证、SHA 认证),确保仅在可信赖的路由器之间交换链路状态信息,防止恶意路由攻击。
-
支持无类路由与 CIDR
- OSPF 原生支持可变长子网掩码(VLSM)**和**无类别域间路由(CIDR),能高效利用 IP 地址空间,适应现代网络编址需求。
-
精确的版本控制
- 每个 LSA 都携带一个 32 位序号(Sequence Number) ,序号越大表示 LSA 版本越新。路由器通过序号判断 LSA 的新旧,避免使用过时信息。
- 同时 LSA 还带有老化时间(Age),超时后自动从 LSDB 中删除,保证数据库准确性。
OSPF 区域划分与网络层次
区域划分的背景
随着 AS 规模扩大,LSDB 会变得极其复杂,泛洪压力和 Dijkstra 算法的计算开销都会急剧增加。为解决此问题,OSPF 支持将一个自治系统再划分为多个区域(Area)。
区域划分规则
-
骨干区域(Backbone Area):一个 OSPF 自治系统内,必须且只能有一个骨干区域,标识符为 Area 0(或 0.0.0.0)。
- 作用:连通其他所有非骨干区域,是区域间路由的核心。
-
非骨干区域 :其他区域编号从
0.0.0.1开始,必须直接或通过虚拟链路连接到骨干区域。 -
效果 :泛洪交换 LS 信息的范围被限制在单个区域内,而非整个 AS,大幅减少了网络通信量,同时让每台路由器的 LSDB 更小,计算更快。

路由器类型与角色
根据在区域中的位置,OSPF 路由器分为以下类型:
| 路由器类型 | 英文缩写 | 定义 | 核心职责 |
|---|---|---|---|
| 区域内部路由器 | IR | 所有接口都在同一个区域内 | 负责本区域内的 IP 分组转发;维护本区域的 LSDB |
| 区域边界路由器 | ABR | 同时连接骨干区域和一个或多个非骨干区域 | 负责区域间的路由转发;在不同区域间交换汇总的路由信息 |
| 自治系统边界路由器 | ASBR | 连接本 OSPF AS 与其他 AS(如 BGP、RIP 网络) | 负责将外部路由引入 OSPF 域,或向其他 AS 发布 OSPF 路由 |
| 骨干路由器 | BR | 至少有一个接口在骨干区域(Area 0) | 维护完整的骨干区域 LSDB,负责骨干区域内及区域间的路由 |
OSPF 邻居建立与数据库同步过程
以两台路由器 R1 和 R2 建立邻接关系为例,完整流程如下:
阶段一:邻居发现(Down → Init → 2-Way)
- Hello 分组交互:R1 向直连链路发送 Hello 分组,R2 收到后,在自己的 Hello 分组中包含 R1 的 Router ID,回复给 R1。
- 建立邻居关系 :当双方都在对方的 Hello 分组中看到自己的 Router ID 时,状态变为 2-Way,表示邻居关系建立完成。
- 选举 DR/BDR:在广播型网络(如以太网)中,此阶段会选举指定路由器(DR)和备份指定路由器(BDR),减少邻接关系数量。
阶段二:数据库同步(ExStart → Exchange → Loading)
- ExStart 状态:双方协商主从关系,确定 DD 分组的发送顺序。
- Exchange 状态 :互相发送 DD 分组,交换各自 LSDB 中 LSA 的摘要(类型、ID、序号等),对比发现彼此缺失的 LSA。
- Loading 状态 :根据 DD 分组的对比结果,向对方发送 LSR 分组 ,请求缺失的 LSA;对方用 LSU 分组 回复具体 LSA 内容;收到 LSU 后用 LSAck 分组 确认。
阶段三:完全邻接(Full)
当所有 LSA 都交换完毕,双方 LSDB 完全一致时,状态变为 Full,表示邻接关系建立完成。此时双方可以基于 LSDB 运行 Dijkstra 算法,计算路由表。

三、BGP协议(Border Gateway Protocol)
BGP 是互联网核心的跨 AS 路由协议 ,它不追求技术上的 "最短路径",而是通过策略控制、AS 路径防环、TCP 可靠传输,实现了全球互联网的稳定互联互通。
BGP 核心定位与特点
BGP(Border Gateway Protocol)是外部网关协议(EGP),专门用于在 ** 自治系统(AS)** 之间交换路由信息,实现跨 AS 的路由选择。
核心特点
- 追求 "较好路由" 而非 "最佳路由"
- 不像 RIP(小型 AS)、OSPF(中型 AS)那样追求链路开销最小的最优路径。
- 全球路由器数量庞大,追求绝对 "最佳" 会导致计算复杂度极高,BGP 更侧重可行性与策略性。
- 路由选择需考虑多维度因素
- 除了技术层面,还要兼顾政治、安全、经济等因素(比如国家间网络策略、运营商收费规则)。
- 采用路径向量路由算法
- 路由器交换 BGP 信息时,不仅告知目的网络,还会携带完整 AS 路径(AS-PATH),明确要经过哪些 AS,避免路由环路。
- 基于 TCP 的应用层协议
- 协议栈封装:BGP 报文(应用层)→ TCP 报文(传输层)→ IP 首部(网络层)。
- 普通路由器通常工作在物理层、链路层、网络层,但运行 BGP 的路由器还包含传输层、应用层功能。
BGP 相关核心概念

AS 与 BGP 路由器角色
- 自治系统(AS):由同一机构管理、使用统一路由策略的网络集合(如运营商、大型企业网络)。
- 边界路由器:连接不同 AS 的路由器(如 R1、R2、R4、R6),必须运行 BGP。
- 核心路由器:AS 内部的高性能路由器(如 R3、R5),也需运行 BGP 以传递跨 AS 路由信息。
BGP 邻居与会话
- BGP 对等方 / 邻居:BGP 通信的双方设备。
- eBGP 会话:不同 AS 的边界路由器之间建立的会话(物理直连),用于跨 AS 传递路由。
- iBGP 会话:同一 AS 内部所有 BGP 路由器之间必须两两建立的会话(逻辑全连通),确保 AS 内路由信息一致。
- n 台路由器需建立
n(n-1)/2条 iBGP 会话。 - 规则:通过 iBGP 学到的路由,不能再通过 iBGP 传播给其他 iBGP 邻居(避免环路),因此必须全连通。
- n 台路由器需建立
BGP 路由信息三要素
- CIDR 网络前缀 :指向目的网络(如
192.168.1.0/24)。 - AS-PATH(自治系统路径) :用 AS 号列表描述到达目的网络需经过的所有 AS(如
AS3, AS2, AS1),是防环的核心。 - NEXT-HOP(下一跳):
- eBGP:下一跳是发送方路由器自身 IP。
- iBGP:默认不修改下一跳,需依赖内部网关协议(RIP/OSPF)解析可达性。
BGP 路由信息传播流程
以目的网络 X 为例,演示跨 AS 路由传递:
- AS1 内部:R1 将网络 X 的路由通过 eBGP 传给 R2,R2 再通过 iBGP 传给 AS2 内的 R3、R5。
- AS2 内部:R4 收到 iBGP 路由后,结合内部协议计算到 R2 的最佳路径,确定下一跳为 R3,更新本地路由表。
- 跨 AS 传递 :R4 通过 eBGP 将路由传给 AS3 的 R6,R6 更新路由表,下一跳为 R4,AS-PATH 为
<AS2, AS1>。 - 防环机制:AS-PATH 会记录所有经过的 AS,若收到包含自身 AS 号的路由,直接丢弃,避免环路。

BGP 路由选择优先级(4 步依次匹配)
当存在多条到达同一目的网络的路径时,BGP 按以下顺序择优:
- 选择本地偏好值最高的路线
- 本地偏好值由 AS 管理员手动设置,相当于 "优先级",用于控制本 AS 的出站流量方向(通常侧重成本、安全)。
- 选择 AS 跳数最少的路线
- 优先选择经过 AS 数量最少的路径(注意:AS 跳数≠路由器跳数)。
- 使用热土豆路由算法
- 若 AS 跳数相同,选择离自己最近的下一跳 IP(即内部网关协议开销最小的路径),尽快将数据包 "扔" 出本 AS。
- 选择 BGP 标识符最小的路由
- 每台 BGP 路由器有唯一的 BGP 标识符(通常取接口最大 IP 地址作为 BGP ID),作为最后 tie-breaker 保证选路唯一。
BGP 四种报文类型
| 报文类型 | 核心作用 | 发送时机 |
|---|---|---|
| Open 报文 | 与邻居建立 BGP 会话,完成初始化 | TCP 连接成功后,BGP 发出的第一个报文 |
| Update 报文 | 通告新路由、撤销旧路由 | 发现新路由信息,或原有路由信息发生变化时 |
| Keepalive 报文 | 周期性保活,告知邻居 "我还在线" | 每 60 秒发送一次;若连续 3 次(180 秒)未收到,则认为会话故障 |
| Notification 报文 | 发送错误信息并关闭会话 | 检测到 BGP 错误(如报文首部参数错误)时 |