03.-2017--3

也就是说传输的数据中,不能够有任何和SOH、EOT一致的8比特的字符。 为了解决这个问题,就采用了 ..... 在计算机的操作系统安装设备驱动程序。 实现以太网协议。
展开查看详情

1.计算机网络 第 三 章:数据链路层 阮晓龙 13938213680 / rxl@hactcm.edu.cn http ://network.xg.hactcm.edu.cn 河南中医学院管理信息工程学科 河南中医学院网络信息中心 2017.9 1

2.本章教学计划 使用点对点信道的数据链路层 点对点协议( PPP ) 使用广播信道的数据链路层( CSMA/CD ) 使用广播信道的以太网 扩展的以太网 高速以太网 2 数据链路层原理 局域网通信

3.本章教学计划 数据链路层属于计算机网络的低层。 数据链路层使用的信道主要有两种类型: 点对点信道:一对一通信方式 广播信道:一对多通信方式 由于局域网内通常不包括路由选择和分组转发,因此局域网的内容也在本章进行讨论。 3

4.本章教学计划 4 局域网 广域网 主机 H 1 主机 H 2 路由器 R 1 路由器 R 2 路由器 R 3 电话网 局域网 链路层 应用层 运输层 网络层 物理层 链路层 应用层 运输层 网络层 物理层 链路层 网络层 物理层 链路层 网络层 物理层 链路层 网络层 物理层 R 1 R 2 R 3 H 1 H 2 从层次上来看数据的流动

5.本章教学计划 5 局域网 广域网 主机 H 1 主机 H 2 路由器 R 1 路由器 R 2 路由器 R 3 电话网 局域网 链路层 应用层 运输层 网络层 物理层 链路层 应用层 运输层 网络层 物理层 链路层 网络层 物理层 链路层 网络层 物理层 链路层 网络层 物理层 R 1 R 2 R 3 H 1 H 2 仅从数据链路层观察帧的流动

6.1. 使用点到点信道的数据链路层 链路 (link) 是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。 一条链路只是一条通路的一个组成部分。 有些情况下,链路也被称为“物理链路”。 6 1.1 数据链路和帧

7.1. 使用点到点信道的数据链路层 数据链路 (data link) 除了物理线路外,还必须有 通信协议 来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。 现在最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软件。 一般的适配器都包括了数据链路层和物理层这两层的功能 。 有些情况下,数据链路又被称为“逻辑链路”。 7 1.1 数据链路和帧

8.1. 使用点到点信道的数据链路层 数据链路层把网络层交下来的数据构成帧发送到链路上,以及把接收到的帧中的数据取出并上交给网络层。 数据链路层协议数据单元是数据帧(帧)。 网络层协议数据单元是 IP 数据报(数据报、分组、包)。 把重点放到数据链路层,只考虑数据链路层的通信,把网络体系简化为三层。 8 1.1 数据链路和帧

9.1. 使用点到点信道的数据链路层 9 1.1 数据链路和帧 IP 数据报 1010… …0110 帧 取出 数据 链路层 网络层 链路 结点 A 结点 B 物理层 数据 链路层 结点 A 结点 B 帧 ( a) 三层简化模型 (b ) 只考虑数据链路层 发送 帧 接收 链路 IP 数据报 1010… …0110 帧 装入

10.1. 使用点到点信道的数据链路层 常常在两个对等的数据链路层之间画出一个数字管道,而在这条数字管道上传输的数据单位是帧 。 早期的数据通信协议曾叫作通信规程 (procedure) 。因此在数据链路层,规程和协议是同义语。 10 1.1 数据链路和帧 结点 结点 帧 帧

11.1. 使用点到点信道的数据链路层 11 1.2 数据链路层的基本功能

12.1. 使用点到点信道的数据链路层 封装成帧: 封装 成帧 (framing) 就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧 。 数据帧的长度就是数据加上首部和尾部的总长度。 首部和尾部的一个重要作用就是进行帧定 界,就是确定数据帧的界限。 12 1.2 数据链路层的基本功能

