以太网(Ethernet)是一种计算机局域网组网技术。IEEE制定的IEEE 802.3标准给出了以太网的技术标准。它规定了包括物理层的连线、电信号和介质访问层协议的内容。以太网是当前应用最普遍的局域网技术。它很大程度上取代了其他局域网标准,如令牌环网、FDDI和ARCNET。以太网的标准拓扑结构为总线型拓扑,但目前的快速以太网(100BASE-T、1000BASE-T标准)为了最大程度的减少冲突,最大程度的提高网络速度和使用效率,使用交换机(Switch)来进行网络连接和组织,这样,以太网的拓扑结构就成了星型,但在逻辑上,以太网仍然使用总线型拓扑和CSMA/CD(Carrier Sense Multiple Access/Collision Detect 即带冲突检测的载波监听多路访问) 的总线争用技术。
一、历史
以太网技术的最初进展来自于施乐帕洛阿尔托研究中心(Xerox PARC)的许多先锋技术项目中的一个。人们通常认为以太网发明于1973年,当年罗伯特·梅特卡夫(Robert Metcalfe)给他PARC的老板写了一篇有关以太网潜力的备忘录。但是梅特卡夫本人认为以太网是之后几年才出现的。在1976年,梅特卡夫和他的助手David Boggs发表了一篇名为《以太网:局域计算机网络的分布式包交换技术》的文章。
1979年,梅特卡夫为了开发个人电脑和局域网(LANs)离开了施乐,成立了3Com公司。3Com对DEC、 Intel和施乐进行游说,希望与他们一起将以太网标准化、规范化。这个通用的以太网标准于1980年9月30日出台。当时业界有两个流行的非公有网络标准令牌环网(token ring)和ARCNET,在以太网大潮的冲击下他们很快萎缩并取代。而在此过程中,3Com也成了一个国际化的大公司。
梅特卡夫曾经开玩笑说,Jerry Saltzer为3Com的成功作出了贡献。Saltzer在一篇与他人合著的很有影响力的论文中指出,在理论上令牌环网要比以太网优越。受到此结论的影响,很多电脑厂商或犹豫不决或决定不把以太网接口做为机器的标准配置,这样3Com才有机会从销售以太网网卡大赚。这种情况也导致了另一种说法“以太网不适合在理论中研究,只适合在实际中应用”。也许只是句玩笑话,但这说明了这样一个技术观点:通常情况下,网络中实际的数据流特性与人们在局域网普及之前的估计不同,而正是因为以太网简单的结构才使局域网得以普及。梅特卡夫和Saltzer曾经在麻省理工学院MAC项目( Project MAC )的同一层楼里工作,当时他正在做自己的哈佛大学毕业论文,在此期间奠定了以太网技术的理论基础。
二、概述
20世纪90年代的以太网网卡或叫NIC(以太网适配器)。这张卡可以支持基于同轴电缆的10BASE2(BNC连接器,左)和基于双绞线的10BASE-T(RJ-45,右)。以太网基于网络上无线电系统多个节点发送信息的想法实现,每个节点必须取得电缆或者信道的才能传送信息,有时也叫作以太。这个名字来源于19世纪的物理学家假设的电磁辐射媒——光以太。后来的研究证明光以太不存在。每一个节点有全球唯一的48位地址也就是制造商分配给网卡的MAC地址,以保证以太网上所有系统能互相鉴别。由于以太网十分普遍,许多制造商把以太网卡直接集成进计算机主板。
已经发现以太网通讯具有自相似性的特点,这对于电信通讯工程十分重要。
(一)CSMA/CD共享介质以太网
带冲突检测的载波侦听多路访问 (CSMA/CD)技术规定了多台电脑共享一个信道的方法。这项技术最早出现在20世纪60年代由夏威夷大学开发的ALOHAnet,它使用无线电波为载体。这个方法要比令牌环网或者主控制网要简单。当某台电脑要发送信息时,必须遵守以下规则:
开始,如果线路空闲,则启动传输,否则转到第4步
发送,如果检测到冲突,继续发送数据直到达到最小报文时间(保证所有其他转发器和终端检测到冲突),再转到第4步。
成功传输,向更高层的网络协议报告发送成功,退出传输模式。
线路忙,等待,直到线路空闲。
线路进入空闲状态,等待一个随机的时间,转到第1步,除非超过最大尝试次数。
超过最大尝试传输次数,向更高层的网络协议报告发送失败,退出传输模式。
就像在没有主持人的座谈会中,所有的参加者都通过一个共同的媒介(空气)来相互交谈。每个参加者在讲话前,都礼貌地等待别人把话讲完。如果两个客人同时开始讲话,那么他们都停下来,分别随机等待一段时间再开始讲话。这时,如果两个参加者等待的时间不同,冲突就不会出现。如果传输失败超过一次,将采用退避指数增长时间的方法(退避的时间通过截断二进制指数退避算法(truncated binary exponential backoff)来实现)。
最初的以太网是采用同轴电缆来连接各个设备的。电脑通过一个叫做附加单元接口(Attachment Unit Interface,AUI)的收发器连接到电缆上。一根简单网线对于一个小型网络来说还是很可靠的,对于大型网络来说,某处线路的故障或某个连接器的故障,都会造成以太网某个或多个网段的不稳定。
因为所有的通信信号都在共享线路上传输,即使信息只是发给其中的一个终端(destination),某台电脑发送的消息都将被所有其他电脑接收。在正常情况下,网络接口卡会滤掉不是发送给自己的信息,接收目标地址是自己的信息时才会向CPU发出中断请求,除非网卡处于混杂模式(Promiscuous mode)。这种“一个说,大家听”的特质是共享介质以太网在安全上的弱点,因为以太网上的一个节点可以选择是否监听线路上传输的所有信息。共享电缆也意味着共享带宽,所以在某些情况下以太网的速度可能会非常慢,比如电源故障之后,当所有的网络终端都重新启动时。
(二)以太网中继器和集线器
在以太网技术的发展中以太网集线器(Ethernet Hub)的出现使得网络更加可靠,接线更加方便。
因为信号的衰减和延时,根据不同的介质以太网段有距离限制。例如,10BASE5同轴电缆最长距离500 米(1640英尺)。最大距离可以通过以太网中继器实现,中继器可以把电缆中的信号放大再传送到下一段。中继器最多连接5个网段,但是只能有3个有设备。这可以减轻因为电缆断裂造成的问题:当一段同轴电缆断开,所有这个段上的设备就无法通讯,中继器可以保证其他网段正常工作。
类似于其他的高速总线,以太网网段必须在两头以电阻器作为终端。对于同轴电缆,电缆两头的终端必须接上被称作“终结者”的50欧姆的电阻和散热器。如果不这么做,就会发生类似电缆断掉的情况:总线上的AC信号当到达终端时将被反射,而不能消散。被反射的信号将被认为是冲突,从而使通信无法继续。中继器可以将连在其上的两个网段进行电气隔离,增强和同步信号。大多数中继器都有被称作“自动隔离”的功能,可以把有太多冲突或是冲突持续时间太长的网段隔离开来,这样其他的网段不会受到损坏部分的影响。中继器在检测到冲突消失后可以恢复网段的连接。
随着应用的拓展,人们逐渐发现星型的网络拓扑结构最为有效,于是设备厂商们开始研制有多个端口的中继器。多端口中继器就是众所周知的集线器(Hub)。集线器可以连接到其他的集线器或者同轴网络。
第一个集线器被认为是“多端口收发器”或者叫做“fanouts”。最著名的例子是DEC的DELNI,它可以使许多台具有AUI连接器的主机共享一个收发器。集线器也导致了不使用同轴电缆的小型独立以太网网段的出现。
像DEC和SynOptics这样的网络设备制造商曾经出售过用于连接许多10BASE-2细同轴线网段的集线器。
非屏蔽双绞线(unshielded twisted-pair cables,UTP)最先应用在星型局域网中,之后在10BASE-T中也得到应用,并最终代替了同轴电缆成为以太网的标准。这项改进之后,RJ45电话接口代替了AUI成为电脑和集线器的标准界口,非屏蔽3类双绞线/5类双绞线成为标准载体。集线器的应用使某条电缆或某个设备的故障不会影响到整个网络,提高了以太网的可靠性。双绞线以太网把每一个网段点对点地连起来,这样终端就可以做成一个标准的硬件,解决了以太网的终端问题。
采用集线器组网的以太网尽管在物理上是星型结构,但在逻辑上仍然是总线型的,半双工的通信方式采用CSMA/CD的冲突检测方法,集线器对于减少数据包冲突的作用很小。每一个数据包都被发送到集线器的每一个端口,所以带宽和安全问题仍没有解决。集线器的总吞吐量受到单个连接速度的限制(10或100 Mbit/s),这还是考虑在前同步码、帧间隔、头部、尾部和打包上花销最少的情况。当网络负载过重时,冲突也常常会降低总吞吐量。最坏的情况是,当许多用长电缆组网的主机传送很多非常短的帧时,网络的负载仅达到50%就会因为冲突而降低集线器的吞吐量。为了在冲突严重降低吞吐量之前尽量提高网络的负载,通常会进行一些设置工作。
(三)桥接和交换
尽管中继器在某些方面隔离了以太网网段,电缆断线的故障不会影响到整个网络,但它向所有的以及网设备转发所有的数据。这严重限制了同一个以太网网络上可以相互通信的机器数量。为了减轻这个问题,桥接方法被采用,在工工作在物理层的中继器之基础上,桥接工作在数据链路层。通过网桥时,只有格式完整的数据包才能从一个网段进入另一个网段;冲突和数据包错误则都被隔离。通过记录分析网络上设备的MAC地址,网桥可以判断它们都在什么位置,这样它就不会向非目标设备所在的网段传递数据包。像生成树协议这样的控制机制可以协调多个交换机共同工作。
早期的网桥要检测每一个数据包,这样,特别是同时处理多个端口的时候,数据转发相对Hub(中继器)来说要慢。1989年网络公司Kalpana发明了EtherSwitch,第一台以太网交换机。以太网交换机把桥接功能用硬件实现,这样就能保证转发数据速率达到线速。
大多数现代以太网用以太网交换机代替Hub。尽管布线同Hub以太网是一样的,但是交换式以太网比共享介质以太网有很多明显的优势,例如更大的带宽和更好的结局隔离异常设备。交换网络典型的使用星型拓扑,尽管设备工作在半双工模式是仍然是共享介质的多结点网。10BASE-T和以后的标准是全双工以太网,不再是共享介质系统。
交换机加电后,首先也像Hub那样工作,转发所有数据到所有端口。接下来,当它学习到每个端口的地址以后,他就只把非广播数据发送给特定的目的端口。这样,线速以太网交换就可以在任何端口对之间实现,所有端口对之间的通讯互不干扰。
因为数据包一般只是发送到他的目的端口,所以交换式以太网上的流量要略微小于共享介质式以太网。尽管如此,交换式以太网依然是不安全的网络技术,因为它还很容易因为ARP欺骗或者MAC满溢而瘫痪,同时网络管理员也可以利用监控功能抓取网络数据包。
当只有简单设备(除Hub之外的设备)接入交换机端口,那么整个网络可能工作在全双工方式。如果一个网段只有2个设备,那么冲突探测也不需要了,两个设备可以随时收发数据。总的带宽就是链路的2倍(尽管带宽每个方向上是一样的),但是没有冲突发生就意味着允许几乎100%的使用链路带宽。
交换机端口和所连接的设备必须使用相同的双工设置。多数100BASE-TX和1000BASE-T设备支持自动协商特性,即这些设备通过信号来协调要使用的速率和双工设置。然而,如果自动协商被禁用或者设备不支持,则双工设置必须通过自动检测进行设置或在交换机端口和设备上都进行手工设置以避免双工错配——这是以太网问题的一种常见原因(设备被设置为半双工会报告迟发冲突,而设备被设为全双工则会报告)。许多低端交换机没有手工进行速率和双工设置的能力,因此端口总是会尝试进行自动协商。当启用了自动协商但不成功时(例如其他设备不支持),自动协商会将端口设置为半双工。速率是可以自动感测的,因此将一个10BASE-T设备连接到一个启用了自动协商的10/100交换端口上时将可以成功地建立一个半双工的10BASE-T连接。但是将一个配置为全双工100Mb工作的设备连接到一个配置为自动协商的交换端口时(反之亦然)则会导致双工错配。
即使电缆两端都设置成自动速率和双工模式协商,错误猜测还是经产发生而退到10Mbps模式。因此,如果性能差于预期,应该查看一下是否有计算机设置成10Mbps模式了,如果已知另一端配置为100Mbit,则可以手动强制设置成正确模式。
当两个节点试图用超过电缆最高支持数据速率(例如在3类线上使用100Mbps或者3类/5类线使用1000Mbps)通信时就会发生问题。不像ADSL或者传统的拨号Modem通过详细的方法检测链路的最高支持数据速率,以太网节点只是简单的选择两端支持的最高速率而不管中间线路。因此如果过高的速率导致电缆不可靠就会导致链路失效。解决方案只有强制通讯端降低到电缆支持的速率。
三、以太网类型
除了以上提到的不同帧类型以外,各类以太网的差别仅仅在于速率和配线。因此,总的来说,同样的网络协议栈软件可以运行在大多数以太网上。
以下的章节简要综述了不同的正式的以太网类型。除了这些正式的标准以外,许多厂商因为一些特殊的原因,比如为了支持更长距离的光纤传输,而制定了一些专用的标准。
很多以太网卡和交换设备都支持多速率,设备之间通过自动协商设置最佳的连接速度和双工方式。如果协商失败,多速率设备就会探测另一方使用的速率但是默认为半双工方式。10/100以太网端口支持10BASE-T和100BASE-TX。10/100/1000支持10BASE-T,100BASE-TX和1000BASE-T。
(一)早期以太网
施乐以太网,最初的3-Mbit/s以太网,有两个版本:版本一和版本二。版本二的帧格式现在还在普遍使用。
10BROAD36,已经过时。一个早期的支持长距离以太网的标准。它运行在同轴电缆上,使用了一种类似于线缆调制解调器系统的宽带调制技术。
1BASE5,也叫做星型局域网,速率是1Mbit/s。在商业上很失败。双绞线的第一次使用就用在这里。
(二)10Mbps以太网
10BASE5(也叫粗缆或黄色电缆),最早实现10Mbit/s以太网。早期IEEE标准,使用单根50欧姆阻抗RG-8同轴电缆,最大距离500米。接收端通过所谓的“插入式分接头”插入电缆的内芯和屏蔽层。在电缆终结处使用N型连接器。尽管由于早期的大量布设,到现在还有一些系统在使用,这一标准实际已经丢弃。在电缆两端需要配置终结器。
10BASE2(也叫细缆或模拟网路),50欧姆RG-58同轴电缆,200米,连接所有的计算机,每台计算机使用T适配器连接到带有BNC连接器的网卡。线路两头需要终结器。很长时间一直是10M网主流。
StarLAN,第一个双绞线上实现的以太网标准10 Mbit/s,后发展成10BASE-T。
10BASE-T,使用3类双绞线或者5类双绞线的4根线(2对绞线)100米。以太网集线器或以太网交换机 位于中间连接所有节点。
FOIRL,光纤中继器链路。光纤以太网原始版本。
10BASE-F,10Mbps以太网光纤标准通称,2千米。只有10BASE-FL应用比较广泛。10BASE-FL,FOIRL标准一种升级。
10BASE-FB,用于连接多个Hub或者交换机的骨干网技术,已废弃。
10BASE-FP,无中继被动星型网, 从未得到应用。
(三)快速以太网(100Mbps)
100BASE-T,下面三个100 Mbit/s 双绞线标准通称,最远100米。
100BASE-TX,类似于星型结构的10BASE-T,使用两对电缆,但是需要5类电缆以达到100Mbit/s。
100BASE-T4,使用3类电缆使用所有4对线,由于5类线普及已经废弃,半双工。
100BASE-T2,无产品。使用3类电缆。支持全双工使用2对线,功能等效100BASE-TX,但支持旧电缆。
100BASE-FX,使用多模光纤,最远支持400米,半双工连接(保证冲突检测),2km全双工。
100Base-VG,只有惠普支持,VG最早出现在市场上。需要4对三类电缆。也有人怀疑VG不是以太网。
(四)千兆以太网
1000BASE-T,1 Gbit/s介质超五类双绞线或6类双绞线。
1000BASE-SX,1 Gbit/s多模光纤(小于550 m)。
1000BASE-LX,1 Gbit/s多模光纤(小于550 m)。需要使用长距离单模(光纤10千米)。
1000BASE-LH,1 Gbit/s单模光纤(小于100千米)。长距离方案
1000BASE-CX,铜缆上达到1Gbps的短距离(小于25 m)方案。早于1000BASE-T,已废弃。
(五)万兆以太网
新的万兆以太网标准包含7种不同的节制类型适用于局域网,城域网和广域网。当前使用附加标准IEEE 802.3ae用以说明,将来会合并进IEEE 802.3标准。
10GBASE-CX4,短距离铜缆方案用于InfiniBand 4x连接器和CX4电缆,最大长度15米。
10GBASE-SR,用于短距离多模光纤,根据电缆类型能达到26-82米,使用新型2GHz多模光纤可以达到300米。
10GBASE-LX4,使用波分复用支持多模光纤240-300米,单模光纤超过10公里。
10GBASE-LR 和10GBASE-ER,通过单模光纤分别支持10公里和40公里。
10GBASE-SW, 10GBASE-LW,10GBASE-EW,用于广域网PHY, OC-192 / STM-64 同步光纤网/SDH设备。物理层分别对应10GBASE-SR,10GBASE-LR和10GBASE-ER,因此使用相同光纤支持距离也一致。(无广域网PHY标准)
10GBASE-T,使用非屏蔽双绞线, 计划2006年8月发布。
万兆以太网是很新的标准需要时间检验那些更适合商用。