对TCP三次握手,四次挥手的理解

在计算机网络课上专门学过三次握手和四次挥手的意义,有点淡忘了,特地去复习了一些,在这里做一些记录。

三次握手的话,在网上看到一组很有意思的图片,在这里放一下,

 


 

总的来说,三次握手还是为了应对复杂的网络环境,为了做到通畅的连接和不浪费网络资源。

三次握手:

1、客户需要连接服务器,先发出一次请求告诉服务器,想要连接

2、服务器接收到请求,同意连接,告诉客户端同意,并发回同意的响应

3、客户端再对服务器的同意的响应进行响应,正式正式开始连接

如果说编程两次握手会出现什么样的错误,

1、客户端想要连接服务器,对服务器发起请求

2、服务器同意连接,并发回同意的响应

如果这个时候,没有三次握手,服务器同意的响应在网络上丢包了,客户端会认为服务器拒绝了请求,而服务器则一直在等待客户端发来的数据。

 再谈谈四次挥手,服务器和客户端双方都可以提出断开连接。为什么是四次挥手,首先是因为TCP连接是全双工的,什么是全双工,大概就是,客户端和服务器双方可以同时进行数据传输。

四次挥手:

1、当客户端想要断开连接时,首先发出断开连接的请求

2、服务器在受到客户端发来的请求时,首先断开自己的读连接,并给客户端一个反馈,客户端受到并关闭自己的写通道。

3、服务器在发送一条确认,客户端在收到后关闭自己的读通道,并给出一个返回

4、服务器在受到后关闭自己的写通道

 其实自己也是第一次接触读通道、写通道这种说法,这样子我觉得可能更加的细节一点,因为这样,四次握手少一次都会少关闭一个通道,但实际中不太清楚是不是还分读通道和写通道。

另外一种就是我们上课学习的一种

 原来看到一个很好的例子可以解释上图中为什么是四次挥手而不是三次,这个例子一下子记不太清,等想起来了再补充到这里。

猜你喜欢

转载自peter-hang.iteye.com/blog/2406183