📚 本文是计算机网络经典教材精读系列第 3 篇,承接第 1 章总体架构、第 2 章应用层原理,继续按照 **"自顶向下"** 脉络,带你进入网络通信的 "心脏"------运输层,彻底搞懂数据如何从应用走向网络、如何实现端到端的可靠传输。
一、运输层的定位:承上启下,端到端的核心
运输层是整个网络体系中最关键、最抽象、也最容易被忽略 的一层。它位于应用层之下、网络层之上 ,是唯一负责端到端数据传输的层次。
- 承上 :为运行在不同主机上的应用进程提供逻辑通信。
- 启下:使用网络层提供的主机到主机服务,不关心路由、链路、物理细节。
- 一句话理解 :应用层决定 "发什么",运输层决定 "怎么发、怎么保证可靠"。
代码类比:运输层 ≈ 快递的分拣、打包、保价、追踪服务;应用层是寄件人,网络层是运输路线。
二、运输层与网络层的区别(必考)
这一章第一个必须搞懂的关键点:运输层 ≠ 网络层。
- 网络层(IP) :负责主机到主机的通信,把数据从源主机送到目标主机。
- 运输层(TCP/UDP) :负责进程到进程的通信,把数据交给主机上正确的程序。
简单比喻:
- 网络层 = 把快递送到你家小区
- 运输层 = 把快递送到你家门口并交到你手里
三、多路复用与多路分解:运输层最基础功能
所有运输层工作的起点,是区分不同应用。
1. 多路复用(发送方)
多个应用进程的数据,通过不同端口交给运输层,打包成报文段,统一交给网络层。
2. 多路分解(接收方)
运输层收到数据后,查看目标端口号,把数据交给正确的应用进程(如浏览器、微信、游戏)。
核心依赖:端口号
- 0~1023:知名端口(HTTP:80、HTTPS:443、DNS:53)
- 1024~49151:注册端口
- 49152~65535:临时端口
没有端口,就没有多应用同时上网。
四、无连接运输:UDP 协议
UDP 是最简单的运输层协议,不建立连接、不保证可靠、只管发。
核心特点
- 无连接:发送前不需要握手
- 不可靠:不保证到达、不保证顺序、不修复丢包
- 开销小、速度快、时延低
- 面向数据报:保留消息边界
典型应用
- DNS 查询
- 视频通话、直播
- 在线游戏
- 实时传输
UDP 报文结构
- 源端口、目的端口
- 长度、校验和结构极简,所以极快。
五、面向连接的可靠运输:TCP 协议(本章重中之重)
TCP 是整个计算机网络中最复杂、最核心、考点最多 的协议。它的目标只有一个:在不可靠的网络上,实现可靠的数据传输。
TCP 三大核心能力
- 面向连接:传输前必须三次握手建立连接
- 可靠数据传输:确认应答、超时重传、去重、排序
- 流量控制 + 拥塞控制:防止发送方 "撑爆" 接收方和网络
TCP 关键机制(本章全部围绕这些展开)
- 序列号与确认号(可靠传输基础)
- 三次握手(建立连接)
- 四次挥手(断开连接)
- 滑动窗口(流量控制)
- 慢启动、拥塞避免、快重传、快恢复(拥塞控制)
TCP 应用场景
- 网页浏览(HTTP/HTTPS)
- 文件传输
- 电子邮件
- 所有需要 "不丢、不错、不乱" 的场景
六、可靠数据传输原理(底层逻辑)
本章从最简单的可靠传输协议逐步进化:
- 停等协议
- 回退 N 帧(GBN)
- 选择重传(SR)最终进化为 TCP 使用的混合可靠传输机制。
你会彻底理解:
- 为什么丢包了能自动重传
- 为什么数据不会乱序
- 为什么网络拥堵时速度会自动下降
这是网络原理 ** 从 "会用" 到 "懂原理"** 的分水岭。
七、拥塞控制:TCP 的 "智能调节"
因特网不堵车,全靠 TCP 拥塞控制。
核心思想:
- 网络不堵 → 加快发送
- 网络堵 → 减慢发送
- 出现丢包 → 大幅降速,然后缓慢恢复
本章会详细讲解:
- 慢启动
- 拥塞避免
- 快重传
- 快恢复
这是面试、考研、工程中最高频考点。
八、第 3 章学习路线(总述)
本章学习顺序非常清晰,按这个路线走,一遍吃透:
- 运输层作用、复用 / 分解
- UDP 协议与报文结构
- 可靠数据传输基本原理
- TCP 协议概述、报文结构
- 三次握手、四次挥手
- 滑动窗口与流量控制
- 超时重传机制
- 拥塞控制全套算法
- TCP 性能总结
九、本章核心总结
运输层是端到端传输的灵魂:
- 它为应用进程提供通信服务
- 用端口实现复用分解
- UDP 提供快速无连接服务
- TCP 提供可靠、面向连接、带拥塞控制的服务
- 所有复杂机制只为一件事:在不可靠的 IP 网络上,实现稳定、高效、有序的数据传输。
💡 想看后续全部章节 → 关注我,不迷路。下一篇我们正式进入 3.1 运输层服务与多路复用 / 分解,一步步拆解运输层最基础的工作机制,夯实网络核心基础。