交换机的基础知识
 
 
    许多新型的Client/Server应用程序以及多媒体技术的出现,导致了传统 的共享式网络远远不能满足要求,这也就推动了局域网交换机的出现。
    1、交换机的定义
     局域网交换机拥有许多端口,每个端口有自己的专用带宽,并且可以连接不同的网段。交换机各个端口之间的通信是同时的、并行的,这就大大提高了信息吞吐量。为了进一步提高性能,每个端口还可以只连接一个设备。
    为了实现交换机之间的互连或与高档服务器的连接,局域网交换机一般拥有一个或几个高速端口,如100M以太网端口、FDDI端口或155M ATM端口,从而保证整个网络的传输性能。
    2、交换机的特性
     通过集线器共享局域网的用户不仅是共享带宽,而且是竞争带宽。可能由于个别用户需要更多的带宽而导致其他用户的可用带宽相对减少,甚至被迫等待,因而也就耽误了通信和信息处理。利用交换机的网络微分段技术,可以将一个大型的共享式局域网的用户分成许多独立的网段,减少竞争带宽的用户数量,增加每个用户的可用带宽,从而缓解共享网络的拥挤状况。由于交换机可以将信息迅速而直接地送到目的地能大大提高速度和带宽,能 保护用户以前在介质方面的投资,并提供良好的可扩展性,因此交换机不但是网桥的理想替代物,而且是集线器的理想替代物。
    与网桥和集线器相比,交换机从下面几方面改进了性能:
    (1)通过支持并行通信,提高了交换机的信息吞吐量。
    (2)将传统的一个大局域网上的用户分成若干工作组,每个端口连接一台设备 或连接一个工作组,有效地解决拥挤现像。这种方法人们称之为网络微分 段(Micro一segmentation)技术。
    (3)虚拟网(VirtuaI LAN)技术的出现,给交换机的使用和管理带来了更大 的灵活性。我们将在后面专门介绍虚拟网。
    (4)端口密度可以与集线器相媲美,一般的网络系统都是有一个或几个服务器,而绝大部分都是普通的客户机。客户机都需要访问服务器,这样就导致服务器的通信和事务处理能力成为整个网络性能好坏的关键。
    交换机就主要从提高连接服务器的端口的速率以及相应的帧缓冲区的大小,来提高整个网络的性能,从而满足用户的要求。一些高档的交换机还采用全双工技术进一步提高端口的带宽。以前的网络设备基本上都是采用半双工的工作方式,即当一台主机发送数据包的时候, 它就不能接收数据包,当接收数据包的时候,就不能发送数据包。由于采用全双工技术,即主机在发送数据包的同时,还可以接收数据包,普通的10M端口就可以变成20M端口,普通的100M端口就可以变成200M 端口,这样就进一步提高了信息吞吐量。
    3、交换机的工作原理
    传统的交换机本质上是具有流量控制能力的多端口网桥,即传统的(二层) 交换机。把路由技术引入交换机,可以完成网络层路由选择,故称为三层交换,这是交换机的新进展。交换机(二层交换)的工作原理交换机和网桥一样,是工作在链路层的联网设备,它的各个端口都具有桥接功能,每个端口可以连接一个LAN或一台高性能网站或服务器,能够通过自学习来了解每个端口的设备连接情况。所有端口由专用处理器进行控制,并经过控制管理总线转发信息。
    同时可以用专门的网管软件进行集中管理。 除此之外,交换机为了提高数据交换的速度和效率,一般支持多种方式。
    (1)存储转发:
    所有常规网桥都使用这种方法。它们在将数据帧发柱其他端口之前,要把收到的帧完全存储在内部的存储器中,对其检验后再发往其他端口,这样其延时等于接收一个完整的数据帧的时间及处理时间的总和。如果级联很长时,会导致严重的性能问题,但这种方法可以过
滤掉错误的数据帧。
    (2)切入法:
    这种方法只检验数据帧的目标地址,这使得数据帧几乎马上就 可以传出去,从而大大降低延时。
