计算机网络与通信-第4讲数据链路层_第1页
计算机网络与通信-第4讲数据链路层_第2页
计算机网络与通信-第4讲数据链路层_第3页
计算机网络与通信-第4讲数据链路层_第4页
计算机网络与通信-第4讲数据链路层_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机网络与通信计算机网络与通信王玲王玲jonas_今日道今日道2主要内容主要内容1.1. 理解并掌握数据链路层的基本功能理解并掌握数据链路层的基本功能2.2. 结合实际的应用理解结合实际的应用理解PPPPPP协议基本原协议基本原 理及主要功能理及主要功能3.3. 掌握以太网的工作原理:掌握以太网的工作原理:MACMAC地址和地址和MACMAC帧格式,帧格式,CSMA/CDCSMA/CD协议协议4.4. 理解网桥及交换机的工作机制理解网桥及交换机的工作机制5.5. 理解虚拟局域网及其实现方法理解虚拟局域网及其实现方法v链路链路(link)(link)是一条无源的点到点的物理线路段,是一条无源的

2、点到点的物理线路段,中间没有任何其他的交换结点。中间没有任何其他的交换结点。v 一条链路只是一条通路的一个组成部分。v数据链路数据链路(data link)(data link) 除了物理线路外,还必须有除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到链路上,就构成了数据链路。的硬件和软件加到链路上,就构成了数据链路。v 现在最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软件。v 一般的适配器都包括了数据链路层和物理层这两层的功能。 数据链路层的基本概念数据链路层的基本概念数据链路层使用的信道主要有以

3、下两种类型:数据链路层使用的信道主要有以下两种类型:v 点对点信道:点对点信道:使用一对一的点对点通信方式;使用一对一的点对点通信方式;如如 PPP 。(类似于只有两个人环境下的对话)(类似于只有两个人环境下的对话)v 广播信道:广播信道:使用一对多的广播通信方式,使用一对多的广播通信方式, 如以太网如以太网, 无线无线网等。网等。因此过程比较复杂。广播信道上连接的主机很多,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据因此必须使用专用的共享信道协议来协调这些主机的数据发送发送 。(类似于公共场所的对话)(类似于公共场所的对话)数据链路层的基本概

4、念数据链路层的基本概念局域网广域网主机 H1主机 H2路由器 R1路由器 R2路由器 R3电话网局域网主机 H1 向 H2 发送数据链路层应用层传输层网络层物理层链路层应用层传输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R1R2R3H1H2从层次上来看数据的流动仅从数据链路层观察帧的流动数据链路层的简单模型数据链路层的简单模型(a)数据链路层结点 A结点 B帧(b)发送帧接收链路网络层IP 数据报1010 0110帧取出数据链路层链路结点 A结点 B物理层IP 数据报1010 0110帧装入数据链路层传送的帧数据链路层传送的帧v常常在两个对等的数据链路层之间画出一个数

5、常常在两个对等的数据链路层之间画出一个数字管道,而在这条数字管道上传输的数据单位字管道,而在这条数字管道上传输的数据单位是是帧帧。v早期的数据通信协议曾叫作早期的数据通信协议曾叫作通信规程通信规程(procedure)(procedure)。因此在数据链路层,规程和。因此在数据链路层,规程和协议是同义语。协议是同义语。 结点结点帧帧数据链路层像个数字管道数据链路层像个数字管道(1) (1) 封装成帧封装成帧(2) (2) 透明传输透明传输(3) (3) 差错控制差错控制 三个基本问题三个基本问题v封装成帧封装成帧(frame)(frame)就是在一段数据的前后分别添加就是在一段数据的前后分别添

6、加首首部部和和尾部尾部,然后就构成了一个帧。确定帧的界限。,然后就构成了一个帧。确定帧的界限。v首部和尾部的一个重要作用就是进行首部和尾部的一个重要作用就是进行帧定界帧定界,也叫,也叫帧帧同步同步。 帧结束帧首部IP 数据报帧的数据部分帧尾部 MTU数据链路层的帧长开始发送帧开始封装成帧封装成帧用控制字符进行帧定界的方法举例用控制字符进行帧定界的方法举例 SOH装在帧中的数据部分帧帧开始符帧结束符发送在前EOTSOHEOT出现了“EOT”被接收端当作无效帧而丢弃被接收端误认为是一个帧数据部分EOT完整的帧发送在前透明传输透明传输解决透明传输问题解决透明传输问题v发送端的数据链路层在数据中出现控

