计算机网络课件CH3-5ed 数据链路层
发布时间:2024-11-25
发布时间:2024-11-25
计算机网络(第 5 版)第 3 章 数据链路层
课件制作人:谢希仁
数据链路层数据链路层使用的信道主要有以下两种类 型: 点对点信道。这种信道使用一对一的点 对点通信方式。 广播信道。这种信道使用一对多的广播 通信方式,因此过程比较复杂。广播信 道上连接的主机很多,因此必须使用专 用的共享信道协议来协调这些主机的数 据发课件制作人:谢希仁
数据链路层的简单模型主机 H1 向 H2 发送数据主机 H1 电话网 H1 应用层
路由器 R
1
路由器 R局域网
路由器 R 广域网
3
2
主机 H2局域网 H2 应用层
从层次上来看数据的流动R1网络层 链路层
运输层网络层 链路层
R2网络层 链路层
R3网络层 链路层
运输层网络层 链路层 物理层
物理层
物理层
物理层
物理层
课件制作人:谢希仁
数据链路层的简单模型 ( 续)主机 H1 向 H2 发送数据主机 H1 电话网 H1 应用层
路由器 R
1
路由器 R局域网
路由器 R 广域网
3
2
主机 H2局域网 H2 应用层
仅从数据链路层观察帧的流动R1网络层 链路层
运输层网络层 链路层
R2网络层 链路层
R3网络层 链路层
运输层网络层 链路层
物理层
物理层
物理层
物理层
物理层
课件制作人:谢希仁
3.1 使用点对点信道的数据链路层3.1.1 数据链路和帧
链路(link)是一条无源的点到点的物理线 路段,中间没有任何其他的交换结点。
一条链路只是一条通路的一个组成部分。
数据链路(data link) 除了物理线路外,还必须 有通信协议来控制这些数据的传输。若把实现 这些协议的硬件和软件加到链路上,就构成了 数据链路。
现在最常用的方法是使用适配器(即网卡)来实现 这些协议的硬件和软件。 一般的适配器都包括了数据链路层和物理层这两层 的功能。课件制作人:谢希仁
数据链路层传送的是帧结点 A 网络层 数据 链路层 物理层 帧1010… …0110
结点 B IP 数据报 取出 帧1010… …0110
IP 数据报 装入
链路 (a) 结点 A 数据 链路层 发送 帧 接收 帧 结点 B
链路(b)
数据链路层像个数字管道
常常在两个对等的数据链路层之间画出 一个数字管道,而在这条数字管道上传 输的数据单位是帧。帧 帧 结点
结点
早期的数据通信协议曾叫作通信规程 (procedure)。因此在数据链路层,规程 和协议是同义语。课件制作人:谢希仁
3.1.2 三个基本问题(1) 封装成帧 (2) 透明传输 (3) 差错控制
课件制作人:谢希仁
1. 封装成帧
封装成帧(framing)就是在一段数据的前后分别 添加首部和尾部,然后就构成了一个帧。确定 帧的界限。 首部和尾部的一个重要作用就是进行帧定界。
IP 数据报帧的数据部分 MTU 数据链路层的帧长课件制作人:谢希仁
帧开始 开始 发送 帧首部
帧结束 帧尾部
用控制字符进行帧定界的方法举例帧开始符SOH
帧结束符 装在帧中的数据部分EOT
帧发送在前
课件制作人:谢希仁
2. 透明传输出现了“EOT” 完整的帧 发送 在前 数据部分SOH EOT EOT
被接收端 误认为是一个帧
被接收端当作无效帧而丢弃
课件制作人:谢希仁
解决透明传输问题
发送端的数据链路层在数据中出现控制字符 “SOH”或“EOT”的前面插入一个转义字符 “ESC”(其十六进制编码是 1B)。 字节填充(byte stuffing)或字符填充(character stuffing)——接收端的数据链路层在将数据送往网 络层之前删除插入的转义字符。 如果转义字符也出现数据当中,那么应在转义字 符前面插入一个转义字符。当接收端收到连续的 两个转义字符时,就删除其中前面的一个。课件制作人:谢希仁
用字节填充法解决透明传输的问题帧开始符SOH EOT
原始数据SOH ESC SOH
帧结束符EOT
字节填充SOH ESC EOT
字节填充ESC SOH
字节填充ESC ESC
字节填充ESC SOH EOT
发送 在前
经过字节填充后发送的数据
课件制作人:谢希仁
3. 差错检测
在传输过程中可能会产生比特差错:1 可能会 变成 0 而 0 也可能变成 1。 在一段时间内,传输错误的比特占所传输比特 总数的比率称为误码率 BER (Bit Error Rate)。 误码率与信噪比有很大的关系。 为了保证数据传输的可靠性,在计算机网络传 输数据时,必须采用各种差错检测措施。
课件制作人:谢希仁
循环冗余检验的原理
在数据链路层传送的帧中,广泛使用了循 环冗余检验 CRC 的检错技术。 在发送端,先把数据划分为组。假定每组 k 个比特。 假设待传送的一组数据 M = 101001(现在 k = 6)。我们在 M 的后面再添加供差错检 测用的 n 位冗余码一起发送。课件制作人:谢希仁
冗余码的计算
用二进制的模 2 运算进行 2n 乘 M 的运算,这相当于在M 后面添加 n 个 0。
得到的 (k + n) 位的数除以事先选定好的 长度为 (n + 1) 位的除数 P,得出商是 Q 而余数是 R,余数 R 比除数 P 少1 位, 即 R 是 n 位。
课件制作人:谢希仁