一本书读懂TCP/IP
上QQ阅读APP看书,第一时间看更新

2.2 局域网中枢——以太网交换机

1.以太网,普遍到唯一

以太网应用的普遍性,无需多言。看一看我们身边的企业网,我们不得不感叹,以太网,已经普遍到几乎成为“唯一”。

在前些年的计算机网络课程里面,还有令牌环网、FDDI和ARCNET,而现在它们都像刚做的一场梦,无声无息神秘消失,只留下部分教科书上支离破碎的介绍,以及他们忠实拥趸们心态复杂的回忆。

很久以前,我们就开始思索:以太网究竟是何方神圣?有什么过人之处?有什么深厚的背景?有什么显赫的家世?为什么偏偏是它,能够在如此短的时间内迅速统治桌面?

好,带着这个问题,我们去了解一下以太网的相关知识。

2.以太网诞生记

20世纪70年代,美国施乐公司提出了很多先锋技术项目,以太网技术是其中的的一个。“以太”这个名字来源于19世纪的物理学家假设的电磁辐射媒体——“光以太”,后来的研究证明,“光以太”不存在。用“以太”来给局域网技术命名,大概就来自于其设计者的灵感闪现吧。

1973年,刚从麻省理工学院毕业的高材生罗伯特·麦特卡夫给他施乐的老板写了一篇有关以太网潜力的备忘录。3年后,他又发表了一篇名为《以太网:局域计算机网络的分布式包交换技术》的文章。这两篇文章的反响并不大,但伟大事物的开端往往就如此平凡。

既不受老板赏识,又不被社会接受,这让麦特卡夫很失落。你无法改变老板,也无法改变社会,能改变的,只有自己。于是在1979年,麦特卡夫离开施乐,光荣“下海”,成立了一家叫作3COM的公司。3COM的一项重要工作并非技术开发,而是对DEC、英特尔和施乐进行游说,麦特卡夫希望与这些大鳄们一起,将以太网标准化、规范化、商业化。

看来麦特卡夫的口才还不错,短短一年时间,通用的以太网标就出台了!

以太网的大潮快速袭来,当时业界两个流行的非公有网络标准——令牌环网和ARCNET,很快萎缩并被取代。而在此过程中,3COM迅速成为国际化的大公司。

3COM的成功,也得益于曾经说过以太网坏话的人的“帮助”。一些著名专家指出,“在理论上”令牌环网要比以太网优越。是的,“在理论上”;而实际上,实践是检验真理的唯一标准。

受到此结论的影响,很多计算机厂商或犹豫不决或决定不把以太网接口作为机器的标准配置,但这恰恰造就了3COM成为顺应历史潮流的佼佼者。3COM有机会从销售以太网网卡中大赚钞票。

有人说,“以太网不适合在理论中研究,只适合在实际中应用”。也许只是句玩笑话,但这说明了这样一个技术观点:通常情况下,网络中实际的数据流特性与人们在局域网普及之前的估计不同,如果要花大力气去研究数据流特征并用复杂的方案去应对每个细节,不如用一些简单的技术体制来满足大部分的要求。谁最简单?当然非以太网莫属喽!

最后继续说说3COM的命运。2004年,3COM与华为建立合资公司——华为3COM,后改名为H3C,以联手对抗思科网络,2006年,华为以将所持合资公司股份全部出售给3COM的代价,获得8.82亿美元现金流,补贴全球征战的 3G产品线。2010年,惠普全资收购3COM公司,并将H3C产品线重新定义为HP Networking。2015年被紫光集团收购。

往昔荣耀无需追忆,今天的全球以太网市场上,三巨头鼎力:思科网络、华为、惠普。

3.以太网的工作原理

好,问题向前推进了一步。因为以太网简单,所以被发扬光大了。接下来的问题就是,以太网为什么“简单”?简单,能解决问题吗?

局域网要解决的最大问题,无非是多台主机都想在网络上“发言”,在任何一个时刻,让谁先“发言”的问题。

这就像一个多人会议,没有主持人,而每次发言者只能是一个人。很可能出现两个人或者多个人同时想发言的情况,这就需要有一套合理的机制,保证这个会议能够顺利进行——畅所欲言且井然有序。

为了解决这一问题,人们探索了不少巧妙的办法。比如令牌环(环形)就采用令牌方式,整个网络里只有一个“令牌”,谁拿到令牌谁发言。令牌则在网络里按照某种机制传递。

