本节书摘来自异步社区《Network Warrior中文版(第2版)——思科网络工程师必备手册》一书中的第2章,第2.2节,作者【美】Gary A. Donahue,更多章节内容可以访问云栖社区“异步社区”公众号查看
Network Warrior中文版(第2版)——思科网络工程师必备手册在以太网设备的发展历程中,HUB过后就到了交换机。交换机有别于HUB,因为交换机可“主动”转发数据帧。读者不应忘记,HUB只能对接收自任意接口的数据帧进行简单的复制,然后再从所有其他接口发送出去。交换机则不然,交换机不但会“跟踪”端口所连设备,而且只会将数据帧转发给欲接收它的主机。
注意
人们在谈论HUB、网桥和交换机时,总会把TCP/IP领域中名为数据包的东西叫做帧。从技术上讲,数据包和数据帧是两码事,因为TCP数据包经过第2层信息封装之后,才能形成数据帧。然而,网络工程师们在交流时,对术语“数据包”和“数据帧”往往会不加区分(抱歉的很,笔者也分得不是很清)。为求精确表述,在介绍HUB和交换机时,笔者只使用术语“数据帧”。当其他竞争对手都开始研发交换机时,Cisco则将其所有精力投入于研发路由器,因此,在交换产品方面,Cisco公司那时还不是其他公司的对手。但当时,Cisco做出了一个非常明智的决定——收购了新交换机公司中的翘楚(比如,Kalpana公司),并将收购而来的交换产品并入了自己的产品线。其结果也导致了Cisco公司的交换机和路由器的操作系统不一致——Cisco路由器用IOS操作系统,而Cisco交换机则用CatOS操作系统,有时甚至还要用菜单界面来配置(Cisco将交换机产品线命名为“Catalyst”,因此Catalyst操作系统就是指CatOS)。
插一个与术语有关的话题:即便在网络领域,术语“交换”和“交换机”都不止一重涵义。单是交换机便有以太网交换机、帧中继交换机、三层交换机以及多层交换机之分。以下是对一些常用术语的解释。
交换机(switch)
这一通用术语是指任何可用来执行“交换”功能的设备,与“交换物”以及所涉领域无关。在网络领域,交换机一般都指以太网交换机。在电信领域,可称为交换机的设备实在太多,但与本章所讨论的内容无关。
以太网交换机
是指在以太网中,可根据第二层MAC地址来转发帧的任何设备。HUB会将所有帧复制给所有端口,而以太网交换机只会将帧转发至其应该外发的端口。以太网交换机上的每个端口都是一个冲突域,而HUB上的所有端口都隶属于同一个冲突域。
三层交换机
即具备路由功能的交换机。一般而言,在三层交换机上,可针对二层VLAN配置三层虚拟接口。如今,纯三层交换机已不多见,市面上在售的大多数交换机都是多层交换机。
多层交换机
不但具备三层交换机的功能,还可根据高层协议来控制数据包的转发1。多层交换机可根据TCP或UDP端口号,甚至数据包净荷内所含的信息来控制数据包的转发。
交换(switching)
在以太网技术领域,交换是指根据帧的目的MAC地址转发帧的行为。在电信领域,交换则是在通话双方间建立一条连接的行为。在路由选择领域,交换则又是指在一台路由器上的2个接口之间转发数据包的过程。
交换机与HUB之间最根本的区别在于:交换机不会像HUB那样,将接收自某端口的信号再从所有其他端口复制并转发出去。现代化的交换机支持种类繁多的高级特性,这使得“交换机”这一称谓,更为实至名归。
对于图2-7所示的交换机,其端口4和端口6之间以及端口1和端口7之间各有一条路径。如此一来,数据帧便可同时沿着这两条路径传输,从而大大提高了人们对网络的感知速度。每次发送数据帧时,交换机都会创建一条从源端口到目的端口的专用路径,而交换机上的其他端口则“袖手旁观”。
那么,在网络中,对于由不同工作站所传送的帧应发往何处,交换机是如何做出转发决策的呢?每个以太网帧都包含了源和目的MAC地址。交换机通过对帧的解析(只需解析帧头),来确定源MAC地址,若其在自己的MAC地址表中不存在,则将其添加进表。在CatOS交换机上,此表称为内容可寻址内存表(或CAM表),而在IOS交换机上,则称其为MAC地址表。该表包含了发现MAC地址的交换机端口与该MAC地址之间的映射关系。然后,交换机会确定帧的目的MAC地址,并从该表中查找与之相匹配的表项。若发现匹配,交换机便创建一条从源端口到相应目的端口的路径。若否,交换机则将帧向自己的所有端口外发。
IP工作站要想将数据包发送至同一网络中的另一IP地址,需首先知晓目的IP地址的MAC地址。为此,IP工作站会发送地址解析协议(ARP)请求数据包。此类数据包属于广播包,因此,交换机会将其从所有端口外发。该ARP请求数据包被以太网帧头封装之后,帧头内势必包含发送ARP请求的工作站的MAC地址,交换机可借此来确定与该ARP请求帧中的源MAC地址相对应的端口。一旦目的站点回以ARP应答数据包:“本机配置了你所请求的IP地址”,交换机便会知晓自己的哪个端口连接了目的站点(ARP应答数据包中包含了发送ARP应答工作站[目的工作站]的MAC地址)。
在运行IOS的交换机上,执行show mac-address-table命令,便会显示出MAC地址及其端口对应表。要是交换机的一个端口学到了多个MAC地址,则往往表示该端口连接了另一台交换机或网络设备。
由以上输出可知,若MAC地址为0013.baeb.01e0的设备欲与0013.baea.7ea0的设备通信,交换机便会在Gi4/29和Gi7/8之间建立一条连接。
注意
读者可能已经注意到,在正文中写全了show命令,而在交换机上执行命令时,输入的则是show命令的缩写sho。Cisco设备支持对命令的缩写,前提是命令的缩写形式不能与其他命令冲突。要弄清交换机的哪个端口连接了某台特定主机,请读者看仔细了。首先,要知晓待查主机的MAC地址。下面以一台Solaris主机为例。
然后,以该主机的MAC地址(如最后一行所示)替代IOS命令show mac-address-table | include mac-address中的mac-address,并执行该命令。
注意
读者应熟知MAC地址的格式。不同的操作系统会以不同的方式显示MAC地址。读者需将MAC地址转换为与IOS或CatOS兼容的格式。IOS中显示MAC地址的方式为:两字节为一组,组间用“.”隔开。Solaris以及其他大多数操作系统的显示方式则为:字节间用“:”或“-”隔开(CatOS在显示十六进制的MAC地址时,使用“-”作为字节间的分隔符)。某些操作系统可能会以十进制来显示MAC地址,而大多数操作系统都使用十六进制来显示。由以上输出可知,端口Gi3/22正是连接Solaris主机的端口。
NX-OS命令与IOS相同,只是输出中的Nexus交换机接口的硬件名称有了变化,其意在反映出Nexus交换机端口的硬件信息(以下show mac-address-table命令的输出来自一台激活了FEX特性,并连接了2148T Extender(chassis_ID为100)的Nexus 5010交换机。
在运行CatOS的交换机上,显示MAC地址表内容的命令则略有不同,show cam命令包含了一个选项,可利用该选项来显示指定MAC地址的信息。
Cisco交换机分为两种:固定配置交换机和模块化交换机。固定配置交换机的体积较小——只需占用1个机架单元(1RU)。此类交换机一般只配备以太网端口,适用于大型交换机“无用武之地”的场合。
Cisco 2950、3550以及3750交换机都属于固定配置交换机。3750交换机还具备堆叠功能。堆叠是一种“粘合”多台物理交换机,以构成一台逻辑交换机的手段。当所需端口数超过单台固定配置交换机的最多可用端口数(48个端口)时,堆叠就有了“用武之地”。堆叠技术并非“完美无缺”:堆叠过后的交换机背板总容量限制在了32或64 Gbit/s。相比较而言,某些机箱式模块化交换机的背板容量可达720Gbit/s。当然,这样的大型模块化交换机在价格方面也要昂贵得多。
固定配置交换机的优点如下所示。
价格
固定配置交换机往往比模块化交换机便宜得多。
空间占用
固定配置交换机一般只会占用1个机架单元(1RU)的空间。可将其安装在配线间或某些安装不下机箱式交换机的场所。两台固定配置交换机即便堆叠在一起,所占空间仍要小于最小的机箱式交换机。
重量
哪怕与最小的机箱式交换机相比,固定配置交换机的重量也会轻很多。大多数机箱式交换机至少需要两人才能完成安装、上架工作。
功率
固定配置交换机使用市电(民用电)即可正常运转,因此,此类交换机可安装于任何一个地方。大型机箱式交换机插满模块之后,需用专用电源和专用交流电插座。此外,有许多机箱式交换机还要求用直流供电。
话又说回来,与固定配置交换机相比,大型Cisco机箱式模块化交换机也具备以下优点。
扩展性
大型机箱式交换机可支持数百个以太网端口,而且这种基于机箱式的架构可以很方便地升级处理器模块(supervisor)。当6500机箱配备了supervisor(sup720)时,可提供720Gbit/s的背板速度。要获得不少于6500交换机的端口数,需堆叠多达7台3750,但请别忘记,经过堆叠的交换机背板速度只有区区32Gbit/s。
灵活性
Cisco 6500机箱可插入特殊用途的模块,以提供普通交换机所不能提供的服务。这些特殊用途的模块如下所示。
防火墙服务模块(FWSM)入侵检测系统模块(IDSM)应用控制引擎(ACE)模块网络分析模块(NAM)WAN模块(FlexWAN)冗余
某些型号的固定配置交换机支持分布式供电方式,以“多花钱”来提供冗余电源。而全款Cisco机箱式交换机都支持多电源供电(老式的4000系列机箱式交换机实际上需要3个电源模块来提供冗余,若要提供对VoIP(PoE)的支持,还需安装更多的电源模块)。大多数机箱式交换机都支持双supervisor。
速度
配备了supervisor-720(sup 720)的Cisco 6500交换机可支持高达720Gbit/s的背板吞吐量。在固定配置交换机中,背板吞吐量最高的Cisco 4948交换机,也只有48Gbit/s。Cisco推出4948交换机的目的是要互连机架内的服务器,此类交换机往往都安装在服务器机架的架顶。由于此款交换机“专款专用”,故而不支持堆叠,其端口数受限于48个。
机箱式交换机的缺点包括:沉重异常、体积大、功耗高。若确实需要机箱式交换机的强大功能和灵活性,那么恐怕就不得不将上述缺点视为提供功能的代价。
Cisco主要生产两种机箱式交换机:4500系列和6500系列。当然,Cisco也曾生产过8500系列,但此类交换机在企业网环境中早已难觅其踪了。
很难说Nexus交换机是属于固定配置还是模块化交换机,要视其型号而定。Nexus 7000机箱式交换机分10槽和18槽机箱两种。这几种型号的Nexus交换机具有其他任何一款机箱式交换机的所有优缺点。写作本书之际,Nexus交换机还不支持那么多服务模块。据传,随着Nexus产品线的不断完善,对服务模块的支持会有所改观。
Nexus 5000自带一个(5100)或两个(5200)扩展槽位,可连接fabric extenders(FEX),以方便扩展。FEX虽以物理交换机的面目示人,但实际上只是连接到Nexus 5000的模块。由Nexus 2000“交换机”行使FEX之职(作为Nexus 5000的模块)。单台(或一对)Nexus 5000交换机在连接了多达12个48端口的FEX之后,则更像是一台12槽的机箱式交换机,而非固定配置的交换机了。有关Nexus交换机可扩展性的问题,将在Nexus交换机硬件相关章节中展开深入探讨。
与安装小型交换机相比,安装机箱式交换机更需“精打细算”。配置机箱式交换机时,需考虑诸多要素。首先,必须选择所使用的交换机模块(有时也称其为刀片[blade]);然后,应确定所需电源模块的型号。还需虑及机箱所用电源是交流还是直流,以及电源模块所需的电流(安培)数。此外,机箱式交换机体积较大,笨重异常,因此,需确保为其预留足够的机架空间。制定机箱式交换机安装规划时,需考虑下列因素。
1.机架空间机箱式交换机外形硕大。6513交换机需占用19 RU的机架空间。NEBS版本的6509则会占用21 RU。一座7英尺的电信机架有40个RU,因此,大型交换机会占用机架可用空间的大半壁江山。
注意
为Nexus交换机规划机架空间时请务必小心。Nexus 5000交换机的厚度不亚于机架式服务器,安装时,需利用机架挡板的全长。双柱式电信标准机架是安装不下Nexus 5000交换机的。大型机箱式交换机沉重异常,应尽可能地将其安装在机架底部。小型机箱式交换机(例如,Cisco 4506交换机[最多会占用10RU])才可安装在机架的较高位置。
注意
给沉重的机箱式交换机上架时,至少需要两人。通常,还需第三者从旁将交换机引导进机架。只有将交换机上的所有模块和电源拔除之后,方可搬运机箱。2.功率安装在交换机上的每块模块都会消耗一定的功率(单位为瓦特)。在确定了交换机所需安装的模块之后,则应统计出全部模块所需的总功率。由统计结果来决定应订购的电源模块型号。为提供冗余供电,双电源模块中的任意一个都应能满足整台交换机(外加所有模块)的供电需求。若交换机机箱及模块的总耗电功率为3200W,要想实现供电冗余,便需订购2个4000W的电源模块。当然,订购2个3000W的电源模块也不是不行,但两者须同时“给力”,才能为所有模块供电。只要其中一个电源模块故障,交换机内的某些模块就会掉电(shutdown)。
取决于交换机所安装的位置,需保证电源模块能够接上交流或直流电源。选择直流(DC)供电时,应确保双路供电。试举一例,若网络工程师需要为交换机接40安培的DC电源,应告诉电工:“我需要接40安培的直流电,双路供电。”这就是说,为满足高可用性的需求,该网络工程师对交换机实施了双路供电。与交换机电源接地的有关信息,请参阅Cisco文档。大多数托管机房(collocation facility)都提供正向接地的DC电源。
若选择交流(AC)供电,则需指明电压数、安培数以及各条电源线所接的插座制式。一般而言,每个电源模块都是单路供电,但也有某些电源模块需要双路或多路供电。网络工程师应掌握一些与插头和插座有关的电器方面的基本知识。电源模块随箱文档自然会载明上述所有一切,从Cisco Web站点上也能搜到相应文档。再来举个例子,某些随电源模块装箱的电源线的插头制式为NEMA L6-20P,这便需要购买NEMA L6-20R制式的插座。部件编号末尾的“R”或“P”所指为该部件是插头(plug)还是插座(receptacle)(NEMA L6-20是指250V/16A的AC扭锁连接器[twist-lock 250-volt AC 16-amp connector])。
电力线会通过大的矩形连接器连接到电源模块。电源线插头则会插入电源模块上的插孔,然后还得用夹子固定。请务必将夹子夹紧,以免电源线受压从插孔里弹出。
3.散热(cooling)许多机箱式交换机都是两边散热:交换机从一侧吸入空气,让空气吹拂模块,再将热气从另一侧排出。通常,安装交换机的机架都具有良好的通风性。可是,若打算将机箱式交换机安装在小型机柜内,就必须考虑通风问题。电缆(网线、光纤)往往都会在交换机侧面绕来绕去,若电缆太密,便会阻断气流。
兼容NEBS的6509交换机采用垂直散热方式,其模块都被垂直插入机箱。对于此类交换机,在机箱的正面可一览无余地看见散热孔。请务必保持这些散热孔畅通。所有Nexus交换机的散热方式都是从前到后3,这是为了更好地适应数据中心机房的冷/热风通道(hot-/cold-aisle)布局设计。安装Nexus交换机时,请务必小心。有人喜欢将(交换机的)以太网端口面朝机架正面,给Nexus交换机上架时,可千万别这么干,因为这会导致流入机架的气流与交换机的散热方向相反。
注意
笔者曾参与过一个项目,该项目需要让6台6506交换机上线运行。笔者率团队先将那6台交换机拖出包装箱,然后再在集装架上一字排开。我们都未曾料想,从一台交换机里排出的热气全被吹入了相邻交换机。第一台交换机吸入的空气,由下一台交换机排出时,已是热浪滚滚,最终导致了最边上的一台交换机宕机。安装机箱式交换机时,请务必在交换机之间预留足够的空间。4.插拔模块机箱式交换机模块都需插入交换机插槽两侧的小卡槽内,才能固定。安装模块时,切勿鲁莽行事,应对准卡槽。卡槽与模块很容易错位,要是不小心卡住模块那可就麻烦了。多款交换机模块——尤其是FWSM、IDSM以及ACE等服务模块,其背面都密密麻麻地布满了元器件。笔者曾亲眼见过不少工程师因没有对准卡槽,强行插入,而毁掉了价值4万美元的模块。此外,读者还应牢记:插拔模块时,请务必佩戴防静电护腕。
注意
无论何时,只要与机箱或模块有肢体上的接触,就应该佩戴防静电护腕。防静电护腕不但使用简单,而且近年来几乎所有设备都随机附带。笔者也知道这玩意戴起来会有损网络工程师“潮男”的形象,但想象一下毁掉价值40万美元的交换机的后果吧。5.电缆走线在安装进交换机的模块旁布放(以太网)电缆时,请务必为日后拔插模块留有后手。要想理顺模块边上的48根以太网电缆,可是一项技术活儿。此外,还应保证电缆的松弛度,好方便日后拔掉电缆,抽出模块。这样一来,模块出故障时,只需轻松将连接到模块上的电缆拔到一旁,更换模块,再将所有电缆插回新模块上正确的端口即可。
古语云:工欲善其事,必先利其器,安装交换机自然也不例外。
1译者注:原文是“Similar to a Layer-3 switch, but may also allow for control based on higher layers in packets”。2译者注:原文是“A switch forwards frames only to the ports that need to receive them”,直译为“交换机只会把帧转发至需要接受它的端口”。作者明明在说帧在交换机内的转发过程啊,请读者仔细想想,原文是不是有违常识。因此,译文酌改。3译者注:在本书第18章,作者却说Nexus7018交换机为两边散热。
相关资源:Network Warrior中文版 思科网络工程师必备手册 第2版