當前位置:編程學習大全網 - 源碼下載 - 高分跪求計算機英語論文

高分跪求計算機英語論文

英文篇名 Switch Router Operating System Based on a General Operating System

下載頻次 ☆

作者 潘登; 徐佩霞;

英文作者 PAN Deng; XU Pei xia (Department of Electronic Engineering and Information Science; University of Science and Technology of China; Hefei; 230027; China);

作者單位 中國科學技術大學電子工程與信息科學系; 230027;

文獻出處 數據采集與處理 , Journal of Data Acquisition & Processing, 編輯部郵箱 2003年 04期

期刊榮譽:中文核心期刊要目總覽 ASPT來源刊 CJFD收錄刊

中文關鍵詞 交換式路由器; 通用操作系統; 路由器操作系統;

英文關鍵詞 switch router; general operating system; router operating system;

摘要 提出了壹種將通用操作系統及其上層路由軟件移植到交換式路由器平臺上的方案。此方案可以向上屏蔽交換式路由器與傳統的路由器體系結構上的區別 ,從而把通用操作系統及其上層路由軟件移植到交換式路由器的平臺上 ;同時兼顧數據通信和管理維護方面的需求 ,為上層路由軟件提供了與傳統路由器相同的接口 ,從而使基於通用操作系統的路由軟件可以在不損失可升級性的條件下快速移植到交換式路由器上。實際應用證實了該方案具有良好的靈活性和兼容性

英文摘要 A new solution to port general operating systems and their routing software to switch router is presented. The solution shields the architecture difference between traditional router and switch router to application level software, thus it may support general operating system and their routing software on switch router platform. The solution is also considered as requirements of both data communication and control functions. And same ways of the access and control of the router are provied as traditional ro...

基金 國家 8 63計劃 ( 863 -3 1 7-0 1 -99)資助項目

DOI CNKI:SUN:SJCJ.0.2003-04-017

分類號 TN915.05

正文快照 引 言路由器最重要的工作是根據 IP包頭和路由、過濾規則轉發 IP包。其他功能還包括路由表的維護與路由器系統的維護。實際上路由器可以看成是壹種針對 IP網絡路由需求而設計的專用計算機。隨著因特網所承載的業務的演進 ,因特網對於路由器性能的要求也日漸提高。在交換式路

看看這壹篇

文章編號: 100429037 (2003) 0420450205

壹種基於通用操作系統的交換式路由器操作系統實現

潘 登, 徐佩霞

(中國科學技術大學電子工程與信息科學系, 合肥, 230027)

摘要: 提出了壹種將通用操作系統及其上層路由軟件移植到交換式路由器平臺上的方案。此方案可以向上屏蔽

交換式路由器與傳統的路由器體系結構上的區別, 從而把通用操作系統及其上層路由軟件移植到交換式路由器

的平臺上; 同時兼顧數據通信和管理維護方面的需求, 為上層路由軟件提供了與傳統路由器相同的接口, 從而使

基於通用操作系統的路由軟件可以在不損失可升級性的條件下快速移植到交換式路由器上。實際應用證實了該

方案具有良好的靈活性和兼容性。

關鍵詞: 交換式路由器; 通用操作系統; 路由器操作系統

中圖分類號: TN 915105; TP393 文獻標識碼:A

基金項目: 國家863 計劃(8632317201299) 資助項目

收稿日期: 2003203229; 修訂日期: 2003206215

Switch Router Operating System Based on

a General Operating System

PA N D eng , X U P ei2x ia

(Department of Elect ronic Engineering and Info rmat ion Science,

U niversity of Science and Techno logy of Ch ina, Hefei, 230027,Ch ina)

Abstract: A new so lu t ion to po rt general operat ing system s and their rou t ing sof tw are to

sw itch rou ter is p resen ted. The so lu t ion sh ields the arch itectu re difference betw een t radit ional

rou ter and sw itch rou ter to app licat ion level sof tw are, thu s it may suppo rt general operat ing

