第三章计算机网络数据链路层教材
计算机网络课件 第三章 点对点信道的数据链路层

(1)在发送端,在发送数据之前,都必须将发送状态变 量V(S)的值写到数据帧的发送序号N(S)上。 (2)发送端在发送完数据帧时,必须在其发送缓中暂时 保留这个数据帧的副本。 (3)在接收端只接受序号正确的数据帧,并发送确认。
3.4
要点:
连续ARQ协议
在发送完一个数据帧后,不是停下来等待确认 帧,而是可以连续再发送若干个数据帧。如果收
ESC z
字节填充
ESC x EOT
发送 在前
经过字节填充后发送的数据
3.2.3
差错检测
奇偶校验
检错 循环冗余校验(CRC)
奇/偶校验
奇/偶校验的规则是在原数据位后附加一个
校验位,将其值置为“0”或“1”,使附加该位
后的整个数据码中“1”的个数成为奇数或偶数。
使用奇数个“1”进行校验的方案被称为奇校验; 对应于偶数个“1”的校验方案被称为偶校验。
第三章
点到点信道的数据链路层
本 章 主 要 内 容
数据链路层基本概念
数据链路层协议
3.1 数据链路层的基本概念
3.1.1
主机 H1 电话网 H1 应用层
路由器 R1
数据链路层的简单模型 主机 H1 向 H2 发送数据
路由器 R2
局域网 广域网
路由器 R3 局域网
主机 H2
从层次上来看数据的流动
R1
网络层 链路层
H2 应用层
运输层
网络层 链路层
R2
网络层 链路层
R3
网络层 链路层
运输层
网络层 链路层 物理层
物理层
物理层
物理层
物理层
3.1.2 链路和数据链路
计算机网络 数据链路层

仅从数据链路层观察帧的流动
R1 网络层 链路层 物理层
R2 网络层 链路层 物理层
R3 网络层 链路层 物理层
H2
应用层 运输层 网络层 链路层 物理层
3.1 使用点对点信道的数据链路层
3.1.1 数据链路和帧
链路(link)是一条无源的点到点的物理线路, 中间没有任何其他的交换结点。
一条链路只是一条通路的一个组成部分。
首部和尾部的一个重要作用ห้องสมุดไป่ตู้是进行帧定界。
帧开始
IP 数据报
帧结束
开始 发送 帧首部
帧的数据部分
MTU 数据链路层的帧长
帧尾部
用控制字符进行帧定界的方法举例
帧开始符
帧结束符
SOH
装在帧中的数据部分
EOT
帧 发送在前
2. 透明传输
透明传输是数据链路层提供的重要功能 之一,指的是接收方应当能从接收到的 二进制比特流中准确地判断出一个帧开 始和结束的位置。
数据链路(data link) 除了物理线路外,还必须有 通信协议来控制这些数据的传输。若把实现这些 协议的硬件和软件加到链路上,就构成了数据链 路。
现在最常用的方法是使用适配器(即网卡)来实现这 些协议的硬件和软件。
一般的适配器都包括了数据链路层和物理层这两层的 功能。
数据链路层传送的是帧
第 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章 数据链路层

数据链路层的简单模型
主机 H1 向 H2 发送数据
路由器 R1 电话网 局域网 路由器 R2 广域网 路由器 R3 局域网 H2 应用层 R1 网络层 链路层 物理层 R2 网络层 链路层 物理层 R3 网络层 链路层 物理层 运输层 网络层 链路层 物理层 主机 H2
从层次上来看数据的流动
仅从数据链路层观察帧的流动
用控制字符进行帧定界的方法举例
帧开始符
SOH SOH
帧结束符 装在帧中的数据部分 帧
EOT EOT
发送在前 帧尾部
第3章 数据链路层—曹来成
10
3.1.2.2 透明传输
出现了“EOT” 完整的帧 发送 在前 数据部分
SOH SOH EOT EOT EOT
解决透明传输问题
字节填充(byte stuffing)或字符填充(character stuffing) ① 发送端的数据链路层:在数据中出现控制 字符“SOH”或“EOT”的前面插入一个转义 字符“ESC”(其十六进制编码是 1B)。 ② 接收端的数据链路层:在将数据送往网络 层之前删除插入的转义字符。
(a) 接收 帧
结点 B
3.1.2.1 封装成帧 • 封装成帧(framing)就是在一段数据的前后分 别添加首部和尾部。 • 首部和尾部的一个重要作用就是进行帧定 界。 IP 数据报 帧开始 帧结束
开始 发送 帧首部 帧的数据部分 MTU 数据链路层的帧长
2011/8/23 第3章 数据链路层—曹来成 9 2011/8/23
工作原理:
多项式除法,将余式作为冗余信息传 送。
2011/8/23 第3章 数据链路层—曹来成 19 2011/8/23 第3章 数据链路层—曹来成 20
计算机网络技术_ 第三章_数据链路层_2014

