當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]在uClinux環(huán)境下實(shí)現(xiàn)虛擬局域網(wǎng)

   摘要:μClinux是近年發(fā)展起來的一種專用于微控制器領(lǐng)域的嵌入式Linux操作系統(tǒng)。虛擬局域網(wǎng)(VLAN)作為新興技術(shù),是解決以太網(wǎng)廣播風(fēng)暴和安全問題的一個(gè)重要策略。本文在對(duì)VLAN技術(shù)和μClinux操作系統(tǒng)分析的基礎(chǔ)上,給出在μClinux環(huán)境下VLAN的實(shí)現(xiàn)方式與過程。

    關(guān)鍵詞:μClinux VLAN IEEE802.1q

引言

虛擬局域網(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),它以優(yōu)異的性能及免費(fèi)開放的代碼等優(yōu)點(diǎn),博得了眾多嵌入式開發(fā)者的青睞。與過去基于RTOS,甚至沒有使用任何操作系統(tǒng)的嵌入式程序設(shè)計(jì)相比,基于Linux這樣成熟、高效、健壯、可靠、模擬化及易于配置的操作系統(tǒng)來開發(fā)自己的應(yīng)用程序,無疑能提高效率,并且有很好的可移植性。

1 VLAN實(shí)現(xiàn)原理

1.1 VLAN的幀格式

VLAN采用多種方式配置于企業(yè)網(wǎng)絡(luò)中,包括網(wǎng)絡(luò)安全論證、使無線用戶在802.11b接入點(diǎn)溫游、隔離IP語音流、壓縮視頻或音頻數(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的縮寫,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ì)沒有內(nèi)存管理單元MMU的處理器設(shè)計(jì)的。它非常適合那些沒有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)行了重新編寫,以緊縮和裁減基本的代碼。所以它的內(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)配置,以及通過編寫makefile文件將這些文件編譯進(jìn)內(nèi)核中即可。

2 VLAN實(shí)現(xiàn)

為了說明VLAN的實(shí)現(xiàn)過程,本文具體針對(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)過相應(yīng)的配置來完成器由功能。圖3所示為一網(wǎng)絡(luò)配置示意圖,所有設(shè)備及PC機(jī)均通過以太網(wǎng)接口RJ45接入局域網(wǎng)。PC機(jī)A和B是作為瀏覽器來觀察視頻圖像的,可選用。它們使用的網(wǎng)卡型號(hào)是10M/100M自適應(yīng)網(wǎng)卡Realtek RTL8139(A)PCI Fast Ethernet Adapter。圖3中的device主要負(fù)責(zé)視頻流的采集、壓縮與傳輸。它們選用了基于ARM7TDMI的Samsung-4510B處理器。其主頻為50MHz,主存儲(chǔ)器為32MB的SDRAM,網(wǎng)絡(luò)處理芯片選用了RTL8019AS.因本文主要講述VLAN的實(shí)現(xiàn),其具體的硬件結(jié)構(gòu)在此就不再多述。

2.2 軟件實(shí)現(xiàn)

vconfig是一個(gè)客戶端配置工具包。它可完成VLAN的相關(guān)配置。稍加修改即可在μClinux下運(yùn)行。它可以從www.wanfear.com網(wǎng)址上獲得,所用的版本是vconfig-1.6-4.i386.rpm。選用的μClinux內(nèi)核為2.4.18版本的μClinux-dist-20020306.tar.gz。由于μClinux不支持動(dòng)態(tài)編譯到內(nèi)核中并下載到設(shè)備中。

從圖3中可以看出,我們劃分了兩個(gè)VLAN:VLAN1與VLAN2。當(dāng)然,也可根據(jù)需要?jiǎng)澐殖龆鄠€(gè)VLAN。一塊網(wǎng)卡可以綁定兩個(gè)或多個(gè)IP地址,為加快處理速度,在服務(wù)器端選用了兩塊網(wǎng)卡分別命名為eth0與eth1,在初始狀態(tài)時(shí)不需做任何配置。按如下步驟進(jìn)行配置。

Vconfig set_name_type DEV_PLUS_VID_NO_PAD

;配置VLAN命名類型

vconfig add eth0 1 ;eth0網(wǎng)卡綁定VLAN1號(hào)

vconfig add eth1 1 ;eth1網(wǎng)卡綁定VLAN1號(hào)

vconfig add eth0 2 ;eth0網(wǎng)卡綁定VLAN2號(hào)

vconfig add eth1 2 ;eth1網(wǎng)卡綁定VLAN2號(hào)

brct1addbr br0 ;添加虛擬網(wǎng)橋,用于不同VLAN間通信

brct1addif br0 eth0.1 ;將VLAN綁定到虛擬網(wǎng)橋上

brct1 addif br0 eth1.1

brct1stpbr0off ;設(shè)置生成樹協(xié)議關(guān)閉

brct1addbrbr1

brct1addifbr1eth0.2

brct1addifbr1eth1.2

brct1stpbr1off

ifconfig eth0 up ;啟動(dòng)網(wǎng)卡

ifconfig eth1 up

ifconfig eth0.1 up ;啟動(dòng)VLAN

ifconfig eth1.1up

ifconfig eth0.2up

ifconfig eth1.2up

ifconfig br0 up ;啟動(dòng)虛擬網(wǎng)橋

ifconfig br1 up

在客戶端,也就是視頻采集的設(shè)置端需做的應(yīng)配置如下:

VLAN 1下的設(shè)備1

Vconfig set_name_type DEV_PLUS_VID_NO_PAD

Vconfig add eth0 1

Ifconfig eth0.1 192.168.1.1 up

VLAN 1下的設(shè)備2

vconfig set_name_type DEV_PLUS_VID_NO_PAD

vconfig add eth0 1

ifconfig eth0.1 192.168.1.2 up

VLAN 2下的設(shè)備1

Vconfig set_name_type DEV_PLUS_VID_NO_PAD

Vconfig add eth1 2

Ifconfig eth1.2 192.168.2.1 up

VLAN 2下的設(shè)備2

Vconfig set_name_type DEV_PLUS_VID_NO_PAD

vconfig add eth1 2

ifconfig eth1.2 192.168.2.2 up

依此類推,可以擴(kuò)充到n個(gè)設(shè)備的相應(yīng)配置,從而實(shí)現(xiàn)了兩個(gè)VLAN。當(dāng)然,還可以通過iptables設(shè)置規(guī)則來實(shí)現(xiàn)不同VLAN之間的包轉(zhuǎn)發(fā)與包過濾等高級(jí)功能,此文就不再敘述其詳細(xì)過程。

3 VLAN測(cè)試

首先,通過ping命令測(cè)試不同VLAN之間的可達(dá)性。

在設(shè)備192.168.1.1上ping 192.168.1.2,鏈路可達(dá);在設(shè)備192.168.1.1上ping 192.168.2.1,鏈路不可達(dá),說明它們不屬于同一個(gè)VLAN。同時(shí),在服務(wù)器端執(zhí)行下述語句。

tcpdump -n -p icmp -i br0

可看到如下結(jié)果。

00:55:11.700355802.1Qvlan#1P0192.168.1.1>192.168.1.2:icmp:echo request(DF)

00:55:11.700486802.1Qvlan#1P0192.168.1.2>192.168.1.1:icmp:echo reply

00:55:12.700260802.1Qvlan#1P0192.168.1.1>192.168.1.2:icmp:echo request(DF)

00:55:12.700352802.1Qvlan#1P0 192.168.1.2>192.168.1.1:icmp:echo erply

其次,以μClinux為軟件平臺(tái),用GCC編譯實(shí)現(xiàn)了一個(gè)高速視頻流服務(wù)器/客戶程序。它的功能主要是服務(wù)器接受來自客戶端的RTSP連接,并按照RTP、RTCP和SDP等協(xié)議向客戶端提供所采集到的實(shí)時(shí)視頻流。在這里,客戶端是瀏覽器,服務(wù)器端是device,與上述客戶端/服務(wù)器端有所不同。通過實(shí)際的程序運(yùn)行和測(cè)試,在圖3所示的網(wǎng)絡(luò)拓?fù)渲校覀儼l(fā)現(xiàn)在網(wǎng)絡(luò)負(fù)載較重時(shí),劃分了VLAN的視頻流在傳輸延遲和時(shí)延抖動(dòng)上均優(yōu)于不劃分VLAN的視頻流在20%~40%;負(fù)載較輕時(shí),它們的性能相當(dāng)。

4 結(jié)論

當(dāng)前,以信息家電中心的嵌入式系統(tǒng)正得到蓬勃的發(fā)展。隨著嵌入式系統(tǒng)和網(wǎng)絡(luò)技術(shù)的發(fā)展,整個(gè)世界將更加網(wǎng)絡(luò)化和智能化。所以設(shè)備上網(wǎng)必然帶來網(wǎng)絡(luò)安全性和廣播的問題,VLAN則為設(shè)備連入Internet提供了一個(gè)較好的解決途徑。本文針對(duì)嵌入式應(yīng)用開發(fā)環(huán)境μClinux操作系統(tǒng),對(duì)VLAN的實(shí)際給出具體的應(yīng)用環(huán)境與步驟。具有良好的應(yīng)用前景與現(xiàn)實(shí)意義。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