交换机也称交换式集线器,是专门设计使各种计算机能够高速通信的独享带宽的网络设备。集线器只对信号再生与放大,所有设备共享一个传输介质,设备必须遵循CSMA/CD方式进行通信。而交换机能够读取数据包中的MAC地址信息,并根据MAC地址来进行交换,且每个端口都独享带宽。作为高性能的集线设备,交换机已经逐步取代了集线器而成为局域网的关键设备。
交换机设备的提供商主要有思科、华为、中兴等。
交换机的工作原理:
交换机内部有一个地址表,这个表标明了MAC地址和交换机端口的对应关系。当交换机从某个端口收到一个数据包,首先读取包头中的源MAC地址,这样就知道源MAC地址的机器是连在哪个端口上。接着读取包头中的目的MAC地址,并在地址表中查找相应的端口,若表中有与该目的MAC地址对应的端口,则把数据包直接复制到这个端口上,若表中找不到相应的端口则把数据包广播到所有端口上,当目的地址对源机器回应时,交换机又可以学习到目的MAC地址与哪个端口对应,若下次再向该数据端口发送数据时就无需再向所有端口进行广播了。不断地循环这个过程,对于全网的MAC地址信息都可以学习到。因此,交换机主要包括地址学习、转发/过滤和避免环路3个功能。
由于MAC地址表保存在交换机的内存之中,故当交换机启动时MAC地址表是空的。此时工作站A给工作站C发送一个单播数据帧,交换机通过E0口收到了这个数据帧,读取数据帧的源MAC地址后将工作站A的MAC地址与E0口关联,记录到MAC地址表中。此外,由于目的地址是未知的,交换机进行泛洪操作,即从除了进入端口外的所有其他端口转发。工作站D发送一个数据帧给工作站C时,交换机执行同样的操作,通过这个过程交换机学习到了工作站D的MAC地址,由于目的地址对交换机来说还是未知的,所以交换机仍采用泛洪操作。所有数据站都发送过数据帧后,交换机学习到了所有的工作站的MAC地址与端口的对应关系,并记录到MAC地址表中。此时工作站A再给工作站C发送数据帧时,交换机检查到了此帧的目的MAC地址已经存在MAC地址表中,假设与E2端口相关联,交换机直接向E2端口转发,即做转发决定。那么,对其他端口并不是转发此数据帧,即做过滤操作。
交换机的工作方式:
1.直通式(Cut Through)
直通方式的以太网交换机可以理解为在各端口间是纵横交叉的线路矩阵电话交换机。它在输入端口检测到一个数据包时,检查该包的包头,获取包的目的地址,启动内部的动态查找表转换成相应的输出端口,在输入与输出交叉处接通,把数据包直通到相应的端口,实现交换功能。直通方式具有不需要存储、延迟非常小、交换非常快等优点。其缺点是由于数据包内容并没有被以太网交换机保存下来,所以无法检查所传送的数据包是否有误,不能提供错误检测能力;另外,由于没有缓存,不能将具有不同速率的输入/输出端口直接接通,而且容易丢包。
2.存储转发(Store & Forward)
存储转发方式是计算机网络领域应用最为广泛的方式。它检查输入端口的数据包,在对错误包处理后才取出数据包的目的地址,通过查找表转换成输出端口送出包。所以数据时延大,但可以对进入交换机的数据包进行错误检测,有效地改善网络性能。尤其重要的是它可以支持不同速度的端口间的转换,保持高速端口与低速端口间的协同工作。
3.碎片隔离(Fragment Free)
碎片隔离方式是介于前两者之间的一种解决方案。它检查数据包的长度是否够64字节。如果小于64字节,说明是假包,丢弃;如果大于64字节,则发送该包。这种方式也不提供数据校验。它的数据处理速度比存储转发方式快,但比直通慢。但由于能够避免残帧的转发,被广泛应用于低档交换机中。
路由交换机:
传统局域网常采用交换机来组件,因为交换机工作在数据链路层,故称为二层交换机。它是根据帧的物理地址来转发数据帧,速度快。但划分虚拟局域网(VLAN)后,不同VLAN之间的数据通信不能直接跨越VLAN边界,这时需要使用路由功能将报文从一个VLAN转发到另一个VLAN。为节省IP地址的浪费,由此产生了三层交换技术。
路由交换机(也称三层交换机)使用硬件技术,采用巧妙的处理方法把二层交换机和路由器在网络中的功能集成到一个盒子里,是将路由技术和交换技术合二为一的一种新的交换技术,即三层交换技术。它是通过使用硬件交换机构实现IP路由功能,从而提高路由过程的效率,加强帧的转发能力。
路由交换机的基本原理如下。假设两个使用IP协议的站点A、B通过三层交换机进行通信,发送站点A在开始发送时,把自己的IP地址与B站的IP地址比较,判断B站是否跟自己在同一子网内。若B与A在同一子网内,进行二层的转发。若两个站点不在同一子网内,发送站A要向缺省网关发出ARP(地址解析)封包,而“缺省网关”的IP地址其实是三层交换机的三层交换模块。当A对缺省网关的IP地址广播出一个ARP请求时,如果三层交换模块在以前的通信过程中已经知道B站的MAC地址,则向A回复B的MAC地址。否则,三层交换模块根据路由信息向B站广播一个ARP请求,B站得到请求后向三层交换模块回复其MAC地址,三层交换模块保存此地址并回复给A,同时将B的MAC地址发送到二层交换模块的MAC地址表中。从这以后,A向B发送的数据包便全部交给二层交换处理,信息得以高速交换。由于仅仅在路由过程中才需要三层处理,绝大部分数据都通过二层交换转发,因此三层交换机的速度很快,接近二层交换机的速度,同时比相同路由器的价格低很多。
路由交换机在对第一个数据流进行路由后,会产生一个IP地址与MAC地址的映射表,当同样的数据流再次通过时,将根据此表直接从二层通过而不再进行路由,从而消除路由器进行路由选择而造成的网络延迟,提高了数据包转发效率。可见,路由交换机即具有三层路由的功能,又具有二层交换的网络速度,相对于二层交换机具有很大的网络优越性,可以给网络的建设带来许多好处。其特性如下。
(1)高可扩充性。三层交换机在连接多个子网时,子网只是与第三层交换模块建立逻辑连接,无需要增加端口。
(2)高性价比。三层交换机具有连接大型网络的能力,功能基本上可以取代某些传统路由器,但是价格却接近二层交换机。
(3)内置安全机制。三层交换机可以与普通路由器一样,具有访问列表的功能,可以实现不同VLAN间的双向或单向通信。如果在访问列表中进行设置,可以限制用户访问特定的IP地址,这样就可以禁止非法网站访问站点。
(4)适合多媒体传输。网络中经常需要传输多媒体信息,特别是教育网。三层交换机具有QoS的控制功能,可以给不同的应用程序分配不同的带宽。
(5)计费功能。由于三层交换机可以识别数据包中的IP地址信息,因此可以统计网络中计算机的数据流量,按流量进行计费;也可以统计计算机连接在网络上的时间,按时间进行计费。二层交换机难以做到。
在实际应用中,处于同一个局域网中的各个子网的互联以及局域网中VLAN间的路由,用三层交换机来代替路由器,而只有局域网与公网之间要实现跨地域的网络访问时才通过路由器。
四层交换机:
二层交换实现了局域网内主机间的快速信息交流;三层交换是交换技术与路由技术的完美结合;四层交换技术则可以为网络应用资源提供最优分配,实现应用服务的负载均衡。
四层交换在完成信息交换与传输时,不仅仅依据MAC或IP地址,而且依据TCP\UDP应用端口号,其功能就像是虚拟IP,指向物理服务器,在第四层完成交换则由源端与终端IP地址、TCP和UDP端口共同决定。
四层交换机主要功能:
(1)数据包过滤
采用第四层信息去定义过滤规则不仅能够配置允许或禁止IP子网间的连接,还可以控制指定TCP/UDP端口的通信。和传统的基于软件的路由器不一样,主要区别就在于这种过滤能力是在ASIC专用高速芯片中实现的,从而使这种安全过滤控制机制可以全线速地进行,极大地提高了包过滤速度。
(2)服务质量
在网络系统的层次结构中,TCP/UDP第四层信息,主要用于建立应用级通信优先权限。如果没有第四层,紧急应用的优先权就无从谈起。允许基于目的地址、目的端口号的组合来区分紧急应用,使得紧急应用可以获得网络的高级别服务。
(3)负载均衡
在核心网络系统中,四层交换机担负着服务器间负载均衡,是一项非常重要的应用。第四层交换机所支持的负载均衡方式,是将附加有负载均衡服务的IP地址,通过不同的物理服务器组成一个集,共同提供相同的服务,并将其定义为一个单独的虚拟服务器。这个虚拟服务器是一个有单独的IP地址的逻辑服务器,用户数据流只需指向虚拟服务器的IP地址,而不直接和物理服务器的真实IP地址进行通信。只有通过交换机执行的网络地址转换(NAT)后,未被注册IP地址的服务器才能获得被访问的能力。这种定义虚拟服务器的另一好处是,在隐藏服务器的实际IP地址后,可以有效地防止非授权访问。
(4)主机备用连接
主机备用连接为端口设备提供了冗余连接,从而在交换机发生故障时有效保护系统,此种服务允许定义主备交换机,同虚拟服务器定义一样,它们有相同的配置参数。由于第四层交换机共享相同的MAC地址,备份交换机接收和主单元全部一样的数据,这使得备份交换机能够监视主交换机服务的通信内容。主交换机持续地通知备份交换机第四层的有关数据、MAC数据以及它的电源状况。主交换机失败时,备份交换机就会自动接管,不会中断对话或连接。
(5)统计与报告
通过查询第四层数据包,第四层交换机能够提供更详细的统计记录。这样,管理员可以收集到更详细的哪一个IP地址在进行通信的信息,甚至可根据通信中涉及的哪一个应用层服务来收集通信信息。当服务器支持多个服务时,这些统计对于考察服务器上的每个应用的负载尤其有效。增加的统计服务对于使用交换机的服务器负载平衡服务连接同样十分有用。