日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

通用操作系統(tǒng)交換路由器操作系統(tǒng)實(shí)現(xiàn)


引 言
路由器最重要的工作是根據(jù)IP包頭和路由、過濾規(guī)則轉(zhuǎn)發(fā)IP包 。其他功能還包括路由表的維護(hù)與路由器系統(tǒng)的維護(hù) 。實(shí)際上路由器可以看成是一種針對IP網(wǎng)絡(luò)路由需求而設(shè)計(jì)的專用計(jì)算機(jī) 。隨著因特網(wǎng)所承載的業(yè)務(wù)的演進(jìn),因特網(wǎng)對于路由器性能的要求也日漸提高 。在交換式路由器中,包轉(zhuǎn)發(fā)等絕大多數(shù)處理已經(jīng)轉(zhuǎn)移到以端口為中心的硬件中完成,只有路由規(guī)則的生成與維護(hù)、網(wǎng)絡(luò)治理和系統(tǒng)維護(hù)等比較復(fù)雜的工作仍由軟件部分完成 。
實(shí)用中路由器所采用的操作系統(tǒng)可分為三大類:(1)以Cisco的IOS為代表的專用操作系統(tǒng),常見于網(wǎng)絡(luò)骨干節(jié)點(diǎn);(2)以VxWorks為代表的嵌入式系統(tǒng),常見于小型辦公/家用接入設(shè)備上;(3)采用通用操作系統(tǒng)的則在骨干節(jié)點(diǎn)和用戶接入設(shè)備上都有這類設(shè)備 。例如Juniper的路由產(chǎn)品就采用Linux作為操作系統(tǒng) 。通用操作系統(tǒng)上的各種路由、網(wǎng)管軟件的開發(fā)已經(jīng)有相當(dāng)長時(shí)間,其功能、性能、穩(wěn)定性和升級靈活性都很優(yōu)秀,但這些軟件仍然是針對傳統(tǒng)路由器體系結(jié)構(gòu)開發(fā)的,無法直接應(yīng)用于新的路由器體系結(jié)構(gòu) 。本文提出在通用操作系統(tǒng)的驅(qū)動棧中插入一個(gè)中間層,這樣對系統(tǒng)內(nèi)核及和運(yùn)行在其上的路由、網(wǎng)管等上層軟件屏蔽了下層硬件的非凡性,從而把上層軟件和高速硬件平臺結(jié)合起來 。該方案已經(jīng)應(yīng)用于高速邊緣路由器中,并表現(xiàn)出了良好的實(shí)用性和可擴(kuò)展性 。
1 交換式路由器與傳統(tǒng)路由器在體系結(jié)構(gòu)上的差別
路由器工作在網(wǎng)絡(luò)的第三層,其處理工作主要涵蓋七層模型中的下三層,包括:物理接口處理、數(shù)據(jù)鏈路層處理、網(wǎng)絡(luò)層的路由查找、轉(zhuǎn)發(fā)以及隊(duì)列治理等[1] 。在傳統(tǒng)的路由器體系結(jié)構(gòu)中,硬件部分只實(shí)現(xiàn)物理層的處理,其余工作需要消耗系統(tǒng)計(jì)算資源完成:包括CPU周期、內(nèi)存容量和總線帶寬等,因此性能也受限于這些資源 。而在交換式路由器中,路由處理機(jī)僅處理系統(tǒng)維護(hù)、路由表維護(hù)等少量工作,數(shù)據(jù)流的處理都由相對獨(dú)立的硬件完成,不再受限于系統(tǒng)計(jì)算資源,因此其性能遠(yuǎn)優(yōu)于傳統(tǒng)路由器[2] 。如圖1所示 。
 
 
傳統(tǒng)路由器和交換式路由器在體系結(jié)構(gòu)方面有明顯的區(qū)別:在傳統(tǒng)路由器中,所有的物理接口直接掛接在總線上,內(nèi)核可以通過總線直接訪問這些接口;而在交換式路由器中,只有控制卡是直接掛接在總線上的,內(nèi)核必須通過控制卡間接訪問各個(gè)接口 。這導(dǎo)致操作系統(tǒng)內(nèi)核中代表網(wǎng)絡(luò)接口的驅(qū)動對象的區(qū)別:在傳統(tǒng)路由器中,內(nèi)核存在若干網(wǎng)絡(luò)設(shè)備驅(qū)動對象實(shí)例,每個(gè)實(shí)例通過總線直接維護(hù)一個(gè)端口,為內(nèi)核及其上面的上層軟件提供基本操作支持 。而在交換式路由器中,普通的網(wǎng)絡(luò)設(shè)備驅(qū)動對象無法直接維護(hù)端口,也無法支持系統(tǒng)內(nèi)核和上層軟件操作 。因此,交換式路由器體系結(jié)構(gòu)的非凡性使得通用操作系統(tǒng)和上層軟件無法直接應(yīng)用 。針對這個(gè)問題有兩種解決辦法:(1)大量修改內(nèi)核和各種相關(guān)軟件的源代碼以適應(yīng)新的體系結(jié)構(gòu) 。這種做法存在開發(fā)工作量大、周期長、局限性強(qiáng)的缺點(diǎn),喪失了使用通用操作系統(tǒng)的靈活性;(2)在驅(qū)動棧中增加一個(gè)中間層,支持普通網(wǎng)絡(luò)驅(qū)動對象所能支持的一切操作,這樣系統(tǒng)內(nèi)核和上層軟件基本上不必修改就可以運(yùn)行在交換式路由器上 。這就是本文所提出的中間層方案 。這種方案克服了第一種方法的復(fù)雜性,在保持靈活性的基礎(chǔ)上,可以快速地把通用操作系統(tǒng)及上層軟件移植到交換式路由器的硬件平臺上 。
2 中間層設(shè)計(jì)
中間層功能包括數(shù)據(jù)通信和控制兩個(gè)方面 。從數(shù)據(jù)通信方面考慮,每個(gè)端口的功能都等效于傳統(tǒng)路由器中的一個(gè)網(wǎng)絡(luò)接口,所以每個(gè)物理端口在內(nèi)核中都應(yīng)有對應(yīng)的網(wǎng)絡(luò)驅(qū)動實(shí)例 。這樣才能支持各種上層軟件運(yùn)行,滿足數(shù)據(jù)通信功能的需要 。

推薦閱讀