计算机网络 第五章 运输层

📅 2026/6/17 3:49:59
计算机网络 第五章 运输层
5.1 运输层概述5.1.1 运输层的核心作用运输层为应用层提供端到端的通信服务。网络层实现的是主机与主机之间的通信而运输层在此基础上实现两台主机内部应用进程与应用进程的端到端通信是真正面向用户应用的通信层级。5.1.2 核心功能复用与分用复用多个应用进程可同时使用同一个运输层协议传输数据。分用运输层收到数据后可根据标识将数据准确交付给对应的目标应用进程。5.1.3 两大运输层协议运输层包含两种核心协议特性完全不同TCP传输控制协议面向连接的可靠协议。即便底层网络不可靠也可为上层提供全双工可靠逻辑信道。UDP用户数据报协议无连接的不可靠协议。底层网络不可靠其逻辑通信信道依然为不可靠信道。5.1.4 端口号端口号是应用进程与运输层交互的唯一标识仅具备本地意义TCP/IP 协议采用16 位端口号标识端口。端口号分类服务器端端口号1~49151供各类服务器程序固定使用客户端端口号49152~65535客户端进程临时动态使用5.2 用户数据报协议UDP5.2.1 UDP 核心概述UDP 在 IP 无连接服务的基础上仅新增复用分用和差错检验两项基础功能结构极简、开销极低。5.2.2 UDP 六大核心特点无连接通信前无需建立连接直接发送数据。尽最大努力交付不保证数据可靠传输无重传、确认机制。面向报文完整保留应用层交付的报文边界不拆分、不合并数据。无拥塞控制不会根据网络拥堵情况调整发送速率网络拥堵时易丢包。支持多交互通信支持一对一、一对多、多对多通信模式。首部开销小首部固定 8 字节传输效率极高。总结UDP 简单高效、实时性强但传输不可靠。5.2.3 UDP 首部格式UDP 报文由首部字段 数据字段两部分组成总首部固定 8 字节包含四个字段源端口目的端口报文长度检验和补充UDP 检验和校验范围包含首部 全部数据部分用于检测传输过程中的数据差错。5.3 传输控制协议TCP概述5.3.1 TCP 五大核心特点面向连接数据传输前必须建立专属连接传输结束后释放连接。点对点通信一条 TCP 连接仅存在两个通信端点仅支持一对一传输。可靠交付通过确认、重传、校验等机制保证数据无差错、不丢失、不重复、按序到达。全双工通信连接建立后双方可同时发送、接收数据。面向字节流将应用层数据视为无结构的字节序列可拆分、重组报文无固定报文边界。5.3.2 TCP 连接与套接字套接字插口TCP 连接的通信端点由IP 地址 端口号拼接构成格式IP:端口号TCP 连接唯一标识一条 TCP 连接由两端套接字唯一确定公式TCP {socket1, socket2} {(IP1:port1), (IP2:port2)}核心特性TCP 端点是抽象的套接字而非主机、端口或进程。5.4 可靠传输工作原理可靠传输的理想条件传输信道无差错、接收方处理速率始终匹配发送方发送速率。5.4.1 停止等待协议核心逻辑发送方发送一个分组后停止发送等待接收方确认后再发送下一个分组。无差错场景发送方发送分组 → 接收方接收并返回确认 → 发送方收到确认发送下一组数据。传输出错场景出现分组丢失、出错时触发超时重传机制。协议三大核心注意点发送方发送分组后必须临时保存分组副本用于超时重传。所有传输分组、确认报文必须编号区分有序数据。超时计时器的重传时间需大于数据平均往返传输时间。特殊异常场景确认丢失、确认迟到处理规则接收方收到重复分组直接丢弃重复数据。接收方向发送方重新发送确认报文。通过确认 超时重传机制可在不可靠网络中实现可靠传输该机制统称为ARQ 自动重传请求协议。协议优缺点优点逻辑简单、易实现缺点信道利用率极低资源浪费严重5.4.2 连续 ARQ 协议为解决停止等待协议信道利用率低的问题提出连续 ARQ 协议。核心规则发送方无需等待单个确认可连续发送多个分组每收到一个确认发送窗口向前滑动一格。接收方式采用累积确认机制仅对按序到达的最后一个分组发送确认代表该分组及之前所有分组均已正确接收。5.5 TCP 报文段格式TCP 报文段结构复杂首部长度可变20~60 字节核心字段如下源端口、目的端口序号标识报文段数据的首个字节序号确认号告知发送方下一次期望接收的字节序号数据偏移标识 TCP 首部长度保留位预留未使用六大标志位URG 紧急、ACK 确认、PSH 推送、RST 复位、SYN 同步、FIN 终止窗口接收方告知发送方自身接收窗口大小用于流量控制检验和校验首部 数据全部内容紧急指针配合 URG 标志标识紧急数据长度选项可变长度核心选项为MSS 最大报文段长度定义 TCP 报文段数据字段的最大长度5.6 TCP 可靠传输的实现TCP 基于字节流、滑动窗口、超时重传、选择确认实现完整可靠传输。5.6.1 以字节为单位的滑动窗口TCP 滑动窗口以字节为最小单位通过窗口滑动机制实现连续数据传输、有序接收和差错重传提升传输效率。5.6.2 超时重传时间RTO自适应算法RTT 往返时间报文段从发送到收到确认的时间差。核心计算公式RTO RTTs 4 × RTTDRTTs加权平均往返时间RTTDRTT 时间偏差加权平均值关键规则重传的报文段不参与 RTT 采样计算保证超时时间计算精准。5.6.3 选择确认SACK当部分字节丢失、部分字节在接收窗口内正常接收时接收方保留已收到的乱序数据并通过 SACK 告知发送方具体接收区间让发送方仅重传丢失字节避免重复传输提升传输效率。5.7 TCP 流量控制5.7.1 核心目的流量控制限制发送方发送速率防止发送方发送过快导致接收方缓冲区溢出、数据丢失。5.7.2 实现方式基于滑动窗口机制实现接收方通过窗口字段实时告知发送方自身剩余接收缓冲区大小发送方严格根据接收窗口大小调整发送量。5.7.3 TCP 传输效率优化Nagle 算法算法规则优先发送首个字节数据。后续零散字节先缓存待首个字节确认返回后将所有缓存数据整合为一个报文段发送。有效减少零散小报文传输降低网络开销提升传输效率。5.8 TCP 拥塞控制5.8.1 核心目的拥塞控制全局调控网络数据注入量避免大量数据涌入网络导致路由器、链路过载、网络拥堵瘫痪。区别流量控制是点对点控制拥塞控制是全网全局性控制。5.8.2 核心控制机制发送方传输窗口 接收窗口流量控制 拥塞窗口拥塞控制1. 慢开始 拥塞避免慢开始初始拥塞窗口极小指数增长探测网络负载逐步增大数据发送量。拥塞避免网络无拥堵时拥塞窗口线性缓慢增长稳定传输避免突发拥堵。2. 快重传 快恢复快重传发送方连续收到3 个重复确认判定为个别报文丢失非全网拥堵立即重传丢失报文无需等待超时。快恢复触发快重传后不重置拥塞窗口小幅调整窗口大小直接进入拥塞避免阶段大幅提升故障恢复速度。5.9 TCP 运输连接管理TCP 是面向连接协议完整通信分为三个阶段连接建立 → 数据传送 → 连接释放5.9.1 TCP 连接建立三次握手通过三次报文交互完成双向连接建立确认双方收发能力正常同步初始序号。5.9.2 TCP 连接释放四次挥手数据传输完毕后通信双方可主动发起连接释放需四次报文交互实现双向连接断开。5.9.3 最长报文段寿命MSLMSL 定义 TCP 报文段在网络中能存在的最长时间用于保证所有残留报文段全部消散避免新旧连接数据混淆保障连接释放的安全性。