7、制字符发送端的数据链路层在数据中出现控制字符“SOH”SOH”或或“EOT”EOT”的前面插入一个转义字符的前面插入一个转义字符“ESC”(ESC”(其十六进制编码是其十六进制编码是1B)1B)。v接收端的数据链路层在将数据送往网络层之前删接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。除插入的转义字符。v如果转义字符也出现数据当中,那么应在转义字如果转义字符也出现数据当中,那么应在转义字符前面插入一个转义字符。当接收端收到连续的符前面插入一个转义字符。当接收端收到连续的两个转义字符时,就删除其中前面的一个。两个转义字符时,就删除其中前面的一个。v这就叫这就叫字节填充字节填充(by

8、te stuffing)(byte stuffing)或或字符填充字符填充(character stuffing)(character stuffing)用字节填充法解决透明传输的问题用字节填充法解决透明传输的问题 SOHSOHEOTSOHESCESCEOTESCSOHESCESCESCSOH原始数据EOTEOT经过字节填充后发送的数据字节填充字节填充字节填充字节填充发送在前帧开始符帧结束符SOH差错检测差错检测v在传输过程中可能会产生在传输过程中可能会产生比特差错比特差错:1 1 可能会可能会变成变成 0 0 而而 0 0 也可能变成也可能变成 1 1。v在一段时间内,传输错误的比特占所传输

9、比特在一段时间内,传输错误的比特占所传输比特总数的比率称为总数的比率称为误码率误码率 BER (Bit Error BER (Bit Error Rate)Rate)。v误码率与信噪比有很大的关系。误码率与信噪比有很大的关系。v为了保证数据传输的可靠性,在计算机网络传为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。输数据时,必须采用各种差错检测措施。 循环冗余检验的原理循环冗余检验的原理 v在数据链路层传送的帧中,广泛使用了在数据链路层传送的帧中,广泛使用了循循环冗余检验环冗余检验 CRCCRC 的检错技术。的检错技术。v在发送端,先把数据划分为组。假定每组在发送端

10、,先把数据划分为组。假定每组 k k 个比特。个比特。 v假设待传送的一组数据假设待传送的一组数据 MM = 101001 = 101001(现(现在在 k k = 6 = 6)。我们在)。我们在 M M 的后面再添加供差的后面再添加供差错检测用的错检测用的 n n 位位冗余码冗余码一起发送。一起发送。 冗余码的计算冗余码的计算 v用二进制的模用二进制的模 2 2 运算进行运算进行 2 2n n 乘乘 M M 的运算,的运算,这相当于在这相当于在 M M 后面添加后面添加 n n 个个 0 0。v得到的得到的 ( (k k + + n n) ) 位的数除以事先选定好的位的数除以事先选定好的长度

11、为长度为 ( (n n + 1) + 1) 位的位的除数除数 P P,得出,得出商商是是 Q Q 而而余数余数是是 R R,余数,余数 R R 比除数比除数 P P 少少1 1 位,即位,即 R R 是是 n n 位。位。 冗余码的计算举例冗余码的计算举例 v 现在现在 k k = 6, = 6, MM = 101001 = 101001。v 设设 n n = 3, = 3, 除数除数 P P = 1101 = 1101,v 被除数是被除数是 2 2n nMM = 101001000 = 101001000。 v 模模 2 2 运算的结果是:运算的结果是:商商 QQ = 110101 = 11

12、0101, 余数余数 R R = 001 = 001。v 把余数把余数 R R 作为作为冗余码冗余码添加在数据添加在数据 M M 的后面发送出去。发的后面发送出去。发送的数据是:送的数据是:2 2n nMM + + R R 即:即:101001001101001001,共,共 ( (k k + + n n) ) 位。位。 110101 Q (商) P (除数) 1101 101001000 2nM (被除数) 1101 1110 1101 0111 0000 1110 1101 0110 0000 1100 1101 001 R (余数),作为 FCS 循环冗余检验的原理说明循环冗余检验的原理

