<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>TCP on Tequila's 学习笔记</title><link>https://latnx.github.io/docs/notes/d-205f3859abe469be/d-714a093a918862cb/d-2fdc6c0f227a3020/d-d4c33ab96f18c337/</link><description>Recent content in TCP on Tequila's 学习笔记</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><copyright>© 2026 Tequila</copyright><atom:link href="https://latnx.github.io/docs/notes/d-205f3859abe469be/d-714a093a918862cb/d-2fdc6c0f227a3020/d-d4c33ab96f18c337/index.xml" rel="self" type="application/rss+xml"/><item><title>ICMP</title><link>https://latnx.github.io/docs/notes/d-205f3859abe469be/d-714a093a918862cb/d-2fdc6c0f227a3020/d-d4c33ab96f18c337/n-3fa3994ef49dbee0/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://latnx.github.io/docs/notes/d-205f3859abe469be/d-714a093a918862cb/d-2fdc6c0f227a3020/d-d4c33ab96f18c337/n-3fa3994ef49dbee0/</guid><description/></item><item><title>TCP</title><link>https://latnx.github.io/docs/notes/d-205f3859abe469be/d-714a093a918862cb/d-2fdc6c0f227a3020/d-d4c33ab96f18c337/n-0de08a1cc00a6475/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://latnx.github.io/docs/notes/d-205f3859abe469be/d-714a093a918862cb/d-2fdc6c0f227a3020/d-d4c33ab96f18c337/n-0de08a1cc00a6475/</guid><description>TCP 是一个工作在传输层的可靠数据传输服务 TCP 是面向连接的，可靠的，基于字节流的传输层通信协议 面向连接：一对一 字节流：分组，有序 TCP 连接：用于保证可靠性和流量控制维护的某些状态信息，Socket，序列号，窗口大小
三次握手 # 三次握手的原因：
防止历史SYN建立连接 同步序列号 避免资源浪费 初始序列号随机：计时器+哈希 IP分片+MSS：便于重传
第一次握手丢失：客户端超时重传，1 2 4 8 16 32 第二次握手丢失：客户端超时重传，服务器超时重传 第三次握手丢失：服务器超时重传
四次挥手 # 四次挥手的原因： ACK和FIN分开发送
close()关闭连接超时自动关闭，shutdown()关闭连接
第一次挥手丢失：客户端超时重传 第二次挥手丢失：客户端超时重传 第三次挥手丢失：客户端自动关闭，服务器超时重传 第四次挥手丢失：服务器超时重传，客户端开启2MSL计时器
TIME_WAIT:
防止历史连接中的数据，被后面相同四元组的连接错误接收：2MSL足以让两个方向上数据包都被丢弃，使得原来连接的数据包在网络中都自然消失，再出现的数据包一定都是新建立的连接所产生的。 保证被动关闭连接的一方能够正确的关闭。</description></item><item><title>TCP 机制</title><link>https://latnx.github.io/docs/notes/d-205f3859abe469be/d-714a093a918862cb/d-2fdc6c0f227a3020/d-d4c33ab96f18c337/n-bdd083691693ef88/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://latnx.github.io/docs/notes/d-205f3859abe469be/d-714a093a918862cb/d-2fdc6c0f227a3020/d-d4c33ab96f18c337/n-bdd083691693ef88/</guid><description>重传机制 # 超时重传 # 超时重传RTO应略大于RTT 超时间隔加倍
快重传 # 收到三个相同的ACK
SACK # 选择性确认 D-SACK # 重复确认 ACK &amp;gt; SACK
滑动窗口 # 流量控制 # 接收方控制接收窗口大小 发送方：零窗口计时器超时，零窗口探测报文段 小报文传输：Nagle，延迟确认
拥塞控制 # 拥塞窗口（cwnd） 慢启动：当发送方收到一个ack，cwnd+1（指数增加） 拥塞避免：cwnd &amp;gt;= ssthresh，每次收到一个ACK，cwnd+=1/cwnd（线性增加） 重传发生：
超时重传：满开始门限 = cwnd/2，cwnd = 1 快重传：接收到三个ACK就重传
快恢复： ssthresh = cwnd/2 cwnd = ssthresh+3
ssthresh = cwnd/2 cwnd = ssthresh+3</description></item></channel></rss>