其缺点是:错误帧也会被传出去。错误帧的概率较小的情况下,可以采用切入法以提高传输速度。而错误帧的概率较大的情况下,可以采用存储转发法/以减少错误帧的重传。
    4、交换机的配置
    我们下面以Cisco公司的Catlystl900交换机为例,介绍交换机的一般配置过程。
    对一台新的Catlystl900交换机,使用它的缺省配置就可以工作了。这因为它是一种将软件装在FlashMemory中的硬件设备,当加电时,它首先要进行一系列自检,对所有端口进行测试之后,交换机就处于工作状态。这时它的交换表是空的,它可以通过自学习来了解各个端口的设备连接情况,并将设备的 MAC地址记录在交换表中,当有信息交换时,交换机就根据交换表来进行数据转发。
    但为了便于对它进行网络管理,Catlystl900交换机自己有一个MAC地址,这样就可以为它分配一个IP地址和屏蔽码。网络管理员须通过交换机的串口接一台终端或仿真终端,才能为它指定一个IP地址,其缺省值是0.0.0.0。指定IP地址以后,网络管理员就可以通过网络进行远程管理了。Catlystl900交换机的配置界面是菜单形式,缺省配置下,它的所有端口都属于同一个VLAN,很多情况下都不需要作什么修改。
    (1)将微机串口通过RS一232电缆与Cata1yst1900的Console口连接,运行仿真终端软件,Catalyst 1900 启动后。
    (2)回车后,进入主菜单:
    (3)按“S”键,进入系统配置菜单:(配置系统名,位置,日期)
    (4)在主菜单中按“N”键进入网络管理菜单
    (5)配置IP地置
    (6)配置SNMP参数

    5、交换机的种类
    交换机是数据链路层设备,它可将多个物理LAN网段连接到一个大型网络上,与网络类似交换机传输和溢出也是基于MAC地址的传输。由于交换机是用硬件实现的,因此,传输速度很快。传输数据包时,交换机要么使用存储---转发交换方式,要么使用断---通交换方式。目前有许多类型的交换机,其中包括ATM交换机,LAN交换机和不同类型的WAN交换机。
    ATM交换机
    ATM(Asynchronous Transfer Mode)交换机为工作组,企业网络中枢以及其它众多领域提供了高速交换信息和可伸缩带宽的能力。ATM交换机支持语音,视频和文本数据应用,并可用来交换固定长度的信息单位(有时也称元素)。企业网络是通过ATM中枢链路连接多个LAN组成的。
    局域网交换机
    LAN交换机用于多LAN网段的相互连接,它在网络设备之间进行专用的无冲突的通信,同时支持多个设备间的对话。LAN交换机主要是用于高速交换数据帧。通过LAN交换机将一个0Mbps以太网与一个100Mbps 以太网互联。
 
