据我所知,到目前为止,与非透明IP碎片不同;数据包在源处分段并仅在目的地重新组装;透明IP分段中的中间网络系统,在传输过程中重新组装和分段IP数据包。给出以下示例,其中两个终端系统(A)和(B)彼此通信,每个终端系统分别是subnet1和subnet3的一部分。 router1会重新组装A发送的IP数据包片段,然后将整个非碎片数据包发送给路由器2,路由器2会在将其发送给B之前对其进行分段吗?这是多么透明的IP碎片有效吗?
(A) subnet1 ----- router1 ------ subnet2 ------- router2 ------- subnet3 (B)
答案 0 :(得分:0)
我认为你应该阅读这篇post,它会让你知道它是如何运作的。
对我来说,路由器1发送到路由器2然后到达B,数据包是rassemble。 在所有情况下,B都接收整个paquet而不是A制造的碎片。
答案 1 :(得分:0)
在正常的IPv4分片中,如果下一个接口的MTU小于数据包大小,路由器将对数据包进行分段。路由器上发生了分段,但是数据包分段的重新组装是终端系统的责任。
IPv4 RFC没有直接涵盖路径中两个中间系统之间的碎片和重组,因此没有真正的标准来解决这种情况。基本上,一个链路的末端将分组数据包以适合链路的MTU,链路的另一端将片段重组为原始数据包。这不是常见的事情,因为它给路由器带来了很大的负担。在正常的碎片中,重组的负担放在终端系统上。
基本的互联网服务是面向数据报并提供 网关中的数据报碎片化,重新组装 在目标主机中的目标Internet协议模块。 当然,网络中的数据报的碎片化和重组 或者通过网络网关之间的私人协议也是如此 因为这对互联网协议和网络协议是透明的 更高级别的协议。这种透明类型的碎片和 重组被称为"网络相关" (或内联网)碎片 这里不再进一步讨论。
RFC中碎片的完整描述:
碎片
互联网数据报的碎片化是必要的 在允许大数据包大小并且必须遍历a的本地网络中 本地网络将数据包限制为较小的大小以达到其目的 目的地。
互联网数据报可以标记为“不会碎片化”。"任何互联网 如此标记的数据报不会被互联网支离破碎 情况。如果互联网数据报标记为不是片段,则不能 传送到目的地而不会破坏它,它就是 丢弃了。
通过本地网络进行分段,传输和重组 互联网协议模块不可见的内容称为内联网 碎片化,可以使用[6]。
互联网碎片和重组程序需要能够 将数据报分成几乎任意数量的碎片 稍后重新组装。片段的接收者使用 识别字段,以确保不同数据报的片段 没有混合。片段偏移字段告诉接收器 片段在原始数据报中的位置。片段偏移 和长度确定所涵盖的原始数据报的部分 这个片段。更多片段标志指示(通过重置) 最后一个片段这些字段提供了足够的信息 重新组装数据报。
标识字段用于区分一个片段 来自另一个人的数据报。一个起源协议模块 互联网数据报将标识字段设置为必须的值 对于当时的源 - 目的地对和协议是唯一的 数据报将在互联网系统中处于活动状态。起源 完整数据报的协议模块将更多片段标志设置为 零,片段偏移为零。
片段化长互联网数据报,互联网协议模块(for 例如,在网关中),创建两个新的互联网数据报和副本 从长数据报到互联网头字段的内容 两个新的互联网标题。长数据报的数据是分开的 在8个八位位组(64位)边界上的两个部分(第二部分 可能不是8个八位字节的整数倍,但第一个必须是)。 在第一部分NFB中调用8个八位字节块的数量(对于数字 片段块)。数据的第一部分放在 第一个新的互联网数据报,并将总长度字段设置为 第一个数据报的长度。更多片段标志设置为1。 第二部分数据放在第二个新的互联网中 数据报,并将总长度字段设置为长度 第二个数据报。更多片段标志带有相同的值 长数据报。第二个新的片段偏移字段 互联网数据报设置为long中该字段的值 数据报加上NFB。
此过程可以推广为n路分割,而不是 双向分裂描述。
汇集互联网数据报的片段,互联网 协议模块(例如在目的地主机)组合互联网 数据报对于四个字段都具有相同的值: 识别,来源,目的地和协议。组合是 通过将每个片段的数据部分放在相对片段中来完成 由该片段的互联网中的片段偏移指示的位置 头。第一个片段的片段偏移为零,和 最后一个片段将更多片段标志重置为零。