Internet地址区分主机级别的源和目的地,并提供协议字段。假定每种协议都将提供主机内所需的任何多路复用。
编址
为了在为网络分配地址方面提供灵活性,并允许使用大量的中小型网络,对地址字段的解释进行编码,以指定具有大量主机的少量网络,具有主机数量的中等数量的网络。数量适中的主机,以及数量众多且主机数量少的网络。此外,还有用于扩展寻址模式的转义码。
地址格式:

网络字段中的零值表示该网络。这仅在某些ICMP消息中使用。扩展寻址模式是不确定的。这两个功能都保留供将来使用。
为网络地址分配的实际值在“分配的编号”中给出。
由本地网络分配的本地地址必须允许单个物理主机充当多个不同的Internet主机。也就是说,Internet主机地址和网络/主机接口之间必须存在一个映射,以允许多个Internet地址对应一个接口。还必须允许主机具有多个物理接口,并将来自多个物理接口的数据包当作已全部寻址到单个主机一样对待。
Internet地址与ARPANET,SATNET,PRNET和其他网络的地址之间的地址映射在“地址映射”中进行了描述。
分段和重组
Internet标识字段(ID)与源地址和目标地址以及协议字段一起使用,以标识要重组的数据包分段。
如果数据包不是最后一个分段,则将设置“更多分段”标志位(MF)。分段偏移字段标识相对于原始未分段化数据包的开头的分段位置。分段以8个八位位组为单位进行计数。设计分段策略是为了使未分段的数据包具有全部零的分段信息(MF = 0,分段偏移= 0)。如果Internet数据包是分段的,则其数据部分必须在8个八位位组边界上断开。
此格式允许2的13次方 = 8192个8个八位字节的分段,总共65536个八位字节。请注意,这与数据包总长度字段一致(当然,标头是在总长度中计算的,而不是在分段中计算的)。
发生分段时,某些选项将被复制,而其他选项仅保留在第一个分段中。
每个Internet模块必须能够转发68个八位位组的数据包,而不能进一步分段。这是因为Internet标头最多可以包含60个八位位组,而最小分段为8个八位位组。
每个互联网目的地都必须能够以单个或分段形式接收576个八位字节的数据包,以进行重组。
可能受到分段影响的字段包括:
(1)选项字段
(2)更多分段标志
(3)分段偏移
(4)网络头长度字段
(5)总长度字段
(6)头校验和
如果设置了“不分段标志”(DF)位,则此数据包的Internet分段是不允许的,尽管它可能会被丢弃。在接收主机没有足够的资源来重新组合Internet分段的情况下,这可以用来禁止分段。
使用“不要分段”功能的一个示例是下行加载小型主机。小型主机可以具有一个引导程序,该程序接受一个数据包,将其存储在内存中,然后执行它。
实例最容易描述分段和重组过程。以下过程是示例实现。
以下示例程序中的通用符号:“ = <”表示“小于或等于”,“#”表示“不等于”,“=”表示“等于”,“<-”表示“设置为”。同样,“x到y”包括x并排除y;例如,“4到7”将包括4、5和6(但不包括7)。
分段程序示例
可以通过下一个网络传输的最大大小的数据包称为最大传输单元(MTU)。
如果总长度小于或等于最大传输单位,则将该数据包提交到数据包处理的下一步;否则,将其提交给数据包处理。否则,将数据包切成两个分段,第一个分段为最大大小,第二个分段为数据包的其余部分。第一个分段被提交到数据包处理的下一步,而第二个分段如果仍然太大,则被提交给该程序。
示意:

计算方法:
如果TL = <MTU,则将此数据包提交到数据包处理,否则:如果DF = 1,则丢弃数据包,否则执行第一个分段:
(1)复制原始报文头;
(2)OIHL设置为IHL;OTL设置为TL; OFO设置为FO; OMF设置为MF;
(3)NFB等于(MTU-IHL * 4)/ 8;
(4)附加第一个NFB * 8数据八位位组;
(5)休整报头:MF设置为1; TL等于(IHL * 4)+(NFB * 8);重新计算校验和;
(6)将此分段提交到数据包处理的下一步;
产生第二个分段: