当前位置: 首页 > news >正文

计算机网络 第五章 运输层

5.1 运输层概述

5.1.1 运输层的核心作用

运输层为应用层提供端到端的通信服务。

网络层实现的是主机与主机之间的通信,而运输层在此基础上,实现两台主机内部应用进程与应用进程的端到端通信,是真正面向用户应用的通信层级。

5.1.2 核心功能:复用与分用

  1. 复用:多个应用进程可同时使用同一个运输层协议传输数据。
  2. 分用:运输层收到数据后,可根据标识将数据准确交付给对应的目标应用进程。

5.1.3 两大运输层协议

运输层包含两种核心协议,特性完全不同:

  1. TCP(传输控制协议)面向连接的可靠协议。即便底层网络不可靠,也可为上层提供全双工可靠逻辑信道
  2. UDP(用户数据报协议)无连接的不可靠协议。底层网络不可靠,其逻辑通信信道依然为不可靠信道。

5.1.4 端口号

端口号是应用进程与运输层交互的唯一标识,仅具备本地意义,TCP/IP 协议采用16 位端口号标识端口。

端口号分类:

  1. 服务器端端口号:1~49151,供各类服务器程序固定使用
  2. 客户端端口号:49152~65535,客户端进程临时动态使用

5.2 用户数据报协议(UDP)

5.2.1 UDP 核心概述

UDP 在 IP 无连接服务的基础上,仅新增复用分用差错检验两项基础功能,结构极简、开销极低。

5.2.2 UDP 六大核心特点

  1. 无连接:通信前无需建立连接,直接发送数据。
  2. 尽最大努力交付:不保证数据可靠传输,无重传、确认机制。
  3. 面向报文:完整保留应用层交付的报文边界,不拆分、不合并数据。
  4. 无拥塞控制:不会根据网络拥堵情况调整发送速率,网络拥堵时易丢包。
  5. 支持多交互通信:支持一对一、一对多、多对多通信模式。
  6. 首部开销小:首部固定 8 字节,传输效率极高。

总结:UDP 简单高效、实时性强,但传输不可靠

5.2.3 UDP 首部格式

UDP 报文由首部字段 + 数据字段两部分组成,总首部固定 8 字节,包含四个字段:

  1. 源端口
  2. 目的端口
  3. 报文长度
  4. 检验和

补充:UDP 检验和校验范围包含首部 + 全部数据部分,用于检测传输过程中的数据差错。

5.3 传输控制协议(TCP)概述

5.3.1 TCP 五大核心特点

  1. 面向连接:数据传输前必须建立专属连接,传输结束后释放连接。
  2. 点对点通信:一条 TCP 连接仅存在两个通信端点,仅支持一对一传输。
  3. 可靠交付:通过确认、重传、校验等机制,保证数据无差错、不丢失、不重复、按序到达。
  4. 全双工通信:连接建立后,双方可同时发送、接收数据。
  5. 面向字节流:将应用层数据视为无结构的字节序列,可拆分、重组报文,无固定报文边界。

5.3.2 TCP 连接与套接字

  1. 套接字(插口):TCP 连接的通信端点,由IP 地址 + 端口号拼接构成,格式:IP:端口号
  2. TCP 连接唯一标识:一条 TCP 连接由两端套接字唯一确定公式:TCP = {socket1, socket2} = {(IP1:port1), (IP2:port2)}
  3. 核心特性:TCP 端点是抽象的套接字,而非主机、端口或进程。

5.4 可靠传输工作原理

可靠传输的理想条件:传输信道无差错、接收方处理速率始终匹配发送方发送速率。

5.4.1 停止等待协议

核心逻辑:发送方发送一个分组后,停止发送,等待接收方确认后,再发送下一个分组。

  1. 无差错场景:发送方发送分组 → 接收方接收并返回确认 → 发送方收到确认,发送下一组数据。
  2. 传输出错场景:出现分组丢失、出错时,触发超时重传机制。
协议三大核心注意点
  1. 发送方发送分组后,必须临时保存分组副本,用于超时重传。
  2. 所有传输分组、确认报文必须编号,区分有序数据。
  3. 超时计时器的重传时间,需大于数据平均往返传输时间
特殊异常场景:确认丢失、确认迟到

处理规则:

  1. 接收方收到重复分组,直接丢弃重复数据
  2. 接收方向发送方重新发送确认报文

通过确认 + 超时重传机制,可在不可靠网络中实现可靠传输,该机制统称为ARQ 自动重传请求协议

协议优缺点

优点:逻辑简单、易实现缺点:信道利用率极低,资源浪费严重

5.4.2 连续 ARQ 协议

为解决停止等待协议信道利用率低的问题,提出连续 ARQ 协议。

  1. 核心规则:发送方无需等待单个确认,可连续发送多个分组;每收到一个确认,发送窗口向前滑动一格。
  2. 接收方式:采用累积确认机制,仅对按序到达的最后一个分组发送确认,代表该分组及之前所有分组均已正确接收。

5.5 TCP 报文段格式

TCP 报文段结构复杂,首部长度可变(20~60 字节),核心字段如下:

  1. 源端口、目的端口
  2. 序号:标识报文段数据的首个字节序号
  3. 确认号:告知发送方下一次期望接收的字节序号
  4. 数据偏移:标识 TCP 首部长度
  5. 保留位:预留未使用
  6. 六大标志位:URG 紧急、ACK 确认、PSH 推送、RST 复位、SYN 同步、FIN 终止
  7. 窗口:接收方告知发送方自身接收窗口大小,用于流量控制
  8. 检验和:校验首部 + 数据全部内容
  9. 紧急指针:配合 URG 标志,标识紧急数据长度
  10. 选项:可变长度,核心选项为MSS 最大报文段长度,定义 TCP 报文段数据字段的最大长度