system and their rou t ing sof tw are on sw itch rou ter p latfo rm. The so lu t ion is also con sidered as

requ iremen t s of bo th data commun icat ion and con t ro l funct ion s. A nd same w ays of the access

and con t ro l of the rou ter are p rovied as t radit ional rou ter, so rou t ing sof tw are of the general

operat ing system may be po rted to sw itch rou ter p latfo rm rap idly w ith the upgradeab le

f lex ib ility. P ract ical design app roves that the so lu t ion has a good compat ib ility and f lex ib ility.

Key words: sw itch rou ter; general operat ing system; rou ter operat ing system

引 言

路由器最重要的工作是根據IP 包頭和路由、

過濾規則轉發IP 包。其他功能還包括路由表的維

護與路由器系統的維護。實際上路由器可以看成是

壹種針對IP 網絡路由需求而設計的專用計算機。

隨著因特網所承載的業務的演進, 因特網對於路由

器性能的要求也日漸提高。在交換式路由器中, 包

轉發等絕大多數處理已經轉移到以端口為中心的

硬件中完成, 只有路由規則的生成與維護、網絡管

理和系統維護等比較復雜的工作仍由軟件部分完

成。

實用中路由器所采用的操作系統可分為三大

類: (1) 以Cisco 的IO S 為代表的專用操作系統, 常

見於網絡骨幹節點; (2) 以V xWo rk s 為代表的嵌

入式系統, 常見於小型辦公?家用接入設備上; (3)

采用通用操作系統的則在骨幹節點和用戶接入設

備上都有這類設備。例如Jun iper 的路由產品就采

用L inux 作為操作系統。通用操作系統上的各種路

由、網管軟件的開發已經有相當長時間, 其功能、性

能、穩定性和升級靈活性都很優秀, 但這些軟件仍

第18卷第4期

2003 年12 月

數據采集與處理

Journal of Data A cquisit ion & P rocessing

Vo l. 18 No. 4

Dec. 2003

然是針對傳統路由器體系結構開發的, 無法直接應

用於新的路由器體系結構。本文提出在通用操作系

統的驅動棧中插入壹個中間層, 這樣對系統內核及

和運行在其上的路由、網管等上層軟件屏蔽了下層

硬件的特殊性, 從而把上層軟件和高速硬件平臺結

合起來。該方案已經應用於高速邊緣路由器中, 並

表現出了良好的實用性和可擴展性。

1 交換式路由器與傳統路由器在體

系結構上的差別

路由器工作在網絡的第三層, 其處理工作主要

涵蓋七層模型中的下三層, 包括: 物理接口處理、數

據鏈路層處理、網絡層的路由查找、轉發以及隊列

管理等[1 ]。在傳統的路由器體系結構中, 硬件部分

只實現物理層的處理, 其余工作需要消耗系統計算

資源完成: 包括CPU 周期、內存容量和總線帶寬

等, 因此性能也受限於這些資源。而在交換式路由

器中, 路由處理機僅處理系統維護、路由表維護等

少量工作, 數據流的處理都由相對獨立的硬件完

成, 不再受限於系統計算資源, 因此其性能遠優於

傳統路由器[2 ]。如圖1 所示。

(a) 傳統路由器體系結構

(b) 交換式路由器體系結構

圖1 路由器的邏輯結構

傳統路由器和交換式路由器在體系結構方面

有明顯的區別: 在傳統路由器中, 所有的物理接口

直接掛接在總線上, 內核可以通過總線直接訪問這

些接口; 而在交換式路由器中, 只有控制卡是直接

掛接在總線上的, 內核必須通過控制卡間接訪問各

個接口。這導致操作系統內核中代表網絡接口的驅

動對象的區別: 在傳統路由器中, 內核存在若幹網

絡設備驅動對象實例, 每個實例通過總線直接維護

壹個端口, 為內核及其上面的上層軟件提供基本操

作支持。而在交換式路由器中, 普通的網絡設備驅

