TCP 的数据报大小限制
source link: https://liqiang.io/post/tcp-data-frame-size-limit?lang=ZH_CN
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
All Posts
TCP 的数据报大小限制
@SOLUTION· 2021-08-31 23:06 · 2 min read
对于 TCP 我们都非常熟悉了,三次握手,可靠传输这些名词都是了然于胸的,但是,有一些其他的事情也很有趣,例如你知道一个 TCP send 的大小限制是多少吗?
我们不妨回顾一下 TCP 的发送过程,首先是应用层调用一个 send
将数据从用户态放到内核态,这中间过程比较复杂,但是可以不表,然后再由内核态交给硬件 - 网卡,然后再发送出去。我们其实也很清楚,这中间每一层都有分段的概念,例如 TCP 会分段,IP 会分片。
- TCP 会分段是因为拥塞控制和流量控制
- IP 会分片是因为网络的 MTU(Maximum Transmission Unit)
那么假设我用一根网线直接将两台 PC 直连,那一个大的 TCP 包也会分段吗?如果不一定,那么最大可以发送的 TCP 包是多大?
从链路层开始推断起吧,MTU 一般都不会超过,常见的数值应该是 1500,所以 IP 层以及之上再大到这里也是会被分开;假设忽略这个,再来就是 IP 层了,IP 层的最大大小是 65535,去掉 20 byte 的头部,那就是 65515 bytes 了,这里可以不分片,再来就是 TCP 了,最短 20,然后就剩下 65515-20,那就是 65495 bytes 了,这就是可承载的最大报文数据段了。
- 理论上最大的 TCP 有效最大数据长度是:65495(瓶颈:IP 分片长度)
- 实际上最大的 TCP 有效最大数据长度是:1460(1500-20-20,瓶颈:MTU)
Recommend
-
17
-
22
题图:from unsplash Redis虽然可以实现持久化存储,也是基于数据内存模型的基础之上,单机内存大小限制着Redis存储的数据量,有没有...
-
14
dotnet C# 图片等比限制最大和最小大小缩放算法本文只是告诉大家如何计算缩放之后的宽度和高度,不包含实际的图片缩放方法 如下图,我要将图片的大小进行等比缩放,此时我要求图片的宽度和高度大于最小尺寸,但是要求宽度和高度都不大于最大尺...
-
11
C# Socket tcp 发送数据大小问题 TCP/IP是可靠性传输协议,它能...
-
6
TCP接收缓存大小的动态调整 2015-03-23 13:53:00 http://blog.csdn.net/zhangskd/article/details/8200048 TCP中有拥塞控制,也有流...
-
8
WordPress上传文件大小限制修改 最后更新 : 2020.01.30 WordPress上传媒体文件默认大小限制是2M...
-
8
sword群晖修改Cloud Sync上传OneDrive单文件15GB大小限制前言Cloud Sync可以使群晖轻松连接到公共云服务,如百度云、Dropbox、Google Cloud Sto...扫描右侧二维码阅读全文282021/06...
-
3
emptyDir支持三种类型的,通过设置 medium 字段 : 文件:默认情况 Memory:占用内存资源 HugePages sizeLimit默认行为 同时支持通过sizeLimit设置限制的大小,但是这个大小默认情况下(
-
3
V2EX › Linux Linux 是否能给目录设置配额,来限制目录大小? greatbll · 18 小时 12 分钟前...
-
3
利用划分子集限制连接池的大小(1) 版权声明 本站原创文章 由 萌叔 发表 转载请注明 萌叔 | http://vearne.cc 我们的RCP系统中的每个客户端都会针对...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK