在uClinux環境下實現虛擬區域網

2021-01-10 電子產品世界
摘要:μClinux是近年發展起來的一種專用於微控制器領域的嵌入式Linux作業系統。虛擬區域網(VLAN)作為新興技術,是解決乙太網廣播風暴和安全問題的一個重要策略。本文在對VLAN技術和μClinux作業系統分析的基礎上,給出在μClinux環境下VLAN的實現方式與過程。

關鍵詞:μClinux VLAN IEEE802.1q

引言

虛擬區域網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主要負責視頻流的採集、壓縮與傳輸。它們選用了基於ARM7TDMI的Samsung-4510B處理器。其主頻為50MHz,主存儲器為32MB的SDRAM,網絡處理晶片選用了RTL8019AS.因本文主要講述VLAN的實現,其具體的硬體結構在此就不再多述。

2.2 軟體實現

vconfig是一個客戶端配置工具包。它可完成VLAN的相關配置。稍加修改即可在μClinux下運行。它可以從www.wanfear.com網址上獲得,所用的版本是vconfig-1.6-4.i386.rpm。選用的μClinux內核為2.4.18版本的μClinux-dist-20020306.tar.gz。由於μClinux不支持動態編譯到內核中並下載到設備中。

從圖3中可以看出,我們劃分了兩個VLAN:VLAN1與VLAN2。當然,也可根據需要劃分出多個VLAN。一塊網卡可以綁定兩個或多個IP位址,為加快處理速度,在伺服器端選用了兩塊網卡分別命名為eth0與eth1,在初始狀態時不需做任何配置。按如下步驟進行配置。

Vconfig set_name_type DEV_PLUS_VID_NO_PAD

;配置VLAN命名類型

vconfig add eth0 1 ;eth0網卡綁定VLAN1號

vconfig add eth1 1 ;eth1網卡綁定VLAN1號

vconfig add eth0 2 ;eth0網卡綁定VLAN2號

vconfig add eth1 2 ;eth1網卡綁定VLAN2號

brct1addbr br0 ;添加虛擬網橋,用於不同VLAN間通信

brct1addif br0 eth0.1 ;將VLAN綁定到虛擬網橋上

brct1 addif br0 eth1.1

brct1stpbr0off ;設置生成樹協議關閉

brct1addbrbr1

brct1addifbr1eth0.2

brct1addifbr1eth1.2

brct1stpbr1off

ifconfig eth0 up ;啟動網卡

ifconfig eth1 up

ifconfig eth0.1 up ;啟動VLAN

ifconfig eth1.1up

ifconfig eth0.2up

ifconfig eth1.2up

ifconfig br0 up ;啟動虛擬網橋

ifconfig br1 up

在客戶端,也就是視頻採集的設置端需做的應配置如下:

VLAN 1下的設備1

Vconfig set_name_type DEV_PLUS_VID_NO_PAD

Vconfig add eth0 1

Ifconfig eth0.1 192.168.1.1 up

VLAN 1下的設備2

vconfig set_name_type DEV_PLUS_VID_NO_PAD

vconfig add eth0 1

ifconfig eth0.1 192.168.1.2 up

VLAN 2下的設備1

Vconfig set_name_type DEV_PLUS_VID_NO_PAD

Vconfig add eth1 2

Ifconfig eth1.2 192.168.2.1 up

VLAN 2下的設備2

Vconfig set_name_type DEV_PLUS_VID_NO_PAD

vconfig add eth1 2

ifconfig eth1.2 192.168.2.2 up

依此類推,可以擴充到n個設備的相應配置,從而實現了兩個VLAN。當然,還可以通過iptables設置規則來實現不同VLAN之間的包轉發與包過濾等高級功能,此文就不再敘述其詳細過程。

3 VLAN測試

首先,通過ping命令測試不同VLAN之間的可達性。

在設備192.168.1.1上ping 192.168.1.2,鏈路可達;在設備192.168.1.1上ping 192.168.2.1,鏈路不可達,說明它們不屬於同一個VLAN。同時,在伺服器端執行下述語句。

tcpdump -n -p icmp -i br0

可看到如下結果。

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為軟體平臺,用GCC編譯實現了一個高速視頻流伺服器/客戶程序。它的功能主要是伺服器接受來自客戶端的RTSP連接,並按照RTP、RTCP和SDP等協議向客戶端提供所採集到的實時視頻流。在這裡,客戶端是瀏覽器,伺服器端是device,與上述客戶端/伺服器端有所不同。通過實際的程序運行和測試,在圖3所示的網絡拓撲中,我們發現在網絡負載較重時,劃分了VLAN的視頻流在傳輸延遲和時延抖動上均優於不劃分VLAN的視頻流在20%~40%;負載較輕時,它們的性能相當。

4 結論

當前,以信息家電中心的嵌入式系統正得到蓬勃的發展。隨著嵌入式系統和網絡技術的發展,整個世界將更加網絡化和智能化。所以設備上網必然帶來網絡安全性和廣播的問題,VLAN則為設備連入Internet提供了一個較好的解決途徑。本文針對嵌入式應用開發環境μClinux作業系統,對VLAN的實際給出具體的應用環境與步驟。具有良好的應用前景與現實意義。

