1、交换机(下面所有的交换机都指的是三层交换机)网络打通速度很慢,有一个专业的说法叫做线速转发,比如交换机的带宽是1Gbps,带在没有达到线速转发之前,速度是很低的,并且达到线速转发的时间可能要很久,以IPv6为例,有些设备需要十几分钟才能达到线速转发,而路由器是不需要消耗这么久的,路由器的路由表计算是走CPU的,任何时间都是线速转发的(当然如果CPU负载太重则例外)——这是交换机最致命的弱点。
2、交换机支持的网络类型很少,串行链路,ATM,这些口一般交换机支持的都很差,有些大型交换机会用专门的一个板卡提供这些网络接口的支持。交换机通常支持的都是以太网光口或者电口。路由器则不一样,一个核心路由器通常是带一堆各种各样的接口,反而是以太网口不太多。虽然如今大部分线路都改造成光纤了,但在ISP那边,串行链路还是很多的,所以路由器就排上用场了。
3、路由器可以改造成网关或者防火墙——带日志记录的网关,因为所有报文都走CPU,所以CPU有能力记录下所有的报文,但交换机的交换芯片则没有这个能力——因为交换芯片太快了。路由器的这个特点,也用在了很多企业、ISP的出口网络上,以及伟大的GFW也是工作在路由器这个层面上的。
4、三层交换机的转发速度很快,但设计复杂,不管是交换机还是路由器,都有一个控制CPU,路由器里转发CPU跟控制CPU通常是分开的。对于所有发往路由器或者交换机自身的报文,走控制CPU。对于路由器来说,如果加防火墙之类的,都是软件实现的,代码可以是一套。但对于三层交换机则不同,三层交换机的交换芯片控制的防火墙等ACL控制(访问控制列表)是分成两套代码的,一套是控制走芯片转发的部分,另一套是控制走控制CPU的部分,实际上是多出了一套代码。
5、交换机抗网络震荡能力很弱,前面说了线速转发的问题,同样,网络一旦开始震荡,路由表不稳定的时候,交换机就又不能线速转发了,而路由器则基本不受影响。
因为上面几个原因,路由器是不可替代的。但确实路由器已经被边缘化了,路由器在核心网络里,一般都充当着出口和核心转发这一块,接入层和汇聚层基本上都被三层交换机所取代了。