第3章 数据链路层
计算机网络课后习题答案(第三章)

计算机网络课后习题答案(第三章)(2009-12-14 18:16:22)转载▼标签:课程-计算机教育第三章数据链路层3-01 数据链路(即逻辑链路)与链路(即物理链路)有何区别? “电路接通了”与”数据链路接通了”的区别何在?答:数据链路与链路的区别在于数据链路出链路外,还必须有一些必要的规程来控制数据的传输,因此,数据链路比链路多了实现通信规程所需要的硬件和软件。
“电路接通了”表示链路两端的结点交换机已经开机,物理连接已经能够传送比特流了,但是,数据传输并不可靠,在物理连接基础上,再建立数据链路连接,才是“数据链路接通了”,此后,由于数据链路连接具有检测、确认和重传功能,才使不太可靠的物理链路变成可靠的数据链路,进行可靠的数据传输当数据链路断开连接时,物理电路连接不一定跟着断开连接。
3-02 数据链路层中的链路控制包括哪些功能?试讨论数据链路层做成可靠的链路层有哪些优点和缺点.答:链路管理帧定界流量控制差错控制将数据和控制信息区分开透明传输寻址可靠的链路层的优点和缺点取决于所应用的环境:对于干扰严重的信道,可靠的链路层可以将重传范围约束在局部链路,防止全网络的传输效率受损;对于优质信道,采用可靠的链路层会增大资源开销,影响传输效率。
3-03 网络适配器的作用是什么?网络适配器工作在哪一层?答:适配器(即网卡)来实现数据链路层和物理层这两层的协议的硬件和软件网络适配器工作在TCP/IP协议中的网络接口层(OSI中的数据链里层和物理层)3-04 数据链路层的三个基本问题(帧定界、透明传输和差错检测)为什么都必须加以解决?答:帧定界是分组交换的必然要求透明传输避免消息符号与帧定界符号相混淆差错检测防止合差错的无效数据帧浪费后续路由上的传输和处理资源3-05 如果在数据链路层不进行帧定界,会发生什么问题?答:无法区分分组与分组无法确定分组的控制域和数据域无法将差错更正的范围限定在确切的局部3-06 PPP协议的主要特点是什么?为什么PPP不使用帧的编号?PPP适用于什么情况?为什么PPP协议不能使数据链路层实现可靠传输?答:简单,提供不可靠的数据报服务,检错,无纠错不使用序号和确认机制地址字段A 只置为0xFF。
计算机网络 第三章课后答案

第三章数据链路层3-01 数据链路(即逻辑链路)与链路(即物理链路)有何区别? “电路接通了”与”数据链路接通了”的区别何在?答:数据链路与链路的区别在于数据链路出链路外,还必须有一些必要的规程来控制数据的传输,因此,数据链路比链路多了实现通信规程所需要的硬件和软件。
“电路接通了”表示链路两端的结点交换机已经开机,物理连接已经能够传送比特流了,但是,数据传输并不可靠,在物理连接基础上,再建立数据链路连接,才是“数据链路接通了”,此后,由于数据链路连接具有检测、确认和重传功能,才使不太可靠的物理链路变成可靠的数据链路,进行可靠的数据传输当数据链路断开连接时,物理电路连接不一定跟着断开连接。
3-02 数据链路层中的链路控制包括哪些功能?试讨论数据链路层做成可靠的链路层有哪些优点和缺点.答:链路管理帧定界流量控制差错控制将数据和控制信息区分开透明传输寻址可靠的链路层的优点和缺点取决于所应用的环境:对于干扰严重的信道,可靠的链路层可以将重传范围约束在局部链路,防止全网络的传输效率受损;对于优质信道,采用可靠的链路层会增大资源开销,影响传输效率。
3-03 网络适配器的作用是什么?网络适配器工作在哪一层?答:适配器(即网卡)来实现数据链路层和物理层这两层的协议的硬件和软件网络适配器工作在TCP/IP协议中的网络接口层(OSI中的数据链里层和物理层)3-04 数据链路层的三个基本问题(帧定界、透明传输和差错检测)为什么都必须加以解决?答:帧定界是分组交换的必然要求透明传输避免消息符号与帧定界符号相混淆差错检测防止合差错的无效数据帧浪费后续路由上的传输和处理资源3-05 如果在数据链路层不进行帧定界,会发生什么问题?答:无法区分分组与分组无法确定分组的控制域和数据域无法将差错更正的范围限定在确切的局部3-06 PPP协议的主要特点是什么?为什么PPP不使用帧的编号?PPP适用于什么情况?为什么PPP协议不能使数据链路层实现可靠传输?答:简单,提供不可靠的数据报服务,检错,无纠错不使用序号和确认机制地址字段A 只置为0xFF。
《计算机网络(第7版)谢希仁著》第三章数据链路层要点及习题总结