相關焦點

  • 區域網虛擬伺服器工作模式有哪些 虛擬伺服器工作模式介紹
    區域網虛擬伺服器的工作模式有哪些?  如果你想利用VMWare在區域網中新建一個獨立的虛擬伺服器,為區域網用戶提供網絡服務;或者想創建一個與網內其他機器相隔離的虛擬系統,進行特殊的調試工作。此時,對虛擬系統工作模式的選擇就非常重要了。
  • 摘要:VPN用於創建虛擬專用網絡,實現基於網際網路的虛擬區域網通信...
    VPN用於創建虛擬專用網絡,實現基於網際網路的虛擬區域網通信協議。對於使用VPN創建連接的用戶,可能會出現無法正常連接VPN的情況,對此我們可以採取以下方法來解決。對於TP-link路由器,切換到」安全功能「->「安全設置」選項卡,勾選「虛擬專用網絡」欄目中的「PPTP穿透」右側的「啟用」項。對於磊科寬帶路由器而言,切換到」安全管理「選項卡,在」VPN透傳「欄目中勾選」PPTP穿透「右側的」啟用「項。
  • 區域網和廣域網兩種場景下的多LoRaWAN網關組網
    圖1是LoRaWAN網關的區域網內多網關組網的方式。區域網場景是指,主網關和組網網關位於同一個區域網,相互可通過IP位址直接訪問情況。本場景同樣適用於OpenVPN 虛擬區域網。這種方式的特點是網絡配置簡單,同一個區域網內網絡環境相對穩定、安全,組網網關和主網關之間使用UDP方式通信。
  • 打破網速和空間的障礙,巧用虛擬區域網解決遠程辦公難題
    這款路由器擁有雙千兆WAN口,可以充分利用起來公司的兩條百兆寬帶,另一方面,這款路由器自帶了虛擬區域網功能,可以省下一筆租用遠程辦公網絡的費用。這樣後面大家出差或者在家裡的時候,也可以輕鬆訪問公司的各種資源了。蒲公英X6路由器的包裝盒個頭不小,分量也不輕,畢竟是總共10個網口的路由器,包裝盒的設計風格非常的簡約,正面僅有貝銳的品牌Logo。
  • 接上U盤就能構建虛擬區域網!蒲公英X5路由器使用體驗分享
    只需要外接移動硬碟,蒲公英X5路由器就可以打造私有雲功能,隨時隨地實現遠程文件存儲、讀寫和編輯。在背面部分,蒲公英X5路由器有兩個為壁掛而設計的卡槽。張貼著的紙張上寫明了產品名稱、電源規格和默認密碼等信息。從各種外觀細節可知,蒲公英X5路由器這款產品不但設計簡潔,做工也是比較紮實的。實際使用:私有共享雲搭建分享完外觀細節,接下來我們談談實際的使用感受。
  • 架設內部區域網虛擬遊戲社區MUD站點
    它營造了一個虛擬的真實世界,說它是虛擬的,是因為這個世界實際並不存在,而又說它真實,是因為它具有現實世界中的一切。你可以在此中獲得類似於在真實世界中的感受:喜、怒、哀、樂,可以結交知心的朋友、也可能會結下仇敵、也會被朋友出賣、也會與仇敵結緣。因為遊戲中的每一個角色的網絡那頭都有連著一個真實的靈魂。
  • Multisim實現虛擬實驗環境設計
    為了達到解決電子技術課堂教學脫離實踐問題的目的,採用EDA工具Multisim仿真的方法,以單級阻容耦合共射放大電路為例,搭建仿真電路,建立虛擬實驗環境。
  • Virtual PC新用法--單機虛擬網絡
    ZDNetChina伺服器站 12月30日虛擬化技巧  筆者工作和學習地點都實現了聯網,但在調試程序的時候得經常奔波於多臺計算機之間,很不方便。如果想把工作帶回家,又缺乏一個網絡運行環境。
  • 用蒲公英P5,全世界都是我的虛擬區域網
    ,可能都不是什麼問題,但是對於絕大多數人而言,都不是件容易的事情,因此蟲蟲君今天就為大家介紹一款旁路神器-蒲公英P5,不誇張的說,用蒲公英P5,只需簡單的插上網線就可以使用了,超級方便,全世界走到哪裡都有我的虛擬區域網。
  • Immersis虛擬實境技術借投影實現VR環境
    目前的虛擬實境技術總要藉助於頭戴顯示設備,這雖然挺科幻的但是有時也帶來不少局限性。  根據《連線》報導,一家初創團隊Catopsys希望通過Immersis項目來改變這一現狀,通過投影設備實現將虛擬實境內容投射至房間中,營造浸入式虛擬實境環境。
  • 區域網印表機查找區域網資源搜索查看網絡運維神器工具利器
    區域網查看工具(LanSee)是對區域網上的各種信息進行查看的工具。區域網查看工具(LanSee)破解版採用多線程技術,可以快速搜索出區域網中的計算機(包括IP位址、MAC地址、計算機名稱、工作組、用戶名、作業系統)、共享資源、共享文件。
  • 網絡行為管理軟體 區域網限速軟體為網絡管理保駕護航
    如下圖所示:系統基於領先的B/S架構,只需安裝在區域網內任意一臺電腦上即可,無需特殊設置和加裝任何設備,所有功能只需點幾下滑鼠即可啟用,在同類產品中安裝操作最簡單、最快捷。目前,軟體已經成功應用於千萬終端,部分產品遠銷海外,涉及企業、政府、軍工、教育、能源、醫療、交通、製造、設計、房地產等各個行業,佔據領先的市場地位。
  • 不在同一區域網且沒有公網IP,如何連接遠程印表機?
    那麼,如何設置區域網印表機,實現遠程外網列印?下面以花生殼盒子映射發布Toshiba e-STUDIO3540C印表機為例,跟大家分享具體操作步驟。一.查看印表機配置獲取IP及埠先確保區域網印表機能正常列印,然後到「控制面板」找到「設備和印表機」;選中對應的印表機,點擊配置埠;查看印表機的IP位址和埠號(後面映射需用到);二.花生殼盒子添加映射與印表機同一區域網環境下,將花生殼盒子接上電源和路由器(也可WiFi聯網),看到花生殼盒子指示燈白燈常亮,即連接成功
  • 基於USB接口的區域網接入適配器的設計方案
    基於USB接口的區域網接入適配器的設計方案 程石;胡愛群;蔡 發表於 2020-04-04 10:53:00 目前,在區域網內部,計算機接入區域網的傳統方法是通過在計算機主板上安裝乙太網卡來實現網絡的互聯
  • 區域網網速突然變慢怎麼辦
    區域網網速變慢是怎麼回事呢?通常這是由於區域網中有人使用限速軟體所造成的,由於限制軟體大都通過ARP方式實現限速。因此我們可以通過以下方法查找區域網中使用限速軟體的電腦,同時利用適合的方法破解限速軟體對網速的限制。以下就是具體的實現方法。
  • 網羅無線通信技術之無線區域網打造未來區域網路
    它以無線多址信道作為傳輸媒介,提供傳統的有線區域網LAN(Local Area Network)的功能,能夠使用戶真正實現隨時、隨地、隨意的寬帶網絡接入。  無線區域網的組成包括無線網卡和無線接入點。無線區域網利用常規的區域網(如10/100/1000M乙太網)及其互聯設備(路由器、交換機)構成骨幹支撐網,利用無線接入點(AP)來支持移動終端(MT)的移動和漫遊,配有無線網卡的臺式PC機、筆記本電腦或其他設備就可以與無線網絡連接。  對於客戶端,無線網卡作為無線網絡的接口實現與無線網絡的連接。
  • 單位區域網ARP攻擊檢測及防禦方法
    方法一:利用360流量防火牆實現ARP檢測及防禦功能。對於單位區域網存在的ARP斷網攻擊行為,我們可以藉助「360流量防火牆」功能來實現。在360安全衛士程序主界面中,切換到『功能大全」-「網絡優化」選項卡,點擊「流量防火牆」工具進入。待打開「流量防火牆」界面後,切換到』區域網防護「選項卡,點擊並開啟」ARP防禦「功能。
  • 基於虛擬實境的網絡化上肢康復訓練系統
    虛擬實境是一種新興的並且迅速發展的技術,它的主要特點是:利用計算機和傳感技術生成一個具有多種感官刺激的虛擬境界,這種虛擬境界可以使人產生一種身臨其境的感覺;人能以自然的方式與虛擬境界中的對象進行交互[3]。將虛擬實境技術應用到康復醫療領域,可以有效的解決現有的康復醫療方法的局限性[4]。
  • CAVE到RAVE:虛擬實境系統--虛擬仿真的現在與未來
    在大環境的包裹下,總想把面前的荷葉撥開,看看小魚是否在那嬉戲,無時不想採一朵荷花。  經過旁邊工作人員的一系列操作之後我們回到了現實的生活,眼前的情景不僅僅沒能為我們帶來熟悉感,事實上,他卻給我造成了更大的震撼。因為我們發現我們正穿越在一個巨大的廠房上空。巨大的鍛壓工具機,所有的鍛壓工藝一目了然,超長的生產運輸線,我們周圍的一切,都呈現在了我們眼前,既熟悉又陌生。
  • 9種乙太網接口的設計與實現,涵蓋原理分析及電路圖
    基於STM32F的高速乙太網接口的設計與實現現代數據採集和監控系統的網絡化,對信息傳輸速率和傳輸距離提出了更高的要求。採用STM32F103微控制器和W5300晶片搭建的網絡系統,結構簡單、易於實現。文中通過對系統的硬體結構及總線接口的介紹,闡明了系統的硬體實現;通過對W5300的驅動程序及測試方法的詳細分析,明確係統的通信過程。