数据链路层
数据链路层是OSI参考模型中的第二层,介乎于物理层和网络层之间。数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。为达到这一目的,数据链路必须具备一系列相应的功能,主要有:
2.1 为网络层提供的服务
a) 无确认的无连接的服务:源机器发送数据帧之前不用先建立链路连接,目的机器收到数据帧后也不要发回确认。
b) 有确认无连接的服务:源机器发送数据帧不需要建立链路连接,但是目的机器收到数据帧后必须发回确认。
c) 有确认的面向连接的服务:帧传输分为三个过程:建立数据链路,传输帧,释放数据链路。
2.2 链路管理
a) 数据链路层,连接的建立,维持,释放,三个过程叫做链路管理,主要还是面向连接的服务。两个工作栈之间进行传输信息的时候,必须将网络层的分组(package)封装成帧(Frame),然后用帧的格式进行传送。在数据的前后分别加上帧头和帧尾,就构成了帧。
b) 帧头和帧尾的作用:确定帧的界限,也就是帧定界。HDLC标准帧格式:前后都有标志位F(01111110)。透明传输:不管所传数据是什么样的比特组合,都可以在链路上传送。
2.3 流量控制
由于发送方和接收方的工作速率和缓存空间的差异,可能出现发送方发送能力大于接收方的能力。如果不对链路上的信息流量限制,前面来不及接收的帧就会被后面不断发送的帧淹没,造成帧的丢失而出错。
流量控制:就是限制发送方的数据流量,使其发送速率不超过接收速率。
流量控制的基本方法:接收方控制发送方发送数据的速率。常见方式:停止等待协议,滑动窗口协议。
2.3.1 停止等待协议
发送方发送一帧,都要等待接收方得应答信号,才能发送下一帧。同样,接收方每接收一帧,都要反馈一个应答信号,这种传输效率很低。
2.3.2 滑动窗口协议
任何时刻,发送方都维持一组连续的允许发送的帧的序号,这个叫发送窗口。同样接收方也维持一组连续的允许接受帧的序号,叫接收窗口。发送窗口用来对发送方进行流量控制。
可靠传输机制:确认机制,超时重传机制。
2.4 差错控制
由于信道噪声等因素,帧传输可能出现错误。位错:帧的某些位出现了差错,采用循环冗余校验CRC(异或),通过自动重传请求ARQ方式来重传错误的帧。
网友评论