路由部分知识点(路由表、距离矢量路由、链路状态路由)

一、路由表的三种路由类型

路由表中的路由条目,根据其生成方式可分为三类:

  1. 直连路由 (Direct Routes)

    • 来源 :路由器接口上配置了IP地址并激活 后,自动生成

    • 特点管理距离(AD)最小 (通常为0),优先级最高,不可更改。指向本接口直连的网络。

  2. 静态路由 (Static Routes)

    • 来源 :由网络管理员手动配置

    • 特点:路径固定,不占用网络带宽和CPU资源,但无法适应网络拓扑变化。适合简单、稳定的网络。

  3. 动态路由 (Dynamic Routes)

    • 来源 :路由器运行路由协议 (如RIP、OSPF、BGP),自动学习、计算并维护

    • 特点:可自动适应网络变化,但会消耗带宽和CPU资源。适合复杂、变化的网络。

一个典型的路由表 会同时包含这三种路由,路由器按照**"最长前缀匹配"** ​ 原则选择最佳路径,当前缀长度相同时,则比较管理距离(来源优先级) ​ 和度量值(路径开销)


二、深入解析:静态路由与汇总路由

1. 静态路由有什么用?

静态路由虽然"笨",但在特定场景下不可或缺:

  • 网络出口/默认路由 :指定去往互联网或未知网络的出口(ip route 0.0.0.0 0.0.0.0 下一跳)。

  • 连接末节网络:连接一个没有其他路由器的网络(如一个单独的服务器子网)。

  • 强制流量走向:实现策略路由,让流量走特定路径(如经过防火墙)。

  • 路由备份:作为动态路由的备份路径(浮动静态路由)。

  • 简单环境:在小型、拓扑不变的网络中,配置简单,性能开销为零。

2. 汇总路由(路由聚合)有什么好?有什么不好?

汇总路由,即把多条连续的具体路由聚合成一条更宽泛的路由。

  • 好处 (Pros)

    • 减少路由表规模 :这是最大优点。在大网络中,成千上万条路由可被聚合成几十条,极大地节约了路由器内存和CPU资源 ,并加快查表速度

    • 增强网络稳定性 :聚合后的路由像一个"保护罩"。当聚合范围内的某条具体路由发生抖动(频繁翻动)时,这种抖动不会传播到聚合点之外,从而隔离故障,增强全网稳定性。

  • 坏处 (Cons)

    • 可能产生次优路径:汇总过于宽泛时,可能导致路由器选择一条并非最优的路径(如我们之前讨论的"路由环"背景)。

    • 可能形成路由黑洞 :如果聚合的网络范围中,存在一些实际并不分配使用的地址块 ,发往这些地址的流量会被匹配到汇总路由,但下一跳路由器可能没有更具体的路由,导致数据包被丢弃 (黑洞)。解决方法就是在源头为这些未使用的地址配置指向Null0的黑洞路由。


三、距离矢量 (DV) 路由与 RIP 协议

1. 距离矢量 (DV) 路由选择的基本工作原理

想象每个路由器都是一个"村庄",它们只和"隔壁村庄"(直连邻居)交流。

  • "距离" :通常指跳数(经过路由器的数量),也可以是带宽、延迟等综合度量。

  • "矢量" :指方向,即"下一跳"是谁。

工作流程(类比"村里传谣"):

  1. 初始:每个路由器只知道自己的直连网络(距离=0)。

  2. 定期广播 :每个路由器周期性地将自己知道的全部路由表(目标网络+距离+方向)广播给所有邻居。

  3. 学习与计算 :收到邻居的"情报"后,路由器相信 邻居所说的距离,加上自己到邻居的成本(通常是1跳),作为通过该邻居到达目标的新距离。

  4. 选路 :对同一个目标网络,比较从不同邻居学来的距离,选择距离最短的路径,写入自己的路由表。

  5. 循环往复:通过一次次周期性的广播,路由信息像"波浪"一样传遍整个网络。

