TCP报文的最大负载和报文的最小长度
2016-08-22 22:56
1396 查看
TCP报文的最大负载和报文的最小长度
MTU:最大传输单元,以太网的MTU为1500BytesMSS:最大分解大小,为每次TCP数据包每次传输的最大数据的分段大小,由发送端通知接收端,发送大于MTU就会被分片。
MSS默认最小为536B,最小的MTU576B,MSS = MTU - IP头(20B)- TCP头(20B)
TCP最小数据长度为1460Bytes
以太网的最大数据帧是1518Bytes
以太网的帧头148Bytes:MAC目的地址48bit(6B),MAC源地址48bit(6B),Type域2B,一共14B
帧尾校验4Bytes
数据域只剩:1518-14-4 = 1500Bytes
TCP数据包大小 1500 - IP头(20B)- TCP头(20B) = 1460B 这也是最大的MSS
(UDP数据包 1500 - IP头(20B) - UDP头(8B) = 1472B)
TCP最大负载65535-40B
TCP报文段的最大负载为65495字节,因为每个数据段必须适合IP的载荷能力,不能超过65535字节,IP头20B,TCP包头20B,
故最大负载为65535- 20-20=65495B
ack字段大小为84B
前导码 8 + 目的MAC 6 + 源MAC 6 + 类型 2 + IP首部 20 + TCP首部 20 + 用户数据 0 + 填充字符 6 + CRC 4 + 分组间隙 12 = 84B
TCP:64B
以太网帧首部 14B:MAC目的地址48bit(6B),MAC源地址48bit(6B),Type域2B,一共14B
以太网帧尾部 4B
IP 20B
TCP 20B (UDP 8B)
填充 6B (UDP填充 18B)
一共58B,不够64B ,填充6B。
TCP最小长度
是默认的MSS产生536B,还是ACK的长度84B,还是TCP总长(加IP,MAC)的64B
相关文章推荐
- TCP报文的最大负载和报文的最小长度
- 在传统以太网中,为什么要有最小帧长度和最大帧长度的限制
- 在传统以太网中,为什么要有最小帧长度和最大帧长度的限制?
- TCP 、UDP包的最大长度是多少?
- JS获取数组最大值、最小值及长度的方法
- TCP传输的单个报文最大字节(MSS和MTU)
- 把一个长度为n的数组分成k段,让每段和的最大值最小。
- TCP 、UDP、IP包的最大长度是多少
- 在传统以太网中,为什么要有最小帧长度和最大帧长度的限制?
- UDP报文最大长度
- TCP 、UDP、IP包的最大长度是多少?
- 长度,最小值和最大值
- TCP 、UDP、IP包的最大长度是多少?
- 网络-UDP,TCP数据包的最大传输长度分析
- jquery.validate 客户端验证“必填”“URL”“最小最小长度”“最大最小值”“数字”“身份证”“信用卡”“邮编”等
- 给定一个非负整数数组,最初定位在数组的第一个索引处。组中的每个元素表示您在该位置的最大跳跃长度。求最小跳数
- 自定义数组,实现输出改数组的长度、最大值和最小值
- 在传统以太网中,为什么要有最小帧长度和最大帧长度的限制?
- MTU、MSS 与 以太网帧、TCP、IP报文长度之间的关系
- 任意整数 ,输出从大到小,连续的去最大最小。 最大长度不超过1024;