999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

軟件路由器體系結(jié)構(gòu)研究與設(shè)計(jì)

2008-04-12 00:00:00劉宏義
現(xiàn)代電子技術(shù) 2008年8期

摘 要:針對(duì)軟件路由器特點(diǎn),以Chick系統(tǒng)為基礎(chǔ),重新設(shè)計(jì)軟件路由器,在設(shè)計(jì)過(guò)程中借助Chick體系結(jié)構(gòu)的思想,尤其是在其體系結(jié)構(gòu)規(guī)劃、模塊劃分上,都盡量做到易于配置、管理和擴(kuò)充。

關(guān)鍵詞:軟件路由器;Chick;體系結(jié)構(gòu);模塊劃分

中圖分類號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:B

文章編號(hào):1004-373X(2008)08-049-03

Research and Design of the System Structure of Software Router

LIU Hongyi

(Xi′an Military Academy,Xi′an,710108,China)

Abstract:A software router has been redesigned based on Click system and characteristics of the software router.In the process of implementing the system,a lot of thoughts have been drawn from Click system,especially about the system structure of the software router,the division of the module.The whole system is easy to dispose,manage and expand.

Keywords:software router;Click;system structure;module division

最早的路由器采用的是軟件體系結(jié)構(gòu),但由于網(wǎng)絡(luò)流量的飛漲,主干網(wǎng)中的核心路由器逐漸被硬件路由器所替代。盡管無(wú)法扮演核心路由器的角色,軟件路由器仍然能夠提供良好的小規(guī)模的邊界路由服務(wù),而且應(yīng)用范圍廣,他的最大優(yōu)勢(shì)就是價(jià)格低廉,因此軟件路由器的研究和發(fā)展仍在繼續(xù)。Click軟件路由器是由美國(guó)MIT大學(xué)Eddie Kohler博士提出,由MIT計(jì)算機(jī)技術(shù)系并行與分布式操作系統(tǒng)實(shí)驗(yàn)室開(kāi)發(fā)完成[1]。Click是新型模塊化的軟件路由器,他的設(shè)計(jì)目標(biāo)是使軟件路由器更加靈活,并且易于配置和管理[1]。

1 軟件路由器的發(fā)展

1.1 軟件路由器的發(fā)展

軟件路由器利用CPU軟件技術(shù)實(shí)現(xiàn)數(shù)據(jù)轉(zhuǎn)發(fā),通常采用通用硬件結(jié)合應(yīng)用程序的方式實(shí)現(xiàn)。根據(jù)采用的CPU數(shù)目,可進(jìn)一步分為單CPU集中式和多CPU分布式。最初的路由器是多端口的通用計(jì)算機(jī),所有的轉(zhuǎn)發(fā)以及路由協(xié)議都是由中央CPU來(lái)實(shí)現(xiàn)[2],其體系結(jié)構(gòu)如圖1所示。

該結(jié)構(gòu)路由器控制網(wǎng)絡(luò)與數(shù)據(jù)交換網(wǎng)絡(luò)共用共享總線,接口收到的控制信息即協(xié)議數(shù)據(jù),由CPU中運(yùn)行的協(xié)議軟件處理,計(jì)算結(jié)果通過(guò)共享總線被送到內(nèi)存存儲(chǔ),接口收到的數(shù)據(jù)也被送到CPU;經(jīng)轉(zhuǎn)發(fā)軟件根據(jù)內(nèi)存中的路由表以及解開(kāi)鏈路層封裝后數(shù)據(jù)包頭中的目的地址判斷后重新封裝,通過(guò)共享總線送到相應(yīng)接口。在上述結(jié)構(gòu)中所有線路接口及軟件共享惟一的CPU資源,所以整機(jī)性能不高,總線帶寬一般小于1 Gb/s,在轉(zhuǎn)發(fā)性能方面,查表算法對(duì)系統(tǒng)性能影響很大,即使使用快速算法,轉(zhuǎn)發(fā)速度也不會(huì)超過(guò)400千包/s。

1.2 硬件路由器與軟件路由器之間的比較

目前硬件路由器的發(fā)展已經(jīng)成為趨勢(shì),但軟件路由器以其廉價(jià)穩(wěn)定而仍有比較大的市場(chǎng)前景,如表1所示,對(duì)軟件路由器與硬件路由器進(jìn)行了比較[3]。

