一、差错检测技术
接收方数据链路层可通过差错检测技术(典型技术为循环冗余校验 CRC),检测帧在传输过程中是否产生误码(比特错误),核心是借助帧尾的FCS 字段(检错码) 实现检测。
二、数据链路层的两种服务类型
服务类型
核心特点
适用场景逻辑
不可靠传输服务
仅丢弃存在误码的帧,不额外处理
适用于误码率低的场景,可减少开销
可靠传输服务
确保 “发送端发送什么,接收端就收到什么”
适用于误码率高的场景,需保障数据准确性
三、不同链路的服务需求差异
有线链路:误码率较低,为减小开销,不要求数据链路层提供可靠传输服务;若出现误码,由上层协议处理可靠传输问题。
无线链路:易受干扰导致误码率较高,必须要求数据链路层向上层提供可靠传输服务。
四、传输差错的分类
比特差错只是传输差错的一种,从计算机网络体系结构整体来看,传输差错可分为四类,具体如下:
差错类型
定义
常见出现层级
比特差错
数据传输中比特位发生错误(如 0 变 1、1 变 0)
数据链路层
分组丢失
分组在传输中被丢弃(如路由器输入队列满时主动丢弃)
多出现于上层(非数据链路层)
分组失序
分组到达接收端的顺序与发送顺序不一致
多出现于上层(非数据链路层)
分组重复
同一分组被多次传输到接收端
多出现于上层(非数据链路层)
五、可靠传输的层级范围与选择原则
层级范围:可靠传输服务不局限于数据链路层,网络体系结构中其他各层均可选择实现。例如:
运输层:TCP 提供面向连接的可靠传输服务,UDP 提供无连接的不可靠传输服务。
网际层:IP 提供无连接的不可靠传输服务。
数据链路层:802.11 无线局域网要求实现可靠传输,以太网不要求。
选择原则:可靠传输实现复杂、开销较大,是否使用取决于应用需求,需在 “可靠性” 与 “开销成本” 间权衡。