為什么三層交換機無法替代路由器?
一、總結
一句話總結:
路由器在核心網絡里,一般都充當着出口和核心轉發這一塊,接入層和匯聚層基本上都被三層交換機所取代了
二、為什么三層交換機無法替代路由器
從硬件上說,三層交換機是通過交換芯片轉發數據的,交換芯片是帶有三層轉發能力的,也就是路由的功能。
路由器則是通過CPU轉發的,所有的報文的重新計算和轉發任務是在CPU的計算下完成的。
我看到之前有人說交換芯片的路由功能很差。我想說,你們都是從什么時代過來的?現在國產廠商的設備,09年我做交換機那會,三層路由表表項都能達到64K個,這還不夠多嗎?支持OSPF/BGP/IS-IS這些都是軟件層面的事情,跟交換芯片沒什么關系。至於防火牆/ACL等功能,交換芯片都自帶的,寫幾個寄存器就可以搞定的。並且路由器的表項一旦變大,CPU查找的時間會更長,轉發速度會更慢的。
三層交換機無法取代路由器是因為以下幾個致命的弱點:
1、交換機(下面所有的交換機都指的是三層交換機)網絡打通速度很慢,有一個專業的說法叫做線速轉發,比如交換機的帶寬是1Gbps,帶在沒有達到線速轉發之前,速度是很低的,並且達到線速轉發的時間可能要很久,以IPv6為例,有些設備需要十幾分鍾才能達到線速轉發,而路由器是不需要消耗這么久的,路由器的路由表計算是走CPU的,任何時間都是線速轉發的(當然如果CPU負載太重則例外)——這是交換機最致命的弱點。
2、交換機支持的網絡類型很少,串行鏈路,ATM,這些口一般交換機支持的都很差,有些大型交換機會用專門的一個板卡提供這些網絡接口的支持。交換機通常支持的都是以太網光口或者電口。路由器則不一樣,一個核心路由器通常是帶一堆各種各樣的接口,反而是以太網口不太多。雖然如今大部分線路都改造成光纖了,但在ISP那邊,串行鏈路還是很多的,所以路由器就排上用場了。
3、路由器可以改造成網關或者防火牆——帶日志記錄的網關,因為所有報文都走CPU,所以CPU有能力記錄下所有的報文,但交換機的交換芯片則沒有這個能力——因為交換芯片太快了。路由器的這個特點,也用在了很多企業、ISP的出口網絡上,以及偉大的GFW也是工作在路由器這個層面上的。
4、三層交換機的轉發速度很快,但設計復雜,不管是交換機還是路由器,都有一個控制CPU,路由器里轉發CPU跟控制CPU通常是分開的。對於所有發往路由器或者交換機自身的報文,走控制CPU。對於路由器來說,如果加防火牆之類的,都是軟件實現的,代碼可以是一套。但對於三層交換機則不同,三層交換機的交換芯片控制的防火牆等ACL控制(訪問控制列表)是分成兩套代碼的,一套是控制走芯片轉發的部分,另一套是控制走控制CPU的部分,實際上是多出了一套代碼。
5、交換機抗網絡震盪能力很弱,前面說了線速轉發的問題,同樣,網絡一旦開始震盪,路由表不穩定的時候,交換機就又不能線速轉發了,而路由器則基本不受影響。
因為上面幾個原因,路由器是不可替代的。但確實路由器已經被邊緣化了, 路由器在 核心網絡里,一般都充當着 出口和核心轉發這一塊, 接入層和匯聚層基本上都被三層交換機所取代了。