TCP中的三次握手和四次挥手

三次握手:建立客户端和服务器的通信连接

三次握手示意图如下

在这里插入图片描述

解释三次握手的必要性:

三次握手是为了建立TCP的可靠通信,确保客户端(Client)和服务器(Server)都可以正常接收和发送.
第一次握手客户端向服务器发送SYN(同步会话),就是说客户端要想服务器建立连接。这样做就让Server知道,Client的发送是正常的。
第二次握手是服务器向客户端发送SYN/ACK,ACK是确认信息,这样Client就知道Server的接收和发送是没问题的,自己的接收和发送也是没问题的。
第三次握手是客户端向服务器发送ACK,这样Server就知道自己的发送和接收没问题,对方的发送和接收也没问题,可以正常通信。

为什么有SYN还需要ACK?

因为SYN只能知道发送端到接收端是正常的,而ACK用于检测接收端到发送端是否可以正常通信。

四次挥手:用于断开TCP连接

示意图如下

在这里插入图片描述

四次握手的解释

可以通俗理解为,客户端告诉服务器:我要关闭了,然后服务器告诉客户端:我知道了,但是这里客户端是处于半关闭的,他还要等待服务器发送关闭请求,然后服务器发送关闭请求:我也要关闭了,客户端说:我知道了,最后才能真正关闭。
这里的FIN就是关闭信息,而ACK依然是确认信息。

注意:

客户端在收到服务器确认信息后,必须等待两个报文寿命(大概两分钟),等待服务器发送断开连接的请求,不然服务器无法关闭。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值