计算机网络--Ch3.数据链路层(四)

401 阅读13分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的28天,点击查看活动详情

七.选择重传协议(SR)

1.滑动窗口

image-20220927211436470

2.SR发送方必须响应的三件事

2.1上层的调用

从上层收到数据后,SR发送方检查下一个可用于该帧的序号,如果序号位于发送窗口内,则发送数据帧;否 则就像GBN一样,要么将数据缓存,要么返回给上层之后再传输。

2.2收到了一个ACK

如果收到ACK,加入该帧序号在窗口内,则SR发送方将那个被确认的帧标记为已接收。如果该帧序号是窗口 的下界(最左边第一个窗口对应的序号),则窗口向前移动到具有最小序号的未确认帧处。如果窗口移动了 并且有序号在窗口内的未发送帧,则发送这些帧。

image-20220927211835526

2.3超时事件

每个帧都有自己的定时器,一个超时事件发生后只重传一个帧

3.SR接收方要做的事

image-20220927212132040

4.运行中的SR

image-20220927212345127

5.滑动窗口长度

image-20220927212938672

6.SR协议重点总结

image-20220927214203517

习题

1.从滑动窗口的观,点看,当发送窗口为1、接收窗口也为1时,相当于ARQ的(C)方式.

A.回退N帧ARQ

B.选择重传ARQ

C.停止-等待

D.连续ARQ

    停止等待协议的工作原理是:发送方每发送一帧,都要等待接收方的应答信号,之后才能发送下一帧;接收方每接收一帧,都要反馈一个应答信号,表示可接收下一帧,如果接收方不反馈应答信号,那么发送方必须一直等待。

2.在简单的停止等待协议中,当帧出现丢失时,发送端会永远等待下去,解决这种死锁现象的办法是(D)

A.差错校验

B.帧序号

C.NAK机制

D.超时机制

    在停止等待协议中,发送端设置了计时器,在一个帧发送之后,发送端等待确认,如果在计时器计满时仍未收到确认,那么再次发送相同的帧,以免陷入永久的等待。

3.一个信道的数据传输速率为4kb/s,单向传播时延为30s,如果使停止等待协议的信道最大利用率达到80%,那么要求的数据帧长度至少为(D)。

A.160bit

B.320bit

C.560bit