三层交换技术解析  
 
    简单地说,三层交换技术就是:二层交换技术+三层转发技术。它解决了局域网中网段划分之后,网段中子网必须依赖路由器进行管理的局面,解决了传统路由器低速、复杂所造成的网络瓶颈问题。
    什么是三层交换
    三层交换(也称多层交换技术,或IP交换技术)是相对于传统交换概念而提出的。众所周知,传统的交换技术是在OSI网络标准模型中的第二层——数据链路层进行操作的,而三层交换技术是在网络模型中的第三层实现了数据包的高速转发。简单地说,三层交换技术就是:二层交换技术+三层转发技术。
    三层交换技术的出现,解决了局域网中网段划分之后,网段中子网必须依赖路由器进行管理的局面,解决了传统路由器低速、复杂所造成的网络瓶颈问题。
    三层交换原理
    一个具有三层交换功能的设备,是一个带有第三层路由功能的第二层交换机,但它是二者的有机结合,并不是简单地把路由器设备的硬件及软件叠加在局域网交换机上。
    其原理是:假设两个使用IP协议的站点A、B通过第三层交换机进行通信,发送站点A在开始发送时,把自己的IP地址与B站的IP地址比较,判断B站是否与自己在同一子网内。若目的站B与发送站A在同一子网内,则进行二层的转发。若两个站点不在同一子网内,如发送站A要与目的站B通信,发送站A要向“缺省网关”发出ARP(地址解析)封包,而“缺省网关”的IP地址其实是三层交换机的三层交换模块。当发送站A对“缺省网关”的IP地址广播出一个ARP请求时,如果三层交换模块在以前的通信过程中已经知道B站的MAC地址,则向发送站A回复B的MAC地址。否则三层交换模块根据路由信息向B站广播一个ARP请求,B站得到此ARP请求后向三层交换模块回复其MAC地址,三层交换模块保存此地址并回复给发送站A,同时将B站的MAC地址发送到二层交换引擎的MAC地址表中。从这以后,当A向B发送的数据包便全部交给二层交换处理,信息得以高速交换。由于仅仅在路由过程中才需要三层处理,绝大部分数据都通过二层交换转发,因此三层交换机的速度很快,接近二层交换机的速度,同时比相同路由器的价格低很多。
    三层交换机种类
    三层交换机可以根据其处理数据的不同而分为纯硬件和纯软件两大类。
    (1)纯硬件的三层技术相对来说技术复杂,成本高,但是速度快,性能好,带负载能力强。其原理是,采用ASIC芯片,采用硬件的方式进行路由表的查找和刷新。 当数据由端口接口芯片接收进来以后,首先在二层交换芯片中查找相应的目的MAC地址,如果查到,就进行二层转发,否则将数据送至三层引擎。在三层引擎中,ASIC芯片查找相应的路由表信息,与数据的目的IP地址相比对,然后发送ARP数据包到目的主机,得到该主机的MAC地址,将MAC地址发到二层芯片,由二层芯片转发该数据包。
    (2)基于软件的三层交换机技术较简单,但速度较慢,不适合作为主干。其原理是,采用CPU用软件的方式查找路由表。
当数据由端口接口芯片接收进来以后,首先在二层交换芯片中查找相应的目的MAC地址,如果查到,就进行二层转发否则将数据送至CPU。CPU查找相应的路由表信息,与数据的目的IP地址相比对,然后发送ARP数据包到目的主机得到该主机的MAC地址,将MAC地址发到二层芯片,由二层芯片转发该数据包。因为低价CPU处理速度较慢,因此这种三层交换机处理速度较慢。
   市场产品选型
    近年来宽带IP网络建设成为热点,下面以适合定位于接入层或中小规模汇聚层的第三层交换机产品为例,介绍一些三层交换机的具体技术。在市场上的主流接入第三层交换机,主要有Cisco的Catalyst2948GL3、Extreme的Summit24和AlliedTelesyn的Rapier24等,这几款三层交换机产品各具特色,涵盖了三层交换机大部分应用特性。当然在选择第三层交换机时,用户可根据自己的需要,判断并选择上述产品或其他厂家的产品,如北电网络的Passport/Acceler系列、原Cabletron的×××系列(在Cabletron一分四后,大部分×××三层交换机已并入Riverstone公司)、Avaya的CajunM系列、3Com的Superstack34005系列等。此外,国产网络厂商神州数码网络、TCL网络、上海广电应确信、紫光网联、首信等都已推出了三层交换机产品。下面就其中三款产品进行介绍,使您能够较全面地了解三层交换机,并针对自己的情况选择合适的机型。
    Cisco Catalyst 2948GL3交换机结合业界标准IOS提供完整解决方案,在版本12.0(10)以上全面支持IOS访问控制列表ACL,配合核心Catalyst6000,可完成端到端全面宽带城域网的建设(Catalyst6000使用MSFC模块完成其多层交换服务,并已停止使用RSM路由交换模块,IOS版本6.1以上全面支持ACL)。
    Extreme公司三层交换产品解决方案,能够提供独特的以太网带宽分配能力,切割单位为500kbps或200kbps,服务供应商可以根据带宽使用量收费,可实现音频和视频的固定延迟传输。
    AlliedTelesyn公司Rapier24三层交换机提供的PPPoE特性,丰富和完善了用户认证计费手段,可适合多种接入网络,应用灵活,易于实现业务选择,同时又保护目前用户的已有投资,另可配合NAT(网络地址转换)和DHCP的Server等功能,为许多服务供应商看好。
    总之,三层交换机从概念的提出到今天的普及应用,虽然只历经了几年的时间,但其扩展的功能也不断结合实际应用得到丰富。随着ASIC硬件芯片技术的发展和实际应用的推广,三层交换的技术与产品也会得到进一步发展。
