2017-06-02 87 views
0

我目前会通过我的网络的幻灯片,并想知道如果有人可以帮助我不成体系额外的字节

让我明白的第一部分,直到“108个字节”但我不要这个概念不明白是这个“8字节= 13.5 => 13 * 8 字节= 104字节”

这些额外的字节是什么?

其余的都很清楚。

回答

2

您必须将数据包有效载荷分段为八字节边界。使用128字节的MTU,您可以拥有的最大有效载荷片段为104个字节,比简单地从MTU(108字节)中减去IP报头要小。正文告诉你,从MTU中减去数据包标题大小(20字节),下一个可被8整除的较小碎片大小是104字节。

RFC 791, Internet Protocol拥有的IP碎片是如何工作的一个完整的描述:

碎片

碎片互联网数据报是必要的,当它在一个本地网,可以将大数据包大小,必须遍历起源 一个 本地网络,将数据包限制为较小的大小,以达到其目的地址 。

互联网数据报可以标记为“不分段”。任何互联网 如此标记的数据报不得在任何 的情况下被互联网分段。如果标记的互联网数据报不能分段,不能将 传送到其目的地,而是将其丢弃为 。

分片,传输和重组通过本地网络 这对互联网协议模块是不可见的被称为内联网 分片并可以使用[6]。

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

标识字段用于区分一个 数据报的片段与另一个的片段。互联网数据报的始发协议模块将标识字段设置为对于该源 - 目的地对和时间协议必须是唯一的值,该数据报将在因特网系统中活动。一个完整的数据报的协议模块始发 设置更多的片段标志为 零,片段偏移量为零。

要片段长互联网数据报,因特网协议模块(为 例如,在网关),创建两个新的互联网数据报和副本 从长数据报网络报头字段的内容到 两个新的互联网头部。长数据报的数据在8字节(64位)边界上被分成两部分(第二部分 可能不是8个八位组的整数倍,但第一部分必须是)。 在第一部分NFB中调用8个八位字节块的数量(对于分段块的 号码)。数据的第一部分放在第一个新的互联网数据报的 中,总长度字段设置为第一个数据报的长度为 。 more-fragments标志被设置为1。 数据的第二部分被放置在第二个新的互联网 数据报中,并且总长度字段被设置为第二数据报的长度 。 more-fragments标志的值与长数据报中的值相同 。第二个新的互联网数据报的片段偏移量字段被设置为数据报长加上NFB的长字段 中的那个字段的值。

此过程可以推广为n路分裂,而不是所描述的双向分裂。

向(在目的地主机例如)装配因特网的数据报的碎片,因特网 协议模块结合互联网 数据报都具有用于四个字段的值相同: 识别,源,目的地和协议。组合是 通过将每个片段的数据部分放置在该片段的互联网 头部中的片段偏移所指示的相对位置处来完成。第一个片段的片段偏移量为零, 最后一个片段将会将more-fragments标志位重置为零。

2

每在IP报头中的所述片段偏移字段的定义:

片段偏移(13位):在分段的IP数据报的情况下,该字段包含的偏移(以8个字节为单位计)从IP数据报开始。所以再次,这个字段用于重组分段的IP数据报。

因此,即使有效负载大小可以是任何值,偏移值只能是IP标头上8个字节的倍数,因此有效负载大小为8字节倍数。计算将减小IP有效负载大小。