简述TCP协议的三次握手和四次挥手机制

TCP的三次握手

TCP协议是传输层的一个面向连接的安全可靠的一个传输协议,三次握手是为了保证能够建立一个安全可靠的连接。
第一次握手是由客户端发起的,客户端会向服务端发送一个报文,在报文里面:SYN位置1,表示发起新的连接。当服务端接收到这个报文后,就知道客户端要和我建立一个新的连接,于是服务端就向客户端发送一个确认消息包,在这个消息包里面,ACK位置1,表示确认客户端发起的第一次连接请求。
以上两次握手后,对于客户端来说,已经明确了我既能给服务端成功发送消息,又能成功收到服务端的响应。但是,对于服务端而言,两次握手是不够的,因为到目前为止,服务端只知道一件事,客户端发送给我的消息我能收到,而我响应给客户端的消息,客户端能不能收到我是不知道的。
所以,还需要进行第三次握手,第三次握手是当客户端收到服务端发送的确认响应报文之后,还要继续去给服务端进行回应,也是一个ACK置1的确认消息。通过以上三次连接,不管客户端还是服务端,都知道自己既能给对方发送消息,也能收到对方的响应,所以,这个连接就被安全地建立了。

TCP的四次挥手

首先,客户端发送一个报文,在报文里面FIN位置1,当服务端收到这个报文后,就知道客户端要和我断开连接了。但是,此时服务端不一定能够做好准备,因为客户端发起断开连接这个消息的时候,对于服务端而言,他可能还有未发送完的消息,还要继续发送。所以,此时对于服务端而言,只能进行一个消息确认,告诉客户端,我知道你要给我断开连接了,但是我这边还可能没有做好准备,你需要等我一下,等会我准备好了就告诉你。
当服务端发送完这个消息确认包之后,稍过片刻之后它就会继续给客户端发送一个断开连接的报文,也是一个FIN位置1的报文,表示服务端已经做好了断开连接的准备,那么当这个报文发送到客户端的时候,客户端同样要给服务端继续发送一个消息确认的报文。
通过这四次的相互沟通和连接,客户端和服务端都做好了断开连接的准备,并且都知道对方也能够断开连接。因此,连接就可以断开了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值