5.2 UDP (答案见原书 P230)
第5章 传输层 (续)
5.2 UDP (答案见原书 P230)
01. 使用UDP的网络应用,其数据传输的可靠性由( B )负责。
题目原文
- 使用UDP的网络应用,其数据传输的可靠性由( )负责。
A. 传输层 B. 应用层 C. 数据链路层 D. 网络层
正确答案:B
题目解析
- 考点分析: 本题考察在UDP这种不可靠的传输协议之上,如何实现可靠传输。
- 正确选项分析 (B. 应用层, Application Layer):
- UDP(用户数据报协议) 本身是一个“尽力而为”的协议,它不提供任何可靠性保证(不保证不丢包、不保证有序、不保证无差错)。
- 如果一个应用程序需要可靠的数据传输,但又希望利用UDP的低延迟、低开销等特性,那么它就必须在应用层自己实现可靠性机制。
- 例如,应用层程序可以自己实现序列号、确认(ACK)、超时重传等逻辑。很多实时游戏、音视频流媒体协议(如RTP/RTCP)就是这样做的。
- 错误选项分析:
- A. 传输层:UDP本身就是传输层协议,它不提供可靠性。
- C, D: 数据链路层和网络层只提供其所在层次的服务,不为上层应用负责。
02. 下列关于UDP的描述中,错误的是( B )
题目原文
02. 下列关于UDP的描述中,错误的是( )
A. UDP报头主要包括端口号、长度、检验和等字段
B. UDP长度字段是UDP数据报的长度,包括伪首部的长度
C. UDP检验和对伪首部、UDP报文头及应用层数据进行检验
D. 伪首部包括IP分组报头的一部分
正确答案:B
题目解析
- 考点分析: 本题考察对UDP报头各字段和检验和计算范围的精确理解。
- 错误选项分析 (B. UDP长度字段是UDP数据报的长度,包括伪首部的长度):
- 这是错误的。
- UDP长度字段: 记录的是UDP数据报的总长度,即UDP首部加上UDP数据部分的长度,单位是字节。
- 伪首部 (Pseudo-Header): 是一个仅在计算检验和时,由发送方临时构建、由接收方临时重构的虚拟头部。它不是UDP数据报的实际组成部分,不会在网络中真正传输。
- 因此,UDP长度字段不包括伪首部的长度。
- 正确选项分析:
- A: 正确,UDP首部非常简单,只有4个字段:源端口、目的端口、长度、检验和。
- C: 正确,UDP检验和的计算范围包括三部分:伪首部、UDP首部、UDP数据。
- D: 正确,伪首部包含了源IP地址、目的IP地址、协议号等从IP头中提取的信息,目的是为了防止IP包被错误地路由和交付。
03. UDP数据报首部不包含( D )
题目原文
03. UDP数据报首部不包含( )
A. UDP源端口号 B. UDP检验和 C. UDP目的端口号 D. UDP数据报首部长度
正确答案:D
题目解析
- 考点分析: 本题考察UDP报头的具体字段。
- 正确选项分析 (D. UDP数据报首部长度):
- UDP的报头格式是固定的,总共8字节(64位)。
- 因为它长度固定,所以不需要一个专门的字段来指明其首部长度。
- 相比之下,TCP和IP的首部长度都是可变的,所以它们的首部中都包含一个“首部长度”字段。
- 错误选项分析(是UDP首部的字段):
- A. UDP源端口号 (16位)
- B. UDP检验和 (16位)
- C. UDP目的端口号 (16位)
- (还有一个字段是UDP长度,共4个字段)
04. UDP数据报中的长度字段( D )
题目原文
04. UDP数据报中的长度字段( )
A. 不记录数据的长度
B. 只记录首部的长度
C. 只记录数据部分的长度
D. 包括首部和数据部分的长度
正确答案:D
题目解析
- 考点分析: 本题与第2题类似,考察UDP长度字段的含义。
- 正确选项分析 (D. 包括首部和数据部分的长度):
- UDP的长度(Length)字段,记录的是整个UDP数据报(UDP Datagram) 的总长度,单位是字节。
UDP总长度 = UDP首部长度 (固定8字节) + UDP数据部分长度
- 错误选项分析:
- A, B, C: 描述不准确。
05. UDP数据报比IP数据报多提供了( C )服务。
题目原文
05. UDP数据报比IP数据报多提供了( )服务。
A. 流量控制 B. 拥塞控制 C. 端口功能 D. 路由转发
正确答案:C
题目解析
- 考点分析: 本题考察UDP相对于IP协议的核心增值功能。
- 正确选项分析 (C. 端口功能, Port Functionality):
- IP协议(网络层) 只能实现主机到主机的通信。
- UDP(传输层) 在IP的基础上,增加了源端口号和目的端口号。
- 正是通过端口号,UDP才得以实现进程到进程的通信,即多路复用/分用功能。
- 这是UDP相对于IP最核心、最基本的功能扩展。
- 错误选项分析:
- A, B: UDP和IP都不提供流量控制和拥塞控制。
- D: 路由转发是IP的功能。
06. 下列关于UDP的描述,正确的是( D )
题目原文
06. 下列关于UDP的描述,正确的是( )
A. 给出数据的按序投递
B. 不允许多路复用
C. 拥有流量控制机制
D. 是无连接的
正确答案:D
题目解析
- 考点分析: 本题考察对UDP协议基本特性的概括。
- 正确选项分析 (D. 是无连接的, Connectionless):
- 这是UDP最本质的特征。
- 发送方在发送数据前,不需要与接收方建立连接。它只是简单地将数据封装成UDP数据报,加上目的IP和端口号,然后就“尽力而为”地发送出去。
- 每个数据报都是独立传输的。
- 错误选项分析:
- A: UDP不保证按序投递。
- B: UDP通过端口号实现了多路复用。
- C: UDP没有流量控制机制。
07. 接收方收到有差错的UDP数据报时的处理方式是( A )
题目原文
07. 接收方收到有差-错的UDP数据报时的处理方式是( )
A. 丢弃
B. 请求重传
C. 差错校正
D. 路由转发
正确答案:A
题目解析
- 考点分析: 本题考察UDP的差错处理机制。
- 正确选项分析 (A. 丢弃, Discard):
- UDP提供了一个可选的检验和(Checksum) 字段用于差错检测。
- 当接收方的UDP协议栈收到一个数据报后,如果它选择进行校验(通常都会),并且发现校验和不匹配,就证明数据在传输过程中出现了错误。
- 由于UDP是一个不可靠的协议,它没有重传机制。因此,对于有差错的数据报,UDP协议栈能做的唯一事情就是默默地将其丢弃。
- 它不会通知发送方,也不会尝试修复。
- 错误选项分析:
- B, C: 请求重传和差错校正是可靠传输协议(如TCP或应用层协议)的功能。
- D: 接收方是最终目的,不再进行路由转发。
08. 下列关于UDP检验和的说法中,错误的是( B )
题目原文
08. 下列关于UDP检验和的说法中,错误的是( )
A. 计算检验和时需按2字节对齐,若数据部分不足,则需用一个全0字节填充
B. 若UDP检验和计算结果为0,则在检验和字段填充0
C. UDP检验和字段的计算包括一个伪首部、UDP首部和携带的用户数据
D. UDP检验和的计算方法是二进制反码运算求和再取反
正确答案:B
题目解析
- 考点分析: 本题考察UDP检验和计算的一个特殊规则。
- 错误选项分析 (B. 若UDP检验和计算结果为0,则在检验和字段填充0):
- 这是错误的。
- UDP检验和算法本身(反码求和再取反)的结果是有可能为全0的(
0000 0000 0000 0000
)。 - 同时,UDP协议规定,如果发送方没有计算检验和,也应该在该字段填充全0。
- 为了区分这两种情况(“计算结果恰好是0”和“未计算”),协议规定:如果计算出的检验和结果是全0,那么在发送时,必须将其改为全1(
1111 1111 1111 1111
,即FFFFH
)来填充。
- 正确选项分析:
- A: 正确。反码求和是以16位(2字节)为单位的,如果数据部分是奇数个字节,需要在末尾填充一个全0的字节来凑成偶数,这个填充字节只用于计算,不实际发送。
- C: 正确,这是检验和的计算范围。
- D: 正确,这是互联网检验和的标准算法。
09. 下列关于UDP检验的描述中,错误的是( B )
题目原文
09. 下列关于UDP检验的描述中,错误的是( )
A. UDP检验和段的使用是可选的,若源主机不想计算检验和,则该检验和段应为全0
B. 在计算检验和的过程中,需要生成一个伪首部,源主机需要把该伪首部发送给目的主机
C. 检验出UDP数据报出错时,可以丢弃或交付给上层
D. UDP检验和还能检验IP数据报的源IP地址和目的IP地址
正确答案:B
题目解析
- 考点分析: 本题考察对伪首部的理解。
- 错误选项分析 (B. …源主机需要把该伪首部发送给目的主机):
- 这是错误的。
- 伪首部是一个虚拟的数据结构,它只在发送方计算检验和、以及接收方验证检验和时,在内存中临时构建。
- 它所包含的信息(如源/目的IP地址)本来就已经存在于IP首部中。
- 因此,伪首部永远不会被真正地封装在数据包中并通过网络发送。
- 正确选项分析:
- A: 正确。在IPv4中,UDP检验和是可选的(但在IPv6中是强制的)。
- C: 正确。接收方可以选择丢弃,或者将有差错的数据连同错误信息一同交付给上层应用,由应用自己决定如何处理。
- D: 正确。因为伪首部中包含了源/目的IP地址,所以UDP检验和不仅校验了UDP报文本身,还间接地校验了IP地址的正确性,防止了数据包被错误路由后仍被接收。
10. 下列网络应用中,不适合使用UDP的是( D )
题目原文
10. 下列网络应用中,不适合使用UDP的是( )
A. 客户机/服务器领域 B. 远程调用 C. 实时多媒体应用 D. 远程登录
正确答案:D
题目解析
- 考点分析: 本题考察TCP和UDP的适用场景。
- 正确选项分析 (D. 远程登录, Remote Login):
- 远程登录(如Telnet, SSH)是一种交互式应用,用户输入的每一个字符都必须准确无误、按顺序地传输到服务器,服务器的回显也必须准确无误地返回。
- 这种应用对数据传输的可靠性和顺序性要求极高,不能容忍任何丢包或乱序。
- 因此,它必须使用可靠的、面向连接的TCP协议。
- 错误选项分析(适合使用UDP):
- A. 客户机/服务器领域: 很多C/S应用都使用UDP,特别是那些查询-应答式的、对实时性要求高的应用,如DNS。
- B. 远程调用 (RPC): 很多RPC实现也建立在UDP之上,由应用层自己来保证可靠性。
- C. 实时多媒体应用: 如在线视频、网络电话。这类应用对实时性要求高,可以容忍偶尔的丢包(只会造成画面或声音的短暂瑕疵),但不希望因为重传而导致巨大的延迟。因此,它们非常适合使用UDP。
11. 一个UDP数据报的数据字段长度为9192B…则应当将其划分为IP数据报片的片数是( B )
题目原文
11. 一个UDP数据报的数据字段长度为9192B,若在数据链路层要采用以太网来传送,则应当将其划分为IP数据报片的片数是( )
A. 6 B. 7 C. 8 D. 9
正确答案:B
题目解析
- 考点分析: 本题考察IP分片的计算,需要根据链路层的MTU来确定每个IP分片能携带的最大数据量。
- 分析过程:
- 确定要分片的数据:
- UDP数据字段(应用层数据)= 9192 B。
- UDP首部 = 8 B。
- 要封装到IP包中的总数据 =
9192 + 8 = 9200 B
。
- 确定单个IP分片能携带的最大数据量:
- 数据链路层是以太网,其最大传输单元(MTU) 为 1500 B。
- 这意味着一个IP数据报(包括IP头)的最大长度不能超过1500 B。
- IP首部长度通常为20 B(无选项)。
- 因此,一个IP分片能携带的最大数据部分长度 =
MTU - IP首部长度 = 1500 - 20 = 1480 B
。 - 分片规则: 除了最后一个分片,每个分片的数据部分长度必须是8的整数倍。
1480 / 8 = 185
。1480正好是8的倍数。所以,每个分片最多可携带1480 B的数据。
- 计算所需分片数:
- 总数据量 = 9200 B。
- 所需分片数 =
ceil(总数据量 / 每个分片的最大数据量)
- 所需分片数 =
ceil(9200 / 1480) = ceil(6.216...) = 7
。
- 确定要分片的数据:
- 结论: 至少需要划分为7个IP数据报片。
12. 某应用层数据大小为200B…则该应用层数据的传输效率是( C )
题目原文
12. 某应用层数据大小为200B,传输层使用UDP,网际层使用IP(采用最大首部长度),使用以太网进行传输(不考虑前导码和VLAN),则该应用层数据的传输效率是( )
A. 82.6% B. 77.5% C. 69.9% D. 67.1%
正确答案:C
题目解析
- 考点分析: 本题考察网络传输效率的计算,需要计算出有效数据和总传输数据的比例。
- 计算过程:
- 计算各层开销(头部长度):
- 应用层数据(有效载荷): 200 B。
- UDP首部: 固定 8 B。
- IP首部(最大长度): IP首部长度为20-60B。最大长度为 60 B。
- 以太网帧头+帧尾:
- 帧头:目的MAC(6B) + 源MAC(6B) + 类型(2B) = 14 B。
- 帧尾 (FCS): 4 B。
- 总开销 =
14 + 4 = 18 B
。
- 计算总传输长度:
- 总长度 = 应用数据 + UDP头 + IP头 + 以太网头尾
- 总长度 =
200 + 8 + 60 + 18 = 286 B
。
- 计算传输效率:
- 效率 = (有效数据 / 总传输长度) × 100%
- 效率 =
(200 / 286) * 100% ≈ 0.6993 * 100% ≈ 69.9%
。
- 计算各层开销(头部长度):
- 结论: 传输效率约为69.9%。
13. 在进行跨网络的IP通信时…则下列字段中一定保持不变的是( A )
I. UDP总长度 II.UDP检验和 V.目的IP地址 VI.IP检验和
III. FCS帧检验序列 IV.目的MAC地址
正确答案:A
题目解析
- 考点分析: 本题考察一个IP数据报在经过路由器转发时,其内部各个字段的变化情况。
- 逐项分析:
- I. UDP总长度: 不变。UDP总长度是UDP首部+数据,这个整体在传输层封装好后,在网络层被视为一个不可分割的数据单元,路由器不会修改它。
- II. UDP检验和: 不变。UDP检验和是在端到端计算的,中间路由器不关心也不修改传输层的内容。
- III. FCS帧检验序列: 改变。FCS是数据链路层的字段,用于检验一帧的正确性。路由器每转发一次,都需要解封装旧的链路层帧(丢弃旧的FCS),然后重新封装成新的帧,并计算新的FCS。
- IV. 目的MAC地址: 改变。目的MAC地址是下一跳的MAC地址。数据包每经过一个路由器,其目的MAC地址都会变为下一个路由器的MAC地址。
- V. 目的IP地址: 不变。目的IP地址标识的是通信的最终目的地,在整个转发过程中保持不变(NAT除外,但题目已排除)。
- VI. IP检验和: 改变。IPv4首部检验和需要每个路由器都重新计算。因为至少TTL字段在每一跳都会被修改,导致首部内容变化。
- 组合判断: I, II, V 保持不变。
- 【答案校对】 您提供的答案是
A (V)
。我的分析是 I, II, V都不变。- 让我们重新审视。
I. UDP总长度
和II. UDP检验和
属于UDP报文,是IP数据报的数据部分。路由器不应该去修改它们。 V. 目的IP地址
在没有NAT的情况下,也不会改变。- 为什么答案只有V? 可能是题目默认了分片的情况。如果IP包发生了分片,那么后续分片的UDP头部就不存在了,只有第一个分片有。但题目问的是字段“保持不变”,而不是“是否存在”。
- 结论: 在标准情况下,I, II, V都应该保持不变。这道题的答案
A
很可能有问题,或者考察的是某种非常特殊且未言明的网络情景。如果必须选一个最不可能变的,那确实是目的IP地址。
- 让我们重新审视。
14. 【2014统考真题】下列关于UDP的叙述中,正确的是( B )
I.提供无连接服务 II.提供复用/分用服务 III.通过差错检验,保障可靠数据传输
正确答案:B
题目解析
- 考点分析: 本题考察对UDP协议核心功能的概括。
- 逐项分析:
- I. 提供无连接服务: 正确。这是UDP的基本特性。
- II. 提供复用/分用服务: 正确。UDP通过端口号,能够将来自不同应用进程的数据复用到一条IP链路上,并在接收端根据端口号将数据分用给正确的进程。
- III. …保障可靠数据传输: 错误。UDP的差错检验(检验和)只提供了差错检测功能,如果发现错误,它只会丢弃数据报,而不会进行重传等操作来保障可靠性。
- 组合判断: I 和 II 是正确的。
15. 【2018统考真题】UDP实现分用时所依据的头部字段是( B )
题目原文
15. 【2018统考真题】UDP实现分用时所依据的头部字段是( )
A. 源端口号 B. 目的端口号 C. 长度 D. 检验和
正确答案:B
题目解析
- 考点分析: 本题考察传输层多路分用(Demultiplexing) 的依据。
- 正确选项分析 (B. 目的端口号, Destination Port Number):
- 当一个UDP数据报到达目的主机后,该主机的传输层需要决定将这个数据报的数据部分交给哪个应用程序。
- 这个决策的唯一依据就是UDP首部中的目的端口号。操作系统会维护一张当前正在监听UDP端口的进程列表,根据数据报中的目的端口号,找到对应的进程,并将数据交给它。
- 错误选项分析:
- A. 源端口号:用于接收方回传数据时,标识对方的进程。
- C, D: 长度和检验和与分用无关。
16. 【2024统考真题】…则最终计算得到的检验和是( C )
题目原文
16. 【2024统考真题】若UDP在计算检验和的过程中,计算得到中间结果为1011100110110110时,还需要加上最后一个16位数0110010111000101,则最终计算得到的检验和是( )
A. 0001111101111011 B. 0001111101111100
C. 1110000010000011 D. 1110000010000100
正确答案:C
题目解析
- 考点分析: 本题考察互联网检验和(Internet Checksum)的反码求和算法。
- 算法步骤:
- 将所有16位字(包括伪首部、首部、数据)按反码相加。
- 将最终的和按位取反。
- 反码加法规则:
- 从低位到高位按位相加。
- 如果最高位(第15位)产生了循环进位,需要将这个进位加到结果的最低位上。
- 计算过程:
- 执行反码加法:
1011 1001 1011 0110 (中间结果)+ 0110 0101 1100 0101 (最后一个16位数)----------------------(1)0001 1111 0111 1011 (产生循环进位)
- 处理循环进位:
- 将最高位的进位
1
加到结果的末尾。
0001 1111 0111 1011+ 1----------------------0001 1111 0111 1100 (和)
- 将最高位的进位
- 对和按位取反:
- 对
0001 1111 0111 1100
按位取反。 - 结果:
1110 0000 1000 0011
- 对
- 执行反码加法:
- 结论: 最终计算得到的检验和是
1110 0000 1000 0011
。
5.2 UDP (User Datagram Protocol) 知识体系与考法总结
UDP是TCP/IP协议栈中与TCP并列的两大传输层协议之一。它的设计哲学是**“简单、快速、尽力而为”。本节内容相对TCP简单,重点在于理解UDP的报头结构、核心功能、检验和计算以及其不可靠**特性所带来的影响和适用场景。
知识体系梳理
本部分的知识体系可以围绕“UDP的核心特性”、“UDP的报头结构”和“UDP的检验和”三大模块展开。
一、 UDP的核心特性
- 无连接 (Connectionless) (高频考点):
- 含义: 在发送数据前,不需要像TCP那样经过“三次握手”建立连接。
- 表现: 每个UDP数据报都是一个独立的、自包含的单元,与其他数据报无关。
- 不可靠 (Unreliable):
- 含义: UDP提供的是**“尽力而为(Best-effort)”的服务,它不保证**:
- 数据报一定能到达目的地(可能因网络拥塞、路由错误而丢失)。
- 数据报按发送顺序到达(可能因不同路径而乱序)。
- 数据报不重复、无差错。
- 可靠性责任: 如果应用程序需要可靠传输,必须在应用层自己实现确认、重传等机制。
- 含义: UDP提供的是**“尽力而为(Best-effort)”的服务,它不保证**:
- 无拥塞控制与流量控制:
- UDP以恒定的速率发送数据,不管网络是否拥塞,也不关心接收方是否能跟上处理速度。
- 面向报文 (Message-oriented):
- 应用层交给UDP多大的报文,UDP就原封不动地加上头部发送出去,不会像TCP那样进行拆分或合并。接收方收到的也是一个完整的报文。
- 首部开销小:
- UDP首部只有固定的8个字节,相比TCP(至少20字节)开销小得多。
二、 UDP的报头结构与核心功能 (高频考点)
UDP在IP协议(提供主机到主机通信)的基础上,只增加了两个核心功能。
-
UDP报头 (8字节):
- 源端口号 (16位): 标识发送方的进程。
- 目的端口号 (16位): 标识接收方的进程。
- 长度 (16位): 指示整个UDP数据报(首部+数据) 的总长度(字节)。
- 检验和 (16位): 用于差错检测。
-
核心功能:复用与分用 (Multiplexing/Demultiplexing)
- 本质: 通过端口号,实现了进程到进程的通信。
- 分用依据 (必考): 接收方根据UDP报头中的目的端口号,将数据交付给正确的应用进程。
三、 UDP的检验和 (Checksum) (计算与概念并重)
- 作用: 用于检测UDP数据报在传输过程中是否出现了差错。
- 计算范围 (重点): 伪首部 + UDP首部 + UDP数据
- 伪首部 (Pseudo-Header): 一个虚拟的、只在计算时使用的头部。它包含了IP首部中的源IP地址、目的IP地址、协议号(17) 等信息。
- 目的: 伪首部的引入,使得UDP检验和不仅检查了UDP报文,还间接检查了IP地址是否正确,防止了数据包被错误路由后仍被接收。伪首部不在网络中传输。
- 计算方法 (互联网检验和算法):
- 将计算范围内的所有数据按16位(2字节)分组。
- 进行反码求和(最高位产生的进位要加回到最低位)。
- 将最终的和按位取反,得到检验和。
- 特殊规则:
- 可选性: 在IPv4中,UDP检验和是可选的。如果发送方不计算,则检验和字段全置为0。
- 全0结果: 如果计算出的检验和结果恰好为
0000H
,则必须用**FFFFH
** 来填充。
四、 UDP的适用场景
- 实时性要求高、能容忍少量丢包的应用:
- 实时多媒体(视频/音频流、网络电话)
- 实时游戏
- 查询-应答式、请求报文小的应用:
- DNS(域名解析)
- SNMP(简单网络管理协议)
- 需要自己实现可靠传输的应用:
- QUIC协议(HTTP/3的基础)
常见考法与例题梳理
-
UDP核心特性辨析(高频)
- 考法: 考察UDP的“无连接、不可靠”、无流量/拥塞控制等基本特点。
- 例题01: UDP不可靠,可靠性由应用层负责。
- 例题06: UDP是无连接的。
- 例题10: 远程登录要求绝对可靠,不适合用UDP。
-
UDP报头字段与功能(高频)
- 考法:
- 识别UDP报头包含/不包含哪些字段。
- 考察“长度”字段的精确含义。
- 考察UDP相对于IP的核心增值功能。
- 例题03: UDP首部没有“首部长度”字段,因为其长度固定。
- 例题04: UDP“长度”字段包含首部+数据。
- 例题05: UDP比IP多提供了端口功能(复用/分用)。
- 例题15 (真题): UDP分用依据的是目的端口号。
- 考法:
-
UDP检验和的深入理解(重点)
- 考法:
- 考察检验和的计算范围,特别是伪首部的概念。
- 考察检验和的特殊规则(可选性、全0结果)。
- 直接给出二进制数,要求模拟反码求和计算过程。
- 例题02 & 09: 考察了伪首部只用于计算、不用于传输的特性。
- 例题08: 考察了检验和计算结果为0时,需填充
FFFFH
的特殊规则。 - 例题16 (2024真题): 是检验和反码加法的直接计算题,要求熟练掌握循环进位的处理。
- 考法:
-
封装与传输效率计算
- 考法: 结合IP分片和各层协议头开销,计算传输效率或所需分片数。
- 例题11: 考察了UDP大报文在以太网上传输时的IP分片计算。
- 例题12: 考察了在给定各层头部开销的情况下,计算传输效率。
刻意练习建议
-
画出UDP报头与伪首部图:
- 亲手画出UDP的8字节报头,标注出4个字段及其位数。
- 在报头上方,画出用于计算检验和的12字节伪首部,并标注其包含的5个字段(源IP, 目的IP, 0, 协议号, UDP长度)。
- 这张图能帮你清晰地记住UDP的结构和检验和的计算范围。
-
检验和计算专项训练:
- 找几个16位的二进制数。
- 手动模拟反码加法: 练习二进制加法,并熟练处理“循环进位”(最高位进位加到最低位)。
- 最后不要忘记对结果按位取反。
- 这个计算过程在考试中出现频率很高,必须做到熟练、准确。
-
做“TCP vs. UDP”场景匹配练习:
- 列出各种网络应用:文件传输(FTP)、电子邮件(SMTP)、网页浏览(HTTP)、视频直播、DNS查询、网络电话(VoIP)、在线游戏。
- 为每个应用选择最适合的传输协议(TCP或UDP),并写下一句话理由。
- 例如:“文件传输 -> TCP,因为必须保证文件100%完整无误”。“视频直播 -> UDP,因为实时性比偶尔的丢包更重要”。
通过以上系统性的梳理和有针对性的刻意练习,您将能够全面掌握UDP协议的核心原理、报头细节和计算方法,并能清晰地辨析它与TCP的区别和适用场景。