UDP的基本功能

Q: UDP 在 IP 层的数据报服务之上增加了哪两个基本功能?
A: 复用和分用, 以及差错检测

UDP首部开销

Q: UDP 的首部开销是多少?
A:

Q: TCP 的首部开销是多少?
A:

UDP数据报的组成

Q: UDP 数据报包含哪两部分?
A: 首部字段和用户数据字段

UDP首部字段

Q: UDP 首部有多少字节?由几个字段组成?
A: UDP 首部有 ,由 4 个字段组成

Q: UDP 首部的四个字段分别是什么?每个字段的长度是多少?
A: 源端口,目的端口,长度,检验和;每个字段的长度都是

UDP首部字段的意义

Q: UDP 首部中的源端口字段的作用是什么?
A: 源端口号。在需要对方回信时选用, 不需要时可用全 0

Q: UDP 首部中的目的端口字段的作用是什么?
A: 目的端口号。这在终点交付报文时必须使用到

Q: UDP 首部中的长度字段的作用是什么?
A: UDP 数据报的长度 (包括首部和数据), 其最小值是 8 (仅有首部)

Q: UDP 首部中的检验和字段的作用是什么?
A: 检测 UDP 数据报在传输中是否有错。有错就丢弃。该字段是可选的, 当源主机不想计算检验和时, 则直接令该字段为全 0

UDP报文处理

Q: 若接收方 UDP 发现收到的报文中的目的端口号不正确,会发生什么?
A: 丢弃该报文, 并由 ICMP 发送 “端口不可达” 差错报文给发送方

UDP检验和计算方法

Q: UDP 计算检验和的方法与 IP 数据报的检验和方法有何不同?
A: IP 数据报的检验和只检验 IP 数据报的首部, 但 UDP 的检验和要将首部和数据部分一起检验

UDP检验和计算步骤

Q: UDP 计算检验和的发送方处理步骤有哪些?
A:

  1. 把全0放入检验和字段并添加伪首部
  2. 将UDP数据报视为许多16位的字串接起来
  3. 若UDP数据报的数据部分不是偶数个字节在末尾填入一个全0字节但此字节不发送
  4. 按二进制反码计算出这些16位字的和
  5. 将此和的二进制反码写入检验和字段并发送

Q: UDP 计算检验和的接收方处理步骤有哪些?
A:

  1. 把收到的UDP数据报加上伪首部若不为偶数个字节则还需要补上全0字节
  2. 按二进制反码求这些16位字的和
  3. 当无差错时其结果应为全1否则就表明有差错出现
  4. 接收方就应该丢弃这个UDP数据报

UDP检验和的处理

Q: 若 UDP 检验和检验出 UDP 数据报是错误的,接收方可以如何处理?
A: 可以丢弃, 也可以交付给上层, 但是需要附上错误报告

伪首部的作用

Q: 伪首部在 UDP 检验和计算中的作用是什么?
A: 通过伪首部,不仅可以检查源端口号、目的端口号和 UDP 用户数据报的数据部分,还可以检查 IP 数据报的源 IP 地址和目的地址

Q: 伪首部是否计入 UDP 的长度?
A: 不计入

Q: 伪首部包括哪些内容?
A: 源 IP 和目的 IP

UDP检验和的可选性

Q: UDP 检验和是否必需?若不使用检验和,该字段应如何设置?
A: UDP 检验和不是必需的, 若不使用检验和, 则将检验和字段设置为 0

Q: 若 UDP 检验和的计算结果恰好为 0 ,应如何处理?
A: 将检验和字段置为全 1

IP数据报片的最大长度

Q: 每个 IP 数据报片的最大长度是多少?
A:

Q: IP 数据报片中用于存放 UDP 数据报的最大长度是多少?
A: ,每个IP数据报片的最大长度为 ,减去 IP 首部 ,剩下 用来存放 UDP 数据报

传输效率

Q: 传输效率如何计算?
A: 整个传输的数据大小除以所有封装的首部之和

传输层分用的定义

Q: 传输层分用的定义是什么?
A: 接收方的传输层剥去报文首部后, 能把这些数据正确交付到目的进程