🎯 课程摘要:本节课介绍可靠传输的核心概念。差错检测只能"检错"不能"纠错",接收方收到误码帧后的处理方式取决于数据链路层提供的服务类型(可靠/不可靠)。进而引出传输差错的四种形式(误码、分组丢失、分组失序、分组重复),并说明可靠传输服务可存在于各层,是否使用取决于应用需求与开销权衡。
- 概念定义:接收方通过帧尾部 FCS 字段检测出帧出现误码后,如何处理取决于数据链路层向其上层提供的服务类型。
- 原理解析:
- 不可靠传输服务:接收方数据链路层直接丢弃有误码的帧即可,其他什么也不用做。
- 可靠传输服务:接收方数据链路层需通过某种机制实现"发送方发送什么,接收方就能收到什么"。例如接收方发送**否认帧(NAK)**通知发送方重传出现误码的帧。
- ⚠️ 重点/考点:可靠传输的"可靠"含义 = 发送方发送什么,接收方就能收到什么(无差错、无丢失、无失序、无重复)。
- 原理解析:实现可靠传输并不简单。试想:
- 如果否认帧本身也出现误码怎么办?
- 如果否认帧在传输过程中丢失了怎么办?
- 发送方又该如何处理这些情况?
- 这些问题将在停止等待协议、回退 N 帧协议、选择重传协议中逐步解决。
- 助教补充:可靠传输的核心机制包括确认(ACK)、否认(NAK)、重传(retransmission)、超时重传、序号(sequence number)等。
- 原理解析:
- 有线链路:误码率较低,为减少开销,不要求数据链路层向上层提供可靠传输服务;即使出现误码,可靠传输问题交由上层处理。
- 无线链路:易受干扰,误码率较高,因此要求数据链路层必须向上层提供可靠传输服务。
- ⚠️ 重点/考点:是否实现可靠传输与链路类型(有线/无线)密切相关,这是工程权衡的典型体现。
- 概念定义:传输差错不仅包括比特差错(误码),还包括分组丢失、分组失序、分组重复。
- 原理解析:
| 传输差错类型 | 出现层次 | 产生原因 |
|---|
| 误码(比特差错) | 数据链路层及其下层 | 噪声干扰、传输媒体质量 |
| 分组丢失 | 网络层及以上 | 路由器输入队列满,主动丢弃 |
| 分组失序 | 网络层及以上 | 各分组走不同路径,到达顺序与发送顺序不同 |
| 分组重复 | 网络层及以上 | 分组排队过长导致超时重发,原分组延迟到达 |
- 分组丢失示例:主机 H1 给 H3 发送分组,到达路由器 R2 时输入队列快满,R2 按分组丢弃策略主动丢弃该分组。
- 分组失序示例:H1 给 H3 按序发送 3 个分组,各分组走不同路径,到达顺序可能与发送顺序不同。
- 分组重复示例:H1 给 H3 发送分组,到达 R5 后排队等待较久,导致 H1 超时重发;重发分组到达 H3 后,原分组也到达,H3 收到两个相同分组。
- ⚠️ 重点/考点:
- 误码出现在数据链路层及其下层。
- 分组丢失、分组失序、分组重复一般不出现在数据链路层,而是在其上层出现。
- 因此将数据传送单元从"帧"改称为"分组"来讨论。
- 原理解析:可靠传输服务并不局限于数据链路层,其他各层均可选择实现可靠传输。
- 以 TCP/IP 四层体系结构为例:
| 层次 | 协议 | 服务类型 |
|---|
| 网络接口层(数据链路层) | 802.11 无线局域网 | 要求实现可靠传输 |
| 网络接口层(数据链路层) | 以太网 | 不要求实现可靠传输(质量好) |
| 网际层 | IP | 无连接、不可靠传输服务 |
| 运输层 | TCP | 面向连接、可靠传输服务 |
| 运输层 | UDP | 无连接、不可靠传输服务 |
- ⚠️ 重点/考点:
- IP 协议提供无连接、不可靠传输服务。
- TCP 提供面向连接的可靠传输服务;UDP 提供无连接不可靠传输服务。
- 可靠传输实现复杂、开销大,是否使用取决于应用需求。
- 差错检测后处理方式由服务类型决定:不可靠服务直接丢弃,可靠服务需重传机制。
- 传输差错有四种:误码(数据链路层及下层)、分组丢失/失序/重复(上层)。
- 可靠传输不局限于数据链路层,TCP/IP 各层均可选择实现。
- 有线链路一般不要求链路层可靠传输,无线链路则要求。
- 数据链路层检测出误码后,是否一定需要重传?请结合服务类型说明。
- 分组重复是如何产生的?它属于哪一层的传输差错?
- 为什么有线链路的数据链路层通常不提供可靠传输服务,而无线链路必须提供?
- 请列举 TCP/IP 体系结构中各层协议的服务类型(可靠/不可靠)。