网上交换机(英语:Network switch)是一种网路数据转发设备,能够对数据包进行高速地“交换”。
基本介绍
- 中文名:网路交换器
- 外文名:Network Switch
简介
网上交换机(英语:Network switch)是一种网路数据转发设备,能够对数据包进行高速地“交换”。
工作原理
二层交换机工作于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 设备的造价较为昂贵,在区域网路中的套用已经逐步被乙太网的帧交换技术所取代。
工作方式
当一台交换机安装配置好之后,其工作过程如下:
- 收到某网段(设为A)MAC地址为X的计算机发给MAC地址为Y的计算机的数据包。交换机从而记下了MAC地址X在网段A。这称为学习(learning)。
- 交换机还不知道MAC地址Y在哪个网段上,于是向除了A以外的所有网段转发该数据包。这称为泛洪(flooding)。
- MAC地址Y的计算机收到该数据包,向MAC地址X发出确认包。交换机收到该包后,从而记录下MAC地址Y所在的网段。
- 交换机向MAC地址X转发确认包。这称为转发(forwarding)。
- 交换机收到一个数据包,查表后发现该数据包的来源地址与目的地址属于同一网段。交换机将不处理该数据包。这称为过滤(filtering)。
- 交换机内部的MAC地址-网段查询表的每条记录採用时间戳记录最后一次访问的时间。早于某个阈值(用户可配置)的记录被清除。这称为老化(aging)。
对于全交换(full-switch)区域网路,交换机每个连线埠只连线一台设备,因此不会发生碰撞。交换机也不需要做过滤。
第二层交换技术
第二层的网路交换机依据第二层的地址传送网路帧。第二层的地址又称硬体地址(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),因为Hub是共享式的网路;而使用交换机,每个接口有100Mb/s,如果有100个接口,总频宽为100*100Mb/s(最终的频宽大小取决于输入接口的频宽;即如果输入连线埠只有10000M,则达到上限前,每个用户都能使用100M频宽,但一旦所有用户的总需求超过10000M,用户将在相同优先权的原则下进行频宽分配),因为交换机是独立式的网路。
二层交换机与路由器的区别
相比之下,路由器是在OSI 七层网路模型中的第三层--网路层操作的,它在网路中,收到任何一个数据包(包括广播包在内),都要将该数据包第二层(数据链路层)的信息去掉(称为"拆包"),查看第三层信息(IP 地址)。然后,根据路由表确定数据包的路由,再检查安全访问表;若被通过,则再进行第二层信息的封装(称为"打包"),最后将该数据包转发。如果在路由表中查不到对应MAC 地址的网路地址,则路由器将向源地址的站点返回一个信息,并把这个数据包丢掉。与交换机相比,路由器显然能够提供构成企业网安全控制策略的一系列访问控制机制。由于路由器对任何数据包都要有一个"拆打"过程,即使是同一源地址向同一目的地址发出的所有数据包,也要重複相同的过程。这导致路由器不可能具有很高的吞吐量,也是路由器成为网路瓶颈的原因之一。如果路由器的工作仅仅是在子网与子网间、网路与网路间交换数据包的话,我们可能会买到比今天便宜得多的路由器。实际上路由器的工作远不止这些,它还要完成数据包过滤、数据包压缩、协定转换、维护路由表、计算路由、甚至防火墙等许多任务作。而所有这些都需要大量CPU 资源,因此使得路由器一方面价格昂贵,另一方面越来越成为网路瓶颈。 路由器处理能力是有限的,相对于区域网路的交换速度来说路由器的数据路由速度也是较缓慢的。路由器的低效率和长时延使之成为整个网路的瓶颈。虚拟区域网路(VLAN )之间的访问速度是加快整个网路速度的关键,某些情况下(特别是Intranet ),划定虚拟区域网路本身是一件困难的事情。第三层交换机的目的正在于此,它可以完成Internet 中虚拟区域网路(VLAN )之间的数据包以高速率进行转发。
“交换”一词最早出现于电话系统,指两个不同电话交换机之间语音信号的交换。故从本意上讲,交换是完成信号由交换设备入口至出口的转发的技术的统称。路由器名称中的“路由”(router)来自于路由器的转发策略--路由选择(routing)。交换机和路由器的区别有但不局限于以下几点(这里的交换机和路由器都是常规型号的):
- 1.两者工作在OSI模型的不同层次上
- 交换机工作在OSI模型第二层数据链路层,路由器工作在OSI模型第三层网路层。网路层提供更多的协定信息,方便路由器做出更加智慧型的转发选择。
- 2.两者转发时所依据的对象不同
- 交换机是基于MAC地址识别,实现封装数据包转发。路由器基于网路ID号(IP位址)。MAC一般被固化在网卡中,不可更改。而IP位址可以被系统或网路管理员进行设定和分配。
- 3.两者转发广播数据包的域不同
- 被交换机连线起来的网路属于同一广播域,广播数据包会在网路内所有网段上进行传播。连线在路由器上的网段则被分割为不同广播域,广播数据包只在各自广播域内传播而无法穿透路由器。路由器的这种子网隔离功能可以在一定程度上防止广播风暴。
三层交换机与路由器的区别
虽然三层交换机与路由器都具有路由转发功能,二者都运行在OSI模型的第三层,即网路层,但是二者并不等同,适用範围也不同,不会相互替代。
- 1.主打功能不同
- 三层交换机的主打的功能点是二层交换技术,并附加一点路由转发功能。路由器的主打功能是路由转发,并可能附加一些备用功能,比如硬体防火墙、二层交换技术等其它功能。
- 2.适用环境不同
- 三层交换机的路由转发功能一般都比较粗略,由于它一般用在简单的接入网的连线。它在乙太网中的主要作用还是提供快速的二层数据交换,功能特点还是针对频繁的乙太网数据交换。
- 路由器的设计初衷就是为了跨网段连线。儘管它也能在区域网路内用于连线网路,但是它的路由转发功能主要用于不同类型网路之间,例如连线区域网路与广域网,连线乙太网和令牌环网。它的主打功能就是路由转发,专业处理複杂路由路径和複杂的网路连线。因此,路由器的路由转发功能,比三层交换机强大得多。路由器的优势是能够选择最佳路由、负荷分担、链路备份以及与其他网路进行路由信息的交换等功能。为了能够适应各种类型的网路,路由器的接口类型非常丰富,例如乙太网接口、令牌环网接口、WLAN网卡、光纤接口等等。三层交换机一般只有乙太网接口。
- 3.性能不同
- 三层交换机的路由转发是由硬体实现的,使用专用ASIC晶片来处理路由转发。路由器的路由转发是由软体实现的,在CPU中运行一段程式来处理路由转发。
- 所以三层交换机的转发效率会高过路由器,但是路由转发的功能都比较弱,由于路由转发功能是固化在硬体中的,不具有软体可扩展性,也就不会具有路由器的附加功能(例如防火墙功能)。
参见
- 信息技术主题
- 网路地址转换
- 桥接器
- 集线器
- 路由器
- 数据机
- Wi-Fi
- 无线接取器
- 网际网路历史