夯实基础之TCP 建连的初始化序列号
摘要:TCP建连连接,初始化序列号 为什么TCP每次建连连接,初始序列号都不一样? 主要原因是为了防止历史报文被下一个相同四元组的连接结束
阅读全文
posted @
2023-01-09 17:30
每天进步一点点点点点
阅读(35)
推荐(0)
MTU和MSS的作用
摘要:MTU:一个网络包的最大长度,以太网中一般为 1500 字节; MSS:除去 IP 和 TCP 头部之后,一个网络包所能容纳的 TCP 数据的最大长度。 如果在 TCP 的整个报文(头部 + 数据)交给 IP 层进行分片,会有什么异常呢? 当 IP 层有一个超过 MTU 大小的数据(TCP 头部 +
阅读全文
posted @
2022-12-17 11:09
每天进步一点点点点点
阅读(370)
推荐(0)
夯实基础之tcp Keepalive和 http Keep-Alive
摘要:HTTP 的 Keep-Alive,是由应用层(用户态) 实现的,称为 HTTP 长连接; TCP 的 Keepalive,是由 TCP 层(内核态) 实现的,称为 TCP 保活机制; http keep-alive HTTP 协议采用的是「请求-应答」的模式,也就是客户端发起了请求,服务端才会返回
阅读全文
posted @
2022-10-01 21:01
每天进步一点点点点点
阅读(107)
推荐(0)
夯实基础之tcp优化传输数据性能
摘要:tcp传输数据性能提升 在前面介绍的是三次握手和四次挥手的优化策略,接下来主要介绍的是 TCP 传输数据时的优化策略。 TCP 连接是由内核维护的,内核会为每个连接建立内存缓冲区: 如果连接的内存配置过小,就无法充分使用网络带宽,TCP 传输效率就会降低; 如果连接的内存配置过大,很容易把服务器资源
阅读全文
posted @
2022-09-29 17:09
每天进步一点点点点点
阅读(545)
推荐(0)
夯实基础之tcp优化四次挥手性能
摘要:TCP 四次挥手的性能提升 接下来,我们一起看看针对 TCP 四次挥手关闭连接时,如何优化性能。 在开始之前,我们得先了解四次挥手状态变迁的过程。 客户端和服务端双方都可以主动断开连接,通常先关闭连接的一方称为主动方,后关闭连接的一方称为被动方。 四次挥手过程只涉及了两种报文,分别是 FIN 和 A
阅读全文
posted @
2022-09-29 11:42
每天进步一点点点点点
阅读(203)
推荐(0)
夯实基础之tcp优化三次握手性能
摘要:优化tcp三次握手性能 三次握手的过程在一个 HTTP 请求的平均时间占比 10% 以上,在网络状态不佳、高并发或者遭遇 SYN 攻击等场景中,如果不能有效正确的调节三次握手中的参数,就会对性能产生很多的影响。 如何正确有效的使用这些参数,来提高 TCP 三次握手的性能,这就需要理解「三次握手的状态
阅读全文
posted @
2022-09-27 16:48
每天进步一点点点点点
阅读(203)
推荐(0)
夯实基础之tcp半连接和全连接队列
摘要:什么是tcp半连接和全连接队列 在 TCP 三次握手的时候,Linux 内核会维护两个队列,分别是: 半连接队列,也称 SYN 队列; 全连接队列,也称 accept 队列; 服务端收到客户端发起的 SYN 请求后,内核会把该连接存储到半连接队列,并向客户端响应 SYN+ACK,接着客户端会返回 A
阅读全文
posted @
2022-09-26 17:30
每天进步一点点点点点
阅读(192)
推荐(0)
夯实基础之tcp重传内核参数
摘要:第一次握手超时重传参数 第一次握手client发送SYN包时,超时重传参数 #重传次数默认值 $ cat /proc/sys/net/ipv4/tcp_syn_retries 5 #调整重传次数 $ echo 2 > /proc/sys/net/ipv4/tcp_syn_retries 第二次握手超
阅读全文
posted @
2022-09-25 11:50
每天进步一点点点点点
阅读(418)
推荐(0)
夯实基础之tcp 滑动窗口
摘要:滑动窗口 引入窗口概念的原因 我们都知道 TCP 是每发送一个数据,都要进行一次确认应答。当上一个数据包收到了应答了, 再发送下一个。 这个模式就有点像我和你面对面聊天,你一句我一句。但这种方式的缺点是效率比较低的。 如果你说完一句话,我在处理其他事情,没有及时回复你,那你不是要干等着我做完其他事情
阅读全文
posted @
2022-09-23 14:33
每天进步一点点点点点
阅读(135)
推荐(0)
夯实基础之tcp 重传
摘要:tcp实现可靠传输是通过序列号,确认应答,重发控制,连接管理及窗口控制等机制实现。 tcp 重传机制 超时重传 重传机制的其中一个方式,就是在发送数据时,设定一个定时器,当超过指定的时间后,没有接收到对方的ACK确认应答报文,就会重发该数据,也就是我们常常说的超时重传。 TCP会在以下两种情况发生超
阅读全文
posted @
2022-09-23 14:12
每天进步一点点点点点
阅读(211)
推荐(0)