计算机网络原理与应用(第2版)
上QQ阅读APP看书,第一时间看更新

1.6 以太网

1.6.1 以太网的发展历程

1972年,刚从麻省理工学院毕业的Bob Metcaife来到Xerox Palo Alto Research Center(简称Xerox PARC,即施乐帕克研究中心的计算机实验室工作,并被Xerox雇用为该研究中心的网络专家,Bob Metcaife的第一项工作是把Xerox公司的Alto(阿尔托)计算机连到ARPANet上(ARPANet是现在流行的Internet的前身)。在访问ARPANet的过程中,他偶然发现了Abramson的关于Aloha系统(指世界上最早的无线电计算机通信网)的早期研究成果,在阅读了Abramson的有关Aloha论文后,Metcaife认识到,虽然Abramson已经做了大量的研究和假设,但通过优化后可以把Aloha系统的速率提高到100%。1972年年底,Metcaife和David Boggs设计了一套网络,把不同的Alto计算机连接起来,接着又把NOVA计算机连接到EARS激光打印机上。Metcaife把他的这一研究性工作命名为AltoAloha。1973年5月,世界上第一个个人计算机局域网AltoAloha投入运行,成为计算机网络研究史上的里程碑和奠基石,揭开了计算机网络研究的崭新一页。Metcaife将AltoAloha网络改名为以太网(Ethernet),其灵感来自于电磁辐射是可以通过发光的以太来传播的这一想法。

最初的以太网以2.94Mb/s的速度运行,运行速度慢的原因是以太网的接口定时采用Alto系统时钟,即每340ns才发送一个脉冲,导致传输率为2.94Mb/s,后来做了许多改进,以适应以太网的载波监听为特点的传输(载波监听即每个终端站在要传输自己的信息之前,先要探听网络上的动静)。经过一段时间的研究与发展,1976年,以太网已发展到连接100个用户节点,并在1000m长的粗缆上运行。Metcaife和Boggs于1976年6月发表了题为“以太网:局域网的分布型信息包交换”的著名论文,于1977年12月获得专利,经过长期研究,以太网终于正式诞生了。Xerox公司急于把这一成果迅速产品化并推向市场,因此,将以太网改名为Xerox Wire。后来在Intel公司、DEC公司和Xerox公司共同指定其网络标准时改名为“以太网”。

在制定标准的过程中,Xerox公司提供技术,DEC公司提供以太网硬件,Intel公司提供芯片,三方于1979年首次举行联席会议,1980年9月,公布了第三稿的“以太网,一种局域网的数据链路层和物理层规范1.0版”,这就是著名的以太网蓝皮书,也称DIX(DEC、Intel和Xerox的第一个字母)版以太网1.0规范,一开始规范规定在20MHz下运行,经过一段时间后降为10MHz,重新定义了DIX标准,并以1982年公布的以太网2.0版规范终结。后来经过两次很小的修改之后,DIX标准于1983年变成IEEE 802.3标准。

以太网在标准化之后继续发展,而且至今也还在发展。100Mb/s、1000Mb/s的以太网版本甚至更高的速率也相继出来了。电缆技术有了改进,交换技术和其他的特性也加入进来。

以太网之所以具有如此强大的生命力,最主要的理由可能是它的简单性和灵活性。在实践中,简单性带来了可靠、廉价以及易于维护等特性。另外,利用TCP/IP,以太网很容易互联,而且TCP/IP已经在实践中占了主导地位,IP是一个无连接的协议,所以它非常适合于以太网,因为以太网也是无连接的。IP不太适合于ATM,因为ATM是面向连接的。这种不一致性无疑削弱了ATM的发展机会。

最后,以太网已经在多个关键的方面取得了显著进展。从速率来看,以太网已经提升了几个数量级;从结构来看,集线器和交换机被引入进来。但是,这些变化并不要求软件也跟着发生变化。如果网络销售人员在一个大客户那里展示的时候这样说:“我为你们带来了一种新奇的网络。你们所需要做的事情是,丢弃所有的硬件,并且重写所有的软件”,那么,他就有问题了。FDDI和ATM在刚刚引入的时候,其速度都超过了以太网,但是这些网络与以太网不兼容,并且更加复杂,而且难以管理。最终,以太网赶上了它们的速度,所以它们不再具有优势,除了ATM已经渗透到电话系统的核心以外,其他几种网络技术都悄然退出计算机的舞台。

1.6.2 以太网标准系列

以太网最初采用总线结构,用无源介质(如同轴电缆)作为总线来传输信息,现在也采用星型结构。以太网费用低廉,便于安装,操作方便,因此得到不断发展和广泛应用,在其发展过程中形成了以下一些标准。

1.传统以太网

传统以太网是以前广泛应用的一类局域网络,其典型速率是10Mb/s。在其物理层定义了多种传输介质(粗同轴电缆、细同轴电缆、双绞线和光纤)和拓扑结构(总线型、星型和混合型),形成了一个10Mb/s以太网标准系列,即IEEE 802-3的10Base-5、10Base-2、10Base-T和10Base-F标准。

1)10Base-5网络

