網路交換器

工作原理

二层交换机工作于OSI参考模型的第二层，即数据链路层。交换机内部的CPU会在每个端口成功连接时，通过将MAC地址和端口对应，形成一张MAC表。在今后的通讯中，发往该MAC地址的数据包将仅送往其对应的端口，而不是所有的端口。因此交换机可用于划分数据链路层广播，即冲突域；但它不能划分网络层广播，即广播域。交换技术是在OSI 七层网络模型中的第二层，即数据链路层进行操作的，因此交换机对数据包的转发是创建在MAC (Media Access Control) 地址--物理地址基础之上的，对于IP 网络协议来说，它是透明的，即交换机在转发数据包时，不知道也无须知道信源机和信宿机的IP 地址，只需知其物理地址即MAC 地址。交换机在操作过程当中会不断的收集资料去创建它本身的一个地址表，这个表相当简单，它说明了某个MAC 地址是在哪个端口上被发现的，所以当交换机收到一个TCP/IP 数据包时，它便会看一下该数据包的目的MAC 地址，核对一下自己的地址表以确认应该从哪个端口把数据包发出去。由于这个过程比较简单，加上这功能由一崭新硬件进行——ASIC (Application Specific Integrated Circuit) ，因此速度相当快，一般只需几十微秒，交换机便可决定一个IP 数据包该往那里送。值得一提的是：万一交换机收到一个不认识的数据包，就是说如果目的地MAC 地址不能在地址表中找到时，交换机会把IP 数据包"扩散"出去，即把它从每一个端口中提交去，就如交换机在处理一个收到的广播数据包时一样。二层交换机的弱点正是它处理广播数据包的手法不太有效，比方说，当一个交换机收到一个从TCP/IP 工作站上发出来的广播数据包时，他便会把该数据包传到所有其他端口去，哪怕有些端口上连的是IPX 或DECnet 工作站。这样一来，非TCP/IP 节点的带宽便会受到负面的影响，就算同样的TCP/IP 节点，如果他们的子网跟发送那个广播数据包的工作站的子网相同，那么他们也会无原无故地收到一些与他们毫不相干的网络广播，整个网络的效率因此会大打折扣。从90 年代开始，出现了局域网交换设备。从网络交换产品的形态来看，交换产品大致有三种：端口交换、帧交换和信元交换。

端口交换

端口交换技术最早出现于插槽式集线器中。这类集线器的背板通常划分有多个以太网段（每个网段为一个广播域）、各网段通过网桥或路由器相连。以太网模块插入后通常被分配到某个背板网段上，端口交换适用于将以太模块的端口在背板的多个网段之间进行分配。这样网管人员可根据网络的负载情况，将用户在不同网段之间进行分配。这种交换技术是基于OSI第一层（物理层）上完成的，它并没有改变共享传输介质的特点，因此并不是真正意义上的交换。

帧交换

帧交换是当前应用的最广的局域网交换技术，它通过对传统传输介质进行分段，提供并行传送的机制，减少了网络的碰撞冲突域，从而获得较高的带宽。不同厂商产品实现帧交换的技术均有差异，但对网络帧的处理方式一般有：存储转发式和直通式两种。存储转发式(Store-and-Forward) ：当一个数据包以这种技术进入一个交换机时，交换机将读取足够的信息，以便不仅能决定哪个端口将被用来发送该数据包，而且还能决定是否发送该数据包。这样就能有效地排除了那些有缺陷的网络段。虽然这种方式不及使用直通式产品的交换速度，但是它们却能排除由破坏的数据包所引起的经常性的有害后果。直通式(Cut-Through) ：当一个数据包使用这种技术进入一个交换机时，它的地址将被读取。然后不管该数据包是否为错误的格式，它都将被发送。由于数据包只有开头几个字节被读取，所以这种方法提供了较多的交换次数。然而所有的数据包即使是那些可能已被破坏的都将被发送。直到接收站才能测出这些被破坏的包，并要求发送方重发。但是如果网络接口卡失效，或电缆存在缺陷；或有一个能引起数据包遭破坏的外部信号源，则出错将十分频繁。随着技术的发展，直通式交换将逐步被淘汰。在“直通式”交换方式中，交换机只读出网络帧的前几个字节，便将网络帧传到相应的端口上，虽然交换速度很快，但缺乏对网络帧的高级控制，无智能性和安全性可言，同时也无法支持具有不同速率端口的交换；而“存储转发”交换方式则通过对网络帧的读取进行验错和控制。