動對象無法直接維護端口, 也無法支持系統內核和

上層軟件操作。因此, 交換式路由器體系結構的特

殊性使得通用操作系統和上層軟件無法直接應用。

針對這個問題有兩種解決辦法: (1) 大量修改內核

和各種相關軟件的源代碼以適應新的體系結構。這

種做法存在開發工作量大、周期長、局限性強的缺

點, 喪失了使用通用操作系統的靈活性; (2) 在驅動

棧中增加壹個中間層, 支持普通網絡驅動對象所能

支持的壹切操作, 這樣系統內核和上層軟件基本上

不必修改就可以運行在交換式路由器上。這就是本

文所提出的中間層方案。這種方案克服了第壹種方

法的復雜性, 在保持靈活性的基礎上, 可以快速地

把通用操作系統及上層軟件移植到交換式路由器

的硬件平臺上。

2 中間層設計

中間層功能包括數據通信和控制兩個方面。從

數據通信方面考慮, 每個端口的功能都等效於傳統

路由器中的壹個網絡接口, 所以每個物理端口在內

核中都應有對應的網絡驅動實例。這樣才能支持各

種上層軟件運行, 滿足數據通信功能的需要。

從控制功能方面考慮, 對上要把每壹種可能的

邏輯操作映射成硬件操作; 對下要能夠和多個設備

通信。上層應用包括系統維護、路由軟件、網管軟

件; 下層設備包括處理引擎和端口。控制功能的具

體實現和硬件平臺有關。考慮到多種應用可能同時

操作壹個硬件設備, 壹種應用也可能同時操作多個

設備, 在實現時必須考慮到對於多並發操作的支

持。

基於上述考慮, 中間層由控制卡驅動模塊和若

幹網絡驅動實例組成。在圖2 (a, b) 中分別給出了

傳統路由器的結構與驅動方式以及本文所提出的

中間層所處的位置與驅動方式。

第4 期潘 登, 等: 壹種基於通用操作系統的交換式路由器操作系統實現451

圖2 中間層的位置與驅動方式

控制卡驅動模塊作為中間層的核心, 維護控制

卡上所有的端口、內存映射、中斷和循環緩沖隊列

資源。它實現了數據通道和控制通道。對下直接驅

動控制卡、與各個端口、處理引擎通信; 對上, 壹方

面通過內核調用陷阱方式提供控制通道接口; 另壹

方面向虛擬網絡驅動實例提供數據通道接口。虛擬

網絡驅動實例在操作系統內核為各個物理端口實

現網絡驅動實例。它們工作在控制卡驅動模塊的基

礎上, 並不直接控制硬件, 故稱為虛擬網絡驅動實

例。虛擬網絡驅動實例封裝控制卡驅動模塊提供的

數據傳輸功能, 並為內核和上層軟件提供與普通網

絡驅動實例相同的調用接口。下面分別給出數據通

道和控制通道的實現方案。

211 數據通道的功能與實現

虛擬網絡驅動實例和物理端口是壹壹對應的。

內核數據收發的功能包括3 個方面:

(1) 發往某虛擬網絡驅動實例的數據包應該由

其對應端口輸出;

(2) 這個端口所收到的包也通過該虛擬網絡驅

動實例向系統內核提交;

(3) 中間層也可以對虛擬網絡驅動實例進行流

控操作, 以避免因擁塞導致數據丟失。

註意到圖2 (b) 中的交換結構以定長信元交換

數據, 其格式如圖3 所示, 其中信元頭占4 字節, 包

括處理引擎號和端口號域。對於收?發信元, 處理引

擎號和端口號分別為該信元的源端口的和目的端

口的對應值。

根據圖2 (b) 所示的系統結構可知: 由處理引

擎號和端口號可以確定端口的物理位置。控制卡驅

動模塊在其內部的驅動信息數組中維護虛擬網絡

驅動實例和端口之間的對應關系。

圖3 數據信元結構

發送數據時, 虛擬網絡驅動實例從內核網絡部

