- 数据链路层的功能:
- 为网络层提供服务
- 链路管理
- 帧定界、帧同步和透明传输
- 流量控制
- 差错控制
- 数据链路层可以为网络层提供的服务有:
- 无确认的无连接服务
- 有确认的无连接服务
- 有确认的面向连接服务(有连接则一定有确认)
- 透明传输:不管所传数据是什么样的比特组合,都应当能在链路上传送
- 流量控制:限制发送方的数据流量,使其发送速率不致超过接收方的接收能力(由滑动窗口提供反馈机制)
- 对于数据链路层来说,控制的是相邻两节点之间数据链路上的流量,而对于运输层来说,控制的则是源端到目的端之间的流量
- 数据链路层中传输数据出现的错误分为位错和帧错(一个帧包含多个位)
- 通常采用循环冗余校验(CRC)方式发现位错,通过自动重传请求(ARQ)方式重传出错的帧
- 帧错指帧的丢失、重复或失序等错误。在数据链路层引入定时器和编号机制,保证每一帧最终都能有且仅有一次正确地交付给目的节点
- 组帧时既要加首部也要加尾部
- 组帧的四种方法:
- 字符计数法。在帧头部使用一个计数字段来标明帧内字符数(计数字段提供的字节数包含自身所占用的一个字节)
- 字符填充的首位定界符法。使用特定的字符来定界一帧的开始和结束。为了使信息位中出现的特殊字符不被误判为帧的首尾定界符,可以在特殊字符前面填充一个转义字符来加以区分
- 比特填充的首尾标志法。比特填充法允许数据帧包含任意个数的比特,也允许每个字符的编码包含任意个数的比特。它使用01111110来标志一帧的开始和结束,发送方的数据链路层在信息位中遇到5个连续的“1”时,将自动在其后插入一个0;接收方则执行逆操作。比特填充容易由硬件来实现,性能优于字符填充方法。
- 违规编码法。在物理层比特编码时通常采用违规编码法
- 目前较常用的组帧方法时比特填充法和违规编码法
- 进行差错控制的编码技术主要有两类:自动重传请求(ARQ)和前向纠错(FEC)。在ARQ方式中,接收端检测出差错时,就设法通知发送端重发,直到接收到正确的码字为止;在FEC方式中,接收端不但能发现差错,而且能确定二进制数码的错误位置,从而加以纠正。因此,差错控制又分为检错编码和纠错编码
- 检错编码都是采用冗余编码技术。其核心思想是在有效数据(信息位)被发送之前,先按某种关系附加上一定的冗余位,构成一个符合某一规则的码字后再发送。当要发送的有效数据变化时,相应的冗余位也随之变化,使得码字遵从不变的规则。
- 常见的检错编码有奇偶校验码和循环冗余码
- 奇偶校验码:由n-1位信息元和1位校验元组成,如果是奇校验码,在附加上一个校验元以后,码长为n的码字中“1”的个数为奇数;如果是偶校验码,在附加上一个校验元以后,码长为n的码字中“1”的个数为偶数
- 计算循环冗余码过程:假设一个帧的比特序列为101001,双方链路层商量好的多项式G(x)系数序列为1101(最高次为3),则首先将帧的比特序列变为101001000<

最低0.47元/天 解锁文章
1652

被折叠的 条评论
为什么被折叠?



