第四章-以太网数据链路层

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

肆以太网数据链路层P目标:了解数据链路层结构。熟悉各以太网帧格式,CSMA/CD(载波监听多路访问/冲突检测)机制,熟悉PAUSE帧格式,和流量控制原理了解半双工模式下以太网端口的工作方式。根据IEEE的定义,以太网的数据链路层又分为2个子层:逻辑链路控制子层(LLC)和媒体访问控制子层(MAC)。划分2个子层的原因是:数据链路层实际是与物理层直接相关的,针对不同的物理层需要有与之相配合的数据链路层,例如针对以太网、令牌环需要不同的数据链路层,而这是不符合分层原则的;于是通过划分LLC和MAC2个子层,尽量提高链路层的独立性,方便技术实现。其中MAC子层与物理层直接相关,以太网的MAC层和物理层都是在802.3中定义的,LLC子层则可以完全独立,在802.2中定义,可适用于以太网、令牌环、WLAN等各种标准。ͼ1以太网数据链路层MAC子层处理CSMA/CD算法、数据出错校验、成帧等;LLC子层定义了一些字段使上次协议能共享数据链路层。在实际使用中,LLC子层并非必需的。1以太网的帧格式有两种主要的以太网帧类型:由RFC894定义的传统以太网(EthernetII)和802.3定义的以太网;最常使用的封装格式是RFC894定义的格式。下图显示了两种不同形式的封装格式。图中每个方框下面的数字是它们的字节长度。EthernetII(RFC894)帧结构如下,该帧包含了5个域(前导码在此不作描应用层传输层网络层链路层物理层逻辑链路控制(LLC)子层MAC子层版权所有,侵权必究第2页,共13页述),它们分别是:目的MAC地址、源MAC地址、类型、净荷(PAD)、FCS、目的MAC地址源MAC地址类型净荷PADCSBytes66215004EthernetII(RFC894)帧结构1)目的MAC地址(DA)包含6个字节。DA标识了帧的目的地站点。DA可以是单播地址(单个目的地)或组播地址(组目的地)。2)源MAC地址(SA)包含6个字节。SA标识了发送帧的站。SA通常是单播地址(即,第1位是0)。3)类型域包含2个字节。类型域标识了在以太网上运行的客户端协议。使用类型域,单个以太网可以向上复用(upwardmultiplex)不同的高层协议(IP,IPX,AppleTalk,等等)。以太网控制器一般不去解释这个,但是使用它来确定所连接计算机上的目的进程。本来类型域的值由Xerox公司定义,但在1997年改由IEEE负责。例如08-00表示IP、81-37表示NetWare。5)数据域包含46~1500字节。数据域封装了通过以太网传输的高层协议信息。由于CSMA/CD算法的限制,以太网帧必须不能小于某个最小长度(46字节)。高层协议要保证这个域至少包含46字节。如果实际数据不足46个字节,则高层协议必须填充到46字节,填充数为PAD。数据域长度的上限是任意的,但已经被设置为1500字节(1500字节最大长度的真正原因是1979年(10Mb/s以太网正在设计之中)的内存成本以及低成本的LAN控制器的缓冲区要求)。6)帧效验序列(FCS)包含4个字节。FCS是从DA开始到数据域结束这部分的校验和。校验和的算法是32位的循环冗余校验法(CRC)。生成多项式是:G(x)=x31+x26+x23+x22+x16+x12+x11+x10+x8+x7+x5+x4+x2+x1+1FCS域的传送方法是:第1位是x31项的系数,而最后1位是x0项的系数。因此CRC的各个位传输了:x31,x30,...,x1,X0。802.3以太网帧(RFC1042)的结构与EthernetII的非常类似,如下图所版权所有,侵权必究第3页,共13页示。目的MAC地址源MAC地址长度LLCPADCSBytes66215004ͼ1802.3以太网帧(RFC1042)结构和RFC894相比,类型域被长度域取代。这2个字节在802.3中被用来指示数据域中有效数据的字节数。这两种格式也可以并存:如果该字段的值小于等于1500,则该帧为802.3帧,该字段表示帧长;如果大于1500,则该帧为EthernetII帧,该字段表示协议类型。不同于EthernetII,802.3的以太网帧没有协议类型的定义,不能自动识别上层协议,必须通过对LLC头的定义来识别。根据LLC的定义不同,802.3以太网帧又可以分为2种类型:802.2(SNAP)和802.2(SAP)。在802.2(SAP)中,引入了SAP(服务访问点)的概念,SAP可完成协议类型识别的功能,例如0Xe0表示NetWare:目的SAP源SAPCTRL数据Bytes111或2可变从802.2(SAP)的帧结构中我们可以看出,用于表示协议类型的SAP只有1个字节,因此许多常用的协议在802.2(SAP)中没有定义。因此IEEE在802.2(SAP)的基础上定义了802.2(SNAP),在SNAP帧中,SAP始终为AA,而CTRL始终为03。通过OUIID和类型域进行协议类型的识别,可以支持足够多的协议类型,例如0X080007809B表示AppleTalk。目的SAPAA源SAPAACTRL03OUIID类型数据Bytes66232可变实际上网络上的以太网应用大多数都采用EthernetII,很多网络设备甚至不能识别802.3封装的以太网帧。从EthernetII帧结构中我们可以看出,其中仅仅包括一个MAC子层,而没有LLC子层。所以我们说LLC子层并非必需的。1以太网的MAC地址以太网通过MAC地址唯一标识一个网元,MAC地址是一个是6字节(48比特)长。在LAN上,MAC地址被装在以太网帧种发送(上一节以太网帧格式中有介绍),一版权所有,侵权必究第4页,共13页台主机收到以太网帧后首先判断该帧的目的MAC地址是否自己,如果目的MAC地址等于本站源地址,该帧才被送上层软件进行处理,否则丢弃(广播和组播帧除外)。MAC地址的表达形式:XX-XX-XX-XX-XX-XX24bit组织标识由IEEE定义24bit设备标识由厂商指定ͼ1MAC地址格式MAC地址可以分为3种类型:单播MAC地址:这种类型的MAC地址唯一的标识了以太网上的一个终端,该地址为全球唯一的硬件地址;广播MAC地址:全1的MAC地址为广播地址(FF-FF-FF-FF-FF-FF),用来表示LAN上的所有终端设备;组播MAC地址:除广播地址外,第8bit为1的MAC地址为组播MAC地址(xxxxxxx1-xxxxxxxx-xxxxxxxx-xxxxxxxx-xxxxxxxx-xxxxxxx),用来代表LAN上的一组终端。目的地址:第1位=0(物理单播地址)=1(逻辑组播地址)源地址:第1位=0(必须为0)广播地址:0xFF-FF-FF-FF-FF-FF根据目的MAC地址的不同,以太网帧可以分为单播帧、广播帧和组播帧,网络设备对不同帧的处理是不同的。对于主机而言,如果收到一个单播帧,通常直接将该帧的目的MAC与自身的MAC地址比较,若相同则交网络层处理,否则丢弃;如果收到一个广播帧则直接交网络层处理;如果收到一个组播帧则判断本主机是否已经加入该组播组,若加入则交网络层处理,否则丢弃。位序:对地址而言,需要解决的一个问题是它们如何表示和传输,因为不同的机器存储比特和字节的方式不同。802.1委员会制定了一个地址书写的标准格式,即用连字符分隔的6个8位组,每个八位组用两个16进制表示,如:08-00-60-01-2C-4A。版权所有,侵权必究第5页,共13页字节发送的顺序可以有两种方式,即LittleEndian和BigEndian两种,小端(LittleEndian)形式各个字节按第一个到最后一个(即从左到右)的顺序发送,而每个字节采用小端位序传送。例如,08-00-60-01-2C-4A,将按以下顺序(从左向右读)串行地发送:000100000000000000000110100000000011010001010010在IEEE802.3整个标准中都采用这种约定。1CSMA/CD算法CSMA/CD(载波监听多路访问/冲突检测)的访问是竞争式的,只对半双工有意义。载波监听是指发送的站点先要监听线路,如果其它站点在发送,要等到线路空闲为止。冲突检测是指站点在发送时要监测媒体,从而知道是否有冲突发生。发送过程:载波侦听1.如果介质上有载波,推迟发送2.介质上正传送帧传送完后,等一定包间隔时间,开始发送冲突检测3.在发送过程中,介质上可能会发生冲突,发送者需检测冲突4.如果发现冲突,发送者需发送一段拥塞信息后,等待一段随机时间(退避),再重复1-4的过程接收过程:接收方收到没有发生冲突的帧后,进行合法性检测,并对目的地址进行匹配,如果为自己的MAC地址,方传递给更高层.CSMA/CD收发过程详细详细描述如下:CSMA/CD发送过程,按以下5个步骤来进行:1.传输前侦听各工作站不断地监视电缆段上的载波。“载波”是指电缆上的信号,通常由表明电缆正在使用的电压来识别。如果工作站没有侦听到载波,则它假定电缆空闲并开始传输。如果在工作站传输时电缆忙(载波升起),则其包将与已在电缆上的信息发生冲突。2.如果电缆忙则等待为了避免冲突,如果工作站侦听到电缆忙则必须等待。正确实现的接口卡如果版权所有,侵权必究第6页,共13页发现电缆忙将不会有意地传输。延迟时间是工作站试图重传前必须等到线路变成空闲的总时间。3.传输并检测冲突当介质被清(载波消失)后9.6微秒(us),工作站可以传输。帧向电缆系统的两个方向传输。如果同一段上的其它工作站同时传输一个包,则数据包在电缆上将产生冲突。在电缆上发生冲突的数据包现在仅仅是废数据片。因此,在传输过程中,工作站应该在电缆段上检测冲突。冲突由电缆上的信息来识别,当电缆上的信号大于或等于由两个或两个以上的收发器同时传输所产生的信号时,则认为冲突产生。如果冲突产生,而其它工作站没有发现冲突信息,则它们可能进行传输。这些工作站将产生另一次的冲突。为了避免这种情况,发生冲突的工作站用传输“干扰”来确保在电缆上的工作站能够感知到冲突,干扰信息是至少32位的传输信息,但它不能等于早先所传输报文的CRC值。产生冲突的工作站的传输计数器加1。4.如果冲突发生,重传前等待如果工作站在冲突后立即重传,则它第二次传输也将产生冲突。因此工作站在重传前必须随机地等待一段时间。为了选择何时去进行重传,工作站实现了一个算法,此算法提供了几个使工作站可以进行重传的时间,该算法被称为“退避算法”。工作站随机地选择一个他可以使用的时间,这降低了两个或更多个工作站同时重传的机会5.重传或夭折若工作站是在繁忙的电缆段上,即便其数据包没有在电缆段上与其它产生冲突,也可能不能进行传输。工作站在它必须夭折传输前最多可以有16次的传输。NetWareV3.X服务器在MONITOR实用程序中显示夭折服务器传输的次数,此值将在LAN驱动程序中的ExcessCollisionsCount中进行统计。若工作站重传并且没有表明数据包再次产生冲突则认为传输成功CSMA/CD如何接收1.浏览收到的数据报并且校验是否成为碎片。在Ethernet局域网上,电缆段上的所有工作站将浏览中电缆上传输的每一个包,并不考虑其地址是否是本地工作站,接收站检查数据包来保证它有合适的长度,而不是由冲突引起的碎片,包长度最小为64字节。2.检验目标地址。接收站在判明已不是碎片之后,下一步是校验包的目标地址,看它是否要在本版权所有,侵权必究第7页,共13页地处理。如果包的地址是本地工作站地址,或是“广播地址”,或是被认可的多站地址,工作站将校验包的完整性。3.如果目标是本地工作站,则校验数据包的完整性。在这一步,接收站已知道包不是碎片,并且地址是自身或认可的地址,但并不知道包是否具有正确的格式。在电缆段上畸变了的包,或传输站发出的格式不正确的包仍然可以被接收所接收。为了避免处理畸变了的包,接收站必须校验包的几个特性。第一个必须校验的特性是长度,如果帧的长度大于1518个字节。则认为此帧为超长帧。超长帧可能是由错误的L

1 / 13
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功