IP 地址与路由控制

414 阅读2分钟

IP地址的网络地址这一部分是用于进行路由控制。

路由控制表中记录着网络地址与下一步应该发送至路由器的地址。在主机和路由器上都会有各自的路由器控制表。

在发送 IP 包时,首先要确定 IP 包首部中的目标地址,再从路由控制表中找到与该地址具有相同网络地址的记录,根据该记录将 IP 包转发给相应的下一个路由器。如果路由控制表中存在多条相同网络地址的记录,就选择相同位数最多的网络地址,也就是最长匹配。

下面以下图的网络链路作为例子说明:

NeatReader-1644389741344.png

  1. 主机 A 要发送一个 IP 包,其源地址是 10.1.1.30 和目标地址是 10.1.2.10,由于没有在主机 A 的路由表找到与目标地址 10.1.2.10 的网络地址,于是包被转发到默认路由(路由器 1 )
  2. 路由器 1 收到 IP 包后,也在路由器 1 的路由表匹配与目标地址相同的网络地址记录,发现匹配到了,于是就把 IP 数据包转发到了 10.1.0.2 这台路由器 2(该过程需要获取路由器2的mac地址,使用arp协议实现)
  3. 路由器 2 收到后,同样对比自身的路由表,发现匹配到了,于是把 IP 包从路由器 2 的 10.1.2.1 这个接口出去,最终经过交换机把 IP 数据包转发到了目标主机

路由表展开:

目的网络 子网掩码 下一跳路由器 若直接交付应当从哪一个接口转发出去 跃点数

network_destination netmask gateway interface metric

128.96.39.0          255.255.255.128    网关1(192.168.1.2) 接口0     10
128.96.39.128      255.255.255.128    网关2         接口1     10
128.96.40.0          255.255.255.128    网关3          R2       10
192.4.153.0          255.255.255.192    网关4          R3       10
default gw             网关5          R4

匹配过程:目的ip与路由器子网掩码相与,若相与结果与network_destination相同,则下一跳路由器确定,从该接口出去,使用arq协议获取下一跳路由器的mac地址,使用该mac地址包装ip数据报并交付出去给下一跳路由器,重复该过程最终交付给目的ip地址