13、说明 v在数据后面添加上的冗余码称为在数据后面添加上的冗余码称为帧检验帧检验序列序列 FCS (Frame Check FCS (Frame Check Sequence)Sequence)。v循环冗余检验循环冗余检验 CRC CRC 和帧检验序列和帧检验序列 FCSFCS并不等同。并不等同。vCRC 是一种常用的是一种常用的检错方法检错方法,而,而 FCS 是添是添加在数据后面的加在数据后面的冗余码冗余码。vFCS 可以用可以用 CRC 这种方法得出,但这种方法得出,但 CRC 并非用来获得并非用来获得 FCS 的唯一方法。的唯一方法。 帧检验序列帧检验序列 FCSv(1) (1) 若得出的

14、余数若得出的余数 R R = 0 = 0,则判定这个帧没有,则判定这个帧没有差错,就差错,就接受接受(accept)(accept)。v(2) (2) 若余数若余数 R R 0 0,则判定这个帧有差错,就,则判定这个帧有差错,就丢弃丢弃。v但这种检测方法并不能确定究竟是哪一个或哪但这种检测方法并不能确定究竟是哪一个或哪几个比特出现了差错。几个比特出现了差错。v只要经过严格的挑选,并使用位数足够多的除只要经过严格的挑选,并使用位数足够多的除数数P P,那么出现检测不到的差错的概率就很小,那么出现检测不到的差错的概率就很小很小。很小。 接收端对收到的每一帧进行接收端对收到的每一帧进行CRC 检验检

15、验v仅用循环冗余检验仅用循环冗余检验CRCCRC差错检测技术只能做差错检测技术只能做到到无差错接受无差错接受(accept)(accept)。v“无差错接受无差错接受”是指:是指:“凡是接受的帧(即凡是接受的帧(即不不包括丢弃的帧包括丢弃的帧),我们都能以非常接近于),我们都能以非常接近于1 1的的概率认为这些帧在传输过程中没有产生差错概率认为这些帧在传输过程中没有产生差错”。v也就是说:也就是说:“凡是接收端数据链路层接受的帧凡是接收端数据链路层接受的帧都没有传输差错都没有传输差错”(有差错的帧就丢弃而不接(有差错的帧就丢弃而不接受)。受)。v要做到要做到“可靠传输可靠传输”(即发送什么就收

16、到什么)(即发送什么就收到什么)就必须再加上就必须再加上确认确认和和重传重传机制。机制。 应当注意应当注意 v现在全世界使用得最多的数据链路现在全世界使用得最多的数据链路层协议是层协议是点对点协议点对点协议 PPP (Point-PPP (Point-to-Point Protocol)to-Point Protocol)。v用户使用拨号电话线接入因特网时,用户使用拨号电话线接入因特网时,一般都是使用一般都是使用 PPP PPP 协议。协议。 点对点协议点对点协议PPP 用户用户到用户到 ISP 的链路使用的链路使用 PPP 协议协议已向因特网管理机构申请到一批 IP 地址ISP接入网PPP

17、协议至因特网至因特网PPP 协议应满足的需求协议应满足的需求 v 简单简单这是这是首要的要求首要的要求v 封装成帧封装成帧 v 透明性透明性 v 多种网络层协议多种网络层协议 v 多种类型链路多种类型链路 v 差错检测差错检测 v 检测连接状态检测连接状态 v 最大传送单元最大传送单元 v 网络层地址协商网络层地址协商 v 数据压缩协商数据压缩协商 PPP 协议不需要的功能协议不需要的功能v纠错纠错 v流量控制流量控制 v序号序号 v多点线路多点线路 v半双工或单工链路半双工或单工链路 v1992 1992 年制订了年制订了 PPP PPP 协议。经过协议。经过 1993 1993 年和年和

