1. 概述
数据链路层负责通过一条链路从一个结点向相邻结点发送数据帧,在这之间需要使用信道,也就是传输系统。信道主要用以下两种类型:
- 点对点信道
- 广播信道
数据链路层提供的服务:
- 封装成帧:在一段数据的前后分别添加首部和尾部,用以确定帧的界限。
- 链路接入(广播信道):如果是共享介质,需要解决信道接入问题。此外还要解决链路层寻址问题
- 透明传输:数据报内容不影响链路层协议工作,也就是透明传输。常用字节填充或零比特填充
- 差错检测:检验比特在传输过程中是否出错。常用循环冗余检验(CRC)法
- 帧编号、确认重传机制(通信质量不好的链路中):使用确认重传机制,配合帧编号,实现可靠数据传输。
数据链路与帧:
- 链路:从一个结点到相邻结点的一段物理线路
- 数据链路:物理链路,还有控制数据传输的通信协议
- 网络适配器(网卡):实现了链路层协议的硬件和软件,作用于数据链层和物理层
常见的差错编码
**奇偶校验码:**检测奇数位差错
二维奇偶校验:检测奇数位差错、部分偶数位差错,纠正同一行/列的奇数位错
Internet校验和:
- 将数据划分为16位的二进制整数序列
- 求和:补码求和,再取反
- 将和放入分组(UDP,TCP检测段)
循环冗余校验码:CRC
- 添加冗余比特: D − > D R D->DR D−>DR,R用于差错检测与纠正比特
- 差错编码可分为检错码和纠错码
- 对于检错码,如果编码集的汉明距离 d = r + 1,则该差错编码可以检测r位的差错
- 编码集的汉明距离:集合内编码不同bit位数的最小值
- 对于纠错码,如果编码集的汉明距离 d = 2r + 1,则该差错编码可以纠正r位的差错
+++
2. 点对点协议PPP
2.1 PPP协议的特点
我们知道,因特网用户通常都要连接到某个**ISP(网络服务提供商)**才能接入到因特网。而PPP协议就是用户计算机和ISP进行通信时所使用的数据链路层协议。
PPP协议有以下特点:
- 简单:只提供差错检验功能,纠错、确认重传由上层协议提供
- 封装成帧:PPP协议必须规定特殊的字符作为帧定界符,以便从接收到的比特流中找到帧的开始与结束位置
- 透明传输:保证数据传输的透明性,不影响帧定界符的作用
- 多种网络协议:PPP协议必须能够在在同一条物理链路上同时支持多种网络层协议(如IP和IPX等)的运行
- 多种类型链路:PPP协议必须能在不同物理链路上传输
- 差错检测:PPP协议必须能够对接收端收到的帧进行检测,并立即丢弃有差错的帧
- 检测连接状