首页 百科知识 网络技术协议

网络技术协议

时间:2022-10-11 百科知识 版权反馈
【摘要】:最后,一个完整的声频网络系统,应该由一个业内公认的声频传输协议,支持该协议的硬件以及相应的软件组成。不过CobraNet是建立在标准以太网构架下的网络传输协议,是工作在数据层的低层传输协议,所以不会涉及网络层以上的高级协议。随着无线局域网技术的发展,在一些音频信号通道数量较少的小型扩声应用环境中也得以使用。

一、CobraNet网络技术协议

简单地说,CobraNet由硬件(CobraNet接口)、网络协议和相应的固件组成。Cobra-Net协议可以在以太交换网或专门的转发器网络中实现。

CobraNet在以太网中完成下面的三个通信服务,如图9-15所示:

img332

图9-15 通过5类双绞线传输CobraNet协议定义的数据

(1)等时流数据传输(Isochronous data transport)

(2)采样时钟传输(Sample clock distribution)

(3)控制和监控数据传输(Control and monitoring data transport)

从图中可以看出,除了上述三个主要的数据传输之外,还必须要满足以太网的框架结构,同时通过以太网网络连接实现CobraNet设备与计算机之间的通信要求。

下面我们就具体来讨论一下CobraNet协议。

1.开发原因

CobraNet是综合硬件、软件和通信协议为一体的网络音频实时传输技术,它的专利权在美国PEKAUDIO公司。在互联网迅猛发展的今天,各大音频设备生产商当然会想到用计算机网络来代替传统的模拟声频网络。一条普通的5类双绞线可以在双方向传输128个通道的高质量、无压缩的声频信号,如果使用光纤,则可以将上百路信号传输上千米而无损耗。但是声频数字信号的传输,特别是不压缩的、高保真的数字声频网络传输还是有特定的要求的。首先,声频信号的传输,不能容忍普通网络系统中某些信号传输的延迟。再者,音频信号传输要尽量避免网络冲突。最后,一个完整的声频网络系统,应该由一个业内公认的声频传输协议,支持该协议的硬件以及相应的软件组成。

多年前,专业音频器材制造商就注意到这一方向,他们提出了这方面的解决方案,比如德国的Vadis、法国的Digigram、美国的CobraNet等。由于CobraNet开发比较早,又是用以太网作为媒介,使得它具有良好的支持声频传输的能力,并且具有经济、便捷等优点。这样一来,越来越多的声频设备厂商都开始加入CobraNet的开发之中。

2. CobraNet的设备类型

虽然PEKAUDIO公司拥有CobraNet的专利权,但是这家公司却不生产产品,我们现在看到市面上多种多样的使用CobraNet技术的产品都是其他公司向PEKAUDIO公司购买技术专利后生产的。由于它们都遵守了共同的通信协议,虽然在使用上有所不同,从理论上说这些产品都是可以相互通信的。具体来说,应用CobraNet网络协议的设备主要有以下两种类型:

(1)信号传送

由于CobraNet技术用于解决音频信号的传输问题,所以针对信号传输问题设计的信号接口箱应用就比较广泛,例如QSC公司的RAVE、SYMTRIX公司的Sym Net、BIAMP公司的CobraNet接口箱等等,经过固化号码的Peavey CAB也可以这样应用。由于CobraNet的基本信号传输单元Bundle以8个音频通道为一个数据包,所以上面提及的这些产品都是以8个音频通道为一组(有的设备以16个通道为一组,但是里面包含了两个Bundle)。在实际应用中,输出到功放的往往是2个通道,所以一些功放制造厂家就制造了2个通道的终端产品用来将信号直接引人功放,例如Crest Audio(高峰)公司的CKi系列、CROWN(皇冠)公司的IQ PIP2插件和R-H公司的有源音箱系列等。

(2)信号输入——信号处理——信号输出

这就要求设备不仅仅能完成数字与模拟信号之间的D/A、A/D变换,还要有相配套的音频处理设备。这其中,最为成熟的就是我们熟知的PEAVEY公司的Media Matrix(媒体矩阵)。目前其他公司也在加快开发这类产品,比如BIAMP已经有这种带有CobraNet接口的小型处理机。

3. CobraNet接口