《计算机⽹络(第7版)谢希仁著》第三章数据链路层要点及习题总结1.数据链路层的三个基本问题:封装成帧,透明传输,差错检测2.点对点信道的数据链路层 (1)链路和数据链路 链路(物理链路):链路(link)就是从⼀个结点到相邻结点的⼀段物理线路(有线或⽆线〉,⽽中间没有任何其他的交换结点 数据链路(逻辑链路):为当需要在⼀条线路上传送数据时,除了必须有⼀条物理线路外,还必须有⼀些必要的通信协议来控制这些数据的传输,换⽽⾔之,数据链路=链路+通信协议 (2)早期的数据通信协议叫通信规程 (3)数据链路层的协议数据单元-------帧 (4)封装成帧:封装成帧(framing)就是在⼀段数据的前后分别添加⾸部和尾部,这样就构成了⼀个帧。
⼀个帧的帧长等于帧的数据部分长度加上帧⾸部和帧尾部的长度。
⾸部和尾部的⼀个重要作⽤就是进⾏帧定界(即确定帧的界限),为了提⾼帧的传输效率,应当使帧的数据部分长度尽可能地⼤于⾸部和尾部的长度。
但是,每⼀种链路层协议都规定了所能传送的帧的数据部分长度上限⼀⼀最⼤传送单元 MTU (Maximum Transfer Unit),当数据是由可打印的 ASCII 码组成的⽂本⽂件时,帧定界可以使⽤特殊的帧定界符(如SOH和EOT)。
SOH:Start Of Header EOT:End Of Transmission (5)透明传输:所传输的数据中的任何 8 ⽐特的组合⼀定不允许和⽤作帧定界的控制字符的⽐特编码⼀样,⽆论什么样的⽐特组合的数据,都能够按照原样没有差错地通过这个数据链路层。
发送端的数据链路层在数据中出现控制字符 “SOH”或“EOT”的前⾯插⼊⼀个转义字符“ESC”(其⼗六进制编码是 1B,⼆进制是 00011011 )。
⽽在接收端的数据链路层在把数据送往⽹络层之前删除这个插⼊的转义字符。
这种⽅法称为字节填充或字符填充。
如果转义字符也出现在数据当中,那么解决⽅法仍然是在转义字符的前⾯插⼊⼀个转义字符。
第3章 数据链路层

协议思想:协调、控制接收方、发送方的速度。
发送方 接收方
DATA0
协 议 算 法
ACK
发出一帧; 等待; 直到收到ACK 才发送下一帧
DATA1 ACK DATA2 ACK
等待; 将收到的数据帧 上交主机; 发送应答信息; 转到第一步
两种情况的对比(传输均无差错)
不需要流量控制
A B
需要流量控制
A B
停止等待协议的要点
实用的 CRC 检验器都是用硬件完成的。 CRC 检验器能够自动丢弃检测到的出错 帧。因此所谓的“丢弃出错帧”,对上 层软件或用户来说都是感觉不到的。 发送端对出错的数据帧进行重传是自动 进行的,因而这种差错控制体制常简称 为 ARQ (Automatic Repeat reQuest), 直译是自动重传请求,但意思是自动请 求重传。
是否接收到正确的数据帧?如何告诉发送方? 能及时处理接收到的数据帧吗?
?传输过程: 会出错吗?会丢失数据帧吗? !解决这些问题,是链路层的主要任务。 !针对这些问题所制定的通信规程就是数据链路层的通信协议。
3.3.1 完全理想化的数据传输
发送方 主 机 A AP1 接收方 AP2 主 机 B 高层
帧的编号问题
任何一个编号系统的序号所占用的比特数一定 是有限的。因此,经过一段时间后,发送序号 就会重复。 序号占用的比特数越少,数据传输的额外开销 就越小。 对于停止等待协议,由于每发送一个数据帧就 停止等待,因此用一个比特来编号就够了。
一个比特可表示 0 和 1 两种不同的序号。
帧的发送序号
时间
重传时间
重传时间的作用是:数据帧发送完毕后若经过了这样长的时 间还没有收到确认帧,就重传这个数据帧。 为方便起见,我们设重传时间为
第三章数据链路层

定义:在星形拓扑中, 每个设备只与中心控 制器有点到点专用链 路。设备并不互相连 接。中心控制器通常 为集线器Hub。 HUB是一个共享设备,主要提供信号放大和中转 的功能,它把一个端口接收的所有信号向所有端 口分发出去。一些集线器在分发之前将弱信号加 强后重新发出,一些集线器则排列信号的时序以 提供所有端口间的同步数据通信。
连接中设备间相互关系:
对等式:设备平等地共享链路。如环形、 网状拓扑。
主从式:由一个设备控制通话而其他设备 必须通过它进行传输。如星形、树形拓扑。 总线式拓扑适合于任意一种模式。
1、Mesh Topology(网状拓扑) 定义:在网状拓扑中,设备之间实现点对点连接, 每条链路只承载所连接的两站点之 间的通信流量。
CRC是基于二进制除法的。 定义
CRC是通过在数据单元末尾附加一串循环冗余码 或循环冗余校验余数使得整个数据单元可被另一个预 定二进制数(生成函数)所整除。在传输终点,用同一 个数去除输入的数据单元。如果此时不产生余数,则 认为数据单元完全正确,接受该数据单元。有余数则 意味着该数据单元在传输过程中被破坏而拒绝该数据 单元。
余数为0, 所以码字正确。
② 因生成码共5位,所以: 冗余码有4பைடு நூலகம்,为1001 ;
信息码是:110011。
注意:
循环冗余校验CRC只能做到差错检测而不能进行 差错纠错。 循环冗余校验CRC只能做到无差错接受,即“凡 是接收端数据链路层接受的帧,都以非常接近于1的 概率认为这些帧在传输过程中没有产生差错”。 但要使传输到接收端的帧无差错、无丢失、无重 复,按发送顺序接受,就必须加上确认和重传机制。
到达接收方的数据单元首先是数据,然后是 CRC码,接收方将整个数据串(数据+CRC码)当作 一个整体去除以用来产生CRC码的同一个除数。 如果数据串无差错到达接收方,则产生余数0, 数据单元将通过校验;如果在传输中数据单元被改 变,则除法将产生非零余数,数据单元将不能通过 校验。
数据通信与计算机网络第五版(习题答案)——第三章数据链路层

数据通信与计算机网络第五版第三章数据链路层3-1 数据链路(即逻辑链路)与链路(即物理链路)有何区别?“电路接通了”与“数据链路接通了”的区别何在?解答:所谓链路就是从一个结点到相邻结点的一段物理线路,而中间没有任何其他的交换结点。
在进行数据通信时,两个计算机之间的通信路径往往要经过许多段这样的链路。
可见链路只是一条路径的组成部分。
数据链路则是另一个概念。
这是因为当需要在一条线路上传送数据时,除了必须有一条物理线路外,还必须有一些必要的通信协议来控制这些数据的传输(这将在后面几节讨论)。
若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。
这样的数据链路就不再是简单的物理链路而是个逻辑链路了。
“电路接通了”仅仅是物理线路接通了通信双方可以在上面发送和接收0/1比特了,而“数据链路接通了”表明在该物理线路接通的基础上通信双方的数据链路层协议实体已达成了一致并做好了在该链路上发送和接收数据帧的准备(可能互相要协商某些数据链路层参数)。
3-2 数据链路层包括哪些主要功能?试讨论数据链路层做成可靠的链路层有哪些优点和缺点。
解答:数据链路层的链路控制的主要功能包括:封装成帧、透明传输和差错检测,可选功能包括可靠传输、流量控制等。
在数据链路层实现可靠传输的优点是通过点到点的差错检测和重传能及时纠正相邻结点间传输数据的差错。
若在数据链路层不实现可靠传输由高层如运输层通过端到端的差错检测和重传来纠正这些差错会产生很大的重传时延。
但是在数据链路层实现可靠传输并不能保证端到端数据传输的可靠,如由于网络拥塞导致路由器丢弃分组等。
因此,即使数据链路层是可靠的,在高层如运输层仍然有必要实现端到端可靠传输。
如果相邻结点间传输数据的差错率非常低,则在数据链路层重复实现可靠传输就会给各结点增加过多不必要的负担。
3-3 网络适配器的作用是什么?网络适配器工作在哪一层?解答:网络适配器的作用就是实现数据链路层和物理层的功能。
适配器接收和发送各种帧时不使用计算机的CPU 。
408考研计算机网络——第三章 数据链路层
408考研计算机网络——第三章数据链路层第3章数据链路层结点:主机、路由器链路:网络中两个结点之间的物理通道,传输介质有双绞线、光纤和微波。
分为有线、无线链路数据链路:网络中两个结点之间的逻辑通道,把实现控制数据传输协议的硬件和软件加到链路上就构成数据链路帧:链路层的协议数据单元,封装网络层数据报功能:为网络层提供服务、链路管理、组帧、流量控制、差错控制3.1 数据链路层的功能数据链路层在物理层提供服务的基础上向网络层提供服务,其最基本的服务是将源自网络层来的数据可靠地传输到相邻节点的目标机网络层。
其主要作用是加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造成为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路·为网络层提供服务无确认无连接服务有确认无连接服务有确认面向连接服务·链路管理即连接的建立、维持、释放(用于面向连接的服务)·组帧(帧定界、帧同步、透明传输)封装成帧:在一段数据的前后部分添加首部和尾部,这样就构成了一个帧。
接收端在收到物理层上交的比特流后,根据首部和尾部的标记,从收到的比特流中识别帧的开始和结束首部和尾部包含许多的控制信息,他们的一个重要作用:帧定界(确定帧的界限)帧同步:接收方应当能从接收到的二进制比特流中区分出帧的起始和终止。
最大传送单元MTU:帧的数据部分的长度上限透明传输:当所传数据中的比特组合恰巧与某一个控制信息完全一样时,采取适当的措施,使收方不会将这样的数据误认为是某种控制信息。
保证数据链路层的传输是透明的组帧的四种方法:字符计数法、字符(节)填充法、零比特填充法、违规编码法·流量控制限制发送方的数据流量,使其发送速率不超过接收方的接受能力✳对于数据链路层:控制的是相邻两结点之间数据链路上的流量对于传输层:控制源端到目的端之间的流量·差错控制位错:循环冗余校验CRC差错控制:自动重传请求ARQ帧错:定时器、编号机制*三个基本问题:封装成帧、透明传输、差错检测3.2 组帧·字符计数法帧首部使用一个计数字段(第一个字节,八位)来标明帧内字符数。
王道计算机网络第三章数据链路层思维导图
思想
1-坚持CSMA
只要媒体空闲,站点就马上发送,避免了媒体利用率的损失
优点
假如有两个或两个以上的站点有数据要发送,冲突就不可避免
缺点
非坚持指的是对于监听信道忙之后就不继续监听
信道空闲
CSMA协议
如果一个主机要发送消息,那么它先监听信道
相同点
1.传输介质不同:CSMA/CD用于总线以太网【有线】,而CSMA/CA用于无线局 域网【无线】
CSMA/CD与CSMA/CA对比
2.载波检测方式不同:因传输介质不同,CSMA/CD与CSMA/CA的检测方式也不 同。CSMA/CD迪过电缆中电压的变化来检测,当数据发生碰撞时,电缆中的电 压就会随着发生变化;而CSMA/CA采用能量检测(ED)、载波检测(CS)和能量 载波混合检测三种检测信道空闲的方式
粗同轴电缆
细同轴电缆
传输介质
双绞线+集线器 逻辑上总线型 物理上星型
拓扑结构
传输介质与拓扑结构的发展
10BASE-T是传送基带信号的双绞线以太网,T表示采用双绞线,现10BASE-T采 用的是无屏蔽双绞线(UTP),传输速率是10Mb/s
物理上采用星型拓扑,逻辑上总线型,每段双绞线最长为100m
10BASE-T以太网
隐蔽站
无线局域网
为什么会有CSMA/CA
发送数据前,先检测信道是否空闲
空闲则发出RTS(request to send),RTS包括发射端的地址、接收端的地址、 下一份数据将持续发送的时间等信息;信道忙则等待
接收端收到RTS后,则响应CTS(clear to send)
数据链路层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的概率认为这些帧在传输过程中没有产⽣差错”。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
13
数据链路层像个数字管道
常常在两个对等的数据链路层之间画出一个数 字管道,而在这条数字管道上传输的数据单位是 帧。
结点
帧
帧
结点
早期的数据通信协议曾叫作通信规程 (procedure)。因此在数据链路层,规程和协议是同 义语。
14
3.1
3.1.1 3.1.2
使用点对点信道的数据链路层
数据链路和帧 三个基本问题
– 冲击噪声
• 是由外界电磁干扰引起的,与热噪声相比,冲击噪声 的幅度较大,是引起差错的主要原因。冲击噪声持续 时间与数据传输中每个比特的发送时间相比,可能较 长,因而冲击噪声引起的相邻多个数据位出错呈突发 性。 • 冲击噪声引起的传输差错称为突发差错。
差错产生的原因
在通信过程中出现的传输差错,是由随机差错和 突发差错共同构成的,而造成差错可能的原因包括:
23
数据通信中的实际情况
发送的数据
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
通信信道中的噪声
通信信道中的噪声分为热噪声和冲击噪声。 – 热噪声
• 是由传输媒体的电子热运动产生的,其特点是时刻存 在,幅度小,干扰强度与频率无关,但频谱很宽,属 于随机噪声。 • 由热噪声引起的差错属于一种随机差错。
在数值上近似等于: Pe=Ne/N N为传输的二进制码元总数,Ne为被传错的码元数 在理解误码率定义时,应注意以下几个问题: (1)误码率应该是衡量数据传输系统正常工作状态下传输可靠性 的参数。 (2)按实际传输要求提出误码率要求。 (3)折算成二进制码元。
注
意
对于一个实际的数据传输系统,不能笼统地说误码率越低 越好,要根据实际传输要求提出误码率要求; 差错的出现具有随机性,在实际测量一个数据传输系统时 ,只有被测量的传输二进制比特数越大,才会越接近于真正的 误码率值。
数据链路(data link) 除了物理线路外,还必须有通信协
议来控制这些数据的传输。若把实现这些协议的硬件和软件加 到链路上,就构成了数据链路。 现在最常用的方法是使用适配器(即网卡)来实现这些 协议的硬件和软件。 一般的适配器都包括了数据链路层和物理层这两层的功 能。
9
数据链路层的数据传输单元一般称之为帧,数据 链路层的任务就是将上层的数据封装成帧交给物理层 传输,以及分析物理层提交的数据帧,提取出上层数 据交给网络层。
差错控制:现实的通信链路都不会是理想的,这就是说,传输
过程中有可能1变成0 ,0变成1,这种情况就叫做比特差错。
数据链路层提供了循环冗余检验CRC方法来检测比特差错, 其主要使用了帧检验序列FCS来检测比特错误。发送数据前先计 算帧的数据部分得出FCS添加在数据部分后,接收端收到数据后 添加上FCS后计算验证。
具体方法
1. 信源的数据链路层把网络层交下来的IP数据报添加首部和 尾部封装成帧; 2. 信源把封装好的数据帧发送给信宿的数据链路层; 3. 若信宿的数据链路层收到的帧无差错,则从收到的帧中提 取出IP数据报上交给网络层,否则丢弃这个帧。
10
数据链路层传送的是 帧
结点 A 网络层 数据 链路层 物理层 帧
20
用字节填充法解决透明传输的问题
帧开始符
SOH EOT
原始数据
SOH ESC SOH
帧结束符
EOT
字节填充
SOH ESC EOT
字节填充
ESC SOH
字节填充
ESC ESC
字节填充
ESC SOH EOT
发送 在前
经过字节填充后发送的数据
21
3. 差错检测
现实的通信链路都不会是理想的,这就是说,传输过程 中有可能 1变成0,0变成1,这种情况就叫做比特差错。 数据链路层提供了循环冗余检验CRC方法来检测比特差错, 其主要使用了帧检验序列FCS来检测比特错误。发送数据前先 计算帧的数据部分得出FCS添加在数据部分后,接收端收到数 据后添加上FCS后计算验证。 在一段时间内,传输错误的比特占所传输比特总数的比 率称为误码率 BER (Bit Error Rate)。计算机之间的数据传 输则要求误码率低于10-6 误码率与信噪比有很大的关系。 注意:数据链路层并没有向网络层提供可靠传输服务,传输 差错一类是比特差错,还有一类是帧丢失、帧重复或帧失序。 完整的传输错误控制是在TCP中实现的。
R3
网络层 链路层
运输层
网络层 链路层 物理层
6
物理层
物理层
物理层
物理层
主机 H1 向 H2 发送数据
主机 H1 电话网 H1 应用层
路由器 R1
局域网
路由器 R2
广域网
路由器 R3 局域网
主机 H2
仅从数据链路层观察帧的流动
R1
网络层 链路层
H2 应用层
运输层
网络层 链路层
R2
网络层 链路层
R3
3
数据链路层是五层协议第二层,位于物理层与网络层之间。一般 而言,可以细分成介质访问控制(MAC)子层和逻辑链路控制(LLC) 子层。
如果您想用尽量少的词来记住数据链路层,那就是: “帧 和介质访问控制”。
数据链路层的最基本的功能是向该层用户提供 透明的和可靠的数据传送基本服务。
透明的:是指该层上传输的数据的内容、格式及编 5
计算机网络
第3章 数据链路层
第3章
问题 原由
数据链路层
数据链路层是OSI参考模型中的第二层,介于物理层和网络层之 间。数据链路层在物理层提供的服务的基础上向网络层提供服 务,其最基本的服务是将源自网络层来的数据可靠地传输到相 邻结点的目标机网络层。
重点
数据链路必须具备一系列相应的功能,主要有 :如何将数据组合成数据传送单位;如何控 制帧在物理信道上的传输,包括如何处理传输差错,如何调节发送速率以 使与接收方相匹配;以及在两个网络实体之间提供数据链路通路的建立、 维持和释放的管理。
1010… …0110
结点 B IP 数据报 取出 帧
1010… …0110
IP 数据报 装入
链路 (a) 结点 A 数据 链路层 发送 帧 接收 帧 结点 B
链路
(b)
11
问
发送方
题
以多快的速度发送数据帧,即每帧之间相隔多 长时间?如何确认对方是否收到数据?
接收方
传输过程
是否接收到正确的数据帧?如何告诉发送方? 能及时处理接收到的数据帧吗?
15
3.1.2
三个基本问题
数据链路层协议很多,有三个共同的基本问题:
封装成帧:数据链路层的主要工作是添加一个帧头部和帧尾部,
不同的数据链路层协议可能格式不同,但是基本的格式都类似。
透明传输:如果我们提供任何数据输入,数据链路层都可以成
功传递,那么我们称之为透明传输,即数据链路层的功能对于网络 层和上层是透明的。
数据链路层的简单模型
主机 H1 向 H2 发送数据,中间经过3个路由器,网络可以是电话网, 局域网、广域网。
路由器 R1
电话网 H1 应用层 局域网 路由器 R3 广域网 局域网 H2 应用层
主机 H1
路由器 R2
主机 H2
从层次上来看数据的流动
R1
网络层 链路层
运输层
网络层 链路层
R2
网络层 链路层
帧开始 开始 发送 帧首部
IP 数据报
帧的数据部分 MTU 数据链路层的帧长
帧结束 帧尾部
17
用控制字符进行帧定界的方法举例
帧开始符
SOH
帧结束符 装在帧中的数据部分 帧
EOT
发送在前
SOH:报头开始标志,用于表示报文的标题信息或报头的开始。
EOT:发送完毕标志,用以表示一个或多个文本的结束,并拆除链路。
网络层 链路层
运输层
网络层 链路层
物理层
物理层
物理层
物理层
物理层
7
3.1
3.1.1 3.1.2
使用点对点信道的数据链路层
数据链路和帧 三个基本问题
8
3.1.1
数据链路和帧
区分“链路”与“数据链路”
链路(link) 是一条无源的点到点的物理线路段,中间没有任
何其他的交换结点。 一条链路只是一条通路的一个组成部分。
22
差错控制技术
信 源 信 道
数据+噪音
信
宿
噪音源
根据数据通信系统的模型,当数据从信源发出,经过通信信 道传输,由于信道总存在着一定的噪声,数据到达信宿端后,接收 的信号实际上是数据信号和噪声信号的叠加。接收端在取样时钟作 用下接收数据,并根据阈值电平判断信号电平。 如果噪声对信号的影响非常大时,就会造成数据的传输错误。 我们把这种通过通信信道后接收的数据与发送的数据不一致的现象 称为传输差错。而分析差错产生的原因与差错类型,并加以检查和 纠正的方法称为差错控制方法。
透明传输实际上就是随便什么字符都可以传输。但设想我们在帧中传送 的字符出现了一个控制字符“EOT”。那么接收端收到这样的数据后,就会 将原来的SOH和数据中的“EOT”错误地解释为一个帧,但对后面剩下的字符 根本就无法解释。
19
解决透明传输问题
如果我们提供任何数据输入,数据链路层都可以成功传递, 那么我们称之为透明传输,即数据链路层的功能对于网络层和 上层是透明的。 比如文本字符数据输入,SOH和EOT都可以很好的工作,因 为二者没有交集。但是对于二进制数据输入来说,就有可能在 数据中出现 0x01 和 0x04,导致帧意外地中断和丢弃。 因此,我们需要一种机制来处理这种情况,最经典、最常 用的就是字节填充的方式,比如:在SOH和EOT的前面分别插入 一个转义字符ESC-0x1B,在接收端的数据链路层在将数据送往 网络层之前删除这个插入的转义字符,这就叫做字符填充。