04 路由表的IP分组传输过程

发布于:2025-02-27 ⋅ 阅读:(15) ⋅ 点赞:(0)

目录

1、路由表的核心结构

2、IP分组传输过程和数据包转发过程

2.1、IP分组传输过程

2.2、数据包转发过程

2.3、IP分组传输过程和数据包转发的区别

3、数据包的变化

3.1、拓扑结构

3.2、传输过程详解(主机A → 主机B)

3.2.1、主机A发送数据

3.2.2、路由器R1转发

3.2.3、路由器R2转发到主机B

3.3、地址变化对照表


1、路由表的核心结构

路由器通过路由表决定数据包转发路径,路由表关键字段包括:

  • 目的网络:Destination(标网络地址,如192.168.1.01)
  • 子网掩码:Netmask(如255.255.255.0,简写为/24)
  • 下一跳地址:NextHop(直连或相邻路由器的IP地址)
  • 出接口:Interface(数据包转发出口,如eth0eth0)
目的网络 子网掩码 下一跳 出接口
0.0.0.0 0.0.0.0 203.0.1.113 eth1
192.168.1.0 255.255.255.0 - eth0
192.168.1.0 255.255.255.252 192.168.2.1 eth2

2、IP分组传输过程和数据包转发过程

2.1、IP分组传输过程

  1. 确定源和目的终端是否在同一个网络。
    比较两个网络地址,如果相同,说明源和目的终端在同一网络,那IP分组传输过程将无需经过路由器。
  2. 根据默认网关找到第一跳路由器,路由器逐跳转发。
    在这一步将进行数据包的转发过程,下面2.2将详细讨论。
  3. 直接交付
    当路由器和目的终端之间没有其他路由器,即目的终端和该路由器的其中一个接口连接在同一个网路上,路由器通过该网络将IP分组直接传输给终端B。

2.2、数据包转发过程

当路由器收到IP数据包时,按以下步骤处理:

  1. 解封装与目标IP提取:剥离数据链路层帧头,提取目标IP地址(如192.168.1.5)。

  2. 路由表匹配:最长前缀匹配(Longest Prefix Match)
    选择子网掩码最长(即最精确)的条目。
    例如,目标IP 192.168.1.5 可匹配:192.168.1.0/30、192.168.1.0/24,最终选择/30条目(掩码长度30 > 24)。

  3. 下一跳处理
    直连网络:若下一跳为“-”(如192.168.1.0/24),直接通过出接口转发。

    间接路由:若需中转(如192.168.1.0/30),将数据包发往下一跳IP地址。
  4. 数据包转发

    封装新帧头:根据出接口类型(如以太网),通过ARP获取下一跳MAC地址,重新封装数据链路层帧头。
    更新TTL与校验和:TTL值减1,重新计算IP头部校验和。
  5. 无匹配处理

    若无匹配条目且无默认路由(0.0.0.0/0),丢弃数据包并返回ICMP“目标不可达”错误。

2.3、IP分组传输过程和数据包转发的区别

特征 IP分组传输过程 数据包转发过程
范围 全局性(跨多网络设备) 局部性(单台设备处理)
时间维度 从发送到接收的完整时间线 瞬时行为(纳秒级单次处理)
依赖关系 依赖所有中间节点的正确转发 仅依赖当前设备的路由表与接口状态
协议参与 涉及网络层、传输层甚至应用层 仅网络层(IP协议)

3、数据包的变化

3.1、拓扑结构

(局域网A)                     (广域网)                     (局域网B)
      192.168.1.0/24                                               10.2.3.0/24
      ┌─────────┐             ┌─────────┐             ┌─────────┐
      │ 主机A   │             │ 路由器R1│─────────────│ 路由器R2│
      │ IP:192.168.1.10       │ LAN口:192.168.1.1     │ WAN口:203.0.113.2 │
      │ MAC:00:1A:2B:3C:4D:5E │ WAN口:203.0.113.1     │ LAN口:10.2.3.1    │
      └────┬────┘             └────┬────┘             └────┬────┘
           │                       │                       │
           │                       │                       │
      ┌────┴────┐             ┌────┴────┐             ┌────┴────┐
      │ 交换机  │             │ 光纤链路│             │ 交换机  │
      └─────────┘             └─────────┘             └─────────┘
                                                                  ┌─────────┐
                                                                  │ 主机B   │
                                                                  │ IP:10.2.3.5
                                                                  │ MAC:00:AA:BB:CC:DD:EE
                                                                  └─────────┘

3.2、传输过程详解(主机A → 主机B)

3.2.1、主机A发送数据

封装逻辑

以太网帧头            IP头部              TCP头部             应用数据
┌─────────────┬───────────────────┬───────────────────┬─────────────┐
| 目标MAC     | 源IP      目标IP  | 源端口    目标端口 | 实际载荷     |
| (R1-LAN口)  | 192.168.1.10      | 54321     80      | "Hello"     |
| 00:11:22:33:44:55              →10.2.3.5            |             |
└─────────────┴───────────────────┴───────────────────┴─────────────┘

3.2.2、路由器R1转发

地址转换

新以太网帧头          IP头部(保持不变)        TCP头部             应用数据
┌─────────────┬───────────────────┬───────────────────┬─────────────┐
| 目标MAC     | 源IP      目标IP  | 源端口    目标端口 | 实际载荷     |
| (R2-WAN口)  | 192.168.1.10      | 54321     80      | "Hello"     |
| 00:55:44:33:22:11              →10.2.3.5            |             |
└─────────────┴───────────────────┴───────────────────┴─────────────┘

3.2.3、路由器R2转发到主机B

最终封装

以太网帧头            IP头部(保持不变)        TCP头部             应用数据
┌─────────────┬───────────────────┬───────────────────┬─────────────┐
| 目标MAC     | 源IP      目标IP  | 源端口    目标端口 | 实际载荷     |
| (主机B)     | 192.168.1.10      | 54321     80      | "Hello"     |
| 00:AA:BB:CC:DD:EE             →10.2.3.5            |             |
└─────────────┴───────────────────┴───────────────────┴─────────────┘

3.3、地址变化对照表

传输阶段 源MAC 目标MAC 源IP 目标IP
主机A → R1 00:1A:2B:3C:4D:5E 00:11:22:33:44:55 192.168.1.10 10.2.3.5
R1 → R2 00:11:22:33:44:55 00:55:44:33:22:11 192.168.1.10 10.2.3.5
R2 → 主机B 00:AA:BB:CC:DD:EE 00:AA:BB:CC:DD:EE 192.168.1.10 10.2.3.5

通过这个结构可以清晰看到:MAC地址在每一跳链路层都会改变,而IP地址始终保持端到端一致性(除非经过NAT)。这种设计实现了网络层的逻辑寻址与数据链路层的物理寻址解耦。
 

制作不易,麻烦给博主点点赞!