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

軟件路由器體系結構研究與設計

2008-04-12 00:00:00劉宏義
現代電子技術 2008年8期

摘 要:針對軟件路由器特點,以Chick系統為基礎,重新設計軟件路由器,在設計過程中借助Chick體系結構的思想,尤其是在其體系結構規劃、模塊劃分上,都盡量做到易于配置、管理和擴充。

關鍵詞:軟件路由器;Chick;體系結構;模塊劃分

中圖分類號:TP311文獻標識碼:B

文章編號: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

最早的路由器采用的是軟件體系結構,但由于網絡流量的飛漲,主干網中的核心路由器逐漸被硬件路由器所替代。盡管無法扮演核心路由器的角色,軟件路由器仍然能夠提供良好的小規模的邊界路由服務,而且應用范圍廣,他的最大優勢就是價格低廉,因此軟件路由器的研究和發展仍在繼續。Click軟件路由器是由美國MIT大學Eddie Kohler博士提出,由MIT計算機技術系并行與分布式操作系統實驗室開發完成[1]。Click是新型模塊化的軟件路由器,他的設計目標是使軟件路由器更加靈活,并且易于配置和管理[1]。

1 軟件路由器的發展

1.1 軟件路由器的發展

軟件路由器利用CPU軟件技術實現數據轉發,通常采用通用硬件結合應用程序的方式實現。根據采用的CPU數目,可進一步分為單CPU集中式和多CPU分布式。最初的路由器是多端口的通用計算機,所有的轉發以及路由協議都是由中央CPU來實現[2],其體系結構如圖1所示。

該結構路由器控制網絡與數據交換網絡共用共享總線,接口收到的控制信息即協議數據,由CPU中運行的協議軟件處理,計算結果通過共享總線被送到內存存儲,接口收到的數據也被送到CPU;經轉發軟件根據內存中的路由表以及解開鏈路層封裝后數據包頭中的目的地址判斷后重新封裝,通過共享總線送到相應接口。在上述結構中所有線路接口及軟件共享惟一的CPU資源,所以整機性能不高,總線帶寬一般小于1 Gb/s,在轉發性能方面,查表算法對系統性能影響很大,即使使用快速算法,轉發速度也不會超過400千包/s。

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

目前硬件路由器的發展已經成為趨勢,但軟件路由器以其廉價穩定而仍有比較大的市場前景,如表1所示,對軟件路由器與硬件路由器進行了比較[3]。

路由器的最初設計和實現是采用軟件體系結構,盡管無法扮演核心路由器的角色,但由于其技術支持好、性能好、代價低、設計恰當能夠提供良好的小規模的邊界路由服務,因此應用市場很大,例如Windows 2000下就有路由服務,其配置簡單,性能穩定,是辦公場所理想選擇。

2 Chick體系結構的組成及策略

Click是基于Linux實現的,Click最大的特點就是面向對象的模塊化設計方式。他的組件用C++編寫。每個組件都是C++對象,Click中已經包含了200多個模塊,這些模塊實現了從設備讀數據包、向設備寫數據、路由表查詢等各種功能。要配置路由器,用戶可以根據需要選擇不同的模塊,將這些模塊組合起來,Click的模塊化設計方式也使用戶非常容易增加新的功能。Click體系結構的組成以及相應的策略[4,5] 如表2所示。

3 軟件路由器體系結構設計

為了結合項目背景實現多局域網(不同網段)互連,在借鑒Click的軟件路由器體系結構的同時,也對其某些方面進行了充分的再設計,重新設計后的軟件路由器的體系結構如圖2所示。

從整體上分析其體系結構,主要的過程如下:

OpenEthl()與OpenEth2()表示系統中存在2個不同的網絡接口,該功能模塊負責從網絡接口中接收網絡上傳遞來的數據包。

Sendl()與Send2()表示從相應的網絡接口來發送已經重新構造過的數據包,該功能模塊負責將進行了路由處理的數據報轉發到目的網絡或下一跳分。

SendArp()負責發送ARP查詢數據包,以獲得各網絡接口對應的子網內的各活動主機的IP地址與MAC地址的映射關系,目的是為了更好的用于數據包的構造以及轉發。

FormRouteTable()負責根據一定的動態路由協議獲取路由表,在此為了降低實現的難度,采用路由信息協議(RIP)。選擇此路由協議,不僅是因為其機制較為簡單,更重要的是RIP協議能夠滿足應用環境的要求。

ClassPackets()負責將數據包分類并指定對該數據包的處理方式,數據包的獲取是進行路由的基礎,沒有數據包就不能夠完成軟件路由器的功能。在此為了提高捕獲數據包的效率,采用了借助第3方開發包的方式進行數據包的捕獲,主要是適合在Windows平臺下使用的Winpcap來對底層的數據包進行截獲,同時Winpcap還具備發送原始數據包和網絡流量統計功能。

StripHead(14)負責提取數據包中的前14 B數據,便于修改其目的MAC地址以構造數據包。

CheckIPHeader(…)負責丟棄IP報頭部分中IP長度、源地址或校驗碼錯誤的數據包,將正確的數據報進行存儲以便于分析轉發。

