### 计算机网络教程第3章:传输层
#### 概述
本章节主要讲述了计算机网络中的传输层原理及技术。传输层是OSI模型中的第四层,负责为应用程序提供端到端的数据传输服务。它确保数据在发送方与接收方之间可靠地传递,并且能够处理诸如复用/解复用、可靠数据传输、流量控制和拥塞控制等问题。
#### 目标
本章节的目标包括:
- **理解传输层原理**:深入探讨传输层提供的服务及其背后的运作机制。
- **学习互联网中的传输层协议**:详细介绍互联网中两种主要的传输层协议——用户数据报协议(UDP)和传输控制协议(TCP)。
#### 主要内容
##### 3.1 传输层服务
- **目的**:传输层为应用进程之间的逻辑通信提供支持,确保数据包能够在不同主机间正确传输。
- **运作方式**:传输层协议在终端系统中运行,发送方将应用程序消息分割成段并传递给网络层;接收方则重组这些段为原始消息,并传递给应用层。
##### 3.2 复用与解复用
- **复用**:传输层通过端口复用来实现多个应用程序共享同一网络连接的功能。每个应用程序都分配了一个唯一的端口号,从而使得来自不同应用程序的数据能够在单个网络连接中被正确识别。
- **解复用**:当数据到达接收方时,传输层根据目标端口号将数据段分发给相应的应用程序。
##### 3.3 无连接传输:UDP
- **UDP特性**:UDP是一种无连接的传输层协议,不建立连接即可发送数据。它提供了一种快速、低开销的服务,适用于实时应用(如语音通话或视频流),但在数据传输过程中不保证可靠性。
- **适用场景**:适合于那些对延迟敏感但能容忍一定数据丢失的应用。
##### 3.4 可靠数据传输原则
- **可靠数据传输**:传输层协议必须确保数据能够准确无误地从发送方传送到接收方。这通常涉及到错误检测、确认应答以及重传机制。
- **关键机制**:包括序列号、确认应答、超时重传等技术,它们共同协作来保证数据的完整性和顺序性。
##### 3.5 面向连接传输:TCP
- **TCP概述**:
- **段结构**:TCP数据包被称为“段”,包含头部和数据两部分。头部包含了源端口号、目标端口号等信息。
- **可靠数据传输**:除了基本的错误检测和确认应答机制外,TCP还提供了更高级别的可靠传输服务,如选择性确认和快速重传等。
- **流量控制**:通过滑动窗口机制来调节数据发送速率,避免接收方无法处理过多的数据而导致溢出。
- **连接管理**:TCP建立了面向连接的通信模型,包括连接建立、数据传输和连接释放三个阶段。
- **具体实现**:TCP通过三次握手建立连接,四次挥手释放连接,确保了通信的可靠性和安全性。
##### 3.6 拥塞控制原则
- **拥塞控制**:在网络中,拥塞是指当数据包数量超过了网络处理能力时出现的一种现象。为了防止这种情况的发生,传输层协议需要实施拥塞控制策略。
- **关键技术**:包括慢启动、拥塞避免、快重传和快恢复等算法。
##### 3.7 TCP拥塞控制
- **TCP拥塞控制**:TCP通过一系列复杂而精细的算法来实现拥塞控制,以确保网络资源的有效利用。
- **算法详解**:
- **慢启动**:初始时,发送方以较小的窗口大小开始发送数据,随着成功接收确认而逐渐增加发送速率。
- **拥塞避免**:在达到一定的阈值后,采用更加保守的方式来增加窗口大小。
- **快重传**:当发送方接收到三个重复的确认时,立即重传未确认的数据段。
- **快恢复**:当检测到拥塞时,调整窗口大小并尝试逐步恢复正常数据传输速率。
本章节全面介绍了传输层的基础理论和技术实现,为读者提供了深入了解计算机网络传输层的重要视角。通过对各种协议和服务的解析,帮助读者更好地理解和掌握网络通信的基本原理和技术细节。