亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇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ī)仿真。

        国产精品av在线一区二区三区| 黄色国产精品福利刺激午夜片| 国产精品毛片av毛片一区二区| 青青草高中生在线视频| 亚洲成av人的天堂在线观看| 老太脱裤让老头玩ⅹxxxx| 青春草国产视频| 国产精品久久久久久久y| 久久久亚洲日本精品一区| 日本二区在线视频观看| 人人超碰人人爱超碰国产| 好男人社区影院www| 性一交一乱一乱一视频| 国产精品爽爽va在线观看网站| 久久久久久一本大道无码| 人妻少妇激情久久综合| 水野优香中文字幕av网站| 成片免费观看视频大全| 无码视频一区二区三区在线观看 | 99精品人妻无码专区在线视频区| 成年女人永久免费看片| 无人视频在线播放在线观看免费| 男生自撸视频在线观看| 免费久久久一本精品久久区| 精品人妻av区乱码| 国产亚洲美女精品久久久| 无码视频一区=区| 少妇又色又爽又高潮在线看| 欧美亚洲熟妇一区二区三区| 国产嫖妓一区二区三区无码| 人妻AV无码一区二区三区奥田咲| 日产乱码一区二区国产内射| 国产精品久色婷婷不卡| 18禁真人抽搐一进一出在线| 麻豆国产人妻欲求不满| 精品国产又大又黄又粗av| 加勒比东京热中文字幕| 中文成人无码精品久久久不卡| 亚洲中文字幕巨乳人妻| 日本韩国亚洲三级在线| 妺妺窝人体色www聚色窝|