令牌环主要缺点是有较复杂的令牌维护要求。空闲令牌的丢失,将降低环路的利用率,令牌重复也会破坏网的正常运行,故必须选某台主机作为监控站。

令牌环网的其他缺点也很突出:环网潜在的问题是,一个节点连接出问题都会使网络失效,可靠性差。另外,新主机入环、退环都要暂停环网工作——这可是个大问题。假如一个公司新进一名员工,就要把整个局域网断开,将新主机连接进来,才能重新工作——毫无灵活性可言!

麦特卡夫们琢磨出的一套流程,可以很好地解决局域网中每台计算机都想“发言”的冲突问题。

假设某台主机希望发送数据(发言),可以遵照下述步骤进行:

开始:如果线路空闲,则启动传输,否则转到第4步;

发送:如果检测到冲突,继续发送数据直到达到最小报文时间(保证所有其他转发器和终端检测到冲突),再转到第4步;

成功传输:向更高层的网络协议报告发送成功,退出传输模式;

线路忙:等待,直到线路空闲;

线路进入空闲状态:等待一个随机的时间,转到第1步,除非超过最大尝试次数;

超过最大尝试传输次数:向更高层的网络协议报告发送失败,退出传输模式。回到那个会议中。基于上述机制,会议将这样组织:

每次只能有一个人发言;

任何人想发言,必须举手;

如果某个人想发言,需要先看是否有人正在讲话,如果是,他需要等待一段时间;

如果恰巧同时出现两个人举手要求发言,那么他们都分别随机等待一段时间,再开始讲话(当然前提是当前没有其他人在发言);只要两个参与者等待的时间不同,冲突就不会出现。如果恰巧两者又出现冲突(这种情况的发生概率极低),那就需要再次等待一段随即时间,直到某一方先开始发言。

图2.4 以太网的图

基于以上流程,以太网被设计为总线型结构,一根主线贯穿始末,在主线上“分叉”来连接主机。

这一设计简单、便捷、灵活性强,随时可以添加、删除主机,方便非专业人士组网。因此,以太网很快流行开来。

4.从共享总线到交换式

好了,以太网工作的原理我们弄清楚了。我们需要给这套机制起个名字。虽然原理并不复杂,但名字却有些绕口——CSMA/CD(载波侦听多路复用-冲突检测),这是以太网的精髓所在!

CDMA/CD是使以太网成为其垄断局域网技术的关键因素。其最大优势就是:简单!

简单的东西,优势是简单。

简单的东西,劣势也是简单。

一根总线,被多台主机共享,其工作效率将会被降得很低。这就像那场会议,来的都是绅士,彬彬有礼、有条不紊,但会议所花费时间却很长。

更为重要的是,这种“一个说,大家听”的特质是其在安全上的弱点,因为网络上任何主机都可以选择是否监听线路上传输的所有信息。说给你听的,你听,没说给你听的,你也可以听,哪有隐私可言,哪有安全可言!

这种模式的以太网被称为共享式以太网,以细缆(被称为10Base2,2是指最远可传送接近200m)、粗缆(被称为10Base5,铜缆传送距离最远可达500m)和HUB+以太双绞线(从三类线到六类线或者更高,最常用的是五类线或超五类线)为传送介质组建网络,其安全问题和效率问题一直被人们诟病。如果这种趋势发展下去,随着应用越来越广泛,其被取代只是时间问题。

幸运的是,1990年,交换式以太网技术诞生了。它能同时提供多条传输路径,从而显著提高网络的整体带宽,同时也为网络安全性提供了保证。交换式以太网核心设备是以太网交换机(下一节会介绍),而非共享总线。CSMA-CD依然有效,但共享总线结构的传统模式被彻底颠覆了!

下面是共享总线型以太网、以HUB为中心的以太网和交换式以太网的区别示意图。

为了最大程度的减少冲突,提高网络速度和使用效率,当今的以太网大都以以太网交换机为核心来进行网络连接和组织,这样,以太网的拓扑结构就成了星型。

插一句话,在通信网络中,不能仅凭眼睛看到的物理连接形式来判断网络的拓扑结构。人们学习知识就是为了和直觉作斗争。你摸到孩子额头很热,他未必真的发烧了,有可能是你手太凉的缘故。以太网的星型连接是你的直觉,而实质上它是一种总线型连接,只是这根“总线”隐藏在交换机或者HUB内部。

图2.5 共享总线式和交换式以太网

5.以太网的演进

