TCP 的三次握手和四次挥手
TCP : 传输控制协议,是一种可靠的面向连接的协议,对应的还有 UDP 协议
UDP:客户数据报协议,是一种面向无连接的协议。
面向连接?
这里的连接可以了解为:传输的双方(用户端和服务端)能否已经在线,就像我给你打电话,你接到了,这就算连接上了。
TCP 为什么要握手和挥手呢?
为了网络数据传输的安全性,不然数据传给谁都不知道,那不是很危险??
为什么是三次握手四次挥手呢?
由于多了会白费资源啊,三次就够确认连接上了,四次也就够确认关闭连接了。
网上找了两张图(侵权立删):
三次握手
四次挥手
哪三次握手?
第一次握手:用户端向服务端发送 SYN 报文,服务端确认接收了 SYN 报文。
第二次握手:服务端在确认接收了 SYN 报文之后,会返回向用户端发送 SYN 报文和 ACK 确认报文。
第三次握手:用户端接收到 SYN 报文了 ACK 报文 之后双方就建立起了连接,可以好好玩耍了。
哪四次挥手?
第一次挥手:用户端向服务端发送数据,发送完成之后会发送一个 FIN 报文,告诉服务端数据发送完毕。
第二次挥手:服务端接收到 FIN 报文之后,将 ACK 报文返回给用户端,告诉用户端(服务端)已经接收到数据。
第三次挥手:服务端解决完数据之后再发送一个 FIN 报文给用户端,告诉用户端(服务端)已经解决完毕。
第四次挥手:用户端接收到服务端发来的 FIN 报文之后就能确认这次的数据传输完成。可以关闭本次数据传输连接了。
频繁三次握手四次挥手也是耗费资源啊。
所以 HTTP 还有一种 KeepAlive connections 机制。本质就是连接复用,减少连接的重复创立和关闭。
说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » TCP 的三次握手和四次挥手
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » TCP 的三次握手和四次挥手