划分子网

  • 划分子网
  • 划分子网的基本思路
  • 子网掩码
  • 常用的三种类别的子网掩码
  • 使用子网时分组的转发
  • 查找路由表的过程(重点)


划分子网

  • 划分子网纯属一个单位内部的事情。单位对外仍然表现为没有划分子网的网络。从主机号借用若干个位作为子网号 subnet-id,而主机号 host-id 也就相应减少了若干个位。
  • 当没有划分子网时,IP 地址是两级结构。
  • 划分子网后 IP 地址就变成了三级结构。
  • 划分子网只是把 IP 地址的主机号 host-id 这部分进行再划分,而不改变 IP 地址原来的网络号net-id。

划分子网的基本思路

  1. 凡是从其他网络发送给本单位某个主机的 IP数据报,仍然是根据 IP 数据报的目的网络号 netid,先找到连接在本单位网络上的路由器。
  2. 然后此路由器在收到 IP 数据报后,再按目的网络号 net-id和子网号 subnet-id 找到目的子网。
  3. 最后就将 IP 数据报直接交付目的主机。

子网掩码

  • 从一个 IP 数据报的首部并无法判断源主机或目的主机所连接的网络是否进行了子网划分。使用子网掩码 (subnet mask) 可以找出 IP 地址中的子网部分。
  • 规则:
  1. 子网掩码长度 = 32 位
  2. 某位 = 1:IP地址中的对应位为网络号和子网号
  3. 某位 = 0:IP地址中的对应位为主机号

linux 路由表匹和iptables forward 路由表的匹配过程_子网掩码


linux 路由表匹和iptables forward 路由表的匹配过程_子网掩码_02

常用的三种类别的子网掩码

linux 路由表匹和iptables forward 路由表的匹配过程_路由器_03

使用子网时分组的转发

(1) 从收到的分组的首部提取目的 IP 地址D。
(2) 先用各网络的子网掩码和 D 逐位相“与”,看是否和相应的网络地址匹配。若匹配,则将分组直接交付。否则就是间接交付,执行 (3)。
(3) 若路由表中有目的地址为 D的特定主机路由,则将分组传送给指明的下一跳路由器;否则,执行 (4)。
(4) 对路由表中的每一行,将子网掩码和 D 逐位相“与”。若结果与该行的目的网络地址匹配,则将分组传送给该行指明的下一跳路由器;否则,执行 (5)。
(5) 若路由表中有一个默认路由,则将分组传送给路由表中所指明的默认路由器;否则,执行 (6)。
(6) 报告转发分组出错。

查找路由表的过程(重点)

linux 路由表匹和iptables forward 路由表的匹配过程_子网掩码_04


linux 路由表匹和iptables forward 路由表的匹配过程_网络_05


linux 路由表匹和iptables forward 路由表的匹配过程_IP_06


linux 路由表匹和iptables forward 路由表的匹配过程_IP_07


linux 路由表匹和iptables forward 路由表的匹配过程_子网_08


linux 路由表匹和iptables forward 路由表的匹配过程_路由器_09