18、1994 1994 年的修订,现在的年的修订,现在的 PPP PPP 协议已成为因协议已成为因特网的正式标准特网的正式标准RFC 1661RFC 1661。 vPPP PPP 协议有三个组成部分协议有三个组成部分 v一个将 IP 数据报封装到串行链路的方法。v链路控制协议 LCP (Link Control Protocol)。v网络控制协议 NCP (Network Control Protocol)。 PPP 协议的组成协议的组成v标志字段标志字段 F F = 0 x7E = 0 x7E (符号(符号“0 x”0 x”表示后面的表示后面的字符是用十六进制表示。十六进制的字符是用十六进制表示

19、。十六进制的 7E7E 的二的二进制表示是进制表示是 0111111001111110)。)。v地址字段地址字段 A A 只置为只置为 0 xFF0 xFF。地址字段实际上并。地址字段实际上并不起作用。不起作用。v控制字段控制字段 C C 通常置为通常置为 0 x030 x03。vPPP PPP 是面向字节的,所有的是面向字节的,所有的 PPPPPP 帧的长度帧的长度都是整数个字节。都是整数个字节。 PPP 协议的帧格式协议的帧格式v PPP PPP 有一个有一个 2 2 个字节的协议字段。个字节的协议字段。v 当协议字段为 0 x0021 时,PPP 帧的信息字段就是IP 数据报。v 若为

20、0 xC021, 则信息字段是 PPP 链路控制数据。v 若为 0 x8021,则表示这是网络控制数据。 IP 数据报1211字节12不超过 1500 字节PPP 帧先发送7EFF03FACFCSF7E协议信 息 部 分首部尾部PPP 协议的帧格式协议的帧格式v当当 PPP PPP 用在同步传输链路时,协议规定采用用在同步传输链路时,协议规定采用硬件来完成比特填充(和硬件来完成比特填充(和 HDLC HDLC 的做法一的做法一样)。样)。 v当当 PPP PPP 用在异步传输时,就使用一种特殊的用在异步传输时,就使用一种特殊的字符填充字符填充法法。 透明传输问题透明传输问题v将信息字段中出现的

21、每一个将信息字段中出现的每一个 0 x7E 0 x7E 字节转变成字节转变成为为 2 2 字节序列字节序列(0 x7D, 0 x5E)(0 x7D, 0 x5E)。 v若信息字段中出现一个若信息字段中出现一个 0 x7D 0 x7D 的字节的字节, , 则将其则将其转变成为转变成为 2 2 字节序列字节序列(0 x7D, 0 x5D)(0 x7D, 0 x5D)。v若信息字段中出现若信息字段中出现 ASCII ASCII 码的控制字符(即数码的控制字符(即数值小于值小于 0 x20 0 x20 的字符),则在该字符前面要加的字符),则在该字符前面要加入一个入一个 0 x7D 0 x7D 字节,

22、同时将该字符的编码加以字节,同时将该字符的编码加以改变。改变。 字符填充字符填充 零比特填充零比特填充 vPPP PPP 协议用在协议用在 SONET/SDH SONET/SDH 链路时,是使链路时,是使用同步传输(一连串的比特连续传送)。这时用同步传输(一连串的比特连续传送)。这时 PPP PPP 协议采用零比特填充方法来实现透明传协议采用零比特填充方法来实现透明传输。输。v在发送端,只要发现有在发送端,只要发现有 5 5 个连续个连续 1 1,则立即,则立即填入一个填入一个 0 0。接收端对帧中的比特流进行扫描。接收端对帧中的比特流进行扫描。每当发现每当发现 5 5 个连续个连续1 1时,

23、就把这时,就把这 5 5 个连续个连续 1 1 后的一个后的一个 0 0 删除,删除,0 1 0 0 1 1 1 1 1 0 1 0 0 0 1 0 1 00 1 0 0 1 1 1 1 1 1 0 0 0 1 0 1 00 1 0 0 1 1 1 1 1 0 1 0 0 0 1 0 1 0信息字段中出现了和标志字段 F 完全一样的 8 比特组合发送端在 5 个连 1 之后填入 0 比特再发送出去在接收端把 5 个连 1之后的 0 比特删除会被误认为是标志字段 F 发送端填入 0 比特接收端删除填入的 0 比特零比特填充零比特填充 vPPP PPP 协议之所以不使用序号和确认机制是出于协议之所以不使用序号和确认机制是出于以下的考虑:以下的考虑:v在数据链路层出现差错的概率不大时,使用比较简单的 PPP 协议较为合理。v在因特网环境下,PPP 的信息字段放入的数据是 IP 数据报。数据

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论