关于TCP三次握手,四次断开的理解

    在计算机网络中,TCP(传输控制协议)的三次握手和四次断开规则是确保数据可靠传输的重要机制。下面是详细解释:

TCP协议三次握手的方式建立连接

1.第一次握手(SYN):客户端向服务器发送SYN报文,请求建立连接。该报文包含客户端选择的初始序列号(ISN);
2. 第二次握手(SYN+ACK):服务器收到SYN报文后,向客户端发送SYN+ACK报文,表示同意建立连接。该报文同时也包含服务器选择的初始序列号(ISN);
3. 第三次握手(ACK):客户端收到SYN+ACK报文后,向服务器发送ACK报文,表示确认建立连接。该报文的序列号为服务器的ISN+1,确认号为服务器的序列号+1。

以上就是 TCP 三次握手的全过程。需要注意的是,三次握手是建立可靠连接的基础,其目的是确认双方的发送和接收能力正常。在握手过程中,客户端和服务器都需要发送和接收三个报文,因此整个握手过程需要6个数据包。

TCP协议四次断开的方式关闭连接

1.第一次断开(FIN):客户端向服务器发送FIN 报文,表示客户端不再发送数据,但仍可以接收数据;
2. 第二次断开(ACK):服务器收到 FIN报文后,向客户端发送 ACK报文,确认收到 FIN 报文;
3. 第三次断开(FIN):服务器向客户端发送FIN报文,表示服务器不再发送数据;
4. 第四次断开(ACK):客户端收到 FIN报文后,向服务器发送 ACK报文,确认收到 FIN报文。

以上就是 TCP四次断开的全过程。需要注意的是,断开过程中,客户端和服务器都需要发送和接收四个报文,因此整个断开过程需要8个数据包。在断开过程中,客户端和服务器分别表示自己不再发送数据,但仍可以接收数据,以避免可能的数据丢失。最后,客户端和服务器都确认对方已经释放连接,关闭连接。

ACK: Acknowledgment,确认收到

SYN: Synchronize,开始连接

FIN:Finish,结束连接

下面是我的个人理解:

三次握手:

1. 在吗 (SYN):A向B发送建立连接的请求
2.  ? (SYN +ACK):B确认收到了 A的请求,并向A发送同意建立连接的信号
3. 跟你说件事(ACK):A收到B的确认后,再次发送确认信息,此时已经建立连接可以开始数据传输

四次断开:

1. 不聊了(FIN):A告诉B它要关闭连接
2. 好吧(ACK):B收到A的结束连接请求,发送确认
3. 拜拜(FIN):B告诉A它也要关闭连接
4. 拜拜(ACK):A收到B的结束请求后,发送确认,断开连接

在三次握手和四次断开的时候,发送方为了确保不丢包会有一个计时器。如果在预定时间内未收到对方的ACK,就会假设丢包了且重新发送。好像我们发“在吗”,如果对方很久都不回复,可能会假设对方没看见,再发一次“在吗”。

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值