Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4611312
  • 博文数量: 385
  • 博客积分: 21208
  • 博客等级: 上将
  • 技术积分: 4393
  • 用 户 组: 普通用户
  • 注册时间: 2006-09-30 13:40
文章分类

全部博文(385)

文章存档

2015年(1)

2014年(3)

2012年(16)

2011年(42)

2010年(1)

2009年(2)

2008年(34)

2007年(188)

2006年(110)

分类:

2006-12-01 14:59:39

三层交换机和路由器的区别

三层交换机和路由器都工作在网络的第三层,根据ip地址进行数据包的转发(或交换),原理上没有太大的区别, 这两个名词趋向于统一,所谓交换路由器和路由交换机指的是同一样东西。我们可以认为三层交换机就是一个多端口的路由器。

  但如果从二者的历史的发展的角度去寻找,我们还是能够找出一些差别的:

路由器的历史比较久远一些,80年代中期思科就推出了业界第一台路由器。路由器的推出是为了解决远程的、 不同网段的互连互通,
所谓“路由”就是根据网络上数据包(如IP Packet)的目的地址(如IP地址)查表, 以决定并将该数据包转发到通往目的地的“下一跳”。由于路由算法比较复杂, 早期的路由器一般都是基于CPU以“单跳时钟”指令计算的方式来处理和转发数据包,这种方式转发数据包的效率是比较低的。 但我们不要忘了,在当时,远程广域的互连互通是第一位的,而需要并用得起路由器的是大企业大机构(如银行)。一方面, 承载数据的广域网链路速度比较低(低于1个E1=2Mbps,如PSTN、ISDN、DDN、Frame Relay等),
另一方面当时的应用以UNIX主机计算为主,所以网络传输的速度并不是大问题。

  总结起来,传统的路由器有3个特点:

基于CPU的单步时钟处理机制
能够处理复杂的路由算法和协议
主要用于广域网的低速数据链路


  进入90年代,PC机的飞速发展,导致以太网和TCP/IP协议的迅速崛起和广泛应用,企业内部网络越来越庞大, Internet已经成为最大的广域网,企业的远程互连互通已经越来越从自建(租)的专网转向Internet。 这些变化直接导致了交换机的出现,路由器的升级换代,以及路由器和交换机的融合。

  最早的以太网交换机于95年前后问世,其前身是网桥。网桥工作在网络的第二层,它的作用之一是隔离网络广播风暴。我们知道, 以太网上主机之间通讯链路的建立很大程度上依赖于一种广播包,严格来说广播包只负责建立和维系通讯而不传送有效的数据, 当网络上主机数量增大时广播包会以指数级增长,占用太多带宽,降低网络效率(权威的说法,一个以太网段的主机数量不要超过30台, 超过时就应该用网桥加以隔离)。网桥很像一个有着左膀和右臂的人, 它根据以太网上数据帧(Frame)的目的MAC地址决定是否将帧在左右手之间交换。广播包是没有目的地址的(意味着给所有人), 所以被隔断。我们可以把交换机理解成一个多端口的网桥,连接在它的每一个端口上的主机或网段独享带宽,各端口之间的交换相对独立, 提高了网络效率。交换机工作在网络第二层,算法相对简单,很快就有芯片厂家将其固化, 生产出交换机的核心ASIC芯片,推出硬件的线速度交换机。

  总结起来,传统的交换机有3个特点:

基于ASIC硬件,线速度交换
工作在网络第二层,主要是以太网主要用于局域网的快速数据交换
  随着企业内部网络的进一步扩到,主机增加到成百上千台,网络第三层的广播风暴成为了问题(权威的说法: 一个TCP/IP网段上的主机数量不要超过300台)。传统的交换机工作在网络第二层,不能隔离三层的广播。 一个的解决办法是在交换机上做VLAN隔离,再将VLAN上汇聚到上级路由器上,由路由器实现不同网段(3层网段)之间的路由转发。 这就是最初的路由+交换模型,典型的产品是CISCO的Catalyst 5500路由交换机。路由+交换是一个过渡产品, 今天的三层交换机在体系结构上已有很大的改观,路由和交换通过ASIC充分揉合,第一个包经过路由算法确定路径后, 后续的数据包交由交换引擎实现线速度交换。当然,把所有的路由算法都固化还很困难, 这就是今天的三层交换机要么不能100%实现线速交换,要么只能支持有限的简单的路由协议的原因。

  传统的路由器随着Internet的发展也继续保持其生命力。复杂的协议(如BGP、MPLS), 新的功能和应用(如VPN、Security)都离不开软件和CPU的计算,但路由器在体系结构上也进行了非常大的改进, 并融合了越来越多的固件和ASIC。


