题目来源于王道论坛
甲乙双方均采用后退N帧协议(GBN)进行持续的双向数据传输,且双方始终采用捎带确认,帧长均为1000 B。Sx,y和Rx,y分别表示甲方和乙方发送的数据帧,其中:x是发送序号;y是确认序号(表示希望接收对方的下一帧序号);数据帧的发送序号和确认序号字段均为3比特。信道传输速率为100Mbps,RTT=0.96ms。下图给出了甲方发送数据帧和接收数据帧的两种场景,其中t0为初始时刻,此时甲方的发送和确认序号均为0,t1时刻甲方有足够多的数据待发送。
请回答下列问题。
(1)对于图(a),t0时刻到t1时刻期间,甲方可以断定乙方已正确接收的数据帧数是多少?正确接收的是哪几个帧(请用Sx,y形式给出)?
(2)对于图(a),从t1时刻起,甲方在不出现超时且未收到乙方新的数据帧之前,最多还可以发送多少个数据帧?其中第一个帧和最后一个帧分别是哪个(请用Sx,y形式给出)?
(3)对于图(b),从t1时刻起,甲方在不出现新的超时且未收到乙方新的数据帧之前,需要重发多少个数据帧?重发的第一个帧是哪个(请用Sx,y形式给出)?
(4)甲方可以达到的最大信道利用率是多少?
解答:
(1)t0时刻到t1时刻期间,甲方可以断定乙方已正确接收了3个数据帧,(1分)分别是S0,0、S1,0、S2,0。(1分)R3,3说明乙发送的数据帧确认号是3,即希望甲发送序号3的数据帧,说明乙已经接收了序号为0-2的数据帧。
(2)从t1时刻起,甲方最多还可以发送5个数据帧,(1分)其中第一个帧是S5,2,(1分)最后一个数据帧是S1,2。(1分)发送序号3位,有8个序号。在GBN协议中,序号个数>=发送窗口+1,所以这里发送窗口最大为7。此时已发送了S3,0和S4,1,所以最多还可以发送5个帧。
(3)甲方需要重发3个数据帧,(1分)重发的第一个帧是S2,3。(1分)在GBN协议中,接收方发送了N帧后,检测出错,则需要发送出错帧及其之后的帧。S2,0超时,所以重发的第一帧是S2。已收到乙的R2帧,所以确认号应为3。
U是信道利用率,N是发送窗口的最大值,Td是发送一数据帧的时间,RTT是往返时间,Ta是发送一确认帧的时间。这里采用捎带确认,Td=Ta。
【评分说明】答案部分正确,酌情给分。