FilterBroadPackets()負責對不需要轉發的廣播包進行過濾,目的是為了提高效率。

GetDeslP()負責提取IP報頭中的目的地址信息進而對比路由表。

CheckRouteTable()負責根據有效目的地址信息查詢路由表,如果有相應的路由表項則可以根據相應目項進行操作,如果沒有則根據默認路由進行處理。這是軟件路由器最為核心和關鍵的步驟。

ARPRequire()負責根據IP地址及socket端口信息進行ARP查詢得到IP地址對應物理地址,進而可以根據MAC地址對數據包進行修改。

除了上述的主要設計流程外,中間還有ICMPError()負責對數據包進行例外錯誤處理。

作為對真實的硬件路由器的模擬,軟件路由器的主要功能是路由選擇和分組轉發,在經過重新設計的軟件路由器體系結構中,將網卡設置為混雜模式,利用Winpcap設置過濾規則,采集所有流經網卡的數據包,分析提取其目的地址并與路由表中的表項進行對比查詢,最終決定對其進行丟棄或轉發。軟件路由器的系統行為說明如下:

(1) 初始化全局變量和數據結構,包括路由表IPMAC對應關系表等;

(2) 打開網卡采集數據包,解析并以隊形形式對需要轉發的數據包進行存儲;

(3) 從隊列中讀取數據包并分析其目的網絡地址;

(4) 根據目的網絡地址查詢路由表和IPMAC表構造相應數據包,并從對應端口轉發出去。

4 結 語

軟件路由器本身是一個比較復雜的系統,本文對其體[LL]系結構進行重新設計。軟件路由器具有很強的應用優勢,主要體現在:軟件路由器同硬件路由器一樣穩定高效;軟件路由器軟路由配置靈活,可選擇性高;軟路由功能強勁、便于管理調試;在網絡安全領域的抗攻擊方面較硬件路由器有后天可及時更新防御系統的優勢;軟件路由器可以添加眾多安全策略,可以完成對IP數據包的分析和網絡擁塞預警功能。

參 考 文 獻

[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]倪縣樂,周衛華,曾志民.高速路由交換技術的研究及其展望[J].計算機工程與應用,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.

作者簡介

劉宏義 男,1972年出生,陜西大荔人,講師。研究方向為計算機仿真。

主站蜘蛛池模板: 香蕉99国内自产自拍视频| 国产成人精品午夜视频'| 欧美区一区| 伊人久久精品亚洲午夜| 无码人中文字幕| 99久久精品国产麻豆婷婷| AV无码一区二区三区四区| 欧美成人国产| 无码 在线 在线| 亚洲AⅤ永久无码精品毛片| 国产亚洲欧美在线专区| 久久免费观看视频| 国产欧美日韩资源在线观看| 无码免费的亚洲视频| 91欧洲国产日韩在线人成| 国产在线小视频| 91青青草视频| 爆乳熟妇一区二区三区| 中文字幕在线观看日本| 爆乳熟妇一区二区三区| 国模视频一区二区| AV不卡国产在线观看| 久久久久夜色精品波多野结衣| 日韩在线播放欧美字幕| 欧美色图久久| 亚洲国产在一区二区三区| 成年午夜精品久久精品| 亚洲精品波多野结衣| 性色生活片在线观看| 亚洲精品黄| 欧美性爱精品一区二区三区| 在线高清亚洲精品二区| 精品国产aⅴ一区二区三区| 国产成人免费高清AⅤ| 婷婷丁香色| 国产原创自拍不卡第一页| 男人天堂亚洲天堂| 在线a视频免费观看| 欧美视频二区| 丝袜久久剧情精品国产| 国产午夜一级淫片| 波多野结衣第一页| 亚洲日韩精品综合在线一区二区| 一级全黄毛片| 亚洲成av人无码综合在线观看| 欧美成人a∨视频免费观看| 手机在线看片不卡中文字幕| 国产三级视频网站| 中文字幕人妻无码系列第三区| 亚洲首页在线观看| 国产情侣一区二区三区| 精品91在线| 欧美激情成人网| 久久久久国产精品免费免费不卡| 日韩欧美国产精品| 久久久久青草线综合超碰| 免费又爽又刺激高潮网址| 精品夜恋影院亚洲欧洲| 午夜影院a级片| 亚洲成A人V欧美综合天堂| 国产三级韩国三级理| 成人亚洲国产| 999国内精品久久免费视频| 在线亚洲精品自拍| 一区二区日韩国产精久久| 亚洲综合色在线| 亚洲黄色网站视频| 不卡无码h在线观看| 日韩在线视频网| 中文字幕日韩丝袜一区| 狠狠色丁香婷婷| 亚洲无码日韩一区| 九九九久久国产精品| 久久久久久久97| 中文字幕 91| 免费国产一级 片内射老| 午夜电影在线观看国产1区| 亚洲AV无码乱码在线观看代蜜桃| 亚洲精品久综合蜜| 久久精品中文字幕少妇| 久久窝窝国产精品午夜看片| 亚洲码一区二区三区|