收藏 分销(赏)

以太网技术与标准-20020404-C.doc

上传人:xrp****65 文档编号:7689068 上传时间:2025-01-12 格式:DOC 页数:64 大小:415.50KB 下载积分:10 金币
下载 相关 举报
以太网技术与标准-20020404-C.doc_第1页
第1页 / 共64页
以太网技术与标准-20020404-C.doc_第2页
第2页 / 共64页


点击查看更多>>
资源描述
资料编码 产品名称 宽带产品 使用对象 工程师/合作方工程师/用户 产品版本 所有版本 编写部门 固网宽带技术支持部 资料版本 V1.0 以太网标准与技术 拟 制: 辛庆祥 日 期: 2001-12-17 审 核: 陈锐 日 期: 2005-03-03 审 核: 日 期: 批 准: 任远 日 期: 2005-03-03 华 为 技 术 有 限 公 司 版权所有 侵权必究 华为机密,未经许可不得扩散 以太网标准与技术 文档密级:内部公开 修订记录 日期 修订版本 描述 作者 2001-12-17 V1.0 初稿完成 辛庆祥 2009-3-11 V1.0 修改关于1000BASE-SX波长描述错误 孟凡虎 目录 第1章 概述 1 1.1 以太网技术起源 1 1.2 以太网的设计目标 2 1.3 以太网基本技术及主要设备 3 1.3.1 半双工CSMA/CD 3 1.3.2 以太网的物理介质 3 1.3.3 全双工以太网和以太网交换机 4 1.3.4 自动协商 4 1.3.5 1000M以太网和10G以太网 5 1.4 以太网的应用 5 第2章 以太网物理层及相关设备 7 2.1 物理层系列标准 7 2.2 100BASE-TX物理层 8 2.3 自动协商 9 2.4 集线器 11 2.5 物理层总结 11 第3章 数据链路层 13 3.1 数据链路层特点 13 3.2 以太网链路层的分层结构 13 3.3 MAC子层 14 3.3.1 半双工MAC子层 14 3.3.2 全双工MAC子层 15 3.3.3 MAC地址和数据帧的收发 16 3.4 LLC子层 17 3.5 以太网数据链路层总结 19 第4章 以太网交换机 21 4.1 以太网交换机体系结构 21 4.2 以太网交换机工作过程 23 第5章 VLAN基本概念 25 5.1 VLAN的划分方式 25 5.1.1 基于端口的VLAN 25 5.1.2 基于MAC地址的VLAN 25 5.1.3 基于第三层协议的VLAN 26 5.1.4 基于组播组的VLAN 27 5.1.5 基于IP地址影射的VLAN 27 5.1.6 基于策略的VLAN 28 第6章 交换机间链路 29 6.1 Q帧格式 29 6.2 数据帧在不同类型端口之间的转发 30 6.3 VLAN在交换机上的配置 31 第7章 千兆以太网基本概念 33 7.1 8B10B编码 33 7.2 有序集 33 7.3 数据的封装 34 第8章 千兆以太网自动协商内容 36 8.1 双工模式 36 8.2 流量控制 36 8.3 运行速率 37 第9章 千兆以太网自动协商过程 38 9.1 功能编码 38 第10章 千兆以太网案例分析 40 第11章 二层组播基本概念 41 11.1 组播MAC地址 41 11.2 MAC层数据帧的接收 42 11.3 组播转发表 42 第12章 二层组播协议 44 12.1 IGMP协议 44 12.2 CGMP协议 46 12.3 GMRP协议 47 12.4 总结 48 第13章 生成树协议 49 13.1 广播风暴 49 13.2 生成树协议基本概念 50 13.2.1 根交换机 50 13.2.2 交换机标识和交换机优先级 50 13.2.3 端口成本和端口优先级 51 13.2.4 根端口 51 13.2.5 指定交换机和指定端口 51 13.3 生成树协议的运行过程 52 第14章 其他相关技术 55 14.1 以太网的QoS保证 55 14.2 DPT技术 56 关键词: 以太网 MAC VLAN 二层组播协议 生成树协议 摘 要: 本文介绍了以太网的起源和应用,详细阐述了以太网技术的概念和原理,并介绍了VLAN、二层组和生成树等基于以太网的相关协议。 缩略语清单: 略 参考资料清单: 略 华为机密,未经许可不得扩散 第1章 概述 自从1946年第一台数字计算机问世到现在,经历了半个多世纪的时间。在这半个世纪的里程中,计算机技术的发展大体经历了三个成熟的阶段:第一个阶段是大型机时代,典型的是运行UNIX操作系统的大型计算机,该机器带很多终端,每个用户占用一个终端,大型机采用分时的技术为每个终端轮流服务,在用户看来自己单独享用了一个完整的计算机,这种体系结构主要用于科研机构来进行大量的数学运算。第二个阶段是客户服务器阶段,也就是所谓的C/S结构。最有代表性的是NOVELL公司的NetWare操作系统,这个系统分为服务器和客户机两部分,服务器软件安装在一台性能比较高的服务器上,客户机软件则安装在工作中终端上(一般是基于DOS操作系统的PC机),这些服务器和客户机通过网络连接起来,达到文件和数据库共享的目的,后来的WINDOWS NT也是基于这样的体系结构,但是在软件上引入了一些分布式的处理体系。第三个阶段,也就是目前所处的阶段,是网络阶段。这个阶段的特点是,计算机之间的互连越来越复杂,不但互连的速度有很大提高(达到100M),而且在地理位置上也跨越了地域,通过高速专线把处于不同城市,甚至是不同国家的计算机网络连接起来。这样复杂的网络对网络设备提出了很高的要求。 从上面的分析可以看出,在第二和第三阶段中,必须有一种技术来把本地的许多计算机连接起来。这种技术就是所谓的局域网技术。到目前为止,存在许多种局域网技术,比如令牌环,令牌总线,以及IBM公司的SNA(系统网络结构),以太网等等。在这些技术当中,以太网技术以其简明,高效的特点逐渐战据了主导地位。 1.1 以太网技术起源 以太网技术起源于一个实验网络,该实验网络的目的是把几台个人计算机以3M的速率连接起来。由于该实验网络的成功建立和突出表现,引起了DEC,Intel,Xerox三家公司的注意,这三家公司借助该实验网络的经验,最终在1980年发布了第一个以太网协议标准建议书。该建议书的核心思想是在一个10M带宽的共享物理介质上,把最多1024个计算机和其他数字设备进行连接,当然,这些设备之间的距离不能太大(最大2.5公里)。 之后,以太网技术在1980年建议书的基础上逐渐成熟和完善,并逐渐占据了局域网的主导地位。 1.2 以太网的设计目标 开始的时候,以太网设计建议书提出了以太网设计的基本目标,即所谓的功能特性。在后来的应用中对这些目标进行了不断的补充和完善,最终形成了一个成熟的体系。主要包含以下几点: v 简明性这是以太网技术最大的特点,正是因为简明性为将来的统治地位奠定了基础; v 低成本成本不要太高,一般的单位能够有能力购买需要的部件来组建网络; v 兼容性不应该对网络层实现施加任何限制,即以太网的所有功能都在数据链路层实现; v 寻址灵活应该有一种机制来确定网络中的一台计算机,全部计算机或一组计算机; v 公平各个终端应该公平的享有带宽; v 高速当时来说,10M的速率已经是个天文数字了,所以把以太网的共享总线带宽设计为10M; v 分层结构数据链路层协议不应该随物理介质的不同而变化; v 全双工随着以太网技术的发展,共享介质技术(即半双工)已经逐渐不能满足需求,需要效率更高的全双工技术; v 差错控制该技术应该能够发现传输中的错误并进行纠正,如果不能纠正,则丢弃接收到的数据; v 速度灵活性不应该局限在10M的速率上,应该能适应不同的速率; v 优先级网络设备应该能对一些关键性的业务提供优先可靠的传输。 这些功能目标有的是必须实现的,比如简明,低成本,寻址灵活等,有的则根据需要实现,比如优先级等,但在今天的以太网设备中,这些可选的性能目标都已经实现。 1.3 以太网基本技术及主要设备 1.3.1 半双工CSMA/CD 根据以太网的最初设计目标,计算机和其他数字设备是通过一条共享的物理线路连接起来的。这样被连接的计算机和数字设备必须采用一种半双工的方式来访问该物理线路,而且还必须有一种冲突检测和避免的机制,来避免多个设备在同一时刻抢占线路的情况,这种机制就是所谓的CSMA/CD(带碰撞检测的载波监听多路访问)。 CSMA/CD的工作过程是这样的:终端设备不停的检测共享线路的状态,只有在空闲的时候才发送数据,如果线路不空闲则一直等待。这时候如果有另外一个设备同时也发送数据,这两个设备发送的数据必然产生碰撞,导致线路上的信号不稳定,终端设备检测到这种不稳定之后,马上停止发送自己的数据,然后再发送一连串干扰脉冲,然后等待一段时间之后再进行发送。 发送干扰脉冲的目的是为了通知其他设备,特别是跟自己在同一个时刻发送数据的设备,线路上已经产生了碰撞。检测到碰撞后等待的时间也是随机的,不过逐渐在增大。 1.3.2 以太网的物理介质 刚开始的时候,以太网是运行在同轴电缆上面的,通过复杂的连接器把计算机和终端连接到该电缆上,然后还必须经过一些相关的电信号处理,才能使用。这样的结构相对复杂,而且效率上不是很理想,只能适合于半双工通信(因为只有一条线路)。到了1990年,出现了基于双绞线介质的10BAST-T以太网,这是以太网历史上一次最重要的革命。 10BAST-T得以实施,主要归功于多端口中继器和结构化电话布线。多端口中继器就是目前所谓的HUB,终端设备通过双绞线连接到HUB上,利用HUB内部的一条共享总线进行互相通信。物理上这种结构是星形的,但实际上还是沿用了CSMA/CD的访问机制,因为HUB内部是通过一条内部总线把许多终端连接起来的。 10BAST-T以太网技术使用了四对双绞线来传输数据,一对双绞线用来发送,另外一对用来接收。之所以使用一对双绞线来分别进行收发,主要是电气特性上的考虑,发送数据的时候,在一条线路上发送通常的电信号,而在另外一条线路上发送跟通常电信号极性相反的信号,这样可以消除线路上的电磁干扰。 后来又出现了100M的以太网,即所谓的快速以太网。快速以太网在数据链路层上跟10M以太网没有区别,不过在物理层上提高了传输的速率,而且引入了更多的物理层介质,比如光纤,同轴电缆等。运行在两对双绞线上的100M以太网称为100BAST-TX,运行在光纤上的100M以太网则为100BASE-FX,还有运行在四对双绞线上的100BAST-T4等。所有这些物理介质都是沿用了CSMA/CD的访问方式,工作在半双工模式下。 1.3.3 全双工以太网和以太网交换机 把双绞线作为以太网的传输介质不但提高了灵活性和降低了成本,而且引入了一种高效的运行模式——全双工模式。所谓全双工,就是数据的发送和接收可以同时进行,互不干扰。传统的网络设备HUB是不支持全双工的,因为HUB的内部是一条总线,数据接收和发送都是在该总线上进行,没有办法进行全双工通信,因此,要实现全双工通信,必须引入一种新的设备,即现在的交换机。 交换机跟HUB的外观相同,都是一个多端口设备,每个端口可以连接终端设备和其他多端口设备。但在交换机内部就不是一条共享总线了,而是一个数字交叉网络,该数字交叉网络能把各个终端进行暂时的连接,互相独立的传输数据,而且交换机还为每个端口设置了缓冲区,可以暂时缓存终端发送过来的数据,等资源空闲之后再进行交换。正是交换机的出现,使以太网技术由原来的10M/100M共享结构转变为20M/200M独占带宽的结构,大大提高了效率,而且可以在交换机上施加一些软件策略,来实现附加的服务,比如VLAN(虚拟局域网),优先级,冗余链路等,这些技术增加了业务的丰富性,是以太网技术的灵魂所在,也是本文的重点内容。 1.3.4 自动协商 从上面的介绍可以看出,在实际中,以太网的运行有许多种组合,比如双工模式可以选择全双工和半双工,速率可以选择10M,100M,物理介质可以选择五类双绞线和三类双绞线等。这样丰富的如果对每个终端设备都进行手工配置,必然是一项繁杂而且不可维护的工作。于是,为了应付这样多种多样的运行模式,自动协商应运而生。 自动协商的主要功能就是使物理链路两端的设备自动通过交互信息,自动选择一种运行模式来运行。自动协商是建立在双绞线以太网的一种低层机制上的,它只对双绞线以太网有效。自动协商的内容主要包括双工模式,运行速率,流量控制等内容,一旦协商通过,链路两端的设备就锁定在这样一种运行模式下,直到重新引导设备或重新插拔电缆。 1.3.5 1000M以太网和10G以太网 随着计算机技术的不断发展,一些新兴的应用逐渐显现,比如大型的分布式数据库和高速的视频图象传输等。这些应用需要大量的带宽,传统的快速以太网(100M)已经不能满足要求,这时候迫切再次提高以太网的运行速度,提高到1000M是最直接的,即所谓的千兆以太网。 千兆以太网的数据链路层基本上沿用了传统的以太网的链路层(只在半双工运行模式下,与传统以太网的链路层稍微有不同),这样可以很好的保护了投资。但在物理层上做了改变(为了在物理介质上传送高达1000M的数据比特,千兆以太网沿用了光纤通道的技术),对目前来说,千兆以太网只能用光纤作为物理传输介质,但基于同轴电缆和五类双绞线的千兆以太网正在研制当中,估计不久的将来会投入使用。 千兆以太网技术现在已经完全成熟并大量投入使用,主要应用在数据网络的骨干位置,也应用于连接一些高端的数据库服务器。正在研究当中的10G以太网也已经初具雏形,到能够商用的地步还有一段时间,但可以预计,在不久的将来,1000M以太网和10G以太网将象现在的10M以太网和快速以太网一样普遍。 1.4 以太网的应用 以太网设计的初衷,就是把一些计算机联系起来进行文件共享和数据库记录的传输。到目前为止,在计算机互连这个领域,以太网仍然是最活跃的技术,但已经不再局限于这个领域,在其他一些领域,以太网也大显身手,表现不俗。下面是以太网的主要应用领域: v 计算机互连:这是以太网技术的主要目标,也是最成熟的应用范围。最开始的时候,许多计算机通过同轴电缆连接起来,互相访问共享的目录,或访问在同一个物理网段上的文件服务器,各个计算机(不论是服务器还是客户机)在网络上的地位相同。随着应用的发展,这种平等的结构逐渐不适应实际的需要,因为网络上的大部分流量都是客户机跟服务器之间的,这种流量模型必然在服务器上形成瓶径。当全双工以太网和以太网交换机引入以太网之后,这种情况有所改变,取代的是把服务器连接到以太网交换机的一个告诉端口(100M)上,把其他客户机连接到以太网交换机的低速端口上,这样就暂缓了瓶径的形成。现代的操作系统提供分布式服务和数据仓库服务,基于这些操作系统的服务器除了跟客户机通信之外,还要跟其他服务器交换大量的信息进行数据的同步,这样传统的100M快速以太网就不能满足要求了,于是1000M以太网应运而生。 v 高速网络设备之间互连:随着INTERNET的不断发展,一些传统的网络设备,比如路由器,之间的带宽已经不能满足要求,需要更高更有效率的互连技术来连接这些网络设备构成INTERNET的骨干,1000M以太网成了首选的技术。传统的100M也可以应用在这些场合,因为这些100M的快速以太网链路可以经过聚合,形成快速以太网通道,速度可以达到100M——1000M的范围。 v 城域网中用户接入的手段:用户通过以太网技术接入城域网,实现上网,文件下载,视频点播等业务,已经变得越来越流行。之所以用以太网作为城域网的接入手段,是因为现在的计算机都支持以太网卡,这样对用户来说,不用更改任何软件和硬件配置就可以正常上网。 可以看出,以太网技术已经覆盖了网络的方方面面,从骨干网到接入网,从计算机网络到工业应用,无处不见以太网的影子。 2006-04-05 华为机密,未经许可不得扩散 第58页, 共64页 第2章 以太网物理层及相关设备 根据ISO的OSI七层参考模型,物理层规定了两个设之间的物理接口,以及该接口的电气特性,规程特性,机械特性等内容,以太网的物理层也不外部这些内容,它主要的功能是提供一种物理层面的标准,各个厂家只要按照这个标准生产网络设备就可以进行互通。下面从介绍这些物理层标准开始,来分析一下以太网的物理层基础结构。 2.1 物理层系列标准 从以太网诞生到目前为止,成熟应用的以太网物理层标准主要有以下几种: v 10BASE2 v 10BASE5 v 10BASE-T v 100BASE-TX v 100BASE-T2 v 100BASE-T4 v 100BASE-FX v 1000BASE-SX v 1000BASE-LX v 1000BASE-CX v 1000BASE-TX 在这些标准中,前面的10,100,1000分别代表运行速率;中间的BASE指传输的信号是基带方式;后边的2,5分别代表最大距离,比如,5代表50米,2代表200米等;TX,T2,T4,FX,SX,LX,CX等应用于双绞线以太网和光纤以太网,含义如下: v 100BASE-TX:运行在两对五类双绞线上的快速以太网; v 100BASE-T4:运行在四对三类双绞线上的快速以太网; v 100BASE-T2:运行在2对三类双绞线上的快速以太网; v 100BASE-FX:运行在光纤上的快速以太网,光纤类型可以是单模也可以是多模; v 1000BASE-SX:运行在多模光纤上的1000M以太网,S指发出的光信号是短长波长的形式; v 1000BASE-LX:运行在单模光纤上的1000M以太网,L指发出的光信号是长波长的形式; v 1000BASE-CX:运行在同轴电缆上的1000M以太网。 在这些标准中,10BASE2,10BASE5是同轴电缆的物理标准,现在已经基本被淘汰,10BASE-T和100BASE-TX都是运行在五类双绞线上的以太网标准,所不同的是线路上信号的传输速率不同,10BASE-T只能以10M的速度工作,而100BASE-TX则以100M的速度工作,其他方面没有什么两样。100BASE-T2,100BASE-T4现在很少用,所以我们这里只选择比较有代表性的100BASE-TX进行叙述,其他的比如1000M以太网的技术在后边的章节中再进行讲述。 2.2 100BASE-TX物理层 100BASE-TX是运行在两对五类双绞线上的快速以太网物理层技术,它除了规定运行的介质是五类或更高类双绞线外,还规定了设备之间的接口以及电平信号等。该标准规定设备和链路之间的接口采用RJ-45水晶头,电瓶采用+5V和-5V交替的形式。RJ-45接口如下: 图2-1 五类双绞线的8跟线压入水晶头的8个线槽中,这样可以很容易的插入网络设备的网卡。 实际上,在进行数据的传输时仅仅用了五类双绞线的两对(四根)线,其中一对作为数据接收线,一对作为数据发送线,在进行数据接收和发送的时候,在一对线上传输极性相反的信号,这样可以避免互相干扰。需要注意的是,在连接两个相同的网络设备时(比如网卡),需要把线序进行交叉,因为线路两端的设备(比如网卡)的收发顺序是相同的,而两端设备要进行直接连接,其收发必须进行交叉,于是,必须在线路上进行交叉才能达到目的,如 图所示: 但在跟不同类型的网络设备互连,比如终端计算机跟HUB或以太网交换机连接时,却不需要这样,因为这些网络设备的接口上已经做了交叉,也就是说,这些设备的网络接口跟普通计算机的收发顺序是不一致的,因而只要把五类双绞线直接按照原来顺序压入水晶头,就可以把两端的设备正常连接。 跟传统的同轴电缆不同的是,100BAST-TX(10BASE-T)的数据发送和数据接收使用了不同的线对,做到了分离,这样就隐含着一种全新的运做方式:全双工方式。在这种方式下,数据可以同时接收和发送而互不干扰,这样可以大大提高效率,不过这需要中间设备的支持,现在的以太网交换机就是这样一种设备。 2.3 自动协商 在基于双绞线的以太网上,可以存在许多种不同的运做模式,在速度上有10M,100M不等,在双工模式上有全双工和半双工等,如果对每个接入网络的设备进行配置,则必然是一项很繁重的工作,而且不容易维护。于是,人们提出了自动协商技术来解决这种矛盾。需要注意的是,自动协商只运行在基于双绞线的以太网上,是一种物理层的概念。 自动协商建立在一种低层的以太网机制上。在双绞线链路上,如果没有数据传输,链路并不是一直在空闲,而是不断的互相发送一种频率相对较低的脉冲信号(称为普通链路脉冲,NLP)(如上图所示),任何具有双绞线接口的以太网卡都应该能识别这种信号。需要注意的是,如果在这些NLP之间在插入一些(一般是16个)更小的脉冲(这些脉冲称为快速链路脉冲,FLP),两端设备应该也能识别。于是,我们可以使用这些快速链路脉冲来进行少量的数据传输,来达到自动协商的目的。 在设备的网卡中有一个配置寄存器,该寄存器内部保留了该网卡能够支持的工作模式,比如该网卡可以支持100M和10M模式下运行,则把相应的寄存器内容置位。在网卡加电后,如果允许自动协商,则网卡就把自己的配置寄存器内容读出来,编码后通过FLP发送出去(如下图所示)。 发送的同时,可以接收对端发送挂过来的自动协商数据。接收到对方发送的自动协商数据后,跟自己的配置寄存器比较,选择自己支持的且一般情况下最优的组合投入运行。比如自己支持全双工模式和100M的速率,对端也支持该配置,则选择的运行模式就是100M全双工,如果对端只支持全双工模式和10M的能力,则运行模式就定为全双工10M模式。如果两端支持的能力集合不相交,则协商不通过,两端设备不能通信。 一旦协商通过,网卡就把该链路置为激活状态,可以传输数据了,如果不能协商通过,则该链路不能使用,不能再进行数据传输。如果两端的设备有一端不支持自动协商,则支持自动协商的一端选择选择一种默认的方式工作,一般情况下是10M半双工模式。 &注意: 1。如果链路两端的设备有一端不支持自动协商,则支持自动协商的设备选择一种默认的工作方式,比如10M半双工模式运行。这时可能影响了效率,因为不支持自动协商的设备可能支持100M全双工。这时,我们可以禁止自动协商,并手工指定两端设备的运行模式,以增强效率。 2.4 集线器 当用双绞线把终端设备进行互连时,需要一个中间设备来进行集中,这个设备就是集线器,所谓的HUB。HUB的外观就是一个多口的黑盒子,每个接口可以连接一个终端设备。这样多个设备(比如,12个等)可以通过HUB连接在一起,组成一个星形的网络。需要注意的是,网络在物理上是星形结构的,但在HUB内部还是使用了共享总线的技术,采用CSMA/CD技术进行交互。 HUB可以根据接口的特点进行区分,分为I类HUB和II类HUB。这两类HUB在内部工作模式上没有区别,但因为提供的接口不同而使用于不同的场合。I类HUB只提供一种类型的物理接口,比如只提供五类双绞线接口或只提供三类双绞线接口,或者只提供光纤接口等,而II类HUB则可以提供多种不同类型的接口,可以在一个II类HUB上集成五类双绞线接口和光纤接口等。实际中应用最多的是I类HUB。 传统的HUB都是运行在半双工模式下的,但有一些应用需要在全双工模式下运行,于是人们开发了一种运行在全双工模式下的HUB,即所谓全双工HUB。这种HUB的内部结构还是一条总线,各个终端共享这条总线进行数据交互,所不同的是,全双工HUB在每个接口上预增加了一个缓冲区,如果总线繁忙,终端发送的数据可以暂存在缓冲区里面,等总线空闲之后,再进行传输。连接在全双工HUB上的终端设备工作在全双工模式下。 2.5 物理层总结 到此为止,以太网物理层的一些基础概念已经介绍完毕,在上面介绍的概念中,主要有下面这些需要引起重视(概述中的一些概念也在这里提起): v 各种物理层标准:10BASE2,10BASE5,10BASE-T,100BASE-TX,100BASE-FX,100BASE-T2,100BASE-T4,1000BASE-CX,1000BASE-SX,1000BASE-LX,1000BASE-TX等物理层标准的含义,100BAST-TX(10BASE-T)的物理层结构,包括接口特性等; v 通过双绞线连接同类型的设备和不同类型的设备:在两种情况下的线序情况,以及为什么这样; v 自动协商:自动协商的基本概念,实现机理,协商内容等,以及支持自动协商和不支持自动协商设备之间的交互情况; v CSMA/CD访问方式:运行在半双工模式下的设备采用这种方式访问链路,解释这种访问方式的过程以及碰撞避免机制; v 全双工以太网:全双工以太网得以实现的基础,以及其优点等; v HUB:I类HUB和II类HUB的概念,全送工HUB的工作机理。 第3章 数据链路层 前面的部分讲述了物理层的一些基础概念,在这些概念的基础上,我们再来详细看一下数据链路层的概念。 3.1 数据链路层特点 按照ISO的OSI七层参考模型,互连的各个系统把各个网络功能分七个层次实现,各个层次之间相互独立,互不干扰。这样就可以实现最大限度的开放和灵活性,设备厂家只要按照层次之间的接口生产设备,就可以做到互通。因此,这个七层模型是高效权威的,而且目前大多数网络技术都是参照这个模型进行设计和开发的。 但在以太网体系结构中,七层模型中层次之间互相独立的规则就不适用了,因为开始的时候,以太网采用了一种共享介质的方式来进行数据通信,而不是传统的全双工通信,随着设备的发展,以太网中又引入了全双工模式的通信,在这样两种通信模式并存的情况下,在进行层次间的严格划分就不容易了。 在前面讲述的内容中曾经提到,针对不同的双工模式,提供不同的介质访问方法,在半双工模式下采用的是CSMA/CD的访问方式,而在全双工模式下则可以直接进行收发,不用预先判断链路的忙闲状态。这里需要注意的是,在以太网中,半双工和全双工是物理层的概念,而针对物理层的双工模式提供不同访问方式则是数据链路层的概念,这样就形成了以太网的一个重要特点:数据链路层和物理层是相关的。理解了这个概念,以后的学习中就相对明了了。 3.2 以太网链路层的分层结构 在上面的介绍中知道,以太网的物理层和数据链路层是相关的,针对物理层的不同工作模式(全双工和半双工),需要提供特定的数据链路层来访问。这样导致了数据链路层和物理层有很大的相关性,给设计和应用带来了一些不便。 为了避免这种不便,一些组织和厂家提出了另外一种方式,就是把数据链路层再进行分层,分为逻辑链路控制子层(LLC)和媒体访问控制子层(MAC)。这样不同的物理层对应不同的MAC子层,LLC子层则可以完全独立。这样从一定程度上提高了独立性,方便了实现。下面的图示显示了这样的结构: 面对MAC子层和LLC子层做一个详细的解释。 3.3 MAC子层 MAC子层是物理层相关的,也就是说,不同的物理层有不同的MAC子层来进行访问,比如物理层是工作在半双工模式的双绞线,则相应的MAC子层为半双工MAC,如果物理层是令牌环,则有令牌环MAC来进行访问。在以太网中,主要存在两种MAC:半双工MAC和全双工MAC,分别针对物理层运行模式是半双工和全双工时提供访问。需要注意的,这两种MAC都是集成在网卡中的,网卡初始化的时候一般进行自动协商,根据自动协商的结果决定运行模式,然后根据运行模式选择相应的访问MAC。 3.3.1 半双工MAC子层 当物理层运行在半双工模式下时,数据链路层使用半双工MAC进行访问。半双工MAC跟物理层之间至少存在六种信号进行通信,如下图所示: 具体工作过程是这样的:当链路层有数据要发送的时候,首先检查链路空闲信号(物理层通过该信号来报告给数据链路层链路是否空闲),如果链路空闲,则通过指示信号给物理层一个指示,告诉物理层要发送数据,然后把数据一个字节一个字节的送到数据线上(数据线是一组8位的信号线)。这时候如果物理层检测到了冲突(即有另外一个终端同时发送数据),则通过冲突检测指示信号给MAC子层一个指示,告诉MAC子层线路上发生了碰撞。这时候,MAC子层马上停止数据的发送,并发送一连串干扰信号,达到让网络上所有的设备都知道产生冲突的目的。等待一段时间后,MAC层再次检查链路空闲信号,进行数据发送。 如果物理层接收到了数据,则通过数据接收指示来告诉MAC子层自己接收到了数据,然后把数据放到接收数据线上(跟发送数据线一样,也是8位组信号线),传给MAC子层。 从上面的分析中,可以看出这六种信号是: v 数据发送线,一个8位组信号线; v 数据接收线,一个8位组信号线; v 链路空闲信号:一个指示位,指示链路是否空闲; v 冲突检测信号:一个指示位,物理层使用该信号向MAC子层报告冲突发生; v 发送数据指示:MAC子层要传输数据时通过该信号告诉物理层; v 接收数据指示:物理层接收到数据后通过该信号告诉MAC子层。 &提示: MAC子层一般是在一块ASIC芯片上实现,该ASIC芯片通过引脚跟物理层 连接,每个引脚为一个信号线,这些信号线组成了一些功能信号,上面提到 的这六种信号就是功能信号中的一部分。 3.3.2 全双工MAC子层 全双工MAC子层相对半双工MAC子层简单,因为它不需要检测链路的空闲与忙的状态,所以就去除了上面的链路空闲信号和冲突检测信号。其工作过程如下: 当MAC子层有数据要发送的时候,通过数据发送指示告诉物理层,然后把数据一个字节一个字节的通过数据发送线发送出去。如果物理层检测到了数据到达,则通过接收指示信号告诉链路层,自己接收到了数据,然后通过接收数据线把数据传到MAC子层。 &提示: 数据链路层跟物理层之间交换数据的时候(不是控制信号),是按字节 进行的,这从接收数据和发送数据的信号线根数可以看出来。 3.3.3 MAC地址和数据帧的收发 除了完成物理链路的访问以外,MAC子层还负责完成下列任务: v 链路级的站点标识:在数据链路层识别网络上的各个站点。也就是说,在该层次保留了一个站点地址(就是所谓的MAC地址),来标识网络上的唯一一个站点; v 链路级的数据传输:从上层(LLC子层)接收数据,附加上MAC地址和控制信息后把数据发送到物理链路上;在这个过程中搀杂了校验等功能。 为了进行站点标识,在MAC子层保留了一个唯一的站点MAC地址,来区分该站点。MAC地址是一个48比特的数字,分为下面几种类别: v 物理MAC地址:这种类型的MAC地址唯一的标识了以太网上的一个终端(比如网卡等),实际上这样的地址是固化在硬件里面的; v 广播MAC地址:这是一个通用的MAC地址,用来表示网络上的所有终端设备; v 组播MAC地址:这是一个逻辑的MAC地址,来代表网络上的一组终端。它的特点是最左边一个字节的第一比特为1。 上层要发送数据的时候,把数据提交给MAC子层,MAC子层有自己的缓冲区,把上层提交给自己的数据进行缓存,然后增加上目的MAC地址和自己的MAC地址(源MAC地址),计算出数据帧的长度,形成下列格式的数据包: 在这个图中,DMAC代表目的终端的MAC地址,SMAC代表源MAC地址,而LENGTH/TYPE字段则根据值的不同有不同的含义:当LENGHT/TYPE > 1500时,代表该数据帧的类型(比如上层协议类型),当LENGTH/TYPE < 1500时,代表该数据帧的长度。DATA/PAD则是具体的数据,因为以太网数据帧的最小长度必须大于64字节(根据半双工模式下最大距离计算获得的),所以如果数据长度加上帧头不足64字节,需要在数据部分增加填充内容。FCS则是帧校验字段,来判断该数据帧是否出错。 上面介绍了数据的发送过程,下面说一下数据接收过程: 在计算机的网卡中维护一张接收地址列表,每当计算机网卡接收到一个数据帧之后,就把数据帧的目的MAC地址提取出来,跟列表中的条目进行比较,只要有一项匹配,则接收该数据帧,若无任何匹配的项目,则丢弃该数据帧。在这张接收地址列表中至少有下面两项: 1. 计算机网卡的MAC地址:该地址固化在网卡的ROM里面; 2. 广播MAC地址:该地址代表网络上的所有主机。 如果上层应用程序加入一个组播组,则该应用程序会通知网络层,然后网络层通知数据链路层,数据链路层根据应用程序加入的组播组形成一个组播MAC地址,并把该组播MAC地址加入接收地址列表,这样当有针对该组的数据帧的时候,MAC子层就接收该数据帧并向上层发送。这个组播过程在以后会详细讲解。 3.4 LLC子层 在上面的介绍中提到了MAC子层形成的一个帧结构,其中有一个字段是LENGTH/TYPE。这个字段的长度是2字节,根据取值的范围有不同的含义,在小于或等于1500的情况下,该值代表数据帧数据部分的长度,但当大于1500的时候,则代表该帧的数据部分的类型,比如该数据帧是哪个上层协议(比如IP,IPX,DECNet,NETBEUI等)的数据单元等。 当LENGTH/TYPE取值大于1500的时候,MAC子层可以根据LENGTY/TYPE的值直接把数据帧提交给上层协议,这时候就没有必要实现LLC子层。这种结构便是目前比较流行的ETHERNET_II,大部分计算机都支持这种结构。注意,这种结构下数据链路层可以不实现LLC子层,而仅仅包含一个MAC子层。 根据LENGTH/TYPE字段的取值,来把接收到的数据帧提交给上层协议模块,是这样进行的:每个上层协议都提供了一个回调函数,这个回调函数在数据链路层是可见的而且可以调用的,这样当数据链路层接收到一个数据帧之后,根据数据帧里的LENGTH/TYPE字段的取值来判断相应的协议模块,然后调用相应协议的回调函数(把数据帧的数据部分作为参数),该回调函数执行的结果就是把数据帧的数据部分挂到上层协议的接收队列中,然后给上层协议发送一个消息,告诉上层协议有一个数据包到来,然后返回,其他的事情就有上层协议来做了。 上面介绍的都是ETHERNET_II的内容,就是当LENGTH/TYPE字段大于1500的时候的情况。现在来讨论一下当LENGTH/TYPE小于或等于1500的情况,这种类型就是所谓的ETHERNET_SNAP,是802.3委员会制定的标准,虽然目前应用不是很广泛,但是作为一种很有特色的标准,将来必会大行其道。 ETHERNET_SNAP除了定义传统的链路层服务之外,还增加了一些其他有用的特性,比如定义了下面三种类型的点到点传输服务: v 无连接的数据包传输服务:目前的以太网实现就是这种服务; v 面向连接的可靠的数据传输服务:预先建立连接再传输数据,数据在传输过程中可靠性得到保证; v 无连接的带确认的数据传输服务:该类型的数据传输服务不需要建立连接,但它在数据的传输中增加了确认机制,使可靠性大大增加。 这些服务都是在LLC子层中实现的,下面是LLC子层的帧格式: 可以看出,该数据帧的结构在MAC子层上是保持统一的,但MAC子层数据帧的LENGTH/TYPE字段现在已经完全成了LENGTH,指示MAC数据帧数据部分的长度,然后在数据部分增加了一个LLC头,这个头由DSAP(目的服务访问点),SSAP(源服务访问点)和控制字段组成。上面讲述的三种服务就是通过这三个字段完成的。下面通过一个例子来说明SSAP和DSAP的应用,假设终端系统A和终端系统B要使用面向连接的可靠的数据传输服务来进行一次数据传输,这时候会发生
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服