概念
在物理层所提供服务的基础上向网络层提供服务。即:将原始的,有差错的物理线路改进成逻辑上无差错的数据链路。
基本服务
无确认的无连接服务、有确认的无连接服务、有确认的有连接服务
功能
- 链路管理:负责数据链路的建立、维持和释放,主要用于面向连接服务。
- 帧同步:接收方确定收到的比特流中一帧的开始位置和结束位置。
- 差错控制:用于使接收方确定收到的数据就是由发送方发送的数据。
- 透明传输:
组帧
- 字符计数法:一个特殊字符表示一帧的开始;一个计数字段(提供的字节数包含自身所占的一个字节)表示该帧包含的字节数。
- 字节填充的首尾界符法:首部SOH(start of header)十六进制数为01,尾部EOT(end of transmission)十六进制数为04,当中间的数据部分出现首字符SOH转变为ESC x,出现尾字符EOT转变为ESC y,出现转义符ESC转变为ESC z。
- 比特填充的首尾标志法:开始结束标志均为01111110,当数据部分出现开始结束标志时,发送方在每5个连续的1后添一个0,接收方在每5个连续的1后删除一个0。
- 物理编码违例法:利用物理介质上编码的违法标志来区分帧的开始与结束。
差错控制
- 检错编码:1.奇偶校验码;2. 循环冗余码:具有r检测位的多项式能够检测出所有小于或等于r的突发错误。
- 纠错编码:海明码
流量控制
- 目的:控制发送方发送数据的速率,使接收方来得及接收。
- 方法:由接收方控制给发送方的数据流
- 方式:
-停止等待流量控制:每次只发送一帧,传输效率低。发送方发出一帧,等待应答信号到达再发送下一帧;接收方每收到一帧后,返回一个应答信号,接收方不返回应答发送方一直等待。
滑动窗口流量控制:发送窗口存放两类帧:一类是已经被发送但还未确认的帧;另一类是可以发送的帧。发送端每收到一个帧的确认,发送窗口就向前滑动一个帧的位置。接收窗口:收到的数据帧落入接收窗口内,将窗口前移一个位置,否则丢弃。
可靠传输机制
- 传输差错分类:比特差错:通过CRC来检测;传输差错:帧丢失、帧重复、帧失序。
- 方式:
停止等待协议:发送窗口大小=接收窗口大小=1;重传计时器
后退N帧(GBN)协议:发送窗口大小>接收窗口大小=1;采用n个比特对帧进行编号(发送窗口1<w<=2^n-1)连续发送若干个数据帧,此时收到接收方的确认帧,则可接着发送数据帧,否则帧出错,接收方丢弃该帧及其所有的后续帧。
选择重传(SR)协议:发送窗口大小>1,接收窗口大小>1;采用n个比特对帧进行编号(发送窗口w<=2^(n-1))