信元交换

信元交换的基本思想是采用固定长度的信元进行交换，这样就可以用硬件实现交换，从而大大提高交换速度，尤其适合语音、视频等多媒体信号的有效传输。当前，信元交换的实际应用标准是ATM （异步传输模式），但是ATM 设备的造价较为昂贵，在局域网中的应用已经逐步被以太网的帧交换技术所取代。

第二层交换技术

第二层的网络交换机依据第二层的地址传送网络帧。第二层的地址又称硬件地址（MAC 地址），第二层交换机通常提供很高的吞吐量（线速）、低延时（10 微秒左右），每端口的价格比较经济。第二层的交换机对于路由器和主机是“透明的”，主要遵从802.1d 标准。该标准规定交换机通过观察每个端口的数据帧获得源MAC 地址，交换机在内部的高速缓存中创建MAC 地址与端口的映射表。当交换机接受的数据帧的目的地址在该映射表中被查到，交换机便将该数据帧送往对应的端口。如果它查不到，便将该数据帧广播到该端口所属虚拟局域网（VLAN ）的所有端口，如果有回应数据包，交换机便将在映射表中增加新的对应关系。当交换机初次加入网络中时，由于映射表是空的，所以，所有的数据帧将发往虚拟局域网内的全部端口直到交换机“学习”到各个MAC 地址为止。这样看来，交换机刚刚启动时与传统的共享式集线器作用相似的，直到映射表创建起来后，才能真正发挥它的性能。这种方式改变了共享式以太网抢行的方式，如同在不同的行驶方向上铺架了立交桥，去往不同方向的车可以同时通行，因此大大提高了流量。从虚拟局域网（VLAN ）角度来看，由于只有子网内部的节点竞争带宽，所以性能得到提高。主机1 访问主机2 同时，主机3 可以访问主机4 。当各个部门具有自己独立的服务器时，这一优势更加明显。但是这种环境正发生巨大的变化，因为服务器趋向于集中管理，另外，这一模式也不适合Internet 的应用。不同虚拟局域网（VLAN ）之间的通讯需要通过路由器来完成，另外为了实现不同的网段之间通讯也需要路由器进行互连。

第三层交换技术