路由和交换的发展透析着IT产业软件和硬件的演变,并将随着人们对功能和性能的不懈追求而继续演变下去。


最简单的区别是3层交换机便宜,路由器贵
一个具有第三层交换功能的设备是一个带有第三层路由功能的第二层交换机,但它是二者的有机结合,并不是简单的把路由器设备的硬件及软件简单地叠加在局域网 交换机上。其指导思想为:一次路由,多次交换。而传统的路由器对每一个数据包都进行拆包、打包的操作,限制了系统的带宽。

HUB是基于MAC地址的广播,所有端口共享带宽,用于构建小型局域网;
二层交换机是基于MAC来确定转发方向,每对端口都有标称带宽,用于将多个用HUB构建局域网连接为一个大的局域网,或者将局域网划分为多个子网,起隔离广播的作用

三层交换机是基于IP地址来确定转发方向
路由器是基于IP地址中的网络地址确定转发方向


交换机过去是电信设备的称谓,比如电话交换机、ATM交换机、FR交换机。后来以太网的设备也有了二层的智能,虽然不象电信交换机能交换电路或虚电路,但 是各厂商从开拓市场考虑,就把多口的桥称为交换机。

HUB工作在第一层;而SWITCH从局域网的发展来看,为了便于管理,把比较大的网络从物理上分隔, 成为不同的网段,为了逻辑上连接这些不同的网段,使之可以相互通信,产生了网桥,连接多个网段需要多口的网桥,多口的网桥采用硬件来实现,就成为第二层交 换机,
随着LAN规模的进一步扩大,第二层交换机采用了专用软件来在逻辑上把同一个LAN划分为不同的子网,即虚拟的子网(VLAN)。而这不同VLAN 间的通信,早期由交换机上一级的专用路由器负责,但VLAN一多的话,转发速度就比较慢,所以后来将路由模块简化并采用硬件实现后集成到二层交换机中,成 为第三层交换机。
其实对于三层交换,每个厂商的实现都是不太一样的。但关键的就是尽量不查路由表;减轻核心CPU负担(增加ASIC,每个模块都放 CPU等措施)。

简单的说三层交换就是switch通过硬件来实现ip的路由,而传统的router主要是通过软件实现的,所以转发速率没有switch 高。

各个厂家对三层交换的解释也不同,但有一点是一致的,三层交换就是能路由。简要介绍一下: Hub:是所有端口共享一个通道,既同一网段的主机共享固有的带宽,传输通过碰撞检测进行,同一网段计算 机越多,传输碰撞也越多,传输速率会变慢;本意是枢纽,就是好多线都连在这个东西上,因为最早的以太网拓扑结构是总线型的,后来,以AT&T为首 的几家公司开发了在双绞线上跑的星型以太网,所有的网线都汇聚在一台设备上,这台设备就是网络枢纽---HUB,不管是共享式集线器还是交换机,都是 HUB。在星型结构中,它是连接的中间结点,它起放大信号的作用;所有设备共享Hub的带宽,也就是说,如果hub的带宽是10M,连结了10个设备,每 个设备就是1M;Hub所有端口共享一个MAC地址。

交换机(SWITCH):是2个相互通讯的端口独占一个端口!每个端口为固定带宽,有独特的传输方式,传输速率不受计算机增加影响, 其独特的NWAY、全双工功能增加了交换机的使用范围和传输速度。实质就是多端口网桥,只不过传统网桥的实现以软件为主,而交换机则一硬件为主来实现,所 以速度才够快,如果这么多端口全靠软件也不会有这么好的性能了.这两种设备的设计出发点不同:网桥是用来连接两个LAN的,目的是连通,而交换机则是为了 提高网络性能而设计的,着眼点在性能。用于星型结构时,它作为中心结点起放大信号的作用;端口不共享带宽,如果是一个10M的switch,那么每个端口 的带宽就是10M;每个端口拥有自己的MAC地址。它是一个网络设备,拥有路由器的一部分功能,它可以决定接收到的数据向什么地方发送,它的速度比路由器 要快。