核心特点"道听途说,只知远近,不知全貌"。每个路由器都没有全网的拓扑图,只知道自己到目标的"距离"和"下一跳"是谁。

2. RIP 是 DV 的一个实例,其运行有什么问题?

RIPv2/RIPng是DV协议的典型代表。其核心问题源于DV的工作原理:

  • 收敛速度慢:依赖周期性广播(默认30秒),网络变化需要较长时间才能传遍全网。

  • 计数到无穷 :**最大跳数限制(15跳)**​ 是应对环路的主要手段。当路由失效时,错误信息会像"谣言"一样被不断放大(距离值递增),直到达到最大值16(不可达),这个过程很慢。

  • 路由环路风险 :虽然通过水平分割、毒性逆转、触发更新、抑制定时器等机制(我们之前详细讲过)来缓解,但环路风险是DV协议的固有缺陷。

  • 以跳数为度量:仅以跳数衡量路径好坏,不考虑带宽、延迟、负载等因素,可能导致选择低带宽、高延迟的次优路径。

3. RIP 消失了吗?

没有完全消失,但应用范围已大幅缩小。

  • 现状 :在大型企业网、运营商网络的核心和汇聚层,RIP因其收敛慢、规模限制(15跳)和度量简单等缺点,已被OSPF、IS-IS、EIGRP等更先进协议取代

  • 存活场景 :在一些小型网络、教学实验环境、或对兼容性有极高要求的传统设备 上仍有使用。其配置简单的优点在极简网络中依然有价值。

  • RIPng:在纯IPv6或双栈的简单网络中,RIPng作为为数不多的动态IGPv6协议,仍有一席之地。


四、链路状态 (LS) 路由与 OSPF 协议

1. 链路状态 (LS) 路由选择的基本工作原理

LS协议的工作方式与DV完全不同,它像每个路由器都在绘制一张"网络地图"。

  1. 发现邻居,建立关系:路由器通过发送Hello报文,发现并确认与直连路由器的邻接关系。

  2. 泛洪链路状态 :每个路由器将自己直连链路的状态信息 (如连接了谁、链路开销等)打包成一个LSA可靠地泛洪给区域内的所有其他路由器。

  3. 构建拓扑数据库 :每个路由器收集全网所有的LSA,组合成一个完全一致的链路状态数据库每个路由器都拥有一张完全相同的、完整的网络拓扑图

  4. 运行SPF算法 :每个路由器以自己为根,在这张完整的拓扑图上独立运行最短路径优先算法,计算出一棵到达所有目标网络的最短路径树。

  5. 生成路由表:根据SPF树的结果,生成最终的路由表。

核心特点"绘制地图,独立计算,全局视野"。每个路由器都知道全网拓扑,能独立计算出无环的最优路径。

2. OSPF 是 LS 的一个实例,另外一个常用的实例是什么?

  • OSPF开放式最短路径优先协议 ,是应用最广泛的IGP链路状态协议。它划分区域,支持VLSM/CIDR,快速收敛,适合大型网络。

  • 另一个常用实例IS-IS。它和OSPF是"孪生兄弟",同为链路状态协议,原理相似。区别在于:

    • OSPF 运行在IP层之上,直接封装在IP报文中。

    • IS-IS 运行在数据链路层,有自己的协议号。最初为OSI模型设计,后扩展支持IP。在大型运营商(特别是电信骨干网)中使用非常广泛。

3. OSPF 运行的最重要最基础的一步是什么?

最重要最基础的一步是建立邻接关系,并同步链路状态数据库

只有成功建立了邻接关系的路由器之间,才会交换LSA,从而确保各自的LSDB完全同步。这是后续所有计算(SPF)和正确路由的基础。没有这步,就没有一致的"网络地图"。

4. OSPF 运行时用到的 Hello 报文有什么用?

