【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.0(0.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 间路由,支持策略路由)。
相关推荐
yunlaodacom4 小时前
华为云国际站服务代理商:BMS数据库延迟突然升高?磁盘I/O、网络与CPU排查方法
网络·数据库·华为云
张宇Joaquin5 小时前
自研SP600系列网卡驱动跟麒麟V10 SP3 2403配套关系
linux·运维·网络
睡一觉就好了。5 小时前
Cookie与Session
网络
步行cgn5 小时前
HTTP 常用请求方法详解
网络·网络协议·http
mengge.cloud5 小时前
1019Namespace ,Contexts ,Kubernetes Pod
运维·服务器·网络·云原生·容器·kubernetes·云计算
艾iYYY5 小时前
【无标题】
linux·开发语言·网络·操作系统
QZ166560951595 小时前
可视化易用·低误报率·跨区域部署:知源-AI数据分类分级系统在金融行业的落地实践
大数据·网络·安全·网络安全
aixingkong9215 小时前
UALink 技术白皮书解读
服务器·网络·硬件架构
Amumu121387 小时前
Node学习: 网络基础概念 + HTTP模块
网络·node.js
tdtengrun7 小时前
“绿色轮胎安全周”走进校园,让安全与环保理念扎根童心
网络·媒体