交换机 路由器 三层交换机和路由器应用区别
https://www.zhihu.com/question/20843778/answer/80613073
1.什么地方要用路由器,什么地方需要用交换机?
交换机用在企业内部,路由器用在企业边缘。
2.交换机和路由器区别
一般三层交换机不能做NAT (思科的65, 45系列, 华为9700以上系列增加板卡是可以支持的), 所以最外层接口还是需要一台路由或者防火墙.
交换机架构基于ASIC进行硬件转发,其他特性都得依赖CPU,成本低,转发容量大,业务性能差,扩展性差,未来演进能力差;路由器架构基于可编程的网络处理器(NP)进行转发,是微码转发,NP的可编程能力强大,随着软件升级可以支持各种新业务,成本高,转发容量相对小,业务性能强,扩展能力强,未来演进能力强。所以虽然三层交换机不停蚕食低端企业级路由器市场,但是路由器依然是不可替代的。
三层交换机无法代替路由器有几点:
1、交换机的转发是通过MAC芯片实现的,MAC芯片是交换机的灵魂,而路由器一般主要的作用不是为了转发数据,而是计算数据,即路由器的CPU会非常强悍,相反交换机的CPU会比较弱,因为它不需要非常强悍的CPU;
2、交换机的CPU无法实现更复杂的三层协议,例如MPLS VPN,MPLS TE,更细化的QoS,更丰富的IPv6功能等;
3、两者的使用场景不同。交换机一般用于单个园区网中,不会涉及到纵向网以及大型的跨园区网的连接;而路由器一般需要用于纵向网、城域网,以及广域网中,并且以太网的路由器一般也支持POS口,ATM口等非以太网口。
三层交换机无法取代路由器是因为以下几个致命的弱点:
1、交换机(下面所有的交换机都指的是三层交换机)网络打通速度很慢,有一个专业的说法叫做线速转发,比如交换机的带宽是1Gbps,带在没有达到线速转发之前,速度是很低的,并且达到线速转发的时间可能要很久,以IPv6为例,有些设备需要十几分钟才能达到线速转发,而路由器是不需要消耗这么久的,路由器的路由表计算是走CPU的,任何时间都是线速转发的(当然如果CPU负载太重则例外)——这是交换机最致命的弱点。
2、交换机支持的网络类型很少,串行链路,ATM,这些口一般交换机支持的都很差,有些大型交换机会用专门的一个板卡提供这些网络接口的支持。交换机通常支持的都是以太网光口或者电口。路由器则不一样,一个核心路由器通常是带一堆各种各样的接口,反而是以太网口不太多。虽然如今大部分线路都改造成光纤了,但在ISP那边,串行链路还是很多的,所以路由器就排上用场了。
3、路由器可以改造成网关或者防火墙——带日志记录的网关,因为所有报文都走CPU,所以CPU有能力记录下所有的报文,但交换机的交换芯片则没有这个能力——因为交换芯片太快了。路由器的这个特点,也用在了很多企业、ISP的出口网络上,以及伟大的GFW也是工作在路由器这个层面上的。
4、三层交换机的转发速度很快,但涉及复杂,不管是交换机还是路由器,都有一个控制CPU,路由器里转发CPU跟控制CPU通常是分开的。对于所有发往路由器或者交换机自身的报文,走控制CPU。对于路由器来说,如果加防火墙之类的,都是软件实现的,代码可以是一套。但对于三层交换机则不同,三层交换机的交换芯片控制的防火墙等ACL控制(访问控制列表)是分成两套代码的,一套是控制走芯片转发的部分,另一套是控制走控制CPU的部分,实际上是多出了一套代码。
5、交换机抗网络震荡能力很弱,前面说了线速转发的问题,同样,网络一旦开始震荡,路由表不稳定的时候,交换机就又不能线速转发了,而路由器则基本不受影响。因为上面几个原因,路由器是不可替代的。但确实路由器已经被边缘化了,路由器在核心网络里,一般都充当着出口和核心转发这一块,接入层和汇聚层基本上都被三层交换机所取代了。
数通设备(交换机,路由器等)的结构:
一般分为转发平面,而控制平面.转发平面一般决定性能,比如同时支持多少G或者多少T的转发能力.比如可以做到200 * 1G的端口同时线性转发, 那么转发能力就是200G的容量.现在可以做到上T的能力.
控制平面决定如何将转发表计算出来,然后下发到转发平面,比如支持多少路由表.比如省出口,运营商出口,国家出口需要支持多少万条路由.比如出现断路了,需要路由切换,需要多少秒收敛.
那么交换机能注重转发平面,而路由器更注重控制平面.
高端交换机除了转发平面非常强以外,同时控制平面也会做到很强.高端路由器除了控制平面强大以为,转发平面也会做的很强.所以差距就没那么明显.
一句话:同样的价钱,买交换机能买到转发能力很强的设备,买路由器能买到协议计算能力更强的设备.
数通结构的形象解释:
对于交换机,A要把包裹送给C,但是A不知道C在哪里,于是A去询问B,B是管理员,他通过一系列操作查询找到了C的地址,A要一直向C送东西,于是B帮他们铺了一条传送带,以后不用问B直接发送就行;如果A又想给D发包裹了,需要在找B,然后B再去进行一系列操作,然后再铺设传送带。这就是三层交换机的作用,传送带相当于交换转发芯片,B相当于控制CPU,只要一次找到了以后它就不管了交给传送带来做。
对于路由器,同样是A想发给C发包裹,他不知道地址于是去找B,这个B能力很强聪明手巧,B说我可以给你找到C送给他,另外我还能帮你再包装一下美化一下上个保险啥的,于是A每次发包裹都找到B去做,B相当于路由器的CPU,路由器所有的数据转发都走CPU。
综上可见,在进行大量的传送时使用“传送带”的三层交换机显然更快也更省时省力,但是一旦遇上复杂的网络情况,比如C的地址到处变,A还要给EFGHIJ...等等地方发送时三层交换机的B就忙不过来了,它本身就不怎么擅长找路,还要不断拆装传动带,很快就手忙脚乱了;这种情况下对路由器的B而言不过是送包裹任务量大了一点儿,他还是走正常的流程,找路然后送过去,而且它本身找路的能力就非常强,只是多跑几趟。反之如果A只是固定给C、D们送东西,不过每次都是成吨的送,对于三层交换机的传送带而言无所谓,都给范厨师装上走你┏ (゜ω゜)=☞,但是路由器的B可累坏了,很快就完蛋了。简言之,三层交换机就像是铁路,运量大但是灵活性差,太偏僻的地方送起来有难度;路由器就像汽车,运量小但是再偏僻再难找的地方都能送到。现在的三层交换机路由功能越来越强,路由器的转发能力也越来越强,但是终究术业有专攻,在高压和极端情况下它们依然不能相互取代。
3.家用路由器的一些信息,里面同样涉及到了普通路由内容。
首先,路由器不等于防火墙,不是所有的路由器都有wan口和lan口,只有使用NAT系列技术的防火墙才区分wan和lan,什么叫NAT各位答主请自行百度
其次,不是只有交换机才能有多个物理接口,也不是只有交换机才能转发同一ip段的数据包,路由器的工作原理请各位答主在自己的机器上执行route命令,看不懂的请自行百度
综上,“家用路由器等于路由器加交换机”的说法是完全错误的。家用路由器的转发是在网络层实现的(自认为应该是为了节省成本,省掉独立转发芯片),而不是在数据链路层实现的,家用路由器的lan口间的转发,本质上是路由器在转发,而不是交换机在交换。(备注:如果你们还是不承认家用路由器是在做路由转发,那么请tracert/traceroute一台内网机器,并把输出贴上来如果路由器的内网是交换机在工作,那么内网通信时数据不会发送到默认网关,而是直接发送到对方机器,如果这时数据被发送到了网关,那么网关会给这台机器发送icmp重定向,那么traceroute的输出中不会包括默认网关。如果内网是在路由转发,那么即使是内网通信的下一跳mac地址也是默认网关的mac地址,这时路由器对内网通信也做路由转发,因此包的ttl会在路由器做-1,从而触发traceroute)
实际上,家用路由器等于 防火墙 加 路由器,工作原理见上文,不知道的请自行百度,或通读一遍“tcpip详解:协议”