深入講解路由器技術(shù)中關(guān)鍵技術(shù)
目前,我國的路由器技術(shù)發(fā)展很迅猛,于是我研究了一下路由器技術(shù)中的關(guān)鍵技術(shù),在這里拿出來和大家分享一下,希望對大家有用?;ヂ?lián)網(wǎng)是依靠路由器連接起來的,路由器技術(shù)是互聯(lián)網(wǎng)或者說IP網(wǎng)絡(luò)的核心設(shè)備。寬帶接入的不斷增長,帶動(dòng)了路由器技術(shù)的需求不斷增加。
談到路由器技術(shù)的開發(fā),我們就不免要談到“嵌入式”設(shè)備的開發(fā),沒錯(cuò),通俗的說,路由器技術(shù)就是一種嵌入式產(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è)的話來表述的話,嵌入式設(shè)備就是使用微處理器或微控制器芯片(MCU)加上外圍電路再加上內(nèi)部的程序部分來實(shí)現(xiàn)特定功能的嵌入設(shè)備。比如8位的單片機(jī)、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路由器技術(shù)來介紹,選擇ARM7核心芯片+uClinux操作系統(tǒng)開發(fā)模式,以完整形象的實(shí)例為大家清晰講解路由器技術(shù)實(shí)現(xiàn)過程。
我們?yōu)槭裁匆許OHO路由器技術(shù)為介紹對象呢?什么是SOHO路由器?前很多家庭中有不止一臺電腦,需要上網(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路由器。目前市場上已經(jīng)充斥了大量的這類低端路由器.由于ARM7系列芯片價(jià)格便宜,非常適合嵌入式系統(tǒng)使用。目前市場上的SOHO路由器技術(shù)大多采用ARM7系列處理器。不過由于技術(shù)的發(fā)展,ARM9系列的專用路由芯片的路由器技術(shù)也逐漸普及。
我們可以形象的把嵌入式設(shè)備的開發(fā)簡單的理解成三層模式,最底層的是微控制器芯片加外圍器件組成的硬件系統(tǒng),比如我們介紹的開發(fā)小型SOHO路由器技術(shù)所使用的ARM7TDMI芯片等硬件環(huán)境,它是設(shè)備功能實(shí)現(xiàn)的硬件基礎(chǔ),要實(shí)現(xiàn)上層的應(yīng)用肯定離不開最底層硬件的支持。中間層是操作系統(tǒng),比如我們所選擇的uClinux操作系統(tǒng),它是銜接硬件部分和應(yīng)用程序的過渡層,它既可以完成對底層硬件的基本操作,又能為上層應(yīng)用程序提供運(yùn)行環(huán)境支持。最上層自然就是應(yīng)用程序?qū)恿?,它是?shí)現(xiàn)針對性應(yīng)用的程序代碼部分,比如路由設(shè)置等功能程序部分。
路由器技術(shù)工作原理
要實(shí) 現(xiàn) 網(wǎng) 絡(luò)中通信節(jié)點(diǎn)彼此之間的通信,首先必須給每個(gè)節(jié)點(diǎn)分配一個(gè)唯一的IP地址。路由器技術(shù)應(yīng)該至少有兩個(gè)網(wǎng)絡(luò)端口,分別連接LAN或者WAN子網(wǎng)上,每個(gè)端口必須具有一個(gè)唯一的IP地址,并且要求與所連接IP子網(wǎng)的網(wǎng)絡(luò)號相同。不同的端口有不同的網(wǎng)絡(luò)號,對應(yīng)不同的IP子網(wǎng),這樣各子網(wǎng)中的主機(jī)才能通過自己子網(wǎng)的IP地址把要求發(fā)出去的IP數(shù)據(jù)報(bào)送到路由器上。
當(dāng)路由器收到一份IP數(shù)據(jù)報(bào)后,首先要對該報(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)上,路由器技術(shù)會通過相應(yīng)的接口把報(bào)文轉(zhuǎn)發(fā)到目的子網(wǎng)上去;否則會把它轉(zhuǎn)發(fā)到下一跳(Hop)路由器。為了完成上述的操作,每臺路由器必須維護(hù)一個(gè)路由表。把對應(yīng)不同目的地的最佳路徑存放在路由表中,這就是路由策略(Routing Policy)問題。路由表反映網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),一般一條表項(xiàng)應(yīng)該包含數(shù)據(jù)報(bào)的目的IP地址(通常是目的主機(jī)所在網(wǎng)絡(luò)的地址)、下一跳路由器技術(shù)的地址和相應(yīng)的網(wǎng)絡(luò)接口等,在網(wǎng)絡(luò)拓?fù)浒l(fā)生變化的時(shí)候,路由表也應(yīng)該做相應(yīng)的變動(dòng)。所以路由器技術(shù)必須能夠生成并更新路由表。
選路機(jī)制實(shí)際上就是如何查找路由表,通過查詢路由表來決定向哪個(gè)方向轉(zhuǎn)發(fā)數(shù)據(jù)。一般來說,路由器首先搜索匹配的主機(jī)地址:如果沒有,再搜索匹配的網(wǎng)絡(luò)地址:最后搜索默認(rèn)路由。一旦查到匹配的表項(xiàng),路由器技術(shù)就會把數(shù)據(jù)從相應(yīng)的接口發(fā)送出去。路由器具備了上述各要素后,就可以完成數(shù)據(jù)轉(zhuǎn)發(fā)任務(wù)了。另外,路由器技術(shù)不僅負(fù)責(zé)對IP包的轉(zhuǎn)發(fā),還要負(fù)責(zé)與別的路由器技術(shù)進(jìn)行聯(lián)絡(luò),共同確定互聯(lián)網(wǎng)的路由選擇和路由表的更新維護(hù)。