—— 引入计时器(timer)。 当发送方计时器超时(timeout)后还未收到帧 确认信息,认为:发出的帧必定出错或丢失, 重新发送。
8
生活中的传输差错——耳语传话
2008年7月11日,英国1330名小学生参加了一场 “耳 语传话”游戏。 第一位:“让我们把世界变得不一样” 第200位:“我们正在打破吉尼斯纪录” 第500位:“每个人都是恶魔” 2小时4分钟后,最后:“哈哈哈哈”。
46
索道传递商品方案四
增加监控索道机制
传递商品前,先检测索道是否空闲 忙:等待一段时间后,再检测、传递 闲:传递商品 碰撞:分别返回,等待一段时间后,再检测、 发送
非坚持CSMA
47
非坚持CSMA
传递帧前,先检测信道是否空闲
忙:等待一段时间后,再检测、发送 闲:传递帧 冲突:等待一段时间后,再检测、发送
《计算机网络技术》
第三章 数据链路层
1
主要内容
3.1 数据链路层功能 3.2 差错控制 3.3 媒体接入控制 3.4 局域网 3.5 无线局域网 3.6 高速局域网 3.7 点到点协议 3.8 数据链路层互连设备 3.9 局域网扩展 3.10 工程实例
2
3.1 数据链路层功能
数据链路层功能:
1010… …0110
结点 B 网络层 数据链路层 物理层
链路
帧
1010… …0110
IP 数据报 取出
帧开始符 开始 发送 帧首部
IP 数据报 帧的数据部分 帧
帧结束符 帧尾部
帧的丢失管理
丢失的后果:
发送方永远接收不到有关接收方正确接收与 否的反馈信息,而无限等待下去,造成通信 死锁。
最新课件-计算机网络第三章数据链路层 推荐

