数据链路层
数据链路层名词解释
数据链路层名词解释
数据链路层是OSI模型中的第二层,它负责在物理层提供的物
理连接上传输数据。
数据链路层的主要任务包括两个方面,一是提
供可靠的数据传输,二是进行数据的差错检测和纠正。
在数据链路层中,数据被划分为帧(frame),每一帧包含了数
据以及必要的控制信息,比如同步信息、地址信息、差错检测码等。
这些控制信息帮助确保数据的可靠传输和接收。
数据链路层还负责
管理物理介质的访问,以便多个设备能够共享同一物理链路。
数据链路层的协议有很多,比较常见的包括以太网(Ethernet)、无线局域网(Wi-Fi)、点对点协议(PPP)等。
每
种协议都有自己的规范和特点,但它们都致力于在物理层提供的传
输介质上实现可靠的数据传输。
总的来说,数据链路层在网络通信中扮演着至关重要的角色,
它通过帧的方式将数据从一个设备传输到另一个设备,并且在传输
过程中保证数据的完整性和可靠性。
数据链路层的定义与基本功能
数据链路层的定义与基本功能一、数据链路层基本概念1.1结点:数据链路层上的结点主要是主机和路由器。
由物理线路联接起来的两个结点,又叫相邻结点。
1.2链路:网络中两个结点之间的物理通道,链路的传输介质主要有双绞线、光纤和微波。
分为有线链路、无线链路。
1.3数据链路:两络中两个结点之间的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路。
1.4帧:链路层的协议数据单元,作用是封装网络层数据报。
数据链路层的作用是负责通过一条链路从一个结点向另一个物理链路直接相连的相邻结点传送数据报。
数据链路层在物理层提供服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标网络层。
主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。
二、数据链路层具备的基本功能(1)为网络层提供服务数据链路层向网络层提供三种基本功能:1、无确认无连接服务,2、有确认无连接服务,3、有确认面向连接服务。
无确认无连接服务:通常用于实时服务,或误码率比较低的通信信道。
源主机在发送数据时没有事先与目标主机建立链接,而且目的主机在收到数据时,也不需要发送确认数据,如果帧丢失,数据链路层也不负责重发,而直接交由上层处理。
有确认无连接服务:源主机在发送数据时没有事先与目标主机建立链接,但目的主机在收到数据时,必须发送确认数据帧,如果源主机在规定时间内没有收到确认数据,则源主机则重发一次数据。
这就可以提搞链路上的可靠性,一般用于无线传输。
有确认面向链接服务:源主机在发送数据时事先与目标主机建立链接,同时目的主机在收到数据时,必须发送确认数据帧。
(2)链接管理,即连接的建立、维持、释放(用于面向连接的服务)。
(3)组帧。
(4)流量控制,限制发送方的发送速度。
(5)差错控制,差错控制主要有帧错或是位错。
计算机网络 第三章 数据链路层
3.4 使用广播信道的以太网 3.4.1 使用集线器的星形拓扑 3.4.2 以太网的 MAC 层
第 3 章 数据链路层(续)
3.5 扩展的以太网 3.5.1 在物理层扩展以太网 3.5.2 在数据链路层扩展以太网
数据链路层像个数字管道
常常在两个对等的数据链路层之间画出 一个数字管道,而在这条数字管道上传 输的数据单位是帧。
结点
帧
帧
结点
早期的数据通信协议曾叫作通信规程 (procedure)。因此在数据链路层,规程 和协议是同义语。
3.1.2 三个基本问题
(1) 封装成帧 (2) 透明传输 (3) 差错控制
计算机网络
第 3 章 数据链路层
第 3 章 数据链路层
3.1 使用点对点信道的数据链路层 3.1.1 数据链路和帧 3.1.2 三个基本问题
3.2 点对点协议 PPP 3.2.1 PPP 协议的主要特点 3.2.2 PPP 协议的帧格式 3.2.3 PPP 协议的工作状态
第 3 章 数据链路层(续)
逻辑链路控制 LLC (Logical Link Control) 子层
媒体接入控制 MAC (Medium Access Control) 子层。
与接入到传输媒体有关的内容都放在 MAC 子层,而 LLC 子层则与传输媒体无关, 不管采用何种协议的局域网对 LLC 子层 来说都是透明的
零比特填充
PPP 协议用在 SONET/SDH 链路时,是使用同步 传输(一连串的比特连续传送)。这时 PPP 协 议采用零比特填充方法来实现透明传输。
在发送端,只要发现有 5 个连续 1,则立即填 入一个 0。接收端对帧中的比特流进行扫描。每 当发现 5 个连续1时,就把这 5 个连续 1 后的 一个 0 删除,
第三章数据链路层
定义:在星形拓扑中, 每个设备只与中心控 制器有点到点专用链 路。设备并不互相连 接。中心控制器通常 为集线器Hub。 HUB是一个共享设备,主要提供信号放大和中转 的功能,它把一个端口接收的所有信号向所有端 口分发出去。一些集线器在分发之前将弱信号加 强后重新发出,一些集线器则排列信号的时序以 提供所有端口间的同步数据通信。
连接中设备间相互关系:
对等式:设备平等地共享链路。如环形、 网状拓扑。
主从式:由一个设备控制通话而其他设备 必须通过它进行传输。如星形、树形拓扑。 总线式拓扑适合于任意一种模式。
1、Mesh Topology(网状拓扑) 定义:在网状拓扑中,设备之间实现点对点连接, 每条链路只承载所连接的两站点之 间的通信流量。
CRC是基于二进制除法的。 定义
CRC是通过在数据单元末尾附加一串循环冗余码 或循环冗余校验余数使得整个数据单元可被另一个预 定二进制数(生成函数)所整除。在传输终点,用同一 个数去除输入的数据单元。如果此时不产生余数,则 认为数据单元完全正确,接受该数据单元。有余数则 意味着该数据单元在传输过程中被破坏而拒绝该数据 单元。
余数为0, 所以码字正确。
② 因生成码共5位,所以: 冗余码有4பைடு நூலகம்,为1001 ;
信息码是:110011。
注意:
循环冗余校验CRC只能做到差错检测而不能进行 差错纠错。 循环冗余校验CRC只能做到无差错接受,即“凡 是接收端数据链路层接受的帧,都以非常接近于1的 概率认为这些帧在传输过程中没有产生差错”。 但要使传输到接收端的帧无差错、无丢失、无重 复,按发送顺序接受,就必须加上确认和重传机制。
到达接收方的数据单元首先是数据,然后是 CRC码,接收方将整个数据串(数据+CRC码)当作 一个整体去除以用来产生CRC码的同一个除数。 如果数据串无差错到达接收方,则产生余数0, 数据单元将通过校验;如果在传输中数据单元被改 变,则除法将产生非零余数,数据单元将不能通过 校验。
第4章数据链路层
说明:在很多数据链路协议中,使用字符 计数法和一种其它方法的组合
第四章
数据链路层
4.3 差错控制
差错原因与类型
原因:主要是因为在通信线路上噪声干扰的结果 类型:随机错和突发错
热噪声----〉 随机错误 冲击噪声--〉 突发错误 通信过程中产生的传输差错是随机错误和突发错误构成的
误码率Pe
计算机通信的平均误码率要求< 10 -9
发端连续发送M帧,接收端收到后,依 次检验并发出应答帧 若第N帧出错,丢弃第N帧,则缓存第n 帧以后的所有正确帧(要有足够缓存) 接收端发送出错信息(第N帧出错) 发送端收到出错信息则重发第N帧
第四章
数据链路层
帧丢失情况
两种可能
数据帧丢失 确认帧丢失
解决办法:超时重发
可 能 导 致
重复帧情况 解决重复帧问题:采用帧编号
用物理层信息编码中未用的电信号来作为帧的边界
只适用于物理层编码有冗余的网络
802 LAN:Manchester encoding or Differential Manchester encoding 用 high-low pair/low-high pair表示1/0, high-high/low-low不表示数据,可以用来做 定界符。
N(S) S M 3 4
P/F P/F P/F 5 6
N(R) N(R) M 7 8
A是地址字段(Address),由8位组成 C是控制字段(Control)
信息帧:第一bit为0,2至4比特为当前发送的信息帧的序号 6至8比特则代表为接收序号即期望收到的帧的发送序号 监控帧:1至2比特为“10”, 3至4比特用以代表四种不同 类 型的监控帧,协调双方通信状态(流量控制,差错控 制) 无序号帧:第1至2比特为“11”, 3、4、6、7和8比特用M (Modifier)表示,M的取值不同表示不同功能的无序号帧, 用于建立连接和拆除连接
数据链路层PPT课件
3.2 点对点协议 PPP—4帧格式
先发送
首部
FAC 7E FF 03
字节 1 1 1
协议 2
IP 数据报
信息部分 不超过 1500 字节 PPP 帧
尾部
FCS
F 7E
2
1
3.2 点对点协议 PPP—4帧格式
当 PPP 用在同步传输链路时 ,采用比特填充。
在发送端,只要发现有 5 个 连续 1,则立即填入一个 0 。接收端对帧中的比特流进 行扫描。每当发现 5 个连续 1时,就把这 5 个连续 1 后 的一个 0 删除,
1. 进行串行/并行转换 2. 对数据进行缓存 3. 在计算机的操作系统安装设备驱动程序 4. 实现以太网协议
40
3.3 使用广播信道的数据链路层—概述
IP 地址
计算机
硬件地址
CPU 和 存储器
并行 通信
适配器 (网卡)
至局域网 串行通信
生成发送的数据 把帧发送到局域网 处理收到的数据 从局域网接收帧
(1) 封装成帧 (2) 透明传输 (3) 差错控制 (4)最大传送单元 (5)网络层地址协商
1. PPP 协议不需满足的需求 (1) 纠错
(2) 流量控制
3.2 点对点协议 PPP—3组成部分
PPP 协议有三个组成部分 1. 一个将 IP 数据报封装到串行链路的方法 2. 链路控制协议 LCP (Link Control Protocol) 3. 网络控制协议 NCP (Network Control Protocol)
3.2 点对点协议 PPP—1应用范围
现在全世界使用得最多的数据链路层协议是点对 点协议 PPP (Point-to-Point Protocol)。
第三章数据链路层
第三章数据链路层重点内容(⼀)数据链路层的功能(⼆)组帧(三)差错控制1、检错编码2、纠错编码(四)流量控制与可靠传输机制1、流量控制、可靠传输与滑动窗⼝机制2、停⽌-等待协议3、后退N帧协议(GBN)4、选择重传协议(SR)⼀、使⽤点对点信道的数据链路层1、数据链路和帧链路是⼀条⽆源的点到点的物理线路段,中间没有任何其他的交换结点数据链路除了物理线路外,还必须有通信协议来控制这些数据的传输。
若把实现这些协议的硬件和软件加到链路上,就构成了数据链路常常在两个对等的数据链路层之间有⼀个数字管道,⽽在这条数字管道上传输的数据是帧2、基本问题(功能)(1)封装成帧封装成帧就是在⼀段数据的前后分别添加⾸部和尾部,这样就构成了⼀个帧。
接收端在收到物理层上交的⽐特流,就能根据⾸部和尾部的标记,从收到的⽐特流区别帧的开始和结束(⾸部和尾部还夹杂着控制信息)数据链路帧的特点数据部分的前⾯和后⾯分别添加上⾸部和尾部,构成⼀个完整的帧。
帧是数据链路层的数据传送单元。
⾸部和尾部还包括许多必要的控制信息每⼀种链路层协议都规定了所能传送的帧的数据部分长度上限——最⼤传送单元MTU⼀个控制字符SOH放在⼀个帧的最前⾯,表⽰帧的⾸部开始。
另⼀个控制字符EOT表⽰帧的结束(⼀般情况下,⾸部和尾部的长度加起来⼀般⼩于原始报⽂的长度)(2)透明传输“在数据链路层透明传输数据”表⽰⽆论什么样的⽐特组合的数据都能够通过这个数据链路层链路采⽤字节填充法,来确保上⽅情况的发⽣(3)差错检测传输错误的⽐特占所传输⽐特总数的⽐率称为误码率BER。
例如,误码率为10的负⼗次⽅时,表⽰平均每传送10的⼗次⽅个⽐特就会出现⼀个⽐特的差错在计算机⽹络传输数据时,必须采⽤各种差错检测措施。
⽬的在数据链路层⼴泛使⽤了循环冗余校验技术(CRC)CRC①在发送端,先把数据划分组,假定每组k个⽐特。
现假定待传送的数据M=1010001101(k=10)。
CRC运算就是在数据M的后⾯添加供差错检验⽤的冗余吗,然后构成⼀个帧发送出去,⼀共发送(k+n)位设n=5,P=110101(P是除数),模2运算的结果是:Q=1101010110余数R=01110将余数R作为冗余码添加在数据M的后⾯发送出去,即发送的数据是101000110101110,或2的n次⽅乘以M+R在数据后⾯添加上的冗余码称为帧检验序列FCS循环冗余检验CRC和帧检验序列FCS并不等同CRC是⼀种常⽤的检错⽅法,⽽FCS是添加在数据后⾯的冗余码FCS可以⽤CRC这种⽅法得出,但CRC并⾮⽤来获得到FCS的唯⼀⽅法②在接收端把接收到的数据以帧为单位进⾏CRC检验:把收到的每⼀个帧都除以同样的除数P(摸2运算),然后检验得到的余数R③在接收端对收到的每⼀帧经过CRC检验后,有以下两种情况:(a)若得出的余数R=0,则判定这个帧没有差错,就接受(b)若余数R≠0,则判定这个帧有差错,(但⽆法确定究竟是哪⼀位或哪⼏位出现了差错),就丢弃仅⽤循环冗余检验CRC差错检测技术只能做到⽆差错接受“⽆差错接受”是指:“凡是接受的帧(不包括丢弃的帧),我们都能以⾮常接近于1的概率认为这些帧在传输过程中没有产⽣差错”。
三、数据链路层
三、数据链路层内容摘要:数据链路层协议有很多,但有三个基本问题是共同的:封装成帧、透明传输、差错检测数据链路层主要分两种:点对点信道:使⽤PPP协议⼴播信道:使⽤CSMA/CD协议使⽤⼴播信道的数据链路层——局域⽹使⽤⼴播信道的以太⽹——以太⽹在局域⽹⾥占有绝对优势,⼏乎成了局域⽹的同义词适配器、转发器、集线器、⽹桥、以太⽹交换机点对点和⼴播信道的结合——使⽤以太⽹进⾏宽带接⼊需要先知道的⼀些名词和概念:链路:两点之间的物理线路(可以是有线也可以是⽆线)数据链路:链路+协议⽹络适配器:通过其中的软件和硬件来实现数据链路上的协议。
⼀般的适配器都包括了物理层和数据链路层的功能路由器在转发分组时使⽤的协议栈只有下⾯三层。
(不⼀定,当路由器之间交换路由信息时,根据所使⽤的路由协议的不同,也可能需要使⽤运输层协议,见4.5节)数据链路层的三个基本问题封装成帧发送端对IP数据报添加⾸部和尾部,封装成帧⾸部+尾部的作⽤就是帧定界,指明从哪到哪是⼀个完整的帧。
接收端根据帧定界符丢弃不完整帧帧的构成:⾸部+尾部+IP数据报(帧的数据部分)各种数据链路层协议都对帧的⾸部和帧的尾部格式有明确的规定,还都规定了各⾃的最⼤传送单元 MTU(帧数据部分的最⼤长度)透明传输透明表⽰⼀个实际存在的事物看起来却好像不存在⼀样(例如玻璃)ASCLL码7位编码,⼀共128个不同的编码,可打印的95个,不可打印的33个SOH(00000001)和EOT(00000100)是帧的⾸尾定界符,都占有8bit,⽽ASCLL码7bit。
当帧是⽤⽂本⽂件(ASCLL码)组成的时候,不管从键盘上输⼊什么字符,都会通过这个数据链路层,仿佛是透明的⼀样。
但是图像⽂件等不保证不会出现SOH和EOT所以可能会出现阻碍(数据传输错误),解决办法是加转义字符ESC(00011011),这种⽅法称为“字节填充”或“字符填充”差错检测传输差错:①帧丢失②帧重复③帧失序⽐特差错:现实通信链路中,⽐特在传输时会出现,0变1,1变0。
现代网络技术 第2章 数据链路层
第2章 数据链路层
2.3 连续ARQ协议
2.3.1 连续ARQ协议的工作原理 连续ARQ协议的主要思想是发送端在发送完一个数 据帧后,不是停下来等待应答帧,而是连续再发送若 干个数据帧。如果这时收到了接收端发来的确认帧, 那么还可以接着发送数据帧。由于减少了等待时间,
整个通信的吞吐量得到了提高。
DAT A
送主机 B
图2-2 两种数据传输情况对比 (a) 完全理想化的数据传输; (b) 具有最简单的流量控制的数据链路层协议 《现代网络技术》
第2章 数据链路层
2.2.3 实用的停止等待协议
图2-3(a)是数据在传输过程中不出差错的情况。 收方在收到一个正确的数据帧后,即交付给主机B,同 时向主机A发送一个确认帧ACK。当主机A收到确认帧 ACK后才能发送一个新的数据帧。这样就实现了收方 对发方的流量控制。
《现代网络技术》
第2章 数据链路层
为了防止不必要的超时重发,可以把tout 取稍大些,
例如,取tout=2tp+2tf于是得出 tT=tf+tout = 2tp+3tf α=tT/ tf= 3+2tp / tf 在这种情况下,连续ARQ协议明显优于停止等待
协议。
如果将线路速率从9.6 kb/s提高到56 kb/s,则对1200 bit长的数据帧, tf =1200/56000≈ 21 ms
《现代网络技术》
第2章 数据链路层
在发送端,设数据帧的实际到达率为λ(即每秒到
达λ个帧),则λ不应超过最大吞吐量λmax,即 λ≤(1-p)/tr 用时间tf进行归一化,得出归一化的吞吐量ρ为 ρ≡λtf≤(1-p) /α< 1
其中参数α是tf的归一化时间:
α ≡ tr / tf ≥ 1 当重发时间远小于发送时间时,α≈1,此时的归一 化吞吐量 ρ≤1- p, 当α≈1时
网络原理 第4章:数据链路层
比较: • 纠错码能自动纠正错误,但实现困难, 在一般通信场合不易采用。 • 检错码需通过重传机制达到纠错目的, 但工作原理简单,实现容易。
10
常用的检错码
• 奇偶校验码 垂直奇(偶)校验 水平奇(偶)校验水平 水平垂直奇(偶)校验(方阵码) 特点:方法简单,但检错能力差,只用于通信 要求较低的环境。 • 循环冗余编码CRC 目前应用最广的检错码编码方法之一
差错产生的过程如图:
数据信号 与噪声信号 叠加后的波形 采样时间 接收数据 原始数据 0 0 1 1 0 0 1 1 1 1 0 0 1 0 1 1 1 1 0 0 0 0 1 1 0 0 0 1 0 0
出错的2位 (b)差错产生过程示意图
5
《计算机网络》第4章 数据链路层
物理线路的噪声分类: (1)热噪声: 由传输介质导体的电子热运动产生。 特点:时刻存在,幅度较小,强度与频率无关, 频谱很宽。 是一种随机噪声,由其引起的差错是随机差错。 (2)冲击噪声: 由外界电磁干扰引起。 •特点:幅度较大,是引起传输差错的主要原因。 •其引起的传输差错是一种突发差错。
实际发送: f(x)
.
x + R(x)
R'(x)= R(x) 接收正确 R'(x)≠ R(x) 接收错误
数据字段 校验字段 f(x)
.
x
k
+ R(x) 发送
12
《计算机网络》第4章 数据链路层
CRC校验的工作原理: • 任意一个由二进制位串组成的代码都可以和一个系数仅 为‘0’和‘1’取值的多项式一一对应。 • 例如:发送数据比特序列为10111,其对应的多项式为 f(x)=x4+x2+x+1. • 生成多项式为事先约定好的,如:G(x)=x4+x3+1;则对 应G(x)的二进制代码为: 11001 • f(x)﹒xk,k为生成多项式的最高幂值,即生成多项式 用二进制表示的位数-1。上例k=4=5-1。表示将发送数 据比特序列左移k位,用来存放余数。 • f(x)﹒xk/G(x),得到余数R(x) • 将f(x)﹒xk+R(x)作为整体,发送到接收端。 • 接收端用接收到的数据f′(x)采用相同的算法,去除 G(x),得到余数R′(x)。如果R′(x)等于 R(x),表示 发送没有出错。 13
一、简述数据链路层的主要设备及工作原理
数据链路层是OSI模型中的第二层,主要负责数据在物理介质上的传输和管理,其设备主要包括网卡、交换机和网桥等。
数据链路层的工作原理是通过建立逻辑连接、网络帧的封装和解封装、流量控制、错误检测和纠正等方式来保证数据的可靠传输。
1. 网卡网卡是计算机与局域网或广域网相连的接口设备,负责将计算机内部的数据转换成适合在网络上传输的格式,并将其发送到网络上。
网卡在数据链路层中起到了物理层与数据链路层之间的桥梁作用,能够收发数据帧,并且能够根据数据链路层的要求进行数据封装和解封装。
2. 交换机交换机是用于在局域网中传输数据的设备,能够根据MAC位置区域进行数据包的转发,将数据包从一个端口转发到另一个端口。
交换机在数据链路层中实现了逻辑连接的建立和维护,可以根据MAC位置区域来确定数据包的转发路径,同时还能够实现数据包的流量控制和错误检测。
3. 网桥网桥是用于连接两个局域网的设备,用于将两个相连的网络进行逻辑上的“桥接”,使之成为一个逻辑上的网络。
网桥在数据链路层中起到了网桥的作用,能够实现两个局域网之间的数据帧的透明转发,同时还能够进行流量控制和错误检测。
数据链路层设备的工作原理主要包括:1. 建立逻辑连接数据链路层设备通过建立逻辑连接来确保数据的可靠传输。
例如交换机会根据MAC位置区域建立转发表,以便确定数据包的转发路径。
网桥则会根据MAC位置区域进行数据包的转发。
2. 数据帧的封装和解封装数据链路层设备会将网络层的IP数据报封装成数据帧,添加MAC位置区域等信息,以便在物理介质上的传输。
接收端的数据链路层设备会将接收到的数据帧进行解封装,将数据传递给网络层。
3. 流量控制数据链路层设备能够实现数据的流量控制,以防止数据的丢失和阻塞。
例如交换机通过缓存和转发的方式来控制数据包的流量,以保证网络的正常运行。
4. 错误检测和纠正数据链路层设备会通过校验和、CRC校验等方式来检测数据传输过程中的错误,并在出现错误时进行相应的纠正或重传。
第03章数据链路层
B
t
A
t TD
RTT TD + RTT + TA
TD U TD RTT T A
14
2. 连续ARQ协议
连续ARQ协议的工作原理就是在发送完一个数据
帧后,不是停下来等待确认帧,而是可以连续再发送 若干个数据帧。如果这时收到了接收端发来的确认帧,
34
数据链路层的两个子层
为了使数据链路层能更好地适应多种局域网标准, 802 委员会就将局域网的数据链路层拆成两个子层: 逻辑链路控制 LLC (Logical Link Control)子层 媒体接入控制 MAC (Medium Access Control)子层。 与接入到传输媒体有关的内容都放在 MAC子层,而 LLC 子层则与传输媒体无关,不管采用何种传输媒体对 LLC 子层来说都是透明的。
9
接收端对收到的每一帧进行 CRC 检验
接收端对收到的每一帧进行 CRC 检验后,可能出现 两种情况: (1) 若得出的余数 R = 0,则判定这个帧没有差错, 就接受(accept)。 (2) 若余数 R 0,则判定这个帧有差错,就丢弃。
这种检测方法并不能确定究竟是哪一个或哪几个比特出现 了差错。 只要经过严格的挑选,并使用位数足够多的除数 P,那么 出现检测不到的差错的概率就很小很小。
(4)每收到对一个帧的确认,发送窗口就向前(即 向右方)滑动一个帧的位置。
19
20
接收窗口的规则很简单,归纳如下: (1)只有当收到的帧的序号与接收窗口一致时才 能接收该帧。否则,就丢弃它。 (2)每收到一个序号正确的帧,接收窗口就向前 (即向右方)滑动一个帧的位置。同时向发送端发送对该 帧的确认。
第4章---数据链路层ppt课件(全)
例如:110110的码多项式
循环码的定义:如果分组码中各码字中的码元 循环左移位(或右移位)所形成的码字仍然是 码组中的一个码字(除全零码外),则这种码 称为循环码。例如n长循环码中的一个码为 [C]=Cn-1Cn-2……C1C0 ,
(3)在串行通信中通常使用的三种生成多项式G (X)来产生校验码。
(4)编码特点
由于码的循环性,它的编解码的设备比 较简单。
纠错能力强,特别适合检测突发性的错 误,除了正好数据块的比特值是按除数 变化外,循环冗余校验(CRC)将检测出 所有的错误。
所以在计算机通信中得到广泛的应用。
差错控制方式
新加入的码元愈多,冗余度愈大,纠错能力欲 强,但效率越低。
分组码:将信息码分组,并为每个组附加若干 监督的编码,称为“分组码”。在分组码中, 监督码元仅监督本码组中的信息码元。
分组码一般可用符号(n,k)表示,n是码组中 的总位数,k是每组码二进制信息码元的数目。
n-k = r是监督码元的数目。
(3) 流量控制 发方发送数据的速率必须使得收方来得 及接收。当收方来不及接收时,就必须及时控制发方 发送数据的速率。这种功能称为流量控制(flow conctrol)。采用接收方的接收能力来控制发送方的发 送能力这是计算机网络流量控制中采用的一般方法。
(4) 差错控制 在计算机通信中,一般都要求有极低的 比特差错率。为此,广泛采用了编码技术,编码技术 有两大类。一类是前向纠错,也就是收方收到有差错 的数据帧时,能够自动将差错改正过来。这种方法的 开销较大,不大适合于计算机通信。另一类是差错检 测,也就是收方可以检测出收到的数据帧有差错(但 并不知道出错的确切位置)。当检测出有差错的数据 帧就立即将它丢弃,但接下去有两种选择:一种方法 是不进行任何处理(要处理也是有高层进行),另一 种方法则是由数据链路层负责重传丢弃的帧。
第3章数据链路层
教
程
计 算 机 网 络
数据链路层的主要功能:
(1)链路管理 数据链路的建立、维持和释放 (2)帧同步 接收方从比特流中能区分帧开始与结束 (3)流量控制(flow control)发送方的发送速率必须是接收 方来得及接收
第 3 章 数 据 链 路 层
(4)差错控制
前向纠错:采用纠错编码(卫星通信) 差错检测:采用检错编码(CRC) (5)将数据和控制信息区分开 (6)透明传输:对传输的数据没有限制 (7)寻址
停止等待协议的算法
在发送结点: (1)从主机取一个数据帧。 (2)V(S)←0。 {发送状态变量初始化} (3)N(S)←V(S); {将发送状态变量的数值写入 发送序号} 将数据帧送交发送缓存。 (4)将发送缓存中的数据帧发送出去。 (5)设置超时计时器。 {选择适当的超时重传 时间tout } 第 3 章 数 据 链 路 层
教
程
计 算 机 网 络
6、字符填充法: 发送方在可能产生争议的DLE位串之前再增加一 个转义字符(DLE),如 DLE DLE SOH;接收方每 接收到两个连续的DLE则丢弃其中的一个DLE
第 3 章 数 据 链 路 层
教
程
计 算 机 网 络
第 3 章 数 据 链 路 层
教
程
计 算 机 网 络
第 3 章 数 据 链 路 层
教
程
计 算 机 网 络
第 3 章 数 据 链 路 层
教
程
计 算 机 网 络
5、字符的转义: 在控制字符之前增加一个转义字符(DLE),防 止数据的二义性。BSC主要支持字符数据的传输,也 可以支持二进制数据传输,但二进制数据时必须被组 合,例如:七位形成一个位组。由于二进制位组合的 随机性,可能出现等同控制字符组的位串(例如: DLE SOH),为了保证数据的透明性(即数据中允许任 意的二进制数据),同时保证这些等同控制字符组的 位串不会导致控制的混乱,BSC采用了字符转义的方 法——字符填充法。 第 3 章 数 据 链 路 层
计算机网络原理——数据链路层
– 发送方发送一块数据后, 就停止发送动作,开始计时, 等待接收方的反馈结果。 – 接收方对收到的数据进行校验,并根据校验的结果向 发送方作出肯定确认或否定确认。 – 当发送方收到“正确”的确认(ACK)之后,继续发送 后继数据块; – 如果发送方收到“否定”确认(NAK) ,或者计时器超 时,重新传送本数据块。
数据链路层
11
4.1.3 流量控制功能
• 目的:防止接收方发生数据溢出而控制发 送方发送数据的速率 • 主要方法:停—等流控、滑动窗口流控来自数据链路层12
4.1.4 链路管理功能
• 主要功能:帧序号的初始化、建立连接、 维护连接、重置连接、释放连接等
数据链路层
13
4.2 差错控制
• • • • 4.2.1 差错检测 目的:发现和纠正接收到的数据的差错 产生差错的原因:噪声 突发长度:从突发错误发生的第一码元到 有错的最后一个码元间所有的码元数,称 该突发错的突发长度。
节 点
帧
帧
节 点
数据链路层
5
帧的一般结构
对于不同的通信环境或不同的通信协议, “帧”的格 式亦不尽相同。
F 帧 标志 A 地址 字段 C 控制 字段 D 数据字段 FCS 校验 字段 F 帧 标志
“帧”分为面向字符型和面向比特型两类。前者由ASCII字 符构成(IBM BSC协议);后者由任意比特构成,更为灵 活和高效(HDLC)。
数据链路层
16
数据通信中的实际情况
发送的数据
0 1 0 1 1 0 0 1 1 0 0 1 0 1 0
信号
噪音
信号+噪音
阈值
采样时钟 接收的数据
0 1 0 1 1 0 1 1 1 0 0 1 0 0 0
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.2 数据链路层的几种技术
3.2.2 差错控制的应用
1. 当接收端检测出差错码较少且有能力纠正时,
运用前向纠错法。
2. 当检测的差错码较多,超出其纠错能力时,可
用反馈纠错法。
3. 当传输几种信息时,可按主要的信息出现的差
错特点来挑选,采用纠错编码措施。
3.2 数据链路层的几种技术
3.2.2 差错控制的应用
丢弃
数字帧传输情况
主机A
主机B
主机A
主机B
t
DATA
t
DATA1
出错
ACK
NAK
DATA
DATA1
ACK
ACK
(a)
(b)
数字帧传输情况
主机A 主机B
t
DATA1
主机A
主机B
tout
超时重发 丢失
ACK
t
DATA1 重复帧
DATA1
ACK
ACK
重复帧
DATA2
DATA2 丢失
ACK
tout
超时重发
3.3 数据链路层协议
3.3.2 滑动窗口协议(Slide Window)
窗口机制 允许发送方连续发送多个帧,多帧一应 答的策略。
4 0 1 2 9 1 2 3 4 5 6 6 5 4 3 2 1
第一帧 第二帧 第三帧
3.1 数据链路层概述
3.1.4 数据帧
字符填充法
DL STX Q DL W DL ET
原始数据流
字符填充
DL
STX
Q
DL
DL
W
DL
ET
接收端还原
DL
STX
Q
DL
W
DL
ET
3.1 数据链路层概述
3.1.4 数据帧
3.2.1 差错控制技术
差错控制方法 基于以上两种思想,链路层采用差错控制的基本 工作方式可分为以下四类: 自动请求重发(Automatic Repeat reQuest,ARQ) 前向纠错(Forward Error Correction,FEC) 混合纠错(Hybrid Error Correction ,HEC) 信息反馈(Information Repeat Request ,IRQ)
3.2.1 差错控制技术
差错控制方法 基于两种思想: 一种通过差错编码,使得在系统接收端的译码 器能发现错误并能准确地判断差错的具体位置, 从而自动纠正错误; 另一种在系统接收端仅能发现错误,但不知道 错误的确切位置,无法自动纠错,只能通过请 求发送端重发等方式来纠正错误。
3.2 数据链路层的几种技术
帧检验序列 FCS
在数据后面添加上的冗余码称为帧检验 序列 FCS (Frame Check Sequence)。 循环冗余检验 CRC 和帧检验序列 FCS并 不等同。
CRC 是一种常用的检错方法,而 FCS 是添 加在数据后面的冗余码。 FCS 可以用 CRC 这种方法得出,但 CRC 并非用来获得 FCS 的唯一方法。
3.1 数据链路层概述
3.1.3 数据链路层提供的服务
面向连接确认服务 数据在传输过程分为建立连接、数据传输和释放连接 三个阶段。 大多数数据链路层都采用面向连接确认服务。 无连接确认服务 不需要在帧传输之前建立数据链路,也不需要在传输 完成后释放数据链路。 无连接无确认服务 不建立数据链路连接,接收方不进行检错,不回送确 认帧。
1100001010 11010110110000 10011 10011 10011 00001 00000 循环冗余码校验 00010 00000 00101 00000 01011 00000 10110 10011 01010 00000 10100 10011 信息序列:1101011011 01110 余数:1110 00000 传输的数据:11010110111110 1110 10011
Hale Waihona Puke 接收端对收到的每一帧进行 CRC 检验
(1) 若得出的余数 R = 0,则判定这个帧没有差 错,就接受(accept)。 (2) 若余数 R 0,则判定这个帧有差错,就丢 弃。 但这种检测方法并不能确定究竟是哪一个或哪 几个比特出现了差错。 只要经过严格的挑选,并使用位数足够多的除 数 P,那么出现检测不到的差错的概率就很小 很小。
发送端 初始化发送帧 取出数据帧存入缓冲区 编码
停止等待协议工作流程
接收端 初始化等待帧
等待接收
移交物理层 发送数据帧同时启动计时器 等待„ „ N 收到应答帧? Y Y NAK帧? N 帧序号+1
N 收到帧,校验正确? Y
N 超时? Y
应答NAK帧
N
帧序号符合? Y 将数据部分上交网络层 修改期待帧的序号 应答ACK帧
3.1 数据链路层概述
3.1.4 数据帧
四种常用的将比特流分割成帧的方法:字符计数法、字 符填充法、比特填充法、违规编码法。
字符计数法
字符计数 字符计数 字符计数
4 0 1 2 7 1 2 3 4 5 6 6 5 4 3 2 1
(a)原字符
字符计数
第一帧
第二帧
第三帧
字符计数
字符计数
(b)字符计数出错
3.2 数据链路层的几种技术
循环冗余检验(CRC)原理
生成多项式的要求:
发生错误都不应该使余数为0
不同的码位发生错误时,所得到的余数应该 各不相同。
3.2 数据链路层的几种技术
例:设其生成多项式G(x)=X4+X+1,试求出信息序列 1101011011的CRC码,并说明接收端是如何判断传输的正 确性。 解: (1)将生成多项式G(x)转换成二进制数; G(x)= X4+X+1=10011 (2)r=4,多项式为四阶,在信息序列后补四个0, 11010110110000 (3)计算CRC码。用11010110110000除以10011,得到余数 为1110; (4)将得到的余数1110加到原信息序列1101011011后面, 即所要 传输的数据11010110111110。
3.1 数据链路层概述
3.1.2 数据链路层的主要功能
链路管理 通信前建立数据链路连接,通信中维持数据链路 的连接状态,包括出现差错后重新自动建立连接; 通信完毕后释放连接。 流量控制 当发送方发送数据的速率超过了接收方所能处理 数据的速率时,接收方应来不及处理而产生数据 丢失、链路拥塞等问题,就需要限制发送方的数 据流量。
3.2 数据链路层的几种技术
3.2.1 差错控制技术
在传输过程中可能会产生比特差错:1 可能会变成 0 而 0 也可能变成 1。
在一段时间内,传输错误的比特占所传输比特总数 的比率称为误码率 BER (Bit Error Rate)。
误码率与信噪比有很大的关系。 为了保证数据传输的可靠性,在计算机网络传输数 据时,必须采用各种差错检测措施。
4. 当没有反向信道,且数据信息不能够随便抛弃
时,就必须采用前向纠错技术。
5. 若设备允许的条件下,采用反馈纠错方式。
3.2 数据链路层的几种技术
3.2.3 流量控制技术
接收方告诉发送方接下来应该发送信息的流量,或 者告诉它自己目前的处理状况,以便发送方及时调整 发送。
(1)基于反馈的流控制(feedback-based flow control):
3.2 数据链路层的几种技术
校验: 接收端用接收到的信息序列做同样的模2除法, 对G(x)进行运算,被除数是11010110111110,除 数是10011,检查得到的余数。如果余数是0,说 明传输正确;否则,发生差错,应重传。
冗余码的计算举例
课件制作人:谢希仁
循环冗余检验的原理说明
3.2 数据链路层的几种技术
3.2 数据链路层的几种技术
循环冗余检验(CRC)原理
CRC校验使用多项式码,故也称为多项式码,其基 本思想是任何一个二进制数位串码都可以和系数 只含有0和1的多项式建立一一对应的关系,如: 二进制数11010对应的码多项式是 X 4 X 3 X , 而码多项式 X 5 X 3 X 2 1 对应的二进制数是 101101。
现在最常用的方法是使用适配器(即网卡)来实现这 些协议的硬件和软件。 一般的适配器都包括了数据链路层和物理层这两层的 功能。
3.1 数据链路层概述
3.1.1 帧
数据链路层的基本概念
帧由若干字段构成,且每个字段都有确定的含义,包
含地址、控制、数据及校验等信息。在数据链路层,数据 以帧为单位进行传输。
计算机网络
第三章 数据链路层
第三章
3.1
数据链路层
数据链路层概述 3.1.1 数据链路层的基本概念 3.1.2 数据链路层的主要功能 3.1.3 数据链路层提供的服务 3.1.4 数据帧 3.2 数据链路层的几种技术 3.2.1 差错控制技术 3.2.2 差错控制的应用
第三章
数据链路层
3.2.3 流量控制的应用 3.3 数据链路层协议 3.3.1 停止等待协议 3.3.2 滑动窗口协议 3.4 数据链路层设备 3.4.1 网桥 3.4.2 二层交换机
比特填充法
0111111001011111111110001111110001101111110
(a) 原始数据