路由器的最初設(shè)計(jì)和實(shí)現(xiàn)是采用軟件體系結(jié)構(gòu),盡管無(wú)法扮演核心路由器的角色,但由于其技術(shù)支持好、性能好、代價(jià)低、設(shè)計(jì)恰當(dāng)能夠提供良好的小規(guī)模的邊界路由服務(wù),因此應(yīng)用市場(chǎng)很大,例如Windows 2000下就有路由服務(wù),其配置簡(jiǎn)單,性能穩(wěn)定,是辦公場(chǎng)所理想選擇。

2 Chick體系結(jié)構(gòu)的組成及策略

Click是基于Linux實(shí)現(xiàn)的,Click最大的特點(diǎn)就是面向?qū)ο蟮哪K化設(shè)計(jì)方式。他的組件用C++編寫(xiě)。每個(gè)組件都是C++對(duì)象,Click中已經(jīng)包含了200多個(gè)模塊,這些模塊實(shí)現(xiàn)了從設(shè)備讀數(shù)據(jù)包、向設(shè)備寫(xiě)數(shù)據(jù)、路由表查詢等各種功能。要配置路由器,用戶可以根據(jù)需要選擇不同的模塊,將這些模塊組合起來(lái),Click的模塊化設(shè)計(jì)方式也使用戶非常容易增加新的功能。Click體系結(jié)構(gòu)的組成以及相應(yīng)的策略[4,5] 如表2所示。

3 軟件路由器體系結(jié)構(gòu)設(shè)計(jì)

為了結(jié)合項(xiàng)目背景實(shí)現(xiàn)多局域網(wǎng)(不同網(wǎng)段)互連,在借鑒Click的軟件路由器體系結(jié)構(gòu)的同時(shí),也對(duì)其某些方面進(jìn)行了充分的再設(shè)計(jì),重新設(shè)計(jì)后的軟件路由器的體系結(jié)構(gòu)如圖2所示。

從整體上分析其體系結(jié)構(gòu),主要的過(guò)程如下:

OpenEthl()與OpenEth2()表示系統(tǒng)中存在2個(gè)不同的網(wǎng)絡(luò)接口,該功能模塊負(fù)責(zé)從網(wǎng)絡(luò)接口中接收網(wǎng)絡(luò)上傳遞來(lái)的數(shù)據(jù)包。

Sendl()與Send2()表示從相應(yīng)的網(wǎng)絡(luò)接口來(lái)發(fā)送已經(jīng)重新構(gòu)造過(guò)的數(shù)據(jù)包,該功能模塊負(fù)責(zé)將進(jìn)行了路由處理的數(shù)據(jù)報(bào)轉(zhuǎn)發(fā)到目的網(wǎng)絡(luò)或下一跳分。

SendArp()負(fù)責(zé)發(fā)送ARP查詢數(shù)據(jù)包,以獲得各網(wǎng)絡(luò)接口對(duì)應(yīng)的子網(wǎng)內(nèi)的各活動(dòng)主機(jī)的IP地址與MAC地址的映射關(guān)系,目的是為了更好的用于數(shù)據(jù)包的構(gòu)造以及轉(zhuǎn)發(fā)。

FormRouteTable()負(fù)責(zé)根據(jù)一定的動(dòng)態(tài)路由協(xié)議獲取路由表,在此為了降低實(shí)現(xiàn)的難度,采用路由信息協(xié)議(RIP)。選擇此路由協(xié)議,不僅是因?yàn)槠錂C(jī)制較為簡(jiǎn)單,更重要的是RIP協(xié)議能夠滿足應(yīng)用環(huán)境的要求。

ClassPackets()負(fù)責(zé)將數(shù)據(jù)包分類并指定對(duì)該數(shù)據(jù)包的處理方式,數(shù)據(jù)包的獲取是進(jìn)行路由的基礎(chǔ),沒(méi)有數(shù)據(jù)包就不能夠完成軟件路由器的功能。在此為了提高捕獲數(shù)據(jù)包的效率,采用了借助第3方開(kāi)發(fā)包的方式進(jìn)行數(shù)據(jù)包的捕獲,主要是適合在Windows平臺(tái)下使用的Winpcap來(lái)對(duì)底層的數(shù)據(jù)包進(jìn)行截獲,同時(shí)Winpcap還具備發(fā)送原始數(shù)據(jù)包和網(wǎng)絡(luò)流量統(tǒng)計(jì)功能。

