4.2 IP分片与重组
大IP分组向较小MTU链路转发时,可以被“分片” (fragmented)
- 1个IP分组分为多片IP分组
- IP分片到达目的主机后进行“重组” (reassembled)
IP首部的相关字段用于标识分片以及确定分片的相对顺序
- 总长度
- 标识(identification)字段占 16 位:标识一个IP分组
IP协议利用一个计数器,每产生IP分组计数器加1,作为该IP分组的标识 - 标志位(flag)字段占 3 位,目前只有前两位有意义
MF (More Fragment)
DF (Don’t Fragment)
- 片偏移(13 位)指出:一个IP分组分片封装原IP分组数据的相对偏移量
- 片偏移字段以8字节为单位
IP分片过程
假设原IP分组总长度为L,待转发链路的MTU为M
若L>M,且DF=0,则需分片
分片时每个分片的标识复制原IP分组的标识
通常分片时,除最后一分片,其他分片均分为MTU允许的最大分片
- 一个最大分片可封装的数据应该是8的倍数,因此,一个
最大分片可封装的数据为: - 需要的总片数为:
IP编址
IP编址(addressing)
- IP分组:
- 源地址(SA)-从哪儿来
- 目的地址(DA)-到哪儿去
- 接口(interface): 主机/路由器与物理链路的连接
- 实现网络层功能
- 路由器通常有多个接口
- 主机通常只有一个或两个接口 (e.g.,有线的以太网接口,无线的802.11接口)
- IP地址: 32比特(IPv4)编号标识主机、路由器的接口
- IP地址与每个接口关联
- 怎样为接口分配IP地址呢?
IP子网(Subnets)
- IP地址:
- 网络号(NetID) – 高位比特
- 主机号(HostID) – 低位比特
- IP子网:
- IP地址具有相同网络号的设
备接口 - 不跨越路由器(第三及以上层网络设备)可以彼此物理联通的接口
有类IP地址
IP地址(Addresses)
特殊IP地址
私有(Private)IP地址
5 IP子网划分与子网掩码(重点)
子网划分(Subnetting)?
如何区分一个IP子网更小范围网络(子网)?
- 子网划分
- IP地址:
- 网络号(NetID) – 高位比特
- 子网号(SubID) – 原网络主机号部分比特
- 主机号(HostID) – 低位比特
子网掩码
子网划分
子网掩码的应用
5.1 从两级 IP 地址到三级 IP 地址
在 ARPANET 的早期,IP 地址的设计确实不够合理。
- IP 地址空间的利用率有时很低。
- 给每一个物理网络分配一个网络号会使路由表变得太大因而使网络性能变坏。
- 两级的 IP 地址不够灵活
- 从 1985 年起在 IP 地址中又增加了一个“子网号字段”,使两级的 IP 地址变成为三级的 IP 地址。这种做法叫作划分子网(subnetting) 。划分子网已成为因特网的正式标准协议。
5.2 基本思路
- 划分子网纯属一个单位内部的事情。单位对外仍然表现为没有划分子网的网络。
- 从主机号借用若干个位作为子网号 subnet-id,而主机号 host-id 也就相应减少了若干个位。
IP地址 ::= {<网络号>, <子网号>, <主机号>} - 凡是从其他网络发送给本单位某个主机的 IP 数据报,仍然是根据 IP 数据报的目的网络号 net-id,先找到连接在本单位网络上的路由器。
- 然后此路由器在收到 IP 数据报后,再按目的网络号 net-id 和子网号 subnet-id 找到目的子网。
- 最后就将 IP 数据报直接交付目的主机。
5.3 划分子网后变成了三级结构
- 当没有划分子网时,IP 地址是两级结构。
- 划分子网后 IP 地址就变成了三级结构。
- 划分子网只是把 IP 地址的主机号 host-id 这部分进行再划分,而不改变 IP 地址原来的网络号 net-id
5.4 子网掩码(subnet mask)
从一个 IP 数据报的首部并无法判断源/目的主机所连接的网络是否进行了子网划分,使用子网掩码可以找出 IP 地址中的子网部分
- 子网掩码是一个网络或一个子网的重要属性
- 路由器在和相邻路由器交换路由信息时,必须把自己所在网络(或子网)的子网掩码告诉相邻路由器
- 路由器的路由表中的每一个项目,除了要给出目的网络地址外,还必须同时给出该网络的子网掩码
- 若一个路由器连接在两个子网上就拥有两个网络地址和两个子网掩码
- 不同的子网掩码得出相同的网络地址。
但不同的掩码的效果是不同的
