交换机根据工作的ISO模型不同,分为三层交换机和二层交换机,即有无路由功能来区分。而交换式HUB是二层交换机的一种通俗叫法。
SWITCH是 每个端口都是交换式的,每个端口都有MAC地址表,通过学习形成一张转发对应表,根据各公司的技术不同,有些是每端口都有BUFFER和ASIC,有些是 所有端口共用一个BUFFER和ASIC(CPU),一般说来,前者用在高端交换机上,后者用在低端或桌面型交换机上。至于是否可网管,不是HUB和 SWITCH之间的区别,CISCO的一些型号的HUB也是可网管的。
交换式HUB,D-LINK有这样称呼的产品,是10/100M的,HUB的原理是广播和信号放大,所谓交换,实际上是当端口是 100M的状态时,数据从100M的端口到10M端口去,或者从10M端口到100M的端口去,因为速率不同,因此需要有一个交换模块起存储转发作用,避 免丢包太多,作用类似于CPU加缓存,但在10M端口或100M端口之间采用的还是广播的形式,这样可以降低成本。Switch   hub是一个过渡性的名词,现在很少用了,大家能清楚搞明白swtich和hub的区别也就可以了。

交换式HUB和SWITCH间,其实倒很难说有什么特别明显的界限。一些介绍以太网等相关知识的资料里,大多建议把中低档桌面式的称 为“交换式集线器” SWITCH-HUB,而把背板带宽较大、转发速率较高、带网管的中高档的称“交换机” SWITCH,这是根据两者在一个网络中所处的不同地位来划分的。前者仅起一个汇集作用,后者则网管,并不是狭义的网管,而是指划 VLAN、绑MAC等管理功能都在其上实现。FTTB+LAN的三层模式是汇集、转发、路由。 就“交换机”本身的涵义而言,合理的划分似乎应是这样: 早期LAN:客户机——HUB——SWITCH(二层)——路由器(网关) 现在LAN:客户机——HUB/SWITCH(二层)——SWITCH(三层)(网关)——路由器 早期划分:HUB(集线器)/SWITCH(交换机)(二层) 现在划分:HUB(集线器)/SWITCH HUB(交换式集线器)(即原先的中低档二层交换机)/SWITCH(交换机)(三层) 但由于历史的原因,加上个别厂商出于商业考虑的不负责任的宣传,交换式HUB其实可能是以下几种情况: 1 SWITCH---交换机、交换器、网络开关(不同的译法,同一种东西) 2 带交换模块内含两个中继器的共享式HUB(10/100M自适应) 3 可附加交换模块的共享式HUB 具体情况可以看看产品说明书。 若一定要在概念上划分,那SWITCH HUB和SWITCH的区别可以理解为SWITCH HUB是把端口分组,组与组之间进行交换,组内部通信通过竞争来实现通信,而SWITCH就是能够实现所有端口之间的交换。这样 L2 SWITCH就能很方便的划分VLAN,而SWITCH HUB就只能简单的划分网段了。 通俗的讲,交换式集线器是端口分组交换,交换机是MAC交换,我的意思是前者是对所有端口进行分组,同一组中采用HUB式的第一层共 享,不同组间采用第二层交换,但可能采用了特殊算法,使实际应用中,每一端口在通讯时,并不向其它端口广播),后者则所有端口完全是第二层以上的交换,以 此来划分。(前者1~2层,后者2~3层)

第二层交换机应该是客户机自己通过ARP去获得IP->MAC的对应,如果是同一个switch下的其它host,它 就“安排”了,如果需要通过路由器出去的话(比如IP是的IP 218.1.64.50),上 层路由器会回答说:218.1.64.50的MAC是……(路由器自己的端口的MAC),然后交换机就把包送到上层的路由器那里去了,这是发生在 proxy ARP时。GW会冒充另一网段的主机的MAC地址。这种方法有一定容错能力,但scalability较差。

应该 是:node(节点)通过mask判断目标是否同一个网段。如果不是,就试图与gateway通讯,如果ARP(地址解析协议) cache(缓存)里没有gateway(网关)的MAC地址,就ARP广播,得到GW的MAC地址,转发给GW。

早期的“交换机”是指第二层的设备,但随着网络的发展,第三层交换机(SWITCH)才能在整个网络中,真正起到了“交换”的作用, 交换通讯录、交换IP包;而原先的第二层交换机,除了自己下属端口可以直接交换外,其它的,都不管三七二十一,全部转手给上层交换机或路由器做,自身只起 到了一个汇集用户的作用。所以我觉得照现在的应用,倒是称前者为交换机,而称后者为交换式集线器SWITCH-HUB更贴切一些。SWICH通过MAC地 址交换,当然是在2层,MAC(硬件地址)是数据连路层标准,因此SWICH是2层硬件,HUB是物理层硬件,严格意义上不存在第3层的概念,7层模型只 是逻辑概念的划分。厂商设计产品时可以根据需要按照ISO标准来进行分类,这是7层模型带来的好处。以前认为3层交换机不能代替路由器,但从目前的发展来 看,这种看法有值得商榷之处。

