TCP连接的三次握手和四次挥手

这段时间,有在做网络方面的日志收集工作,所以就再次拿起了http相关的知识,其中就有TCP连接的三次握手和四次挥手,为了加深了解,随记录下来。

HTTP:

要说TCP连接,可能不熟悉,但说起http,应该都有所了解,http是一种建立在TCP连接基础上的通信协议,要做一次http请求,首先就是要建立TCP连接,TCP连接是全双工通道,然后在通道上交互满足http协议的数据,数据交互完成关闭TCP连接,这其中,数据的交互都是建立在TCP通道上的,那么TCP通道是如何建立以及关闭的呢,这就要说到TCP连接的三次握手和四次挥手了。

TCP连接的三次握手:

要建立一条全双工的数据通道,首先确认通道双方的数据收发能力是必须的,而三次握手,做的正是这个校验的操作,这里以一个简单的图文描述下:

第一次握手由客户端向服务端发起连接请求,服务端收到客户的请求,确认了客户端的消息发送是没有问题的。

第二次握手由服务端向客户端发送可以建立连接的确认消息,客户端收到后,即可确认服务端的收发都是正常的。

第三次握手由客户端向服务端发送确认消息,服务端收到后,即确认了客户端的接收能力是正常的,至此可以愉快的开始交流了。

TCP连接的四次挥手:

数据交互完毕,自然是要关闭通道,节省资源的,但关闭通道的前提是双方都要确认对方已经没有数据要发送了,所以就有了四次挥手的操作,同样,以图文描述(由于通道关闭可以是任何一方发起,这里把连接的两端都看成客户端):

第一次挥手由客户端1通知客户端2,己方已经没有消息要发送给客户端2了;

第二次挥手由客户端2通知客户端1,已收到通知;

第三次挥手由客户端2通知客户端1,己方已经没有消息要发送给客户端1了;

第四次挥手由客户端1通知客户端2,已收到通知;

至此:客户端1、2都已经确认双方不会再发送消息,随关闭通道。

总结:

1、从三次握手和四次挥手来看,他们都是为了保证通道建立和断开的可靠及安全性,缺少任何一次,都会导致双方无法确认对方的状态,无法正确的开启和关闭连接;

2、四次挥手为什么不把第二次和第三次合并成一次,因为第二次是响应第一次挥手,第三次是客户端2通知客户端1,己方已经没有消息发送了,但是在第二次挥手和第三次挥手中间,客户端2还是可以向客户端1发送数据的,所以第二次和第三次无法合并。

 

 如果喜欢我的文章就关注我吧!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值