1. 传输层协议概述
传输层作为计算机网络体系结构中的关键层级,承担着端到端通信的重要职责。如果把网络通信比作城市间的货物运输,那么传输层就相当于物流公司的调度中心,负责决定采用哪种运输方式(快递/货运)、如何确保货物完整送达、以及如何处理运输过程中的异常情况。
在实际网络通信中,传输层主要有两大核心协议:TCP(传输控制协议)和UDP(用户数据报协议)。这两个协议就像物流行业中的两种典型服务模式——TCP如同顺丰快递,提供可靠、有序的交付服务;UDP则像普通邮政包裹,追求快速投递但不对送达结果做严格保证。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. TCP协议深度解析
2.1 TCP的核心特性
TCP协议的设计哲学可以概括为"可靠传输至上"。其核心机制包括:
-
连接导向:通信前需通过三次握手建立连接,就像拨打电话时需要先确认对方接听。典型握手过程:
code复制
客户端 → SYN → 服务端 客户端 ← SYN+ACK ← 服务端 客户端 → ACK → 服务端 -
数据完整性保障:
- 序列号机制:每个字节都有唯一编号
- 确认应答(ACK):接收方必须确认收到的数据
- 超时重传:未收到ACK时自动重发
- 校验和:检测数据传输中的错误
-
流量控制:通过滑动窗口机制动态调整发送速率,避免接收方缓冲区溢出。窗口大小计算公式:
code复制可用窗口 = 接收窗口 - (最后发送字节 - 最后确认字节) -
拥塞控制:包含慢启动、拥塞避免、快速重传和快速恢复四个阶段,通过拥塞窗口(cwnd)动态调整发送速率。
2.2 TCP头部结构详解
一个标准的TCP头部通常包含以下关键字段(以20字节基础头部为例):
| 字段名 | 位数 | 作用说明 |
|---|---|---|
| 源端口 | 16 | 发送方应用程序端口号 |
| 目的端口 | 16 | 接收方应用程序端口号 |
| 序列号 | 32 | 当前报文段第一 |