CobraNet接口用来进行同步流到等时流的数据格式转换,实现在网络中传输实时的数字音频信号。CobraNet接口还可以在与音频同时传输的网络中提供类似于Simple Network Management Protocol(SNMP)模式的管路和控制数据。由于CobraNet是基于以太网基础之上的,因此要保证传输的数据形式与以太网结构相兼容。往往CobraNet的应用与数据通信是在相同的物理网络中共存的(如图9-16所示)。

img333

图9-16 CobraNet接口示意图

从图中可以看出,CobraNet接口实际上就是一个具有输入输出的集成电路。其中输入输出包括:

(1)与DAC、ADC和DSP连接的音频输入输出

(2)用于与主数字音频设备之间同步的时钟输入输出

(3)用于与主接口设备进行控制管理的控制数据输入输出

(4)用于未来串行桥接的同步串行接口

(5)Buddylink:在CobraNet设备中进行冗余备份的内部连接方案。在主端口正常工作时,这个接口不工作。

4. CobraNet的网络交换设备

一个完整的网络离不开网络交换设备,CobraNet当然也一样。这里所说的网络交换设备,一般指网络集线器(HUB)、网络交换机(Switch)和路由器。看见路由器,我们可能马上联想到因特网。不过CobraNet是建立在标准以太网构架下的网络传输协议,是工作在数据层的低层传输协议,所以不会涉及网络层以上的高级协议。也就是说,Cobra-Net不属于TCP/IP,它不会穿过路由器进入因特网,它只能在局域网中传递。因为现在因特网的网络带宽还远远不能达到CobraNet的要求,同样早期的IEEE 802.11a、b无线局域网的带宽也是不够的,所以目前常用于传输CobraNet的物理介质主要包括双绞线和光纤。随着无线局域网技术的发展,在一些音频信号通道数量较少的小型扩声应用环境中也得以使用。

国际标准化组织ISO专门为网络传输定义了一个参考模型OSI(Open System Interconnect Reference Model,开放式系统互联参考模型),这个模型从下向上分为7层,分别为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。其中集线器HUB是工作在最底层的物理层,它和光纤、同轴电缆等定义在一起。网络交换机(Switch)则是工作在数据链路层。集线器和交换机最大的区别是:交换机是个“智能化的集线器”,它在逻辑单元列表(LUT)中能够保存与这台交换机及链接的网络设备的MAC地址,当某个通道有数据输入时,网络交换机能够识别这个数据的来龙去脉。所以,交换机的端口是“独享带宽”而且全双工工作。因此现在绝大多数的CobraNet都用网络交换机作为网络交换设备,但是某些设备依然可以和HUB链接。例如QSC的CobraNet产品RAVE。但著名的Media Matrix系统就不能使用HUB进行网络搭建,这可能会造成无法通信。

因此当使用HUB搭建CobraNet网络时,需要避免出现以下的网络设计问题:

(1)网络中不能存在其他非CobraNet设备

CobraNet的网络数据层使用了O-Persistent机制,使得所有CobraNet设备不遵循CSMA/CD协议而由网络中的Conductor进行管理。

(2)网络可传输的最大声频通道将不能超过64个

HUB的所有端口在同一时刻只能共享1000MHz的带宽,这就把CobraNet数据包中Bundle的数量限制到8个,每个包含8个20bit 48k Hz的PCM声频通道。

(3)网络直径

虽然CAT5和光纤都可以使信号传输很远的距离而保持低误码率,但是还不能引用到HUB链接的CobraNet上,因为它受到数据重提和传播时间的限制。为了使得Conductor发送的同步码能同步达到终端设备,并且不会造成信号冲突,就要限制网络直径。CAT5搭建的HUB网络最大之间200m,多模光线不能超过2000m。

5. CobraNet数据帧的结构

CobraNet使用的是等时流传输系统,网络等时流的各项性能是被某个协议所确定的。在服务器与播放器之间,这个服务协定指定了如带宽、传输延时及抖动等。虽然在推模式(Push Mode)中,数据速率被服务器控制,但是服务器并没有建立播放器的时钟传送,服务器与时钟都在各自的本地参考时钟下运行,这就容易因为时钟细小的不同而造成播放的中断。而等时流希望效仿实时流一样,在服务器与播放器之间包含一个共同的时钟。

(1)等时传输与接收(如图9-17所示)

img334

图9-17 等时传输与接收

