基于VLAN技术的网络通信系统设计
2016-06-01吴小涛
吴小涛
摘 要:某型通信系统是一个基于以太网的话音通信系统,用户要求实现终端对目标端口的自动识别、监听和单播/组播通信。为此,文章的设计中采用了基于IEEE802.1Q协议标准的VLAN技术,通过对中心控制设备网络端口进行VLAN分配,以及增加注册流程,实现了对用户端口信息的自动识别。最终结果表明,系统功能完全满足用户需求。
关键词:虚拟局域网;网络通信;系统设计
1 系统概述
某型车内通信系统是用于多乘员通信车的话音通信系统,其主要组成包括一个中心控制设备、多个乘员终端以及多部无线电台,所有设备均通过以太网总线连接。系统的基本组成关系如图1所示。
其中,电台同时具备无线通信和有线通信功能:无线通信用于电台之间相互通信,有线通信(以太网通信)用于电台与系统内其他设备通信;管理计算机用于系统监控和管理;乘员终端由车内乘员使用,可分别与其他乘员或电台进行有线通信。根据用户使用需求,要求乘员终端能够自动识别和监听指定端口的电台的话音,并可与之交互通信,且无需预先配置。这就要求乘员与电台的交互通信应当使用单播或组播方式,而非广播方式。因此,如何实现非人为配置的单播或组播通信,成为整个通信系统设计的关键。
本文采用的解决方案是VLAN(Virtual Local Area Network,虚拟局域网)。采用VLAN技术可以实现对局域网的自由分组,并以此控制以太网数据的传播路径,而协议数据的处理全部由控制软件完成,无需人工预先配置。
2 VLAN简介
IEEE802.1Q协议是由IEEE组织批准的一套标准协议,它定义了基于端口的VLAN模型,为标识带有VLAN成员信息的以太网帧建立了一种标准方法。它的基本原理是:(1)IEEE802.1Q给每个需要转发的以太网帧都添加一个“标签”(tag),其中包含了VLAN的编号。(2)交换机在进行帧转发的时候,同时判断这些“标签”是否匹配,从而确定其互通性,“标签”与VLAN编号匹配的帧会被转发,而不匹配的帧则被过滤丢弃。(3)不支持802.1Q的通信主机会因为无法“读懂”标签而丢弃该帧。
IEEE802.1Q的帧结构是在标准的IEEE802.3以太网数据帧中插入了4bytes的“标签”(tag)而成的。4字节tag的具体内容是:(1)TPID(Tag Protocol Identifier)——标签协议标识符,2bytes。根据IEEE802.1Q协议规定,该值为0x8100。(2)TCI(Tag Control Information)——标签控制信息,2bytes。它又包括优先级(3bits)、规范格式指示CFI(1bit)和VLAN ID(12bits)3个部分。这其中,VLAN ID是最重要的标识符,它决定了VLAN的分组和身份。
VLAN配置的关键参数有3个:(1)PVID:指的是以太网帧进入交换机端口时,需要添加的VLAN ID信息(进端口)。(2)VLAN-Map:表示可对哪些VLAN进行处理。(3)unTagVLAN-Map:表示哪些编号的VLAN需要被去除tag标记(出端口)。
VLAN帧入端口、出端口处理流程如图2所示。
可见,无论是入端口还是出端口,对VLAN帧处理的关键就在于根据VLAN tag和PVID等关键参数,决定VLAN帧的去向。
3 系统设计
在经过详细的需求分析后,整个通信系统的设计方案已经明晰。由于在整个通信系统中,中心控制设备是数据交换的中枢,因此,对中心控制设备以太网的配置成为系统设计的关键。
中心控制设备主控程序运行于ARM芯片上,而以太网交换芯片选用了Broadcom公司的BCM53118,是一款支持IEEE802.1Q协议VLAN技术的8端口芯片。
依据系统的设备组成,将8个以太网端口划分为6个VLAN。(1)要识别每个电台的端口,必须将每个电台端口配置为单独的VLAN。(2)2个管理端口无区别,划分为一个VLAN。(3)2个乘员终端端口无区别,划分为一个VLAN。
对网络VLAN端口映射配置如表1所示(由于电脑网卡一般默认VLAN ID为0,故此处配置ID从1开始)。
各端口的具体配置为:(1)对各以太网端口输入的数据包均加VLAN标签(如已有标签,不作处理)。(2)每个电台端口均不接收其他电台和管理计算机的数据包。(3)管理计算机端口只接收乘员终端数据包。(4)乘员终端端口接收所有的数据包。(5)各以太网端口根据上表中的Tag-Map映射决定是否接收其他端口转发的数据包,不匹配的数据包将被丢弃。(6)各以太网端口根据上表中的unTag-Map映射决定如何处理转发的数据包,匹配的数据包将被去除标签后从本端口发出,不匹配的直接从本端口发出(接收端主机不识别,会被丢弃)。(7)所有输入/输出的以太网数据均按非VLAN数据(普通IP数据)进行解析处理。(8)为了能够识别电台编号,CPU接收端口0~3(VLAN1~VLAN4)数据帧时不去标,直接进行识别处理,获得电台端口与IP的对应关系,并通知乘员终端。
可以看到,经过上述配置之后,电台1~电台4端口均被分配了单独的VLAN ID,中心控制设备CPU就可以很方便的识别这些端口的数据。中心控制设备再将电台端口信息通知乘员终端,乘员终端就可以实现对指定电台端口的单播或组播通信了。
4 系统实现
在系统实现上,增加了中心控制设备初始化配置VLAN、电台向中心控制设备注册和广播电台信息的流程。电台、中心控制设备与乘员终端之间信令交互的流程如图3所示。
(1)电台启动后,向中心控制设备发送注册信令。(2)中心控制设备接收到注册信令后,识别数据包VLAN ID,并将之与IP地址对应。(3)中心控制设备向电台回复注册应答。(4)中心控制设备向乘员终端广播通知电台编号及IP信息,乘员终端保存该信息用于与电台的通信交互。(5)电台与乘员终端直接进行话音收发交互,中心控制设备对此不作任何处理,直接转发。
通过对以太网数据帧的分析,主控程序可以对来自电台端口带标签的数据进行识别和处理,并与其他无标签的数据区分开来。利用这些分析得到的信息,就可以方便的实现单播和组播通信了。
5 结论
实验结果表明,采用VLAN技术实现的系统功能完全满足用户需求,无需预先配置即可以实现多种设备间的多种交互通信。目前,该系统已经开发完成,通过了项目评审和鉴定,并批量生产交付用户使用。
[参考文献]
[1]谢希仁.计算机网络[M].北京:电子工业出版社,2013.
[2]李德水.基于IEEE802.1Q帧标记的VLAN实现原理[J].信息技术,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