计算机网络-------数据链路层笔记1
为什么要引入数据链路层
- 在原始的物理传输线路上面传输数据信号是有差错的,存在一定的误码率
- 数据链路层是为了在有差错的线路上进行无差错传输
- 物理层上面的层次都有改善数据的要求,数据链路层是最重要的一层
数据链路层的基本功能
将物理层提供的原始传送比特流可能出错的物理连接改造成逻辑上无差错的数据链路,即向网络层提供透明和可靠的数据传输服务。
链路与数据链路
链路(物理链路)
一条无源的点到点的物理线路段,中级没有其他任何的交换结点
数据链路(逻辑链路)
将实现协议的硬件和软件加到链路上,就构成了数据链路
数据链路层为网络层提供的三种基本服务
- 无确认无连接服务-------大部分有限局域网
- 有确认无连接服务--------无线网
- 面向连接确认服务--------多数广域网
三种应答方式
- 正向应答:只对正确的信息应答
- 负向应答:只对错误的信息应答
- 双向应答:既对正确的信息应答也对错错误的信息应答
成帧及其方式
成帧
将比特流分成离散的帧,并计算每个帧的校验和
成帧方式
- 字符计数法
在帧头用一个域来表示整个帧的字符个数
- 带字符填充的首尾字符定界法
- 带位填充的首尾标记定界法
1.开始和结束加上01111110
2.每遇到5个连续的1则在后面加入1个0 - 物理层编码违例法
只适用于物理层编码有冗余的网络,如曼彻斯特编码
差错起因及检测
差错:接受到的数据和发送的数据不一致
差错分类
1.信道固有的、持续存在的随机热噪声
2.由外界特定的短暂原因造成的冲击噪声
出错情况:
1.帧出错
2.帧丢失
差错检测编码
1.纠错码:加入了足够多的冗余位,接收方不仅知道有差错发生,并且直到哪些位发生了差错
2.检错码:加入了冗余位,接受方直到有差错,但是不知道是什么差错,请求重发
奇偶校验码
在7位ASCII码后面加一位,使得’1’的个数恒为奇数或偶数/
垂直奇偶校验
水平奇偶校验
水平垂直奇偶校验
不仅可以检错还可以用来纠正部分差错
如下图的水平垂直偶校验
循环冗余码CRC
基本思想:收发双方约定一个生成多项式G(x),G(x)的最高阶和最低阶系数为1,发送方在帧的末尾加上校验和,使得带校验和二点帧的多项式可以被G(X)整除。接收方收到后,用G(X)除多项式,如果有余数,则传输错误
- 冗余码位数等于r,即G(X)的最高次数
- 次数=位数-1
- 短除时1-0=1 1-1=0 0-0=0 0-1=1,相同为1不同为0,不需借位
- 用接收方的数据除以G(X),余数为0则正确,否则错误
- r是G(X)的系数,不是位数
- x^rK(X)结果就是在K(X)的二进制表示的后面加上r个0
- 冗余码的位数为r,即G(X)的次数