数据链路层概述
任务:提供两个相邻的网络节点或主机及其相邻的网络节点之间的可靠通信 数据链路层的信息传送单位:帧(frame)
数据链路层的主要工作
- 线路规程:解决“现在该谁发送”的问题
- 差错控制:采用“校验-应答-重发”的模式
- 流量控制:防止发送端速度超过接收端速度而导致数据丢失和信道拥挤
数据链路=链路+规程
线路规程
线路规程是监视链路的建立,以及在给定时刻分配一个具体设备进行数据传送的权利
1.询问/应答模式(ENQ/ACK)
2.轮询/选择模式
- 使用场合:多点连接系统,由使用同一条传输线路的一个主设备和若干个从设备构成
-
工作方式:主设备控制链路,主设备发命令,从设备响应 -
轮询:如果主设备希望接收数据,询问从设备是否有数据要发送?如果没有数据要发送,必须回答否定应答帧(NAK),如果有数据则直接用数据帧回答 -
选择:如果主设备希望发送数据,用SeL选择帧告知目标从设备准备好接收,从设备用ACK同意接收,用NAK拒绝接收
两种终止信息交互的方法
1.从设备的所有数据已发送完毕,以一个**传输结束帧(EOT)结束传输 2.主设备发送“时间到”**消息
流量控制与差错控制
流量控制是一组过程,这组过程是用来告诉发送方在等待接收方的确认信号之前最多可以传送多少数据
流量控制的两个要点:
- 数据流不能使接收方过载
- 接收方对数据进行确认
差错控制主要指错误检测和重传方法:
- 自动重复请求(ARQ):数据帧在传输过程中出现错误,接收方就返回一个否定应答帧(NAK),出错的帧就会被发送方重新传送,这个过程叫做ARQ
数据被重传的情况有三种:
- 帧破坏
- 帧丢失
- 应答帧丢失
实现技术
流量控制和差错控制通常结合在一起实现,通常有两种技术:
1、停止等待协议 2、滑动窗口协议
停止等待协议
发送方每发送一帧后就等待应答,只有收到一个应答ACK后,采访下一个帧,直到发送方发送一个传输结束帧
- 优点:协议简单
- 缺点:效率低,线路上只有一帧,费时长
- 完成一帧发送所需要的时间
W
T
=
t
I
+
2
t
P
+
2
t
P
r
o
c
+
t
S
W_T=t_I+2t_P+2t_{Proc}+t_S
WT?=tI?+2tP?+2tProc?+tS?
其中
t
I
t_I
tI?是发送数据帧的时间(帧长/数据传输速率)
t
S
t_S
tS?是发送应答帧的时间(应答帧长/数据传输速率)
t
P
t_P
tP?是信号传播延迟(距离/信号传输速度)
t
P
r
o
c
t_{Proc}
tProc?是节点处理数据时间
- 停等协议的定量分析
- 信道利用率:信道被占用的时间和总时间之比
- 有效数据传输率:单位时间内传输的有效数据位数
|