二层交换机,三层交换机,四层交换机的区别
二层交换技术是发展比较成熟,二层交换机属数据链路层设备,可以识别数据包中的MAC地址信息,根据MAC地址进行转发,并将这些MAC地址与对应的端口记录在自己内部的一个地址表中。具体的工作流程如下:
(1) 当交换机从某个端口收到一个数据包,它先读取包头中的源MAC地址,这样它就知道源MAC地址的机器是连在哪个端口上的;
(2) 再去读取包头中的目的MAC地址,并在地址表中查找相应的端口;
(3) 如表中有与这目的MAC地址对应的端口,把数据包直接复制到这端口上;
(4) 如表中找不到相应的端口则把数据包广播到所有端口上,当目的机器对源机器回应时,交换机又可以学习一目的MAC地址与哪个端口对应,在下次传送数据时就不再需要对所有端口进行广播了。
   不断的循环这个过程,对于全网的MAC地址信息都可以学习到,二层交换机就是这样建立和维护它自己的地址表。
   从二层交换机的工作原理可以推知以下三点:
(1) 由于交换机对多数端口的数据进行同时交换,这就要求具有很宽的交换总线带宽,如果二层交换机有N个端口,每个端口的带宽是M,交换机总线带宽超过N×M,那么这交换机就可以实现线速交换;
(2) 学习端口连接的机器的MAC地址,写入地址表,地址表的大小(一般两种表示方式:一为BEFFER RAM,一为MAC表项数值),地址表大小影响交换机的接入容量;
(3) 还有一个就是二层交换机一般都含有专门用于处理数据包转发的ASIC (Application specific Integrated Circuit)芯片,因此转发速度可以做到非常快。由于各个厂家采用ASIC不同,直接影响产品性能。
   以上三点也是评判二三层交换机性能优劣的主要技术参数,这一点请大家在考虑设备选型时注意比较。
(二)路由技术
   路由器工作在OSI模型的第三层---网络层操作,其工作模式与二层交换相似,但路由器工作在第三层,这个区别决定了路由和交换在传递包时使用不同的控制信息,实现功能的方式就不同。工作原理是在路由器的内部也有一个表,这个表所标示的是如果要去某一个地方,下一步应该向那里走,如果能从路由表中找到数据包下一步往那里走,把链路层信息加上转发出去;如果不能知道下一步走向那里,则将此包丢弃,然后返回一个信息交给源地址。
   路由技术实质上来说不过两种功能:决定最优路由和转发数据包。路由表中写入各种信息,由路由算法计算出到达目的地址的最佳路径,然后由相对简单直接的转发机制发送数据包。接受数据的下一台路由器依照相同的工作方式继续转发,依次类推,直到数据包到达目的路由器。
   而路由表的维护,也有两种不同的方式。一种是路由信息的更新,将部分或者全部的路由信息公布出去,路由器通过互相学习路由信息,就掌握了全网的拓扑结构,这一类的路由协议称为距离矢量路由协议;另一种是路由器将自己的链路状态信息进行广播,通过互相学习掌握全网的路由信息,进而计算出最佳的转发路径,这类路由协议称为链路状态路由协议。
   由于路由器需要做大量的路径计算工作,一般处理器的工作能力直接决定其性能的优劣。当然这一判断还是对中低端路由器而言,因为高端路由器往往采用分布式处理系统体系设计。
