3第三章 数据链路层
计算机网络原理第三章数据链路层
有确认的面向连接的服务
数据链路层为网络层提供的最复杂的服务 源机器和目的机器在传递任何数据之前,先建立一条
连接。在这条连接上所发送的每一帧都被编上号,数 据链路层保证所发送的每一帧都确实已收到。 保证每帧只收到一次,而且所有的帧都是按正确顺序 收到 为网络层进程间提供可靠传送比特流的服务
接收方也会因无力处理收到的帧而会丢失一些帧。 解决方法:引入流量控制来限制发送方发出的数
据流量,使之不超过接收方的能力。 需要某种反馈机制使发送方知道接收方的情况。 大部分流量控制方案的基本原理相同。
差错检验和纠正
通常数字传输时,差错很少发生 模拟传输经常发生差错 光纤干线差错率很小 无线通信差错率较大 两种基本的处理差错策略: 纠错码 检错码
帧界的确定。2、完全依赖于8位字符,特别是ASCII字 符。 第1点的解决方法:采用字符填充,即在数据中的每个 偶然遇到的DLE字符前,插入一个DLE的ASCII代码。
第2点的解决方法:采用位填充
允许数据帧包含任意个数的比特,而且也允 许每个字符的编码包含任意个数的比特。
工作方式如下:每一帧使用一个特殊的位模 式,即01111110作为开始和结束标志字节。 当发送方的数据链路层在数据中遇到5个连 续的1时,它自动在其后插入一个0到输出比 特流中。
在实际环境中,可能会通过中断来处理,这里 作了简化,忽略了并行活动的细节。
当一个帧到达接收方时,硬件会计算校 验和。若有传输错误,会收到通知 ( event =cksum_err),若无错误,则 收到通知( event =frame_arrival),利 用from_physical_layer接收进来的帧并做处理。
计算机网络 第三章课后答案
第三章数据链路层3-01 数据链路(即逻辑链路)与链路(即物理链路)有何区别? “电路接通了”与”数据链路接通了”的区别何在?答:数据链路与链路的区别在于数据链路出链路外,还必须有一些必要的规程来控制数据的传输,因此,数据链路比链路多了实现通信规程所需要的硬件和软件。
“电路接通了”表示链路两端的结点交换机已经开机,物理连接已经能够传送比特流了,但是,数据传输并不可靠,在物理连接基础上,再建立数据链路连接,才是“数据链路接通了”,此后,由于数据链路连接具有检测、确认和重传功能,才使不太可靠的物理链路变成可靠的数据链路,进行可靠的数据传输当数据链路断开连接时,物理电路连接不一定跟着断开连接。
3-02 数据链路层中的链路控制包括哪些功能?试讨论数据链路层做成可靠的链路层有哪些优点和缺点.答:链路管理帧定界流量控制差错控制将数据和控制信息区分开透明传输寻址可靠的链路层的优点和缺点取决于所应用的环境:对于干扰严重的信道,可靠的链路层可以将重传范围约束在局部链路,防止全网络的传输效率受损;对于优质信道,采用可靠的链路层会增大资源开销,影响传输效率。
3-03 网络适配器的作用是什么?网络适配器工作在哪一层?答:适配器(即网卡)来实现数据链路层和物理层这两层的协议的硬件和软件网络适配器工作在TCP/IP协议中的网络接口层(OSI中的数据链里层和物理层)3-04 数据链路层的三个基本问题(帧定界、透明传输和差错检测)为什么都必须加以解决?答:帧定界是分组交换的必然要求透明传输避免消息符号与帧定界符号相混淆差错检测防止合差错的无效数据帧浪费后续路由上的传输和处理资源3-05 如果在数据链路层不进行帧定界,会发生什么问题?答:无法区分分组与分组无法确定分组的控制域和数据域无法将差错更正的范围限定在确切的局部3-06 PPP协议的主要特点是什么?为什么PPP不使用帧的编号?PPP适用于什么情况?为什么PPP协议不能使数据链路层实现可靠传输?答:简单,提供不可靠的数据报服务,检错,无纠错不使用序号和确认机制地址字段A 只置为0xFF。
计算机网络第五版课件(谢希仁编著)第三章 数据链路层
Note
Byte stuffing is the process of adding 1 extra byte whenever there is a flag or escape character in the text.
课件制作人:谢希仁
Figure 11.2 Byte stuffing and unstuffing
计算机网络(第 5 版)
第 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.1 使用点对点信道的数据链路层
3.1.1 数据链路和帧
链路(link)是一条无源的点到点的物理线 路段,中间没有任何其他的交换结点。
一条链路只是一条通路的一个组成部分。
数据链路(data link) 除了物理线路外,还必须 有通信协议来控制这些数据的传输。若把实现 这些协议的硬件和软件加到链路上,就构成了 数据链路。
被接收端 被接收端当作无效帧而丢弃 误认为是一个帧 如果数据中的某个字节的二进制代码恰好和SOH或EOT控制 字符一样,则数据链路层会错误地找到帧的边界,只把部分 帧手下,剩下的丢弃。
以上的传输就不是透明传输,需要解决
课件制作人:谢希仁
解决透明传输问题
第三章数据链路层
定义:在星形拓扑中, 每个设备只与中心控 制器有点到点专用链 路。设备并不互相连 接。中心控制器通常 为集线器Hub。 HUB是一个共享设备,主要提供信号放大和中转 的功能,它把一个端口接收的所有信号向所有端 口分发出去。一些集线器在分发之前将弱信号加 强后重新发出,一些集线器则排列信号的时序以 提供所有端口间的同步数据通信。
连接中设备间相互关系:
对等式:设备平等地共享链路。如环形、 网状拓扑。
主从式:由一个设备控制通话而其他设备 必须通过它进行传输。如星形、树形拓扑。 总线式拓扑适合于任意一种模式。
1、Mesh Topology(网状拓扑) 定义:在网状拓扑中,设备之间实现点对点连接, 每条链路只承载所连接的两站点之 间的通信流量。
CRC是基于二进制除法的。 定义
CRC是通过在数据单元末尾附加一串循环冗余码 或循环冗余校验余数使得整个数据单元可被另一个预 定二进制数(生成函数)所整除。在传输终点,用同一 个数去除输入的数据单元。如果此时不产生余数,则 认为数据单元完全正确,接受该数据单元。有余数则 意味着该数据单元在传输过程中被破坏而拒绝该数据 单元。
余数为0, 所以码字正确。
② 因生成码共5位,所以: 冗余码有4பைடு நூலகம்,为1001 ;
信息码是:110011。
注意:
循环冗余校验CRC只能做到差错检测而不能进行 差错纠错。 循环冗余校验CRC只能做到无差错接受,即“凡 是接收端数据链路层接受的帧,都以非常接近于1的 概率认为这些帧在传输过程中没有产生差错”。 但要使传输到接收端的帧无差错、无丢失、无重 复,按发送顺序接受,就必须加上确认和重传机制。
到达接收方的数据单元首先是数据,然后是 CRC码,接收方将整个数据串(数据+CRC码)当作 一个整体去除以用来产生CRC码的同一个除数。 如果数据串无差错到达接收方,则产生余数0, 数据单元将通过校验;如果在传输中数据单元被改 变,则除法将产生非零余数,数据单元将不能通过 校验。
408考研计算机网络——第三章 数据链路层
408考研计算机网络——第三章数据链路层第3章数据链路层结点:主机、路由器链路:网络中两个结点之间的物理通道,传输介质有双绞线、光纤和微波。
分为有线、无线链路数据链路:网络中两个结点之间的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路帧:链路层的协议数据单元,封装网络层数据报功能:为网络层提供服务、链路管理、组帧、流量控制、差错控制3.1 数据链路层的功能数据链路层在物理层提供服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。
其主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路·为网络层提供服务无确认无连接服务有确认无连接服务有确认面向连接服务·链路管理即连接的建立、维持、释放(用于面向连接的服务)·组帧(帧定界、帧同步、透明传输)封装成帧:在一段数据的前后部分添加首部和尾部,这样就构成了一个帧。
接收端在收到物理层上交的比特流后,根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束首部和尾部包含许多的控制信息,他们的一个重要作用:帧定界(确定帧的界限)帧同步:接收方应当能从接收到的二进制比特流中区分出帧的起始和终止。
最大传送单元MTU:帧的数据部分的长度上限透明传输:当所传数据中的比特组合恰巧与某一个控制信息完全一样时,采取适当的措施,使收方不会将这样的数据误认为是某种控制信息。
保证数据链路层的传输是透明的组帧的四种方法:字符计数法、字符(节)填充法、零比特填充法、违规编码法·流量控制限制发送方的数据流量,使其发送速率不超过接收方的接受能力✳对于数据链路层:控制的是相邻两结点之间数据链路上的流量对于传输层:控制源端到目的端之间的流量·差错控制位错:循环冗余校验CRC差错控制:自动重传请求ARQ帧错:定时器、编号机制*三个基本问题:封装成帧、透明传输、差错检测3.2 组帧·字符计数法帧首部使用一个计数字段(第一个字节,八位)来标明帧内字符数。
第3章:OSI层次:数据链路层
LAN Transmission Methods
LAN data transmissions fall into 3 classifications:
unicast--a single packet is sent from the source to a
single destination on a network
LAN Standards
MAC sublayer (802.3) Defines how to transmit
frames on the physical wire Handles physical addressing Define network topology Define line discipline. LLC sublayer (802.2) logically identifies different
frame
Node
Node:Host and router in the network Link:The channel connects the adjacent nodes
The DATA LINK LAYER provides: Access to the networking media Physical transmission across the media
Non-Deterministic MAC Protocols
This MAC protocol is called Carrier Sense Multiple Access with Collision Detection (CSMA/CD)
To use this shared-medium technology, Ethernet allows the networking devices to arbitrate for the right to transmit.
计算机网络第三章 数据链路层
计算机网络第3 章数据链路层第3 章数据链路层3.1 数据链路层的基本概念3.1.1 数据链路和帧3.1.2 三个基本问题3.2 点对点协议PPP3.2.1 PPP 协议的特点3.2.2 PPP 协议的帧格式3.2.3 PPP 协议的工作状态第3 章数据链路层(续)3.3 使用广播信道的数据链路层3.3.1 局域网的数据链路层3.3.2 CSMA/CD 协议3.4 使用广播信道的以太网3.4.1 使用集线器的星形拓扑3.4.2 以太网的信道利用率3.4.3 以太网的MAC 层第3 章数据链路层(续)3.5 扩展的以太网3.5.1 在物理层扩展以太网3.5.2 在数据链路层扩展以太网3.6 高速以太网3.6.1 100BASE-T 以太网3.6.2 吉比特以太网3.6.3 10 吉比特以太网3.6.4 使用高速以太网进行宽带接入数据链路层⏹数据链路层使用的信道主要有以下两种类型:⏹点对点信道。
一对一的点对点通信方式。
⏹广播信道。
这种信道使用一对多的广播通信方式,因此过程比较复杂。
广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。
数据链路层的简单模型局域网广域网主机H 1主机H 2路由器R 1路由器R 2路由器R 3电话网局域网主机H 1向H 2发送数据链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R 1R 2R 3H 1H 2从层次上来看数据的流动数据链路层的简单模型( 续)局域网广域网主机H 1主机H 2路由器R 1路由器R 2路由器R 3电话网局域网主机H 1向H 2发送数据链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R 1R 2R 3H 1H 2仅从数据链路层观察帧的流动3.1 数据链路层的基本概念3.1.1 数据链路和帧⏹链路(link),即物理链路:⏹指从一个结点到另一个结点的物理线路,中间没有任何其他的交换结点。
第三章数据链路层
第三章数据链路层重点内容(⼀)数据链路层的功能(⼆)组帧(三)差错控制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的概率认为这些帧在传输过程中没有产⽣差错”。
《计算机网络》课件---CH3 数据链路层
两种情况的对比(传输均无差错)
不需要流量控制
A B
需要流量控制
A B
送主机 B 送主机 B 送主机 B 时 间 送主机 B
送主机 B
送主机 B
课件制作人:谢希仁
3.2.3 实用的停止等待协议
四种情况
A B A B 出错 送 主 机 送 主 机 (a) 正常情况 tout 重 传 送 主 机 (b) 数据帧出错 重 传 送 主 机 (c) 数据帧丢失
用二进制的模 2 运算进行 2n 乘 M 的运算, 这相当于在 M 后面添加 n 个 0. 得到的 (k + n) bit 的数除以事先选定好的 长度为 (n + 1) bit 的数 P P,得出商是 Q 而余数是 R,余数 R 比除数 P 至少要少 1 个比特.
课件制作人:谢希仁
冗余码的计算举例
课件制作人:谢希仁
停止等待协议的要点
只有收到序号正确的确认帧 ACKn 后,才更新 发送状态变量 V(S)一次,并发送新的数据帧. 接收端接收到数据帧时,就要将发送序号 N(S) 与本地的接收状态变量 V(R) 相比较.
若二者相等就表明是新的数据帧,就收下,并发送 确认. 否则为重复帧,就必须丢弃.但这时仍须向发送端 发送确认帧 ACKn,而接收状态变量 V(R) 和确认序 号 n 都不变.
仅从数据链路层观察帧的流动
课件制作人:谢希仁
3.2 停止等待协议
3.2.1 完全理想化的数据传输
发送方 主 机 A AP1 接收方 AP2 主 机 B 高层
缓存
帧
帧 数据链路
缓存
数据链路层
课件制作人:谢希仁
完全理想化的数据传输 所基于的两个假定
假定 1: 链路是理想的传输信道,所传 送的任何数据既不会出差错也不会丢失. 假定 2: 不管发方以多快的速率发送数 2 据,收方总是来得及收下,并及时上交 主机.
计算机网络第三章习题答案
第三章数据链路层3-01 数据链路(即逻辑链路)与链路(即物理链路)有何区别? “电路接通了”与”数据链路接通了”的区别何在?答:数据链路与链路的区别在于数据链路出链路外,还必须有一些必要的规程来控制数据的传输,因此,数据链路比链路多了实现通信规程所需要的硬件和软件。
“电路接通了”表示链路两端的结点交换机已经开机,物理连接已经能够传送比特流了,但是,数据传输并不可靠,在物理连接基础上,再建立数据链路连接,才是“数据链路接通了”,此后,由于数据链路连接具有检测、确认和重传功能,才使不太可靠的物理链路变成可靠的数据链路,进行可靠的数据传输当数据链路断开连接时,物理电路连接不一定跟着断开连接。
3-02 数据链路层中的链路控制包括哪些功能?试讨论数据链路层做成可靠的链路层有哪些优点和缺点.答:链路管理帧定界流量控制差错控制将数据和控制信息区分开透明传输寻址可靠的链路层的优点和缺点取决于所应用的环境:对于干扰严重的信道,可靠的链路层可以将重传范围约束在局部链路,防止全网络的传输效率受损;对于优质信道,采用可靠的链路层会增大资源开销,影响传输效率。
3-03 网络适配器的作用是什么?网络适配器工作在哪一层?答:适配器(即网卡)来实现数据链路层和物理层这两层的协议的硬件和软件网络适配器工作在TCP/IP协议中的网络接口层(OSI中的数据链里层和物理层)3-04 数据链路层的三个基本问题(帧定界、透明传输和差错检测)为什么都必须加以解决?答:帧定界是分组交换的必然要求;透明传输避免消息符号与帧定界符号相混淆;差错检测防止有差错的无效数据帧浪费后续路由上的传输和处理资源3-05 如果在数据链路层不进行帧定界,会发生什么问题?答:无法区分分组与分组;无法确定分组的控制域和数据域;无法将差错更正的范围限定在确切的局部3-06 PPP协议的主要特点是什么?为什么PPP不使用帧的编号?PPP适用于什么情况为什么PPP协议不能使数据链路层实现可靠传输?答:简单,提供不可靠的数据报服务,检错,无纠错不使用序号和确认机制地址字段A 只置为0xFF。
计算机网络第三章数据链路层
停止等待协议的定量分析 (图3-5)
两个发送成功的数据帧间的最小时间间 隔tT为:
tT= tf+tout= tf+2tp
正确传送一个数据帧所需的平均时间t 正确传送一个数据帧所需的平均时间tav 为:
tav=tT/(1-p) /(1最大吞吐量λmax=
(3(3-5)
(1(1-p)/ tT
(念
数据链路: 把实现用来控制数据传输的规程的硬件 和软件加到链路上,就构成了数据链路。 链路: 一条无源的点到点的物理线路段,中间 无交换结点。(物理链路)
数据链路层的功能
1. 2. 3. 4. 5. 6. 7. 链路管理 帧同步 流量控制 差错控制 将数据和控制信息区分开 透明传输 寻址
发送窗口
接收窗口
发送窗口的最大值
WT≤
n-1 2
3.4 选择重传ARQ协议
可以避免重复传送已正确到达接收端的数 据帧。但要在接收端设置缓存空间。
WR≤ WR(max) WT= WR=2n/2 n=4 WT= WR=4
n/2 2
3.5面向比特的链路控制规程HDLC
面向字符 在链路上所传送的数据是规定的字符集 (如ASCII码)中的字符所组成;并且, (如ASCII码)中的字符所组成;并且, 传送的控制信息也是同一个字符集中的 若干控制字符构成。 缺点与发展
标志 8
地址 8
控制 8
信息 可变
FCS 16
标志 8
地址: 在用非平衡方式传送数据时,地址字段总是 写入次站的地址; 在平衡方式(采用ABM),总是填入应答站 在平衡方式(采用ABM),总是填入应答站 的地址。 全1地址:广播方式 全0地址:无效地址 扩展地址:第1 扩展地址:第1位表扩展位,其余表地址位。 (0 或1)
计算机网络-第三章-数据链路层笔记总结
计算机⽹络-第三章-数据链路层笔记总结数据链路层的基本概念以及基本问题数据发送模型主机通过电话⽹连接到路由器R1,路由器R1到达局域⽹路由器R2,R2连接⼴域⽹,再到达局域⽹中的另⼀台主机。
image-20200730111505307数据链路层的信道类型分为两种类型点对点信道:这种信道使⽤⼀对⼀的点到点通信⽅式。
⼴播信道:这种信道使⽤⼀对多的⼴播通信⽅式,因此过程⽐较复杂。
⼴播信道上连接的主机很多,因此必须使⽤专⽤的共享信道协议来协调这些主机的数据发送。
链路与数据链路链路是⼀条点对点的物理线路段,中间没有任何其他的转换点。
数据链路:必须有通信协议来控制数据的传输。
将这些协议加到链路上就变成了数据链路。
⽹卡(适配器)就是实现这些协议的硬件和软件。
通常情况下,适配器都包括了数据链路层和物理层两层的功能。
传输对象数据链路层传送的是帧帧有开始和结尾部分。
都是0101这种⼆进制形式。
通过物理层的⽐特流或者光信号发给另⼀台计算机的数据链路层,接收⽅主机的数据链路层会解析发送帧的开头和结尾部分。
再向上发送给⽹络层。
数据链路层的三个基本问题封装成帧封装成帧就是在⼀段数据的前后分别添加⾸部和尾部的标记,然后就构成了⼀个帧。
确定了帧的界限。
⾸部和尾部最重要的作⽤就是进⾏帧定界。
image-20200730195142979帧如果未发送结束,发送端出现了问题,只能重新发送帧。
接收端不会接受⼀半的帧(不完整的帧)。
因此接受端接受的帧,开始和结束的标识符都不能缺少。
透明传输当我们在发送的原始数据中含有开始符“SOH”或者结束符“EOT”是,如果不加额外的处理,那么系统会将原始数据中的”SOH“和“EOT”作为开始或结束符,这就引发了数据传送错误的情况。
⽤字节填充法解决透明传输发送端的数据链路层在数据中出现控制字符“SOH”和“EOT”,将原始数据中这些控制字符的前⾯添加上“ESC”符号,这种做法被称为字节填充。
⽽ESC字符在这⾥的作⽤就是转义字符。
第三章 数据链路层-上
– 帧重复
– 帧失序
在现有网络实现中,数据链路层只提供比特差错检测。
29
3
差错检测
– 传输错误的比特占所传输的比特总数的比率: PE=NE/N
例如:误码率为10-10,表示平均发送1010个比特数就 会出现一个比特差错。
– 误码率和数据传输速率一起构成了数据通信指标。
30
实现差错检测的办法
第1帧
第2帧 帧长度计数错
第3帧
第4帧
5
1
2
3
4
7
6
7
8
9
8
0
1
2
3
4
5
6
8
7
8
9
0
1
2
3
第1帧
第2帧
一旦帧长度计数被误读,将无法再同步,所以不能采用
19
带字符填充的首尾界符法
• 用特殊的字符作为帧头和帧尾界符
FLAG Header Payload field Trailer FLAG
这是一种面向字符的帧格式,所传输的数据都是字符 (ASCII或EBCDIC字符),但帧中不允许出现帧界符 标志,在面向字符的串型通信中常使用这种格式(PPP) 接收方一旦丢失了一个FLAG,只要继续搜索下一个 FLAG,就可重新确定帧边界,即具有再同步能力
8
面向无连接和面向连接服务
9
3.1 概述
一、基本概念
• 链路(link)是一条无源的点到点的物理线路段, 中间没有任何其他的交换结点。 – 一条链路只是一条通路的一个组成部分。 • 数据链路(data link) 除了物理线路外,还必须 有通信协议来控制这些数据的传输。若把实现 这些协议的硬件和软件加到链路上,就构成了 数据链路。
第3章数据链路层
3.3 基本数据链路协议
一种无限制的单工协议(An Unrestricted Simplex Protocol) 停-等协议(A Simplex Stop-and-Wait Protocol) 有噪音信道的停-等协议(A Simplex Protocol for a Noisy Channel)
Simplex Stop-andWait Protocol
有噪音信道所涉及的问题
进一步考虑实际的会出错的信道,帧既可能损坏(接收端可通 过校验检查出错误),也可能完全丢失。
发送端仍通过接收端的反馈来决定怎么做。但由于帧会丢失, 发送端可能收不到反馈的确认帧,因此发送端必须引入超时机 制(time out),即增加一个定时计数器,在一定时间后对没有 确认的帧进行重发,也称作ARQ(Automatic Retransmit reQuest)。
差错检测
流量控制
Relationship between packets and frames
Services Provided to Network Layer
(a) Virtual communication. (b) Actual communication.
为网络层提供服务
无确认、无连接的服务
Protocol Definitions
Continued Some definitions needed in the protocols to follow. These are located in the file protocol.h.
Protocol Definitions (ctd.)
4. 物理层编码
在物理层用1.5或2个物理位表示一个数据位来 表示帧的起始与结尾。 表示0
第3章数据链路层3
网卡的作用
网络接口板又称为通信适配器(adapter) 或网络接口卡 NIC (Network Interface Card),或“网卡”。 网卡的重要功能:
进行串行/并行转换。 对数据进行缓存。 在计算机的操作系统安装设备驱动 程序。 实现以太网协议。
计算机通过适配器和局域网进行通信
2. 冲突检测(CD) 每个计算机结点上的冲突检测器(如网卡)具备发现冲 突和处理冲突的能力。
CSMA/CD协议
CSMA/CD的工作原理可以概括为以下四点: ① 先听后发。 ② 边听边发。 ③ 冲突停止。 ④ 随机延迟后重发。
有冲突检测的载波监听多路访问(CSMA/CD) ① 监听信道是否空闲,如果空闲就立即发送数据,并继续监听 ② 如果信道忙就一直监听,直到信道空闲,立即发送 ③ 在传输过程中,一旦发现冲突,立即停止发送,并发送干扰信号来强 化冲突,以便让其他结点知道 ④ 发送完干扰信号,等待一个随机时间再试图发送,即转到①
RG11同轴粗缆 CSMA/CD 10Mbps 基本频带 总线型 2.5m 500m 2500m 100台
RG58同轴细缆 CSMA/CD 10Mbps 基本频带 总线型 0.5m 185m 925m 30台
无屏蔽双绞线UTP CSMA/CD 10Mbps 基本频带 星形 --100m --512台
不能工作。
(2)环型拓扑
基 由一些中继器通过点到点链路连成的一个闭合环。入网设
本 备连到中继器上。它从一条链路上接收数据,以相同速率
特 性
在另一条链路上输出。数据在环上是单向传输的。
优 电线长度较短,与总线拓扑类似; 点 适于采用光缆连接,从而提高数据速率。
缺 某段链路或某个中继器有故障会使全网不能工作; 点 站点离网、入网都较困难。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据链路层的概述
差错检测
差错检测的方法很多,常用的是利用信道编码 进行差错检测。 信道编码的基本思想是在传输的信息中加入一 些冗余码,或叫做监督吗。它与被传送的信息 有一定关系(规律),利用这些关系(规律), 我们可以判断信息的正误从而纠正他们。
数据链路层的概述
检错、纠错的原理:
案例一: 设发送端发送A、B两个消息,此时我们采用一 位编码,即1表示A,0表示B。 如果在发送过程中发生误码,将1错成0,将0 错成1,由于1和0都是发送的码元,接收端无法判 断收到的信息是否正确。 因此这种方法没有检错纠错能力。
点对点协议PPP
PPP协议的概述
早期通信线路质量很差,曾广泛使用一种叫高 级数据链路控制HDLC的数据链路层协议。 对于点对点链路,HDLC目前已经很少使用了, 现在使用较多的是简单得多的PPP协议。 PPP协议的典型案例就是用户调制解调器和远端 路由器之间的拨号连接。
已向因特网管理机构 申请到一批 IP 地址 用 户 接入网 ISP 至因特网
数据链路层的概述
检错、纠错的原理(续):
案例三: 若在上诉案例中再增加一位监督码元,一共是 三位监督码元,监督码元和信息码元依然一样, 此时我们用111表示A,用000表示B。 这时如果传输过程中出现一位错误,110或001 或101或010等等,此时接收端不但可以检查出是 否出错,而且还可以根据错码与000,111的相似程 度还原纠正错误的码元。 但如果出现了两位错误,此时虽然接收端可以 判断出信息出错,但是此时纠错的话会导致纠错 错误。
数据链路层的概述
数据链路层的传输单元----帧
结点 A 网络层 数据 链路层 物理层 帧
1010… …0110
结点 B IP 数据报 取出 帧
1010… …0110
IP 数据报 装入
(a) 链路 结点 A 数据 链路层 (b) 发送 帧 链路 接收 帧 结点 B
数据链路层的概述
数据链路层的基本问题:
如何控制帧在信道上传输; 如何进行差错控制和数据同步; 如何建立的收发双方通信连接。
数据链路层的三个基本功能:
(1) 封装成帧 (2) 透明传输
(3) 差错控制
数据链路层的概述
封装成帧
封装成帧(framing)就是在一段数据的前后分别 添加首部和尾部,然后就构成了一个帧。确定 帧的界限。 为什么要封装成帧? (1)统一的信息格式 (2)便于管理与同步 (3)可以添加控制信息(差错、流量)
在物理层扩展:集线器 在数据链路层扩展:网桥
典型以太网
数据链路层的概述
数据链路层的信道主要有以下两种类型:
点对点信道 这种信道使用一对一的点对点通信方式。 广播信道 这种信道使用一对多的广播通信方式,因此过 程比较复杂。广播信道上连接的主机很多,因 此必须使用专用的共享信道协议来协调这些主 机的数据发
数据链路层的概述
常用的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
PPP 协议
点对点协议PPP
PPP协议的特点
简单:没有流量控制,没有纠错功能。 封装成帧 透明性
支持多种网络层协议 支持多种链路 差错检测 能够检测连接状态 控制最大传输单元
点对点协议PPP
PPP协议没有的功能
纠错:PPP协议不提供可靠服务 流量控制:在TCP/IP中,只有运输层负责 序号
多点线路 半双工或单工链路:PPP只支持全双工链路
数据链路层的概述
检错、纠错的原理(续):
案例二: 若在上诉案例中增加一位监督码元,且增加码 元与信息码元相同,即用11表示A,用00表示B。 如果在传输过程中发生一位错误,出现了10或 01,此时接收端就可以发现这种错误,因为发送 端不可能发送01或10。 但是此时发送端无法纠正这种错误,当接收到 10或01时,接收端无法确定发送端要发的是11还 是00。
数据链路层的概述
实现透明传输的几种方法
(1)使用字符填充的首尾定界符法 用特定字符来界定一帧的起始于终止(如BSC规 程)。这些特殊字符依赖于字符的编码集,兼 容性较差。 例子:
单片机聊天室的软件
这种方式称为 “字节填充法”或 “字符填充法”
数据链路层的概述
字节填充法举例
发送端的数据链路层在数据中出现控制字符 “SOH”或“EOT”的前面插入一个转义字符 “ESC”(其十六进制编码是 1B)。 是否完全解决透明传输问题了呢? 若数据部分出现“ESC”怎么办? 如果转义字符也出现数据当中,那么应在转义 字符前面插入一个转义字符。当接收端收到连 续的两个转义字符时,就删除其中前面的一个。
数据链路层的概述
奇偶校验(续)
(1)垂直奇偶校验(常规奇偶校验)(续)
垂直奇偶校验的例子
偶校验:1101 001 0
奇校验:1010 000 1 能检出所有奇数位错误,漏检率=1/2。
数据链路层的概述
奇偶校验(续)
(2)水平奇偶校验(加强奇偶校验) 例子:发送3组3位的信息 对于垂直奇偶校验,每组信息加一位,共4位3 组信息。 对于水平奇偶校验,每组不加任何位,发送3 组信息后再发送一组完全又奇偶校验位组成的信 息,分别对应每组信息的第一位、第二位和第三 位。 水平奇偶校验的检测率较垂直的高;但是检错 时间较长,必须收到校验帧才能开始检错。
数据链路层的概述
奇偶校验
(1)垂直奇偶校验(常规奇偶校验) 奇偶校验的原理: 在数据后面加1位,作为奇偶校验位。比如 ASCII编码一共7位,再加一位奇偶校验码,共8位。 通过控制校验位,可以改变数据中“1”码的 个数,因此来判断正误。 因此奇偶校验又可以分为: 偶校验:数据中“1”码的个数永远为偶数个。 奇校验:数据中“1”码的个数永远为奇数个。
在接收端把 5 个连 1 之后的 0 比特删除
数据链路层的概述
实现透明传输的几 种方法(续)
(3)违法编码 在物理层采用特定 的比特编码方法。 例如数据采用的是 曼彻斯特编码,这 时控制编码采用全 高和全低的不归零 码,这些不归零码 对于曼彻斯特编码 而言是违法的。
数据链路层的概述
实现透明传输的几种方法(续)
数据链路层的概述
(3) 发送信息流程: 1.发送信息前,收发双发必须约定一个大家都知 道的生成多项式G(X)。 2.发送端先把数据划分为组,假定每组k个比特位 (信息位)。然后在信息位后加上n位冗余码一起发 送,共k+n位。 例如:1011001(k=7);这里设 n=4 。 3.求冗余位R。这里用Xn乘以信息位,相当于在信 息位后补n个零。然后用得到的结果除以G(X),得到 的余数就是要求的冗余位R。
数据链路层的概述
字节填充法举例(续)
帧开始符
SOH EOT
原始数据
SOH ESC SOH
帧结束符
EOT
字节填充
SOH ESC EOT
字节填充
ESC SOH
字节填充
ESC ESC
字节填充
ESC SOH EOT
发送 在前
经过字节填充后发送的数据
数据链路层的特填充的首尾标志法 使用特定的比特模式(如01111110)来标志一 帧的起始于终止。如果出现如果数据中出现连 续5个“1”,则在最后一个“1”后加一个 “0”,然后再发送。接收端收到后则自动删除 多加的“0”。 我们成这种方式为“零比特填充”
帧开始符
SOH
帧结束符 装在帧中的数据部分 帧
EOT
发送在前
数据链路层的概述
透明传输
定义:就是无论什么样排列的代码都可以在信 道中传输,这样的数据对于收发控制端而言是 透明的。 用一个例子来理解: 出现了“EOT” 完整的帧 发送 在前 数据部分
SOH EOT EOT
被接收端 误认为是一个帧
被接收端当作无效帧而丢弃
数据链路层的概述
(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:报文结束,拆除链路
第三章 数据链路层
自动化系 匡畅
本章内容
数据链路层的概述