把IP理解为一个人的姓名(例:张三),MAC理解为其住址。访问过程应如下: “客户机向上级交换机发出ARP请求“我要给张三寄东西”,交换机看通讯录“张三归哪个邮局管?”,有,则通知客户机可发,客户机在 IP包内封装己方IP和MAC、目标IP和自己网关(可能是承担路由功能的普通服务器,也可能是第三层交换机或者专用的路由器)MAC、内容,发往路由交 换机(第一个路由),再通过一个个路由(每到一个路由,此路由器就将己方MAC改为自己的,目标MAC改为下一个路由器的MAC,这样才能不断的传送), 最终到达张三处;若无,交换机向上一层交换机/路由器发出ARP请求,要求查询,查到所属邮局后反馈。为了下次使用方便,交换机(路由)同时将其记录在自 己的通讯录上。”

路由器根据内部的动态路由表或利用预设的固定路由规则生成动态路由表,以此决定IP包的最终去向(在多条可达路由中挑选一条捷径)。 整个传送过程中,源IP和目标IP是不变的,但MAC则由路由器“盖上自己的邮戳”。对于外网,本机只知道IP(通过DNS),而MAC是交由路由器处理 的——本机发送的IP包中的目标MAC是路由器的。

进一步理解三层交换: 三层就是IP层了。三层交换机应该功能和路由器相似,不过前者是由硬件实现路由后者是主要由软件来做。 三层路由和三层交换的区别:后者简化查表的动作,最简单的模型是所谓route cache,复杂的,比如 netflow, CEF or deCEF 简单介绍netflow, CEF or deCEF: 比较Process Switching,Fast Switching和CEF。 Process Switching In process switching the first packet is copied to the system buffer. The router looks up the Layer 3 network address in the routing table and initializes the fast-switch cache. The frame is rewritten with the destination address and sent to the outgoing interface that services that destination. Subsequent packets for that destination are sent by the same switching path. The route processor computes the cyclical redundancy check (CRC). 翻译:在Process Switching,第一包被复制到系统buffer,然后查路由表并初始化 fast-switch cache。帧(是第2层的哦)的目标地址(比如MAC地址)被改写,发到出口interface。后 续的同一目标的包按照同样的switching path发送。路由处理器计算CRC。 Fast Switching When packets are fast switched, the first packet is copied to packet memory and the destination network or host is found in the fast-switching cache. The frame is rewritten and sent to the outgoing interface that services the destination. Subsequent packets for the same destination use the same switching path. The interface processor computes the CRC. 翻译:当包被fast switching,第一包复制到内存,发现与fast- switching cache的某一表项吻合。帧被重写二层地址,发到出口interface。后续的同一目标的包按照同样的 switching path发送。interface处理器计算CRC。 CEF Switching When CEF mode is  enabled, the CEF FIB and adjacency tables reside on the route processor, and the route processor performs the express forwarding. You can use CEF mode  when line cards are not available for CEF switching or when you need  to use features not compatible with distributed CEF switching. 当打开CEF模式,CEF FIB(转发信息库)和邻居表位于路由处理器,如果模块不支持分布式处理,就由路 由处理器执行快速转发。 其实现在的技术发展的那么快, 底层的设备都在向上层发展, HUB从物理层向数 据链路层发展, SWITCH向网络层发展, 目前三层SWITCH有完整的路由功能, 但是做的主要工作还是VLAN之间的路由, 做外网IP的路由还是靠路由器。

 然而 随着千兆以太网的迅速发展我想传统的共享式HUB和传统的路由器可能在市场上的占有率会越来越少的。 可以这样理解,就是三层交换机的交换表中多了一个IP的条目或者干脆多了一个路由表,这样它在将包交付路由器之前就已经知道了到达远 程IP所需经过路线的下一个路由的MAC地址了。无论是hub,switch,在发送正是数据前会侦测线路,如果发现线路繁忙,它会暂时不送数据到总线 上,而是随机等待一个时延后再侦测.所以也就不存在丢弃冲突的包的情况。 随着网络的发展,接入层的switch必然会在控制成本的前提下越来越完善,支持snmp、icmp、甚至简单的qos。cisco 新推出的2950多了什么,主要就是服务质量(QoS)和组播管理,这是网络应用发展的必然。

