第四章数据链路层
第四章 以太网数据链路层
肆 以太网数据链路层P 目标:了解数据链路层结构。
熟悉各以太网帧格式,CSMA/CD (载波监听多路访问/冲突检测)机制,熟悉PAUSE 帧格式,和流量控制原理了解半双工模式下以太网端口的工作方式。
根据IEEE 的定义,以太网的数据链路层又分为2个子层:逻辑链路控制子层(LLC )和媒体访问控制子层(MAC )。
划分2个子层的原因是:数据链路层实际是与物理层直接相关的,针对不同的物理层需要有与之相配合的数据链路层,例如针对以太网、令牌环需要不同的数据链路层,而这是不符合分层原则的;于是通过划分LLC 和MAC 2个子层,尽量提高链路层的独立性,方便技术实现。
其中MAC 子层与物理层直接相关,以太网的MAC 层和物理层都是在802.3 中定义的,LLC 子层则可以完全独立,在802.2中定义,可适用于以太网、令牌环、WLAN 等各种标准。
ͼ1 以太网数据链路层MAC 子层处理CSMA/CD 算法、数据出错校验、成帧等;LLC 子层定义了一些字段使上次协议能共享数据链路层。
在实际使用中,LLC 子层并非必需的。
1 以太网的帧格式有两种主要的以太网帧类型:由RFC894定义的传统以太网(EthernetII )和802.3定义的以太网; 最常使用的封装格式是RFC 894定义的格式。
下图显示了两种不同形式的封装格式。
图中每个方框下面的数字是它们的字节长度。
EthernetII (RFC894)帧结构如下,该帧包含了5个域(前导码在此不作描应用层传输层网络层链路层物理层逻辑链路控制(LLC )子层MAC 子层述),它们分别是:目的MAC地址、源MAC地址、类型、净荷(PAD)、FCS、 EthernetII(RFC894)帧结构1)目的MAC地址( D A )包含6个字节。
D A标识了帧的目的地站点。
D A可以是单播地址(单个目的地)或组播地址(组目的地)。
2)源MAC地址( S A )包含6个字节。
4数据链路层
检错码与纠错码
设计差错控制方法的两种策略:
1.纠错码: 每个传输的分组带上足够的冗余信息; 接收端能发现并自动纠正传输差错; 2.检错码: 分组仅包含足以使接收端发现差错的冗余信息; 接收端能发现出错,但不能确定哪一比特是错的, 并且自己不能纠正传输差错;
两类编码方法来进行差错控制的方式
(1)自动请求重发(Automatic ReQuest for repeat, ARQ) (2)前向纠错(Forward Error Correction FEC )
帧检验序列 FCS
在数据后面添加上的冗余码称为帧检验 序列 FCS (Frame Check Sequence)。 循环冗余检验 CRC 和帧检验序列 FCS并 不等同。
CRC 是一种常用的检错方法,而 FCS 是 添加在数据后面的冗余码。 FCS 可以用 CRC 这种方法得出,但 CRC 并非用来获得 FCS 的惟一方法。
解决重复帧的问题
使每一个数据帧带上不同的发送序号。每发送 一个新的数据帧就把它的发送序号加 1。 若结点 B 收到发送序号相同的数据帧,就表 明出现了重复帧。这时应丢弃重复帧,因为已 经收到过同样的数据帧并且也交给了主机 B。 但此时结点 B 还必须向 A 发送确认帧 ACK, 因为 B 已经知道 A 还没有收到上一次发过去 的确认帧 ACK。
帧的编号问题
任何一个编号系统的序号所占用的比特数一定 是有限的。因此,经过一段时间后,发送序号 就会重复。 序号占用的比特数越少,数据传输的额外开销 就越小。 对于停止等待协议,由于每发送一个数据帧就 停止等待,因此用一个比特来编号就够了。
一个比特可表示 0 和 1 两种不同的序号。
《计算机网络技术及应用(第二版)》第4章__数据链路层
码多项式的运算: 二进制码多项式的加减运算:
二进制码多项式的加减运算实际上是逻辑上的 异或运算。 循环码的性质:在循环码中,n-k次码多项式 有一个而且仅有一个,称这个多项式为生成多 项式G(X)。在循环码中,所有的码多项式能 被生成多项式G(X)整除。
(1)编码方法
由信息码元和监督码元一起构成循环码,首先 把信息序列分为等长的k位序列段,每一个信 息段附加r位监督码元,构成长度为n=k+r的循 环码。循环码用(n,k)表示。它可以用一个n1次多项式来表示。n位循环码的格式如图4-2 所示:
(2)举例分析
例4.2 如信息码元为1101,生成多项式 G(X)= X+ X+1,编一个(7,4)循 环码。 A(X)=1101 向左移3位的1101000 除 1011的余数为1,则余数多项式R(X) =001。 在做除法过程中,被除数减除数是做逻 辑运算。
例4.3 某一个数据通信系统采用CRC校验方式, 其中:生成多项式G(X)= X4+X+1, 发送端要 发送的信息序列为10110,求:(1)校验码及 校验码多项式;(2)发送端经过循环冗余编 码后要发送的比特序列; 解:生成多项式为G(X)= X4+X+1,生成多项 式的比特序列是:10011,为4阶,所以将发送 端要发送的信息序列10110左移四位,得到 XRD(X)为:101100000
4.2.3差错控制方式
差错控制编码一类是检错码(如奇偶校验)、另一类 是纠错码。根据检错码和纠错码的结构的不同形成了 不同的差错控制方式 (1)利用检错码 (2)利用纠错码 在数据通信过程中,利用差错控制编码进行系统传输的 差错控制的基本工作方式分成四类:自动请求重发 (ARQ ,Automatic Repeat Request),前向纠错 (FEC,Forword ErrorCorrection),混合纠错(HEC, Hybrid Error correction),信息反馈(IRQ, Information Repeat Request)
《计算机网络教学资料》第4章数据链路层
❖ 循环冗余码 CRC码又称为多项式码。 任何一个由二进制数位串组成的代码都可由 一个只含有0和1两个系数的多项式建立一一 对应的关系。
110001,表示成多项式 x5 + x4 + 1
25
循环冗余码 (CRC)
❖ 循环冗余码(CRC码,多项式编码) ➢ 110001,表示成多项式 x5 + x4 + 1
110101 111011 110101 111010 110101 111110 110101 101100 110101 110010 110101 01110 ← R 余数
30
发送方 接收方
举例: 1 0 0 0 0Q(1x) G(x) 1 1 0 0111 0 0 1 1 0 f0(x0.)xk0
01011010010 信 源 01011010010 信 源
➢ 随机性错误 前后出错位没有一定的关系
➢ 突发性错误 前后出错位有一定的相关性
(a) 理想状态
噪音干扰
(b) 实际环境
信 宿 01011010010 信 宿 01010010110
出错
14
2.差错控制的方式
❖ 反馈纠错 ❖ 前向纠错 ❖ 混合纠错 ❖ 反馈检验
在数据通信和计算机网络中,几乎都采用ARQ差错控制 技术。在采用无线电信道的通信系统中,由于信道误 码率较高,大多采用HEC方式的差错控制技术。
18
4.反馈检验 反馈校验方式又称回程校验。
接收端把收到的数据序列原封不动地转发回发送端,发端 将原发送的数据序列与返送回的数据序列比较。如果发现错 误,则发送端进行重发,直到发端没有发现错误为止。
11001 10000 11001
1 0 0 1R(x)
第四章数据链路层
例题[例题4-1] 对于10比特要传输的数据,如果采用海明码(Hamming code)校验,需要增加的冗余信息为比特A 3B 4C 5D 6[例题4-2]通过提高信噪比可以降低其影响的差错是A随机差错 B 突发差错 C 数据丢失差错 D 干扰差错[例题4-3]两台计算机通过计算机网络传输一个文件,有两种可行的确认策略。
第一种策略是由发送端将文件分割成分组,接受端逐个地确认分组;但就整体而言,文件没有得到确认。
第二种策略是接收端不确认单个分组,而是当文件全部接收到后,对整个文件予以接受确认。
是比较这两种方式的优缺点,以及它们各自适应的场合。
10,每个帧的长度为10kb,试问:[例题4-4]已知某通信信道的误码率为5-(a)若差错为单比特错,则在该信道上传送的帧的平均出错率是多少?4.3 基础知识一、填空题1.数据链路层的最基本功能是向该层用户提供_____、______的数据传输基本服务。
2.差错控制技术主要包括前向纠错机制FEC和_______。
3.BSC和HDLC都是数据链路层封装帧的协议,BSC是面向______的协议。
HDLC是面向的协议;若使用BSC协议,字符串“A DLE STX B C DLE DLE DLE ETB”在透明传输时的字符输出串是______;若使用HDLC协议,11001011111001011111101在透明传输时的二进制输出串是______。
4.差错控制编码可以分为______和______。
其中,______是自动发现差错的编码;______ 是指不仅能发现差错而且能自动纠正差错的编码。
衡量编码性能好坏的一个重要参数是______,是码字中信息比特所占的比例。
5. ______是通信系统中衡量系统传输______的指标,可定义为二进制比特在通信系统传输时被传错的概率。
在计算机网络通信系统中,要求误码率低于______。
6.所谓差错就是在数据通信中,数据通过通信信道后接收的数据与发送的数据存在______ 的现象。
《计算机网络》第4章 数据链路层
4.2.2 滑动窗口协议
发送窗口的规则归纳如下: 发送窗口的规则归纳如下: (1)发送窗口内的帧是允许发送的帧,而不考虑 )发送窗口内的帧是允许发送的帧, 有没有收到确认。 有没有收到确认。发送窗口右侧所有的帧都是不允 许发送的帧。图4-4(a)说明了这一情况。 说明了这一情况。 许发送的帧。 说明了这一情况 (2)每发送完一个帧,允许发送的帧数就减 。但 )每发送完一个帧,允许发送的帧数就减1。 发送窗口的位置不变。如果所允许发送的 个帧都 发送窗口的位置不变。如果所允许发送的5个帧都 发送完了,但还没有收到任何确认, 发送完了,但还没有收到任何确认,那么就不能再 发送任何帧了。这时,发送端就进入等待状态。 发送任何帧了。这时,发送端就进入等待状态。
(4)确认帧丢失
4.2.1 停止等待协议
实用的停止等待协议的算法: 实用的停止等待协议的算法: 在发送结点: 在发送结点: (1)从主机取一个数据帧; )从主机取一个数据帧; 发送状态变量初始化}; (2)V(S)取0 {发送状态变量初始化 ; ) ( ) 发送状态变量初始化 (3)令N(S)等于 (S);{将发送状态变量的数值写入发送序号 将数据帧 将发送状态变量的数值写入发送序号}将数据帧 ) ( )等于V( ) 将发送状态变量的数值写入发送序号 送交发送缓冲区; 送交发送缓冲区; (4)将发送缓冲区中的数据帧发送出去; )将发送缓冲区中的数据帧发送出去; 选择适当的超时时间}; (5)设置超时定时器 {选择适当的超时时间 ; ) 选择适当的超时时间 等待以下三个事件中最先出现的一个}; (6)等待 等待以下三个事件中最先出现的一个 ; )等待{等待以下三个事件中最先出现的一个 (7)若收到确认帧 )若收到确认帧ACK,则从主机取一个新的数据帧; ,则从主机取一个新的数据帧; ( )等于 ( ) ; 更新发送状态变量,变为下一个序号 转到( ) 令V(S)等于[1-V(S)];{更新发送状态变量,变为下一个序号}转到(3) 更新发送状态变量 转到 重发数据帧}; (8)若接收到否认帧 )若接收到否认帧NAK,则转到(4){重发数据帧 ; ,则转到( ) 重发数据帧 重发数据帧}; (9)若超时定时器时间到,则转到(4){重发数据帧 ; )若超时定时器时间协议
第4章数据链路层基础与应用PPT课件
2020/11/15
第4章 数据链路层基础与应用
7
4.2 差错控制技术
(1)检错法
① 检错法与检错码。 ②检错法的特点:通过“检错码”检错,通过“重传机制”纠正差错。
(2)纠错法(又称为正向纠错法)
① 纠错法与纠错码。 ② 纠错法的特点:使用纠大量的“附加位”。 ③ 适用场合适用于:第一,没有反向信道,无法发回ACK或NAK信息的 场合。第二,线路传输时间长,要求重发不经济的场合。
6
4.2 差错控制技术
1. 什么是差错?
收到的数据与原来发送的数据不一致的现象称为“传 输差错”。
2. 差错的分类与差错出现的可能原因
(1)热噪声差错:是由传输介质的内部因素引起的差 错。 (2)冲击噪声差错:是由外部因素引起的差错。
3. 无差错传输通常采用的两种控制技术
在差错控制技术中,通常包括“差错的检查”和“差 错的纠正”两个主要内容。
第4章 数据链路层基础与应用
4
4.1 数据链路层的基本概念
(3)数据链路层的协议:IEEE 802、ATM、帧中继等。
5. 数据链路层的设备与部件
最常见的产品有网卡、网桥和第2层交换机。
2020/11/15
第4章 数据链路层基础与应用
5
4.2 差错控制技术
2020/11/15
第4章 数据链路层基础与应用
2. 数据链路层使用的两种通信信道类型
位于OSI模型或TCP/IP模型的低层。在应用中,会遇到两种信 道类型:广播通信信道和点-点通信信道;使用不同信道的网 络,数据链路层的处理就会不同。
(1)广播式的通信信道
① 确定使用广播信道的通信对象; ② 解决多结点争用公用通信信道的问题。
第四章数据链路层
8
常用的检错码
• 奇偶校验码 垂直奇(偶)校验 水平奇(偶)校验水平 垂直奇(偶)校验(方阵码)
• 循环冗余编码CRC 目前应用最广的检错码编码方法之一
9
4.1.5 循环冗余编码工作原理
• 传输差错 — 通过通信信道后接收的数据与发送数据 不一致的现象;
• 差错控制 — 检查是否出现差错以及如何纠正差错; • 通信信道的噪声分为两类:热噪声和冲击噪声; • 由热噪声引起的差错是随机差错,或随机错; • 冲击噪声引起的差错是突发差错,或突发错; • 引起突发差错的位长称为突发长度; • 在通信过程中产生的传输差错,是由随机差错与突发
信宿
传
输
存储器
信
道
反馈信号 控制器
反馈信号 控制器
14
反馈重发机制的分类
• 停止等待方式
发送端
1
2
2
3
ACK
NAK
ACK
接收端
1
2
2
3
15
连续工作方式
• 拉回方式
• 选择重发方式
发送端
重传 01234523456
接收端 0 1 2 3 4 5 2 3 4 5 6
ACK1
丢弃
ACK0 NAK
ACK3 ACK2 (a)
差错共同构成的。
4
传输差错 产生过程
信源
通信信道
信宿
数据
噪声 (a)
数据+噪声
传输数据 数据信号波形
010110011001010
噪声
网络 第四章数据链路层汇总PPT课件
4.2 停止等待协议
• 理想的链路:
• 链路很可靠,数据帧不会出错与丢失;
• 不管发送方以多快的速率发送,接收方都能 来得及接收而保证不丢失数据帧。
• 此时不需要链路层协议。 主机
节点A
主机
节点B
链帧帧路层
链路层
停止等待协议
不可靠的链路导致可能出现的情况:
• 数据帧出错(噪声干扰) • 数据帧不能到达(链路错误) • 接收溢出(结点差异) • 数据帧重复(链路阻塞)
• ⑻if (data_r=ACK) vs=1-vs ,goto ⑵ {正确}
• ⑼if (data_r=NAK) goto ⑷ {出错重传}
• ⑽if (time_out( )=1) goto ⑷ {超时重传}
停止等待协议接收算法
• ⑴vr←0 {接收序号初始化} • ⑵data_r=recive( ) • ⑶if (data_r=null) goto ⑵ {等待接收} • ⑷if CRC(data_r) send(NAK),data_r=null,
• 链路管理 链路的建立、维持与释放。
• 帧同步 保证接收方能从比特流中分离出数据帧
• 流量控制 协调发送方与接收方同步工作
• 差错控制 接收方能检验出有错误的帧,并采取相 应措施。
数据链路层功能
• 透明传输 数据链路层并不关心所传数据内容,按 一定规则能从帧中区分数据与控制信息。
• 寻址 在多点连接时保证帧被准确送达目的节 点。
数据链路层差错控制
解决“数据帧出错”方法:
• 可对欲发送的帧进行差错编码,接收方 通过差错校验,可判断出接收的数据帧 是否发生错误。如果接收错误,就向发 送方发送一出错标识帧,称为否认帧 NAK,通知发送方重新传送原数据帧。
第四章-数据链路层
❖ 2.使用比特填充旳首尾定界符法。 ❖ 该法以一组特定旳比特模式(如01111110)来标志
一帧旳起始与终止。 ❖ HDLC规程即采用该法。为了不使信息位中出现
旳与该特定模式相同旳比特串被误判为帧旳首尾 标志,能够采用比特填充旳措施。例如,采用特 定模式01111110,则对信息位中旳任何连续出现 旳5个“1”,发送方自动在其后插入一种“0”, 而接受方则做该过程旳逆操作,即每收到连续5个 “1”,则自动删去其后所跟旳“0”,以此恢复 原始信息,实现数据传播旳透明性。
❖ 4.1.1 帧同步功能
❖ 为了使传播中发生差错后只将犯错旳有限 数据进行重发,数据链路层将比特流组织成 以帧为单位传送。帧旳组织构造必须设计 成使接受措施能够明确旳从物理层收到比 特流中对其进行辨认,也即能从比特流中 区别出帧旳起始与终止,这就是帧同步要 处理旳问题。因为网络传播中极难确保计 时旳正确和一致,所以不能采用依托时间 间隔关系来拟定一帧旳起始与终止旳措施。
0123456789 0101010101 0011001100 0000111100 0000000011 1111111111 1111111111 0000000000
偶校验 1 0 0 0 1 1 0
❖ 零比特旳填充与删除
数据中某一段比特组合恰好 出现和 F 字段一样旳情况
第4章数据链路层
如果只有单比特错,即E(x) = xi,而G(x)中至少有两项,余数(E(x) / G(x)) 0,所以可以查出单比特错;
如果发生两个孤立单比特错,即E(x) = xi + xj = xj (xi-j + 1),假定 G(x)不能被x整除,那么能够发现两个比特错的充分条件是:xk + 1 不能被G(x)整除 (k i - j);
成帧方法:
字符计数法(Fig. 3-3)
在帧头中用一个域来表示整个帧的字符个数 缺点:若计数出错,对本帧和后面的帧有影响。
带字符填充的首尾字符定界法(Fig. 3-4)
起始字符 DLE STX,结束字符DLE ETX 字符填充 缺点:局限于8位字符和ASCII字符传送。
例:使用偶校验(“1”的个数为偶数)
10110101 ——>
101101011
10110001 ——>
101100010
奇偶校验可以用来检查单个错误。
海明码
设计纠错码 要求:m个信息位,r个校验位,纠正单比特错; 利用 n = m + r,得到 (m + r + 1) 2r 给定m,利用该式可以得出校正单比特误码的校验位数 目的下界
带位填充的首尾标记定界法(Fig. 3-5)
帧的起始和结束都用一个特殊的位串“01111110”,称为标记 (flag)
“0”比特插入删除技术 物理层编码违例法
只适用于物理层编码有冗余的网络 802 LAN:Manchester encoding or Differential Manchester
encoding 用high-low pair/low-high pair表示1/0,high-high/lowlow不表示数据,可以用来做定界符。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据链路层的主要功能
数据链路管理 帧同步 流量控制 差错控制 透明传输 寻址
成帧
收到网络层的数据后,数据链路层要数据前面 填加一个首部,通常还会在数据后面填加一个 尾部,将数据封装起来,形成帧。 帧是数据链路层的传输单位。
网络层数据
帧首部
网络层数据
帧尾部
帧同步
帧同步:为了使在传输中发生差错的有限数据进行重 发,数据链路层以帧为单位进行数据传送。帧的组织结 构必须设计成使接收方能够明确的收到比特流中准确 区分出一帧的开始和结束在什么地方。也即能从比特 流中区分出帧的起始与终止,这就是帧同步要解决的 问题。帧同步也叫帧定界。 帧同步的方法
GO-BACK-N的过程描述
(1)初始化。 开网络层允许; ack_expected = 0(此时处于发送窗口的下沿); next_frame_to_send = 0,frame_expected = 0(初始化正 在发送的帧和期待的帧序号); nbuffered = 0(进行发送窗口大小初始化); (2)等待事件发生(网络层准备好,帧到达,收到坏帧, 超时)。 (3)如果事件为网络层准备好,则执行以下步骤。 从网络层接收一个分组,放入相应的缓冲区; 发送窗口大小加1; 使用缓冲区中的数据分组、next_frame_to_send和 frame_expected构造帧,继续发送; next_frame_to_send加1; 跳转(7);
数据帧0
数据帧0 ACK1
ACK1
数据帧1 超时
丢失 超时
数据帧1 ACK0
丢失 数据帧1
数据帧1 ACK0
重复,丢弃 ACK0
(c)停等ARQ 数据帧丢失
(d)停等ARQ 确认帧丢失
SW-ARQ协议特点
通信双方以半双工方式进行通信; 控制简单,易于实现; 传输效率低,尤其对信道质量好、差错 率低的情况。
字节计数法 使用字符填充的首尾标记法 使用比特填充的首尾标记法 物理层编码违例法
目前普遍使用的是:使用比特填充的首尾标记法和物 理层编码违例法。
字节计数法
这种方法是在帧头部中使用一个字符计数字段来标明帧
内字符数。接收端根据这个计数来确定该帧的结束位置
和下一帧的开始位置。例如,发送序列
应用层 应用层
传输层
传输层
网络层 数据链 路层 物理层
H3
data
网络层 数据链 路层 物理层
H3
data T2 '
网络层 数据链 路层 物理层
H3
data T2 ' '
网络层 数据链 路层 物理层
H2 H3
data
T2
H2 '
H3
data
H2 ' '
H3
data
局域网 主机 路由器 路由器
局域网
主机
CRC校验举例
通信前双方要首先商定一个二进制串P,例如 11101。 设要发送的信息M=110 将M左移4位(比P的位数少1),得到 1100000,然后用P去模2除1100000,得到余 数R=1001
g(x) 101 11101 1100000 11101 10100 11101 1101 M左移4位
停止等待SW-ARQ协议
完全理想化的数据传输 链路是理想的通道,传输数据不会出错 和丢失; 接收方能及时、无限量的接收数据。
主机A 链路层 主机B 链路层
两主机间数据链路层进行通信的简化模型
SW-ARQ的几种操作
差错控制上增加的4种特性:
保留最后传输帧的备份直到收到对该帧的确认; 数据帧和确认帧使用编号; 接收方对收到的帧进行校验,若发现差错就返 回一个否认帧; 发送设备需安装一个定时器。
链路和数据链路
链路指的是一条无源的点对点的物理路线,中间没有 任何结点,链路也称数据电路、物理链路。物理链路 是数据传递的物理基础,数据要转换成电磁信号在链 路上传递 。 数据链路是一个逻辑的概念,当需要在一条线路上传 送数据时,必须有一些协议(也称为链路控制规程) 来对数据的传输进行有效的控制。实现上述协议的硬 件和软件加到链路上,就构成了数据链路。 链路可以分为两大类:点对点链路和共享链路。
带位填充的首尾标志法
例如,若原始数据为: 1 0 0 1 1 1 1 1 1 经填充后变为: 01111110 1 0 0 1 1 1 1 1 0 1 01111110 斜体部分“0”表示是插入的“0”。当接收方在数据部分遇到5个连 续的“1”之后是一个“0”时,就删除该“0” ,这样就保证了在帧 的数据部分不会出现“01111110”位串,接收方能准确地判断出 帧定界。
“5 A B C D 6 U V W X Z 7 1 2 3 4 5 6”
表示一共有三个帧,其长度分别为5字节、6字节、7字 节。
字节计数法缺点
容易出现定界错误。以刚才的发送序列为例,当计数值 出现传输差错,如接收端收到的序列为
“5 A B C D 8 U V W X Z 7 1 2 3 4 5 6”
连续ARQ
发送方 接收方 数据帧0 ACK1 确认0号帧
数据帧1
数据帧2
ACK2
确认1号帧 数据帧2出错,丢弃
2号帧 超时
数据帧3
ACK2 ACK2 序号不对,丢弃
数据帧4
数据帧2
ACK2
序号不对,丢弃
数据帧3
ACK3
确认2号帧
数据帧4
ACK4 ACK5
确认3号帧
确认4号帧
Go-BACK-N法工作原理示例
带字符填充的首尾界符法
例如,待发送的数据是A B D L E C D ,则在数据链路
层封装的帧为:
DLE STX A B D L E D L E C D DLE ETX
其中DLE STX是帧开始标记;斜线D L E是插入的DLE,
DLE ETX是帧结束标记。
带字符填充的首尾界符法缺点
通过这样的定界方法,接收方能清晰地分辨出帧边界。 但是也存在这样的问题:即如果数据部分有多个DLE ,
那么就需要插入相应数量的DLE,那么帧的长度相应就
会变长。这也是带字符填充的首尾界符法的一个不足之
处。
带位填充的首尾标志法
带位填充的首尾标志法用一个特殊的位模式
“01111110”
作为帧的开始和结束标志。
当发送方在数据部分遇到5个连续的“1”时,就自动在
其 后插入一个“0”即所谓的“逢5个1插0”机制。
SW-ARQ操作的几种情形
正常情况; 数据帧出错; 数据帧丢失; 确认帧丢失。
发送方
接收方
发送方
接收方
数据帧0
数据帧0
ACK1
ACK1
数据帧1 ACK0
数据帧1 出错,丢弃 ACK1
数据帧0 ACK1
数据帧1 ACK0
(a)停等ARQ 无错误
(b)停等ARQ 帧出错
发送方
接收方
发送方
接收方
这也是一种比较常用的帧定界方法。因为这种位填充技术存在明 显的优势。其在位模式基础上引入了“逢五个1删0”和“逢五个1
物理层编码违例法
这种方法是利用物理层信息编码中未用的电信号来作为
帧的边界。如曼彻斯特编码,在传输前将数据位“1”编
码成高-低电平对,数据位“0”编码成低-高电平对, 因此可以利用高-高电平对和低-低电平对作为帧边界的 特殊编码。这种方法在IEEE802局域网标准中用到。
则接收端会将第二帧解释为“8 U V W X Z 7 1”,结果
导
致收发双方对帧大小理解的不一致而出错。
带字符填充的首尾界符法
这种方法是应用ASCII字符DLE STX和DLE ETX做帧开 始和帧结束标识符。
例如,待发送的数据是A B C D ,则在数据链路层封装
的帧为:
DLE STX A B C D DLE ETX
连续ARQ协议
发送方连续发送信息帧而不必等待确认帧的返回; 发送方在重发表中保存所发送的每个帧的备份; 重发表按先进先出队列规则操作; 接收方对每个正确收到的信息帧返回一个确认帧; 每一个确认帧包含一个惟一的序号,随相应的确认帧 返回; 接收方保存一个接收次序表,它包含最后正确收到的 信息帧的序号; 当发送方收到相应信息帧的确认后,从重发表中删除 该信息帧的备份; 当发送方检测出失序的确认帧后,便重发未被确认的 信息帧。
第四章 数据链路层
maokeji@
本章知识点
数据链路层概念 链路层的差错控制 链路层的流量控制 链路层协议举例
数据链路层概念
数据链路层为网络层服务,在相邻节点 间传递网络层分组。
应用层 应用层
运输层
运输层
网络层 数据链 路层 物理层
网络层分组
网络层分组
网络层 数据 路层 物理层
实际上,很多数据链路层协议使用字符计数法与其他方
法相结合作为其成帧的方法。
链路层的差错控制
差错控制包括两个方面,一是要检测差 错,二是要采取措施补救错误。 在数据帧的传输过程中,可能会出现两类 错误:一是帧损坏,二是帧丢失 。
帧损坏
数据帧通过通信链路到达接收方的过程 中,可能会受到干扰,造成接收到数据 帧同发送时的数据帧不一样,这种情况 称为帧损坏。 数据链路层广泛地采用了CRC冗余校验 技术,当CRC检测出错时,就认为该帧 已损坏。 CRC检测通常用硬件实现。