数据到达同步传输的输入口,便被分成单独的部分进行打包。然后,这些包被标上时码并排队等待传输。在接收端,传输过来的包排队等待拆包还原。数据包的时码都被检查,并确定哪个包在什么时间来进行串行转化。这种在接收端缓冲的安排,能够使得次序颠倒或延时到来的数据包也能按照正常的顺序被还原。这就使得CobraNet能够仅使用一根网线就能够传输多路信号。

在接收和发送端都有时钟,来驱动它们同步。在整个系统中,所有的系统都需要在同一个步调上运行,也就是必须都要在同一个时钟下运行。这就要求在系统中必须有一个主时钟,剩下所有的设备都按这个主时钟同步。这个主时钟叫做Conductor。

在系统一开启时,所有设备都发送Conductor优先级,级别最高的称为Conductor。它为网络提供一个主时钟,网络中的其他设备全部按照这个时钟同步。主时钟的发生来自一个稳定的电压控制晶体振荡器。为防止Conductor的设备发生故障,其他设备也每一秒钟发送一个Conductor请求,一旦Conductor出现问题,在那一刻最先发送请求的设备变为Conductor,继续为系统提供主时钟。由于后来的Conductor与之前的Conductor同步,所以整个系统的时钟并没有太大变化,基本上仍然是一致的。

在接收端的时钟运作总是有一个与传输端时钟有关的偏移量。这个偏移量的最小值应该是打包的时间加上传输的时间。这个偏移量与系统有直接的关系,它取决于系统的带宽等等。这个偏移量也就是整个系统的延时,即播放端与接收端的延时。CobraNet中允许的最大偏移量为5.33ms,超过5.33ms就由发送端重新发包。这个偏移量的含义就是每个数据包到达接收端后,都将等待这个偏移量规定的时间,以等待有顺序错乱或是延迟的包的到来,然后再按顺序拆包,进行播放。如果超过设定偏移量还未到的包,网络采取重发的措施。但是在现场的传输中,已经过去的声音不可能重新出现,因此可开启“错码不要求重发”开关,这样发送端就不再重发包了。接收端的判断机制根据检验校错码认为该数据包错误时,接收端会采取两种方式处理。一种是全部添0,此处静音;另一种是延长上一音,直到对的包到来,也就是拉长音。等时流数据传输示意图如图9-18所示。

img335

图9-18 等时流数据传输示意图

(2)CobraNet数据包的结构

了解了CobraNet等时流数据传输方式之后,下面我们具体阐述CobraNet数据包的结构。

①MAC数据帧结构

以太网构建的局域网中,MAC帧是最大的一个数据包。下表是标准版以太网MAC帧的格式:

表9-4 MAT帧的格式

img336

这里前两个字段主要是提醒网络内的接收器要开始传送新的MAC帧了。目的MAC地址和源MAC地址都是6字节。

国际上负责分配MAC地址编号的是美国电器和电子工程师学会(Institute for E-lectrical and Electronic Engineers,IEEE),他们给每个申请者发放一个“机构唯一标志符”(OUI)的3字节地址前缀。CobraNet版权公司PEAKAUDIO的OUI是X’00-60-2B,而后3个字节的地址则由获得OUI的公司自行分配,所以所有有Cobra-Net接口的设备,它的MAC地址前3个字节一定是X’00-60-2B。

当一个网卡按照MAC地址接收到一系列数据包后,它要依据以太网类型(Ether Type)来判断这个是CobraNet数据包。按照IEEE的命名,CobraNet的以太网类型为X’8819。这样当一个网卡通过MAC包头的13、14帧判断了数据包类型后,它只能将数据包交给CobraNet Core(同步解码器)处理,而不是交给网络层处理。

②数据包结构

当数据包交给CobraNet Core处理时,根据CobraNet的包头信息,同步解码器将识别这个数据包,并分为Beat数据包协议、预约数据包协议和音频数据包协议3种。

a. Beat数据包

表9-5 Beat数据包的结构

img337

Beat数据包是由网络中唯一的Conductor(总指挥)发出的(系统中优先级最大的一台CobraNet设备自动成为Conductor),一个数据包大约100个字节,每秒钟发送750 次,总共占用大约1M的带宽。目的是在整个网络中建立起一个同步的“时钟节奏”,这样才能保证全网络中的CobraNet设备在一个“步调”上传送。

b.预约数据包

