一、基本概念
传输的可靠与否取决与数据链路层向上层提供的服务类型
可靠传输就是实现“发送端发送什么,接收端就接收到什么”,而不会因为传输过程的误码而使得接收端受到的信息不全。
二、应用情景
- 一般情况下,有线链路的误码率较低,为了减小开销,并不要求数据链路层向上层提供可靠传输服务,即使出现了误码,可靠传输的问题由其上层处理,这就是非可靠传输(如UDP)
- 无线链路易受干扰,误码率较高,因此要求数据链路层向上层提供可靠传输服务(如TCP)。
三、传输差错
这里还要补充一点:比特差错只是传输差错的一种,可靠传输在数据链路层发挥的主要作用便是避免比特差错。但是,传输差错还包括分组丢失、失序和重复,但这些一般不会出现在数据链路层,而会出现在其上层。
四、可靠传输的三种协议
1. 停止-等待协议SW(Stop-and-Wait)协议
对于接收端收到的数据,接收端应发送确认(ACK)或否定(NAK)分组。
(1)学习要点
(2)信道利用率
计算公式:
U=Td/(Td+RTT+Ta)
为了便于计算,这里忽略接收端对数据处理的时延。
(1)参数意义
- Td为发送端发出数据的时间
- Ta为接收端接发出分组的时间
- RTT为数据往返时间
由上图可以很容易得出:当传输往返时间大于Td时(Ta一般远小于Td,可以忽略),信道利用率非常低。
于是就有了接下来的另外两种协议。
2. 回退N帧协议GBN(Go-Back-N)
(2)基本概念
回退N帧协议在流水线传输的基础上利用发送窗口来限制发送方连续发送数据分组的数量。
在一定条件下,流水传输相比SW协议能够提高信道利用率。
(3)特性讲解
发送方
- 发送窗口尺寸Wt的取值范围时
(1,2^n-1]
,其中,n时构成分组序号的比特数量
当Wt=1时,等于WS协议
当Wt>2^n-1时,接收方无法分辨新旧数据分组
-
发送方可以在为收到接收方确认分组的情况下,将序号落在发送窗口的多个数据分组全部发送除去
-
发送方只有收到对已发送数据分组的确认是,发送窗口才能向前相应滑动
-
发送方收到多个重复确认时,在可重传计时器超时前今早开始重传,由具体实现决定。
-
发送方发送窗口内某个已发送的数据分组产生超时重发时,其后续在发送窗口内且已发送的数据分组也必须全部重传,这就是回退N帧的命名由来。
接收方
-
接收方的接收窗口尺寸取值范围是
Wr=1
,因此接收方只能按需接受数据分组。 -
接收方只接受序号落在接收窗口内且无误码的数据据分组,并且将接收窗口向前滑动一个位置,与此同时给发送方发回相应的确认分组。为了减少开销,接收方不一定每收到一个按序到达且无误的数据分组就给发送方发回一个确认分组。
3.接收方收到未按序到达的数据分组,除丢弃外,还要对最近按序接受的数据分组进行确认。
(4)存在问题:
由于回退N帧的协议特性,当通信线路质量不好时,其信道利用率并不比停止等待协议的高。
标签:发送窗口,笔记,可靠,发送,传输,分组,接收,数据 From: https://www.cnblogs.com/wyuu101/p/17990463