5.6 TCP 可靠传输的实现

TCP 基于字节流、滑动窗口、超时重传、选择确认实现完整可靠传输。

5.6.1 以字节为单位的滑动窗口

TCP 滑动窗口以字节为最小单位,通过窗口滑动机制,实现连续数据传输、有序接收和差错重传,提升传输效率。

5.6.2 超时重传时间(RTO)自适应算法

  1. RTT 往返时间:报文段从发送到收到确认的时间差。
  2. 核心计算公式:RTO = RTTs + 4 × RTTD
    • RTTs:加权平均往返时间
    • RTTD:RTT 时间偏差加权平均值
  3. 关键规则:重传的报文段,不参与 RTT 采样计算,保证超时时间计算精准。

5.6.3 选择确认(SACK)

当部分字节丢失、部分字节在接收窗口内正常接收时,接收方保留已收到的乱序数据,并通过 SACK 告知发送方具体接收区间,让发送方仅重传丢失字节,避免重复传输,提升传输效率。

5.7 TCP 流量控制

5.7.1 核心目的

流量控制:限制发送方发送速率,防止发送方发送过快,导致接收方缓冲区溢出、数据丢失。

5.7.2 实现方式

基于滑动窗口机制实现,接收方通过窗口字段,实时告知发送方自身剩余接收缓冲区大小,发送方严格根据接收窗口大小调整发送量。

5.7.3 TCP 传输效率优化(Nagle 算法)

算法规则:

  1. 优先发送首个字节数据。
  2. 后续零散字节先缓存,待首个字节确认返回后,将所有缓存数据整合为一个报文段发送。
  3. 有效减少零散小报文传输,降低网络开销,提升传输效率。

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 最长报文段寿命(MSL)

MSL 定义 TCP 报文段在网络中能存在的最长时间,用于保证所有残留报文段全部消散,避免新旧连接数据混淆,保障连接释放的安全性。

http://www.jsqmd.com/news/1027366/

相关文章:

  • [Android] FX Player-安卓全格式播放器-比MX播放器好用
  • 2026南京小户型全屋定制怎么选?官方甄选指南:维乐家、穆天木业、今致家居等5家实力解析 - 优质品牌商家
  • 2026 海外 IP 对比:住宅 IP vs 数据中心 IP vs 机房 IP,哪个稳?
  • 2026年水果加盟品牌推荐:如何甄选正规且靠谱的水果连锁总部? - 优质品牌商家
  • Windows Server 2016纯净镜像获取、验证与部署全流程指南
  • 30天自制操作系统:从零构建OSASK的完整实践指南
  • MAA明日方舟自动化助手:游戏效率革命的终极方案
  • 总结 @State 装饰器
  • 荆州漏水检测维修权威推荐:卫生间-厨房-阳台-屋顶天花板漏水维修:靠谱防水补漏公司团队TOP5推荐(2026最新深度调研实测榜单) - 即刻修防水
  • 东莞跨境电商培训包就业吗?深度分析培训与就业关系 - 东莞选校指南
  • Topit:重构Mac多任务工作流的窗口置顶革命
  • ESP32-S3-WROOM-1U-H4:宽温、外置天线,专为复杂工业环境设计的Wi-Fi+蓝牙模组
  • 计算机毕业设计之jsp城科报名推荐管理系统设计与实现
  • 终极指南:如何在Mac上快速将任意窗口置顶显示?Topit帮你实现3分钟效率革命
  • 2026年工业密度计选购指南:质量可靠的插入式密度计品牌甄选与实测分析 - 优质品牌商家
  • 2026年评价高的不锈钢实心方型拉手/不锈钢工业柜拉手厂家对比推荐 - 品牌宣传支持者
  • 高校线上心理咨询室的设计与实现毕业设计
  • 如何快速在浏览器中运行CAD内核:OpenCascade.js终极指南
  • Winhance系统优化大师:专业级Windows性能调优解决方案
  • 兰州穿线管品牌怎么选?2026年甘肃钢材市场主流供应商甄选指南 - 优质品牌商家
  • 07 — 性能测试与安全测试实践
  • 2026年比较好的山东保温快速门/山东快速堆积门/山东硬质快速门推荐厂家精选 - 行业平台推荐
  • 终极指南:使用WorkshopDL免费高效下载Steam创意工坊模组
  • SH9自指螺旋拓扑框架:四种基本相互作用的拓扑统一完整证明(世毫九实验室原创研究)
  • iOS WebKit Debug Proxy深度解析:Base64与SHA1在WebSocket安全通信中的核心技术实现
  • 汽车动力总成ECU参考设计解析:从MPC563xM到SmartMOS的工程实践
  • Java面试复盘笔记:程序员2026突击必备!
  • 3个核心方案解决微信公众号数据采集难题:WechatSogou技术深度解析
  • 2026年评价高的扬州高端洗护/扬州沙发洗护/扬州皮衣洗护/扬州大衣洗护推荐哪家 - 行业平台推荐
  • 如何用Divinity Mod Manager轻松管理《神界:原罪2》模组:终极完整指南