13.1. 使用点到点信道的数据链路层 13 1.2 数据链路层的基本功能 帧结束 帧首部 IP 数据报 帧的数据部分 帧尾部  MTU 数据链路层的帧长 开始 发送 帧开始

14.1. 使用点到点信道的数据链路层 14 1.2 数据链路层的基本功能 SOH 装在帧中的数据部分 帧 帧开始符 帧结束符 发送在前 EOT

15.1. 使用点到点信道的数据链路层 透明传输: 由于帧的开始和结束的标记是专门指明的字符,因此所传输的数据中不能够有任何 8 比特的字符和用作帧定界的控制字符的比特编码一样。 也就是说传输的数据中,不能够有任何和 SOH 、 EOT 一致的 8 比特的字符。 为了解决这个问题,就采用了转义字符“ ESC ”。 ESC 值是确定的,十六进制 1B ,或二进制 00011011 。 15 1.2 数据链路层的基本功能

16.1. 使用点到点信道的数据链路层 16 1.2 数据链路层的基本功能 SOH EOT 出现了“ EOT” 被接收端当作无效帧而丢弃 被接收端 误认为是一个帧 数据部分 EOT 完整的帧 发送 在前

17.1. 使用点到点信道的数据链路层 17 1.2 数据链路层的基本功能 SOH SOH EOT SOH ESC ESC EOT ESC SOH ESC ESC ESC SOH 原始数据 EOT EOT 经过字节填充后发送的数据 字节填充 字节填充 字节填充 字节填充 发送 在前 帧开始符 帧结束符 SOH

18.1. 使用点到点信道的数据链路层 差错检测: 数据帧在传输中可能发生两种错误: 比特差错 : 1 可能会变成 0 而 0 也可能变成 1 。 传输差错 :收到的帧没有出现比特差错,但却出现了帧丢失、帧重复和帧失序。 在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率 BER ( Bit Error Rate )。误码率通常和信噪比关系密切。信噪比越高,误码率越低。 18 1.2 数据链路层的基本功能

19.1. 使用点到点信道的数据链路层 差错检测: 数据链路层使用循环冗余检验 CRC ( Cyclic Redundancy Check )来实现差错检测。 19 1.2 数据链路层的基本功能

20.1. 使用点到点信道的数据链路层 差错检测: CRC 的基本原理: 在发送端,先把数据划分为组,假定每组 k 个比特。例如数据 M=100101 ( k=6 )。 通过 CRC 运算,在数据 M 的后面添加供差错检测用的 n 位冗余码,然后构成一个帧发送出去,一共发送( k +n )位。 在接收端,先从接收的数据帧中提取出 n 位冗余码,进行 CRC 检验。 如果检验的结果正确,则接受( accept )数据帧。如果检验的结果不正确,则直接丢弃。 CRC 检验 不能确定错误发生的原因 ,只能判断数据帧是否正确。 20 1.2 数据链路层的基本功能

21.1. 使用点到点信道的数据链路层 差错检测: 循环冗余校验码( CRC )的基本原理是: 在 K 位信息码后再拼接 R 位的校验码,整个编码长度为 N 位,因此,这种编码也叫( N , K )码。对于一个给定的( N , K )码,可以证明存在一个最高次幂为 N-K=R 的多项式 G(x) 。 根据 G(x) 可以生成 K 位信息的校验码,而 G(x) 叫做这个 CRC 码的生成多项式。 假设要发送的信息用多项式 C(X) 表示,将 C(x) 左移 R 位(可表示成 C(x)*2R ),这样 C(x) 的右边就会空出 R 位,这就是校验码的位置。用 C(x)*2R 除以生成多项式 G(x) 得到的余数就是校验码。 21 1.2 数据链路层的基本功能

22.1. 使用点到点信道的数据链路层 22 1.2 数据链路层的基本功能 关于 CRC 的学习,请通过查阅资料,了解详细的计算方法。 http ://www.repairfaq.org/filipg/LINK/F_crc_v31.html

