3468 字
17 分钟
路由协议

概述#

路由协议是网络设备(如路由器)之间 ​​ 交换路由信息、计算最优路径并维护路由表 ​​ 的关键机制。了解其分类、原理和应用场景对网络设计和管理至关重要。


主要分类#

路由协议主要根据 ​​ 作用范围 ​​ 和 ​​ 算法类型 ​​ 进行分类:

1. 按作用范围分类 ​#

  • ​ 内部网关协议 (IGP, Interior Gateway Protocol):​​ 用于在 ​​ 单一自治系统内部 ​​ 的路由。AS 是一个统一管理的网络域(如一个公司网络、一个 ISP 网络)。
    • ​ 常见协议:​​ RIP, OSPF, IS-IS, EIGRP (思科专有)。
  • ​ 外部网关协议 (EGP, Exterior Gateway Protocol):​​ 用于 ​​ 在不同自治系统之间 ​​ 交换路由信息,实现互联网的全局连通。
    • ​ 唯一广泛使用的协议:​​ BGP (Border Gateway Protocol)。

2. 按算法原理分类 ​#

  • ​ 距离向量协议 (Distance Vector - DV):​

    • ​ 原理:​​ 每个路由器根据邻居发来的路由信息(包含目标网络及距离度量值),添加自身到邻居的距离,构建自己的路由表,仅将整个路由表或变化部分定期广播或触发更新给所有邻居。算法核心是 Bellman-Ford。
    • ​ 特点:​​ 简单,周期性更新;收敛相对较慢(需要多次传递);存在环路风险(使用跳数限制、水平分割等机制缓解);路由信息基于“传闻”。
    • ​ 代表协议:​​ RIP (RIP v1/v2), RIGRP (原始)。
  • ​ 链路状态协议 (Link State - LS):​

    • ​ 原理:​​ 每个路由器发现、通告其所有直连链路的状态(包括链路开销、邻居信息等)给域内所有其他路由器(通过洪泛机制)。每个路由器都构建一致的链路状态数据库 (LSDB)。基于该全局拓扑数据库,每个路由器使用 Dijkstra (SPF) 算法独立计算到所有目的地的最短路径树 (SPT),并形成路由表。
    • ​ 特点:​​ 对网络有全局视图(一致性 LSDB);收敛快(触发更新,快速洪泛);扩展性较好(可分层);配置相对复杂;需要更多 CPU 和内存计算 SPT。
    • ​ 代表协议:​​ OSPF (Open Shortest Path First), IS-IS (Intermediate System to Intermediate System)。
  • ​ 路径向量协议 (Path Vector - PV):​

    • ​ 原理:​​ 本质上是距离向量的高级扩展。除了宣告可达网络和距离度量 (BGP 叫属性) 外,更关键的是宣告到达目标网络的完整 AS 路径(AS Path 属性)。路由器根据策略(如选择最短 AS-Path、最优出口点等)而不仅仅是距离来决定最佳路径。设计核心是策略驱动和防止环路(通过检测 AS-Path 中的自身 AS)。
    • ​ 特点:​​ 面向 AS 间的路由;极其灵活,基于策略而非单纯最短路径;收敛速度取决于策略配置;设计用于超大规模、多归属的网络。
    • ​ 代表协议:​​ BGP (Border Gateway Protocol)。
  • ​ 混合协议 (Hybrid):​

    • ​ 原理:​​ 结合了距离向量和链路状态协议的特点。
    • ​ 代表协议:​​ EIGRP (Enhanced Interior Gateway Routing Protocol - 思科专有)。
      • 像距离向量一样:路由器仅与邻居交换信息(不洪泛到全区域)。
      • 像链路状态一样:维护拓扑表 (类似 LSDB),并基于扩散更新算法 (DUAL) 计算无环路径;使用触发更新而非严格周期更新。

详细协议说明、原理与应用场景#

