【TCP/IP】7. IP 路由

7. IP 路由

  • [7. IP 路由](#7. IP 路由)
    • 概述
    • [7.1 直接传递与间接传递](#7.1 直接传递与间接传递)
    • [7.2 IP 路由核心机制](#7.2 IP 路由核心机制)
    • [7.3 路由表](#7.3 路由表)
      • [7.3.1 路由表的构成](#7.3.1 路由表的构成)
      • [7.3.2 信宿地址采用网络地址的好处](#7.3.2 信宿地址采用网络地址的好处)
      • [7.3.3 下一跳地址的优势](#7.3.3 下一跳地址的优势)
      • [7.3.4 特殊路由表项](#7.3.4 特殊路由表项)
      • [7.3.5 路由算法](#7.3.5 路由算法)
    • [7.4 静态路由](#7.4 静态路由)
      • [7.4.1 特点](#7.4.1 特点)
      • [7.4.2 自治系统(AS)](#7.4.2 自治系统(AS))
      • [7.4.3 配置命令](#7.4.3 配置命令)
      • [7.4.4 问题](#7.4.4 问题)
    • [7.5 动态路由](#7.5 动态路由)
      • [7.5.1 路由算法分类](#7.5.1 路由算法分类)
      • [7.5.2 路由协议分类](#7.5.2 路由协议分类)
    • 本章要点

7. IP 路由

概述

IP 路由(路由选择)是为数据报从信源到信宿寻找最佳 / 较佳路径的过程,核心依据是网络拓扑结构,通过路由表实现。路由表存在于主机和路由器中,反映局部网络拓扑,其使用频率远高于刷新频率(路由表由 IP 模块使用,由路由协议负责建立和刷新)。

7.1 直接传递与间接传递

数据报从信源到信宿的传递分为两种方式:

  • 直接传递:数据报直接发送到最终信宿(信源与信宿位于同一物理网络)。
  • 间接传递:信源与信宿位于不同物理网络,数据报需经过中间路由器转发(由多个中间传递组成)。

关系:完整的数据传递过程由 "1 次直接传递 + 0~ 多次间接传递" 构成。

7.2 IP 路由核心机制

  • 路由选择依据:网络拓扑结构(抽象为 "点 - 线" 模型:点表示路由器,线表示网络)。
  • 表驱动路由 :主机和路由器均通过路由表进行路由选择,路由表反映局部网络拓扑,所有路由表的集合反映整体拓扑。
  • 路由表操作:
    • 使用:IP 模块根据数据报目的 IP 地址和路由表选择下一跳(高频操作,每秒可达数百次)。
    • 建立与刷新:由专门的路由协议负责(低频操作,每隔十秒至数十秒一次)。
  • 路由表维护:ICMP 可对主机路由表进行重定向;动态路由协议(如 OSPF)负责动态刷新路由表,确保其及时反映网络结构变化。

7.3 路由表

路由表是主机和路由器中反映网络拓扑的数据集,核心功能是指明去往某信宿的路径,由多个字段构成。

7.3.1 路由表的构成

路由表为二维表,每个表项包含以下核心字段:

字段 含义
信宿地址 通常为目标网络的 IP 地址(而非单主机地址,减小路由表规模)。
子网掩码 用于提取数据报目的 IP 地址对应的网络地址(与目的 IP "与" 操作后匹配信宿地址)。
下一跳地址 数据报通往信宿的 "下一步" 地址(可为路由器 IP 或本地接口,将多个路由器串联成完整路径)。
输出接口 路由器发送数据报的接口 IP 地址。
度量 衡量路径优劣的指标(通常为跳数,即途经路由器数量,取最小值)。

7.3.2 信宿地址采用网络地址的好处

  1. 减小路由表规模:网络数量远少于主机数量,简化表结构。
  2. 匹配网络抽象结构:抽象拓扑中仅关注网络,不关注单主机。
  3. 增强适应性:主机增减不影响路由表(信息隐藏)。
  4. 降低开销:减少路由表维护和路由选择的计算量。

7.3.3 下一跳地址的优势

  • 路由表中仅存储 "下一跳" 而非完整路径,可:
    1. 大幅减小路由表规模;
    2. 消除路径冗余信息;
    3. 简化路由表维护。

7.3.4 特殊路由表项

  1. 特定主机路由
    • 信宿地址为单主机 IP,子网掩码为255.255.255.255
    • 用途:为特定主机指定特殊路径(如安全性测试、网络管控)。
  2. 默认路由
    • 信宿地址和子网掩码均为0.0.0.00.0.0.0/0)。
    • 用途:当路由表中无匹配的网络 / 主机地址时,默认使用此路径(通常指向自治系统外的出口路由器)。
    • 限制:一个路由表最多只能有一条默认路由。

7.3.5 路由算法

IP 模块根据数据报目的 IP 地址和路由表选择路径的步骤:

  1. 提取数据报目的 IP 地址;
  2. 将路由表中各表项的子网掩码与目的 IP 进行 "与" 操作,得到目标网络地址;
  3. 匹配规则:
    • 优先匹配特定主机路由(最长掩码匹配原则);
    • 其次匹配网络地址
    • 若均不匹配,使用默认路由
    • 若无默认路由,丢弃数据报并发送 "网络不可达" ICMP 差错报告。

7.4 静态路由

静态路由是通过手工配置建立和维护路由表的方式,适用于小型、拓扑稳定的网络。

7.4.1 特点

  • 路由器初始仅知晓直连网络,非直连网络需手工添加路由表项;
  • 路由表为本地文件,网络结构变化时需人工调整。

7.4.2 自治系统(AS)

  • 定义:由独立管理机构控制的一组网络和路由器的集合,内部拓扑、路由机制自主选择。
  • 静态路由应用:自治系统内网络需手工添加到路由表,去往外部的网络通过默认路由转发。

7.4.3 配置命令

  • Windows 系统route命令):
    • 添加:route add 目的网络 mask 子网掩码 下一跳 [metric 度量]
    • 删除:route delete 目的网络 mask 子网掩码
    • 显示:route print
    • 选项:-p(重启后保留路由)。
  • Cisco 路由器
    • 添加:ip route 目的网络 子网掩码 下一跳/出口接口
    • 删除:no ip route 目的网络 子网掩码 下一跳/出口接口
    • 显示:show ip route

7.4.4 问题

  • 大型网络中手工配置工作量极大;
  • 无法动态适应网络拓扑变化(如链路故障);
  • 可能产生冗余路径,增加管理复杂度。

7.5 动态路由

动态路由通过路由协议自动建立和维护路由表,适用于大型、拓扑动态变化的网络。核心原则是 "最短路径优先"(以跳数、时延等为度量)。

7.5.1 路由算法分类

  1. 距离 - 向量算法(V-D 算法)
    • 思想:路由器周期性向相邻路由器广播 "(信宿,距离)" 序偶(V 为信宿,D 为跳数),根据最短路径优先原则刷新路由表。
    • 优点:简单易实现。
    • 缺点:收敛速度慢(网络变化后,所有路由器同步拓扑信息耗时久);信息交换量大(每次广播近完整路由表)。
  2. 链路 - 状态算法(L-S 算法 / SPF 算法)
    • 思想:路由器通过 "链路状态通告(LSA)" 交换邻接链路状态,构建全局拓扑图,使用 Dijkstra 算法生成以自身为根的最短路径树(SPF 树),再构造路由表。
    • 优点:收敛速度快(局部变化仅扩散相关信息);信息交换量小(仅广播链路状态变化)。

7.5.2 路由协议分类

动态路由协议分为内部网关协议(IGP) (自治系统内)和外部网关协议(EGP)(自治系统间)。

1. 路由信息协议(RIP)------ IGP,基于距离 - 向量算法

  • 核心机制:以跳数为度量(1 跳 = 1 个路由器),最大有效跳数为 15(16 表示不可达)。
  • 解决的问题
    • 路由环路:限制最大跳数为 15,避免无限循环。
    • 相同距离路径:先入为主(保留首次收到的路径)。
    • 失效路径:为路由表项设定时器(180 秒无更新则标记为 "不可达",120 秒后删除)。
    • 慢收敛(计数到无穷):
      • 水平分割 + 毒性逆转:从某接口收到的路由信息,再从该接口发出时将距离设为 16(不可达),避免环路。
      • 触发刷新:网络变化时立即广播更新,加速收敛。
  • RIPv1 与 RIPv2 的对比
特性 RIPv1 RIPv2
子网支持 不支持(无子网掩码字段) 支持(含子网掩码字段,兼容 VLSM 和 CIDR)
鉴别机制 支持(明文口令 / 加密鉴别)
通告方式 广播(255.255.255.255) 组播(224.0.0.9)
报文格式 无路由标记、下一跳字段 含路由标记(区分路由源)、下一跳字段
  • 报文与封装:
    • 报文类型:请求(类型 1)、响应(类型 2),响应报文含多个(信宿,距离)序偶。
    • 封装:UDP 数据报(端口 520),最大报文长度 504 字节(含 25 个路由项)。

2. 开放最短路径优先(OSPF)------ IGP,基于链路 - 状态算法

  • 核心机制 :自治系统划分为区域(减少路由信息量),主干区域(0.0.0.0)连接所有区域,边界路由器汇总区域信息。路由器通过 LSA 交换链路状态,构建链路状态数据库(LSDB),生成 SPF 树,再构造路由表。
  • 关键特性
    1. 支持服务类型路由(根据数据报 TOS 字段选择路径)。
    2. 可为接口指派费用(基于吞吐率、时延等,影响路径选择)。
    3. 负载均衡(相同费用的路径平均分配流量)。
    4. 层次化结构(区域隐藏内部拓扑,支持大规模网络)。
    5. 支持多种鉴别机制(不同区域可采用不同方式)。
    6. 组播通告(减少无关主机开销)。
  • 报文类型
    • 共 5 种,均含 24 字节标准首部(版本、类型、长度等):
      1. Hello 分组(类型 1):发现 / 维护邻机关系,周期发送。
      2. 数据库描述分组(类型 2):交换 LSDB 概要,同步拓扑信息。
      3. 链路状态请求分组(类型 3):请求缺失的 LSA 细节。
      4. 链路状态更新分组(类型 4):泛洪 LSA(核心报文)。
      5. 链路状态确认分组(类型 5):确认 LSA 接收,保证可靠性。
  • 封装:直接封装在 IP 数据报中(协议字段 = 89)。

3. 增强型内部网关路由协议(EIGRP)------ IGP,Cisco 私有

  • 核心机制 :结合距离 - 向量和链路 - 状态特性,使用扩散更新算法(DUAL) 计算路由。
  • 路由表结构
    • 邻机表:存储邻机状态信息。
    • 拓扑表:存储可行后继路由(备用次佳路由)。
    • 路由表:存储后继路由(最佳路由,用于转发)。
  • 报文类型
    • Hello:发现 / 维护邻机关系。
    • Update:发送路由更新信息。
    • Query:路由失效且无备用路由时,向邻机查询。
    • Reply:响应 Query 报文。
    • Ack:确认收到报文(通过其他报文承载,或单播 Hello 报文)。
  • 封装:直接封装在 IP 数据报中(协议字段 = 88)。

4. 边界网关协议(BGP)------ EGP,基于路径 - 向量算法

  • 核心机制:用于自治系统间交换路由信息,路径以 "自治系统号(ASN)序列" 表示,支持基于策略的路由(考虑政治、经济、安全等因素)。
  • 报文类型
    1. 打开报文(类型 1):建立邻机关系(TCP 连接建立后发送)。
    2. 更新报文(类型 2):通告新路由或删除无效路由(核心报文)。
    3. 保持活动报文(类型 3):定期发送,维持邻机连接。
    4. 通告报文(类型 4):报告错误或关闭连接。
  • 封装:通过 TCP 传输(端口 179),保证可靠性。
  • 防环机制:路由更新时,若路径中已包含本地 ASN,则拒绝该路径。

本章要点

  • 数据传递分为直接传递(同一网络)和间接传递(跨网络,经路由器转发)。
  • 路由表是路由选择的核心,含信宿地址、子网掩码、下一跳、输出接口、度量,特殊表项包括特定主机路由(255.255.255.255)和默认路由(0.0.0.0/0)。
  • 静态路由手工配置,适用于小型稳定网络;动态路由通过协议自动维护,适用于大型动态网络。
  • 路由算法分为距离 - 向量(如 RIP)和链路 - 状态(如 OSPF),前者简单但收敛慢,后者复杂但收敛快。
  • 主要路由协议:
    • RIP(IGP,V-D 算法,跳数度量,适用于小型网络);
    • OSPF(IGP,L-S 算法,区域划分,适用于大规模网络);
    • EIGRP(Cisco 私有 IGP,DUAL 算法,复合度量);
    • BGP(EGP,路径 - 向量算法,AS 间路由,支持策略路由)。
相关推荐
kfepiza2 小时前
Netplan 配置网桥(Bridge)的模板笔记250711
linux·tcp/ip·ubuntu
hrrrrb3 小时前
【TCP/IP】11. IP 组播
服务器·网络·tcp/ip
甘露寺3 小时前
HTTP 请求体类型详解:选择最适合的数据提交格式
网络·网络协议·http
七仔あ3 小时前
小皮面板搭建pikachu靶场
网络·渗透
傻啦嘿哟3 小时前
长效住宅代理IP:反爬虫战场上的隐形盾牌
爬虫·网络协议·tcp/ip
Muisti4 小时前
NAT技术(网络地址转换)
网络·计算机网络·智能路由器
SKYDROID云卓小助手5 小时前
无人设备遥控器之无线电频率篇
服务器·网络·单片机·嵌入式硬件·算法
chirrupy_hamal5 小时前
TCP 保活(KeepAlive)机制详解
网络·tcp
189228048615 小时前
NW710NW713美光固态闪存NW719NW720
大数据·服务器·网络·人工智能·科技