10Base-5是由粗缆构成的以太网的标准。IEEE 802.3协议开始时就是粗缆以太网的标准。10Base-5表示采用10Mb/s的基带(Baseband)传输,传输距离是100m的5倍,即10Base-5网络采用总线介质和基带传输,速率为10Mb/s,网段长度为100m的5倍,是标准的以太网。10Base-5网络采用50Ω的RG-8粗同轴电缆连接。该网络并不是将节点直接连到粗同轴电缆上,而是在粗同轴电缆上接一外部收发器,外部收发器上有一个附加装置接口(AUI),由一段称为收发器电缆的短电缆将外部收发器与插在计算机中的网卡连接起来,这就连接了节点机与粗电缆,从而形成网络。收发器电缆长度不得超过50m。

它的安装比细电缆复杂,但它能更好地抗电磁干扰,防止信号衰减。在每个网段的两端要用50Ω的终端匹配器进行端接,同时要有一端接地。图1.25所示为10Base-5网络的物理结构。

图1.25 10Base-5网络的物理结构

10Base-5网络所使用的硬件如下。

①带有AUI插座的以太网卡。它插在计算机的扩展槽中,使该计算机成为网络的一个节点,以便接入网络。

②0.4英寸/50Ω的粗同轴电缆。这是10Base-5网络定义的传输介质。

③外部收发器。两端连接粗同轴电缆,中间经AUI接口由收发器电缆连接网卡。

④收发器电缆。两头带有AUI接头,用于外部收发器与网卡之间的连接。

⑤50Ω的终端匹配器。电缆两端各接一个终端匹配器,用于阻止电缆上的信号散射。

10Base-5标准中规定的网络指标和参数如表1.3所示。

表1.3 几种以太网络的指标和参数

由于50Ω细同轴电缆和50Ω粗同轴电缆的电气特性是一致的,因此它们可混合连接在一个以太网上,这样可以弥补细同轴电缆传输距离短,而粗同轴电缆价格昂贵和安装不方便的缺陷。通常,粗同轴电缆用于干线,细同轴电缆用于支线网段。粗缆收发器接到干线电缆上,收发器的AUI接口接入一种叫作粗/细同轴电缆转换器的设备,细缆分支则通过粗/细同轴电缆转换器把计算机接入网络。

2)10Base-2网络

由于用粗同轴电缆组网有需要配置收发器、电缆柔软性不好、不便于结构化连接、成本高等缺点,基本上被后来出现的细同轴电缆所取代。10Base-2适合细同轴电缆以太网的标准,实际上它就是针对细同轴电缆以太网而修订的,是IEEE 802.3协议的一个补充协议。

