《计算机网络 第3章 3.1-3.4数据链路层.ppt》由会员分享,可在线阅读,更多相关《计算机网络 第3章 3.1-3.4数据链路层.ppt(107页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
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局域网具有如下的一些主要优点:具有
26、广播功能,从一个站点可很方便地访问全网。局域网上的主机可共享连接在局域网上的各种硬件和软件资源。便于系统的扩展和逐渐地演变,各设备的位置可灵活调整和改变。提高了系统的可靠性、可用性和生存性。44局域网的拓扑局域网的拓扑 匹配电阻集线器干线耦合器总线网星形网树形网(令牌)环形网452.共享通信信道的方法共享通信信道的方法v广播信道上连接的主机很多,必须使用专用的共享信道协议来协调这些主机的数据发送。共享信道必须考虑如何使多用户合理而方便地共享通信媒体资源。v两种方法:v(1)静态划分信道频分复用 时分复用 波分复用 码分复用 v(2)动态媒体接入控制(多点接入 multiple access)随
27、机接入所有用户可随机发信息,可能会发生碰撞,需要解决碰撞的协议 重点讨论受控接入 不能随机发信息,要服从一定控制。如令牌环局域网,多点线路探询(polling),或轮询。目前应用少,不讨论463.以太网的两个标准以太网的两个标准 vDIX Ethernet V2:1982年,施乐、DEC、Intel公司联合提出,世界上第一个局域网产品(以太网)的规约。vIEEE 802.3:1983年,IEEE 802委员会提出。vDIX Ethernet V2 标准与 IEEE 的 802.3 标准只有很小的差别,因此可以将 802.3 局域网简称为“以太网”。v严格说来,“以太网”应当是指符合 DIX E
28、thernet V2 标准的局域网 47数据链路层的两个子层数据链路层的两个子层 v由于厂商的竞争,802委员会未能提出统一的局域网标准(除以太网外,还有ATM、令牌环网、FDDI等)。为了使数据链路层能更好地适应多种局域网标准,802 委员会就将局域网的数据链路层拆成两个子层:逻辑链路控制 LLC(Logical Link Control)子层媒体接入控制 MAC(Medium Access Control)子层。v与接入到传输媒体有关的内容都放在 MAC子层;而 LLC 子层则与传输媒体无关,不管采用何种协议的局域网对 LLC 子层来说都是透明的。48局域网对局域网对 LLC 子层是透明的
29、子层是透明的 局 域 网网络层物理层站点 1网络层物理层逻辑链路控制LLCLLC媒体接入控制MACMAC数据链路层站点 2LLC LLC 子层看不见子层看不见下面的局域网下面的局域网局域网采用何种传输媒体和局域网采用何种传输媒体和MAC子层,对于子层,对于LLC层来讲都是透明的层来讲都是透明的49如今一般不考虑如今一般不考虑 LLC 子层子层 v如今,以太网已取得局域网垄断地位。TCP/IP 体系使用的局域网是 DIX Ethernet V2 而不是 802.3 标准中的几种局域网,因此现在 802 委员会制定的逻辑链路控制子层 LLC(即 802.2 标准)的作用已经消失了。v很多厂商生产的
30、适配器上仅装有 MAC 协议而没有 LLC 协议。504.适配器的作用适配器的作用 v网络接口板又称为通信适配器(adapter)或网络接口卡 NIC(Network Interface Card),或“网卡”。v适配器的重要功能:进行串行/并行转换。对数据进行缓存。适配器设备驱动程序控制硬件从何地址取发数据。实现以太网协议。51计算机通过适配器和局域网进行通信计算机通过适配器和局域网进行通信 硬件地址至局域网适配器(网卡)串行通信CPU 和存储器生成发送的数据处理收到的数据把帧发送到局域网从局域网接收帧计算机IP 地址并行通信1.串行并行串行并行2.对对CPU的中断的中断3.硬件地址硬件地址
31、 IP地址位置地址位置523.3.2 CSMA/CD 协议协议v总线如何实现一对一通讯v以太网如何简化通讯过程v如何协调总线上各计算机的工作 CSMA/CDv争用期v截断二进制指数退避算法v强化碰撞531.总线如何实现一对一通讯总线如何实现一对一通讯v最初的以太网将所有计算机连接在一根总线上。v总线的特点:当一台计算机发送数据时,总线上的所有计算机都能检测到这个数据。即广播通讯方式。v为实现一对一通讯,给每台计算机适配器分配一个唯一地址;发送帧时,首部写明接收站的地址;总线上的计算机检测到数据帧时,只有与自己的地址相匹配的数据才接收,否则丢弃。54总线一对一通讯图示总线一对一通讯图示B向 D发
32、送数据 C D A E匹配电阻(用来吸收总线上传播的信号)匹配电阻不接受不接受不接受接受B只有 D 接受B 发送的数据552.以太网如何简化通信过程以太网如何简化通信过程v为了通信的简便,以太网采用了两种措施:采用无连接的工作方式,即不必先建立连接就可以直接发送数据。数据采用曼彻斯特编码,解决了位同步信号问题。56措施一:无连接工作方式措施一:无连接工作方式 v无连接的工作方式,不必先建立连接可直接发数据。v以太网对发送的数据帧不进行编号,也不要求对方发回确认。局域网信道的质量很好,因信道质量产生差错的概率很小。v以太网提供的服务是不可靠的交付,即尽最大努力的交付。v当目的站收到有差错的数据帧
33、时就丢弃此帧,其他什么也不做。差错的纠正由高层来决定。v如果高层发现丢失了一些数据而进行重传,但以太网并不知道这是一个重传的帧,而是当作一个新的数据帧来发送。57措施二:数据使用曼彻斯特措施二:数据使用曼彻斯特(Manchester)编码编码 基带数字信号曼彻斯特编码 码元1111100000出现电平转换1.为什么要引入为什么要引入Manchester编码?编码?2.Manchester编码的方法编码的方法3.Manchester编码如何解决了位同步问题?编码如何解决了位同步问题?4.信号的频带有何变化?信号的频带有何变化?583.如何协调总线上各计算机的工作如何协调总线上各计算机的工作v总线
34、方式,任何时刻只能有一台计算机发送数据。v如何协调多台计算机之间的通讯?vCSMA/CD 载波监听多点接入/碰撞检测59载波监听载波监听多点接入多点接入/碰撞检测碰撞检测 CSMA/CD vCSMA/CD 表示 Carrier Sense Multiple Access with Collision Detection。v“多点接入”表示许多计算机以多点接入的方式连接在一根总线上。v“载波监听”是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞。v总线上并没有什么“载波”。因此,“载波监听”就是用电子技术检测总线上有没有其他计算机发
35、送的数据信号。60载波监听多点接入载波监听多点接入/碰撞检测碰撞检测 CSMA/CDv“碰撞检测”就是计算机边发送数据边检测信道上的信号电压大小。v当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。v当一个站检测到的信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞。v所谓“碰撞”就是发生了冲突。因此“碰撞检测”也称为“冲突检测”。61v在发生碰撞时,总线上传输的信号产生了严重的失真,无法从中恢复出有用的信息来。v每一个正在发送数据的站,一旦发现总线上出现了碰撞,就要立即停止发送,免得继续浪费网络资源,然后等待一段随机时间后再次发
36、送。v考虑一个问题:CSMA/CD协议中发数据前已有载波监听,为什么还要发送过程中还需要碰撞检测?载波监听多点接入载波监听多点接入/碰撞检测碰撞检测 CSMA/CD62碰撞检测为何必需?碰撞检测为何必需?v当某个站监听到总线是空闲时,也可能总线并非真正是空闲的。v电磁波在总线上传播是需要时间的。1km的传播时延约为5us。vA 向 B 发出的信息,要经过一定的时间后才能传送到 B。vB 若在 A 发送的信息到达 B 之前发送自己的帧(因为这时 B 的载波监听检测不到 A 所发送的信息),则必然要在某个时间和 A 发送的帧发生碰撞。v碰撞的结果是两个帧都变得无用。631 kmABt碰撞t=2 A
37、 检测到发生碰撞 t=B 发送数据B 检测到发生碰撞 t=t=0单程端到端传播时延记为 传播时延对载波监听的影响 t=/2 641 kmABt碰撞t=B 检测到信道空闲发送数据t=/2发生碰撞t=2 A 检测到发生碰撞 t=B 发送数据B 检测到发生碰撞 t=ABABAB t=0 A 检测到信道空闲发送数据ABt=0t=B 检测到发生碰撞停止发送STOPt=2 A 检测到发生碰撞STOPAB单程端到端传播时延记为 65重要特性重要特性v使用 CSMA/CD 协议的以太网,一个站不可能同时接收和发送,不能进行全双工通信而只能进行双向交替通信(半双工通信)。v每个站在发送数据之后的一小段时间内,存
38、在着遭遇碰撞的可能性。该段时间(争用期)内,不能保证数据可以发送成功。称为发送的不确定性。v为降低发送的不确定性,需使整个以太网的平均通信量远小于以太网的最高数据率。664.争用期争用期v最先发送数据帧的站,在发送数据帧后至多经过时间 2(两倍的端到端往返时延)就可知道发送的数据帧是否遭受了碰撞。v以太网的端到端往返时延 2 称为争用期,或碰撞窗口。v经过争用期这段时间还没有检测到碰撞,才能肯定这次发送不会发生碰撞。67争用期的长度争用期的长度 v以太网取 51.2 s 为争用期的长度。v对于 10 Mb/s 以太网,在争用期内可发送512 bit,即 64 字节。有时将争用期长度称为512比
39、特时间。v以太网在发送数据时,若前 64 字节没有发生冲突,则后续的数据就不会发生冲突。v争用期内如果发生了碰撞,需要确定一下什么时间再次开始传送?685.截断二进制指数退避算法截断二进制指数退避算法(truncated binary exponential type)v为降低再次碰撞的概率,发生碰撞的站在停止发送数据后,要推迟(退避)一个随机时间才能再发送数据。并非信道一空闲就立即再发送。确定基本退避时间,一般是取为争用期 2。定义重传次数 k,k 10,即 k=Min重传次数,10从整数集合0,1,(2k 1)中随机地取出一个数,记为 r。重传所需的时延就是 r 倍的基本退避时间(2)。当
40、重传达 16 次仍不能成功时即丢弃该帧,并向高层报告。696.强化碰撞强化碰撞 v当发送数据的站一旦发现发生了碰撞时:立即停止发送数据;再继续发送若干比特的人为干扰信号(jamming signal),以便让所有用户都知道现在已经发生了碰撞。70数据帧干扰信号 TJ人为干扰信号人为干扰信号 ABTBt B 发送数据A 检测到冲突开始冲突信道占用时间A 发送数据B 也能够检测到冲突,并立即停止发送数据帧,接着就发送干扰信号。这里为了简单起见,只画出 A 发送干扰信号的情况。总线占用时间为总线占用时间为 Tb+Tj+71最短有效帧长最短有效帧长和帧间最小间隔和帧间最小间隔v10M/s的以太网在51
41、.2 s的争用期内,可发送64字节了。v如果发生冲突,就一定是在发送的前 64 字节之内。v由于一检测到冲突就立即中止发送,这时已经发送出去的数据一定小于 64 字节。v以太网规定最短有效帧长为 64 字节,凡长度小于 64 字节的帧都是由于冲突而异常中止的无效帧。72最短有效帧长和最短有效帧长和帧间最小间隔帧间最小间隔v为了能够使刚刚接收到数据帧的站的接收缓存来得及清理,以太网规定帧间最小间隔为9.6 s,即96比特时间。73CSMA/CD协议工作过程协议工作过程v1.适配器从网络层获得一个分组,加上首尾部,封装成帧,放入适配器缓存,准备发送。v2.若检测到信道空闲(即96比特时间内没有检测
42、到有信号),则发送该帧。若检测到忙,则继续检测并等待信道转为空闲,然后发送。v3.发送过程中继续检测信道,若没有碰撞则顺利完成。否则,中止,并发干扰信号。v4.碰撞后,执行截断指数退避算法,等待r倍512比特时间后,返回2。743.3使用广播信道的数据链路层使用广播信道的数据链路层 小结小结v局域网的数据链路层 共享通信信道的方法适配器的作用vCSMA/CD 协议总线如何实现一对一通讯以太网如何简化通讯过程如何协调总线上各计算机的工作 CSMA/CD争用期截断二进制指数退避算法强化碰撞CSMA/CD协议工作过程753.4 使用广播信道的以太网使用广播信道的以太网v3.4.1 使用集线器的星形拓
43、扑v3.4.2 以太网的信道利用率 v3.4.3 以太网的 MAC 层763.4.1 使用集线器的星形拓扑使用集线器的星形拓扑v1.集线器的历史v2.集线器的特点771.集线器的历史集线器的历史v传统以太网最初是使用粗同轴电缆,后来演进到使用比较便宜的细同轴电缆,最后发展为使用更便宜和更灵活的双绞线。v以太网开始采用星形拓扑,在星形的中心则增加了一种可靠性非常高的设备,叫做集线器(hub)(总是与双绞线配合使用)v图示 78使用集线器的双绞线以太网使用集线器的双绞线以太网 集线器两对双绞线站点RJ-45 插头不用电缆而使用无屏蔽双绞线。每个站需要用两对双绞线,分别用于发送和接收。集线器使用了大
44、规模集成电路芯片,硬件设备的可靠性已大大提高。79星形网星形网 10BASE-T里程碑里程碑v1990年,IEEE制定了星形以太网10BASE-T的标准802.3i。10-10Mb/s,BASE-连接线上为基带信号,T-双绞线。v10BASE-T 的通信距离稍短,每个站到集线器的距离不超过 100 m。v这种 10 Mb/s 速率的无屏蔽双绞线星形网的出现,既降低了成本,又提高了可靠性。v10BASE-T 双绞线以太网的出现,是局域网发展史上的一个非常重要的里程碑,它为以太网在局域网中的统治地位奠定了牢固的基础。802.集线器的特点集线器的特点v1.表面上看,局域网为星形网,实质上仍是一个总线
45、网,各工作站使用的还是 CSMA/CD 协议,并共享逻辑上的总线。集线器是使用电子器件来模拟实际电缆线的工作,因此整个系统仍然像一个传统的以太网那样运行。图示 v2.集线器很像一个多接口的转发器v3.集线器工作在物理层,只是简单的转发比特,不进行碰撞检测。v4.集线器内部有专门电路进行串音回波抵消,防止接口发出的强信号对收到的弱信号干扰。v5.工作可靠,具有一定的容错能力和网络管理功能。81具有三个接口的集线器具有三个接口的集线器 集线器网卡工作站网卡工作站网卡工作站双绞线823.4.2 以太网的信道利用率以太网的信道利用率v考虑一个问题:v10Mb/s的以太网10个站点在工作,能否认为每个站
46、的速度为总带宽的1/10?v否,存在碰撞,一旦碰撞就会浪费信道时间,总利用率不可能100%v分析碰撞对信道利用率的影响833.4.2 以太网的信道利用率以太网的信道利用率 两个数据:v争用期争用期长度为 2,即端到端传播时延的两倍。v帧的发送时间帧长为 L(bit),数据发送速率为 C(b/s),发送时间为 T0=L/C(s)。84以太网的信道利用率以太网的信道利用率 v发送一帧所需的平均时间:一个帧开始发送后,可能会发生碰撞,将重传数次,直到发送成功且信道转为空闲(即再经过时间 使得信道上无信号在传播)。发 送 成 功 争用期 争用期 争用期 2 2 2T0t占用期 发生碰撞 发送一帧所需的
47、平均时间要提高以太网的信道利用率,就必须减小 与 T0 之比。85参数参数 a v要提高以太网的信道利用率,就必须减小 与 T0 之比。在以太网中定义了参数 a,它是以太网单程端到端时延 与帧的发送时间 T0 之比:(3-2)a0 表示一发生碰撞就立即可以检测出来,并立即停止发送,因而信道利用率很高。a 越大,表明争用期所占的比例增大,每发生一次碰撞就浪费许多信道资源,使得信道利用率明显降低。86a对以太网参数的要求对以太网参数的要求v当数据率一定时,以太网的连线的长度不能太长,否则 的数值会太大。v以太网的帧长不能太短,否则 T0 的值会太小,使 a 值太大。(3-2)87v在理想化的情况下
48、,以太网上的各站发送数据都不会产生碰撞(这显然已经不是 CSMA/CD,而是需要使用一种特殊的调度方法),即总线一旦空闲就有某一个站立即发送数据。v发送一帧占用线路的时间是 T0+,而帧本身的发送时间是 T0。于是我们可计算出理想情况下的极限信道利用率 Smax为:v意义:只有参数远小于1时,才能得到尽可能高的极限信道利用率。信道利用率的理想最大值信道利用率的理想最大值 Smax(3-3)883.4.3 以太网的以太网的 MAC 层层v1.MAC 层的硬件地址 v2.MAC 帧的格式 891.MAC 层的硬件地址层的硬件地址vMAC地址 实质应该为“名字”还是“地址”vMAC地址标准vMAC地
49、址的管理vMAC地址的I/G、G/L位v过滤功能和帧的类型90MAC地址地址 实质实质“名字名字”or“地地址址”v在局域网中,硬件地址又称为物理地址,或 MAC 地址。vMAC地址-802标准规定的一种全球地址,指固化在适配器ROM中的地址。vSHOC78中定义:名字指出要找的资源,地址指出资源在何处,路由告诉如何到达该处。vMAC 地址无法指明“资源在何处”,实质上来讲应该是一个站的“名字”或标识符。v鉴于大家都早已习惯了将这种 48 位的“名字”称为“地址”,所以本书也采用这种习惯用法,尽管这种说法并不太严格。91MAC地址标准地址标准v2字节最初使用16位,最多65536个v6字节目前
50、都使用48位92MAC地址的管理地址的管理 48位位vIEEE 的注册管理机构 RA 负责向厂家分配地址字段的前三个字节(即高位 24 位)。v地址字段中的后三个字节(即低位 24 位)由厂家自行指派,称为扩展标识符,必须保证生产出的适配器没有重复地址。v一个地址块可以生成224个不同的地址。这种 48 位地址称为 MAC-48,它的通用名称是EUI-48。v“MAC地址”实际上就是适配器地址或适配器标识符EUI-48。93MAC地址的地址的I/G、G/L位位vI/G位:第一字节的最低位Individual/Group,指明地址为单个站地址还是组播地址IEEE只分配前三字节的中的23位vG/L