网络 数据链路层

上传人:wt****50 文档编号:50599683 上传时间:2018-08-09 格式:PPT 页数:218 大小:2.04MB
返回 下载 相关 举报
网络 数据链路层_第1页
第1页 / 共218页
网络 数据链路层_第2页
第2页 / 共218页
网络 数据链路层_第3页
第3页 / 共218页
网络 数据链路层_第4页
第4页 / 共218页
网络 数据链路层_第5页
第5页 / 共218页
点击查看更多>>
资源描述

《网络 数据链路层》由会员分享,可在线阅读,更多相关《网络 数据链路层(218页珍藏版)》请在金锄头文库上搜索。

1、计算机网络(第 5 版)第 3 章 数据链路层第 3 章 数据链路层*3.1 使用点对点信道的数据链路层 3.1.1 数据链路和帧 3.1.2 三个基本问题 *3.2 点对点协议 PPP 3.2.1 PPP 协议的特点 3.2.2 PPP 协议的帧格式 3.2.3 PPP 协议的工作状态第 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

2、.1 在物理层扩展以太网 3.5.2 在数据链路层扩展以太网 *3.6 高速以太网3.6.1 100BASE-T 以太网3.6.2 吉比特以太网3.6.3 10 吉比特以太网3.6.4 使用高速以太网进行宽带接入 3.7 其他类型的高速局域网接口数据链路层n数据链路层为网络层服务,在相邻结点 间传递网络层分组。 数据链路层数据链路层使用的信道主要有以下两种类 型:n点对点信道。这种信道使用一对一的点 对点通信方式。n广播信道。这种信道使用一对多的广播 通信方式,因此过程比较复杂。广播信 道上连接的主机很多,因此必须使用专 用的共享信道协议来协调这些主机的数 据发 两大类链路n点对点的链路n共享

3、链路 点对点的链路n在实际应用中,点到点链路的通信主要 用在几种情况:n第一种是两个网络之间通过路由器互连 ,即路由器之间的点到点的连接。n第二种是拨号接入n在就是广域网数据链路层的简单模型局域网广域网主机 H1主机 H2路由器 R1路由器 R2路由器 R3电话网局域网主机 H1 向 H2 发送数据链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R1R2R3H1H2从层次上来看数据的流动数据链路层的简单模型( 续)局域网广域网主机 H1主机 H2路由器 R1路由器 R2路由器 R3电话网局域网主机 H1 向 H2 发送数据链路层

4、应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R1R2R3H1H2仅从数据链路层观察帧的流动n前面图示指出,从数据链路层来看, H1到H2的通信可以看成由4段不同的链 路层通信组成。 H1R1,R1R2,R2R3,R3H2n这4段不同的链路层可能采用不同的数 据链路层协议。概述备注这三段链路可能采用了不同的链路层协议, 因此封装时首部和尾部可能个不相同。如 H2,H2,H2;T2,T2,T2对于主机只有一个网络接口,所以只有一个数 据链路层协议,而路由器则有多个网络接口, 不同的接口接不同的网络,所以路由器的不同 的接口运行不同的数

5、据链路层协议。3.1 使用点对点信道的数据链路层 3.1.1 数据链路和帧 n点对点链路是两个结点直接相连的链路 ,是两个结点之间唯一的一条通路,多 用于远程网。3.1 使用点对点信道的数据链路层 3.1.1 数据链路和帧 n链路(link)是一条无源的点到点的物理线 路段,中间没有任何其他的交换结点。n在进行数据通信时,两个计算机之间的 通信路径往往要经过许多段这样的链路 ,可见链路只是一条路径的组成部分。3.1 使用点对点信道的数据链路层 3.1.1 数据链路和帧 n数据链路(data link) 除了物理线路外, 还必须有通信协议来控制这些数据的传 输。若把实现这些协议的硬件和软件加 到