10Base-2网络也采用总线结构。在这种网络中,各站通过RG-58型细同轴电缆连接成网络。同样,10Base-2表示采用10Mb/s的基带(Baseband)传输、传输距离是100m的2倍(实际是185m)的以太网。

根据10Base-2网络的总体规模,它可以分割为若干个网段,每个网段的两端要用50Ω的终端匹配器端接,同时要有一端接地。图1.26所示为10Base-2网络的物理结构。

图1.26 10Base-2网络的物理结构

10Base-2网络所使用的硬件如下。

①带有BNC插座的以太网卡(使用网卡内部收发器)。它插在计算机的扩展槽中,使该计算机成为网络的一个节点,以便连接入网。

②0.2英寸/50Ω的细同轴电缆。这是10Base-2网络定义的传输介质。

③BNC连接器。用于细同轴电缆与T形连接器的连接。

④50Ω的终端匹配器。电缆两端各接一个终端匹配器,用于阻止电缆上的信号散射。

⑤10Base-2标准中规定的网络指标和参数如表1.3所示。

3)10Base-T网络

1991年下半年,IEEE 802.3标准中又增加了一个新的网络类,即10Base-T,它是IEEE 802.3标准的扩充。这种网络不采用总线拓扑,而是采用星型拓扑。10Base-T网络也是采用基带传输,速率为10Mb/s,T表示使用双绞线作为传输介质。10Base-T技术的特点是使用已有的802.3MAC层,通过一个介质连接单元(MAU)与10Base-T物理介质相连接。典型的MAU设备有网卡和集线器(Hub)。常用的10Base-T物理介质是两对三类UTP,UTP电缆内含4对双绞线,收、发各用一对。连接器是符合ISO标准的RJ-45连接器,所允许的最大UTP电缆长度为100m,网络拓扑结构为星型,图1.27所示为10Base-T网络的物理连接。

图1.27 10Base-T网络的物理连接

与采用同轴电缆的以太网相比,10Base-T网络更适合在已布线的办公大楼中使用。因为在典型的办公大楼中,95%以上的办公室与配电室的距离不超过100m。同时,10Base-T网络采用的是与电话交换系统相同的星型结构,容易实现网络线与电话线的综合布线。这就使得10Base-T网络的安装和维护简单且费用低廉。此外,10Base-T采用了RJ-45连接器,使网络连接比较可靠。

10Base-T网络所使用的硬件如下。

①带有RJ-45插座的以太网卡。它插在计算机的扩展槽中,使该计算机成为网络的一个节点,以便连接入网。

②三类以上的UTP电缆(双绞线)。这是10Base-T网络定义的传输介质。

③RJ-45连接器。电缆两端各压接一个RJ-45连接器,一端连接网卡,另一端连接集线器。

④10Base-T集线器。10Base-T集线器是10Base-T网络技术的核心。

集线器(Hub)是一个具有中继器特性的有源多口转发器,其功能是接收从某一端口发送来的信号,进行重新整形再转发给其他的端口。集线器还具有故障隔离功能,当网络出现异常情况时,如某个网络分支发生故障,集线器就会自动阻塞相应的端口,删除特定的网络分支,使网络的其他分支不受影响,仍能正常地工作。集线器有8口、12口、16口和24口等多种类型。有些集线器除提供多个RJ-45端口外,还提供BNC插座和AUI插座,支持UTP、细同轴电缆和粗同轴电缆的混合连接。10Base-T标准中规定的网络指标和参数如表1.3所示。

4)10Base-F网络

