tcp协议数据偏移中最大值

概要

教材中TCP数据偏移

数据偏移 占4位,它指出TCP报文段的数据起始处距离TCP报文段的起始处有多远。这个字段实际上是指出TCP报文段的首部长度。由于首部中还有长度不确定的选项字段,因此数据偏移字段是必要的。但应注意,数据偏移的单位是32位字(即以4字节长的字为计算单位)。由于4位二进制数能够表示的最大十进制数字是15,因此数据偏移的最大值是60字节,这也是TCP首部的最大长度(即选项长度不能超过40字节)

我的理解

之所计算最大值为60字节,是因为文中提到“数据偏移的单位为32位”,即是说每一个可选项的长度为32位。即4个字节,不足这个长度的要做填充。前文也提到过填充的长度为4n(n为整数)。

在这里插入图片描述
加个图片方便理解下: 就是选项部分必须整行(看图理解哈)加,这个行的长度就是4n,要加选项只能一行一行的加就是还能往下加10行 4*10 = 40,加上固定的20,因此数据偏移的最大值是60字

小结

这里说的32位(我说的图片中的一行)为一个单位,所以数据偏移4位(4位二进制数能够表示的最大十进制数字是15)能表示的最大字节数就是 15 * 4 = 60 (如图中所示15行)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值