第三章 数据链路层

一、数据链路层的作用

数据链路层的作用就是将网络层的数据包封装成帧(交给物理层)发送到链路上;或者把(从物理层中)接收到的帧中的IP数据报取出并交给网络层

二、基本概念

第三章 数据链路层
帧的格式
第三章 数据链路层

三、数据链路层的三个基本问题

第三章 数据链路层

1、帧界定的方法-使用控制字符

第三章 数据链路层

SOH和EOT的十六进制值分别为01和04,二进制值分别为00000001和00000100

2、实现透明传输的方法-字节填充(或字符填充)

当传输的数据中含有与控制字符相同的二进制数值时就会造成传输错误,例如

第三章 数据链路层

此时应在中间的EOT前面填充一个字节“ESC”,称之为转义字符。其十六进制值为1B,二进制值为00011011,这种方法称之为字节填充(或字符填充)

3、比特差错

比特在传输过程中由0变为1或由1变为0的错误
在数据链路层我们保证的是无比特差错,而并无传输差错,传输差错还包含帧丢失,帧重复,帧失序等;

4、误码率

传输错误的比特占所传输的总比特数的比率。误码率与信噪比有关,信噪比越高,误码率越低

5、循环冗余检验原理

发送数据=K位数据+n位冗余码
例如:1)、假设发送数据为M=101001 位数k=6,取一个n+1位的除数P,这里取n=3,假设P=1101
2)、做模2运算:计算M/P的余数

第三章 数据链路层

这里在做减法时,1-1=0,1-0=1,0-0=0,0-1=1,不借位

计算所得的余数就是001就是冗余码,刚好有三位,与n值相等,则要发送的数据就是M+R=101001001,在接收端对收到的数据以帧为单位进行CRC检验(除以相同的数P),如果余数为0则表示收到的数据正确,否则说明数据出错

四、点对点(PPP)协议

1、PPP协议的特点

第三章 数据链路层
第三章 数据链路层

2、PPP协议的组成

第三章 数据链路层

3、PPP协议的帧格式

1)、各字段的意义
第三章 数据链路层

F为标志字段,表示一个帧的开始或者结束
A为地址字段,规定为0xFF
C为控制字段,规定为0x03
协议字段区分信息部分的内容(为0x0021时表示信息字段时IP数据报,为0xC021时,表示信息字段为PPP链路控制协议LCP的数据,为0x8021 时表示这是网络层的控制数据)
信息字段的长度可变,不超过1500字节
FCS字段表示的是帧检验序列

2)、同步传输与异步传输

同步传输:逐个字符地传输
异步传输:一连串的比特连续传送

3)、字节填充与零比特填充

字节填充:当PPP使用异步传输时,它把转义字符定义为0x7D(即01111101),若信息字段中出现和标志字段相同的比特组合时,则进行字节填充

零比特填充:当PPP使用同步传输时,采用零比特填充。
原理:在发送端扫描整个信息字段,只要发现有5个连续的1就填入一个0;在接收端首先找到帧开始边界,然后扫描比特流,当发现5个连续的1时就将后面的一个0删除

第三章 数据链路层

4、PPP协议的工作状态

第三章 数据链路层