表9-6 预约数据包的结构

img338

预约数据包是网络内所有的CobraNet设备向外定期(一秒钟一个设备发一次)发送的组播数据包,每个包包含100个字节的数据量,总共约占用10k左右的带宽。这个数据包的作用有两个:一是每个CobraNet设备(无论是发送机还是接收机)定期向Conductor发出预约传送(或接收)请求,并等待批准;二是定期向网络公布自己的CobraNet优先级和IP地址。

公布CobraNet优先级是因为全部CobraNet设备的优先顺序必须在网络中时刻进行排队,这样当网络中突然失去Conductor(比如断电)时,排在后面的CobraNet设备立刻充当Conductor的角色,发送Beat数据包。

CobraNet设备在开机时都会动态地得到一个IP地址,公布IP地址不是为Cobra-Net信息本身服务的,而是为其他非同步信息的高级管理软件使用的(如PEAKAUDIO开发的Discovery、CobraCAD等上层管理软件)。

C.音频数据包

表9-7 音频数据包的结构

img339

CobraNet协议把音频信号打成数据包,以便在以太网上传输,这种数据包被称为Bundle。一个Bundle的数据量可以包含8路20bit的音频信号。采用这种最大尺寸的Bundle数据包,可以最有效地利用网络带宽。在数据包中也可以装入16bit或24bit的音频信号,但这种做法非常少见。采用16bit的信号,一个数据包能容纳8个音频通道。采用24bit的信号,一个数据包只能容纳7个音频通道。

当传送机的传送请求得到批准后,开始向目的地址发送同步音频数据。这个目的地址可以是一个(单播),也可以是多个(组播),区分的依据就是按Bundle(包)号码,1—255是组播地址,256—65279是单播地址。

音频数据包在整个CobraNet数据中占据了绝大多数,一个包大约包含了1280个字节的数据,加上其他包头和包尾数据,一个Bundle(在48k Hz、20bit采样率下,每个Bundle包含8个PCM音频数据通道)大约要消耗8M(8×20×48000=7.68M)的带宽。在100Mbit/s的以太网中,可以传输64路20bit/48k Hz无压缩的PCM音频数据通道,数据指标远远高于CD唱片,能满足广播电台节目传送的甲级指标要求。

6. CobraNet的网络优化

通过前面对CobraNet的MAC数据包的介绍,我们知道CobraNet的3个数据包满负荷工作的时候,整个系统会有比较大的压力。因此我们需要对这个网络设备进行优化,通常CobraNet有以下几种优化方式。

(1)生成树协议(Spanning Tree)

一般来说,我们不能把CobraNet的网络链接成“环状”结构,数据包的自循环是这种结构的问题所在。但是选用的网络交换机支持生成树协议的时候,该协议会自行断开环形链接。

该协议虽然不能增加网络流量,但是可以为网络增加“备份”功能,当一条主干线出现故障时,该协议会自动生成另外的“树枝”来取代损坏的链路(如图9-19a、b所示)。这对于大系统来说是非常重要的。

img340

图9-19a 支持生成树协议的交换机会自动建立单向连接

img341

图9-19b 生成树协议对网络的自动修复特性

(2)链路聚合(Link Aggregation,或称干线生成协议IEEE 802.3ad)

当两台交换机之间要传递超过8个Bundle时,必须采用两条双绞线链接这两个交换机。此时交换机必须支持IEEE 802.3ad协议,即链路协议,否则信号会在两台交换机之间形成“自激循环”。若两台交换机同时支持链路协议,则这种连接方法会平均分配数据流量,使得交换机与交换机之间的带宽成倍增加,为工程人员设计高于8个Bundle的CobraNet信号通道提供了可能(如图9-20a、b所示)。

img342

图9-20a 普通交换机链接出现的自激循环

img343

图9-20b 链路聚合协议使干线带宽加倍

(3) VLAN的应用(IEEE802.1q)

VLAN(Virtual Local Area Network)即虚拟局域网技术,是指在一个制定的交换式以太网中,重新建立若干个“子网”,而子网之间是不能互相通信的。但是从物理结构上说,它们却又同时存在于一个网络中。我们借助VLAN技术将交换机进行子网划分(如图9-21所示),把CobraNet独立出来使用,这样就解决了网络资源占用的问题。

img344

图9-21 采用虚拟局域网技术进行设备连接

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