分段是网络层的重要函数。这是网关将较大的数据包分解或分割为较小的数据包(称为碎片)的一种技术。然后,将每个片段作为单独的内部数据包发送。每个片段都有其单独的头和尾。
有时,一个碎片化的数据报在遇到处理较小碎片的网络时也会被碎片化。因此,一个数据报在到达最终目的地之前可以被分段数次。碎片化的反向过程很困难。片段的重组通常由目标主机完成,因为每个片段都已成为独立的数据报。
例如碎片可以参考的参考:破碎实施例
重组有两种不同的策略,或者可以说片段的重组:透明片段和非透明片段。
- 透明碎片:
这种分段是通过使一个网络对数据包将通过的所有其他后续网络透明的实现的。每当大数据包到达网关时,它都会将数据包分解为较小的碎片,如下图所示,网关G1会将数据包分解为较小的碎片。
此后,每个片段都将寻址到相同的出口网关。网络的现有网关重组或重组所有片段的示例在上图中显示为出口网关,网络1的G2在将G1创建的所有片段传递到网络2之前对其进行重组。因此,后续网络不知道已发生碎片。 ATM网络使用这种策略。这些网络使用提供数据包透明分段的特殊硬件。
透明策略有一些缺点,如下所示:
- 在网络中接收到所有碎片之后,必须知道在网络中重组碎片的出口碎片。
- 某些片段会选择不同的网关进行退出,从而导致性能下降。
- 反复分段和重新组装大数据包会增加可观的开销。
- 非透明碎片:
该分段是通过一个网络对数据包通过的后续网络不透明的方式完成的。下图所示,由网络网关分片的数据包不会由同一网络的出口网关重组。数据包分段后,每个片段都将被视为原始数据包。数据包的所有片段都通过出口网关传递,并且这些片段的重组在目标主机上完成。
非透明碎片的缺点如下:
- 每个主机都具有重组片段的能力。
- 在对数据包进行分段时,应以可以重构原始数据流的方式对分段进行编号。
- 由于碎片,总开销会增加,因为每个碎片都必须有自己的标头。