StripHead(14)負(fù)責(zé)提取數(shù)據(jù)包中的前14 B數(shù)據(jù),便于修改其目的MAC地址以構(gòu)造數(shù)據(jù)包。

CheckIPHeader(…)負(fù)責(zé)丟棄IP報(bào)頭部分中IP長(zhǎng)度、源地址或校驗(yàn)碼錯(cuò)誤的數(shù)據(jù)包,將正確的數(shù)據(jù)報(bào)進(jìn)行存儲(chǔ)以便于分析轉(zhuǎn)發(fā)。

FilterBroadPackets()負(fù)責(zé)對(duì)不需要轉(zhuǎn)發(fā)的廣播包進(jìn)行過(guò)濾,目的是為了提高效率。

GetDeslP()負(fù)責(zé)提取IP報(bào)頭中的目的地址信息進(jìn)而對(duì)比路由表。

CheckRouteTable()負(fù)責(zé)根據(jù)有效目的地址信息查詢路由表,如果有相應(yīng)的路由表項(xiàng)則可以根據(jù)相應(yīng)目項(xiàng)進(jìn)行操作,如果沒(méi)有則根據(jù)默認(rèn)路由進(jìn)行處理。這是軟件路由器最為核心和關(guān)鍵的步驟。

ARPRequire()負(fù)責(zé)根據(jù)IP地址及socket端口信息進(jìn)行ARP查詢得到IP地址對(duì)應(yīng)物理地址,進(jìn)而可以根據(jù)MAC地址對(duì)數(shù)據(jù)包進(jìn)行修改。

除了上述的主要設(shè)計(jì)流程外,中間還有ICMPError()負(fù)責(zé)對(duì)數(shù)據(jù)包進(jìn)行例外錯(cuò)誤處理。

作為對(duì)真實(shí)的硬件路由器的模擬,軟件路由器的主要功能是路由選擇和分組轉(zhuǎn)發(fā),在經(jīng)過(guò)重新設(shè)計(jì)的軟件路由器體系結(jié)構(gòu)中,將網(wǎng)卡設(shè)置為混雜模式,利用Winpcap設(shè)置過(guò)濾規(guī)則,采集所有流經(jīng)網(wǎng)卡的數(shù)據(jù)包,分析提取其目的地址并與路由表中的表項(xiàng)進(jìn)行對(duì)比查詢,最終決定對(duì)其進(jìn)行丟棄或轉(zhuǎn)發(fā)。軟件路由器的系統(tǒng)行為說(shuō)明如下:

(1) 初始化全局變量和數(shù)據(jù)結(jié)構(gòu),包括路由表IPMAC對(duì)應(yīng)關(guān)系表等;

(2) 打開(kāi)網(wǎng)卡采集數(shù)據(jù)包,解析并以隊(duì)形形式對(duì)需要轉(zhuǎn)發(fā)的數(shù)據(jù)包進(jìn)行存儲(chǔ);

(3) 從隊(duì)列中讀取數(shù)據(jù)包并分析其目的網(wǎng)絡(luò)地址;

(4) 根據(jù)目的網(wǎng)絡(luò)地址查詢路由表和IPMAC表構(gòu)造相應(yīng)數(shù)據(jù)包,并從對(duì)應(yīng)端口轉(zhuǎn)發(fā)出去。

4 結(jié) 語(yǔ)

軟件路由器本身是一個(gè)比較復(fù)雜的系統(tǒng),本文對(duì)其體[LL]系結(jié)構(gòu)進(jìn)行重新設(shè)計(jì)。軟件路由器具有很強(qiáng)的應(yīng)用優(yōu)勢(shì),主要體現(xiàn)在:軟件路由器同硬件路由器一樣穩(wěn)定高效;軟件路由器軟路由配置靈活,可選擇性高;軟路由功能強(qiáng)勁、便于管理調(diào)試;在網(wǎng)絡(luò)安全領(lǐng)域的抗攻擊方面較硬件路由器有后天可及時(shí)更新防御系統(tǒng)的優(yōu)勢(shì);軟件路由器可以添加眾多安全策略,可以完成對(duì)IP數(shù)據(jù)包的分析和網(wǎng)絡(luò)擁塞預(yù)警功能。