分獲取待發送的數據, 偕同指向該實例自己的指針

壹起提交給控制卡驅動模塊。壹方面, 控制卡驅動

模塊通過這個指針可以對虛擬網絡驅動實例進行

流控設置; 另壹方面, 控制卡驅動模塊根據虛擬網

絡驅動實例指針查驅動信息表得到目標端口物理

位置信息, 包括處理引擎號和端口號。端口物理位

置信息將被填充到所有用來承載待發送數據包的

信元頭中。控制卡驅動模塊通過控制卡把信元送到

交換結構, 而交換結構和處理引擎分別根據處理引

擎號和端口號將信元轉發到到目標端口。最後端口

從接收到的信元中恢復出原始數據發出。

接收數據時, 端口也會將數據拆分到若幹信元

中逐級上傳。考慮到交換結構的循環優先機制, 壹

個數據包上傳的過程可能被來自其他端口的數據

搶斷。所以控制卡驅動模塊對於接收到的信元按源

端口位置信息(包括處理引擎號和端口號) 保存到

不同的緩沖區中。當接收到該數據包相關的全部信

元, 控制驅動模塊即可重組該數據, 並根據源端口

位置信息查驅動信息表以得到指向該端口對應虛

擬網絡驅動實例的指針, 進而激活該虛擬網絡驅動

實例接收數據。虛擬網絡驅動實例從控制卡驅動模

塊中獲取數據後, 按照網絡驅動的常規方式調用

net if- rx 接口向內核提交數據。數據收發實現結構

如圖4 所示。

值得註意的是, 在交換式路由器中, 處理引擎

通過交換結構交換的是IP 包; 而通用操作系統中

452 數據采集與處理第18 卷

圖4 數據收發實現結構

網絡驅動通常處理鏈路層的幀。即控制卡驅動模塊

數據通道對上對下的數據格式是不同的。因此, 在

發送數據時控制卡驅動模塊需要從得到的鏈路幀

中提取IP 包再轉發到端口; 而接收數據時則對來

自端口的IP 包進行鏈路幀封裝再向上提交。以以

太網為例, 需要恢復的包括源和目標站的物理地

址、載荷類型和幀校驗[3 ]。對於承載IP 包的以太

幀, 顯然其目標站物理地址和載荷類型[4 ]都是已知

的。實現時采用的操作系統是L inux, 通過在虛擬

網絡驅動源代碼中進行設置可以使內核不進行幀

校驗[5 ]。所以只有源站物理地址未知。如果要求硬

件給出真實的源站物理地址, 則增加了硬件的復雜

度; 而若在控制卡驅動模塊中偽造源物理地址, 則

可能導致內核的ARP 管理混亂。為簡化硬件設

計, 實現時采用了在控制卡驅動模塊中偽造源物理

地址的辦法, 同時修改虛擬網絡驅動源代碼, 重載

幀頭處理函數[6 ]。這樣內核ARP 表就不受偽造地

址的影響, 其獲取和刷新通過查詢端口ARP 記錄

實現。

212 控制通道的功能與實現

控制功能的通信也是基於信元的, 其操作包括

維護管理和表同步兩類。維護管理主要是進行各種

查詢, 通常通過若幹次雙向通信完成。每次通信有

效載荷都只有幾個字節, 由壹個信元即可承載。而

表同步則是將上層軟件維護的表復制到相關硬件

中, 包括ARP 表、路由和分類表等。表同步操作涉

及大量數據傳輸, 需要由多個信元承載。控制功能

都是針對設備進行的, 所以在控制?反饋信元中也

必須包括目標設備的物理位置信息。

在實際運行期間, 所有的上層應用和設備之間

的控制通信復用控制通道, 其特點為:

(1) 不同的應用可能同時訪問同壹設備;

(2) 壹個應用也可能同時訪問多個設備;

(3) 同壹應用對於同壹個設備的操作壹般都是

順序的。

為支持這種復用操作, 所有承載控制信息和反

