一、
数据链路层的链路控制功能有:1、链路管理 2、帧定界 3、流量控制 4、差错控制 5、将数据和控制信息区分开 6、透明传输 7、寻址
二、
发方
a. 从主机取数据帧
b.V(S ) 置0,初始化状态变量
c.V(S )送 N(S ) —— 发送序号,数据送缓冲区
d.发送
e. 设超时计数器
f.继续从主机取数据帧,转c
g.收到ACK ,从主机取下一帧数据,转c
h.收到NAK ,则重发NAK 序号对应的数据帧以及之后的数据帧,转c i.数据帧等待超时,重发此帧以及此后的所有数据帧,转c
收方
a.V(R)置0,初始化序号
b.等待
c.收到数据帧, 正确则继续,出错则转 h.
d.N(S) == V(R),帧号对时继续;否则放弃当前帧,转 g.
e.数据送主机
f.V(R)反转(或换帧号)
g.发送确认帧 ACK,转 b.
h. 发送 NAK,转 b.
三、:
(1)显然 WT内不可能有重复编号的帧,所以WT ≤2n 。设WT=2n;
(2)注意以下情况:
发送窗口:只有当收到对一个帧的确认,才会向前滑动一个帧的位置;
接收窗口:只有收到一个序号正确的帧,才会向前滑动一个帧的位置,且同时向
发送端发送对该帧的确认。
显然只有接收窗口向前滑动时,发送端口才有可能向前滑动。发送端若没有收到该确认,发送窗口就不能滑动。
(3)为讨论方便,取n=3。并考虑当接收窗口位于0时,发送窗口的两个极端状态。
状态1: 发送窗口: 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 全部确认帧收到 接收窗口: 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
状态2: 发送窗口: 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 全部确认帧都没收到 接收窗口: 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
(4)可见在状态2下,接收过程前移窗口后有效序列号的新范围和发送窗口的旧范围之间有重叠,致使接收端无法区分是重复帧还是新帧。为使旧发送窗口和新接收窗口之间序列号不发生重叠,有W T +W R ≤2n ,所以W T ≤2n -1。
四、
答:因WT +WR ≤2n ,而WR ≤WT ,当WR= WT时,WR 取最大值,为2n/2。