6、链路上,就构成了数据链路。n现在最常用的方法是使用适配器(即网卡 )来实现这些协议的硬件和软件。n一般的适配器都包括了数据链路层和物理 层这两层的功能。 IP 数据报1010 0110帧取出数据 链路层网络层链路结点 A结点 B物理层数据 链路层结点 A结点 B帧(a)(b)发送 帧接收链路IP 数据报1010 0110帧装入数据链路层传送的是帧数据链路层像个数字管道 n常常在两个对等的数据链路层之间画出 一个数字管道,而在这条数字管道上传 输的数据单位是帧。n早期的数据通信协议曾叫作通信规程 (procedure)。因此在数据链路层,规程 和协议是同义语。 结点结点帧帧3.1.2 三个基本问

7、题 数据链路层的协议很多,但有三个 基本问题则是共同的。 (1) 封装成帧 (2) 透明传输 (3) 差错控制 1. 封装成帧n封装成帧(framing)就是在一段数据的前后分 别添加首部和尾部,然后就构成了一个帧。 确定帧的界限。n首部和尾部的一个重要作用就是进行帧定界 。 帧结束帧首部IP 数据报帧的数据部分帧尾部 MTU数据链路层的帧长开始 发送帧开始关于MTUn帧的数据部分的长度上限n显然,为了提高帧的传输效率,应当使 帧的数据部分长度尽可能地大于首部和 尾部的长度。n但是,每一种数据链路层协议都规定了 帧的数据部分的长度上限最大传输单 元MTU用控制字符进行帧定界的方法举例 帧开始符

8、帧结束符发送在前SOH装在帧中的数据部分帧EOT当数据是由ASC码组成的文本文件时,帧定界可 以使用特殊的控制字符SOH和EOT完成。2. 透明传输SOHEOT出现了“EOT”被接收端当作无效帧而丢弃被接收端 误认为是一个帧数据部分EOT完整的帧发送 在前当帧的数据部分含有用于标记帧开始和结束的 控制字符时,需要解决透明传输问题。解决透明传输问题n发送端的数据链路层在数据中出现控制字符 “SOH”或“EOT”的前面插入一个转义字符“ESC”( 其十六进制编码是 1B)。n这种方法称为字节填充(byte stuffing)或字符填充 (character stuffing)接收端的数据链路层在

9、将数据送往网络层之前删除插入的转义字符。n如果转义字符也出现数据当中,那么应在转义字 符前面插入一个转义字符。当接收端收到连续的 两个转义字符时,就删除其中前面的一个。 “透明”是一个很重要的术语n它表示:某一个实际存在的事物看起来 却好像不存在一样。n比如说,物理层的任务就是“透明地传 输比特流”,表示这种传输对所传输的 内容没有限制。数据链路层的透明传输n不管数据链路层所传输的数据是什么样的比特组 合,都应该能够在链路上传输,也就是说链路层 协议不能禁止传输某种特殊的比特组合。这就是 透明传输问题。n当数据中包含了用作帧定界的字符,或有确定含 义的控制字符时,协议要有相应的措施,使接收 方

10、能够辨认出其是数据还是定界符或控制信息。SOHSOHEOTSOHESCESCEOTESCSOHESCESCESCSOH原始数据EOTEOT经过字节填充后发送的数据字节填充字节填充字节填充字节填充发送 在前帧开始符帧结束符用字节填充法解决透明传输的问题 SOH3. 差错检测n在传输过程中可能会产生比特差错:1 可能 会变成 0 而 0 也可能变成 1。n在一段时间内,传输错误的比特占所传输比 特总数的比率称为误码率 BER (Bit Error Rate)。n误码率与信噪比有很大的关系。n为了保证数据传输的可靠性,在计算机网络 传输数据时,必须采用各种差错检测措施。循环冗余检验的原理 n在数据链

11、路层传送的帧中,广泛使用了循 环冗余检验 CRC 的检错技术。n我们举日常生活的例子来做说明帧检错原理n日常生活的例子:n假设A给B邮寄了3本书,结果中途丢了一本 ,B只收到两本。n如果A,B事先没有沟通,B会认为A只寄了两 本而不是3本,这样就会出现错误。n但是如果A在寄书的同时附一个纸条,告诉B 寄了3本书,那么当B 收到两本书和这个便条 时,就知道丢了一本书。n这个便条作为一个附加的信息,起到一个检 错的作用。帧检错原理n在数据链路层,检错采用的是同样的原理。n要发送信息M,如果仅仅就发送M,对方收 到后,无法判断收到的信息是否与原来的信 息一样。n这就需要再另外发送一个附加的冗余信息R

