问答题
两数据链路层主机A、B按后退N帧协议工作,并互相发送数据。帧序号用3位编码。
假设A、B的发送窗口大小都是4。开始时,A的下一个即将发送的帧序号为5,期待接收的帧序号为4;B的下一个即将发送的帧序号为4,期待接收的帧序号为5。A欲发送5个数据帧Ia、Ib、Ic、Id、Ie,B欲发送两个数据帧Im、In,A、B间帧传送顺序为Ia、Ib、Ic、Im、In、Id、Ie,假定每个帧均正确到达目的地,且线路为半双工线路,试写出各帧的seq和ack。
【正确答案】
【答案解析】[答案要点]
首先,由于帧序号用3位编码,所以帧序号的范围为0~7,下面一一分析。
因为A的下一个即将发送的帧序号为5,期待接收的帧序号为4,根据A、B间帧传送顺序为Ia、Ib、Ic、Im、In、Id、Ie,则Ia的seq=5,ack=4,表示A发送编号为5的帧,下一次期待收到的是4号帧;Ib的seq=6,ack=4,表示A发送编号为6的帧,下一次期待收到的仍然是4号帧;Ic的seq=7,ack=4,表示A发送编号为7的帧,下一次期待收到的仍然是4号帧。然后B发送Im、In,因为此时B已经收到A的7号帧,所以Im的seq=4,ack=0,表示B发送编号为4的帧,下一次期待收到的仍然是0号帧,In的seq=5,ack=0,表示B发送编号为5的帧,下一次期待收到的仍然是0号帧。接着A继续发送Id、Ie,Id的seq=0,ack=6,表示A发送编号为0的帧,下一次期待收到的是6号帧;Ie的seq=1,ack=6,表示A发送编号为1的帧,下一次期待收到的是6号帧。