路由器處理器
路由器處理器
與計算機一樣,路由器也包含了一個中央處理器(CPU)。不同系列和型號的路由器,其中的CPU也不盡相同。Cisco路由器一般採用Motorola 68030和Orion/R4600兩種處理器。
無論在中低端還是高端路由器中,CPU都是路由器的心臟。通常在中低端路由器中,CPU負責交換路由信息、路由表查找以及轉發數據包。在高端路由器中,通常包轉發和查表由ASIC晶元完成,CPU只實現路由協議、計算路由以及分發路由表。由於技術的發展,路由器中許多工作都可以由硬體實現(專用晶元)。CPU性能並不完全反映路由器性能。路由器性能由路由器吞吐量、時延和路由計算能力等指標體現。
路由器
路由器是網際網路路中的節點設備,用來連接多種網路或網段,路由器工作於網路七層協議中的第三層,其主要任務是接收來自一個網路介面的數據包,根據其中所含的目的地址,決定轉發到下一個目的地。
CPU
與計算機一樣,路由器也包含有CPU。不同級別的路由器,其中的CPU也不盡相同。無論在中低端路由器還是在高端路由器中,CPU都是路由器的心臟。通常在中低端路由器當中,CPU負責交換路由信息、路由表查找以及轉發數據包。在路由器中,CPU的能力直接影響路由器的吞吐量(路由表查找時間)和路由計算能力(影響網路路由收斂時間)。在高端路由器中,通常包轉發和查表由ASIC處理器完成,CPU只實現路由協議、計算路由以及分發路由表。隨著技術的發展,路由器中許多工作都可以由硬體實現(ASIC專用晶元)。
路由器處理器晶元的發展大致經歷如下四個階段:
(1)通用處理器
(2)嵌入式處理器
(3) ASIC處理器
(4)網路處理器
通用處理器階段
上個世紀60年代,人們曾經使用普通電腦充當路由器的角色,這就是第一代路由器的雛形。用一台計算機插接多塊網卡來實現的,多個網卡共用一塊處理器,通過內部匯流排互聯,CPU負責了幾乎全部的路由計算、數據轉髮指令,同時還要負責整台機器的設備管理工作,後來才逐漸專門發展出專門的匯流排、介面及操作系統的路由器。
作為通用處理器,由於考慮了各種應用的需要,具有一般化的通用體系結構和指令集,以求支持複雜的運算並容易添加新開發的功能,也就是說:不是面向網路通信需要特殊設計的。處理路由轉發速度一般相對較慢,可擴展性差,很難滿足網路的需求。
嵌入式處理器階段
嵌入式微處理器與通用微處理器最大的不同就是嵌入式微處理器多數工作在設備製造商自己設計的系統中,是面嚮應用的處理器。大多是針對專門的應用領域進行專門設計來滿足高性能、低成本和低功耗的要求。如:移動通信,PDA,遊戲機,網路通信,其它電子產品行業。
市面上嵌入式處理器主要有Am186/88、386EX、SC-400、Power PC、Motorola 68000、MIPS、ARM系列等。在32位嵌入式處理器市場主要有Motorola,ARM,MIPS,TI,Hitachi等公司, 有些生產通用微處理器的公司,像Intel、Sun和IBM等,也生產嵌入式的微處理器,但不是專業生產,人們更熟悉如INTEL的Pentium。
第一代的路由器是基於嵌入式微處理器的嵌入式系統,有專門的電路、介面及操作系統,是一台專門的設備,已經不再是基於通用微處理器、通用介面、通用操作系統的PC了。Cisco2501路由器就是第一代路由器的典型代表,其CPU是MOTOROLA 68030 20MHz處理器,這個處理晶元相當於INTEL早期的80386通用處理器。
ASIC(專用集成電路)處理器階段
當網路速度比較慢時,嵌入式處理器的路由及轉發的處理速度完全趕得上數據流,後來,線路帶寬寬了,數據速率快了,嵌入式處理器的處理就不夠快了,設計者就轉向ASIC。ASIC是被廣泛應用於性能敏感平台的一種處理器技術。
在路由器發明、生產、應用,使網路有了高速發展,但在網路發展初期,網路傳輸的速率比較低,業務量比較少,這個時期的網路設備一般基於CPU(通用式或嵌入式),即通過在CPU上運行相關網路操作系統來實現各種網路功能。它具有很高的靈活性,可通過更新操作系統,就可以完善原有功能或加入新的功能和服務特性。但其缺點是處理速度慢、吞吐率低。但是這種性能在當時那種低速的網路環境下是可以接受的,因為路由器轉發分組的速度完全可以跟上線路的傳輸速度。然而,隨著光纖等傳輸技術的進步,網路帶寬的增長速度逐漸超過了CPU處理能力的增長速度,這使得基於“CPU+操作系統”的路由器逐漸成了網路的瓶頸。因此,需要想辦法提高網路設備的性能。在這種情況下,網路設備開始採用ASIC技術。它通過把指令集或計算邏輯固化到晶元中,它把轉發過程的所有細節全部採用硬體方式來實現,因而可以獲得很高的處理速度,這就能夠很好地滿足對性能的要求,適應了網路帶寬不斷增長的發展趨勢。
在高端路由器中,通常包轉發和查表由ASIC晶元完成,CPU也還存在,但只是實現路由協議、計算路由以及分發路由表。由於技術的發展,路由器中許多工作都可以由硬體實現了。
網路處理器階段
ASIC的優點也是它的缺點,就是缺乏靈活性。一旦指令或計算邏輯固化到晶元硬體中,就很難修改升級,要增加新的功能或提高性能,就得重新設計晶元。另外,設計和製造複雜的ASIC一般需要花費周期長,研發費用較高。除此之外,當前網路的應用範圍在不斷擴大、新的業務不斷湧現,網路的發展也不僅僅是帶寬的不斷提高,而更多地表現為對“智能化處理”的要求,如服務質量(QoS)、控制安全(Security)等服務都需要分類和深層數據處理(處理到第4層到第7層)。而這些服務功能既要求處理的高速度,又要求實現的靈活性,因此處理器需要能夠高速地、靈活地滿足各種服務和應用的不同需求,這一點卻是ASIC技術也難以滿足的,這催生了新的處理器的出現,也就是“網路處理器”。
網路處理器是為優化包處理而設計的,它將能把數據包以線速送到下一個節點,另外,如果需要新的功能或新的標準,設備製造商能通過給網路處理器編程來實現,以滿足各種新的網路應用。
應該說,網路處理器較之ASIC最大的優勢是靈活,開發周期相對較短。網路處理器的性能相對於其它處理器有很大的提升,但是在高速數據包處理方面與ASIC仍有差距。在路由器領域,處於中型企業網路核心、電信網路邊緣的路由器,採用NP已經蔚然成風。而在電信網路核心主幹以及國內一些大型行業企業、機構網路中使用的核心路由器,究竟使用ASIC為主的體系結構還是NP為主的體系結構,尚有爭論。ASIC的體系結構似乎更佔上風,但一切都有變數,也許最好的方式還是ASIC與NP的結合,取兩者之長來打造高速靈活的核心主幹路由器。
路由器處理器晶元除了通用處理器之外,其它的嵌入式處理器、ASIC處理器、網路處理器都有它們發展和用武之地。嵌入式處理器將更多地出現在低端的路由器產品中,如家用、SOHO級寬頻路由器、VPN防火牆網關;ASIC處理器與網路處理器將更多地出現在中端、高端的企業級、電信級的路由器及交換機中。