单纯的路由器逐渐退到网络边缘,最终会被swtich取代。而所谓交换集线器这个名词很快会消失——实际上现在有几个做网络的人还会用这个名词?现在的新名词是:桌面式交换机、骨干交换机、路由交换机……    




三层交换机和路由器有什么不同?
悬赏分:0 - 解决时间:2005-12-24 11:47
提问者: mhjwyc - 助理 三级
最佳答案
一、三层交换机与路由器的主要区别 之所以有人搞不清三层交换机和路由器之间的区别,最根本就是三层交换机也具有“路由”功能,与传统路由器的路由功能总体上是一致的。虽然如此,三层交换机与路由器还是存在着相当大的本质区别的,下面分别予以介绍。 1. 主要功能不同 虽然三层交换机与路由器都具有路由功能,但我们不能因此而把它们等同起来,正如现在许多网络设备同时具备多种传统网络设备功能一样,就如现在有许多宽带路 由器不仅具有路由功能,还提供了交换机端口、硬件防火墙功能,但不能把它与交换机或者防火墙等同起来一样。因为这些路由器的主要功能还是路由功能,其它功 能只不过是其附加功能,其目的是使设备适用面更广、使其更加实用。这里的三层交换机也一样,它仍是交换机产品,只不过它是具备了一些基本的路由功能的交换 机,它的主要功能仍是数据交换。也就是说它同时具备了数据交换和路由 由发两种功能,但其主要功能还是数据交换;而路由器仅具有路由转发这一种主要功能。 2. 主要适用的环境不一样 三层交换机的路由功能通常比较简单,因为它所面对的主要是简单的局域网连接。正因如此,三层交换机的路由功能通常比较简单,路由路径远没有路由器那么复杂。它用在局域网中的主要用途还是提供快速数据交换功能,满足局域网数据交换频繁的应用特点。

而路由器则不同,它的设计初哀就是为了满足不同类型的网络连接,虽然也适用于局域网之间的连接,但它的路由功能更多的体现在不同类型网络之间的互联上,如 局域网与广域网之间的连接、不同协议的网络之间的连接等,所以路由器主要是用于不同类型的网络之间。
它最主要的功能就是路由转发,解决好各种复杂路由路径 网络的连接就是它的最终目的,所以路由器的路由功能通常非常强大,不仅适用于同种协议的局域网间,更适用于不同协议的局域网与广域网间。它的优势在于选择 最佳路由、负荷分担、链路备份及和其他网络进行路由信息的交换等等路由器所具有功能。为了与各种类型的网络连接,路由器的接口类型非常丰富,

而三层交换机 则一般仅同类型的局域网接口,非常简单。

3. 性能体现不一样
从技术上讲,路由器和三层交换机在数据包交换操作上存在着明显区别。路由器一般由基于微处理器的软件路由引擎执行数据包交换,而三层交换机通过硬件执行数 据包交换。三层交换机在对第一个数据流进行路由后,它将会产生一个MAC地址与IP地址的映射表,当同样的数据流再次通过时,将根据此表直接从二层通过而 不是再次路由,从而消除了路由器进行路由选择而造成网络的延迟,提高了数据包转发的效率。

同时,三层交换机的路由查找是针对数据流的,它利用缓存技术,很 容易利用ASIC技术来实现,因此,可以大大节约成本,并实现快速转发。而路由器的转发采用最长匹配的方式,实现复杂,通常使用软件来实现,转发效率较 低。
正因如此,从整体性能上比较的话,三层交换机的性能要远优于路由器,非常适用于数据交换频繁的局域网中;
而路由器虽然路由功能非常强大,但它的数据包转发效率远低于三层交换机,更适合于数据交换不是很频繁的不同类型网络的互联,如局域网与互联网的互联。如果把路由器,特别是高档路由器用于局域网中,则在相 当大程度上是一种浪费(就其强大的路由功能而言),而且还不能很好地满足局域网通信性能需求,影响子网间的正常通信。
综上所述,三层交换机与路由器之间还是存在着非常大的本质区别的。无论从哪方面来说,在局域网中进行多子网连接,最好还选用三层交换机,特别是在不同子网 数据交换频繁的环境中。一方面可以确保子网间的通信性能需求,另一方面省去了另外购买交换机的投资。当然,如果子网间的通信不是很频繁,采用路由器也无可 厚非,也可达到子网安全隔离相互通信的目的。具体要根据实际需求来定。

阅读(8870) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~