局域网交换机的引入，使得网络站点间可独享带宽，消除了无谓的碰撞检测和出错重发，提高了传输效率，在交换机中可并行地维护几个独立的、互不影响的通信进程。在交换网络环境下，用户信息只在源节点与目的节点之间进行传送，其他节点是不可见的。但有一点例外，当某一节点在网上发送广播或组播时，或某一节点发送了一个交换机不认识的MAC 地址数据包时，交换机上的所有节点都将收到这一广播信息。整个交换环境构成一个大的广播域。点到点是在第二层快速、有效的交换，但广播风暴会使网络的效率大打折扣。交换机的速度实在快，比路由器快的多，而且价格便宜的多。可以说，在网络系统集成的技术中，直接面向用户的第一层接口和第二层交换技术方面已得到令人满意的答案。交换式局域网技术使专用的带宽为用户所独享，极大的提高了局域网传输的效率。但第二层交换也暴露出弱点：对广播风暴、异种网络互连、安全性控制等不能有效地解决。作为网络核心、起到网间互连作用的路由器技术却没有质的突破。当今绝大部分的企业网都已变成实施TCP/IP 协议的Web 技术的内联网，用户的数据往往越过本地的网络在网际间传送，因而，路由器常常不堪重负。传统的路由器基于软件，协议复杂，与局域网速度相比，其数据传输的效率较低。但同时它又作为网段(子网，VLAN)互连的枢纽，这就使传统的路由器技术面临严峻的挑战。随着Internet/Intranet 的迅猛发展和B/S(浏览器/服务器)计算模式的广泛应用，跨地域、跨网络的业务急剧增长，业界和用户深感传统的路由器在网络中的瓶颈效应。改进传统的路由技术迫在眉睫。一种办法是安装性能更强的超级路由器，然而，这样做开销太大，如果是建设交换网，这种投资显然是不合理的。
在这种情况下，一种新的路由技术应运而生，这就是第三层交换技术：第三层交换技术也称为IP 交换技术、高速路由技术等。第三层交换技术是相对于传统交换概念而提出的。众所周知，传统的交换技术是在OSI 网络标准模型中的第二层—数据链路层进行操作的，而第三层交换技术是在网络模型中的第三层实现了数据包的高速转发。简单地说，第三层交换技术就是：第二层交换技术＋第三层转发技术。这是一种利用第三层协议中的信息来加强第二层交换功能的机制。一个具有第三层交换功能的设备是一个带有第三层路由功能的第二层交换机，但它是二者的有机结合，并不是简单的把路由器设备的硬件及软件简单地叠加在局域网交换机上。从硬件的实现上看，当前，第二层交换机的接口模块都是通过高速背板/总线(速率可高达几十Gbit/s)交换数据的，在第三层交换机中，与路由器有关的第三层路由硬件模块也插接在高速背板/总线上，这种方式使得路由模块可以与需要路由的其他模块间高速的交换数据，从而突破了传统的外接路由器接口速率的限制(10Mbit/s---100Mbit/s)。在软件方面，第三层交换机也有重大的举措，它将传统的基于软件的路由器软件进行了界定，其作法是：
1 ．对于数据包的转发：如IP/IPX 数据包的转发，这些有规律的过程通过硬件得以高速实现。
2 ．对于第三层路由软件：如路由信息的更新、路由表维护、路由计算、路由的确定等功能，用优化、高效的软件实现。假设两个使用IP 协议的站点通过第三层交换机进行通信的过程，发送站点A 在开始发送时，已知目的站的IP 地址，但尚不知道在局域网上发送所需要的MAC 地址。要采用地址解析(ARP)来确定目的站的MAC 地址。发送站把自己的IP 地址与目的站的IP 地址比较，采用其软件中配置的子网掩码提取出网络地址来确定目的站是否与自己在同一子网内。若目的站B 与发送站A 在同一子网内，A 广播一个ARP 请求，B 返回其MAC 地址，A 得到目的站点B 的MAC 地址后将这一地址缓存起来，并用此MAC 地址数据包转发数据，第二层交换模块查找MAC 地址表确定将数据包发向目的端口。若两个站点不在同一子网内，如发送站A 要与目的站C 通信，发送站A 要向"缺省网关"发出ARP(地址解析)数据包，而"缺省网关"的IP 地址已经在系统软件中设置。这个IP 地址实际上对应第三层交换机的第三层交换模块。所以当发送站A 对"缺省网关"的IP 地址广播出一个ARP 请求时，若第三层交换模块在以往的通信过程中已得到目的站B 的MAC 地址，则向发送站A 回复B 的MAC 地址；否则第三层交换模块根据路由信息向目的站广播一个ARP 请求，目的站C 得到此ARP 请求后向第三层交换模块回复其MAC 地址，第三层交换模块保存此地址并回复给发送站A 。以后，当再进行A 与C 之间数据包转发时，将用最终的目的站点的MAC 地址数据包，数据转发过程全部交给第二层交换处理，信息得以高速交换。
第三层交换具有以下突出特点：
1. 有机的硬件结合使得数据交换加速；
2. 优化的路由软件使得路由过程效率提高；
3. 除了必要的路由决定过程外，大部分数据转发过程由第二层交换处理；
4. 多个子网互连时只是与第三层交换模块的逻辑连接，不像传统的外接路由器那样需增加端口，保护了用户的投资。
第三层交换的目标是，只要在源地址和目的地址之间有一条更为直接的第二层通路，就没有必要经过路由器转发数据包。第三层交换使用第三层路由协议确定传送路径，此路径可以只用一次，也可以存储起来，供以后使用。之后数据包通过一条虚电路绕过路由器快速发送。第三层交换技术的出现，解决了局域网中网段划分之后，网段中子网必须依赖路由器进行管理的局面，解决了传统路由器低速、复杂所造成的网络瓶颈问题。当然，三层交换技术并不是网络交换机与路由器的简单叠加，而是二者的有机结合，形成一个集成的、完整的解决方案。
传统的网络结构对用户应用所造成的限制，正是三层交换技术所要解决的关键问题。当前，市场上最高档路由器的最大处理能力为每秒25 万个包，而最高档交换机的最大处理能力则在每秒1000 万个包以上，二者相差40 倍。在交换网络中，尤其是大规模的交换网络，没有路由功能是不可想象的。然而路由器的处理能力又限制了交换网络的速度，这就是三层交换所要解决的问题。第三层交换机并没有像其他二层交换机那样把广播数据包扩散，第三层交换机之所以叫三层交换机是因为它们能看得懂第三层的信息，如IP 地址、ARP 等。因此，三层交换机便能洞悉某广播数据包目的何在，而在没有把他扩散出去的情形下，满足了发出该广播数据包的人的需要，(不管他们在任何子网里)。如果认为第三层交换机就是路由器，那也应称作超高速反传统路由器，因为第三层交换机没做任何"拆打"数据包的工作，所有路过他的数据包都不会被修改并以交换的速度传到目的地。当前，第三层交换机的成熟还有很长的路，像其它一些新技术一样，还待进行其协议的标准化工作。当前很多厂商都宣称开发出了第三层交换机，但经国际权威机构测试，作法各异且性能表现不同。另外，可能是基于各厂商占领市场的策略，当前的第三层交换机主要可交换路由IP/IPX 协议，还不能处理其它一些有一定应用领域的专用协议。因此，有关专家认为，第三层交换技术是将来的主要网络集成技术，传统的路由器在一段时间内还会得以应用，但它将处于其力所能及的位置，那就是处于网络的边缘，去作速度受限的广域网互联、安全控制(防火墙)、专用协议的异构网络互连等。