饋信息的頭部除包括目標硬件的物理位置和操作

指令外, 還包括命令類型、應用類型信息。控制?反

饋用信元結構如圖5 所示。

圖5 控制?反饋信元結構

圖5 中: 處理引擎號和端口號, 確定設備的物

理位置; 收?發信元分別為該信元的源端口的和目

的端口的對應值; 命令碼在設備和應用之間定義。

每種可能的操作分配壹個代碼; 應用碼在控制卡驅

動模塊和上層應用之間預定義。每種可能的應用分

配壹個代碼。這些應用包含網管、路由維護、硬件維

護和ARP 信息獲取等。

上層應用通過內核調用陷井( IOCTL ) 發起控

制通道操作, 同時給出目標設備物理位置、命令類

型代碼和應用類型代碼。控制卡驅動模塊把這些信

息填充到控制信元中再將其發往設備。設備把這些

代碼直接復制到反饋信元中, 再在後面追加上反饋

信息。控制卡驅動模塊為每壹種應用分配壹個循環

緩沖區, 把收到的反饋根據應用類型排入相應隊列

中。上層應用從其所對應的循環緩沖區中讀取反饋

信元, 然後根據信元中的物理位置信息、命令碼就

可以確定該反饋對應的原始命令, 從而對反饋數據

進行適當處理。這樣就實現了各種控制功能對控制

通道的復用。如圖6 所示。

第4 期潘 登, 等: 壹種基於通用操作系統的交換式路由器操作系統實現453

圖6 控制通信實現結構

3 結 論

鑒於傳統路由器體系結構和交換式路由器體

系結構的區別, 通用操作系統及在其上開發的路由

軟件無法直接應用於交換式路由器。本文提出的中

間層方案可以有效地解決這個問題。該方案全面考

慮了數據通信和管理維護方面的需求, 為上層提供

了與原有模型基本相同的接口, 並使得路由軟件在

不損失其靈活性和可升級性的條件下直接應用於

交換式路由器中。雖然該方案只是在特定的平臺和

特定的操作系統上得到了實現, 但是不難看出, 這

種思路對操作系統並沒有特殊的依賴性, 完全可以

移植到其他通用操作系統上。本文提出的方案已經

在國家863 項目實用化綜合接入系統的高速邊緣

路由器的研制中取得了良好的實際效果。本文為國

產高性能路由器的軟件開發提出了壹種高效快捷

的解決方案, 該方案具有良好的應用前景。

參考文獻:

[1 ] Kuro se J F, Ro ss KW. Computer netwo rk ing: a top2

dow n app roach featuring the internet [M ]. A ddison

W esley Longman′s P ress, 2001. 332~ 341.

[ 2 ] 梁阿磊, 等. 路由器體系結構及其發展[J ]. 小型微型

計算機系統, 2001, 8: 943~ 945.

[3 ] M edia access cont ro l frame st ructure [S ]. IEEE Std

80213, 1998. 36~ 40.

[ 4 ] Charles Ho rnig. RFC 894: a standard fo r the t rans2

m ission of IP datagram s over Ethernet netwo rk s[S ].

198411~ 2.

[5 ] Bovet D P. U nderstanding L inux kernel[M ]. O reil2

ley P ress, 2002. 683~ 685

[ 6 ] Rubini A. L inux device drivers. 2nd edit ion [M ].

O r2eilley P ress, 2001. 455~ 458

作者簡介: 潘 登(19772) , 男, 博士研究生, 研究方向: 網絡

體系結構、網絡安全, E2mail: pandeng@mail. ustc. edu. cn;

徐佩霞(19412) , 女, 教授, 博士生導師, 研究方向: 音頻視頻

編碼、非線性處理、下壹代網絡。

454 數據采集與處理第18 卷

  • 上一篇:裝修DIY必備:5款適合非專業人士使用的室內設計軟體
  • 下一篇:國內crm客戶管理系統推薦(免費易用的crm軟件)
  • copyright 2024編程學習大全網