12、 ,利用R来发现信息M传递过程中的错误。n当CRC检测出错时,就认为该帧已损坏。nCRC检测通常用硬件实现。 循环冗余检验的原理 n在发送端,先把数据划分为组。假定每组 k 个 比特。 n假设待传送的一组数据 M = 101001(现在 k = 6)。CRC运算就是在数据M的后面添加供差错 检测用的n 位冗余码,然后构成一个帧发送出去 ,一共发送(k+n)位。n在发送的数据后面再添加供差错检测用的 n 位 冗余码,虽然增加了数据传输的开销,但可以 保证无比特差错传输,也是值得的。 冗余码的计算 n用二进制的模 2 运算进行 2n 乘 M 的运 算,这相当于在 M 后面添加 n 个 0。n得到的

13、 (k + n) 位的数除以事先选定好 的长度为 (n + 1) 位的除数 P,得出商 是 Q 而余数是 R,余数 R 比除数 P 少 1 位,即 R 是 n 位。 冗余码的计算举例 n现在 k = 6, M = 101001。n设 n = 3, 除数 P = 1101,n被除数是 2nM = 101001000。 n模 2 运算*的结果是:商 Q = 110101,余数 R = 001。n把余数 R 作为冗余码添加在数据 M 的后面 发送出去。发送的数据是:2nM + R 即:101001001,共 (k + n) 位。 110101 Q (商)P (除数) 1101 101001000 2

14、nM (被除数)11011110 110101110000111011010110000011001101001 R (余数),作为 FCS 循环冗余检验的原理说明 帧检验序列 FCS n在数据后面添加上的冗余码称为帧检验 序列 FCS (Frame Check Sequence)。n循环冗余检验 CRC 和帧检验序列 FCS 并不等同。nCRC 是一种常用的检错方法,而 FCS 是 添加在数据后面的冗余码。nFCS 可以用 CRC 这种方法得出,但 CRC 并非用来获得 FCS 的唯一方法。 接收端对收到的每一帧进行 CRC 检验 n把收到的每一个帧都除以同样的除数P,然后 检查得到的余数R

15、n(1) 若得出的余数 R = 0,则判定这个帧没有 差错,就接受(accept)。n(2) 若余数 R 0,则判定这个帧有差错,就 丢弃。n但这种检测方法并不能确定究竟是哪一个或 哪几个比特出现了差错。n只要经过严格的挑选,并使用位数足够 多的除数 P,那么出现检测不到的差错 的概率就很小很小。n另外可以用多项式P(X)=X3+X2+1来表 示上面的除数P=1101 。n多项式P(X)被称为生成多项式。生成多项式n生成多项式P(x) 的结构及检验效果是经过严 格的数学分析试验后确定的。已研究制定了 几种CRC生成多项式P(x)的国际标准:nCRC-CCITT P(x)=x16+x12+x5+

16、1nCRC-16 P(x)=x16+x15+x2+1nCRC-12 P(x)=x12+x11+x3+x2+x+1nCRC-32 P(x)=x32+x26+x23+x22+x16+x12+x11+x10+x8+x7 +x5+x4+x2+x+1n使用位数足够多的除数 P,那么出现检测不 到的差错的概率就很小很小。应当注意 n使用循环冗余检验 CRC 差错检测技术 只能做到无比特差错接受(accept)。n“无差错接受”是指:“凡是接受的帧(即 不包括丢弃的帧),我们都能以非常接 近于 1 的概率认为这些帧在传输过程中 没有产生差错”。因为有差错的帧被丢 弃了,即没有接受。应当注意(续) n但是,“无比特差错”和“无传输差错”并 不是同样的概念。n数据链路层使用CRC检验,只能实现无 比特差错的传输,但这不是可靠传输。n可靠传输除保证比特差错,还要处理帧 丢失、帧重复或帧乱序问题。应当注意(续) nOSI的观点是必须把数据链路层做成是可靠 传输的,会在CRC检验基础上

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号