- 相關(guān)推薦
在uClinux環(huán)境下實(shí)現(xiàn)虛擬局域網(wǎng)
摘要:μClinux是近年發(fā)展起來(lái)的一種專(zhuān)用于微控制器領(lǐng)域的嵌入式Linux操作系統(tǒng)。虛擬局域網(wǎng)(VLAN)作為新興技術(shù),是解決以太網(wǎng)廣播風(fēng)暴和安全問(wèn)題的一個(gè)重要策略。本文在對(duì)VLAN技術(shù)和μClinux操作系統(tǒng)分析的基礎(chǔ)上,給出在μClinux環(huán)境下VLAN的實(shí)現(xiàn)方式與過(guò)程。引言
虛擬局域網(wǎng)VLAN(Virtual Local Area Network)是指在交換局域網(wǎng)的基礎(chǔ)上,采用網(wǎng)絡(luò)管理軟件構(gòu)建的可跨越不同網(wǎng)段、不同網(wǎng)絡(luò)的端到端的邏輯網(wǎng)絡(luò)。一個(gè)VLAN組成一個(gè)邏輯子網(wǎng),即一個(gè)邏輯廣播域。它可以覆蓋多個(gè)網(wǎng)絡(luò)設(shè)備,允許處于不同地址位置的網(wǎng)絡(luò)用戶加入到一個(gè)邏輯子網(wǎng)中。使用VLAN最明顯的好處是,它可以控制廣播風(fēng)暴,提高網(wǎng)絡(luò)的整體安全性,且在網(wǎng)絡(luò)管理上簡(jiǎn)單、直觀。
ΜClinux是應(yīng)用于微控制器領(lǐng)域的一種嵌入式Linux操作系統(tǒng),它以?xún)?yōu)異的性能及免費(fèi)開(kāi)放的代碼等優(yōu)點(diǎn),博得了眾多嵌入式開(kāi)發(fā)者的青睞。與過(guò)去基于RTOS,甚至沒(méi)有使用任何操作系統(tǒng)的嵌入式程序設(shè)計(jì)相比,基于Linux這樣成熟、高效、健壯、可靠、模擬化及易于配置的操作系統(tǒng)來(lái)開(kāi)發(fā)自己的應(yīng)用程序,無(wú)疑能提高效率,并且有很好的可移植性。
1 VLAN實(shí)現(xiàn)原理
1.1 VLAN的幀格式
VLAN采用多種方式配置于企業(yè)網(wǎng)絡(luò)中,包括網(wǎng)絡(luò)安全論證、使無(wú)線用戶在802.11b接入點(diǎn)溫游、隔離IP語(yǔ)音流、壓縮視頻或音頻數(shù)據(jù)流的多址廣播及在不同協(xié)議的網(wǎng)絡(luò)中傳輸數(shù)據(jù)等。VLAN的劃分一般基于以下3種:端口、MAC地址、路由。
VLAN通;贗EEE802.1q和802.1p規(guī)范用于將VLAN用戶信息載入以太網(wǎng)幀;而802.1p使二層交換機(jī)具有流量?jī)?yōu)先和實(shí)施動(dòng)態(tài)多址濾波的能力。標(biāo)準(zhǔn)一直在修訂和完善之中,IEEE 802.1u和IEEE 802.1v就是2001年3月頒布的、對(duì)1998年版802.1q的修訂。
VLAN的幀格式與傳統(tǒng)的以太網(wǎng)802.3幀格式有所不同,如圖1所示,是不包含802.1p和802.1q的802.3幀格式。包含802.1p和802.1q后的新802.3幀格式如圖2所示。
其中,TCI是Tag Control Info的縮寫(xiě),2字節(jié)。當(dāng)設(shè)置為“8100”(hex)時(shí),表明這一幀使用802.1p和802.1q標(biāo)記;P是Priority,指示802.1p的優(yōu)先級(jí)別(0~7),占用3位;C是Canonical Indicator,指示以太網(wǎng)格式是否規(guī)范,規(guī)范用0表示,否則用1表示,占用1位;VLAN是VLAN Identifier(VID),表明這一幀屬于哪一個(gè)VLAN(0~4095),占用12位。它們加在一起共4個(gè)字節(jié)。
1.2 μClinux及對(duì)VLAN的支持
μClinux最大的特征就是針對(duì)沒(méi)有內(nèi)存管理單元MMU的處理器設(shè)計(jì)的。它非常適合那些沒(méi)有MMU的處理器,如Motorola公司的M6828、M68EN322、MC68360;DragonBall系列的68EZ328、68VZ328;ColdFire系列如5272、5307,ARM7TDMI和MC68EN302、ETRAX、Intel i960、PTISMA、Atari 68k等。ΜClinux對(duì)Linux內(nèi)核的源代碼進(jìn)行了重新編寫(xiě),以緊縮和裁減基本的代碼。所以它的內(nèi)核非常小,僅有512KB,加上相關(guān)的工碼。所以它的內(nèi)核非常小,僅有512KB,加上相關(guān)的工具還不到900KB但,μClinux仍然保持了Linux操作系統(tǒng)的主要優(yōu)點(diǎn),如穩(wěn)定性好、有強(qiáng)大的網(wǎng)絡(luò)功能和出色的文件系統(tǒng)支持等能力。
在μClinux系統(tǒng)源代碼包內(nèi)的linux-2.4.x8021q目錄下,有vlan.c、vlan_dev.c等幾個(gè)關(guān)于VLAN運(yùn)行及配置的源程序文件。它們針對(duì)VLAN幀做了代碼實(shí)現(xiàn)。在linux-2.4.x目錄下的if_vlan.h文件中,定義了VLAN處理的相關(guān)數(shù)據(jù)結(jié)構(gòu)。只需利用μClinux可裁剪、可配置的特點(diǎn),在make menuconfig…Customize Kernel Settings…Networking options以及在make menuconfig…Customize Vendor/User Settings…Network Applications下作相應(yīng)配置,以及通過(guò)編寫(xiě)makefile文件將這些文件編譯進(jìn)內(nèi)核中即可。
2 VLAN實(shí)現(xiàn)
為了說(shuō)明VLAN的實(shí)現(xiàn)過(guò)程,本文具體針對(duì)高速視頻流的網(wǎng)上傳輸完成了VLAN的實(shí)現(xiàn)。
2.1 網(wǎng)絡(luò)結(jié)構(gòu)
由于VLAN是建立在物理網(wǎng)絡(luò)基礎(chǔ)上的一種邏輯子網(wǎng),因此建立VLAN需要相應(yīng)的支持VLAN技術(shù)的網(wǎng)絡(luò)設(shè)備。當(dāng)網(wǎng)絡(luò)中不同VLAN間進(jìn)行相互通信時(shí),需要路由的支持。在本文中利用一臺(tái)裝有兩塊網(wǎng)卡的PC機(jī)作為服務(wù)器,運(yùn)行Linux操作系統(tǒng),并經(jīng)過(guò)相應(yīng)的配置來(lái)完成器由功能。圖3所示為一網(wǎng)絡(luò)配置示意圖,所有設(shè)備及PC機(jī)均通過(guò)以太網(wǎng)接口RJ45接入局域網(wǎng)。PC機(jī)A和B是作為瀏覽器來(lái)觀察視頻圖像的,可選用。它們使用的網(wǎng)卡型號(hào)是10M/100M自適應(yīng)網(wǎng)卡Realtek RTL8139(A)PCI Fast Ethernet Adapter。圖3中的device主要負(fù)責(zé)視
【在uClinux環(huán)境下實(shí)現(xiàn)虛擬局域網(wǎng)】相關(guān)文章:
利用ColdFire uClinux實(shí)現(xiàn)數(shù)據(jù)采集和傳輸03-19
局域網(wǎng)數(shù)據(jù)庫(kù)環(huán)境下數(shù)據(jù)采集及處理12-24
基于網(wǎng)絡(luò)的遠(yuǎn)程虛擬儀器系統(tǒng)的實(shí)現(xiàn)03-07
數(shù)字視頻局域網(wǎng)監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)03-18
網(wǎng)絡(luò)經(jīng)濟(jì)下虛擬營(yíng)銷(xiāo)戰(zhàn)略分析03-24
在VxWorks下實(shí)現(xiàn)NAT/NAPT的方法03-20
小研三維虛擬場(chǎng)景漫游系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)03-03
在仿真環(huán)境下實(shí)現(xiàn)TMS320C6000系列DSP的程序自引導(dǎo)03-20
基于虛擬現(xiàn)實(shí)技術(shù)的自行車(chē)漫游系統(tǒng)的研究與實(shí)現(xiàn)03-18