第3章 数据链路层
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
11
解决透明传输问题--字节填充法
发送端的帧的数据部分出现控制字符“SOH”或 “EOT”的前面插入一个转义字符“ESC”(其十六进制 编码是 1B)。 接收端的数据链路层在将帧送往网络层之前删除 插入的转义字符。 如果转义字符也出现在帧的数据部分,那么应在 转义字符前面插入一个转义字符。 当接收端收到连续的两个转义字符时,就删除其 中一个。
17
(3)循环冗余检验CRC
在发送端:
假设待传送的数据 M 有k个比特。在 M 的后面 再添加供差错检测用的 n 位冗余码,发送出去 的是n+k个比特。
冗余码也称:帧检验序列FCS 在接收端:
对收到的每一帧进行 CRC 检验。
18
冗余码的计算
待传送的数据M ,长度为k。 事先选定好长度为 (n + 1) 位的除数P。 在 M 后面添加 n 个 0,得到 (k + n) 位的数 把这(k + n) 位的数除以P (模2除法),得出商 是 Q ,余数是 R。
比特错:1 可能会变成 0 ,0 可能变成 1。 误码率:传输出错的比特数与传输总比特数的 比值。 常用差错检测方法: (1)奇偶检验法 (2)校验和法 (3)循环冗余检验法
14
(1)奇偶校验法
奇校验法:原信息码后面加上1个1后,具有奇 数个1。 偶校验法:原信息码后面加上1个1后,具有偶 数个1。 奇偶校验法只能检测出奇数个比特错。
31
零比特填充法
信息字段中出现了和 标志字段 F 完全一样 的 8 比特组合 01001111110001010 会被误认为是标志字段 F 010011111010001010 发送端填入 0 比特 010011111010001010 接收端删除填入的 0 比特
32
发送端在 5 个连 1 之后 填入 0 比特再发送出去
20
计算过程
110101 ← Q (商) P (除数) → 1101 101001000 ← 2nM (被除数) 1101 1110 1101 0111 0000 1110 1101 0110 0000 1100 1101 001 ← R (余数),作为 FCS
21
冗余码的计算举例2
例2:假设要发送的数据M: 1101011011, 除数P: 10011,求冗余码R。 解: (1)在数据M后面附加4个0后,得到被除数: 11010110110000。 (2)把11010110110000除以10011,得到余 数R:1110 (3)把R添加在数据M后,则发送的数据是 11010110111110
35
数据链路层的两个子层
LLC 子层看不见 下面的局域网
网络层 逻辑链路控制 介质访问控制 LLC MAC 物理层 站点 1 局域网 网络层 LLC MAC 物理层 站点 2 数据 链路层
【说明】:为了使数据链路层能更好地适应不同的局域 网标准(Ethernet V2标准和IEEE 802.3标准),IEEE 802委员会把局域网的数据链路层分成两个子层:MAC层 和LLC层。 36
25
3.2 点对点协议PPP
PPP协议(Point to Point Protocol)是在点到点 链路上传输各种协议数据的一种标准方法。 PPP协议常用于家庭用户与ISP通过拨号建立连 接时使用的数据链路层协议。
用 户
接入网
ISP
至因特网
PPP 协议
26
PPP 帧格式
先发送 IP 数据报 首部 F A C 7E FF 03 字节 1 1 1 协议 2 数 据 部 分 尾部 FCS 2 F 7E 1
在接收端把 5 个连 1 之后的 0 比特删除
例题:P105习题3-10
3.3 使用广播信道的数据链路层
3.3.1 局域网的数据链路层 3.3.2 CSMA/CD 协议
33
局域网的拓扑
集线器
星形网
总线网
匹配电阻
干线耦合器
环形网
树形网
34
3.3.1 局域网的数据链路层
局域网的特点:网络为一个单位所拥有,且地理 范围和站点数目均有限。 具有广播功能,从一个站点可很方便地访问全 网。 局域网中的多个主机共享传输介质。 当多个站点同时发送数据到共享介质上时会产生 冲突。
15
(2) 校验和法
发送方计算校验和: 把数据按16位分组(每16位为一组) 对每组求和,把和值超过16位的进位部分加 到低16位 再对求和结果求反 接收方检验步骤: 把数据分成16位组 把所有16位组进行加法运算 再对求和结果求反,如果结果为0,则无差错
16
校验和法---举例
22
计算过程
R
23
接收端进行 CRC 检验
把收到的每一帧都除以相同的除数 P,检查得 到的余数R
若R = 0,则这个帧无差错,接受。 若R 0,则这个帧有差错,丢弃。
CRC 校验码可以检出比特错,但无法定位差 错。
24
链路层的可靠传输服务
比特错:比特翻转 传输差错:帧丢失,帧重复,帧失序。 可靠传输(即发送什么就收到什么)必须再加 上帧编号、确认和重传机制。 在高差错率的链路上使用可靠传输机制。例 如:无线链路。 在低差错率的链路上不使用可靠传输机制。例 如:光纤、同轴电缆和双绞线链路。
12
解决透明传输问题--字节填充法
帧开始符
SOH SOH EOT
原始数据
SOH ESC SOH SOH
帧结束符
EOT EOT
字节填充
SOH SOH ESC EOT
字节填充
ESC SOH
字节填充
ESC ESC
字节填充
ESC SOH SOH EOT EOT
发送在前
经过字节填充后发送的数据
13
3. 差错检测
数据链路层的两个子层
MAC层的功能:
1、将数据封装成帧进行发送(接收时解封装) 2、实现和维护MAC协议 3、比特差错检测 4、寻址
LLC层的功能:
1、建立和释放数据链路层的逻辑连接 2、提供与高层的接口 3、差错控制 4、给帧加上序号
37
网络适配器
链路层的主体部分在网络适配器中实现。 网络适配器又称网络接口卡 NIC (Network Interface Card),或简称为“网卡”。 适配器的主要功能:
3
主机 H2
从层次上看数据的流动
数据链路层的简单模型
主机 H1 向 H2 发送数据
主机 H1 电话网 H1 应用层 运输层 网络层 链路层 物理层 R1 网络层 链路层 物理层 R2 网络层 链路层 物理层 R3 网络层 链路层 物理层 路由器 R1 局域网 路由器 R2 广域网 路由器 R3 局域网 H2 应用层 运输层 网络层 链路层 物理层
不超过 1500 字节 PPP 帧
协议字段: 当为 0x0021 时,PPP 帧的数据部分是IP数据 报。 当为 0xC021 时, 数据部分是 PPP 链路控制数据 (用来建立、配置、测试数据链路)。 当为 0x8021 时,数据部分是网络控制数据。
27
PPP 帧格式说明
标志字段 F = 0x7E (01111110)。F是 PPP帧的定界符。 地址字段 A = 0xFF(广播地址)。 控制字段 C 通常置为 0x03。 【说明】
EOT EOT
发送在前
SOH和EOT:帧定界符 SOH= 00000001 EOT= 00000100
10
2. 透明传输
透明传输:当帧的数据部分包含帧开始符和帧结束符 时,如何实现帧的正确定界。
出现了“EOT” 完整的帧 发送 在前 数据部分
SOH EOT EOT
被接收端 误认为是一个帧
被接收端当作无效帧而丢弃
连续两帧之间只需用一个标志字段。 PPP 是面向字节的,所有的 PPP 帧的长度都 是整数字节。
28
透明传输---字节填充法
转义字符是: 0x7D 若数据字段中出现一个 0x7E 字节,则将其转 变成为 2 字节序列(0x7D, 0x5E)。 若数据字段中出现一个 0x7D 的字节, 则将其 转变成为 2 字节序列(0x7D, 0x5D)。
R即为冗余码。 说明:余数 R 比除数 P 少1 位,即 R 是 n 位。
19
冗余码的计算举例1
例1:假设要发送的数据 M = 101001 , 除数 P = 1101, 求冗余码。 解: (1)在M后面加上3个0,得到被除数101001000 (2)把101001000除以1101,结果是: 商 Q = 110101, 余数 R = 001 (3)把余数R添加在数据后面,则发送的数据 是: 101001001 。
进行串行/并行转换。原因? 对数据进行缓存。原因? 实现以太网协议。
38
计算机通过网卡和局域网进行通信
IP 地址 计算机 CPU 和 存储器 适配器 (网卡) 至局域网 串行通信 硬件地址
并行 通信
生成发送的数据 处理收到的数据
把帧发送到局域网 从局域网接收帧
39
网卡的特点
1. 遵守物理层标准,能够发送和接收数据帧, 自动选择传输速率、全双工和半双工方式。 2. 网卡监听所有的帧,只接收具有以下目的地 址的帧:与该网卡的物理地址相同的单播地 址、广播地址和该网卡预设的多播地址。 3. 网卡直接丢弃目的地址不吻合或者出错的 帧,网卡在发送/接收/丢弃帧时,不占用CPU 时间。 4. 若网卡设置为混杂模式,则会接收到达该网 卡的所有帧。
29
字节填充法---举例
例:一个PPP帧的数据部分是: 7D 5E FE 27 7D 5D 7D 5D 65 7D 5E, 试问真正的数据是什么?
7E FE 27 7D 7D 65 7E
30
透明传输---零比特填充法
当PPP协议用在异步传输(逐个字符地传输) 时,使用字节填充法来实现透明传输。 PPP 协议用在同步传输(连续比特流)时,采 用零比特填充方法来实现透明传输。 零比特填充法: (1)在发送端,只要发现有 5 个连续 1,则立 即填入一个 0。 (2)接收端对帧中的比特流进行扫描。每当发现 5 个连续1时,就把这 5 个连续 1 后的一个 0 删除。
计算机网络
第三章 数据链路层
本章内容
3.1 使用点对点信道的数据链路层 3.2 点对点协议 PPP 3.3 使用广播信道的数据链路层 3.4 以太网的 MAC 层 3.5 扩展以太网 3.6 高速以太网
2
数据链路层的简单模型
主机 H1 向 H2 发送数据
主机 H1 电话网 H1 应用层 运输层 网络层 链路层 物理层 R1 网络层 链路层 物理层 R2 网络层 链路层 物理层 R3 网络层 链路层 物理层 路由器 R1 局域网 路由器 R2 广域网 路由器 R3 局域网 H2 应用层 运输层 网络层 链路层 物理层
发送方:
数据:DEB7 455D C0A8 00DC 求和:1E598=E598+1=E599 求反: 1A66 则发送端发送:数据+1A66 -------------
接收方:
把收到的数据( DEB7 455D C0A8 00DC 1A66)每16位分组,求和得FFFF,再对求和结果求 反码得0 ,说明没有差错。
8
1. 封装成帧
封装成帧就是在一段数据的前后分别添加首部和尾 部。利用首部和尾部进行帧定界。
帧开始 帧首部 IP 数据报 帧的数据部分 MTU 数据链路层的帧的长度 MTU:帧的数据部分的最大长度(1500字节) 帧结束
帧尾部
9
用控制字符进行帧定界
帧开始符
SOH SOH
帧结束符 帧的数据部分 帧
4ห้องสมุดไป่ตู้
主机 H2
仅从数据链路层观察帧的流动
数据链路层
数据链路层使用的信道类型:
点对点信道:使用一对一的点对点通信方式。 广播信道:使用一对多的广播通信方式。广播信道上 连接的主机很多,必须使用专用的共享信道协议来协 调这些主机的数据发送。
5
3.1
使用点对点信道的数据链路层
链路(link)是一条点到点的物理线路段,中 间没有任何其他的交换结点。 数据链路(data link) :一条物理线路,加上 控制数据传输的通信协议。 帧(frame):数据链路层的PDU
6
数据链路层传送的是帧
结点 A 网络层 数据 链路层 物理层 帧
1010… …0110
结点 B IP IP 数据报 数据报 取出 帧
1010… …0110
IP IP 数据报 数据报 装入
链路 (a) 结点 A 数据 链路层 发送 帧 链路 (b)
7
结点 B 接收 帧
数据链路层的功能
封装成帧 透明传输 差错控制