可靠传输 —(8-30)
相关概念
使用差错检测技术(例如循环冗余校验CRC),接收方的数据链层就可以检测出帧在传输过程中是否产生了误码(比特差错)。
数据链层向其上层提供的服务类型
不可靠传输服务:仅仅丢弃误码的帧,其他什么也不做
可靠传输服务:通过某种机制实现发送方发送什么,接收方最总终就能收到什么。
传输差错的类型:
- 误码(比特差错):出现在数据链路层及其下层
- 分组丢失 ——->
- 分组失序 ——-> 出现在数据链路层的上层
分组重复 ——->
可靠传输服务并不局限于数据链路层,其他各层均可选择实现可靠传输。
实现机制
- 停止-等待(Stop-and-Wait,SW)协议
- 原理:收发双方通过因特网进行通信,首先发送方发送一个数据分组(DATA),接收方进行差错检测,确认无误码之后接受,并向接收方发送确认分组(ACK),发送方发送下一个数据分组,这次出现误码,接收方检测到误码后,直接丢弃,并向发送方发送否认分组(NAK),发送方收到之后重传之前的数据分组,再次重复前面的工作。
- 后面应对特殊的情况又增加了超时传输和确认丢失分组需要编号。
- 列题:
回退N帧(Go-back-N,GBN)协议
- 原理:使用流水线传输可以显著提高信道的利用率,并且利用发送窗口来限制发送方连续发送数据分组的数量,这是属于连续ARQ协议。
- 运行机制:发送方需要维护一个发送窗口WT,在没收到接收方确认分组的情况下,发送发可将序号落入WT内的所有数据分组连续发送出去。
- 采用n个比特给分组编序号,WT的取值范围是1~(2n-1).
例题:
- 选择重传(Selective Repeat, SR)协议
原理:哪一个分组没有正确接受就重新发送该分组。但是还是需要保证发送窗口WT的取值范围是1~(2n-1)。