(三)三层交换技术
   近年来的对三层技术的宣传,耳朵都能起茧子,到处都在喊三层技术,有人说这是个非常新的技术,也有人说,三层交换嘛,不就是路由器和二层交换机的堆叠,也没有什么新的玩意,事实果真如此吗?下面先来通过一个简单的网络来看看三层交换机的工作过程。

   组网比较简单
   使用IP的设备A------------------------三层交换机------------------------使用IP的设备B
   比如A要给B发送数据,已知目的IP,那么A就用子网掩码取得网络地址,判断目的IP是否与自己在同一网段。
   如果在同一网段,但不知道转发数据所需的MAC地址,A就发送一个ARP请求,B返回其MAC地址,A用此MAC封装数据包并发送给交换机,交换机起用二层交换模块,查找MAC地址表,将数据包转发到相应的端口。
   如果目的IP地址显示不是同一网段的,那么A要实现和B的通讯,在流缓存条目中没有对应MAC地址条目,就将第一个正常数据包发送向一个缺省网关,这个缺省网关一般在操作系统中已经设好,对应第三层路由模块,所以可见对于不是同一子网的数据,最先在MAC表中放的是缺省网关的MAC地址;然后就由三层模块接收到此数据包,查询路由表以确定到达B的路由,将构造一个新的帧头,其中以缺省网关的MAC地址为源MAC地址,以主机B的MAC地址为目的MAC地址。通过一定的识别触发机制,确立主机A与B的MAC地址及转发端口的对应关
系,并记录进流缓存条目表,以后的A到B的数据,就直接交由二层交换模块完成。这就通常所说的一次路由多次转发。
   以上就是三层交换机工作过程的简单概括,可以看出三层交换的特点:
由硬件结合实现数据的高速转发。
   这就不是简单的二层交换机和路由器的叠加,三层路由模块直接叠加在二层交换的高速背板总线上,突破了传统路由器的接口速率限制,速率可达几十Gbit/s。算上背板带宽,这些是三层交换机性能的两个重要参数。
   简洁的路由软件使路由过程简化。
   大部分的数据转发,除了必要的路由选择交由路由软件处理,都是又二层模块高速转发,路由软件大多都是经过处理的高效优化软件,并不是简单照搬路由器中的软件。
结论
   二层交换机用于小型的局域网络。这个就不用多言了,在小型局域网中,广播包影响不大,二层交换机的快速交换功能、多个接入端口和低谦价格为小型网络用户提供了很完善的解决方案。
   路由器的优点在于接口类型丰富,支持的三层功能强大,路由能力强大,适合用于大型的网络间的路由,它的优势在于选择最佳路由,负荷分担,链路备份及和其他网络进行路由信息的交换等等路由器所具有功能。
   三层交换机的最重要的功能是加快大型局域网络内部的数据的快速转发,加入路由功能也是为这个目的服务的。如果把大型网络按照部门,地域等等因素划分成一个个小局域网,这将导致大量的网际互访,单纯的使用二层交换机不能实现网际互访;如单纯的使用路由器,由于接口数量有限和路由转发速度慢,将限制网络的速度和网络规模,采用具有路由功能的快速转发的三层交换机就成为首选。
   一般来说,在内网数据流量大,要求快速转发响应的网络中,如全部由三层交换机来做这个工作,会造成三层交换机负担过重,响应速度受影响,将网间的路由交由路由器去完成,充分发挥不同设备的优点,不失为一种好的组网策略,当然,前提是客户的腰包很鼓,不然就退而求其次,让三层交换机也兼为网际互连。
   第四层交换的一个简单定义是:它是一种功能,它决定传输不仅仅依据MAC地址(第二层网桥)或源/目标IP地址(第三层路由),而且依据TCP/UDP(第四层) 应用端口号。第四层交换功能就象是虚IP,指向物理服务器。它传输的业务服从的协议多种多样,有HTTP、FTP、NFS、Telnet或其他协议。这些业务在物理服务器基础上,需要复杂的载量平衡算法。在IP世界,业务类型由终端TCP或UDP端口地址来决定,在第四层交换中的应用区间则由源端和终端IP地址、TCP和UDP端口共同决定。
   在第四层交换中为每个供搜寻使用的服务器组设立虚IP地址(VIP),每组服务器支持某种应用。在域名服务器(DNS)中存储的每个应用服务器地址是VIP,而不是真实的服务器地址。
   当某用户申请应用时,一个带有目标服务器组的VIP连接请求(例如一个TCP SYN包)发给服务器交换机。服务器交换机在组中选取最好的服务器,将终端地址中的VIP用实际服务器的IP取代,并将连接请求传给服务器。这样,同一区间所有的包由服务器交换机进行映射,在用户和同一服务器间进行传输。
