5.1 传输层提供的服务 (答案见原书 P225)
第5章 传输层
5.1 传输层提供的服务 (答案见原书 P225)
01. 在OSI参考模型中,提供端到端的透明传输服务、差错控制和流量控制的层是( C )
题目原文
- 在OSI参考模型中,提供端到端的透明传输服务、差错控制和流量控制的层是( )
A. 物理层 B. 网络层 C. 传输层 D. 会话层
正确答案:C
题目解析
- 考点分析: 本题考察传输层在OSI模型中的核心功能。
- 正确选项分析 (C. 传输层, Transport Layer):
- 传输层是负责端到端(End-to-End)通信的层次。它的核心职责是为上层的应用进程提供可靠或不可靠的逻辑通信信道。
- 为了实现这一点,传输层提供了几个关键功能:
- 端到端的透明传输服务: 屏蔽底层网络的复杂性,为上层提供一个简单的、透明的数据传输通道。
- 差错控制 (Error Control): 通过校验和、确认、重传等机制,确保数据的无差错传输(主要指TCP)。
- 流量控制 (Flow Control): 通过滑动窗口等机制,协调发送方和接收方的速度,防止快速的发送方淹没慢速的接收方。
- 这些都是传输层的标志性功能。
- 错误选项分析:
- A. 物理层:负责比特流的物理传输。
- B. 网络层:负责主机到主机的路由和转发,是“点到点”的,不保证可靠。
- D. 会话层:负责建立、管理和终止会话,提供同步点等服务。
02. 传输层为( B )之间提供逻辑通信。
题目原文
02. 传输层为( )之间提供逻辑通信。
A. 主机 B. 进程 C. 路由器 D. 操作系统
正确答案:B
题目解析
- 考点分析: 本题考察传输层服务的通信端点,这是区分传输层和网络层的关键。
- 正确选项分析 (B. 进程, Process):
- 网络层 (IP): 负责将数据包从源主机传送到目的主机,实现的是主机到主机的通信。
- 传输层 (TCP/UDP): 在主机到主机通信的基础上,更进一步,负责将数据从源主机的应用进程准确地交付给目的主机的应用进程。它实现的是进程到进程的通信。
- 这个“进程”是通过端口号(Port Number) 来标识的。
- 错误选项分析:
- A. 主机:是网络层的服务对象。
- C. 路由器:是网络层的设备。
- D. 操作系统:是提供服务的实体,不是通信的端点。
03. 下列关于传输层的面向连接服务特性的说法中,正确的是( D )
题目原文
03. 下列关于传输层的面向连接服务特性的说法中,正确的是( )
A. 不保证可靠和顺序交付
B. 不保证可靠但保证顺序交付
C. 保证可靠但不保证顺序交付
D. 保证可靠和顺序交付
正确答案:D
题目解析
- 考点分析: 本题考察传输层面向连接服务(如TCP) 的核心特性。
- 正确选项分析 (D. 保证可靠和顺序交付):
- 面向连接服务(Connection-Oriented Service) 以TCP为典型代表。
- 它在数据传输前,会先通过“三次握手”建立连接。
- 在传输过程中,它提供了以下保证:
- 可靠交付 (Reliable Delivery): 通过序列号、确认(ACK)、超时重传等机制,确保数据不丢失、不重复、无差错。
- 顺序交付 (In-Order Delivery): 通过对数据包进行编号和接收方缓存排序,保证上层应用接收到的数据流与发送方发送的顺序完全一致,即使底层的IP网络可能导致乱序。
- 错误选项分析:
- A: 这是无连接服务(如UDP)的特点。
- B, C: 描述不完整。TCP同时保证可靠和有序。
04. 在TCP/IP参考模型中,传输层的主要作用是在互联网的源主机和目的主机对等实体之间建立用于会话的( D )
题目原文
04. 在TCP/IP参考模型中,传输层的主要作用是在互联网的源主机和目的主机对等实体之间建立用于会话的( )
A. 操作连接 B. 点到点连接 C. 控制连接 D. 端到端连接
正确答案:D
题目解析
- 考点分析: 本题考察对“端到端连接”这一传输层核心术语的理解。
- 正确选项分析 (D. 端到端连接, End-to-End Connection):
- “端”在这里指的是通信的最终端点,即应用程序进程。
- 传输层屏蔽了底层网络中可能存在的多个中间路由器(“点”),为两端的应用进程之间建立了一条逻辑上的、直接的连接通道。
- “端到端”是传输层区别于网络层“点到点(逐跳)”的最重要特征。
- 错误选项分析:
- A, C: 术语不标准。
- B: “点到点”通常用来描述数据链路层(相邻节点间)或网络层(逐跳转发)的通信模式。
05. 可靠传输协议中的“可靠”指的是( D )
题目原文
05. 可靠传输协议中的“可靠”指的是( )
A. 使用面向连接的会话
B. 使用尽力而为的传输
C. 使用滑动窗口来维持可靠性
D. 使用确认机制来确保传输的数据不丢失
正确答案:D
题目解析
- 考点分析: 本题考察对“可靠传输”本质的理解。
- 正确选项分析 (D. 使用确认机制来确保传输的数据不丢失):
- “可靠”的核心是保证数据交付的完整性和正确性。
- 实现这一目标的最基本机制就是确认(Acknowledgement, ACK) 和 超时重传(Timeout Retransmission)。
- 发送方发送数据后,会启动一个计时器。如果在规定时间内收到了接收方对该数据的确认(ACK),就认为数据成功送达。如果没有收到ACK,就认为数据可能丢失,并重新发送该数据。
- 选项D准确地描述了这个核心机制。
- 错误选项分析:
- A: 面向连接是实现可靠传输的一种方式,但“可靠”的本质是数据不丢失,而不是连接本身。
- B: “尽力而为”是不可靠传输的同义词。
- C: 滑动窗口是实现流量控制和提高传输效率的机制,它建立在确认和重传的基础上,但不是“可靠”的根本定义。
06. 下列选项中,( D )能够唯一确定一个在互联网上通信的进程
题目原文
06. 下列选项中,( )能够唯一确定一个在互联网上通信的进程
A. 主机名
B. IP地址及MAC地址
C. MAC地址及端口号
D. IP地址及端口号
正确答案:D
题目解析
- 考点分析: 本题考察在TCP/IP协议栈中,唯一标识一个网络进程的套接字(Socket) 的构成。
- 正确选项分析 (D. IP地址及端口号):
- 要在整个互联网中唯一地标识一个通信的进程,需要两个信息:
- 它在哪台主机上 -> 由 IP地址 唯一标识。
- 它是这台主机上的哪个进程 -> 由 端口号 唯一标识。
- 这个二元组
(IP地址, 端口号)
就构成了一个套接字(Socket),它是网络通信的端点,能够唯一地确定一个进程。
- 要在整个互联网中唯一地标识一个通信的进程,需要两个信息:
- 错误选项分析:
- A: 主机名需要DNS解析成IP地址,且不能标识进程。
- B: MAC地址只在本地局域网内有效,不能用于互联网寻址。
- C: MAC地址和端口号的组合无法在互联网上唯一标识一台主机。
07. 在( D )范围内的端口号被称为“熟知端口号”并限制使用…
题目原文
07. 在( )范围内的端口号被称为“熟知端口号”并限制使用,这些端口号是为常用的应用层协议如 FTP、HTTP等保留的。
A. 0∼127 B. 0∼255 C. 0∼511 D. 0∼1023
正确答案:D
题目解析
- 考点分析: 本题考察TCP/UDP端口号的分类。
- 端口号分类:
- 熟知端口号 (Well-Known Ports):
0 ~ 1023
。由IANA(互联网号码分配局)统一管理,分配给最重要、最常用的服务(如HTTP-80, FTP-21, DNS-53)。 - 注册端口号 (Registered Ports):
1024 ~ 49151
。供没有熟知端口号的应用程序注册使用。 - 动态/私有端口号 (Dynamic/Private Ports):
49152 ~ 65535
。供客户端在发起连接时临时使用(也称临时端口)。
- 熟知端口号 (Well-Known Ports):
- 正确选项分析 (D. 0∼1023):
- 这正是熟知端口号的范围。
- 错误选项分析:
- A, B, C: 范围不正确。
08. 下列哪个TCP熟知端口号是错误的?( D )
题目原文
08. 下列哪个TCP熟知端口号是错误的?( )
A. TELNET:23 B. SMTP:25 C. HTTP:80 D. FTP:24
正确答案:D
题目解析
- 考点分析: 本题考察对常见应用层协议熟知端口号的记忆。
- 错误选项分析 (D. FTP:24):
- 这是错误的。FTP(文件传输协议) 使用两个熟知端口号:
- TCP端口 21: 用于控制连接(发送命令,如
USER
,PASS
,LIST
,RETR
)。 - TCP端口 20: 用于数据连接(在主动模式下,传输文件内容或目录列表)。
- TCP端口 21: 用于控制连接(发送命令,如
- 端口
24
是为“任何私有邮件系统”保留的。
- 这是错误的。FTP(文件传输协议) 使用两个熟知端口号:
- 正确选项分析:
- A. TELNET: TCP端口 23。
- B. SMTP (简单邮件传输协议): TCP端口 25。
- C. HTTP (超文本传输协议): TCP端口 80。
09. 下列关于TCP和UDP端口的说法中,正确的是( A )
题目原文
09. 下列关于TCP和UDP端口的说法中,正确的是( )
A. TCP和UDP分别拥有自己的端口号,它们互不干扰,可以共存于同一台主机
B. TCP和UDP分别拥有自己的端口号,但它们不能共存于同一台主机
C. TCP和UDP的端口没有本质区别,但它们不能共存于同一台主机
D. 当一个TCP连接建立时,它们互不干扰,不能共存于同一台主机
正确答案:A
题目解析
- 考点分析: 本题考察TCP端口空间和UDP端口空间的关系。
- 正确选项分析 (A. TCP和UDP分别拥有自己的端口号,它们互不干扰…):
- 在操作系统内核中,TCP的端口号空间和UDP的端口号空间是完全独立、互不相干的。
- 这意味着,一个进程可以监听TCP的80端口(如Web服务器),同时另一个进程(或同一个进程)也可以监听UDP的80端口。
- 当一个数据包到达时,操作系统会首先根据IP头中的协议号字段来判断它是TCP包还是UDP包,然后再到各自独立的端口空间中去查找监听的进程。
- 错误选项分析:
- B, C, D: 都错误地认为两者不能共存或端口空间是共享的。
10. 下列关于传输层及相关协议的说法中,错误的是( B )
题目原文
10. 下列关于传输层及相关协议的说法中,错误的是( )
A. 传输层是OSI参考模型的第四层
B. 传输层提供的是主机间的点到点数据传输
C. TCP是面向连接的,UDP是无连接的
D. TCP进行流量控制和拥塞控制,而UDP既不进行流量控制,又不进行拥塞控制
正确答案:B
题目解析
- 考点分析: 本题与第2题类似,再次区分传输层和网络层的服务对象。
- 错误选项分析 (B. 传输层提供的是主机间的点到点数据传输):
- 这是错误的。提供主机到主机(Host-to-Host)的数据传输服务是网络层 (IP) 的功能。
- 传输层提供的是进程到进程(Process-to-Process) 或 端到端(End-to-End) 的逻辑通信。
- 正确选项分析:
- A: 正确,在OSI七层模型中,传输层是第四层。
- C: 正确,这是TCP和UDP最基本的区别。
- D: 正确,流量控制和拥塞控制是TCP实现可靠传输的关键机制,而UDP作为“尽力而为”的协议,不提供这些功能。
5.1 传输层提供的服务 知识体系与考法总结
传输层是计算机网络中的一个核心层次,它负责在两个通信端点(通常是应用进程)之间提供可靠或不可靠的逻辑通信服务。本节内容是理解TCP和UDP两大传输协议的基础,重点在于区分传输层与网络层的服务对象、掌握传输层的核心功能以及TCP/UDP的基本特性。
知识体系梳理
本部分的知识体系可以围绕“传输层的基本定位”、“传输层的核心功能”和“传输层的关键概念”三大主线来构建。
一、 传输层的基本定位
- OSI模型中的位置: 第四层。
- 服务对象 (高频考点):
- 传输层提供的是进程到进程 (Process-to-Process) 或端到端 (End-to-End) 的逻辑通信。
- 这是传输层与网络层最根本的区别:网络层是主机到主机。
- 多路复用与分用:
- 多路复用 (Multiplexing): 多个应用进程可以同时使用一个传输层协议(如TCP或UDP)来发送数据,传输层会将它们的数据复用到一个网络层IP数据报中。
- 多路分用 (Demultiplexing): 传输层在目的主机收到网络层数据报后,根据端口号将数据正确地交付给相应的应用进程。
二、 传输层的核心功能
- 端到端透明传输: 屏蔽底层网络的复杂性和异构性,为上层应用提供一个简单、统一的逻辑通信接口。
- 复用与分用: 允许多个应用进程共享传输服务。
- 对应用进程提供服务 (两种类型):
- 面向连接服务 (Connection-Oriented Service): 以TCP为代表。
- 特点 (高频考点): 可靠交付、顺序交付、流量控制、拥塞控制、全双工。
- 基本流程: 建立连接(三次握手)-> 数据传输 -> 释放连接(四次挥手)。
- 无连接服务 (Connectionless Service): 以UDP为代表。
- 特点: 不可靠交付、不保证顺序、无流量控制、无拥塞控制、开销小、速度快。
- 基本流程: 直接发送数据报,无需建立/释放连接。
- 面向连接服务 (Connection-Oriented Service): 以TCP为代表。
三、 传输层的关键概念
-
端口号 (Port Number) (高频考点):
- 作用: 唯一标识一台主机上的一个应用进程。
- 分类 (必考):
- 熟知端口号 (Well-Known Ports):
0 ~ 1023
。分配给常用服务。 - 注册端口号 (Registered Ports):
1024 ~ 49151
。 - 动态/私有端口号 (Dynamic/Private Ports):
49152 ~ 65535
。
- 熟知端口号 (Well-Known Ports):
- TCP/UDP端口空间: 独立。TCP的端口号和UDP的端口号互不干扰,可以共存。
-
套接字 (Socket):
- 构成:
(IP地址, 端口号)
。 - 作用: 在互联网上唯一标识一个通信的应用进程。
- 通信端点: 一个TCP连接由两个套接字唯一标识
(源IP:源端口, 目的IP:目的端口)
。
- 构成:
-
可靠传输:
- 本质: 确保数据在传输过程中不丢失、不重复、不乱序、无差错。
- 核心机制 (高频考点): 确认 (ACK) 和 超时重传 (Timeout Retransmission)。
常见考法与例题梳理
-
传输层核心功能与定位(高频基础题)
- 考法: 考察传输层在OSI模型中的位置、服务对象(进程间)、以及核心功能(端到端透明传输、差错/流量控制)。
- 例题01: 明确传输层提供端到端的透明传输、差错控制和流量控制。
- 例题02 & 10: 明确传输层提供的是进程到进程的逻辑通信,而非主机到主机。
- 例题04: 传输层建立的是端到端连接。
-
TCP与UDP特性对比(高频)
- 考法: 辨析TCP的“面向连接、可靠、有序、流量/拥塞控制”和UDP的“无连接、不可靠、无保证”。
- 例题03: 考察了TCP保证可靠和顺序交付。
- 例题10: 综合对比了TCP和UDP的这些特性。
-
端口号的分类与使用(高频)
- 考法: 给出端口号范围,判断其类型(熟知、注册、动态);给出常见应用协议,判断其熟知端口号。
- 例题07: 考察了熟知端口号的范围
0~1023
。 - 例题08: 考察了常见协议的熟知端口号(如FTP-21/20, HTTP-80)。
- 例题09: 考察了TCP和UDP端口空间是独立的。
-
可靠传输的本质与机制
- 考法: 考察“可靠”的含义及其实现机制。
- 例题05: “可靠”的核心是确认机制确保数据不丢失。
刻意练习建议
-
制作“TCP vs. UDP”终极对比表:
- 这是掌握本节知识的“法宝”。创建一个大表格,详细对比TCP和UDP。
- 对比维度包括:是否面向连接、是否可靠、是否顺序交付、是否全双工、有无流量控制、有无拥塞控制、首部开销、速度、典型应用。
- 能独立默写和讲解这张表,就能掌握本节80%的核心内容。
-
画出“传输层通信模型”:
- 画两台主机,每台主机上画几个应用进程。
- 在应用进程之间用虚线表示传输层的逻辑通信。
- 在主机之间用实线表示网络层的物理通信。
- 在应用进程旁边标注端口号,在主机旁边标注IP地址。
- 这张图能帮你直观理解“进程到进程”和“主机到主机”的区别。
-
端口号记忆:
- 记忆一些最常用的熟知端口号:FTP(21, 20), TELNET(23), SMTP(25), DNS(53), HTTP(80), HTTPS(443)。
- 理解端口号的三个范围划分。
-
“数据如何从A到B”的完整链路分析:
- 想象一个进程A要与进程B通信。
- 一步步写下:
- 进程A的数据 -> 传输层(加TCP/UDP头,含端口号) -> 数据段。
- 网络层(加IP头,含IP地址) -> 数据报。
- 数据链路层(加MAC头,含MAC地址) -> 帧。
- 物理层 -> 信号。
- 这个过程能帮你理解每个层次如何“添加头部”以及每个头部包含什么关键寻址信息。
通过以上系统性的梳理和有针对性的刻意练习,您将能够全面掌握传输层的核心概念和协议特性,并能从容应对相关的辨析和分析问题。