3第三章 数据链路层
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据链路层的概述
检错、纠错的原理(续):
案例二: 若在上诉案例中增加一位监督码元,且增加码 元与信息码元相同,即用11表示A,用00表示B。 如果在传输过程中发生一位错误,出现了10或 01,此时接收端就可以发现这种错误,因为发送 端不可能发送01或10。 但是此时发送端无法纠正这种错误,当接收到 10或01时,接收端无法确定发送端要发的是11还 是00。
在接收端把 5 个连 1 之后的 0 比特删除
数据链路层的概述
实现透明传输的几 种方法(续)
(3)违法编码 在物理层采用特定 的比特编码方法。 例如数据采用的是 曼彻斯特编码,这 时控制编码采用全 高和全低的不归零 码,这些不归零码 对于曼彻斯特编码 而言是违法的。
数据链路层的概述
实现透明传输的几种方法(续)
在物理层扩展:集线器 在数据链路层扩展:网桥
典型以太网
数据链路层的概述
数据链路层的信道主要有以下两种类型:
点对点信道 这种信道使用一对一的点对点通信方式。 广播信道 这种信道使用一对多的广播通信方式,因此过 程比较复杂。广播信道上连接的主机很多,因 此必须使用专用的共享信道协议来协调这些主 机的数据发
点对点协议PPP
PPP的帧格式:
先发送 IP 数据报
首部
F A C 7E FF 03 协议 2 信 息 部 分
尾部
FCS 2
F 7E
1
字节
1
1
1
不超过 1500 字节 PPP 帧
标志字段 F = 0x7E ,这是帧的定界符,表示帧开 始与结束。 (符号“0x”表示后面的字符是用十六进制表示。 十六进制的 7E 的二进制表示是 01111110)。
ຫໍສະໝຸດ Baidu 数据链路层的概述
差错检测
差错检测的方法很多,常用的是利用信道编码 进行差错检测。 信道编码的基本思想是在传输的信息中加入一 些冗余码,或叫做监督吗。它与被传送的信息 有一定关系(规律),利用这些关系(规律), 我们可以判断信息的正误从而纠正他们。
数据链路层的概述
检错、纠错的原理:
案例一: 设发送端发送A、B两个消息,此时我们采用一 位编码,即1表示A,0表示B。 如果在发送过程中发生误码,将1错成0,将0 错成1,由于1和0都是发送的码元,接收端无法判 断收到的信息是否正确。 因此这种方法没有检错纠错能力。
数据链路层的概述
数据链路层的传输单元----帧
结点 A 网络层 数据 链路层 物理层 帧
1010… …0110
结点 B IP 数据报 取出 帧
1010… …0110
IP 数据报 装入
(a) 链路 结点 A 数据 链路层 (b) 发送 帧 链路 接收 帧 结点 B
数据链路层的概述
数据链路层的基本问题:
数据链路层的概述
检错、纠错的原理(续):
案例三: 若在上诉案例中再增加一位监督码元,一共是 三位监督码元,监督码元和信息码元依然一样, 此时我们用111表示A,用000表示B。 这时如果传输过程中出现一位错误,110或001 或101或010等等,此时接收端不但可以检查出是 否出错,而且还可以根据错码与000,111的相似程 度还原纠正错误的码元。 但如果出现了两位错误,此时虽然接收端可以 判断出信息出错,但是此时纠错的话会导致纠错 错误。
数据链路层的概述
奇偶校验(续)
(1)垂直奇偶校验(常规奇偶校验)(续)
垂直奇偶校验的例子
偶校验:1101 001 0
奇校验:1010 000 1 能检出所有奇数位错误,漏检率=1/2。
数据链路层的概述
奇偶校验(续)
(2)水平奇偶校验(加强奇偶校验) 例子:发送3组3位的信息 对于垂直奇偶校验,每组信息加一位,共4位3 组信息。 对于水平奇偶校验,每组不加任何位,发送3 组信息后再发送一组完全又奇偶校验位组成的信 息,分别对应每组信息的第一位、第二位和第三 位。 水平奇偶校验的检测率较垂直的高;但是检错 时间较长,必须收到校验帧才能开始检错。
注意:这里采用的是模2运算
数据链路层的概述
模2运算:
0+0=0 0-0=0 0+1=1 1+0=1 1+1=0 0-1=1 1-0=1 1-1=0
这里求出 R=1010,就 将R替换后补的零 ,然后发送信息。
数据链路层的概述
(4) 接受信息流程: 1.接受端收到信息后就直接将收到的信息除以G(X), 这里还是使用模2运算。 2.如果得到的余数是0,说明收到的结果没有出错; 3.如果得到的余数是1,说明收到的结果出现错误。 思考一下:为什么可以检错?可靠吗? CRC的特点: 可检出所有奇数位错误; 可检出所有双比特错误;
数据链路层的概述
零比特填充举例
信息字段中出现了和 标志字段 F 完全一样 的 8 比特组合
01001111110001010
会被误认为是标志字段 F
发送端在 5 个连 1 之后 填入 0 比特再发送出去
010011111010001010
发送端填入 0 比特 010011111010001010 接收端删除填入的 0 比特
(4)字节计数法 使用一个特殊字符表示帧的开始,然后用一个专门 的字段来表明帧内的字节数,也就是这一帧的长度。 数字数据通信报文协议DDCMP帧格式:
8 14 2 8 8 Seg 8 Addr 16 CRC1 8~131064 Data 16 CRC2 SOH Count Flag Ack
这个帧格式可变的只有数据部分,长度最长为8* ((2^14)-1)= 131064,长度必须为8的整数倍。 双重校验的原因是,如果Count出错,则整个帧都会 出现错误(丢失或多出一些字节),而不仅仅是数 据部分。
数据链路层的概述
常用的CRC生成多项式
可以看出,生成多项式G(X)位数越多,校验能力 越强。 目前广泛使用的有以下四种:
(1)CRC12 (2)CRC16 (3)CRC16 (4)CRC32
= = = =
X12 X16 X16 X32 X10
+ + + + +
X11 + X3 + X2 + 1 X15 + X2 + 1 (IBM) X15 + X5 + 1 (ITU) X26 + X23 + X22 + X16 + X11 + X8 + X7 + X5 + X4 + X2 + X + 1
如何控制帧在信道上传输; 如何进行差错控制和数据同步; 如何建立的收发双方通信连接。
数据链路层的三个基本功能:
(1) 封装成帧 (2) 透明传输
(3) 差错控制
数据链路层的概述
封装成帧
封装成帧(framing)就是在一段数据的前后分别 添加首部和尾部,然后就构成了一个帧。确定 帧的界限。 为什么要封装成帧? (1)统一的信息格式 (2)便于管理与同步 (3)可以添加控制信息(差错、流量)
点对点协议PPP
PPP协议的概述
早期通信线路质量很差,曾广泛使用一种叫高 级数据链路控制HDLC的数据链路层协议。 对于点对点链路,HDLC目前已经很少使用了, 现在使用较多的是简单得多的PPP协议。 PPP协议的典型案例就是用户调制解调器和远端 路由器之间的拨号连接。
已向因特网管理机构 申请到一批 IP 地址 用 户 接入网 ISP 至因特网
数据链路层的概述
奇偶校验
(1)垂直奇偶校验(常规奇偶校验) 奇偶校验的原理: 在数据后面加1位,作为奇偶校验位。比如 ASCII编码一共7位,再加一位奇偶校验码,共8位。 通过控制校验位,可以改变数据中“1”码的 个数,因此来判断正误。 因此奇偶校验又可以分为: 偶校验:数据中“1”码的个数永远为偶数个。 奇校验:数据中“1”码的个数永远为奇数个。
数据链路层的概述
(2)信息码的组成 我们将要发送的信息的多项式设为T(X); T(X)由两部分组成,分别是信息位K(X)和冗余位R(X), 其中冗余位用于检测信息是否出错。 例如: 信息位:1011001 冗余位:1010 信息码:10110011010 K(X)= X6 +X4 +X3 +1 R(X)= X3 +X T(X)= X4· K(X)+R(X) = X10 +X8 +X7+ X4 +X3 +1
数据链路层的概述
帧的一般格式:
首部和尾部的一个重要作用就是进行帧定界。 中间是帧的信息部分,有长度限制。 帧开始 开始 发送 帧首部
IP 数据报
帧的数据部分 MTU 数据链路层的帧长
帧结束 帧尾部
数据链路层的概述
用控制字符进行帧定界的方法举例
这里我们以二进制同步通信协议(BSC)为例。 BSC是IBM公司最早提出的面向字符同步的协议,最 后ANSI和ISO也都提出了类似的标准。 BSC使用的信息编码是ASCII码 控制编码则是自定的编码,例如: SOH:报文报头开始 EOT:报文结束,拆除链路
数据链路层的概述
实现透明传输的几种方法
(1)使用字符填充的首尾定界符法 用特定字符来界定一帧的起始于终止(如BSC规 程)。这些特殊字符依赖于字符的编码集,兼 容性较差。 例子:
单片机聊天室的软件
这种方式称为 “字节填充法”或 “字符填充法”
数据链路层的概述
字节填充法举例
发送端的数据链路层在数据中出现控制字符 “SOH”或“EOT”的前面插入一个转义字符 “ESC”(其十六进制编码是 1B)。 是否完全解决透明传输问题了呢? 若数据部分出现“ESC”怎么办? 如果转义字符也出现数据当中,那么应在转义 字符前面插入一个转义字符。当接收端收到连 续的两个转义字符时,就删除其中前面的一个。
数据链路层的概述
(3) 发送信息流程: 1.发送信息前,收发双发必须约定一个大家都知 道的生成多项式G(X)。 2.发送端先把数据划分为组,假定每组k个比特位 (信息位)。然后在信息位后加上n位冗余码一起发 送,共k+n位。 例如:1011001(k=7);这里设 n=4 。 3.求冗余位R。这里用Xn乘以信息位,相当于在信 息位后补n个零。然后用得到的结果除以G(X),得到 的余数就是要求的冗余位R。
帧开始符
SOH
帧结束符 装在帧中的数据部分 帧
EOT
发送在前
数据链路层的概述
透明传输
定义:就是无论什么样排列的代码都可以在信 道中传输,这样的数据对于收发控制端而言是 透明的。 用一个例子来理解: 出现了“EOT” 完整的帧 发送 在前 数据部分
SOH EOT EOT
被接收端 误认为是一个帧
被接收端当作无效帧而丢弃
PPP 协议
点对点协议PPP
PPP协议的特点
简单:没有流量控制,没有纠错功能。 封装成帧 透明性
支持多种网络层协议 支持多种链路 差错检测 能够检测连接状态 控制最大传输单元
点对点协议PPP
PPP协议没有的功能
纠错:PPP协议不提供可靠服务 流量控制:在TCP/IP中,只有运输层负责 序号
多点线路 半双工或单工链路:PPP只支持全双工链路
数据链路层的概述
奇偶校验(续)
(3)水平垂直奇偶校验(方块校验) 方块校验的方法集合了水平和垂直两种方法, 其优点是检错率更高,还可以纠正1位错码。 但是检错时间依然较长。 必然能检出4位以下的错误、奇数位错误及一大 部分偶数位错误。
数据链路层的概述
循环冗余检验
奇偶校验漏检率较高,不适合计算机网络,在 计算机网络中的数据链路层广泛还用的是循环 冗余CRC校验,CRC码也称为多项式码。 编码概述: (1)二进制数与多项式的关系 任何二进制码组都可以唯一的对应一个系数为0或 1的多项式。 例如:
数据链路层的概述
字节填充法举例(续)
帧开始符
SOH EOT
原始数据
SOH ESC SOH
帧结束符
EOT
字节填充
SOH ESC EOT
字节填充
ESC SOH
字节填充
ESC ESC
字节填充
ESC SOH EOT
发送 在前
经过字节填充后发送的数据
数据链路层的概述
实现透明传输的几种方法(续)
(2)使用比特填充的首尾标志法 使用特定的比特模式(如01111110)来标志一 帧的起始于终止。如果出现如果数据中出现连 续5个“1”,则在最后一个“1”后加一个 “0”,然后再发送。接收端收到后则自动删除 多加的“0”。 我们成这种方式为“零比特填充”
第三章 数据链路层
自动化系 匡畅
本章内容
数据链路层的概述
数据链路的帧 数据链路的功能(三大问题)
点对点协议PPP
PPP协议概述 PPP协议帧格式 PPP协议工作状态
本章内容(续)
局域网和以太网
局域网的拓扑结构 以太网的两个标准 适配器的作用
CSMA/CD协议 以太网的MAC层
本章内容(续)
以太网的扩展