计算机网络第五章运输层
1. 运输层概述
1.1 运输层的功能与作用
1.1.1 运输层的功能
- 传输数据:运输层负责在网络中的两个端系统之间传输数据。
- 端到端通信:运输层实现端系统之间的直接通信,无需关心底层网络的细节。
- 提供服务:运输层向高层提供可靠或不可靠的服务,以满足不同应用的需求。
1.1.2 运输层的作用
- 提高网络的利用率:通过复用,将多个用户的数据组合在一起传输,减少网络资源的浪费。
- 提高通信效率:通过差错控制、流量控制等机制,确保数据正确、高效地传输。
- 支持不同网络之间的互连:运输层协议的标准化,使得不同网络之间的通信成为可能。
1.2 运输层协议的分类
1.2.1 面向连接的协议
- 可靠传输:通过建立连接、数据传输、释放连接等步骤,确保数据正确到达。
- 面向连接:在数据传输前,需要先建立连接,传输完成后释放连接。
1.2.2 无连接的协议
- 不可靠传输:不保证数据一定能够到达,不进行拥塞控制和流量控制。
- 无连接:不需要建立连接,直接发送数据,传输完成后即结束。
2. 传输控制协议(TCP)
2.1 TCP概述
2.1.1 TCP的特点
- 面向连接:在数据传输前需要先建立连接。
- 可靠传输:通过拥塞控制、流量控制、错误检测和重传机制,确保数据正确到达。
- 面向字节流:将数据看作一系列无结构的字节流。
2.1.2 TCP的应用场景
- 需要高可靠性的应用,如文件传输、邮件传输等。
- 需要大量数据传输的应用,如视频流、音频流等。
2.2 TCP的连接建立与终止
2.2.1 连接建立
- 三次握手:客户端发送SYN请求,服务器回应SYN+ACK,客户端回应ACK。
- 建立连接:通过这个过程,双方交换初始序列号,确认双方的接收能力。
2.2.2 连接终止
- 四次挥手:客户端发送FIN请求,服务器回应ACK,客户端再次发送ACK,服务器发送FIN请求。
- 终止连接:通过这个过程,双方逐步释放资源,结束连接。
2.3 TCP的可靠传输机制
2.3.1 拥塞控制
- 慢启动:当连接建立后,逐渐增加窗口大小,以避免网络拥塞。
- 拥塞避免:当网络拥塞时,减少窗口大小,以避免进一步拥塞。
- 快重传与快恢复:当收到重复数据时,快速重传丢失的数据包,并逐步恢复窗口大小。
2.3.2 流量控制
- 滑动窗口协议:通过窗口大小来控制发送方的发送速度。
- 确认应答:接收方通过发送ACK来确认已接收的数据。
2.4 TCP的错误检测与重传
2.4.1 错误检测
- 校验和:对每个数据段进行校验和的计算,以检测数据在传输过程中的错误。
- 序列号:为每个数据段分配一个序列号,用于数据的重传和排序。
2.4.2 重传机制
- 超时重传:当发送方没有收到接收方的ACK,会等待一段时间后重传数据。
- 选择性重传:接收方只重传丢失的数据包,而不是整个窗口内的数据。
3. 用户数据报协议(UDP)
3.1 UDP概述
3.1.1 UDP的特点
- 无连接:不需要建立连接,直接发送数据。
- 不可靠传输:不进行拥塞控制和流量控制,不保证数据一定能够到达。
- 面向数据报:将数据看作一系列独立的数据报。
3.1.2 UDP的应用场景
- 实时应用:如视频会议、在线游戏等,对数据传输的实时性要求较高。
- 小数据包传输:如DNS查询、NTP时间同步等,数据量较小,对可靠性要求不高。
3.2 UDP的头部格式
3.2.1 源端口和目的端口
- 源端口:发送方的端口号。
- 目的端口:接收方的端口号。
3.2.2 长度和校验和
- 长度:数据报的长度,包括头部和数据。
- 校验和:对整个数据报进行校验和的计算,以检测错误。
3.3 UDP的优点与缺点
3.3.1 优点
- 减少开销:无需建立连接,减少了传输过程中的开销。
- 提高实时性:不需要进行拥塞控制和流量控制,提高了数据传输的实时性。
3.3.2 缺点
- 不可靠传输:不保证数据一定能够到达,可能导致数据丢失。
- 缺乏流量控制:可能导致接收方来不及处理发送方的数据,导致数据丢失。