10Base-F网络是指采用光纤介质和基带传输,速率为10Mb/s的以太网。10Base-F网络系统结构不同于由粗同轴电缆和细同轴电缆组成的以太网。因为光信号传输的特点是单方向,适合于端—端式通信,因此10Base-F以太网呈星型或放射型结构,如图1.28所示。其基本组成除计算机外,还有光纤集线器、网卡和光缆。光缆中至少有一对光纤(发送和接收各用一根光纤),一般采用62.5/125µm的多模光纤,接头为ST或SC。光缆具有传输速率高、网段距离远、抗外界干扰能力强等优于同轴电缆的性能,特别适于楼宇间远距离联网。10Base-F标准中规定的网络指标和参数见表1.3。

图1.28 10Base-F网络的物理结构

光纤的一端与光收发器连接,另一端与网卡连接。根据网卡的不同,光纤与网卡有两种连接方法:一种是把光纤直接通过ST或SC接头连接到可处理光信号的网卡(此类网卡是把光纤收发器内置于网卡中)上;另一种是通过外置光收发器连接,即光纤外收发器一端通过AUI接口连接电信号网卡,另一端通过ST或SC接头与光纤连接。采用光/电转换设备也可将粗、细电缆网段与光缆网段组合在一个网络中。

2.高速以太网

传统以太网10Mb/s的传输速率在多方面都限制了其应用。特别是进入20世纪90年代,随着多媒体信息技术的成熟和发展,对网络的传输速率和传输质量提出了更高的要求,10Mb/s网络所提供的网络带宽难以满足人们的需要。于是,国际上一些著名的大公司便联合起来研究和开发新的高速网络技术。相继开发并公布的高速以太网络技术有100Mb/s以太网、1000Mb/s以太网和10Gb/s以太网技术,IEEE 802委员会对这些技术分别进行了或正在进行着标准化工作。

1)100Mb/s以太网

具有代表性的100Mb/s的高速以太网络技术有两个,一个是由3Com、Intel、Sun和Bay Networks等公司开发的100Base-T技术;另一个是由HP、AT&T及IBM等公司开发的100Base-VG技术。前者在MAC(介质访问控制)子层仍采用CSMA/CD协议,而在物理层则提供100Mb/s的传输速率,是名副其实的快速以太网。而后者在MAC子层采用一种新的轮询带优先访问协议,但仍支持IEEE 802.3帧格式,也支持IEEE 802.5帧格式,在物理层也提供了100Mb/s的传输速率,可以把它看作是一种变形的快速以太网。

这两种技术难分伯仲,各具特色。IEEE不得不同时接纳这两种技术,100Base-T作为以太网IEEE 802.3标准的扩充条款,定为IEEE 802.3u标准;而100Base-VG被定义为IEEE 802.12标准。但100Base-VG与100Base-T间需协议转换,且价格较贵,因此,实际应用并不多。

100Base-T定义了3种物理层标准,即100Base-T4、100Base-TX和100Base-FX,分别支持不同的传输介质。100Base-T4是4对UTP电缆系统,支持三类、四类和五类UTP电缆。UTP电缆采用RJ-45连接器,在4对线中,3对线用于数据传输,一对线用于冲突检测。100Base-TX是两对UTP电缆系统,支持五类UTP和一类屏蔽双绞线(STP)电缆。其中,五类UTP电缆采用RJ-45连接器,而一类STP电缆采用9芯梯形连接器;100Base-FX是光纤传输系统,使用2芯62.5/125μm多模光纤,也可用2芯单模光纤,100Base-FX支持可选的全双工操作方式,特别适用于超长距离或易受电磁波干扰的环境。

100Base-T网络采用以集线器为中心的星型拓扑结构,并规定了计算机节点与集线器之间的最大电缆长度:100Base-T4和100Base-TX均为100m;100Base-FX为400m。并且100Base-T4、100Base-TX和100Base-FX可以通过一个集线器实现混合连接,集成到同一网络中。100Base-T和10Base-T在支持传输介质上的主要差别是,100Base-T不支持同轴电缆。

2)1000Mb/s以太网