传统交换机（二层交换机）

交换机被广泛应用于二层网络交换。中档的网管型交换机还具有VLAN划分、端口自动协商、MAC访问控制列表等功能，并提供命令行界面或图形界面控制台，供网络管理员调整参数

三层交换机

三层交换机则可以处理第三层网络层协议，用于连接不同网段，通过对缺省网关的查询学习来创建两个网段之间的直接连接。
三层交换机具有一定的“路由”功能，但只能用于同一类型的局域网子网之间的互连。这样，三层交换机可以像二层交换机那样通过MAC地址标识数据包，也可以像传统路由器那样在两个局域网子网之间进行功能较弱的路由转发，它的路由转发不是通过软件来维护的路由表，而是通过专用的ASIC芯片处理这些转发；

四层交换机

四层交换机可以处理第四层传输层协议，可以将会话与一个具体的IP地址绑定，以实现虚拟IP  ；

七层交换器

更加智能的交换器，可以充分利用频宽资源来过滤，识别和处理应用层数据转换的交换设备。

带宽

网络交换机带宽分为：10 Mb/s、100 Mb/s、1000 Mb/s、10000 Mb/s（10Gb/s）。
Mb/s换算MB/s：1 Mb/s = 0.126 MB/s。

二层交换机与集线器的区别

交换机与集线器不同之处是，集线器会将网络内某一用户发送的数据包传至所有已连接到集线器的计算机。而交换机则只会将数据包发送到指定目的地的计算机（透过MAC表），相对上能减少数据碰撞及数据被窃听的机会。交换机更能将同时传到的数据包分别处理，而集线器则不能。
最大的不同之处在于集线器的每一个接口都处于相同的冲突域，却交换机的每个接口处于独立一个冲突域。在性能方面尤为突出：例如在100Mb/s的以太网中有100个用户，使用集线器，每个用户只有1Mb/s（100Mb/s/100），因为集线器是共享式的网络；而使用交换机，每个接口有100Mb/s，如果有100个接口，总带宽为100*100Mb/s （最终的带宽大小取决于输入接口的带宽；即如果输入端口只有10000M，则达到上限前，每个用户都能使用100M带宽，但一旦所有用户的总需求超过10000M，用户将在相同优先级的原则下进行带宽分配），因为交换机是独立式的网络。