7、TCP/IP 协议

2026-07-16wei👁 3 阅读3 分钟阅读📝 1379 字💬 0 评论
7、TCP/IP 协议

7. TCP/IP协议

TCP/IP协议是互联网最基础、核心的互联协议体系,核心由网络层IP协议与传输层TCP协议共同构成。
简单区分两者职责:

  • TCP:负责保障数据可靠传输,传输出错则通知重传,直至数据完整、准确送达目标主机;
  • IP:为全网每一台联网设备分配唯一地址,实现跨主机寻址。

7.1 IP协议基础特性

  1. 数据包流转逻辑
    IP层接收下层(网络接口层,如以太网驱动)上传数据包,向上交付TCP/UDP;同时接收TCP/UDP下发的数据,向下交付底层链路发送。
  2. 传输可靠性
    IP本身是无连接、不可靠协议,不校验数据包顺序、数据完整性,不做重传处理。
  3. 核心标识
    每个IP数据包携带源IP地址、目的IP地址,用于寻址转发。

7.2 TCP协议基础特性

TCP是面向连接的传输协议,仅支持端到端通信,传输前后必须完成连接建立与连接断开流程,提供可靠数据流服务。

  1. 可靠传输机制:带重传的肯定确认机制,丢包自动重传;
  2. 流量控制:滑动窗口机制,根据接收方接收能力限制发送速率,避免拥塞;
  3. 报文标志字段说明

  • seq:sequence,序列号
  • ack:acknowledge,确认号
  • SYN:synchronize,同步建立连接标志
  • ACK:acknowledge,确认应答标志
  • FIN:Finally,结束断开连接标志

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

  1. 客户端发送携带SYN标志的连接请求报文;
  2. 服务端收到请求,回复SYN+ACK报文,同时为该连接分配系统资源;
  3. 客户端收到应答,回复ACK报文并分配资源,双向连接正式建立。

7.2.2 TCP四次挥手(连接断开,客户端主动关闭为例)

  1. 客户端发送FIN报文,表示自身不再发送数据;
  2. 服务端返回ACK确认报文,告知客户端关闭请求已收到,服务端若还有剩余数据可继续发送;客户端进入FIN_WAIT等待状态;
  3. 服务端全部数据发送完毕后,发送FIN报文告知客户端本方传输完成;
  4. 客户端收到FIN,回复ACK确认报文,进入TIME_WAIT状态等待2MSL时长;服务端收到ACK后直接关闭连接;客户端等待超时无重传报文,确认服务端已断开,本地连接关闭。

7.2.3 关键原理问答

(1)建立连接为什么需要三次握手?

若仅两次握手会存在隐患:客户端旧的、阻塞延迟的连接请求报文到达服务端,服务端会单独建立闲置连接并持续占用资源。三次握手可让客户端校验服务端同步报文,拒绝过期无效连接,避免服务器资源浪费。

(2)断开连接为什么需要四次挥手?

TCP连接为双向读写通道,客户端停止发送数据不代表服务端无数据下发。
需要分两步断开两个方向通道:客户端告知不再发数据、服务端确认;服务端发完剩余数据后告知客户端,客户端再确认关闭,保证双方数据全部传输完成再释放连接。

7.2.4 基于TCP的上层应用协议

  • FTP:文件传输协议
  • Telnet:远程登录协议
  • SMTP:邮件发送协议
  • POP3:邮件接收协议
  • HTTP:超文本传输协议
wei
技术博客作者
1379 字 · 0 评论
2026-07-16

评论 (0)

暂无评论,来写第一条吧

登录后发表评论

分类

友链

关于本站

用 SpringBoot + Nuxt3 搭建的个人技术博客,记录编程之路的思考与收获。

© 2026 好啵博客 · Built with ❤️ & SpringBoot + Nuxt3