千兆位(1000Mb/s)以太网也称为吉比特以太网(或10亿位以太网)。为了适应当前和今后网络应用对网络更大带宽的需求,3Com公司和其他一些主要生产厂商成立了千兆位以太网联盟,积极研制和开发1000Mb/s以太网。IEEE已将千兆位以太网标准作为IEEE 802.3家族中的新成员予以公布。

千兆位以太网标准分成两个部分,即IEEE 802.3z和IEEE 802.3ab。

(1)IEEE 802.3z定义的传输介质为光纤和宽带同轴电缆,链路操作模式为全双工操作。其中,光纤系统支持多模光纤和单模光纤。多模光纤的传输距离为500m,单模光纤的传输距离为2000m。宽带同轴电缆由短距离的铜介质构成,其传输距离为25m。

(2)IEEE 802.3ab定义的传输介质为五类UTP电缆,信息沿4对双绞线同时传输,传输距离为100m,链路操作模式为半双工操作。

千兆位以太网标准对MAC子层规范进行了重新定义,以维持适当的网络传输距离,但介质访问控制方法仍采用CSMA/CD协议,而且重新制定了物理层标准,使之能提供1000Mb/s的原始带宽。由于千兆位以太网仍采用CSMA/CD协议,能够提供从传统以太网向千兆位以太网升级的最佳途径,可最大限度地保护用户在网络硬件、软件、管理工具及培训等方面已有的投资,因此迎合了用户使用产品的惯性心理。千兆位以太网提供了一种高速主干网的解决方案,以改变交换机与交换机之间及交换机与服务器之间的传输带宽,是对现有主干网,如ATM、交换式快速以太网或FDDI等解决方案的有力补充,而不是取代它们。

100Mb/s以太网仅以2~3倍于10Mb/s以太网的价格将性能提高了10倍。同样,1000Mb/s以太网也将具有相同的性能价格比优势,即以2~3倍于100Mb/s以太网的价格将性能提高10倍。然而,千兆位以太网仍和其他以太网一样,没有提供对多媒体应用所需的服务质量的支持,这对于多媒体应用来说仍然是一种缺陷。

3)10Gb/s以太网

随着信息技术的快速发展,特别是Internet和多媒体技术的发展和应用,网络数据流量的迅速增加,使原有速率的局域网已难以满足要求。IEEE组织了一个由3Com、Cisco、Intel和Lucent等著名IT企业组成的联盟进行10Gb/s以太网技术的开发。在2000年年初,其高速研究组发布了10Gb/s以太网的IEEE 802.3ae规范。

(1)10Gb/s以太网概述。

10Gb/s以太网即万兆位以太网(或百亿位以太网),它并不只是将千兆位以太网的带宽扩展10倍,它的目标在于扩展以太网,使其能够超越LAN,以进入MAN和WAN。IEEE为10Gb/s以太网制定两个分离的物理层标准,一个是为LAN制定的,另一个是首次为WAN制定的。

LAN版本提供了恰好10Gb/s的速率,实际上是千兆位以太网的一个更快的版本。千兆位以太网与10Gb/s以太网的差异要比100Mb/s以太网与千兆位以太网的差异小得多。两者最重要的差异是,10Gb/s以太网不支持半双工方式,而每一帧必须在48~1518B之间,千兆位以太网则支持更长的帧结构,虽然这将更为有效,但发生冲突时会导致更大的数据丢失。

WAN版本与LAN版本不同。它在一个同步光纤网(SONet)链路上以OC-192的速率(9.58Gb/s)传输以太网帧。这种方法与现有的电信网络是兼容的,但它失去了许多以太网的优点,也限制了以太网链接的数量。

(2)10Gb/s以太网的应用。

10Gb/s以太网采用以光纤为传输介质、以交换机为中心的星型结构,可以为网络提供更大的可用带宽。

