计算机网络 第3章 3.1-3.4数据链路层.ppt
《计算机网络 第3章 3.1-3.4数据链路层.ppt》由会员分享,可在线阅读,更多相关《计算机网络 第3章 3.1-3.4数据链路层.ppt(107页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机网络(计算机网络(第第 5 版)版)第 3 章 数据链路层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.1 局域网的数据链路层3.3.2 CSMA/CD 协议3.4 使用广播信道的以太网*3.4.1 使用集线器的星形拓扑 3.4.2 以太网的信道利用率*3.4.3 以太网的 MAC 层*3.5 扩展的以太网3.5.1 在物理层扩展以太网3.5.2 在
2、数据链路层扩展以太网*3.6 高速以太网3.6.1 100BASE-T 以太网3.6.2 吉比特以太网 3.6.3 10 吉比特以太网 3.6.4 使用高速以太网进行宽带接入3.7 其他类型的高速局域网接口2数据链路层数据链路层数据链路层使用的信道主要有以下两种类型:v点对点信道使用一对一的点对点通信方式。使用点对点协议v广播信道使用一对多的广播通信方式,比较复杂。广播信道上连接的主机很多,必须使用专用的共享信道协议来协调这些主机的数据发送。v互联网通信中,数据链路层所处的地位3数据链路层的简单模型数据链路层的简单模型局域网广域网主机 H1主机 H2路由器 R1路由器 R2路由器 R3电话网局
3、域网主机 H1 向 H2 发送数据链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R1R2R3H1H2从层次上来看数据的流动4数据链路层的简单模型数据链路层的简单模型(续)续)局域网广域网主机 H1主机 H2路由器 R1路由器 R2路由器 R3电话网局域网主机 H1 向 H2 发送数据链路层应用层运输层网络层物理层链路层应用层运输层网络层物理层链路层网络层物理层链路层网络层物理层链路层网络层物理层R1R2R3H1H2仅从数据链路层观察帧的流动数据链路层位于网络层和物理层中间,在网络层的IP数据包和物理层的比特流之间进行转换53.
4、1 使用点对点信道的数据链路层使用点对点信道的数据链路层 v3.1.1 数据链路和帧v3.1.2 三个基本问题63.1.1 数据链路数据链路和帧和帧 v链路(link)一段无源的点到点的物理线路,中间没有任何其他的交换结点。一条链路只是一条通路的一个组成部分。v数据链路(data link)除了物理线路外,还必须有通信协议来控制这些数据的传输。若把实现通讯协议的硬件和软件加到链路上,就构成了数据链路。现在最常用的方法是使用适配器(即网卡)来实现这些协议的硬件和软件。一般的适配器都包括了数据链路层和物理层这两层的功能。73.1.1 数据链路数据链路和帧和帧83.1.1 数据链路和数据链路和帧帧v
5、帧:数据链路层的协议数据单元(PDU)v数据链路层将网络层交下来的数据构成帧发送到链路上,把接收到的帧中的数据取出并上交给网络层。v简化的三层模型9IP 数据报1010 0110帧取出数据链路层网络层链路结点 A结点 B物理层数据链路层结点 A结点 B帧不必考虑物理层如何实现如何实现比特的传输的,可设想为两个链路层之间直接水平的把帧发给对方发送帧接收链路IP 数据报1010 0110帧装入数据链路层传送的是帧1.A的数据链路层把网络层交给的IP数据报添加首部和尾部形成帧2.A将封装好的帧发给B的数据链路层3.B收到的帧若无误,则提取IP数据报交给网络层;否则,丢弃.103.1.2 数据链路层的
6、三个基本问题数据链路层的三个基本问题(1)封装成帧(2)透明传输(3)差错检测 111.封装成帧封装成帧v封装成帧(framing)就是在一段数据的前后分别添加首部和尾部,构成一个帧。确定帧的界限。v首部和尾部的一个重要作用就是进行帧定界。接收端收到物理层上交的比特流后,才能根据首尾部,识别帧的开始结束。帧结束帧首部IP 数据报帧的数据部分帧尾部 MTU数据链路层的帧长开始发送帧开始12进行帧定界的方法进行帧定界的方法-使用控制字符使用控制字符SOH装在帧中的数据部分帧帧开始符帧结束符发送在前EOTv数据部分是可打印的ASCII码时,帧定界可使用特殊的帧定界符。vSOH和EOT分别代表控制字符
7、0 x01和0 x04。数据部分不能存在与SOH或EOT相同的字节。v帧定界符作用举例 (传输出现差错时)132.透明传输透明传输v当帧中数据部分是可打印ASCII码文本文件时,其中自然不存在SOH或EOT之类的帧定界控制字符。不管什么字符都可以放在帧中传输,这样的传输称为透明传输。v当帧中数据部分存在非ASCII码文本文件时,?142.透明传输透明传输SOHEOT出现了“EOT”被接收端当作无效帧而丢弃被接收端误认为是一个帧数据部分EOT完整的帧发送在前无法透明传输?printf(“%d%”,i);15解决透明传输问题解决透明传输问题v发送端的数据链路层在数据中出现控制字符“SOH”或“EO
8、T”的前面插入一个转义字符“ESC”(其十六进制编码是 1B)。接收端的数据链路层在将数据送往网络层之前删除插入的转义字符。v上述方法称为字节填充(byte stuffing)或字符填充(character stuffing)v如果转义字符也出现数据当中,那么应在转义字符前面插入一个转义字符。当接收端收到连续的两个转义字符时,就删除其中前面的一个。16SOHSOHEOTSOHESCESCEOTESCSOHESCESCESCSOH原始数据EOTEOT经过字节填充后发送的数据字节填充字节填充字节填充字节填充发送在前帧开始符帧结束符用字节填充法解决透明传输的问题用字节填充法解决透明传输的问题 SOH
9、173.差错检测差错检测v在传输过程中可能会产生比特差错比特差错:1 可能会变成 0 而 0 也可能变成 1。v在一段时间内,传输错误的比特占所传输比特总数的比率称为误码率 BER(Bit Error Rate)。v误码率与信噪比有很大的关系。v为了保证数据传输的可靠性,在计算机网络传输数据时,必须采用各种差错检测措施。v在数据链路层传送的帧中,广泛使用了循环冗余检验 CRC 的检错技术。18循环冗余检验的原理循环冗余检验的原理 v在发送端,先把数据划分为组。假定每组 k 个比特。v1.假设待传送的一组数据 M=101001(现在 k=6)。我们在 M 的后面再添加供差错检测用的 n 位冗余码
10、一起发送。v2.用二进制的模 2 运算,(1)首先进行 2n 乘 M 的运算,这相当于在 M 后面添加 n 个 0;(2)得到的(k+n)位的数除以事先选定好的长度为(n+1)位的除数 P,得出商是 Q 而余数是 R,余数 R 比除数 P 少1 位,即 R 是 n 位;(3)余数R作为冗余码拼接在M后发送。v3.接收端以帧为单位进行CRC检验:把收到的帧都除以同样的除数P,检查得到的余数是否为0。19冗余码的计算举例冗余码的计算举例 v现在 k=6,M=101001v取3位冗余码,n=3,除数 P=1101v被除数是 2nM=101001000。v模 2 运算的结果是:商 Q=110101,余
11、数 R=001。v把余数 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 帧检测序列20接收端对收到的每一帧进行接收端对收到的每一帧进行 CRC 检验检验 v(1)若得出的余数 R=0,则判定这个帧没有差错,就接受(accept)。v(2)若余数 R 0,则判定这个帧有差错,就丢弃。v但这种检测方法并不能确定究竟
12、是哪一个或哪几个比特出现了差错。v只要经过严格的挑选,并使用位数足够多的除数 P,那么出现检测不到的差错的概率就很小很小。110101 Q(商)P(除数)1101 101001001 2nM(被除数)1101 1110 1101 0111 0000 1110 1101 0110 0000 1101 1101 000 R(余数),21注意注意 v仅用循环冗余检验 CRC 差错检测技术只能做到无差错接受(accept)。不能无差错传输。v“无差错接受”是指:“凡是接受的帧(即不包括丢弃的帧),我们都能以非常接近于 1 的概率认为这些帧在传输过程中没有产生差错”。v也就是说:“凡是接收端数据链路层接
13、受的帧都没有传输差错”(有差错的帧就丢弃而不接受)。v要做到“可靠传输”(即发送什么就收到什么)就必须再加上确认和重传机制。在发送过程中,除了可能出现CRC可检测到的比特差错,还有可能出现帧丢失、帧重复等传输差错。22 注意注意CRC 和和 FCSv在数据后面添加上的冗余码称为帧检验序列 FCS(Frame Check Sequence)。v循环冗余检验 CRC 和帧检验序列 FCS并不等同。CRC 是一种常用的检错方法,而 FCS 是添加在数据后面的冗余码。FCS 可以用 CRC 这种方法得出,但 CRC 并非用来获得 FCS 的唯一方法。23无比特差错无比特差错 和和 无传输差错无传输差错
14、v无比特差错:CRC检验仅能实现无比特差错的传输,并不是可靠传输。v无传输差错:可靠传输早期OSI为了在数据链路层可靠传输,增加了帧编号、确认、重传等机制,但目前由于链路质量大大提高,因链路引起差错的概率很小。目前链路层一般不使用确认、重传机制,不再对上提供可靠传输服务。可靠传输由运输层中的TCP协议来实现。24*3.2 点对点协议点对点协议 PPPv点对点信道中数据链路层的协议:高级数据链路控制协议HDLC:在链路质量差的情况下提供可靠传输。目前很少使用。点对点协议:主要用于主机和ISP服务商进行通讯。目前应用的最为广泛。v3.2.1 PPP 协议的特点v3.2.2 PPP 协议的帧格式v3
15、.2.3 PPP 协议的工作状态25PPP 协议用途简介协议用途简介v现在全世界使用得最多的数据链路层协议是点对点协议 PPP(Point-to-Point Protocol)。v用户使用拨号电话线接入因特网时,一般都是使用 PPP 协议。至因特网已向因特网管理机构申请到一批 IP 地址ISP接入网PPP 协议263.2.1 PPP 协议的特点协议的特点v1.PPP 协议应满足的需求 v2.PPP 协议不需要的功能v3.PPP 协议的组成 271.PPP 协议应满足的需求协议应满足的需求(10)v(1)简单这是首要的要求复杂度:运输层TCP网络层IP数据链路层PPP每收一帧,即进行CRC校验。
16、如果校验正确,则收;否则,丢。其他什么也不做。简单,不易出错,提高了不同厂商对协议不同实现的互操作性v(2)封装成帧使用规定的字符作为帧定界符,以便于接收方提取。v(3)透明性 对于巧合出现的与帧定界符一样的字节时,要有效解决。281.PPP 协议应满足的需求协议应满足的需求 v(4)多种网络层协议 所连接的设备使用的网络层协议可能不同,PPP应该能够都支持。v(5)多种类型链路 支持多种类型的链路,比如串行、并行,同步、异步,电、光链路等。目前宽带上网主机使用的数据链路层协议为PPPoE,即PPP over Ethernet(在以太网上运行的PPP),支持多种类型链路。v(6)差错检测收到的
17、数据立即检测,有错即丢。避免错误帧继续转发。v(7)检测连接状态 自动检测链路是否处于正常工作状态。291.PPP 协议应满足的需求协议应满足的需求 v(8)最大传送单元 MTU限定帧的数据部分的最大长度,也就是网络层的IP数据报的最大长度,并不是帧的总长度。v(9)网络层地址协商仅链路层建立了连接而不知对方网络层地址,无法保证网络层能够传送分组。故PPP需要提供一种机制使用通讯的实体能够知道彼此的网络层地址。v(10)数据压缩协商使用通讯的实体可以协商使用某种数据压缩算法。302.PPP 协议不需要的功能协议不需要的功能v纠错 只检错,不可靠传输。纠错由TCP完成v流量控制 TCP完成v序号
18、 不可靠传输,不需要使用帧序号v多点线路 只支持点对点,不支持多点线路v半双工或单工链路 只支持全双工线路313.PPP 协议的组成协议的组成 vPPP协议需要完成数据封装,链路控制,及对上层网络层提供服务,需要如下组成部分:v一个将 IP 数据报封装到串行链路的方法将IP数据报封装到链路层帧中,支持多种类型链路。v链路控制协议 LCP(Link Control Protocol)用来建立、配置和测试数据链路连接v网络控制协议 NCP(Network ControlProtocol)其中的每一个协议对应支持不同的网络层协议323.2.2 PPP 协议的帧格式协议的帧格式v帧格式的定义v透明传输
19、异步传输:转义字符,字节填充同步传输:零比特填充331.PPP 协议的帧格式协议的帧格式v标志字段 F=0 x7E (帧定界符)v地址字段 A 只置为 0 xFF。v控制字段 C 通常置为 0 x03。A C字段实际上并不起作用。v协议字段(2字节),指示信息部分是何种协议数据。若为 0 x0021,PPP 帧的信息字段就是IP 数据报。若为 0 xC021,则信息字段是 PPP 链路控制协议LCP的数据。若为 0 x8021,则表示是网络层的控制数据。v信息部分长度可变,MTU=1500vFCS CRC的帧检测序列vPPP传输数据以字节为单位,是面向字节的,不是面向比特的,所有的 PPP 帧
20、的长度都是整数字节。IP 数据报1211字节12不超过 1500 字节PPP 帧先发送7EFF03FACFCSF7E协议信 息 部 分首部尾部34透明传输问题透明传输问题 v当 PPP 用在异步传输链路(逐个比特传送)时,协议规定使用一种特殊的字节填充法。v当 PPP 用在同步传输链路(多个比特连续传送)时,协议规定采用硬件来完成零比特填充。352.字节填充字节填充(异步异步)v当PPP使用异步传输时,把转义字符定义为0 x7D,并使用字节填充,规定使用如下算法:将信息字段中出现的每一个 0 x7E(标志)字节转变成为 2 字节序列(0 x7D,0 x5E)。若信息字段中出现一个 0 x7D(
21、转义)的字节,则将其转变成为 2 字节序列(0 x7D,0 x5D)。若信息字段中出现 ASCII 码的控制字符(即数值小于 0 x20 的字符),则在该字符前面要加入一个 0 x7D 字节,同时将该字符的编码加以改变。v接收端收到数据后,再作相反的变换即可得到原来的信息。363.零比特填充零比特填充(同步同步)vPPP 协议用在 SONET/SDH 链路时,是使用同步传输(一连串的比特连续传送)。这时 PPP 协议采用零比特填充方法来实现透明传输。v具体做法:(示例)在发送端,只要发现有 5 个连续 1,则立即填入一个 0,保证不会出现6个连续的1。(0 x7E=01111110B)接收端找
22、到帧边界后,对帧中的比特流进行扫描。每当发现 5 个连续1时,就把这 5 个连续 1 后的一个 0 删除。v保证了透明传输,传送任意组合的比特流,而不会引起对帧边界的误判。370 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
23、 比特零比特填充38 3.2.3 PPP 协议的工作状态协议的工作状态 vPPP链路的初始化至释放的工作过程:v1.当用户拨号接入 ISP 时,路由器的调制解调器对拨号做出确认,并建立一条物理连接。v2.PC 机向路由器发送一系列的 LCP(链路控制协议)分组(封装成多个 PPP 帧),建立LCP连接。v3.建立LCP链路后,进行身份“鉴别”。v4.进入网络层配置,建立网络层连接,NCP(网络控制协议)给新接入的 PC机分配一个临时的 IP 地址,使 PC 机成为因特网上的一个主机。开始数据传输。v5.通信完毕时,NCP 释放网络层连接,收回原来分配出去的 IP 地址。接着,LCP 释放数据链
24、路层连接。最后释放的是物理层的连接。39设备之间无链路链路静止链路建立鉴别网络层协议链路打开链路终止物理链路LCP 链路已鉴别的 LCP 链路已鉴别的 LCP 链路和 NCP 链路物理层连接建立LCP 配置协商鉴别成功或无需鉴别NCP 配置协商链路故障或关闭请求LCP 链路终止鉴别失败LCP 配置协商失败PPP协议状态转换图协议状态转换图PPP协议协议并不是纯并不是纯粹的数据粹的数据链路层协链路层协议,还包议,还包含了物理含了物理层和网络层和网络层的部分层的部分内容。内容。40点对点数据链路层点对点数据链路层 小结小结v点对点信道的基本问题:封装成帧(定界符)、透明传输(转义字符)、差错检测(
25、CRC)v点对点协议帧格式透明传输 字节填充 零比特传输工作状态的转换41*3.3 使用广播信道的数据链路层使用广播信道的数据链路层v3.3.1 局域网的数据链路层 广播信道可一对多通信,局域网中广泛应用v3.3.2 CSMA/CD协议载波监听多点接入/碰撞检测 广播信道上连接的主机很多,必须使用专用的共享信道协议来协调这些主机的数据发送。423.3.1 局域网的数据链路层局域网的数据链路层 v补充局域网有关内容v共享通信信道的方法v以太网的两个标准v适配器的作用431.补充局域网有关内容补充局域网有关内容局域网为一个单位所拥有,且地理范围和站点数目均有限。v局域网具有如下的一些主要优点:具有
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机网络 第3章 3.1-3.4数据链路层 3.1 3.4 数据链
限制150内