tcp,udp报文最大长度

Posted 爱吃土豆的男孩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tcp,udp报文最大长度相关的知识,希望对你有一定的参考价值。

  tcp,udp报文最大长度是怎么样的呢?

先来看看各个报文格式:

ip报文

tcp报文

udp报文

ip和udp都有16位的长度字段,所以ip和udp报文的最大负载长度应该为2^16,64KB

网络层限制:

  MTU(Maximum Transmission Unit,最大传输单元),这限制了ip报文长度,ip报文长度大于mtu,就需要分片。通常设为1500字节。

  在网络层,ip提供不可靠传输服务,一旦收到的数据报分片丢失部分或部分出现差错,就会全部丢弃,而不会选择重传。

传输层限制:

   tcp协议中有个MSS,tcp通常将数据分成长度为MSS的若干块。

总结:

  ip报文由于其长度字段限制,最大负载长度为64KB,而由mtu限制,报文会分片为长度为mtu的若干段。

   udp因没有序号等字段,所以无法分片,最大负载长度64KB,受制ip报文限制,数据最大负载为64KB-20(ip)-8(udp)

   tcp:目前来看,tcp的最大负载限制应该是其分片序号,2^32*mss,如果按MSS=1460来算,接近6TB,但这绝不可能,毕竟还有重传等操作,不过我觉得可以认为tcp的最大负载很大。(—_—)

 

以上是关于tcp,udp报文最大长度的主要内容,如果未能解决你的问题,请参考以下文章

DNS用的是TCP协议还是UDP协议

UDP数据报的最小长度是多少 UDP数据报的

一个TCP报文段的数据部分最多为多少字节,为啥

UDP与TCP报文格式,字段意义

UDP与TCP报文格式,字段意义

TCP UDP