Networking 网络层TCP数据包的碎片化

Networking 网络层TCP数据包的碎片化,networking,tcp,fragmentation,Networking,Tcp,Fragmentation,假设一条TCP消息包含900字节的数据和20 TCP头的字节数。现在,如果我们有一个链接可以支持512字节的最大帧大小,那么我们将在传输层有两个TCP数据包,它们的大小足够小,可以通过这个链接发送。还是会在数据链路层进一步分散 以下哪种情况会发生: Transport layer: h1 data Network layer: h2 h1 data data link layer: frame 1 - h3 h2 h1 data-part1

假设一条TCP消息包含900字节的数据和20 TCP头的字节数。现在,如果我们有一个链接可以支持512字节的最大帧大小,那么我们将在传输层有两个TCP数据包,它们的大小足够小,可以通过这个链接发送。还是会在数据链路层进一步分散

以下哪种情况会发生:

Transport layer:    h1   data
Network layer:      h2 h1 data
data link layer:  frame 1 -  h3 h2 h1 data-part1
                  frame 2 -  h3 h2 h1 data-part2


碎片是IPv4 DNA的一部分,它发生在IPv4的第3层。IPv6已经消除了碎片,发送主机只能发送正确大小的数据包(对数据进行预碎片化)

路由器在第3层(网络层)运行,IPv4路由器中发生碎片。如果IPv6数据包对于下一个跃点来说太大,路由器会不规则地丢弃它们,并将ICMPv6消息发送回源主机

:

互联网协议还提供了碎片和重组 如有必要,通过“小型”传输的长数据报 “分组”网络

internet协议实现两个基本功能:寻址和 碎片化

在将消息从一个internet模块路由到另一个模块的过程中, 数据报可能需要穿越最大数据包大小为的网络 小于数据报的大小。为了克服这一困难,一个 互联网协议中提供了碎片机制

碎片化过程的描述:

碎裂

当互联网数据报开始时,它的碎片是必要的 在本地网中,允许较大的数据包大小,并且必须通过 将数据包限制在较小的大小以达到其目的的本地网 目的地

互联网数据报可以标记为“不碎片”。任何互联网 如此标记的数据报不得在任何情况下被互联网分割 情况。如果internet数据报标记为“不分段”,则无法 交付到目的地而不将其分割,则 取而代之的是丢弃

通过本地网络进行碎片化、传输和重组 internet协议模块看不见的称为intranet 可以使用碎片和碎片[6]

互联网碎片和重组程序需要能够 将一个数据报分成几乎任意数量的片段,这些片段可以 稍后重新组装。片段的接收者使用 标识字段,以确保不同数据报的片段 两者并不混杂。碎片偏移字段告诉接收者 片段在原始数据报中的位置。碎片偏移量 和长度确定所覆盖的原始数据报的部分 这个片段。more fragments标志(通过重置)指示 最后一个片段。这些字段提供了足够的信息 重新组装数据报

标识字段用于区分一个文件的碎片 来自另一方的数据报。网络的原始协议模块 internet数据报将标识字段设置为必须 对于该源-目的地对和协议,在当前是唯一的 数据报将在互联网系统中处于活动状态。始发地 完整数据报的协议模块将more fragments标志设置为 零,碎片偏移量为零

要将一个长的互联网数据报分段,需要一个互联网协议模块(用于 例如,在网关中),创建两个新的internet数据报和副本 从长数据报到internet报头字段的内容 这两个新的互联网标题。长数据报的数据被分割 分为8个八位字节(64位)边界上的两部分(第二部分 可能不是8个八位字节的整数倍,但第一个必须是)。 调用第一部分NFB中8个八位组块的数量(用于数字 片段块的数量)。数据的第一部分放置在 第一个新的internet数据报,总长度字段设置为 第一个数据报的长度。“更多碎片”标志设置为一。 数据的第二部分被放置在第二个新的互联网中 数据报,总长度字段设置为 第二个数据报。“更多碎片”标志的值与 长数据报。第二个新字段的片段偏移量字段 internet数据报设置为该字段在长时间内的值 数据报加NFB

此过程可以推广到n路拆分,而不是 描述了双向拆分

要组装internet数据报的碎片,请使用internet 协议模块(例如,在目标主机上)结合了internet 四个字段值相同的数据报: 标识、来源、目的地和协议。组合是 通过将每个片段的数据部分放置在相对 碎片偏移量在该碎片的互联网中指示的位置 标题。第一个片段的片段偏移量为零,并且 最后一个片段的“更多片段”标志将重置为零


碎片是IPv4 DNA的一部分,它发生在IPv4的第3层。IPv6已经消除了碎片,发送主机只能发送正确大小的数据包(对数据进行预碎片化)

路由器在第3层(网络层)运行,IPv4路由器中发生碎片。如果IPv6数据包对于下一个跃点来说太大,路由器会不规则地丢弃它们,并将ICMPv6消息发送回源主机

:

互联网协议还提供了碎片和重组 如有必要,通过“小型”传输的长数据报 “分组”网络

internet协议实现两个基本功能:寻址和 碎片化

在将消息从一个internet模块路由到另一个模块的过程中
data link layer:  frame 1 -  h3 h2 h1 data-part1
                  frame 2 -  h3 data-part2