1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

    <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
    <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
  2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
    現在位置:范文先生網>理工論文>電子通信論文>在uClinux環境下實現虛擬局域網

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

    時間:2023-02-21 00:16:59 電子通信論文 我要投稿
    • 相關推薦

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

      摘要:μClinux是近年發展起來的一種專用于微控制器領域的嵌入式Linux操作系統。虛擬局域網(VLAN)作為新興技術,是解決以太網廣播風暴和安全問題的一個重要策略。本文在對VLAN技術和μClinux操作系統分析的基礎上,給出在μClinux環境下VLAN的實現方式與過程。
      
      關鍵詞:μClinuxVLANIEEE802.1q
      
      引言
      
      虛擬局域網VLAN(VirtualLocalAreaNetwork)是指在交換局域網的基礎上,采用網絡管理軟件構建的可跨越不同網段、不同網絡的端到端的邏輯網絡。一個VLAN組成一個邏輯子網,即一個邏輯廣播域。它可以覆蓋多個網絡設備,允許處于不同地址位置的網絡用戶加入到一個邏輯子網中。使用VLAN最明顯的好處是,它可以控制廣播風暴,提高網絡的整體安全性,且在網絡管理上簡單、直觀。
      
      ΜClinux是應用于微控制器領域的一種嵌入式Linux操作系統,它以優異的性能及免費開放的代碼等優點,博得了眾多嵌入式開發者的青睞。與過去基于RTOS,甚至沒有使用任何操作系統的嵌入式程序設計相比,基于Linux這樣成熟、高效、健壯、可靠、模擬化及易于配置的操作系統來開發自己的應用程序,無疑能提高效率,并且有很好的可移植性。
      
      1VLAN實現原理
      
      1.1VLAN的幀格式
      
      VLAN采用多種方式配置于企業網絡中,包括網絡安全論證、使無線用戶在802.11b接入點溫游、隔離IP語音流、壓縮視頻或音頻數據流的多址廣播及在不同協議的網絡中傳輸數據等。VLAN的劃分一般基于以下3種:端口、MAC地址、路由。
      
      VLAN通常基于IEEE802.1q和802.1p規范用于將VLAN用戶信息載入以太網幀;而802.1p使二層交換機具有流量優先和實施動態多址濾波的能力。標準一直在修訂和完善之中,IEEE802.1u和IEEE802.1v就是2001年3月頒布的、對1998年版802.1q的修訂。
      
      VLAN的幀格式與傳統的以太網802.3幀格式有所不同,如圖1所示,是不包含802.1p和802.1q的802.3幀格式。包含802.1p和802.1q后的新802.3幀格式如圖2所示。
      
      其中,TCI是TagControlInfo的縮寫,2字節。當設置為“8100”(hex)時,表明這一幀使用802.1p和802.1q標記;P是Priority,指示802.1p的優先級別(0——7),占用3位;C是CanonicalIndicator,指示以太網格式是否規范,規范用0表示,否則用1表示,占用1位;VLAN是VLANIdentifier(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、Inteli960、PTISMA、Atari68k等。Μ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可裁剪、可配置的特點,在makemenuconfig…CustomizeKernelSettings…Networkingoptions以及在makemenuconfig…CustomizeVendor/UserSettings…NetworkApplications下作相應配置,以及通過編寫makefile文件將這些文件編譯進內核中即可。
      
      2VLAN實現
      
      為了說明VLAN的實現過程,本文具體針對高速視頻流的網上傳輸完成了VLAN的實現。
      
      2.1網絡結構
      
      由于VLAN是建立在物理網絡基礎上的一種邏輯子網,因此建立VLAN需要相應的支持VLAN技術的網絡設備。當網絡中不同VLAN間進行相互通信時,需要路由的支持。在本文中利用一臺裝有兩塊網卡的PC機作為服務器,運行Linux操作系統,并經過相應的配置來完成器由功能。圖3所示為一網絡配置示意圖,所有設備及PC機均通過以太網接口RJ45接入局域網。PC機A和B是作為瀏覽器來觀察視頻圖像的,可選用。它們使用的網卡型號是10M/100M自適應網卡RealtekRTL8139(A)PCIFastEthernetAdapter.圖3中的device主要負責視頻流的采集、壓縮與傳輸。它們選用了基于ARM7TDMI的Samsung-4510B處理器。其主頻為50MHz,主存儲器為32MB的SDRAM,網絡處理芯片選用了RTL8019AS.因本文主要講述VLAN的實現,其具體的硬件結構在此就不再多述。
      
      2.2軟件實現
      
      vconfig是一個客戶端配置工具包。它可完成VLAN的相關配置。稍加修改即可在μClinux下運行。它可以從互聯網上下載獲得,所用的版本是vconfig-1.6-4.i386.rpm.選用的μClinux內核為2.4.18版本的μClinux-dist-20020306.tar.gz.由于μClinux不支持動態編譯到內核中并下載到設備中。
      
      從圖3中可以看出,我們劃分了兩個VLAN:VLAN1與VLAN2.當然,也可根據需要劃分出多個VLAN.一塊網卡可以綁定兩個或多個IP地址,為加快處理速度,在服務器端選用了兩塊網卡分別命名為eth0與eth1,在初始狀態時不需做任何配置。按如下步驟進行配置。
      
      Vconfigset_name_typeDEV_PLUS_VID_NO_PAD
      
      ;配置VLAN命名類型
      
      vconfigaddeth01;eth0網卡綁定VLAN1號
      
      vconfigaddeth11;eth1網卡綁定VLAN1號
      
      vconfigaddeth02;eth0網卡綁定VLAN2號
      
      vconfigaddeth12;eth1網卡綁定VLAN2號
      
      brct1addbrbr0;添加虛擬網橋,用于不同VLAN間通信
      
      brct1addifbr0eth0.1;將VLAN綁定到虛擬網橋上
      
      brct1addifbr0eth1.1
      
      brct1stpbr0off;設置生成樹協議關閉
      
      brct1addbrbr1
      
      brct1addifbr1eth0.2
      
      brct1addifbr1eth1.2
      
      brct1stpbr1off
      
      ifconfigeth0up;啟動網卡
      
      ifconfigeth1up
      
      ifconfigeth0.1up;啟動VLAN
      
      ifconfigeth1.1up
      
      ifconfigeth0.2up
      
      ifconfigeth1.2up
      
      ifconfigbr0up;啟動虛擬網橋
      
      ifconfigbr1up
      
      在客戶端,也就是視頻采集的設置端需做的應配置如下:
      
      VLAN1下的設備1
      
      Vconfigset_name_typeDEV_PLUS_VID_NO_PAD
      
      Vconfigaddeth01
      
      Ifconfigeth0.1192.168.1.1up
      
      VLAN1下的設備2
      
      vconfigset_name_typeDEV_PLUS_VID_NO_PAD
      
      vconfigaddeth01
      
      ifconfigeth0.1192.168.1.2up
      
      VLAN2下的設備1
      
      Vconfigset_name_typeDEV_PLUS_VID_NO_PAD
      
      Vconfigaddeth12
      
      Ifconfigeth1.2192.168.2.1up
      
      VLAN2下的設備2
      
      Vconfigset_name_typeDEV_PLUS_VID_NO_PAD
      
      vconfigaddeth12
      
      ifconfigeth1.2192.168.2.2up
      
      依此類推,可以擴充到n個設備的相應配置,從而實現了兩個VLAN.當然,還可以通過iptables設置規則來實現不同VLAN之間的包轉發與包過濾等高級功能,此文就不再敘述其詳細過程。
      
      3VLAN測試
      
      首先,通過ping命令測試不同VLAN之間的可達性。
      
      在設備192.168.1.1上ping192.168.1.2,鏈路可達;在設備192.168.1.1上ping192.168.2.1,鏈路不可達,說明它們不屬于同一個VLAN.同時,在服務器端執行下述語句。
      
      tcpdump-n-picmp-ibr0
      
      可看到如下結果。
      
      00:55:11.700355802.1Qvlan#1P0192.168.1.1>192.168.1.2:icmp:echorequest(DF)
      
      00:55:11.700486802.1Qvlan#1P0192.168.1.2>192.168.1.1:icmp:echoreply
      
      00:55:12.700260802.1Qvlan#1P0192.168.1.1>192.168.1.2:icmp:echorequest(DF)
      
      00:55:12.700352802.1Qvlan#1P0192.168.1.2>192.168.1.1:icmp:echoerply
      
      其次,以μClinux為軟件平臺,用GCC編譯實現了一個高速視頻流服務器/客戶程序。它的功能主要是服務器接受來自客戶端的RTSP連接,并按照RTP、RTCP和SDP等協議向客戶端提供所采集到的實時視頻流。在這里,客戶端是瀏覽器,服務器端是device,與上述客戶端/服務器端有所不同。通過實際的程序運行和測試,在圖3所示的網絡拓撲中,我們發現在網絡負載較重時,劃分了VLAN的視頻流在傳輸延遲和時延抖動上均優于不劃分VLAN的視頻流在20%——40%;負載較輕時,它們的性能相當。
      
      4結論
      
      當前,以信息家電中心的嵌入式系統正得到蓬勃的發展。隨著嵌入式系統和網絡技術的發展,整個世界將更加網絡化和智能化。所以設備上網必然帶來網絡安全性和廣播的問題,VLAN則為設備連入Internet提供了一個較好的解決途徑。本文針對嵌入式應用開發環境μClinux操作系統,對VLAN的實際給出具體的應用環境與步驟。具有良好的應用前景與現實意義。

    【在uClinux環境下實現虛擬局域網】相關文章:

    uClinux下動態Web技術的實現方法08-06

    利用ColdFire uClinux實現數據采集和傳輸08-06

    在IIS 4.0上配置虛擬主機實現虛擬Internet教學08-17

    多USB接口的局域網接入技術的實現08-06

    多 USB 接口的局域網接入技術的實現08-06

    VPN幫你輕松實現虛擬專用網08-06

    數字視頻局域網監控系統的設計與實現08-06

    UC/OS和uClinux的比較08-06

    Windows CE下串行通信的實現08-06

    国产福利萌白酱精品tv一区_日韩亚洲中字无码一区二区三区_亚洲欧洲高清无码在线_全黄无码免费一级毛片
    1. <code id="ya7qu"><span id="ya7qu"><label id="ya7qu"></label></span></code>

      <b id="ya7qu"><bdo id="ya7qu"></bdo></b>
      <wbr id="ya7qu"><optgroup id="ya7qu"><strike id="ya7qu"></strike></optgroup></wbr>
    2. <u id="ya7qu"><bdo id="ya7qu"></bdo></u>
      久久中文亚洲资源站 | 亚洲人成网站在线播放大全 | 天天看片在线视频播放 | 亚洲第一精品视频观看 | 午夜免费啪在线观看视频 | 亚洲欧美精品一区二区国产蜜 |