计算机网络之---TCP连接管理

TCP连接管理

TCP(传输控制协议)是面向连接的协议,在数据传输之前需要建立连接,在数据传输完成后需要断开连接。TCP连接的建立和断开都遵循特定的规则,分别称为三次握手 (Three-Way Handshake)和四次挥手(Four-Way Handshake)。它们确保双方能够可靠地建立和关闭连接。

三次握手(TCP连接的建立)

三次握手是为了在客户端和服务器之间建立可靠的TCP连接。这个过程确保双方都能发送和接收数据,并且双方的缓冲区准备好接收数据。

三次握手的过程:
  1. 第一次握手:客户端发送SYN包(同步标志位),告诉服务器客户端请求建立连接。

    • 客户端 -> 服务器:SYN = 1, seq = X(X为随机生成的序列号)

    这一步表示客户端请求连接,并初始化一个序列号X。

  2. 第二次握手:服务器收到SYN包后,向客户端发送SYN-ACK包,表示愿意建立连接,并且确认收到客户端的请求。

    • 服务器 -> 客户端:SYN = 1, ACK = 1, seq = Y(服务器随机生成的序列号), ack = X + 1(确认号,表示服务器已收到客户端的SYN包)

    服务器会发送一个SYN包来表示自己准备好了,同时确认客户端的SYN包。

  3. 第三次握手:客户端收到服务器的SYN-ACK包后,向服务器发送ACK包,确认收到服务器的响应,并且连接建立。

    • 客户端 -> 服务器:ACK = 1, seq = X + 1, ack = Y + 1

    客户端向服务器确认自己的序列号,并最终完成连接建立。

至此,客户端和服务器之间的连接建立完成,可以开始数据传输。

四次挥手(TCP连接的断开)

四次挥手是为了安全地断开TCP连接,确保双方的通信都已结束。这个过程确保数据能够完全传输,并且双方都能正常关闭连接。

四次挥手的过程:
  1. 第一次挥手:客户端发送FIN包,表示它已经完成数据的发送请求,准备关闭连接。

    • 客户端 -> 服务器:FIN = 1, seq = A

    客户端告诉服务器自己已经没有数据发送了,要求关闭连接。

  2. 第二次挥手:服务器收到FIN包后,发送ACK包,确认客户端的关闭请求,并且自己仍然可以继续接收数据。

    • 服务器 -> 客户端:ACK = 1, seq = B, ack = A + 1

    服务器确认客户端的连接关闭请求,并且告知客户端自己准备好关闭连接。

  3. 第三次挥手:服务器发送FIN包,表示它已经完成数据的发送,也准备关闭连接。

    • 服务器 -> 客户端:FIN = 1, seq = C

    服务器告诉客户端自己已经没有数据发送了,准备关闭连接。

  4. 第四次挥手:客户端收到服务器的FIN包后,发送ACK包,确认收到服务器的关闭请求,完成连接的断开。

    • 客户端 -> 服务器:ACK = 1, seq = A + 1, ack = C + 1

    客户端确认服务器的关闭请求,最后断开连接。

至此,双方的连接关闭完成。

三次握手和四次挥手的区别

  1. 三次握手用于连接的建立,四次挥手用于连接的断开。
  2. 三次握手 是为了确保客户端和服务器都准备好开始数据传输,而四次挥手是为了确保数据传输完毕并且双方都关闭连接。
  3. 在三次握手过程中,连接的状态是全双工的,双方可以发送数据。而在四次挥手过程中,虽然双方在不同的时间关闭连接,但都确保了数据可以可靠地传输完毕。

四次挥手什么时候断开

  • 如果使用 HTTP/1.1HTTP/2 ,且启用了长连接(默认情况下启用),则 TCP 连接 只会建立一次。它只会在第一次请求时建立一次,后续请求会复用该连接,直到超时或主动关闭连接。
  • 如果使用 HTTP/1.0 且没有启用长连接,则每次请求会建立一个新的 TCP 连接。
相关推荐
Fanmeang2 小时前
异世界网络:BGP联邦的建立
网络
M158227690552 小时前
工业互联利器!EtherNet/IP 转 ModbusTCP 网关,让跨协议通信零门槛
服务器·网络·tcp/ip
阿巴~阿巴~2 小时前
基于UDP协议的英汉翻译服务系统:从网络通信到字典查询的完整机制
linux·服务器·网络·网络协议·udp协议·套接字绑定·英汉翻译服务系统
阿巴~阿巴~2 小时前
简易回声服务器实现与网络测试指南
linux·服务器·网络·udp协议·网络测试·udp套接字编程
star_start_sky2 小时前
住宅代理网络:我最近用来数据采集和自动化的小工具
网络·爬虫·自动化
科技智驱3 小时前
误分区数据恢复:3种方法,按需选择更高效
网络·电脑·数据恢复
another heaven3 小时前
【计算机网络 HTTP 请求参数规范详解】
网络协议·计算机网络·http
云边云科技5345 小时前
云边云科技SD-WAN解决方案 — 构建安全、高效、智能的云网基石
网络·科技·安全·架构·it·sdwan
慧慧吖@5 小时前
sse,短轮询,长轮询,webSocket
网络·websocket·网络协议
在路上看风景6 小时前
5.2 自治系统内部的路由选择
网络