1. RIP (Routing Information Protocol)#

  • ​ 类型:​​ IGP,距离向量 (DV)。
  • ​ 原理:​
    • 度量值:​​ 跳数 (Hop Count)​​。最大有效跳数为 15 跳(16 跳表示不可达)。
    • 每 30 秒广播一次完整路由表(RIP v1 广播 / RIP v2 组播)。
    • 使用 ​​ 水平分割 (Split Horizon)​​、​​ 毒性逆转 (Poison Reverse)​​、​​ 跳数限制 (Hop Count Limit)​​ 来防止环路和加速收敛。
  • ​ 版本:​
    • ​RIP v1:​​ Classful 路由(不支持子网掩码通告)。无认证。
    • ​RIP v2:​​ Classless 路由(支持子网掩码通告 / CIDR)。支持简单密码认证。
    • ​RIPng (RIP next generation):​​ 支持 IPv6。
  • ​ 优点:​​ 配置简单,实现成本低。
  • ​ 缺点:​​ ​​ 收敛慢 ​​(依赖周期性更新);​​ 规模限制大 ​​(15 跳);不适合复杂或不稳定网络;负载均衡基于跳数而非实际带宽。
  • ​ 应用场景:​
    • ​ 小型静态网络:​​ 家庭网络、小型办公室。
    • ​ 要求极简配置的环境。​
    • ​ 作为其他协议的简单备份。​

2. OSPF (Open Shortest Path First)#

  • ​ 类型:​​ IGP,链路状态 (LS)。
  • ​ 原理:​
    • ​ 分层设计:​​ 将 AS 划分为多个 ​​Area (区域)​​,减小 LSDB 规模和控制流量传播范围。​​Area 0​​ 是骨干区域 (Backbone Area),其他非骨干区域必须直接连接到 Area 0。
    • ​ 区域类型:​​ 支持 Stub、Totally Stubby、NSSA 等特殊区域减少 LSA(链路状态通告)类型。
    • ​ 路由器角色:​​ DR (指定路由器)、BDR (备份指定路由器) 用于在广播多路访问网络 (如以太网) 中减少 LSA 洪泛。
    • ​ 度量值:​​ ​​Cost(开销)​​,基于接口带宽(Cost = Reference-BW / Interface-BW,默认参考带宽为 100 Mbps)。手动可配置。
    • ​ 更新:​​ 使用 ​​ 触发更新 ​​(链路变化时立即洪泛 LSA)。支持 LSA 老化机制(每 30 分钟泛洪一次以防丢失)。
    • ​ 算法:​​ 运行 ​​Dijkstra 最短路径优先 (SPF)​​ 算法在本地计算到达所有目标的最优路径树 (SPT)。
  • ​ 版本:​
    • ​OSPFv2:​​ 用于 IPv4。
    • ​OSPFv3:​​ 基于 OSPFv2 原理,支持 IPv6 (使用链路本地地址建立邻居),具有不同的 LSA 类型。
  • ​ 优点:​​ ​​ 快速收敛 ​​;​​ 支持大型网络 ​​(通过分区域);​​ 支持 VLSM/CIDR​​;​​ 支持等价路径负载均衡 ​​(基于开销);​​ 提供身份验证和加密 ​​(MD5, SHA, IPSec)。开放标准。
  • ​ 缺点:​​ 配置相对复杂;需要更多 CPU 和内存资源(存储 LSDB,运行 SPF);广播域设计需注意 DR/BDR。
  • ​ 应用场景:​
    • ​ 大中型企业网络:​​ 园区网、企业分支互联。
    • ​ 要求高性能、高可靠性和快速收敛的网络。​
    • ​ 需要分层设计的复杂拓扑。​
    • ​IP 骨干网 (常与 IS-IS 竞争)。​