D.960bit

    设C为数据传输速率,L为帧长,R为单程传播时延,停止-等待协议的信道最大利用率为(LC/(L/C+2)=L/(L+2RC=L/(L+2×30ms×4kb/s)=80%,得出L=960bit。

4.数据链路层采用后退N帧协议方式,进行流量控制和差错控制,发送方已经发送了编号0~6的帧。计时器超时时,只收到了对1、3和5号顿的确认,发送方需要重传的帧的数目是(A).

A.1

B.2

C.5

D.6

    GBN一般采用累计确认,因此收到了对5号帧的确认意味着接收方已收到1~5号帧,因此发送方仅需要重传6号帧。

5.【2009統考真题】数据链路层采用了后退N顿(GBN)协议,发送方已经发送了编号为0~7的帧。计时器超时时,若发送方只收到0、2、3号帧的确认,则发送方需要重发的帧数是(C)。

A.2

B.3

C.4

D.5

    在后退N帧协议中,当接收方检测到某个帧出错后,会简单地丢弃该帧及所有的后续帧,发送方超时后需重传该数据帧及所有的后续帧。这里应注意,连续ARQ协议中,接收方一般采用累计确认的方式,即接收方对按序到达的最后一个分组发送确认,因此本题中收到3的确认帧就表示编号为0,1,2,3的帧已接收,而此时发送方未收到1号帧的确认只能代表确认帧在返回的过程中丢失,而不代表1号帧未到达接收方。因此需要重传的帧为编号是4,5,6,7的帧。

6.数据链路层采用了后退N帧的(GBN)协议,如果发送宙口的大小是32,那么至少需要(C)位的序列号才能保证协议不出错。

A.4

B.5

C.6

D.7

    在后退N帧的协议中,序列号个数不小于MAX_SEQ+1,题中发送窗口的大小是32,那么序列号个数最少应该是33个。所以最少需要6位的序列号才能达到要求。

7.【2012统考真题】两台主机之间的数据链路层采用后退N帧协议(GBN)传输数据,数据传输速率为16kb/s,单向传播时延为270ms,数据帧长度范围是128~512字节,接收方总是以与数据帧等长的帧进行确认。为使信道利用率达到最高,帧序列的比特数至少为(B).

A.5

B.4

C.3

D.2

    数据帧长度是不确定的,范围是128一512B,但在计算至少窗口大小时,为了保证无论数据帧长度如何变化,信道利用率都能达到最高,应以最短的帧长计算。如果以512B计算,那么求得的最小帧序号数在128B的帧长下,达不到最高信道利用率。首先计算出发送一帧的时间128×8/16×10)=64ms:发送一帧到收到确认为止的总时间为64+270×2+64=668ms;这段时间总共可以发送668/64=10.4帧,发送这么多帧至少需要用4位比特进行编号。

8.若采用后退N帧的ARQ协议进行流量控制,帧编号字段为7位,则发送窗口的最大长度为(C)。

A.7

B.8

C.127

D.128

    接收窗口整体向前移动时,新窗口中的序列号和旧窗口的序列号产生重叠,致使接收方无法区别发送方发送的帧是重发帧还是新帧,因此在后退W帧的ARQ协议中,发送窗口W_T≤2^n-1。本题中n=7,因此发送窗口的最大长度是127

9.【2011统考真题】数据链路层采用选择重传协议(SR)传输数据,发送方已发送0~3号数据帧,现已收到1号帧的确认,而0、2号帧依次超时,则此时需要重传的帧数是(B)。

A.1

B.2

C.3

D.4

    选择重传协议中,接收方逐个确认正确接收的分组,不管接收到的分组是否有序,只要正确接收就发送选择ACK分组进行确认。因此选择重传协议中的ACK分组不再具有累积确认的作用。对于这一点,要特别注意与GBN协议的区别。此题中只收到1号帧的确认,0、2号帧超时,由于对1号帧的确认不具累计确认的作用,因此发送方认为接收方未收到0、2号帧,于是重传这两帧。

10.一个使用选择重传协议的数据链路层协议,如果采用了5位的帧序列号,那么可以选用的最大接收窗口是(B)。

A.15

B.16

C.31

D.32

    在选择重传协议中,若采用比特对帧进行编号,为避免接收端向前移动窗口后,新的窗口与旧的窗口产生重叠,接收窗口的最大尺寸应该不超过序号范围的一半,即W_R≤2^n-1。因此选B

11.对于窗口大小为的滑动窗口,最多可以有(B)帧已发送但没有确认. A.0 B.n-1 C.n D.n/2

    在连续ARQ协议中,发送窗口的大小≤窗口总数-1。例如,窗口总数为8,编号为0一7,假设这8个帧都已发出,下一轮又发出编号0~7的8个帧,接收方将无法判断第二轮发的8个帧到底是重传帧还是新帧,因为它们的序号完全相同。另一方面,对于回退N帧协议,发送窗口的大小可以等于窗口总数一1,因为它的接收窗口大小为1,所有的帧保证按序接收。因此对于窗口大小为n的滑动窗口,其发送窗口大小为1,即最多可以有1帧已发送但没有确认。

12.对无序接收的滑动窗口协议,若序号位数为,则发送窗口最大尺寸为(D)。

A.2^n-1

B.2n

C.2n-1

D.2^n

    本题并未直接告知使用的是选择重传协议,而是通过间接方式给出的。题目说无序接收的滑动窗口协议,说明接收窗口大于1,所以得出数据链路层使用的是选择重传协议,而选择重传协议的发送窗口最大尺寸为2^n-1。

IMG_20221009_145450

        C   D   A
    1)发送窗口大小为7意味着发送方在没有收到确认之前可以连续发送7个帧,由于发送方A已经发送编号为0~3的四个帧,下一个帧将是编号为4的帧。
    2)当帧的序号长度为k比特时,对于选择重传协议,为避免接收端向前移动窗口后,新的窗口与旧的窗口产生重叠,接收窗口的最大尺寸应该不超过序列号范围的一半,即W≤23)设发送窗口为[L,U],发送窗口大小的初始值为W,发送窗口的大小应该大于等于0,但小于等于W,所以有0≤U-L+1≤W。因此L≥(U-W+1)mod2^k。

14.【2014统考真题】主机甲与主机乙之间使用后退N帧协议(GBN)传输数据,甲的发送窗口尺寸为1000,数据帧长为1000字节,信道带宽为100Mb/s,乙每收到一个数据帧立即利用一个短帧(忽略其传输延迟)进行确认,若甲、乙之间的单向传播时延是50ms,则甲可以达到的最大平均数据传输速率约为(C)。