好了,我们对本节开头的问题已经有了答案。以太网以压倒性优势占据局域网的垄断地位,是因为它简单,并可演进。

以太网技术的演进能力不仅仅体现在从共享式到交换式方面,更在其速率提升方面。20多年来,以太网的速率从10Mbit/s、100Mbit/s、1 000Mbit/s到10Gbit/s(10Gbit/s以太网有其特殊性,在第9章将专门给予介绍),而100Gbit/s的以太网也即将规模商用!

1993年,全双工以太网交换技术诞生,改变了原来以太网半双工的工作模式,使得以太网的传输速度又提高一倍!

6.以太网交换机

交换式以太网需要一种核心设备,能够快速地指导所有进入者,你该从哪个门走,并将进入者“扭送”至出口。这个设备只负责处理以太网信息,因此被称为“以太网交换机”。

这个家伙往往只有一类物理接口——以太网接口,当然,可以是电接口(比如RJ45),也可以是光接口(单模光纤接口、多模光纤接口等)。不同的以太网交换机,因接口类型和数量、交换容量、处理能力、所处理的协议层等不同而有所差异。

以太网交换机根据其处理的协议层不同,分为二层交换机和三层交换机(现在根据市场需要,商家们还提出了4层、7层交换机)。这里的“层”是指ISO/OSI的7层结构。二层是指数据链路层,也就是处理以太网帧的相关操作,三层是指IP层,处理IP层的操作。

二层交换机在操作过程中不断地收集资料,并建立它本身的地址表,这个表并不复杂,主要标明每个MAC地址是在哪个端口上被发现的。当交换机接收到一个数据包时,会检查该数据包的目的地址,检索一下自己的地址表,并决定把数据包从哪个端口发出去。

这与HUB不同。HUB组成的共享式以太网,某个站点发送的数据会出现在HUB所有端口上(不管是否为其所需),不但效率低,安全性也差。

以太网交换机的引入,使得网络节点间可独享带宽。只有一个例外——对于二层广播报文(比如下文讲到的ARP公告),二层交换机会对所有主机广播——当然,这也是必须的。

当多个二层交换机用以太网线连接起来(称之为“级联”),二层交换网络上的所有设备都会收到广播消息。如果这个以太网太大,泛滥的广播信息会造成网络效率大幅降低。这就是令人头痛的“广播风暴”。

解决这个问题的方法,是在一个二层交换网络内进一步划分为多个虚拟的局域网(VLAN)。这里的“虚拟”,是“逻辑”的意思。也就是说,按照一定的逻辑关系将主机划分为若干群组,这种群组是逻辑组,和主机所在的物理位置无关。

在实际应用中,比如一个企业,可以把每个部门的计算机划分为一个VLAN;一个学校,把不同的院系划分为不同的VLAN。根据需要,可以把一个屋子的主机划分为两个VLAN,也可以把不同屋子的主机划分到同一个VLAN里面去。

在一个VLAN内,由一台主机发出的信息只能被具有相同虚拟网编号的其他主机接收,局域网的其他成员则收不到这些信息。各部门、各院系、各处室内部广播“,井水不犯河水”。

因此有人把VLAN称为“广播域”。

图2.6 VLAN的应用

过去我们说,局域网之间可以直接进行通信,无需路由器。但是划分VLAN后,这种情况将发生变化——在一个以太网内的主机,如果被划分在不同的VLAN里,他们之间的通信,必须经过路由设备(路由器或者三层交换机)进行。

如果一个大型企业,局域网被划分为50个VLAN,VLAN之间的通信需要占用大量路由器端口和处理能力。解决了“广播风暴”,却带来了成本压力——路由器可不便宜,并且效率也会大打折扣。于是,三层交换的概念就在这种情况下被提出。

三层交换机是在二层交换机的基础上增加三层路由功能。

爱思考的读者第一感觉就是,只要把二层交换机的内核加上路由器的内核,组装在一起,不就是三层交换机了么?从理论上说,这是站得住脚的,但是在工业实践中,三层交换机和路由器采用的转发机制不完全相同。

早期的或者低端的路由器通常用软件来实现,转发能力成为瓶颈。三层交换机的路由查找是针对“流”的,它利用高速缓存技术,在成本不高的情况下实现快速转发。而传统路由器的转发采用最长匹配的方式,实现复杂,效率较低。

估计很多读者已经迫不及待地等待下一节内容了。IP世界里最重要的硬件设施——路由器,即将隆重登场!