计算机网络第五版课件谢希仁编著第三章数据链路层.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《计算机网络第五版课件谢希仁编著第三章数据链路层.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机网络 第五 课件 谢希仁 编著 第三 数据链
- 资源描述:
-
1、计算机网络第五版课件谢希仁编著第三章数据链路层课件制作人:谢希仁课件制作人:谢希仁第 3 章 数据链路层3.1 使用点对点信道的数据链路层3.1.1 数据链路和帧3.1.2 三个基本问题3.2 点对点协议 PPP3.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 层课件制作人:谢希仁第
2、 3 章 数据链路层(续)3.5 扩展的以太网3.5.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广播信道。使用一对多的广播通信方式,因此过程比较复杂。广播信道上连接的主机很多,因此必须使用专用的共享信道协议来协调这些主机的数据发送。课件制作人:谢希仁Point-to-Point cir
3、cuit 与Multipoint circuits 主机 A 链路 点对点链路点对点链路:连接两个且只连接两个结点的链路。一端只有一个发送方,另一端有一个接收方。如一个PC连接一个服务器;两个地方的电话连接。 主机 ABCD 多点链路多点链路:同一链路上,连接多个结点。从主机到A,从A到B,从B到C,从C到D,都是链路;从主机到D是电路(circuit)。课件制作人:谢希仁链路层协议提供的服务n链路层协议的功能是在一个路径(path)中,经过一个单一链路,进行结点-到-结点的网络层数据报的移动。(node-to-node job of moving a network-layer datagr
4、am over a single link in a path.n可能提供的服务: 封装成帧与链路接入把网络层数据报封装成帧(数据+header+trailer);明确信道的接入协议(点对点的链路接入协议简单,甚至不存在;多点接入问题较为复杂。) 差错控制 透明传输课件制作人:谢希仁数据链路层的简单模型局域网广域网主机 H1主机 H2路由器 R1路由器 R2路由器 R3电话网局域网主机 H1 向 H2 发送数据链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R1R2R3H1H2从层次上来看数据的流动课件制作人:谢希仁数据链路层的
5、简单模型( 续)局域网广域网主机 H1主机 H2路由器 R1路由器 R2路由器 R3电话网局域网主机 H1 向 H2 发送数据链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R1R2R3H1H2仅从数据链路层观察帧的流动课件制作人:谢希仁3.1 使用点对点信道的数据链路层3.1.1 数据链路和帧 n链路(link)是一条无源的点到点的物理线路段,中间没有任何其他的交换结点。n一条链路只是一条通路的一个组成部分。n数据链路(data link) 除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现这些协议的硬件和软件加到
6、链路上,就构成了数据链路。n现在最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软件。n一般的适配器都包括了数据链路层和物理层这两层的功能。 IP 数据报1010 0110帧取出数据链路层网络层链路结点 A结点 B物理层数据链路层结点 A结点 B帧(a)(b)发送帧接收链路IP 数据报1010 0110帧装入数据链路层传送的是帧课件制作人:谢希仁数据链路层像个数字管道 n常常在两个对等的数据链路层之间画出一个数字管道,而在这条数字管道上传输的数据单位是帧。n早期的数据通信协议曾叫作通信规程(procedure)。因此在数据链路层,规程和协议是同义语。 结点结点帧帧课件制作人:谢希仁帧的
7、形成n尽管这个message可以被装在一个帧内,但为了流量和差错控制通常把报文分成更小的帧。n帧可能是固定长度的及可变长度的。固定长度的帧不用定义帧的边界(如广域网中ATM的帧);局域网中的帧是可变长度的帧,需要定义边界。n通常使用两种方法定义边界:面向字符的协议和面向位的协议。课件制作人:谢希仁Character-Oriented Protocolsn在此协议中,数据用8-bit的字符(如ASCII)携带。n其首部(通常是源、目的地址及其他控制信息)、尾部(检错冗余位)都是8位的倍数。n为把各帧分开,把8-bit的flag加到帧的开始和结尾。该标志是特殊的字符(不同协议,字符不同)。n面向字
8、符的帧的形成在数据链路层只交换文本时,很普及。n现今,传送其他数据(图形,声音,图形),该模式(特殊字符)可能是信息的一部分,接收方会误认为是帧的结尾。课件制作人:谢希仁Figure 11.1 A frame in a character-oriented protocol课件制作人:谢希仁面向字符的帧的byte-stuffingn为解决以上问题,采用byte-stuffing方法。n当帧中的数据部分有与标志位一样的字符时,加入一个特殊字节。该字节称为escape character (ESC),接收方遇到ESC字符,接收方从数据部分中取出该字符,把下一字符作为数据,而不是定界标志。n如果数据
9、中含有ESC字符,则再加上一个ESC,表明第二个ESC是数据的一部分。见下图。n面向字符协议的另一个问题是,现今大多用的是Unicode等16-bit或32-bit字符,与8-bit的相冲突。n趋势是面向位的协议。课件制作人:谢希仁Byte stuffing is the process of adding 1 extra byte whenever there is a flag or escape character in the text.Note课件制作人:谢希仁Figure 11.2 Byte stuffing and unstuffing课件制作人:谢希仁Bit-Oriented
10、Protocolsn帧的数据部分是一系列bits,表示上层来的数据(文本、图形、声音、图像等)。n大多数协议使用8-bit的模式位01111110作为定界符。见下页。n该方法的问题与面向字符的相同。当标志模式出现在数据中,也需要stuffing。nBit stuffing:如果遇到1个0和连续5个1,就在后面加1个0 。课件制作人:谢希仁Figure 11.3 A frame in a bit-oriented protocol课件制作人:谢希仁Bit stuffing is the process of adding one extra 0 whenever five consecutive
11、 1s follow a 0 in the data, so that the receiver does not mistakethe pattern 0111110 for a flag.Note课件制作人:谢希仁Figure 11.4 Bit stuffing and unstuffing课件制作人:谢希仁3.1.2 三个基本问题 (1) 封装成帧(2) 透明传输(3) 差错控制 课件制作人:谢希仁1. 封装成帧n封装成帧(framing)就是在一段数据的前后分别添加首部和尾部,然后就构成了一个帧。确定帧的界限。n首部和尾部的一个重要作用就是进行帧定界。 帧结束帧首部IP 数据报帧的数据
12、部分帧尾部 MTU数据链路层的帧长开始发送帧开始课件制作人:谢希仁用控制字符进行帧定界的方法举例 SOH装在帧中的数据部分帧帧开始符帧结束符发送在前EOT课件制作人:谢希仁2. 透明传输SOHEOT出现了“EOT”被接收端当作无效帧而丢弃被接收端误认为是一个帧数据部分EOT完整的帧发送在前如果数据中的某个字节的二进制代码恰好和SOH或EOT控制字符一样,则数据链路层会错误地找到帧的边界,只把部分帧手下,剩下的丢弃。以上的传输就不是透明传输,需要解决课件制作人:谢希仁解决透明传输问题n发送端的数据链路层在数据中出现控制字符“SOH”或“EOT”的前面插入一个转义字符“ESC”(其十六进制编码是
13、1B)。n字节填充(byte stuffing)或字符填充(character stuffing)接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。n如果转义字符也出现数据当中,那么应在转义字符前面插入一个转义字符。当接收端收到连续的两个转义字符时,就删除其中前面的一个。 课件制作人:谢希仁SOHSOHEOTSOHESCESCEOTESCSOHESCESCESCSOH原始数据EOTEOT经过字节填充后发送的数据字节填充字节填充字节填充字节填充发送在前帧开始符帧结束符用字节填充法解决透明传输的问题 SOH课件制作人:谢希仁3. 差错检测n在传输过程中可能会产生比特差错:1 可能会变成
14、0 而 0 也可能变成 1。n在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率 BER (Bit Error Rate)。n误码率与信噪比有很大的关系。n为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。 课件制作人:谢希仁检错原理 数据报 DEDC 数据位有差错链路 DEDCD中的位正确? 数据报YN检测到错误课件制作人:谢希仁检错原理 Data EE=f (data)Data发送方 Data EE=f (data)Compare接收方课件制作人:谢希仁Figure 10.3 The structure of encoder and decoder课件制
15、作人:谢希仁课件制作人:谢希仁Figure 10.5 Datawords and codewords in block coding课件制作人:谢希仁Figure 10.6 Process of error detection in block coding课件制作人:谢希仁Parity Checks 0 1 1 1 0 0 0 1 1 0 1 0 1 0 1 11d 个数据位Parity bit图:1位偶校验课件制作人:谢希仁Cyclic Redundancy Checkn对于k位的数据块,发送方产生一个n位的序列(帧校验序列FCS)。所产生的帧,由 k+n 位组成,能被某个预先确定的数整除
16、。n接收方把接收到的帧,用该数除,如果没有余数,则认为没有差错。nModulo 2 arithmetic:没有进位的二进制加法,等价于异或运算。n举例:n1. 假定 Message M = 1010001101 (10 bits) Pattern P = 110101 ( 6 bits) FCS R = 待计算(5 bits,R比P少1位) 2. 该数据块乘以25,得到: 101000110100000.课件制作人:谢希仁n3. 以上的积被P除,得到:课件制作人:谢希仁4. 2nM加上余数之后得到传输用的T=1010001101011105. 如果没有差错,接收方收到的T不变。收到的帧被P除,
17、得到:因为没有余数,则假定没有差错。课件制作人:谢希仁Table 10.6 A CRC code with C(7, 4)课件制作人:谢希仁Figure 10.14 CRC encoder and decoder课件制作人:谢希仁Figure 10.15 Division in CRC encoder课件制作人:谢希仁Figure 10.21 A polynomial to represent a binary word课件制作人:谢希仁循环冗余检验的原理 n在数据链路层传送的帧中,广泛使用了循环冗余检验 CRC 的检错技术。n在发送端,先把数据划分为组。假定每组 k 个比特。 n假设待传送的
18、一组数据 M = 101001(现在 k = 6)。我们在 M 的后面再添加供差错检测用的 n 位冗余码一起发送。 课件制作人:谢希仁冗余码的计算 n用二进制的模 2 运算进行 2n 乘 M 的运算,这相当于在 M 后面添加 n 个 0。n得到的 (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 运算的结果是:
19、商 Q = 110101, 余数 R = 001。n把余数 R 作为冗余码添加在数据 M 的后面发送出去。发送的数据是:2nM + R 即:101001001,共 (k + n) 位。 课件制作人:谢希仁 110101 Q (商) P (除数) 1101 101001000 2nM (被除数) 1101 1110 1101 0111 0000 1110 1101 0110 0000 1100 1101 001 R (余数),作为 FCS 循环冗余检验的原理说明 课件制作人:谢希仁帧检验序列 FCS n在数据后面添加上的冗余码称为帧检验序列 FCS (Frame Check Sequence)。
20、n循环冗余检验 CRC 和帧检验序列 FCS并不等同。nCRC 是一种常用的检错方法,而 FCS 是添加在数据后面的冗余码。nFCS 可以用 CRC 这种方法得出,但 CRC 并非用来获得 FCS 的唯一方法。 课件制作人:谢希仁接收端对收到的每一帧进行 CRC 检验 n(1) 若得出的余数 R = 0,则判定这个帧没有差错,就接受(accept)。n(2) 若余数 R 0,则判定这个帧有差错,就丢弃。n但这种检测方法并不能确定究竟是哪一个或哪几个比特出现了差错。n只要经过严格的挑选,并使用位数足够多的除数 P,那么出现检测不到的差错的概率就很小很小。 课件制作人:谢希仁应当注意 n仅用循环冗
21、余检验 CRC 差错检测技术只能做到无差错接受(accept)。n“无差错接受”是指:“凡是接受的帧(即不包括丢弃的帧),我们都能以非常接近于 1 的概率认为这些帧在传输过程中没有产生差错”。n也就是说:“凡是接收端数据链路层接受的帧都没有传输差错”(有差错的帧就丢弃而不接受)。n要做到“可靠传输”(即发送什么就收到什么)就必须再加上确认和重传机制。 课件制作人:谢希仁3.2 点对点协议 PPP 3.2.1 PPP 协议的特点 n现在全世界使用得最多的数据链路层协议是点对点协议 PPP (Point-to-Point Protocol)。n用户使用拨号电话线接入因特网时,一般都是使用 PPP
22、协议。 课件制作人:谢希仁用户到 ISP 的链路使用 PPP 协议 用户至因特网已向因特网管理机构申请到一批 IP 地址ISP接入网PPP 协议课件制作人:谢希仁用户拨号上网示意图PC机modemmodem路由器至因特网拨号电话线使用TCP/IP的PPP连接使用TCP/IP的客户进程modem用户住所因特网服务提供者 ISP路由器选择进程课件制作人:谢希仁1. PPP 协议应满足的需求 n简单这是首要的要求 最复杂的部分放在TCP中,其他的,如IP及链路层协议都简单。 数据链路层协议:接收方每收到一个帧,就进行CRC检验。如检验正确,就收下;反之,就丢弃这个帧。n封装成帧 PPP协议数据链路层
23、的发送方,应能接收网络层的分组,并封装在PPP链路层的帧中。接收方应能区分该帧及该帧中网络层分组的开始和结束位置。n透明性 必须保证数据传输的透明性。如果数据中碰巧出现了和帧定界符一样的比特组合,要解决(byte stuffing)。n多种网络层协议 在同一条物理链路上,点到点地同时支持多种网络层协议(如IP和IPX等)的运行。就像IP支持不同运输层协议(如TCP,UDP)在一个端到端的链接。即PPP需要一个“协议类型”字段。课件制作人:谢希仁PPP 协议应满足的需求n多种类型链路 PPP需要能够在多种类型的链路上运行。串行、并行、同步、异步、低速、高速等。n差错检测 接收方能够对收到的帧检错
24、。丢弃有差错的帧。n检测连接状态 能及时自动检测出链路是否处于正常工作状态。n最大传送单元 对每一种类型的PPP链路设置最大传送单元(数据部分的最大长度)n网络层地址协商 提供一种机制,使通信的两个网络层(如两个IP层)的实体能通过协商知道或配置彼此的网络地址。n数据压缩协商 提供一种方法,协商数据压缩算法。课件制作人:谢希仁2. PPP 协议不需要的功能n纠错 可靠传输由TCP负责;PPP协议是不可靠传输协议。n流量控制 端到端的流量控制有TCP负责。n序号 PPP不要求链路发送方以发送的顺序交付给接收方。n多点线路 PPP只支持点对点的链路通信。n半双工或单工链路 只支持全双工链路。课件制
25、作人:谢希仁3. PPP 协议的组成 n1992 年制订了 PPP 协议。经过 1993 年和 1994 年的修订,现在的 PPP 协议已成为因特网的正式标准RFC 1661。 nPPP 协议有三个组成部分 n封装成帧:一个将数据封装到PPP帧 的方法,识别帧的开始和结束,检测帧中的差错。n链路控制协议 LCP (Link Control Protocol):用于对链路的初始化,维持,及撤销PPP链路。n网络控制协议 NCP (Network Control Protocol):有多个协议,每一个都对应于上层的网络层协议。在网络层数据报开始通过PPP链路传输之前,允许网络层模块自己配置。 课件
展开阅读全文