Hello报文是OSPF的"心跳"和"信使",主要有四大作用:

  1. 发现邻居:通过在接口上组播发送Hello报文,来发现同一网段上的其他OSPF路由器。

  2. 建立和维护邻居关系:通过周期性发送Hello报文,告知对方"我还活着"。

  3. 传递关键参数 :Hello报文中携带Router ID、Area ID、认证信息、网络掩码、Hello/Dead间隔 等参数。只有这些参数匹配的两台路由器才能成为邻居。

  4. 在广播/NBMA网络中选举DR/BDR

5. OSPF 运行时可能有 8 种状态,其中有三种稳态,分别是什么?

OSPF邻居关系建立需要经过一系列状态机变迁。三种关键的稳定状态是:

  1. 2-Way双向通信状态 。双方都收到了对方的Hello报文,看到了自己的Router ID在对方的邻居列表中。这是点到点链路和点到多点链路的最终稳定状态

  2. Full完全邻接状态 。双方已完全同步了链路状态数据库 。这是广播和NBMA网络中DR、BDR与其他路由器 的最终稳定状态,也是所有路由器之间交换路由信息的基础。这是最重要的稳定状态。

  3. ExStart/Exchange/Loading ​ 是达到Full状态前的过渡状态。Down, Init, Attempt​ 是建立前的状态。

简单记2-Way(确认过眼神)和Full(交换过家底)是两种主要的稳定工作状态。

6. 为什么要选举 DR?

广播型多路访问网络 (如以太网)中,如果所有路由器都两两建立全毗邻关系,会产生n*(n-1)/2个邻接关系,LSA泛洪会造成大量重复流量。

选举指定路由器备份指定路由器 是为了优化网络泛洪过程

  • DR :成为该网段的"中心发言人 "。所有其他路由器(DROther)只与DR和BDR建立Full邻接关系,彼此间只到2-Way状态。它们将LSA发送给DR,由DR负责泛洪给网段内所有路由器。

  • BDR:作为DR的备份,随时准备接替DR的工作。

好处大幅减少邻接关系数量,减少协议流量,提高网络收敛速度和稳定性。


总结对比

特性 静态路由 距离矢量 (RIP) 链路状态 (OSPF/IS-IS)
工作原理 手动配置 听邻居说,只知下一跳和距离 收集全网地图,自己独立计算
度量依据 跳数 带宽、延迟等综合开销
收敛速度 瞬时(配置即生效) 慢(周期更新,计数到无穷) 快(触发更新,SPF重算)
环路避免 无环(人工保证) 易产生,靠机制缓解 算法保证(SPF树无环)
资源消耗 低(定期广播) 高(维护LSDB,运行SPF)
网络规模 任意 小(≤15跳) 大(分层设计)
配置复杂度 简单 简单 复杂
相关推荐
江边鸟2192 小时前
小迪安全第二十六天
网络·tcp/ip·安全·web安全·网络安全
寻星探路2 小时前
网络原理全景图:从通信起源到 TCP/IP 体系架构深度拆解
java·网络·c++·python·tcp/ip·http·架构
Dovis(誓平步青云)2 小时前
《拆解Linux中的IP协议与数据链路层:地址、路由与分片的底层逻辑》
linux·网络·tcp/ip
专业开发者2 小时前
施泰纳尔公司如何借助蓝牙 Mesh 网络节约能源成本,并将照明系统升级为智能物联网核心中枢
网络·物联网
chenyuhao20244 小时前
Linux网络编程:传输层协议UDP
linux·服务器·网络·后端·udp
米羊1218 小时前
fastjson (3修复)
网络·网络协议·安全
oMcLin12 小时前
Ubuntu 22.04 无法连接外部网络的故障排查与解决(解决 DNS 配置问题)
linux·网络·ubuntu
小李独爱秋14 小时前
计算机网络经典问题透视:常规密钥体制与公钥体制最主要的区别是什么?—— 一文带你从“钥匙”看懂现代密码学核心
服务器·网络·tcp/ip·计算机网络·密码学
千百元14 小时前
限制网段访问服务器端口63790
java·网络·mybatis