一.数据链路层的功能
1.为网络层提供服务
(1)无确认的无连接服务:源机器发送数据帧不需先建立链路连接,但目的机器收到数据帧时不需发回确认。
(2)有确认的无连接服务:源机器发送数据帧不需先建立链路连接,但目的机器收到数据帧时必须发回确认。
(3)有确认的面向连接服务:帧传输过程分为三个阶段:建立数据链路,传输帧,释放数据链路。
2.链路管理
数据链路层连接的建立,维持和释放过程称为链路管理,主要用于面向连接的服务。
3.帧定界,帧同步,透明传输
帧定界有两种方式。一种是在帧首部中设有某种特殊的比特组合来标志帧的开始,另一种是在帧的尾部设有某种特殊的比特组合来标志帧的结束。
帧同步指的是接收方应能从接收到的二进制比特流中区分出帧的起始与终止。
透明传输解决在数据中恰好出现与帧定界符相同的比特组合(消除误认为“传输结束”而丢弃后面的数据)确切的说透明传输就是不管所传数据是什么样的比特组合,都应当能在链路上传送。
4.流量控制
限制发送方的数据流量,使其发送速率不超过接收方的接收能力。
5.差错控制
差错可分为位错和帧错。
位错指帧中某些位出现了错误。通常采用循环冗余校验(CRC)方式发现位错,通过自动重传请求(Automatic Repeat reQuest ,ARQ)方式重传出错的帧。
帧错指帧的丢失,重复或失序等错误。在数据链路层引入定时器和编号机制,能得到有效解决。
二.组帧
数据链路层之所以把比特组合成帧为单位传输,是为了在出错时只重发出错的帧,而不必重发全部数据,从而提高效率。组帧主要解决帧定界,帧同步,透明传输等问题。通常有以下4种实现方式
1.字符计数法
在帧的头部使用一个计数字段来标明帧内字符数
2.字符填充的首尾定界符法
使用特定字符来定界一帧的开始和结束。
如图字符帧,帧的数据段中出现EOT或SOH字符,发送方在每个EOT或SOH字符前再插入一个ESC字符,接收方收到数据后会自己删除这个插入的ESC字符,结果得到原来的数据。
3.零比特填充的首位标志法
4.违规编码法
三.差错控制
1.检错编码
(1)奇偶校验
(2)循环冗余校验
2.纠错编码
最常见的纠错编码是海明码
四.流量控制与可靠传输机制
1.流量控制,可靠传输与滑动窗口机制
流量控制的基本方法是由接收方控制发送方发送数据的速率,常见的方式有两种:停止-等待协议和滑动窗口协议
(1)停止-等待流量控制基本原理:发送方每发送一帧,都要等待接收方的应答信号,之后才能发送下一帧;接收方每接收一帧,都要反馈一个应答信号,表示可接收下一帧,如果接收方不反馈应答信号,那么发送方必须一直等待。
(2)滑动窗口流量控制基本原理:在任意时刻,发送方都维持一组连续的允许发送的帧的序号,称为发送窗口;同时接收方也维持一组连续的允许接收帧的序号,称为接收窗口。
2.后退N帧协议(GBN);选择重传协议(SR)
为进一步提高信道的利用率,可设法只重传出现差错的数据帧或计时器超时的数据帧,这就是选择重传ARQ协议
五.介质访问控制
介质访问控制所要完成的主要任务是为使用介质的每个结点隔离来自同一信道上其他结点所传送的信号,以协调活动结点的传输。
1.信道划分:
频分多路复用(FDM):将多路基带信号调制到不同频率载波上,再叠加形成一个复合信号的多路复用技术。
时分多路复用(TDM):将一条物理信道按时间分成诺干时间片,轮流地分配给多个信号使用。
波分多路复用(WDM):即光的频分多路复用,在光纤中传输不同波长的光信号,由于波长(频率)不同,各路光信号互不干扰,最后再用波长分解复用器将其各路波长分解出来。
码分多路复用(CDM)(码分多址CDMA):采用不同的编码来区分各路原始信号的一种复用方式。它既共享信道的频率,又共享时间。