3. EIGRP (Enhanced Interior Gateway Routing Protocol)#

  • ​ 类型:​​ IGP,混合协议(思科专有协议,但已部分开放标准)。
  • ​ 原理:​
    • ​ 邻居发现和维护:​​ 使用组播 (224.0.0.10) 建立邻居关系(不需要在同一广播域)。使用 Hello 包。
    • ​ 使用三个表:​
      • ​ 邻居表 (Neighbor Table):​​ 跟踪邻居关系。
      • ​ 拓扑表 (Topology Table):​​ 存储所有邻居通告的路由信息及计算出的备用路径 (Successor, Feasible Successor)。
      • ​ 路由表 (Routing Table):​​ 从拓扑表中选择最好的路径 (后继路径) 放入路由表。
    • ​ 度量值 (复合度量 - Metric):​​ 基于 ​​ 带宽、延迟、可靠性、负载、MTU​​(默认仅使用带宽和延迟)。带宽越高、延迟越小越好。
    • ​ 算法:​​ ​​ 扩散更新算法 (DUAL)​​: 在拓扑变化时,如果存在已计算好的可行后继路由 (Feasible Successor,满足可行性条件),则能 ​​ 瞬间收敛 (秒级)​​。若无可行后继,则启动向邻居查询的过程。
    • ​ 更新:​​ ​​ 部分、有界更新 (Partial Bounded Update)​​,只向需要知道变化的邻居发送相关更新。
  • ​ 版本:​
    • ​EIGRP for IPv4。​
    • ​EIGRP for IPv6。​
  • ​ 优点:​​ ​​ 极快收敛 ​​(若有可行后继);​​ 低带宽占用 ​​(部分更新);​​ 支持不等代价路径负载均衡 ​​;​​ 相对容易配置 ​​(相比 OSPF)。
  • ​ 缺点:​​ ​​ 思科专有 ​​(虽已部分开放标准,但非思科设备支持仍不普遍)。较封闭的生态。
  • ​ 应用场景:​
    • ​ 纯思科设备构成的网络。​
    • ​ 需要超快收敛和高效更新的环境。​
    • ​ 混合型网络拓扑。​

4. IS-IS (Intermediate System to Intermediate System)#

  • ​ 类型:​​ IGP,链路状态 (LS)。源自 OSI CLNP 协议栈,后被扩展支持 IP (Integrated/Dual IS-IS)。
  • ​ 原理:​
    • ​ 分层设计:​​ 类似于 OSPF,也分为 ​​Level (层级)​​:​​Level 1 (L1)​​ 路由器在同一区域内部通信;​​Level 2 (L2)​​ 路由器负责区域间路由(相当于 OSPF 的骨干区域);​​Level 1-2 (L1/L2)​​ 路由器连接 L1 和 L2。
    • ​ 地址结构:​​ 使用 ​​NET (Network Entity Title) NSAP 地址 ​​ 标识节点。
    • ​ 链路状态通告:​​ 称为 ​​LSP (Link State PDU/Packet)​​。通过泛洪传递。
    • ​ 度量值:​​ ​​ 标准度量 ​​(类似 OSPF cost,默认各链路 cost=10)。支持更多 TE 扩展度量(延迟、损耗等)。
    • ​ 算法:​​ 与 OSPF 相同,使用 ​​Dijkstra (SPF)​​ 计算 SPT。
  • ​ 优点:​​ ​​ 高度可扩展和稳定 ​​;​​ 支持大平面设计 ​​(没有严格的“骨干区域”物理连接要求,L2 路由器构成骨干);​​TLV 结构使其非常容易扩展 ​​;核心协议比 OSPF 更简单(无 DR/BDR)。在 ​​ 大型运营商网络 ​​ 中被广泛采用。
  • ​ 缺点:​​ ​​ 配置相对 OSPF 更不直观 ​​(使用 NET 地址);​​ 诊断工具不如 OSPF 丰富普及 ​​(但随着使用增多在改善)。
  • ​ 应用场景:​
    • ​ 大型服务提供商核心网络 (ISP Backbone)。​
    • ​ 超大型数据中心内部网络。​
    • ​ 需要极高扩展性和稳定性的网络环境。​

