Administrator
Published on 2025-03-11 / 2 Visits
10
0

什么是 TCP 连接

TCP连接是一种可靠的、面向连接的通信机制,用于在网络上两台设备之间有序且无差错地传输数据。以下是其核心要点:


1. 连接建立:三次握手

  • 步骤
    1. SYN:客户端发送带有SYN(同步)标志的数据包,包含初始序列号。
    2. SYN-ACK:服务器响应SYN-ACK(同步-确认),包含自己的初始序列号和对客户端序列号的确认。
    3. ACK:客户端发送ACK确认服务器的序列号,连接建立完成。
  • 作用:同步双方的初始序列号,确保双方具备收发能力,防止历史连接问题。

2. 连接标识

TCP连接由四元组唯一标识:

  • 源IP地址源端口
  • 目标IP地址目标端口

3. 关键特性

  • 可靠性
    • 序列号与确认号:确保数据按顺序到达,丢失或错误的数据包会重传。
    • 重传机制:超时或快速重传(如收到3次重复ACK)触发重发。
  • 流量控制:通过滑动窗口动态调整发送速率,防止接收方缓冲区溢出。
  • 拥塞控制:慢启动、拥塞避免等算法,根据网络状况调整发送速率。

4. 连接终止:四次挥手

  • 步骤
    1. FIN:一方发送FIN(终止)标志,表示不再发送数据。
    2. ACK:另一方确认FIN,但可能继续发送未完成的数据。
    3. FIN:另一方发送自己的FIN,表示准备关闭。
    4. ACK:最后一方的确认,连接完全关闭。
  • 原因:全双工通信需独立关闭两个方向的传输。

5. 与UDP的区别

  • TCP:面向连接、可靠、有序传输,适合文件传输、网页浏览等场景。
  • UDP:无连接、不可靠、低延迟,适合视频流、实时游戏等。

6. 状态管理

  • 建立阶段:SYN_SENTSYN_RECEIVEDESTABLISHED
  • 终止阶段:FIN_WAITCLOSE_WAITLAST_ACKTIME_WAIT

总结:TCP连接通过三次握手建立可靠通道,利用序列号、确认应答、重传等机制确保数据传输的完整性和顺序性,并通过四次挥手优雅终止连接。其设计平衡了可靠性与效率,是互联网通信的基石。


Comment