吳小濤
摘 要:某型通信系統(tǒng)是一個(gè)基于以太網(wǎng)的話音通信系統(tǒng),用戶要求實(shí)現(xiàn)終端對(duì)目標(biāo)端口的自動(dòng)識(shí)別、監(jiān)聽(tīng)和單播/組播通信。為此,文章的設(shè)計(jì)中采用了基于IEEE802.1Q協(xié)議標(biāo)準(zhǔn)的VLAN技術(shù),通過(guò)對(duì)中心控制設(shè)備網(wǎng)絡(luò)端口進(jìn)行VLAN分配,以及增加注冊(cè)流程,實(shí)現(xiàn)了對(duì)用戶端口信息的自動(dòng)識(shí)別。最終結(jié)果表明,系統(tǒng)功能完全滿足用戶需求。
關(guān)鍵詞:虛擬局域網(wǎng);網(wǎng)絡(luò)通信;系統(tǒng)設(shè)計(jì)
1 系統(tǒng)概述
某型車內(nèi)通信系統(tǒng)是用于多乘員通信車的話音通信系統(tǒng),其主要組成包括一個(gè)中心控制設(shè)備、多個(gè)乘員終端以及多部無(wú)線電臺(tái),所有設(shè)備均通過(guò)以太網(wǎng)總線連接。系統(tǒng)的基本組成關(guān)系如圖1所示。
其中,電臺(tái)同時(shí)具備無(wú)線通信和有線通信功能:無(wú)線通信用于電臺(tái)之間相互通信,有線通信(以太網(wǎng)通信)用于電臺(tái)與系統(tǒng)內(nèi)其他設(shè)備通信;管理計(jì)算機(jī)用于系統(tǒng)監(jiān)控和管理;乘員終端由車內(nèi)乘員使用,可分別與其他乘員或電臺(tái)進(jìn)行有線通信。根據(jù)用戶使用需求,要求乘員終端能夠自動(dòng)識(shí)別和監(jiān)聽(tīng)指定端口的電臺(tái)的話音,并可與之交互通信,且無(wú)需預(yù)先配置。這就要求乘員與電臺(tái)的交互通信應(yīng)當(dāng)使用單播或組播方式,而非廣播方式。因此,如何實(shí)現(xiàn)非人為配置的單播或組播通信,成為整個(gè)通信系統(tǒng)設(shè)計(jì)的關(guān)鍵。
本文采用的解決方案是VLAN(Virtual Local Area Network,虛擬局域網(wǎng))。采用VLAN技術(shù)可以實(shí)現(xiàn)對(duì)局域網(wǎng)的自由分組,并以此控制以太網(wǎng)數(shù)據(jù)的傳播路徑,而協(xié)議數(shù)據(jù)的處理全部由控制軟件完成,無(wú)需人工預(yù)先配置。
2 VLAN簡(jiǎn)介
IEEE802.1Q協(xié)議是由IEEE組織批準(zhǔn)的一套標(biāo)準(zhǔn)協(xié)議,它定義了基于端口的VLAN模型,為標(biāo)識(shí)帶有VLAN成員信息的以太網(wǎng)幀建立了一種標(biāo)準(zhǔn)方法。它的基本原理是:(1)IEEE802.1Q給每個(gè)需要轉(zhuǎn)發(fā)的以太網(wǎng)幀都添加一個(gè)“標(biāo)簽”(tag),其中包含了VLAN的編號(hào)。(2)交換機(jī)在進(jìn)行幀轉(zhuǎn)發(fā)的時(shí)候,同時(shí)判斷這些“標(biāo)簽”是否匹配,從而確定其互通性,“標(biāo)簽”與VLAN編號(hào)匹配的幀會(huì)被轉(zhuǎn)發(fā),而不匹配的幀則被過(guò)濾丟棄。(3)不支持802.1Q的通信主機(jī)會(huì)因?yàn)闊o(wú)法“讀懂”標(biāo)簽而丟棄該幀。
IEEE802.1Q的幀結(jié)構(gòu)是在標(biāo)準(zhǔn)的IEEE802.3以太網(wǎng)數(shù)據(jù)幀中插入了4bytes的“標(biāo)簽”(tag)而成的。4字節(jié)tag的具體內(nèi)容是:(1)TPID(Tag Protocol Identifier)——標(biāo)簽協(xié)議標(biāo)識(shí)符,2bytes。根據(jù)IEEE802.1Q協(xié)議規(guī)定,該值為0x8100。(2)TCI(Tag Control Information)——標(biāo)簽控制信息,2bytes。它又包括優(yōu)先級(jí)(3bits)、規(guī)范格式指示CFI(1bit)和VLAN ID(12bits)3個(gè)部分。這其中,VLAN ID是最重要的標(biāo)識(shí)符,它決定了VLAN的分組和身份。
VLAN配置的關(guān)鍵參數(shù)有3個(gè):(1)PVID:指的是以太網(wǎng)幀進(jìn)入交換機(jī)端口時(shí),需要添加的VLAN ID信息(進(jìn)端口)。(2)VLAN-Map:表示可對(duì)哪些VLAN進(jìn)行處理。(3)unTagVLAN-Map:表示哪些編號(hào)的VLAN需要被去除tag標(biāo)記(出端口)。
VLAN幀入端口、出端口處理流程如圖2所示。
可見(jiàn),無(wú)論是入端口還是出端口,對(duì)VLAN幀處理的關(guān)鍵就在于根據(jù)VLAN tag和PVID等關(guān)鍵參數(shù),決定VLAN幀的去向。
3 系統(tǒng)設(shè)計(jì)
在經(jīng)過(guò)詳細(xì)的需求分析后,整個(gè)通信系統(tǒng)的設(shè)計(jì)方案已經(jīng)明晰。由于在整個(gè)通信系統(tǒng)中,中心控制設(shè)備是數(shù)據(jù)交換的中樞,因此,對(duì)中心控制設(shè)備以太網(wǎng)的配置成為系統(tǒng)設(shè)計(jì)的關(guān)鍵。
中心控制設(shè)備主控程序運(yùn)行于ARM芯片上,而以太網(wǎng)交換芯片選用了Broadcom公司的BCM53118,是一款支持IEEE802.1Q協(xié)議VLAN技術(shù)的8端口芯片。
依據(jù)系統(tǒng)的設(shè)備組成,將8個(gè)以太網(wǎng)端口劃分為6個(gè)VLAN。(1)要識(shí)別每個(gè)電臺(tái)的端口,必須將每個(gè)電臺(tái)端口配置為單獨(dú)的VLAN。(2)2個(gè)管理端口無(wú)區(qū)別,劃分為一個(gè)VLAN。(3)2個(gè)乘員終端端口無(wú)區(qū)別,劃分為一個(gè)VLAN。
對(duì)網(wǎng)絡(luò)VLAN端口映射配置如表1所示(由于電腦網(wǎng)卡一般默認(rèn)VLAN ID為0,故此處配置ID從1開(kāi)始)。
各端口的具體配置為:(1)對(duì)各以太網(wǎng)端口輸入的數(shù)據(jù)包均加VLAN標(biāo)簽(如已有標(biāo)簽,不作處理)。(2)每個(gè)電臺(tái)端口均不接收其他電臺(tái)和管理計(jì)算機(jī)的數(shù)據(jù)包。(3)管理計(jì)算機(jī)端口只接收乘員終端數(shù)據(jù)包。(4)乘員終端端口接收所有的數(shù)據(jù)包。(5)各以太網(wǎng)端口根據(jù)上表中的Tag-Map映射決定是否接收其他端口轉(zhuǎn)發(fā)的數(shù)據(jù)包,不匹配的數(shù)據(jù)包將被丟棄。(6)各以太網(wǎng)端口根據(jù)上表中的unTag-Map映射決定如何處理轉(zhuǎn)發(fā)的數(shù)據(jù)包,匹配的數(shù)據(jù)包將被去除標(biāo)簽后從本端口發(fā)出,不匹配的直接從本端口發(fā)出(接收端主機(jī)不識(shí)別,會(huì)被丟棄)。(7)所有輸入/輸出的以太網(wǎng)數(shù)據(jù)均按非VLAN數(shù)據(jù)(普通IP數(shù)據(jù))進(jìn)行解析處理。(8)為了能夠識(shí)別電臺(tái)編號(hào),CPU接收端口0~3(VLAN1~VLAN4)數(shù)據(jù)幀時(shí)不去標(biāo),直接進(jìn)行識(shí)別處理,獲得電臺(tái)端口與IP的對(duì)應(yīng)關(guān)系,并通知乘員終端。
可以看到,經(jīng)過(guò)上述配置之后,電臺(tái)1~電臺(tái)4端口均被分配了單獨(dú)的VLAN ID,中心控制設(shè)備CPU就可以很方便的識(shí)別這些端口的數(shù)據(jù)。中心控制設(shè)備再將電臺(tái)端口信息通知乘員終端,乘員終端就可以實(shí)現(xiàn)對(duì)指定電臺(tái)端口的單播或組播通信了。
4 系統(tǒng)實(shí)現(xiàn)
在系統(tǒng)實(shí)現(xiàn)上,增加了中心控制設(shè)備初始化配置VLAN、電臺(tái)向中心控制設(shè)備注冊(cè)和廣播電臺(tái)信息的流程。電臺(tái)、中心控制設(shè)備與乘員終端之間信令交互的流程如圖3所示。
(1)電臺(tái)啟動(dòng)后,向中心控制設(shè)備發(fā)送注冊(cè)信令。(2)中心控制設(shè)備接收到注冊(cè)信令后,識(shí)別數(shù)據(jù)包VLAN ID,并將之與IP地址對(duì)應(yīng)。(3)中心控制設(shè)備向電臺(tái)回復(fù)注冊(cè)應(yīng)答。(4)中心控制設(shè)備向乘員終端廣播通知電臺(tái)編號(hào)及IP信息,乘員終端保存該信息用于與電臺(tái)的通信交互。(5)電臺(tái)與乘員終端直接進(jìn)行話音收發(fā)交互,中心控制設(shè)備對(duì)此不作任何處理,直接轉(zhuǎn)發(fā)。
通過(guò)對(duì)以太網(wǎng)數(shù)據(jù)幀的分析,主控程序可以對(duì)來(lái)自電臺(tái)端口帶標(biāo)簽的數(shù)據(jù)進(jìn)行識(shí)別和處理,并與其他無(wú)標(biāo)簽的數(shù)據(jù)區(qū)分開(kāi)來(lái)。利用這些分析得到的信息,就可以方便的實(shí)現(xiàn)單播和組播通信了。
5 結(jié)論
實(shí)驗(yàn)結(jié)果表明,采用VLAN技術(shù)實(shí)現(xiàn)的系統(tǒng)功能完全滿足用戶需求,無(wú)需預(yù)先配置即可以實(shí)現(xiàn)多種設(shè)備間的多種交互通信。目前,該系統(tǒng)已經(jīng)開(kāi)發(fā)完成,通過(guò)了項(xiàng)目評(píng)審和鑒定,并批量生產(chǎn)交付用戶使用。
[參考文獻(xiàn)]
[1]謝希仁.計(jì)算機(jī)網(wǎng)絡(luò)[M].北京:電子工業(yè)出版社,2013.
[2]李德水.基于IEEE802.1Q幀標(biāo)記的VLAN實(shí)現(xiàn)原理[J].信息技術(shù),2006(10):90-92.
Design of a Network Communication System Based on VLAN
Wu Xiaotao
(Guangzhou Haige Communications Group Incorporated Company, Guangzhou 510663, China)
Abstract: There is a voice communication system based on Ethernet, the user requires to automatic identify and monitor the terminal net port. Then the VLAN technology based on IEEE802.1Q protocol is used in project design. The port information is identified and processed automatically by grouping port of the central control equipment and adding registration flow.
Key words: VLAN; network communication; system design