随着带宽技术的提高,每个新应用程序都将充分利用目前可用的带宽,而从另一方面看,新应用程序的使用必将导致需要更大的带宽。据推测,今后几年LAN/WAN在某些应用上可能需要10Gb/s或高于10Gb/s的速率。由于采用10/100/1000Mb/s接口的企业和校园主干网的增加,以及为在昂贵的光纤线路中能传输更多数据,10Gb/s以太网的发展和应用成为必然。

10Gb/s以太网的一类应用可能被作为主干网。如将其配置于核心LAN中,LAN管理员可使用10Gb/s以太网连接大量的服务器或到达以太网交换机的服务器。10Gb/s以太网也可用于连接企业网和校园网,这要取决于它们之间的距离以及LAN上使用的是单模光纤还是多模光纤;10Gb/s以太网也可被用于连接LAN各部门,如多个1000Mb/s以太网可通过一个单独的10Gb/s以太网连接,但需要通过1000Mb/s以太网交换器和网管中心之间的链路来完成。

10Gb/s以太网的另一类应用是经波分多路复用(WDM)提供WAN入口,可在WDM传输网络和中心POP(Point Of Presence,入网点)路由器间连接10Gb/s以太网,也可在中心和POP边缘路由器间或在同一POP内连接10Gb/s以太网。

1.6.3 以太网的原理和技术

每种网络结构都必须采用一种策略来控制设备对共享传输介质的访问。IEEE 802.3类型的网络采用的控制方法称为CSMA/CD(Carrier Sense Multiple Access/Collision Detect),即带有冲突检测的载波侦听多路访问法。

在采用CSMA/CD控制策略传送数据时,计算机节点首先监听网络信息,然后才允许在共享介质上传输数据。如果它没有检测到介质上的载波(其实是个电信号),说明没有设备占用介质,该节点就发送一个数据包。如果共享介质已被其他设备占用,则该节点就要等待一定的时间,然后再次监听共享介质。当数据发送出去后,该节点继续监听共享介质,以了解是否存在传输冲突。出现传输冲突将导致传输的数据出现错误。在重新发送数据之前,冲突中的每个节点必须退避,并等待一定的时间。

在采用CSMA/CD法接收数据时,每个节点也必须检测通过它的所有数据帧。如果数据帧中包含的目的地址不是该节点,便不接收数据。如果该节点接收到一个数据帧,而数据帧中所包含的目的地址正是该节点,那么该节点在接收数据包之前,首先检测该数据帧的完整性。当检查数据帧的完整性时,主要确认数据帧是否太长、是否正确或太短。在以太网中,如果信息帧的长度超过1518B,即被视为超长帧,因此不能加以处理。如果数据帧不超长,该节点便进行循环冗余检验(CRC),如果数据帧通过了循环冗余检验,则还要检测数据帧是否太短,将少于64B的帧看作帧碎片。如果帧通过了所有这些测试,就会被送往网络软件驱动程序做进一步处理。

采用CSMA/CD方法的网络在信息负荷量太大时无法保持正常运行,因为信息量太大,会使冲突的概率急剧升高,导致过多的帧重新发送,结果使网络性能下降。

1.帧结构

IEEE 802.3介质访问控制的协议规定的MAC帧结构如图1.29所示。

图1.29 MAC帧结构

①PA:前导码,长度为7个字节(56位),每个字节均为AAH,即10101010,它在定界符之前发送,目的是使物理收发信号电路在接收时能达到稳态同步。

②SD:帧开始定界符,它表示一个有效帧的开始。长度为一个字节,格式为ABH,即10101011。

③DA:目标地址,有48位和16位两种地址格式。

④SA:源地址,它和DA长度必须相同,但没有成组地址。

⑤L:数据字段长度,两个字节,表示LLC(逻辑链路控制)子层数据的8位组的数量。

⑥DATA:数据单元,长度由L字段给出,数据为LLC的PDU(协议数据单元)。

⑦PAD:帧填充,当DATA过短时,数据字段后的PAD字段填充8位的比特组,以满足最小帧长的要求。

