淺談路由器軟硬件架構


我們可以把路由器比作網絡世界的骨架,我們之所以能夠在網絡世界里暢游,很大程度上是得益於這個鐵盒子。

 

路由器硬件架構

       隨着專用多核網絡處理器、專用轉發芯片的出現,使得現代路由器擺脫了以往純軟件轉發的局限,向着高吞吐率、硬件快速轉發等方向發展。高端的路由器設計成多板分布式+冗余備份的架構,使轉發能力成倍的增強,同時還大大提高了業務的穩定性。

 

       下圖是一幅典型的路由器硬件架構圖:

 

        目前高端路由器大多采用專門的多核網絡處理器作為CPU,如Cavium公司研發的Octeon系列處理器,主流的6000系列16~32個核,即將上市的7000系列多達64個核,並行處理能力大大加強。並且這類專用網絡處理器在硬件上都對網絡報文的解析、保序、轉發等方面提供了專門的協處理器進行支持,優化並提高了系統的轉發能力,也為軟件研發者省去了不少麻煩。

        Broadcom、Marvell等公司提供專門的轉發芯片,通過VLAN、硬件路由等功能,在硬件上直接支持了對報文的二三層的線速轉發,並且多片交換芯片之間可連接,最終形成一個大的交換矩陣網絡。

       CPU和交換芯片之間的數據通道可由10G高速接口相連,實現海量數據的傳輸;管理通道通過PCIe總線相連,傳輸控制信號。

       64位的CPU有着廣闊的尋址空間,可以支持很大的DRAM內存。

CF卡或SD卡用來存儲系統程序,可以很方便的對系統程序進行升級。

       BOOT ROM存儲着系統加載程序,系統上電時首先從BOOT ROM開始運行,由BOOT ROM來負責加載整個操作系統。

       CPLD中存儲着系統的版本信息,由BOOT ROM來負責讀取版本參數,並通知給系統。

       作為分布式系統的話,各個單板之間通過背板接口傳輸數據和管理信息。

 

路由器軟件架構

        路由器是一個典型的嵌入式系統,我們只討論與網絡相關的部分:

 

        由於使用多核處理器,軟件的設計架構可以非常靈活,我們一般在CPU層面就把業務划分開,拿出幾個核跑特定的核心業務(無操作系統),這樣可以大大加快核心業務的處理能力。其它的核一般跑Linux、VxWorks等嵌入式操作系統,作為控制面。相比較而言,控制面的報文轉發能力就很差了,但由於有操作系統和協議棧的支持,控制面可以跑更復雜、更定制化的業務,根據客戶需求靈活的設計業務模式。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM