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