參 考 文 獻(xiàn)

[1]Kohler E,Morris R,Chen B J,et al.The Click Modular Router[J].ACM Transactions on Computer Systems,2000,18(3):263297.

[2]倪縣樂(lè),周衛(wèi)華,曾志民.高速路由交換技術(shù)的研究及其展望[J].計(jì)算機(jī)工程與應(yīng)用,2002,2(1):2528.

[3]Chen B J,Morris R.Flexible Control of Parallelism in a MultiProcessor PC Router[EB/OL].http://www.pdos.lcs.mit.edu/papers/click:usenix01/usenix01.pelf,2002.

[4]Decasper D,Dittia Z B,Parulka G,et al.Router Plugins:A Software Architecture for Nextgeneration Routers[J].IEEE/ACM Transactions On Networking,2000,8(1):2224.

[5]Kohler E.The Click Modular Muter[EB/OL].http://www.pdos.1cs.mit.edu/papers/click:kohlerphd/thesis.pdf,2004.

作者簡(jiǎn)介

劉宏義 男,1972年出生,陜西大荔人,講師。研究方向?yàn)橛?jì)算機(jī)仿真。

主站蜘蛛池模板: 在线欧美a| 亚洲中文字幕久久无码精品A| 国产无码网站在线观看| 欧美色视频日本| 午夜性刺激在线观看免费| 国产凹凸视频在线观看| 午夜老司机永久免费看片| 久久中文无码精品| 一级香蕉视频在线观看| 午夜少妇精品视频小电影| 91网红精品在线观看| 99久久性生片| 亚洲国产系列| 国产91精品调教在线播放| 99热最新网址| 久久女人网| 国内精品久久久久鸭| 精品视频在线观看你懂的一区| 国产精品漂亮美女在线观看| 这里只有精品免费视频| 九色国产在线| 国产精品99久久久| 亚洲Va中文字幕久久一区 | 亚洲成人免费在线| 国产精品成人一区二区| 久久这里只有精品8| 伊人久久综在合线亚洲2019| 亚洲av综合网| 国产精品一线天| 国产精品免费露脸视频| 国产成人综合久久精品尤物| 无码高潮喷水专区久久| 亚洲五月激情网| 日本人又色又爽的视频| 91蝌蚪视频在线观看| 91精品人妻一区二区| 色婷婷狠狠干| 亚洲成肉网| 凹凸精品免费精品视频| 免费毛片全部不收费的| 欧美精品成人| 国产日韩精品欧美一区灰| 免费啪啪网址| 欧美日本在线观看| 国产精品无码翘臀在线看纯欲| av一区二区三区高清久久| 国产欧美专区在线观看| 一区二区三区国产精品视频| 亚洲综合激情另类专区| 国产十八禁在线观看免费| 国产欧美视频一区二区三区| 国产精品2| 青青草国产在线视频| 九色91在线视频| 高清欧美性猛交XXXX黑人猛交 | 久久综合色视频| 国产精品污视频| 国产交换配偶在线视频| 国产高清在线观看91精品| 又大又硬又爽免费视频| 一级毛片中文字幕| 尤物亚洲最大AV无码网站| www.亚洲国产| 手机精品视频在线观看免费| 亚洲视频四区| 97国内精品久久久久不卡| 欧美一区二区三区欧美日韩亚洲| 茄子视频毛片免费观看| av无码一区二区三区在线| 国产亚洲美日韩AV中文字幕无码成人| 米奇精品一区二区三区| 国产精品美女免费视频大全 | 国产中文在线亚洲精品官网| 91视频国产高清| 8090午夜无码专区| 欧美中文字幕一区| 亚洲不卡网| 真人高潮娇喘嗯啊在线观看| 国产成人盗摄精品| 亚洲不卡网| 女人18毛片一级毛片在线 | 色综合综合网|