(3)计算机网络:数据链路层
第3章 数据链路层
3.1 数据链路层功能
3.2 封装成帧和透明传输
3.2.1封装成帧
1.含义:数据前后添加首部尾部,看图说话:
2.组帧方式:(1)字符计数法 (2)字符填充法 (3)0bit填充法 (4)违规编码法
3.2.2 组帧方式
1.字符计数法
2.字符填充法
添加SOH(Start of header)和EOT(End of transmission)来作为传输数据的头与尾,下图为填充发送、接收过程
问题:为什么要字节填充呢?
答:
3.0bit填充法
首尾部都是 (01111110),对于中间部分,采用(5个1 后添加0)的方式封装
操作:发送方:
接收方(逆过程):
4.违规编码法
用 “高-高”,“低-低”界定帧的起始和终止
3.3 差错控制
差错从何而来?
噪声(随机噪声、冲击噪声)
那么由此两种噪声引出两种差错:位错、帧错
ps:接下来所提到的差错控制是针对 :位错 所提出的控制
为什么进行差错控制?
你想如果一条数据有问题,不及时发现的话,那么结果会耗费大量的资源而得到错误信息,这样是不值得的
所以,接下来提出两种差错控制方式:
3.3.1 检错编码
1.奇偶校验码
定义:
例题:
特点:只能检查出 奇数个bit错误,检错能力为1/2
2.CRC循环冗余码
原理:
例题:
接收端检测余数R:
3.3.2 纠错编码
1.海明码(发现双bit错,纠正单bit错)
工作原理:牵一发而动全身
工作流程:
2.工作流程
3.4 流量控制和可靠传输机制
3.4.1 流量控制
1.流量控制方法:停止-等待协议 滑动窗口协议
3.4.2 可靠传输、滑动窗口、流量控制关系
3.4.3 停止-等待协议
1.无差错情况:
2.有差错情况:
(1)发送帧丢失
(2)确认帧丢失
(3)ACK迟到