IP 路由选择机制解析

IP 路由选择,特别是对于主机而言,其概念相对直观。

  • 直接通信: 当目的主机与源主机直接相连(例如点对点链路)或位于同一共享网络(如以太网或令牌环网)时,IP 数据报可以直接传送至目的主机。
  • 路由转发: 当目的主机不在直接连接的网络上时,主机将数据报发送至默认路由器,由路由器负责转发。大多数主机采用这种简化的路由机制。

主机与路由器的角色

现代多用户系统,包括几乎所有 Unix 系统,都具备配置为路由器的能力。用户可以为其配置路由算法,供主机和路由器使用。

  • 主机: 通常不负责数据报的接口间转发,除非被明确配置。
  • 路由器: 负责将数据报从一个接口转发至另一个接口。

IP 层的功能

在网络体系中,IP 层负责以下任务:

  1. 接收来自 TCP、UDP、ICMP 和 IGMP 的数据报(本地生成)并发送。
  2. 接收来自网络接口的数据报(待转发)并发送。

IP 层维护一张路由表,用于在发送和接收数据报时进行路由查询。

数据报处理流程

  1. 地址检查: 当收到来自网络接口的数据报时,IP 层首先检查目的 IP 地址是否为本机地址或 IP 广播地址。
  2. 协议分发: 如果目的地址匹配,数据报将被传递至 IP 首部协议字段指定的协议模块进行处理。
  3. 路由查询: 如果目的地址不匹配,IP 层将查询路由表以确定下一跳地址。
  4. 转发: 数据报最终被转发至下一跳路由器或直接发送至目的主机。