路由器技術(shù)解析 - 全文
引言
對于一般的網(wǎng)絡(luò)用戶,他們能知道怎樣使用路由器來上網(wǎng)、玩游戲等就已經(jīng)感到很滿足了,通常情況下對路由器的深層技術(shù)很少去過問研究,但做為興趣廣泛的技術(shù)愛好者,無法深入了解真正的技術(shù)實現(xiàn)過程以及相關(guān)的核心內(nèi)幕。正是基于此點,筆者憑借自身的知識沉淀,盡最大努力為愛好技術(shù)的讀者架設(shè)一坐能通向深層核心的橋梁,為大家揭開路由器的神秘面紗,剖開其核心內(nèi)臟。
1 什么是路由器?
互聯(lián)網(wǎng)是依靠路由器連接起來的,路由器是互聯(lián)網(wǎng)或者說IP網(wǎng)絡(luò)的核心設(shè)備。寬帶接入的不斷增長,帶動了路由器的需求不斷增加。
路由器究竟是什么樣的技術(shù)產(chǎn)物?
談到路由器的開發(fā),我們就不免要談到“嵌入式”設(shè)備的開發(fā),沒錯,通俗的說,路由器就是一種嵌入式產(chǎn)品。那么究竟什么是嵌入式設(shè)備呢?
其實就目前而言,嵌入式設(shè)備已經(jīng)不斷深入我們的日常生活方方面面。通俗的講,嵌入式設(shè)備是指具有計算機功能,但又不稱為計算機的設(shè)備或器材,它幾乎包括了我們周圍的所有電器設(shè)備:PDA、手機、機頂盒、汽車、微波爐、電梯、安全系統(tǒng)、自動售貨機、醫(yī)療儀器、立體音響、自動取款機等。
用較為專業(yè)的話來表述的話,嵌入式設(shè)備就是使用微處理器或微控制器芯片(MCU)加上外圍電路再加上內(nèi)部的程序部分來實現(xiàn)特定功能的嵌入設(shè)備。比如8位的單片機、32的ARM以及DSP芯片等都屬于嵌入式核心芯片的范疇。8位MCU市場已逐步趨向穩(wěn)定,32位MPU代表著嵌入式技術(shù)的發(fā)展方向,正在加速發(fā)展。在32位嵌入式微處理器市場上,基于ARM內(nèi)核的微處理器在市場上處于絕對的領(lǐng)導(dǎo)地位,因此追蹤ARM技術(shù)的發(fā)展趨勢顯得尤為重要。
路由器的開發(fā)通常都是基于32位處理器的,就通常的中低端路由器而言,在開發(fā)的配置上有多種選擇,比如有ARM9核心芯片+Wince操作系統(tǒng)、ARM7核心芯片+uClinux操作系統(tǒng)、DSP芯片+Vxworks操作系統(tǒng)等等各種各樣的選擇。本文針對常用的SOHO路由器來介紹,選擇ARM7核心芯片+uClinux操作系統(tǒng)開發(fā)模式,以完整形象的實例為大家清晰講解路由器的技術(shù)實現(xiàn)過程。
我們?yōu)槭裁匆許OHO路由器為介紹對象呢?什么是SOHO路由器?前很多家庭中有不止一臺電腦,需要上網(wǎng)獲取信息、收發(fā)郵件等。這些小型公司和家庭網(wǎng)絡(luò)用戶計算機的數(shù)目一般不多,網(wǎng)絡(luò)結(jié)構(gòu)不復(fù)雜。功能和帶寬的要求不高。出于提高網(wǎng)絡(luò)性能、共享有限IP地址或節(jié)省上網(wǎng)費用等原因,這些用戶迫切需要具有較高性價比的小型路由器。我們把這種小型路由器稱為SOHO路由器。目前市場上已經(jīng)充斥了大量的這類低端路由器。由于ARM7系列芯片價格便宜,非常適合嵌入式系統(tǒng)使用。目前市場上的SOHO路由器大多采用ARM7系列處理器。不過由于技術(shù)的發(fā)展,ARM9系列的專用路由芯片的路由器也逐漸普及。
2 路由器宏觀介紹
我們可以形象的把嵌入式設(shè)備的開發(fā)簡單的理解成三層模式,最底層的是微控制器芯片加外圍器件組成的硬件系統(tǒng),比如我們介紹的開發(fā)小型SOHO路由器所使用的ARM7TDMI芯片等硬件環(huán)境,它是設(shè)備功能實現(xiàn)的硬件基礎(chǔ),要實現(xiàn)上層的應(yīng)用肯定離不開最底層硬件的支持。中間層是操作系統(tǒng),比如我們所選擇的uClinux操作系統(tǒng),它是銜接硬件部分和應(yīng)用程序的過渡層,它既可以完成對底層硬件的基本操作,又能為上層應(yīng)用程序提供運行環(huán)境支持。最上層自然就是應(yīng)用程序?qū)恿耍菍崿F(xiàn)針對性應(yīng)用的程序代碼部分,比如路由設(shè)置等功能程序部分。
那對與SOHO路由器來說,它當然也脫離不了這樣的技術(shù)框架,它的更為具體的實現(xiàn)過程簡單的匯總的話,莫過于如下內(nèi)容:
首先先要知道SOHO實現(xiàn)的網(wǎng)絡(luò)功能,典型路由器應(yīng)該具備以下功能:
支持PPPoE,固定IP上網(wǎng);
DHCP動態(tài)主機配置協(xié)議;
網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)技術(shù);
根據(jù)TCP,UDP的端口號(portnumber),IP的(協(xié)議號)protocolnumber,對IP地址進行簡單過濾的防火墻;
虛擬服務(wù)主機/端口映射(PortForwarding)技術(shù);
支持一定數(shù)量的特殊應(yīng)用程序;然后針對于上邊的功能要求,相應(yīng)地要通過硬件和軟件的構(gòu)造來實現(xiàn):
2.1 硬件方面
1、要明確家用小型路由器(一個WAN接口,四個LAN接口)的硬件原理。
2、實現(xiàn)硬件電路板設(shè)計,完成電路布線設(shè)計,并對元件焊接,通過硬件板的調(diào)試。
2.2 軟件方面
1、在分析uClinux內(nèi)核源代碼的基礎(chǔ)上,對uClinux操作系統(tǒng)的內(nèi)核裁剪。
2、完成BoaWeb服務(wù)器的配置,并對CGI腳本進行設(shè)計,完成動態(tài)網(wǎng)頁的功能。
3、對PPPOE的撥號進行配置實現(xiàn)。
4、針對Linux內(nèi)核防火墻部分,運用IPtable工具進行防火墻規(guī)則操作。
通過如上的基本構(gòu)造,一個路由器就基本成型了。說起來簡單,但其中包含了很多很多的技術(shù)細節(jié),要有大量的實踐經(jīng)驗才能真正實現(xiàn)。做為門外觀奇的好學(xué)讀者,現(xiàn)在肯定有些不耐煩了吧,想要了解更多的更詳細的構(gòu)造內(nèi)容吧?那好,現(xiàn)在就可以開始我們真正的技術(shù)之旅了。
2.3 路由器工作原理
a 基本原理
要實現(xiàn)網(wǎng)絡(luò)中通信節(jié)點彼此之間的通信,首先必須給每個節(jié)點分配一個唯一的IP地址。路由器應(yīng)該至少有兩個網(wǎng)絡(luò)端口,分別連接LAN或者WAN子網(wǎng)上,每個端口必須具有一個唯一的IP地址,并且要求與所連接IP子網(wǎng)的網(wǎng)絡(luò)號相同。不同的端口有不同的網(wǎng)絡(luò)號,對應(yīng)不同的IP子網(wǎng),這樣各子網(wǎng)中的主機才能通過自己子網(wǎng)的IP地址把要求發(fā)出去的IP數(shù)據(jù)報送到路由器上。
當路由器收到一份IP數(shù)據(jù)報后,首先要對該報文進行判斷,然后根據(jù)判斷的結(jié)果做進一步的處理。如果數(shù)據(jù)報是有效或正確的,路由器就根據(jù)數(shù)據(jù)報的目的IP地址轉(zhuǎn)發(fā)該報文:否則就把報文丟棄。如果這個數(shù)據(jù)報的目的IP地址與路由器直接相連的一個子網(wǎng)上,路由器會通過相應(yīng)的接口把報文轉(zhuǎn)發(fā)到目的子網(wǎng)上去;否則會把它轉(zhuǎn)發(fā)到下一跳(Hop)路由器。為了完成上述的操作,每臺路由器必須維護一個路由表。把對應(yīng)不同目的地的最佳路徑存放在路由表中,這就是路由策略(RoutingPolicy)問題。路由表反映網(wǎng)絡(luò)的拓撲結(jié)構(gòu),一般一條表項應(yīng)該包含數(shù)據(jù)報的目的IP地址(通常是目的主機所在網(wǎng)絡(luò)的地址)、下一跳路由器的地址和相應(yīng)的網(wǎng)絡(luò)接口等,在網(wǎng)絡(luò)拓撲發(fā)生變化的時候,路由表也應(yīng)該做相應(yīng)的變動。所以路由器必須能夠生成并更新路由表。
選路機制實際上就是如何查找路由表,通過查詢路由表來決定向哪個方向轉(zhuǎn)發(fā)數(shù)據(jù)。一般來說,路由器首先搜索匹配的主機地址:如果沒有,再搜索匹配的網(wǎng)絡(luò)地址:最后搜索默認路由。一旦查到匹配的表項,路由器就會把數(shù)據(jù)從相應(yīng)的接口發(fā)送出去。
路由器具備了上述各要素后,就可以完成數(shù)據(jù)轉(zhuǎn)發(fā)任務(wù)了。另外,路由器不僅負責對IP包的轉(zhuǎn)發(fā),還要負責與別的路由器進行聯(lián)絡(luò),共同確定互聯(lián)網(wǎng)的路由選擇和路由表的更新維護。
b SOHO路由器原理
當內(nèi)部外算機部要計外外與Internet網(wǎng)絡(luò)進行通信時,各內(nèi)部間通過私有IP地址進行通信的計算機必須把私有IP地址轉(zhuǎn)換成合法IP。這種網(wǎng)絡(luò)地址轉(zhuǎn)換技術(shù)稱為NAT(NetworkAddressTranslation,網(wǎng)絡(luò)地址轉(zhuǎn)換)。在一個實際的私有網(wǎng)絡(luò)中,NAT功能通常內(nèi)建在路由器、防火墻或獨立的NAT設(shè)備之上,網(wǎng)絡(luò)中的主機將這些設(shè)備作為自己的默認網(wǎng)關(guān)。通過這樣的配置,每一臺內(nèi)部主機發(fā)送往Internet的數(shù)據(jù)報就會送到具有NAT功能的設(shè)備中進行轉(zhuǎn)換。NAT是SOHO路由器的必備功能,它是為解決IPv4地址不夠分配的矛盾而產(chǎn)生的一個簡單高效的解決方案。它能將任何兩個地址域的地址進行轉(zhuǎn)換,使私有網(wǎng)絡(luò)中多臺主機共享一個合法IP地址訪問Internet。
嵌入式路由器硬件系統(tǒng)介紹1、硬件系統(tǒng)總體結(jié)構(gòu)硬件結(jié)構(gòu)是非常重要的部分,因為我們拆開一個路由器后首先看到的、所能看到的也就是硬件結(jié)構(gòu),我們就舉例簡單介紹一下硬件設(shè)計的各個部位的細節(jié)內(nèi)容。
為了宏觀查看,我們給出交換式寬帶路由器的硬件設(shè)計實例圖一張。圖中主要分為兩部分:
ARM4510B部分和交換芯片RTL8305部分,前者主要見上半圖,后者為下半圖。還有電源及各自的復(fù)位電路。
ARM4510B部分中,中央處理芯片為帶有網(wǎng)絡(luò)接口的S3C4510B--16/32位RISC微控制器,根據(jù)嵌入式操作系統(tǒng)的運行需要,擴展了SDRAM存儲器和Flash存儲器。SDRAM存儲器由兩片4X1MX16位的HY57V641620HGT組成,作為嵌入式操作系統(tǒng)內(nèi)核及應(yīng)該程序運行的內(nèi)存空間。Flash存儲器由一片1MX16位的SS139VF160組成,作為內(nèi)核映像的存儲,并在嵌入式操作系統(tǒng)啟動時加載系統(tǒng)內(nèi)核及程序。根據(jù)調(diào)試程序及燒寫Flash存儲器的需要,引出JTAG接口。根據(jù)顯示調(diào)試和運行信息的需要,提供了RS232接口。
交換芯片RTL8305部分中,提供4個LAN口(PORTO--PORT3)通過一四口的網(wǎng)絡(luò)隔離變壓器連接一個四口RJ45口,每個口可連接到10/10013aseT以太網(wǎng),各端口之間有交換功能:還有一個WAN接口(CPORT4)通過一單口的隔離變壓器連接RJ45口。根據(jù)顯示連接速度、狀態(tài)和電源等需要,接出LED燈進行顯示。根據(jù)交換芯片的管理需要,提供一串行EEPROM24C01電路接口。根據(jù)交換芯片的主電源為2.5V.提供一個3.3V到2.5V的轉(zhuǎn)換器。
中央處理芯片通過MR(獨立媒體接口)接口與交換芯片RTL8035SB的PORT4的Mil接口相聯(lián),將交換芯片的PORT4配置為物理層接收器。
當各部分路設(shè)外外計圖焊進外完外連外成外后外,外形外成外硬外件外外接外外,外外而外外接外之外后外,外就外可外以外作電為開發(fā)用的實驗硬件板了。下面就簡要介紹一下個硬件電路部分。
3 硬件系統(tǒng)的簡要設(shè)計介紹
⑴ARM處理器系統(tǒng)設(shè)計介紹
①S304510B概述
Samsung公司的S34510B是基于以太網(wǎng)應(yīng)用系統(tǒng)的高性價比的16/32位RISC微控制器,內(nèi)含一個由ARM公司設(shè)計的16/32位的ARM7TDMIRISC處理器核。ARM7TDMI為低功耗,高性能的16/32位核。
除了ARM7TDMI外,該芯片還有一些片內(nèi)外圍功能模塊,主要為:內(nèi)部RAM(8Kbyteunifiedcache/SRAM),I2C接口電路(I2Cinterface)、以太網(wǎng)控件器(Ethernetcontroller),HDLC,GDMA、串口(UART),時鐘(Timers)、可編程1/O口(ProgrammableI/Oports)及中斷控件器(Interruptcontroller)等。
S3C4510B結(jié)構(gòu)框圖所示。在實際運行過程中最主要用到的部分為:以太網(wǎng)接口及串口部分,前者用于收發(fā)以太包,后者主要作為操作系統(tǒng)調(diào)試接口。
②ARM處理器系統(tǒng)
電源電路和復(fù)位電路主要是實現(xiàn)供電和復(fù)位功能,電路部分不做詳細講解,有深入研究需要的愛好者可以查看相關(guān)的電子相關(guān)參考資料進行深入學(xué)習(xí)。為使文章通俗易懂,以下各電路部分也是做一宏觀介紹,細節(jié)部分包括電路布線等不再深入講解。
③ARM處理器與Flash存儲器接口電路
讀者只要知道這部分的電路連接是為實現(xiàn)能在Flash存儲器編寫程序即可。
④ARM處理器與SDRAM接口電路設(shè)計介紹
與Flash存儲器相比,SDRAM不具有掉電保持數(shù)據(jù)的特性,但其存儲速度大大高于Flash存儲器,且具有讀/寫屬性。因此SDRAM在系統(tǒng)中主要用于程序的運于空間、數(shù)據(jù)及堆棧。當系統(tǒng)啟動時,CPU首先從復(fù)位地址0x0片讀取啟動代碼,在完成系統(tǒng)的初始化后,程序代碼調(diào)入SDRAM中運行,以提高系統(tǒng)的運行速度。
SDRAM具有單位空間存儲量大和價格便宜的特點,廣泛用于各種嵌入式系統(tǒng)中。SDRAM的存儲單元可以理解為一個電容,總是傾向于放電,為了避免數(shù)據(jù)丟失,必須定時刷新(充電)。因此,在系統(tǒng)中使用SDRAM,就要求微處理器有刷新的控制邏輯或者在系統(tǒng)中另外加刷新控制邏輯電路。S3C4510B在片內(nèi)具有獨立的SDRAM刷新控制邏輯,可以方便的與SDRAM接口。
⑤ARM處理器串行接口電路設(shè)計介紹
幾乎所有的微控件器、PC都提供串行接口,使用美國電子工業(yè)協(xié)會(EIA)推薦的RS-232-C接口標準,這是一個很常用的串行數(shù)據(jù)傳輸總線接口標準。早期被用于計算機和終端通過電話線和MODEM進行遠距離的數(shù)據(jù)傳輸,隨著微型計算機和微控制器的發(fā)展,不僅在遠距離,近距離也采用了該通信方式。在近距離的通信中不采用電話線和MODEM,而是直接進行端到端的連接。
RS-232-C標準采用的是9芯或是25芯的D型插頭。
⑥ARM處理器JTAG接口電路設(shè)計介紹
JTAG(JointTestActionGroup,聯(lián)合測試行動小組)是一種國際標準測試協(xié)議,主要用于芯片內(nèi)部測試及系統(tǒng)進行仿真、調(diào)試。JTAG是一種嵌入式調(diào)試技術(shù),它在芯片內(nèi)部封裝了TAP(TestAccessPort,測試訪問接口),通過專用的JTAG測試工具對內(nèi)部節(jié)點進行測試。標準的JTAG接口是四線:TMS、TCK、TDI、TDO,分別為測試模式選擇、測試時鐘、測試數(shù)據(jù)輸入、測試數(shù)據(jù)輸出。JTAG測試允許多個器件通過JTAG接口串聯(lián)在一起,形成一個JTAG鏈,能實現(xiàn)以各個器件分別測試。JTAG接口還常用于ISP(InSystemProgrammable)功能,如對Flash器件進行編程。
⑵以太網(wǎng)交換電路設(shè)計介紹
以太網(wǎng)交換電路主要是采用五口交換芯片RTL8305SB來實現(xiàn)。RTL8305SB是一個集成了片內(nèi)存儲器,五個MAC層接口,五個物理層(PHY)接口的l0M/l00M自適應(yīng)的五口交換芯片,該集成芯片具有低功耗,可靈活配置為五口小型辦公及家用(SOHO)交換機,家用網(wǎng)關(guān),xDSL路由器及其它智能應(yīng)用。要實現(xiàn)必要的網(wǎng)絡(luò)功能,這部分的電路是關(guān)鍵中的關(guān)鍵。
更多路由器設(shè)置路由器產(chǎn)品請訪問http://www.xsypw.cn/zhuanti/20111208254803.html
- 第 1 頁:路由器技術(shù)解析
- 第 2 頁:硬件系統(tǒng)的簡要設(shè)計介紹
本文導(dǎo)航
非常好我支持^.^
(38) 90.5%
不好我反對
(4) 9.5%
相關(guān)閱讀:
- [電子說] 環(huán)旭電子推出Pisces企業(yè)級無線路由器助力企業(yè)應(yīng)對高密度數(shù)據(jù)挑戰(zhàn) 2023-10-24
- [電子說] 拆機看看華為路由器的天線與濾波器 2023-10-24
- [電子說] 工業(yè)路由器一般都用哪種協(xié)議? 2023-10-24
- [電子說] SR-MPLS是什么?SR-MPLS的實際應(yīng)用 2023-10-23
- [移動通信] 如何解決局域網(wǎng)ip地址不夠用問題? 2023-10-23
- [電子說] CPE一般支持哪些工作模式?與MIFI相比,優(yōu)勢在哪里? 2023-10-22
- [電子說] Ai-WB2模組HTTP客戶端HEAD和GET請求方法 2023-10-21
- [電子說] 中興晴天墻面路由器喜獲2023年GMARK設(shè)計大獎 2023-10-20
( 發(fā)表人:小蘭 )