您好,歡迎來(lái)電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>電子百科>網(wǎng)絡(luò)>路由器>

路由器技術(shù)解析

2011年07月10日 17:06 本站整理 作者:秩名 用戶評(píng)論(0
關(guān)鍵字:路由器(110175)

  引言

  對(duì)于一般的網(wǎng)絡(luò)用戶,他們能知道怎樣使用路由器來(lái)上網(wǎng)、玩游戲等就已經(jīng)感到很滿足了,通常情況下對(duì)路由器的深層技術(shù)很少去過(guò)問(wèn)研究,但做為興趣廣泛的技術(shù)愛好者,無(wú)法深入了解真正的技術(shù)實(shí)現(xiàn)過(guò)程以及相關(guān)的核心內(nèi)幕。正是基于此點(diǎn),筆者憑借自身的知識(shí)沉淀,盡最大努力為愛好技術(shù)的讀者架設(shè)一坐能通向深層核心的橋梁,為大家揭開路由器的神秘面紗,剖開其核心內(nèi)臟。

  1 什么是路由器?

  互聯(lián)網(wǎng)是依靠路由器連接起來(lái)的,路由器是互聯(lián)網(wǎng)或者說(shuō)IP網(wǎng)絡(luò)的核心設(shè)備。寬帶接入的不斷增長(zhǎng),帶動(dòng)了路由器的需求不斷增加。

  路由器究竟是什么樣的技術(shù)產(chǎn)物?

  談到路由器的開發(fā),我們就不免要談到“嵌入式”設(shè)備的開發(fā),沒錯(cuò),通俗的說(shuō),路由器就是一種嵌入式產(chǎn)品。那么究竟什么是嵌入式設(shè)備呢?

  其實(shí)就目前而言,嵌入式設(shè)備已經(jīng)不斷深入我們的日常生活方方面面。通俗的講,嵌入式設(shè)備是指具有計(jì)算機(jī)功能,但又不稱為計(jì)算機(jī)的設(shè)備或器材,它幾乎包括了我們周圍的所有電器設(shè)備:PDA、手機(jī)、機(jī)頂盒、汽車、微波爐、電梯、安全系統(tǒng)、自動(dòng)售貨機(jī)、醫(yī)療儀器、立體音響、自動(dòng)取款機(jī)等。

  用較為專業(yè)的話來(lái)表述的話,嵌入式設(shè)備就是使用微處理器微控制器芯片MCU)加上外圍電路再加上內(nèi)部的程序部分來(lái)實(shí)現(xiàn)特定功能的嵌入設(shè)備。比如8位的單片機(jī)、32的ARM以及DSP芯片等都屬于嵌入式核心芯片的范疇。8位MCU市場(chǎng)已逐步趨向穩(wěn)定,32位MPU代表著嵌入式技術(shù)的發(fā)展方向,正在加速發(fā)展。在32位嵌入式微處理器市場(chǎng)上,基于ARM內(nèi)核的微處理器在市場(chǎng)上處于絕對(duì)的領(lǐng)導(dǎo)地位,因此追蹤ARM技術(shù)的發(fā)展趨勢(shì)顯得尤為重要。

  路由器的開發(fā)通常都是基于32位處理器的,就通常的中低端路由器而言,在開發(fā)的配置上有多種選擇,比如有ARM9核心芯片+Wince操作系統(tǒng)、ARM7核心芯片+uClinux操作系統(tǒng)、DSP芯片+Vxworks操作系統(tǒng)等等各種各樣的選擇。本文針對(duì)常用的SOHO路由器來(lái)介紹,選擇ARM7核心芯片+uClinux操作系統(tǒng)開發(fā)模式,以完整形象的實(shí)例為大家清晰講解路由器的技術(shù)實(shí)現(xiàn)過(guò)程。

  我們?yōu)槭裁匆許OHO路由器為介紹對(duì)象呢?什么是SOHO路由器?前很多家庭中有不止一臺(tái)電腦,需要上網(wǎng)獲取信息、收發(fā)郵件等。這些小型公司和家庭網(wǎng)絡(luò)用戶計(jì)算機(jī)的數(shù)目一般不多,網(wǎng)絡(luò)結(jié)構(gòu)不復(fù)雜。功能和帶寬的要求不高。出于提高網(wǎng)絡(luò)性能、共享有限IP地址或節(jié)省上網(wǎng)費(fèi)用等原因,這些用戶迫切需要具有較高性價(jià)比的小型路由器。我們把這種小型路由器稱為SOHO路由器。目前市場(chǎng)上已經(jīng)充斥了大量的這類低端路由器。由于ARM7系列芯片價(jià)格便宜,非常適合嵌入式系統(tǒng)使用。目前市場(chǎng)上的SOHO路由器大多采用ARM7系列處理器。不過(guò)由于技術(shù)的發(fā)展,ARM9系列的專用路由芯片的路由器也逐漸普及。

  2 路由器宏觀介紹

  我們可以形象的把嵌入式設(shè)備的開發(fā)簡(jiǎn)單的理解成三層模式,最底層的是微控制器芯片加外圍器件組成的硬件系統(tǒng),比如我們介紹的開發(fā)小型SOHO路由器所使用的ARM7TDMI芯片等硬件環(huán)境,它是設(shè)備功能實(shí)現(xiàn)的硬件基礎(chǔ),要實(shí)現(xiàn)上層的應(yīng)用肯定離不開最底層硬件的支持。中間層是操作系統(tǒng),比如我們所選擇的uClinux操作系統(tǒng),它是銜接硬件部分和應(yīng)用程序的過(guò)渡層,它既可以完成對(duì)底層硬件的基本操作,又能為上層應(yīng)用程序提供運(yùn)行環(huán)境支持。最上層自然就是應(yīng)用程序?qū)恿?,它是?shí)現(xiàn)針對(duì)性應(yīng)用的程序代碼部分,比如路由設(shè)置等功能程序部分。

  那對(duì)與SOHO路由器來(lái)說(shuō),它當(dāng)然也脫離不了這樣的技術(shù)框架,它的更為具體的實(shí)現(xiàn)過(guò)程簡(jiǎn)單的匯總的話,莫過(guò)于如下內(nèi)容:

  首先先要知道SOHO實(shí)現(xiàn)的網(wǎng)絡(luò)功能,典型路由器應(yīng)該具備以下功能:

  支持PPPoE,固定IP上網(wǎng);

  DHCP動(dòng)態(tài)主機(jī)配置協(xié)議;

  網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)技術(shù);

  根據(jù)TCP,UDP的端口號(hào)(portnumber),IP的(協(xié)議號(hào))protocolnumber,對(duì)IP地址進(jìn)行簡(jiǎn)單過(guò)濾的防火墻;

  虛擬服務(wù)主機(jī)/端口映射(PortForwarding)技術(shù);

  支持一定數(shù)量的特殊應(yīng)用程序;然后針對(duì)于上邊的功能要求,相應(yīng)地要通過(guò)硬件和軟件的構(gòu)造來(lái)實(shí)現(xiàn):

  2.1 硬件方面

  1、要明確家用小型路由器(一個(gè)WAN接口,四個(gè)LAN接口)的硬件原理。

  2、實(shí)現(xiàn)硬件電路板設(shè)計(jì),完成電路布線設(shè)計(jì),并對(duì)元件焊接,通過(guò)硬件板的調(diào)試。

  2.2 軟件方面

  1、在分析uClinux內(nèi)核源代碼的基礎(chǔ)上,對(duì)uClinux操作系統(tǒng)的內(nèi)核裁剪。

  2、完成BoaWeb服務(wù)器的配置,并對(duì)CGI腳本進(jìn)行設(shè)計(jì),完成動(dòng)態(tài)網(wǎng)頁(yè)的功能。

  3、對(duì)PPPOE的撥號(hào)進(jìn)行配置實(shí)現(xiàn)。

  4、針對(duì)Linux內(nèi)核防火墻部分,運(yùn)用IPtable工具進(jìn)行防火墻規(guī)則操作。

  通過(guò)如上的基本構(gòu)造,一個(gè)路由器就基本成型了。說(shuō)起來(lái)簡(jiǎn)單,但其中包含了很多很多的技術(shù)細(xì)節(jié),要有大量的實(shí)踐經(jīng)驗(yàn)才能真正實(shí)現(xiàn)。做為門外觀奇的好學(xué)讀者,現(xiàn)在肯定有些不耐煩了吧,想要了解更多的更詳細(xì)的構(gòu)造內(nèi)容吧?那好,現(xiàn)在就可以開始我們真正的技術(shù)之旅了。

  2.3 路由器工作原理

  a 基本原理

  要實(shí)現(xiàn)網(wǎng)絡(luò)中通信節(jié)點(diǎn)彼此之間的通信,首先必須給每個(gè)節(jié)點(diǎn)分配一個(gè)唯一的IP地址。路由器應(yīng)該至少有兩個(gè)網(wǎng)絡(luò)端口,分別連接LAN或者WAN子網(wǎng)上,每個(gè)端口必須具有一個(gè)唯一的IP地址,并且要求與所連接IP子網(wǎng)的網(wǎng)絡(luò)號(hào)相同。不同的端口有不同的網(wǎng)絡(luò)號(hào),對(duì)應(yīng)不同的IP子網(wǎng),這樣各子網(wǎng)中的主機(jī)才能通過(guò)自己子網(wǎng)的IP地址把要求發(fā)出去的IP數(shù)據(jù)報(bào)送到路由器上。

  當(dāng)路由器收到一份IP數(shù)據(jù)報(bào)后,首先要對(duì)該報(bào)文進(jìn)行判斷,然后根據(jù)判斷的結(jié)果做進(jìn)一步的處理。如果數(shù)據(jù)報(bào)是有效或正確的,路由器就根據(jù)數(shù)據(jù)報(bào)的目的IP地址轉(zhuǎn)發(fā)該報(bào)文:否則就把報(bào)文丟棄。如果這個(gè)數(shù)據(jù)報(bào)的目的IP地址與路由器直接相連的一個(gè)子網(wǎng)上,路由器會(huì)通過(guò)相應(yīng)的接口把報(bào)文轉(zhuǎn)發(fā)到目的子網(wǎng)上去;否則會(huì)把它轉(zhuǎn)發(fā)到下一跳(Hop)路由器。為了完成上述的操作,每臺(tái)路由器必須維護(hù)一個(gè)路由表。把對(duì)應(yīng)不同目的地的最佳路徑存放在路由表中,這就是路由策略(RoutingPolicy)問(wèn)題。路由表反映網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),一般一條表項(xiàng)應(yīng)該包含數(shù)據(jù)報(bào)的目的IP地址(通常是目的主機(jī)所在網(wǎng)絡(luò)的地址)、下一跳路由器的地址和相應(yīng)的網(wǎng)絡(luò)接口等,在網(wǎng)絡(luò)拓?fù)浒l(fā)生變化的時(shí)候,路由表也應(yīng)該做相應(yīng)的變動(dòng)。所以路由器必須能夠生成并更新路由表。

  選路機(jī)制實(shí)際上就是如何查找路由表,通過(guò)查詢路由表來(lái)決定向哪個(gè)方向轉(zhuǎn)發(fā)數(shù)據(jù)。一般來(lái)說(shuō),路由器首先搜索匹配的主機(jī)地址:如果沒有,再搜索匹配的網(wǎng)絡(luò)地址:最后搜索默認(rèn)路由。一旦查到匹配的表項(xiàng),路由器就會(huì)把數(shù)據(jù)從相應(yīng)的接口發(fā)送出去。

  路由器具備了上述各要素后,就可以完成數(shù)據(jù)轉(zhuǎn)發(fā)任務(wù)了。另外,路由器不僅負(fù)責(zé)對(duì)IP包的轉(zhuǎn)發(fā),還要負(fù)責(zé)與別的路由器進(jìn)行聯(lián)絡(luò),共同確定互聯(lián)網(wǎng)的路由選擇和路由表的更新維護(hù)。

  b SOHO路由器原理

  當(dāng)內(nèi)部外算機(jī)部要計(jì)外外與Internet網(wǎng)絡(luò)進(jìn)行通信時(shí),各內(nèi)部間通過(guò)私有IP地址進(jìn)行通信的計(jì)算機(jī)必須把私有IP地址轉(zhuǎn)換成合法IP。這種網(wǎng)絡(luò)地址轉(zhuǎn)換技術(shù)稱為NAT(NetworkAddressTranslation,網(wǎng)絡(luò)地址轉(zhuǎn)換)。在一個(gè)實(shí)際的私有網(wǎng)絡(luò)中,NAT功能通常內(nèi)建在路由器、防火墻或獨(dú)立的NAT設(shè)備之上,網(wǎng)絡(luò)中的主機(jī)將這些設(shè)備作為自己的默認(rèn)網(wǎng)關(guān)。通過(guò)這樣的配置,每一臺(tái)內(nèi)部主機(jī)發(fā)送往Internet的數(shù)據(jù)報(bào)就會(huì)送到具有NAT功能的設(shè)備中進(jìn)行轉(zhuǎn)換。NAT是SOHO路由器的必備功能,它是為解決IPv4地址不夠分配的矛盾而產(chǎn)生的一個(gè)簡(jiǎn)單高效的解決方案。它能將任何兩個(gè)地址域的地址進(jìn)行轉(zhuǎn)換,使私有網(wǎng)絡(luò)中多臺(tái)主機(jī)共享一個(gè)合法IP地址訪問(wèn)Internet。

  嵌入式路由器硬件系統(tǒng)介紹1、硬件系統(tǒng)總體結(jié)構(gòu)硬件結(jié)構(gòu)是非常重要的部分,因?yàn)槲覀儾痖_一個(gè)路由器后首先看到的、所能看到的也就是硬件結(jié)構(gòu),我們就舉例簡(jiǎn)單介紹一下硬件設(shè)計(jì)的各個(gè)部位的細(xì)節(jié)內(nèi)容。

  為了宏觀查看,我們給出交換式寬帶路由器的硬件設(shè)計(jì)實(shí)例圖一張。圖中主要分為兩部分:

  ARM4510B部分和交換芯片RTL8305部分,前者主要見上半圖,后者為下半圖。還有電源及各自的復(fù)位電路。

  ARM4510B部分中,中央處理芯片為帶有網(wǎng)絡(luò)接口的S3C4510B--16/32位RISC微控制器,根據(jù)嵌入式操作系統(tǒng)的運(yùn)行需要,擴(kuò)展了SDRAM存儲(chǔ)器和Flash存儲(chǔ)器。SDRAM存儲(chǔ)器由兩片4X1MX16位的HY57V641620HGT組成,作為嵌入式操作系統(tǒng)內(nèi)核及應(yīng)該程序運(yùn)行的內(nèi)存空間。Flash存儲(chǔ)器由一片1MX16位的SS139VF160組成,作為內(nèi)核映像的存儲(chǔ),并在嵌入式操作系統(tǒng)啟動(dòng)時(shí)加載系統(tǒng)內(nèi)核及程序。根據(jù)調(diào)試程序及燒寫Flash存儲(chǔ)器的需要,引出JTAG接口。根據(jù)顯示調(diào)試和運(yùn)行信息的需要,提供了RS232接口。

  交換芯片RTL8305部分中,提供4個(gè)LAN口(PORTO--PORT3)通過(guò)一四口的網(wǎng)絡(luò)隔離變壓器連接一個(gè)四口RJ45口,每個(gè)口可連接到10/10013aseT以太網(wǎng),各端口之間有交換功能:還有一個(gè)WAN接口(CPORT4)通過(guò)一單口的隔離變壓器連接RJ45口。根據(jù)顯示連接速度、狀態(tài)和電源等需要,接出LED燈進(jìn)行顯示。根據(jù)交換芯片的管理需要,提供一串行EEPROM24C01電路接口。根據(jù)交換芯片的主電源為2.5V.提供一個(gè)3.3V到2.5V的轉(zhuǎn)換器

  中央處理芯片通過(guò)MR(獨(dú)立媒體接口)接口與交換芯片RTL8035SB的PORT4的Mil接口相聯(lián),將交換芯片的PORT4配置為物理層接收器

  當(dāng)各部分路設(shè)外外計(jì)圖焊進(jìn)外完外連外成外后外,外形外成外硬外件外外接外外,外外而外外接外之外后外,外就外可外以外作電為開發(fā)用的實(shí)驗(yàn)硬件板了。下面就簡(jiǎn)要介紹一下個(gè)硬件電路部分。

  

非常好我支持^.^

(38) 90.5%

不好我反對(duì)

(4) 9.5%

( 發(fā)表人:小蘭 )

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?