<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 拿起手術(shù)刀 深入剖解路由器的“心臟”技術(shù)

拿起手術(shù)刀 深入剖解路由器的“心臟”技術(shù)

作者: 時(shí)間:2018-09-06 來(lái)源:網(wǎng)絡(luò ) 收藏

寬帶上網(wǎng)已經(jīng)不是什么新鮮事情,人們對相關(guān)的網(wǎng)絡(luò )器件已經(jīng)不再陌生,比如說(shuō)常見(jiàn)的路由器。對于一般的網(wǎng)絡(luò )用戶(hù),他們能知道怎樣使用路由器來(lái)上網(wǎng)、玩游戲等就已經(jīng)感到很滿(mǎn)足了,通常情況下對路由器的深層技術(shù)很少去過(guò)問(wèn)研究,但做為興趣廣泛的技術(shù)愛(ài)好者,對這方面的知識是非常感興趣的。

本文引用地址:http://dyxdggzs.com/article/201809/388544.htm

但限于各種條件的制約,這些愛(ài)好者都非開(kāi)發(fā)者,很大程度上無(wú)法深入了解真正的技術(shù)實(shí)現過(guò)程以及相關(guān)的核心內幕。正是基于此點(diǎn),筆者憑借自身的知識沉淀,盡最大努力為愛(ài)好技術(shù)的讀者架設一坐能通向深層核心的橋梁,為大家揭開(kāi)路由器的神秘面紗,剖開(kāi)其核心內臟。為使讀者能清晰明白的理解掌握,筆者盡量將專(zhuān)業(yè)的技術(shù)內容轉化為容易接受的知識講解,其中可能有不足偏頗之處,還請大家多見(jiàn)諒。

概述

什么是路由器?

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

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

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

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

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

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

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

路由器宏觀(guān)介紹

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

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

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

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

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

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

根據TCP,UDP的端口號(port number),IP 的(協(xié)議號)protocol number,對IP地址進(jìn)行簡(jiǎn)單過(guò)濾的防火墻;

虛擬服務(wù)主機/端口映射(Port Forwarding)技術(shù);

支持一定數量的特殊應用程序;

然后針對于上邊的功能要求,相應地要通過(guò)硬件和軟件的構造來(lái)實(shí)現:

硬件方面:

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

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

軟件方面:

1、在分析 uClinux內核源代碼的基礎上,對uClinux操作系統的內核裁剪。

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

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

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

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

路由器工作原理

1、基本原理

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

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


上一頁(yè) 1 2 3 4 5 6 7 下一頁(yè)

關(guān)鍵詞:

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>