⑧FCS:帧校验序列,采用32位CRC循环冗余校验。其值由所传送帧(从DA开始到PAD)的内容决定。

必须指出,地址信息在LLC和MAC帧中是不同的。为了把数据传送到所连接的站点用源地址和目的地址指出是MAC子层的功能,而源或目的访问点只需LLC子层知道就行了。为了对高层实体提供支持,在LLC子层的顶部有多个LLC服务访问点,而MAC子层仅向LLC实体提供单个服务访问点。

CSMA/CD主要包括载波侦听多路访问、冲突检测以及退避算法等方面的内容。

2.载波侦听多路访问

在共享介质的网络中,各计算机节点都通过共享介质发送自己的帧,其他节点都可从介质上接收这个帧。仅有一个节点发送时才可发送成功;当有两个或两个以上节点同时发送,共享介质上的信息是多个节点发送信息的混合,目标节点无法辨认,则发送失败。信息在共享介质上混合称为冲突。如果各节点随机地发送,冲突必然会发生。

载波侦听多路访问(CSMA)又称为“先听后说”,是减少冲突的主要技术。一个站点在发送前,首先监听共享介质上是否有其他站正在发送信息。如果介质空闲,该站就发送;如果介质忙则退避一段时间再尝试。

根据退避算法,载波侦听多路访问可以有3种类型,即非坚持型CSMA、1-坚持型CSMA和P坚持型CSMA。

①非坚持型CSMA的思想是:如果共享介质空闲就立即发送,如果介质忙则等待一随机时间再尝试。

②1-坚持型CSMA的思想是:如果介质空闲就立即发送,如果介质忙则继续侦听,直到介质空闲立即发送,如果有冲突(在规定的时间内未得到回复)则等待随机时间后再侦听。

③P坚持型CSMA的思想是:如果介质空闲则以概率P发送,而以概率1-P等待一段单位时间;如果介质忙则继续侦听,直到介质空闲后以概率P发送。

由于共享介质有一定的长度,一个站发送,另一个站检测到载波有一段延迟时间。检测到介质空闲,可能并非真正空闲,如果此时发送数据,则将导致冲突。

例如,在列车站A和列车站B之间只有一条单线铁路,没有其他的通信设施,两个站的距离很远(至少在人的视野以外),当A站向B站发出一列车时,B站并没有发现,如果B站此时也发出一列车,两列车就会相撞。另外,两个或两个以上站点同时发现介质空闲也有相当的概率。由于存在传播时延,所以即使利用载波侦听,发生冲突也是不可能完全避免的。

3.载波侦听多路访问/冲突检测

单纯CSMA算法不检测已发生的冲突,即使冲突已经发生也要将已破坏的帧发送完,显然,这将降低共享介质的利用率。对CSMA的一种改进方案称为载波侦听多路访问/冲突检测(CSMA/CD)。

冲突检测最基本的思想是站点一边将信息输送到共享介质上,一边从共享介质上接收信息,然后将发送出去的信息和接收的信息进行按位比较。如果两者一致,说明没有冲突;如果两者不一致,则说明发生了冲突。冲突检测是在发送的同时将接收信息进行比较,形象地称为“边说边听”。一旦检出冲突后,发送站点就停止发送已开始发送的帧,不必将报错的数据帧全部发完,并向总线发送一串阻塞信号,让总线上其他各站均能感知冲突已经发生。冲突检测可及早地释放共享介质,提高信道利用率。

假设在网络中相距最远的两个站分别是A站和B站。一个帧从A站出发到达B站,总共经历的时间称为传播时延。一个站发送一帧所用的时间(即开始发送帧头到发送帧尾结束之间的时间)称为传输时延。对于基带总线而言,传输时延(用于检测的时间)应等于任意两个站点之间最大的传输时延的两倍。如图1.30所示,设A、B两站分别位于总线两端,且传播时延为1m s,只有A站发送的传输时延为2s时,A站才有可能检测出冲突。

