摘要:在包交换网络上仿真E1业务可以实现用户交换机PBX与包交换网络的无缝连接,并能提供高质量的话音,是除VoIP之外的另一种分组语音技术。提出了在百兆以太网上传输E1的一种整体解决方案,介绍了适配电路的FPGA实现,并提供了一种网络模型和仿真结果。
关键词:虚拟局域网VLAN 服务质量QoS IP电话VoIP 现场可编程门阵列FPGA 用户交换机PBX
更多更好的服务和更低的费用是促使电话网、计算机网、多媒体网相互融合趋向统一的深刻动因,而光纤的巨大带宽和第三层交换的强大交换能力则为此提供了技术上的可能。从网络结构的角度看,IP over Fiber将是未来网络的骨干;从提供业务的角度看,整合在统一网络上的各种新旧业务将是人们能够享受到的结果。
目前,电话网和数据网正演变为一个语音与数据集成的网络。其中,数据业务呈爆炸性增长,语音业务的增长相比之下并不明显。可以想象,这种集成网络中必然会以数据业务为主。可见,将电话网和数据网融合,把语音业务融入数据业务的洪流,已是大势所趋。但是,占较小比重的语音业务却要求有比数据业务更高的QoS保证。如何高质量地传送分组语音,是语音业务汇入数据业务过程中必须解决的问题。
目前的VoIP是一种比较流行的解决方案,E1接入IP网需要经过IP电话网关。在网关处从电话交换机出来的E1数据被重新拆散,将其中的30路电话数据分别取出、压缩、打包送到IP网上。尽管VoIP已经得到大量推广,但是在QoS和信令方面仍有问题需要解决。而把E1数据直接封装成IP包传送,则是一种直观而简单的分组语音解决方案。其优点是:
(1)省去IP电话网关,实现IP网络与传统PBX的无缝连接;
(2)提供E1在分组网上的透明传输,因此仍旧支持传统电话上的多种业务;
(3)提供高质量的语音。
达到上述目标需要网络提供足够的带宽——E1速率为2Mbps。这在当前的广域IP网上是不可能实现的,下一代基于第三层交换的IP网将为此提供光明的前景。而当前,受现有硬件条件的限制,局限于在局域网中实现这种技术,希望能够为该技术在未来新式IP网的推广铺路搭桥。
本文提出了在百兆以太网上传输E1的一种方案,并对其延时、抖动等性能进行了分析。
1 成帧方案
以太网中将传输两种数据:计算机数据和E1数据。E1数据采用与计算机数据类似的打包方式,即把E1数据放入以太网包数据区,数据区的第一个字节设为时戳,收端可根据时戳对E1包排序,判断是否丢包。包结构如表1所示。
表1 包结构
6字节
6字节
2字节
数据区
4字节
目的地址
源地址
长度
时戳
E1数据
FCS
在包交换网络上进行电路仿真,为减小延时必须对语音包采取优先转发。而传统的交换芯片对所有以太网包的转发都是尽力而为,一视同仁。这种情况下E1包很有可能因为数据包的突发而造成很大延时,甚至因为缓存队列已满而遭丢弃,无法保证语音QoS。IEEE的802.1Q协议定义了VLAN和包转发的优先级,可以为优先级高的包提供优先转发以保证QoS。鉴于支持802.1Q标准的交换芯片已经出现,在以太网上仿真电路业务的QoS是可以预见的并有一定保证的。本方案的基本思想就是用这样的交换芯片搭建支持VLAN的以太网,为E1包设定高的转发优先级,即优先转发E1包以保证收端恢复出来的E1流的QoS。其中E1包和数据包属于不同的VLAN,前者优先级高。为适应这一要求,E1数据在被封装成上述结构的以太网包后还要加入4字节的标签,形成802.1Q所定义的VLAN帧,如表2。
表2 包结构
6字节
6字节
2字节
2字节
2字节
数据区
4字节
目的地址
源地址
VLAN协议ID
VLAN标签
长度
时截
E1数据
FCS
其中,2字节的VLAN标签的详细结构如下:
3比特
1比特
12比行
优先级
CFI
VLAN标识
采用定长发包的方式。以太网包中E1数据的长度定为N%26;#215;32bytes,正好是N个E1帧。N值要适当选取,因为包太长则延时太大,太短则开销所占比重太大。数据长度正好是E1帧的整数倍,这样即使丢掉一个包,收端的E1帧定位也不会遭到破坏。E1经过HDB3解码、串并变换之后,缓存在FIFO中,存满N%26;#215;32字节后就向交换芯片的MII接口发送一个E1包。
2 适配电路
适配电路的功能是实现PBX与数据网络连接:将E1封装为以太网包送入交换芯片的MII接口;从MII接口接收E1包,取出E1数据,送到E1线路上。以上功能由FPGA完成,框图如图1。在封装E1包时加入时戳(鉴于时戳的重要性,其自身带有校验比特),在接收E1包时根据时戳标记的顺序存储E1数据。
这样一个适配节点的系统框图如图2。
3 交换与调度控制
交换芯片可以有多种不同的设置。为实现上述的VLAN网络,将交换芯片设定在如下模式:所有E1包端口与其它以太网接口属于不同的VLAN E1包端口优先级高;接E1包端口时,或者与非VLAN的传统以太网相接时,入端口时加入标签,出端口时去掉标签;每个交换端口输出队列分为两个,一个具有高的转发优先级,另一个具有较低的优先级。只有当高优先级的队列发送完后才发送低优先级的队列,但是如果高优先级的包到达时低优先级的队列中有一个包正在发送,则等正在发送的包发送完后再发送高优先级的包。
这样的网络实现了E1与普通数据业务的集成传输。图3是这种网络的一个例子。
4 网络性能仿真与适配功能测试
对于在包交换网络上传输E1业务,减小延时和时钟提取是主要问题。二者与收到E1包的延时抖动密切相关,而E1包抖动主要取决于在交换机中的存储转发所造成的延时。以下分析只考虑E1包的这种延时。
在接收端,E1包经由交换芯片的MII接口输出,在FPGA中将E1数据取出、缓存,再做并串变换、HDB3编码,送到变压器输出。缓存为吸收包抖动而设置,越大越能容纳大的抖动。但是缓存的增大会线性地增大语音延时。所以应该在容纳包抖动的情况下尽量减小缓存。如果是一个不具有优先级的网络,那么在E1包到达交换机时,可能有多个数据包阻塞在E1包之前等待发送,这将使E1包的延时比没有阻塞时增大了。
E1包前面所有包总长度/100Mbps这个值是没有上限的,在网络负载较重时会使E1包产生很大的抖动甚至被丢弃。这种情况的后果,一是因为要加大收端缓冲区(如果缓冲区不够大可能会因为长时间收不到数据而发生读空导致错误)而导致E1端延时增大,二是给收端定时恢复造成了很大困难。而在优先发送E1包的网络中,当E1包到达一个交换机时,延时是可以预测的——由存储-转发导致的延时分为三部分:
①E1包自身的存储导致的延时,约为32byte%26;#215;N%26;#215;8bit/byte/100Mbps=N%26;#215;0.00256ms;
②低优先级队列中当前正在发送的数据包造成的延时,最大为(以太网最大包长为1518字节)1518byte%26;#215;8 bit/byte/100Mbps 0.12ms;
③高优先级队列中排在该E1包之前的来自其它端口的E1包导致的延时,设该网络中共有K对端口发送E1。由于网络中E1业务只占少数,所以K值一般较小。那么最多有(K-1)个E1包阻塞在该E1包之前,所以造成的最大延时为K-1%26;#215;①=K-1%26;#215;N%26;#215;0.00256ms。
最坏的情况是,一个E1包每经过一个交换机就恰好有一个1518字节的数据包刚开始发送,并且在高优先级队列中还有K-1个E1包在等待。于是该E1包经过M个交换机后总的存储-转发延时为:
delay=M%26;#215;(①+②最大+③最大)=M%26;#215;(K%26;#215;N%26;#215; 0.00256ms+0.12ms)
这就是收端E1包的最大延时。在M不太大的情况下,这样的延时和抖动是可以接受的。图4是对上述网络的仿真结果,取M=4,K=1,N=4,网络背景流量50Mbps。根据上述估算,可知:
delay=(4%26;#215;0.00256ms+0.12ms)%26;#215;4≈0.52ms。
从仿真结果看,在有VLAN的情况下结果与预先的估算吻合,而在没有VLAN的情况下E1包的端延时显著增大。
为了保证实时E1业务的质量,除了要在网络中尽可能减小E1包延时外,还要保证在网关处对串行E1码流进行正确的封装和复原。这部分功能由适配电路完成。为测试这一功能,采用百兆点对点传输一路E1,设定E1传输码型为HDB3码,频偏%26;#177;50ppm,N取4即E1数据区为128字节。在这种情况下(气温、湿度、气压均为正常条件)测得:①发出的E1包全部通过交换机;②收端还原出的HDB3 E1数据72h无误码;③E1输出抖动在G.823的抖动/漂移容限值模板之下。这表明适配电路正确完成了E1的发包、收包、定时恢复等功能。
本文分析了分组语音的技术背景和在包网络上仿真E1的应用前景,提出了一种在VLAN上分优先级传送语音业务E1和数据业务的方案。网络仿真结果显示该方案可以利用现有硬件实现有QoS保证的分组E1业务;相关产品的适配电路已完成设计和调试。
引用地址:在包交换网络上仿真E1业务
上一篇:电力线数传通信设备的设计
下一篇:万能时钟发生器板的设计