A.10Mb/s

B.20Mb/s

C.80Mb/s

D.100Mb/s

    考虑制约甲的数据传输速率的因素。首先,信道带宽能直接制约数据的传输速率,传输速率一定是小于等于信道带宽的:其次,主机甲、乙之间采用后退N帧协议,那么因为甲、乙主机之间采用后退N帧协议传输数据,要考虑发送一个数据到接收到它的确认之前,最多能发送多少数据,甲的最大传输速率受这两个条件约束,所以甲的最大传输速率是这两个值中小的那一个。甲的发送窗口的尺寸为1000,即收到第一个数据的确认之前,最多能发送1000个数据帧,也就是发送
1000×1000B=1B的内容,而从发送第一个帧到接收到它的确认的时间是一个帧的发送时延加上往返时延,即1000B/100Mb/s+50ms+50ms=0.10008s,此时的最大传输速率为1MB/0.10008s≈10B/s=80Mb/s。信道带宽为100Mb/s,所以答案为min{80Mb/s,100Mb/s}=80Mb/s,选C。

15.【2018统考真题】主机甲采用停止-等待协议向主机乙发送数据,数据传输速率是3kb/s,单向传播时延是200ms,忽略确认顿的传输时延。当信道利用率等于40%时,数据帧的长度为()。

A.240比特

B.400比特

C.480比特

D.800比特

    信道利用率=传输帧的有效时间传输帧的周期。假设帧的长度为x比特。对于有效时间,应该用帧的大小除以数据传输速率,即x/(3kb/s)。对于帧的传输周期,应包含4部分:帧在发送端的发送时延、帧从发送端到接收端的单程传播时延、确认帧在接收端的发送时延、确认帧从接收端到发送端的单程传播时延。这4个时延中,由于题目中说“忽略确认帧的传输时延”,因此不计算确认帧的发送时延(注意区分传输时延和传播时延的区别,传输时延也称发送时延,和传播时延只有一字之差)。所以帧的传输周期由三部分组成:首先是帧在发送端的发送时延x/(3kb/s),其次是帧从发送端到接收端的单程传播时延200ms,最后是确认帧从接收端到发送端的单程传播时延200ms,三者相加可得周期为x/(3kb/s)+400ms。代入信道利用率的公式,求出x=800bit。答案选D。

16.【2020统考真题】假设主机甲采用停等协议向主机乙发送数据帧,数据帧长与确认帧长均为1000B,数据传输速率是10kb/s,单项传播延时是200s。则甲的最大信道利用率为(D)。

A.80%

B.66.7%

C.44.4%

D.40%

发送数据顿和确认帧的时间均为t=1000x8b/10kb/s=800ms。
发送周期为T=800ms+200ms+800ms+200ms=2000ms。
信道利用率为/T×100%=800/2000=40%

八.介质访问控制

1.传输数据使用的两种链路

点对点链路

image-20220928174309159

广播式链路

image-20220928174729804

2.介质访问控制

介质访问控制的内容就是,采取一定的措施,使得两对节点之间的通信不会发生互相干扰的情况。

image-20220928175217859

3.(静态划分信道)信道划分介质访问控制

信道划分介质访问控制:将使用介质的每个设备与来自同一信道上的其他设备的通信隔离开,把时域和频域资源合理地分配给网络上的设备。

image-20220928175341461

image-20220928175905283

3.1频分多路复用(FDM)

image-20220928175759178

3.2时分多路复用(TDM)

image-20220928180058824

3.3.统计时分复用 (STDM)

image-20220928180542545

每一个STDM帧中的时隙数小于连接在集中器上的用户数。各用户有了数据就随时发往集中器的输入缓存,然后集中器按顺序依次扫描输入缓存,把缓存中的输入数据放入STDM帧中,一个STDM帧满了就发出。STDM帧不是固定分配时隙,而是按需动态分配时隙。

3.4波分多路复用(WDM)

彼分多路复用就是光的频分多路复用,在一根光纤中传输多种不同波长(频率)的光信号,由于波长(频率)不同,所以各路光信号互不干扰,最后再用波长分解复用器将各路波长分解出来。

image-20220928181048539

3.5.码分多路复用(CDM)

image-20220928181543755