传送的总比特数
例如:误码率为10-10表示平均每传送1010个比特会出现一个比特出错
• 处理方法
– 使用可检测并纠正错误的编码:纠错码 – 使用可检测错误的编码 + 重传:检错码
• 常用检错编码方法
– 奇偶校验 – 简单累加和(校验和) – 循环冗余校验CRC(Cyclic Redundancy Check)
3.2 错误检测和纠正
二、纠错编码(Error correcting code)
• 检错码只能发现数据出现了错误,无法得知哪个比特 出错
• 纠错编码通过增加冗余信息使得能够检测错误发生所 在,以便于纠正,又称为前向纠错(forward error correcting)
– 海明编码
• 关于数据链路层检错/纠错的讨论
发送方
void sender1(void)
{
frame s;
//待发送帧
packet buffer;
//待发送数据包
while ( true )
{
from_network_layer( &buffer ); //从网络层取包
= buffer;
//拷贝到s中发送
to_physical_layer( &s );
//通过物理层发送
}
}
接收方
void receiver1(void) {
frame r; event_type event; //等待到的事件 while ( true ) {
wait_for_event( &event ); //等待帧到达 from_physical_layer( &r );//接收帧 to_network_layer( & );//上交给网络层 } }
计算机网络CH3数据链路层

2024/9/4
22
接收端对收到的每一帧进行 CRC 检验
• (1) 若得出的余数 R = 0,则判定这个帧没有差错,就接受 (accept)。
• (2) 若余数 R 0,则判定这个帧有差错,就丢弃。
➢ 但这种检测方法并不能确定究竟是哪一个或哪几个比特出现了差错 。
➢ 只要经过严格的挑选,并使用位数足够多的除数 P,那么出现检测 不到的差错的概率就很小很小。
计算机网络
第 3 章 数据链路层
3.1 使用点对点信道的数据链路层 3.1.1 数据链路和帧 3.1.2 三个基本问题
3.2 点对点协议 PPP 3.2.1 PPP 协议的特点 3.2.2 PPP 协议的帧格式 3.2.3 PPP 协议的工作状态
2024/9/4
2
第 3 章 数据链路层(续)
3.3 使用广播信道的数据链路层 3.3.1 局域网的数据链路层 3.3.2 CSMA/CD 协议
上,就构成数据链路。
➢ 现在最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软件。
➢ 一般的适配器都包括了数据链路层和物理层这两层的功能。
2024/9/4
8
数据链路层传送的是帧
网络层 数据 链路层
物理层
结点 A IP 数据报
装入 帧
1010… …0110
结点 B IP 数据报
取出 帧
1010… …0110
• 最大传送单元 :对每种传输类型的点对点链路设置最大传送单元的标准默认值 ,以便促进各种实现之间的互操作性
• 网络层地址协商 :提供机制,使通信的两个网络层的实体能通过协商知道或配 置彼此的网络层地址。协商算法必须简单,并能在所有情形下得到协商结果
计算机网络课件 CH3-数据链路层

第3章 数据链路层
16
循环冗余检验的原理
在数据链路层传送的帧中,广泛使用了循 环冗余检验 CRC 的检错技术。 在发送端,先把数据划分为组。假定每组 k 个比特。 假设待传送的一组数据 M = 101001(现在 k = 6)。我们在 M 的后面再添加供差错检 测用的 n 位冗余码一起发送。
第3章 数据链路层
30
透明传输问题
当 PPP 用在同步传输链路时,协议规定 采用硬件来完成比特填充(和 HDLC 的 做法一样)。 当 PPP 用在异步传输时,就使用一种特 殊的字符填充法。
第3章 数据链路层
31
字符填充
将信息字段中出现的每一个 0x7E 字节转 变成为 2 字节序列(0x7D, 0x5E)。 若信息字段中出现一个 0x7D 的字节, 则 将其转变成为 2 字节序列(0x7D, 0x5D)。 若信息字段中出现 ASCII 码的控制字符 (即数值小于 0x20 的字符),则在该字 符前面要加入一个 0x7D 字节,同时将该 字符的编码加以改变。
第3章 数据链路层
32
零比特填充
PPP 协议用在 SONET/SDH 链路时,是 使用同步传输(一连串的比特连续传 送)。这时 PPP 协议采用零比特填充方 法来实现透明传输。 在发送端,只要发现有 5 个连续 1,则 立即填入一个 0。接收端对帧中的比特 流进行扫描。每当发现 5 个连续1时,就 把这 5 个连续 1 后的一个 0 删除,
第3章 数据链路层
21
接收端对收到的每一帧进行 CRC 检验
(1) 若得出的余数 R = 0,则判定这个帧没有差 错,就接受(accept)。 (2) 若余数 R 0,则判定这个帧有差错,就丢 弃。 但这种检测方法并不能确定究竟是哪一个或哪 几个比特出现了差错。 只要经过严格的挑选,并使用位数足够多的除 数 P,那么出现检测不到的差错的概率就很小 很小。
3计算机网络3-数据链路层PPT课件

结点
帧
帧
结点
早期的数据通信协议曾叫作通信规程
(procedure)。因此在数据链路层,规程 和协议是同义语。
2021/3/12
8
3.1.2 三个基本问题
(1) 封装成帧 (2) 透明传输 (3) 差错控制 (4) 流量控制
一般的适配器都包括了数据链路层和物理层这两层的功 能。
2021/3/12
6
数据链路层传送的是帧
网络层
数据 链路层
结点 A
IP 数据报 装入
帧
物理层
1010… …0110
结点 B IP 数据报
取出 帧
1010… …0110
数据 链路层
结点 A
发送 帧
链路 (a)
链路 (b)
接收 帧
结点 B
数据链路层像个数字管道
2021/3/12
9
1. 封装成帧
封装成帧(framing)就是在一段数据的前后分别 添加首部和尾部,然后就构成了一个帧。确定 帧的界限。
首部和尾部的一个重要作用就是进行帧定界。
帧开始
IP 数据报
帧结束
开始 发送 帧首部
2021/3/12
帧的数据部分
MTU 数据链路层的帧长
帧尾部
10
用控制字符进行帧定界的方法举例
主机 H1
路由器 R1
电话网
局域网
路由器 R2
广域网
路由器 R3
主机 H2
局域网
H1
应用层 运输层 网络层 链路层 物理层
仅从数据链路层观察帧的流动
R1 网络层 链路层 物理层
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(答案仅供参考如有不对请自己加以思考)第三章数据链路层一习题1,下列不属于数据链路层功能的是()。
A 帧定界功能 B电路管理功能C 差错检测功能 D链路管理功能解析:B。
数据链路层在物理层提供的服务的基础上向网络层提供服务,即将原始的,有差错的物理线路改进成逻辑上无差错的数据链路,从而向网络层提供高质量的服务。
为了达到这一点,数据链路层必须具备一系列相应的功能,主要有:如何将二进制比特流组织成数据链路层的传输单元----帧;如何控制帧在物理信道上的传输,包括如何处理传输差错,在两个网络实体之间提供数据链路的建立,维护和释放管理。
这些功能对应为帧定界,差错检测,链路管理等功能。
2 对于信道比较可靠并且对通信实时性要求高的网络,采用()数据链路层服务比较合适。
A无确认的无连接服务 B 有确认的无连接服务C 有确认的面向连接的服务D 无确认的面向连接的服务解析:A。
无确认的无连接服务器是指源机器向目标机器发送独立的帧,目标机器并不对这些帧进行确认。
事先并不建立逻辑连接,事后也不用释放逻辑连接。
若由于线路上有噪声而造成了某一帧丢失,则数据链路层并不会检测这样的丢帧现象,也不会恢复。
当错误率很低的时候,这一类服务是非常适合的,这时恢复过程可以留给上面的各层来完成。
这类服务对于实时通信也是非常适合的,因为实时通信中数据的迟到比数据损坏更加不好。
3 在数据链路层中,网络互联表现为()。
A,在电缆段之间复制比特流 B 在网段之间转发数据帧C 在网络之间转发报文D 连接不同体系结构的网络解析: B。
数据链路层的主要任务是将一个原始的传输设备(物理层设备)转变成一条逻辑的传输线路。
数据链路层的传输单元为帧,网络层的传输单元为报文,物理层的传输单元为比特,所以A,C都是错误的。
而连接不同体系结构的网络的工作是在网络层完成的。
4假设物理信道的传输成功率是95%,而平均一个网络层的分组需要10个数据链路层的帧来发送。
如果数据链路层采用了无确认的无连接服务,那么发送网络层分组的成功率是()。
这个结论说明了什么?A 40%B 60%C 80% D95%解析:B。
要成功发送一个网络层的分组,需要成功发送10个数据链路层帧。
成功发送10个数据链路层帧的概率是(0.95)10 ≈0.598,即大约只有60%的成功率。
这个结论说明了在不可靠的信道上无确认的服务效率很低。
为了提高可靠性应该引入有确认的服务。
5 在可靠传输机制中,发送窗口的位置由窗口前沿和后沿的位置共同确定,经过一段时间,发送串口的后沿的变化情况可能为()。
I 原地不动 II 向前移动 III 向后移动A I IIIB I IIC II IIID 都有可能解析:B。
发送窗口的后沿的变化情况只能有两种:1)原地不动(没有收到新的确认)。
2)向前移动(收到了新的确认)。
发送窗口不可能向后移动,因为不可能撤销已收到的确认。
6 以下哪种滑动窗口协议收到的分组一定是按序接受的()。
I 停止-等待协议 II 后退N帧协议 III 选择重传协议A I IIIB I IIC II IIID 都有可能解析: B。
要使分组一定是按序接收的,接收窗口的大小为1才能满足,只有停止-等待协议与后退N帧协议的接收窗口大小为1。
7 采用滑动窗口机制对两个相邻节点A(发送方)和B(接收方)的通信过程进行流量控制。
假定帧序号长度为3,发送窗口和接收窗口的大小都是7.当A发送了编号为0,1,2,3这4个帧后,而B接收了这4个帧,但仅答应了0,1两个帧,此时发送窗口将要发送的帧序号为(1)______,接收窗口的上边界对应的帧序号为(2)_____:若滑动窗口机制采用选择重传协议来进行流量控制,则允许发送方在收到应答之前连续发送出多个帧。
若帧的序号长度为k比特,那么窗口的大小W(3)______2k-1;若滑动窗口机制采用后退N帧协议来进行流量控制,则允许发送方在收到应答之前连续发出多个帧。
若帧的序号长度为k比特,那么发送窗口的大小W最大为(4)______。
(1)A 2 B 3 C 4 D 5(2)A 1 B 2 C 3 D 4(3)A<B>C≥D≤(4)A 2k B 2k C 2k-1 D2解析:(1)发送窗口大小为7意味着发送方在没有收到确认之前可以连续发送7个帧,由于发送方A已经发送了编号为0~3的4个帧,所以下一个帧将是编号为4的帧。
(2)接收窗口的大小也为7,当接收方收到了编号为0~3后,滑动窗口准备接受编号为4,5,6,7,0,1,2的帧,因此接收窗口上边界对应的帧序号为4.需要注意的是,在接收端只有收到的数据帧的发送信号落入接收窗口内,窗口就会前移一个位置,并不是说一定要等到应答,接收窗口才移动,应答其实影响的应该是发送窗口,发送方收到了应答后才滑动发生窗口(不少考生认为此题帧3和帧4没有应答,就不应该、、滑动,导致此题误选B)。
(3)当帧的序号长度为k比特,对于选择重传协议,为避免接收端向前移动窗口后,新的窗口与旧的窗口产生重叠,接收窗口的最大尺寸应该不超过序列号范围的一半(参考知识点扩展与深度总结),即W R≤2k-1。
(4)2k-1。
所以选(1)C(2)D(3)D(4)D可能疑问点:帧序号的长度是3,而且发送窗口和接收窗口都不是1,说明应该是选择重传,但是,这样最大发送窗口不应该是4吗?怎么可能取到7?解析:本题前面讲的应该是普通的滑动窗口机制,这个和带有滑动窗口协议的特殊滑动窗口机制应该是不一样的。
对于普通的滑动窗口机制来说,不会考虑出错的情况,也就是这道题前面几问很有可能会出错(如确认帧丢失等),造成窗口重叠现象。
而后面两问就开始考虑滑动窗口机制采用各种滑动窗口协议,而协议就应该考虑到所有可能出错的情况。
前面应该讲过类似的知识,希望考生不要再在这个问题上纠结。
8 采用HDLC传输比特串0111 1111 1000 001,在比特填充后输出为()。
A 0111 1101 1100 0001B 0101 1111 1100 0001C 0111 1011 1100 0001D 0111 1110 1100 0001解析: A 。
HDLC数据帧以位模式0111 1110标识每一个帧的开始和结束,因此在帧数据中凡是出现了5个连续的位“1”的时候,就会在输出的位流中填充一个“0”。
9 数据链路层提供给的3种基本服务不包括()。
A无确认的无连接服务 B 有确认的无连接服务C 无确认的有链接服务D 有确认的有链接服务解析:C。
连接时建立在确认机制的基础之上的。
所以数据链路层没有无确认有连接的服务。
10 数据链路层采用了后退N帧协议,如果发送窗口的大小是32,那么至少需要()位的序列号才能保证协议不出错。
A 4位B 5位C 6位D 7位解析: C。
在后退N帧的协议中,帧号≥发送窗口+1,在题目中发送窗口的大小是32,那么帧号最小号码应该是32(从0开始,共33个)。
因为25<33<26,所以至少需要6为的帧序号才能达到要求。
11 从滑动窗口的观点看,当发送窗口为1,接收窗口为1是,相当于ARQ的()方式。
A 回退N帧ARQB 选择重传ARQC 停止-等待D 连续ARQ解析:C。
概念题目。
12 对于窗口大小为n的滑动窗口,最多可以有()帧已发送但没有确认。
A 0B n-1C nD n/2解析:B。
一方面,在连续ARQ协议中,必须发送窗口的大小≤窗口总数--1.例如,窗口总数为8个,编号为0~7假设这8个帧都已发出,下一轮又发出编号为0~7帧共8个帧,接收方将无法判断第二轮发的8个帧到底是重传帧还是新帧,因为它们的序号完全相同。
另一方面,对于回退N帧协议,发送窗口的大小可以达到(窗口总数--1)。
因为它的接收窗口大小为1,所有的帧保证按序接收。
所以对于窗口大小为n的滑动窗口,其发送窗口大小最大为n-1,即最多可以有n-1帧已发送但没有确认。
13 下列属于奇偶校验码特征的是()。
A 只能检查出奇数个比特错误B 能查出长度任意一个比特的错误C 比CRC校验可靠D 可以检查偶数个比特的错误解析:A。
奇偶校验的原理是通过增加冗余位来使得码字中”1“的个数保持为奇数个数或者偶数个的编码方法。
它只能发现奇数个比特的错误。
14 下列关于循环冗余校验的说法中,()是错误的。
A 带r个校验位的多项式编码可以检测到所有长度小于或等于r的突发性错误B 通信双方可以无需商定就直接使用多项式编码C CRC校验可以使用硬件来完成D 有一些特殊的多项式,因为其有很好的特性,而成为了国际标准解析:B。
在使用多项式编码时,发送方和接收方必须预先商定一个生成多项式。
发送方按照模2除法,得到校验码,在发送数据的时候把该校验码加在数据后面。
接收方收到数据后,也需要根据同一个生成多项式来验证数据的正确性。
所以发送方和接收方在通信前必须要商定一个生成多项式。
15 发送方准备发送的信息位为1101011011,采用CRC校验算法,生成多项式为G(x)=x4+x+1那么发出的校验位应该为()。
A 0110B 1010C 1001D 1110解析:D。
首先根据生成多项式G(x)=x4+x+1得到CRC的校验码为10011,。
然后利用短除法来计算校验码,具体流程如图3-21所示,最后余数为1110。
110000101010011 110101101100000100111001110011000010000000010000000010100000010110000010110100110101000000101001001101110000001110图3-2116 为了检测5比特的错误,编码的海明距离应该为()。
A 4B 6C 3D 5解析:B。
知识点讲解中详细讲解过了,检错d位,需要码距为d+1的编码方案。
17 为了纠正2 比特的错误,编码的海明距离应该为()。
A 2B 3C 4 D5解析:D。
纠错d位,需要码距为2d+1的编码方案。
18 流量控制实际上是对()的控制。
A 发送方,接收方数据流量B 接收方数据流量C 发送方数据流量D 链路上任意两节点间的数据流量解析:C。
流量控制就是要控制发送方发送数据的速率,使接收方来得及接收。
19 流量控制是为防止()所需要的。
A 位错误B 发送方缓冲区溢出C 接收方缓冲区溢出D 接收方与发送方间冲突解析:C。
流量控制就是要控制发送方法送数据的速率,使接收方来得及接收,目的就是怕接收方缓冲区溢出。
20 在简单的停止-等待协议中,当帧出现丢失时,发送端会永远等待下去,解决这种死锁现象的办法是()。
A 差错校验B 帧序号C ACK机制D 超时机制解析:D。
在一个有噪声的信道中,帧可能会被破坏,也可能完全丢失。
这时候需要增加一个计时器,当发送方发送出一帧后,计时器开始计时,当该帧的确认在计时器到时之前到达发送方,则取消该计时器;否则如果在计时器到时,发送方还没有收到该帧的确认就再次发送该帧,这样就可以打破死锁。