TCP建立三次握手和四次挥手

本文详细解析了TCP协议的三次握手建立连接及四次挥手断开连接的工作原理。介绍了TCP如何通过同步序列号(SYN)和确认号(ACK)确保数据传输的可靠性,以及如何使用FIN标志位来优雅地关闭连接。此外,还探讨了TCP的窗口滑动机制,即自适应缓冲区大小,确保数据高效传输。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述
看tcp三次握手工作原理,如图所示。主机A想要与主机B进行TCP通信,首先他需要向B发送一个syn同步序列编号syncsynchronized squsequence number用来标记保持同步,到这里第一次握手就结束了。第二次握手开始,主机B向A发送一个syn同步序列号和ack确认号确认号为A主机发送的syn号+1,到这里第二次握手结束。第三次握手开始主机A向主机B发送ack确认码为主机B的syn号+1,到此为止三次握手结束进入ESTABLISHED状态,开始进行数据传输。
在这里插入图片描述
主机A想要向主机B结束tcp长连接,第一次挥手发送fin请求,第一次挥手结束。第二次挥手开始,主机B向主机A发送ack确认码,为fin号+1到这里第二次挥手结束。第三次握手开始主机B向A发送fin号结束。第四次挥手开始主机A向B发送ack号为fin+1,这时tcp连接结束。

TCP连接同样具备缓存机制,这里叫缓冲。当A向B发送的报文超过B的win_Size时,溢出的数据包将被废弃,此时B需要向A返回一个接收到最新的数据包序列号的ack,A收到后将会从ack起始位置开始传输,此时传输数量就是B的ack号减去已经发包数量,这也就是B的缓冲区所能容纳的数据包的大小。这就是tcp中的窗口滑动机制,通俗的说就是自适应缓冲区大小。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值