5. BGP (Border Gateway Protocol)#

  • ​ 类型:​​ EGP,路径向量 (PV)。
  • ​ 原理:​
    • ​ 基于 TCP (端口 179):​​ 建立可靠的、面向连接的邻居(称为 BGP Peer 或 BGP Speaker)。关系分为:
      • ​EBGP (External BGP):​​ 运行于 ​​ 不同 AS 之间 ​​ 的路由器上。通常直接连接。
      • ​IBGP (Internal BGP):​​ 运行于 ​​ 同一 AS 内部 ​​ 的路由器之间。用于传递外部路由信息。
    • ​ 策略驱动:​​ 路由决策主要基于 ​​ 策略(Policy)​​ 而非单纯最短路径。策略通过丰富的 ​​ 路径属性 (Path Attributes)​​ 应用实现。
    • ​ 关键属性:​
      • ​AS_PATH:​​ 记录路由经过的所有 AS 号。​​ 主要防止环路 ​​(路由器拒绝在 AS_PATH 中包含自己 AS 号的更新)和 ​​ 用于选路 ​​(偏好短 AS_PATH)。
      • ​NEXT_HOP:​​ 指向到达目标网络的下一跳 IP 地址(对于 EBGP 是邻居地址;对于 IBGP 通常保持不变)。
      • ​LOCAL_PREF:​​ IBGP 内部使用的属性,表示 AS 内路由器对出口点的偏好(值越大越优先)。
      • ​MED (MULTI_EXIT_DISC):​​ 用于向相邻 AS 内的 EBGP 邻居建议优选哪个入口点(值越小越优先)。非强制性。
      • ​Community:​​ 用户自定义标签,便于跨路由器应用统一策略。
    • ​BGP 最佳路径选择算法:​​ 路由器基于多个属性(按优先级顺序,如 Weight > Local_Pref > AS_PATH Length > Origin > MED…)选择最优路径。
    • ​ 更新:​​ ​​ 增量、触发更新 ​​。仅传播变化部分。建立邻居时传递完整路由表。
  • ​ 版本:​
    • ​BGP-4:​​ 当前核心版本,支持 CIDR。
    • ​MP-BGP (Multiprotocol BGP):​​ BGP-4 的扩展,支持携带多种地址族的路由信息(如 IPv4, IPv6, VPNv4, L2VPN 等)。
  • ​ 优点:​​ ​​ 超强扩展性 ​​(互联网的核心路由协议);​​ 高度灵活的策略控制 ​​(入口/出口控制、流量工程);​​ 稳定性 ​​(TCP 可靠连接,状态变化时仅发送增量更新)。
  • ​ 缺点:​​ ​​ 配置管理复杂 ​​(策略设计是关键);​​ 收敛相对 IGP 较慢 ​​(侧重稳定性);​​ 缺乏对拓扑变化的直接感知 ​​(依赖于底层 IGP)。
  • ​ 应用场景:​
    • ​ 互联网路由的核心协议:​​ AS 之间交换路由信息。
    • ​ 多宿主 (Multi-homed) 网络:​​ 企业或 ISP 有多个上游 ISP 连接。
    • ​ 大型企业互联多个数据中心或区域网络。​
    • ​ 承载 VPN 服务(如 MPLS VPN)。​
    • ​IPv6 互联网路由。​

总结对比与选择建议#

特性RIPOSPFEIGRP (思科)IS-ISBGP
​ 分类 ​IGP / 距离向量 (DV)IGP / 链路状态 (LS)IGP / 混合IGP / 链路状态 (LS)EGP / 路径向量 (PV)
​ 度量值 ​跳数 (≤15)Cost (默认基于带宽)复合度量 (默认带宽+延迟)默认=10 (可扩展其他)策略 / 属性 (AS_PATH 等)
​ 收敛速度 ​慢 (依赖周期性更新)快 (触发更新,SPF)极快 (若有可行后继)快 (触发更新,SPF)相对慢 (侧重稳定性)
​ 扩展性 ​极差 (15 跳限制)好 (通过区域分层)优 (层次结构强,适合大型平面)​ 超强 ​​ (互联网核心)
​ 复杂度 ​简单中等偏复杂 (区域, LSA, SPF)中等 (思科环境)复杂 (NET 地址, 层级)​ 极复杂 ​​ (策略设计是核心)
​ 资源消耗 ​中高 (LSDB 存储, SPF 计算)中高 (类似 OSPF)高 (维护大量路由,策略处理)
​ 应用场景 ​小型静态网络大中型企业网, IP 骨干纯思科网络,要求快速收敛大型 ISP 核心网, 超大数据中心AS 间路由, 多宿主, VPN 核心
​ 开放标准 ​思科专有(部分开放)

​ 选择建议:​

  • ​ 小型简单网络/临时环境:​​ RIP。
  • ​ 中型企业网络/混合厂商:​​ ​​OSPF​​(综合性能、标准化、扩展性最佳)。
  • ​ 纯思科网络/要求极快收敛:​​ ​​EIGRP​​。
  • ​ 超大型运营商/IP 核心网络/超大规模数据中心:​​ ​​IS-IS​​(或 OSPF)。
  • ​AS 之间互联/多宿主企业网络/VPN 骨干:​​ ​​BGP​​(必备)。

理解这些协议的核心原理、优缺点和适用场景,是设计和维护高效、稳定网络的基础。实际应用中,往往需要根据具体的网络规模、业务需求、厂商策略和设备能力进行选择,并经常需要多种协议协同工作(如 IGP + BGP)。