23.2 . 点到点协议( PPP ) 点对点协议 PPP (Point-to-Point Protocol ) : 点对点链路上,使用最为广泛的数据链路层协议。 PPP 协议是 IETF 在 1992 年制定,经过 1993 年和 1994 年的修订,于 1994 年成为因特网的正式标准 【RFC 1661】 。 23 2.1PPP 协议

24.2 . 点到点协议( PPP ) 什么情况下使用点对点 协议 PPP ? 用户使用拨号电话线接入因特网时,一般都是使用 PPP 协议 。 24 2.1PPP 协议

25.2 . 点到点协议( PPP ) PPP 协议的基本特征: 简单 : IETF 在设计因特网体系结构时把其中最复杂的部分放在 TCP 协议中,而网际协议 IP 则相对比较简单,它提供的是不可靠的数据报服务。数据链路层就应该设计的比网络层更加简单,因此数据链路层的帧,不需要纠错,不需要序号,也不需要进行流量控制。因此,“简单”是首要追求。对简单的追求还使得协议不易出错,不同厂商在协议的不同实现上提高了互操作性,促进了协议标准化工作过。 封装成 帧 : PPP 协议规定特殊的字符作为帧定界符,便于在比特流中方便的确定帧的开始和结束位置。 25 2.1PPP 协议

26.2 . 点到点协议( PPP ) PPP 协议的基本特征: 透明性 : PPP 协议要保证数据传输的透明性,也就是转义符。 多种网络层协议 : PPP 协议必须能够在同一条物理链路上同时支持多种网络层协议的运行。 多种类型链路 : PPP 协议必须能够在多种类型的链路上运行,要支持并行和串行通信、同步和异步通信、低速和高速通信、电或者光通信、交换和静态通信。 差错检测 : PPP 协议要对接收的帧进行检测,对检测错误的帧立即丢弃。 26 2.1PPP 协议

27.2 . 点到点协议( PPP ) PPP 协议的基本特征: 最大传送单元 : PPP 协议必须对每一种类型的点对点链路设置最大传送单元 MTU 的标准默认值。也就是定义数据帧的大小。 网络层地址协商 : PPP 协议必须提供一种机制使通信的两个网络层的实体能够通过协商知道或能够配置彼此的网络层地址。 数据压缩协商 : PPP 协议必须提供一种方法来协商使用数据压缩算法,以提高数据传输效率。 不 支持可靠传输 :可靠传输由 TCP 协议负责, PPP 协议不需要进行纠错、不需要设置序号来解决传输错误、不需要进行流量控制。 PPP 协议不支持多点线路,仅支持点对点链路通信,且只支持全双工通信。 27 2.1PPP 协议

28.2 . 点到点协议( PPP ) PPP 协议的组成三要素: 封装方法 : PPP 协议要包含一个将 IP 数据报封装成串行链路的方法。既要支持异步链路,也要支持同步链路。 链路控制协议( LCP , Link Control Protocol ) :用来定义建立、配置和测试数据链路链接的协议。 网络控制协议( NCP , Network Control Protocol ) : PPP 包含了一套 NCP ,每个 NCP 协议支持不同的网络层协议,例如 IP 、 OSI 的网络层、 DECnet 、 AppleTalk 等,实现向上兼容。 28 2.1PPP 协议

29.2 . 点到点协议( PPP ) 29 2.2PPP 协议的帧格式 IP 数据报 1 2 1 1 字节 1 2 不超过 1500 字节 PPP 帧 先发送 7E FF 03 F A C FCS F 7E 协议 信 息 部 分 首部 (5 字节 ) 尾部 (3 字节 ) F 字段 :标志字段,规定为 0x7E (十六进制下的 7E ),二进制表示为 01111110 ,表示 PPP 数据帧的开始和结束。 A 字段 :规定为 0xFF ,没有任何意义,预留使用。 C 字段 :规定为 0x03 ,没有任何意义,预留使用。