第四层交换的原理
   OSI模型的第四层是传输层。传输层负责端对端通信,即在网络源和目标系统之间协调通信。在IP协议栈中这是TCP(一种传输协议)和UDP(用户数据包协议)所在的协议层。
   在第四层中,TCP和UDP标题包含端口号(portnumber),它们可以唯一区分每个数据包包含哪些应用协议(例如HTTP、FTP等)。端点系统利用这种信息来区分包中的数据,尤其是端口号使一个接收端计算机系统能够确定它所收到的IP包类型,并把它交给合适的高层软件。端口号和设备IP地址的组合通常称作“插口(socket)”。 1和255之间的端口号被保留,他们称为“熟知”端口,也就是说,在所有主机TCP/IP协议栈实现中,这些端口号是相同的。除了“熟知”端口外,标准UNIX服务分配在256到1024端口范围,定制的应用一般在1024以上分配端口号. 分配端口号的最近清单可以在RFc1700”Assigned Numbers”上找到。TCP/UDP端口号提供的附加信息可以为网络交换机所利用,这是第4层交换的基础。
    "熟知"端口号举例:
     应用协议     端口号
     FTP        20(数据)
                  21(控制)
     TELNET    23
     SMTP      25
     HTTP       80
     NNTP      119
     NNMP      16
                  162(SNMP traps)
   TCP/UDP端口号提供的附加信息可以为网络交换机所利用,这是第四层交换的基础。
具有第四层功能的交换机能够起到与服务器相连接的“虚拟IP”(VIP)前端的作用。
   每台服务器和支持单一或通用应用的服务器组都配置一个VIP地址。这个VIP地址被发送出去并在域名系统上注册。
   在发出一个服务请求时,第四层交换机通过判定TCP开始,来识别一次会话的开始。然后它利用复杂的算法来确定处理这个请求的最佳服务器。一旦做出这种决定,交换机就将会话与一个具体的IP地址联系在一起,并用该服务器真正的IP地址来代替服务器上的VIP地址。
   每台第四层交换机都保存一个与被选择的服务器相配的源IP地址以及源TCP 端口相关联的连接表。然后第四层交换机向这台服务器转发连接请求。所有后续包在客户机与服务器之间重新影射和转发,直到交换机发现
会话为止。
   在使用第四层交换的情况下,接入可以与真正的服务器连接在一起来满足用户制定的规则,诸如使每台服务器上有相等数量的接入或根据不同服务器的容量来分配传输流。
   如何选用合适的第四层交换
   a,速度
   为了在企业网中行之有效,第四层交换必须提供与第三层线速路由器可比拟的性能。也就是说,第四层交换必须在所有端口以全介质速度操作,即使在多个千兆以太网连接上亦如此。千兆以太网速度等于以每秒488000 个数据包的最大速度路由(假定最坏的情形,即所有包为以及网定义的最小尺寸,长64字节)。
   b,服务器容量平衡算法

   依据所希望的容量平衡间隔尺寸,第四层交换机将应用分配给服务器的算法有很多种,有简单的检测环路最近的连接、检测环路时延或检测服务器本身的闭环反馈。在所有的预测中,闭环反馈提供反映服务器现有业务量的最精确的检测。
   c,表容量
   应注意的是,进行第四层交换的交换机需要有区分和存贮大量发送表项的能力。交换机在一个企业网的核心时尤其如此。许多第二/ 三层交换机倾向发送表的大小与网络设备的数量成正比。对第四层交换机,这个数量必须乘以网络中使用的不同应用协议和会话的数量。因而发送表的大小随端点设备和应用类型数量的增长而迅速增长。第四层交换机设计者在设计其产品时需要考虑表的这种增长。大的表容量对制造支持线速发送第四层流量的高性能交换机至关重要.
   d,冗余
   第四层交换机内部有支持冗余拓扑结构的功能。在具有双链路的网卡容错连接时,就可能建立从一个服务器到网卡,链路和服务器交换器的完全冗余系统。