图1.30 冲突检测

当传播时延比传输时延要大许多时,或者说当帧过短时,可能出现发送站检测不出冲突的情况,因此,要求冲突检测时间不小于两倍传输时延,即要求帧的最短长度要大于冲突检测时间内能传送的位数。IEEE 802.3 MAC帧格式中的填充位,就是当发送的帧过短时,用填充的方法达到最小帧长的要求。

如果A、B两站的物理距离比较近,则会较早地检测出冲突。检出冲突则中止发送帧,这可能使得一个帧的开头部分已发出,接收端收到的是有头无尾的帧,这种帧称为冲突碎片。冲突碎片的长度可能小于最小帧长。这样的帧不必交高层软件处理,而直接由接收接口丢弃。

4.冲突退避算法

一旦发生冲突就要重发原来的数据帧。冲突过的帧重发时可能再次发生冲突,为了避免或减轻这种情况,经常采用错开各站的重发时间的方法。重发时间的控制问题就是冲突退避算法问题。为了降低再冲突的概率,需要等待一个随机时间,然后再次使用CSMA方法尝试传输。为保证这种退避维持稳定,常使用的计算重发时间间隔的算法是二进制指数退避算法(Binary Exponential Back off Algorithm)。它本质上是根据某一帧冲突的历史估计网上信息量而决定重发应等待的时间。按此算法,当发生冲突时,控制器延迟一个随机长度的间隔时间,是两倍于前次的等待时间。二进制指数退避算法的公式为

T=RA×2N

式中,T为本次冲突后等待重发的间隔时间;R为随机数;A为计时单位;N为冲突次数。

这个算法可以使未发生冲突或很少发生冲突的帧优先发送,而发生过多次冲突的帧发送成功的概率反而小。系统还设置一个最大重传次数,超过这个次数则不再重传,并报告出错。

1.6.4 全双工以太网的基本原理和特点

一般情况下,交换机端口和网卡都是以半双工的工作方式,数据MAC帧的发送和接收不是同时进行的。

全双工以太网是指交换机的端口和网卡都以全双工的工作方式,可以同时进行MAC帧的发送和接收,如图1.31所示。

图1.31 全双工以太网交换机

基于全双工交换器的以太网交换机的端口可以由用户自己设置,100Mb/s的端口如果设置成全双工方式,则相当于200Mb/s的端口速率。

需要注意的是,全双工通信只有在数据传输链路两端的节点设备(如交换机、网卡)都支持全双工时才有效。

全双工(Full Duplex, FD)是指在一个连接上同时进行数据的接收和发送。在广域网上的连接通常是全双工的,但以前局域网一直工作在半双工方式下。因为在总线方式下采用CSMA/CD协议,如果两台工作站同时发送就会产生碰撞,所以只能是半双工方式。在10Base-T的局域网中,虽然使用两对双绞线与集线器相连,一对用于发送,另一对用于接收,但根据10Base-T规定,在发送时必须在接收电缆上“监听”碰撞信号,而不能接收数据,所以也作为半双工方式工作,如图1.32所示。

图1.32 全双工与半双工工作方式

只有采用交换器连接网络时才能使用全双工通信,交换器的每个端口只连接一个站点,不会产生碰撞,也就不用在发送时用接收电缆监听碰撞信号。在网络结构和连线不变的情况下,以全双工的方式运行,使网络的速度提高了一倍。有些公司称能够支持20Mb/s或200Mb/s的网络传输,实际上就是10Mb/s和100Mb/s网络采用全双工交换局域网连接的变相说法。目前全双工方式在局域网接口卡和集线器中广泛使用。当然要发挥全双工的高效性能的关键是网络操作系统必须是多任务的,能够并行处理发送和接收,当一个客户机从服务器读取数据时,另一个客户机可以向服务器写数据。