zoukankan      html  css  js  c++  java
  • 【转载】传统以太网和时间敏感网络TSN的区别

    传统以太网和时间敏感网络TSN的区别

    ——Biamp亚太区高级工程师   Kane Zhang

    【专业视听网报道】:[摘要]AVB-Audio Video Bridging(中文“音视频桥”)是一项新的以太网标准,由IEEE 802.1任务组于2005开始制定。其中包括:带宽预留(Bandwidth Reservation Protocol)、精准时钟同步(Precision Time Protocol)、流量控制(Traffic Shaping)以及连接和控制(AVDECC)。此任务组于2012年正式更名为TSN-Time Sensitive Network即时间敏感网络。主要应用于各种支持低延时及基于时间同步数据传输的以太网协议。本文主要阐述TSN在专业音视频领域的应用——AVB。

    [关键词]AVB - Audio Video Bridging音视频桥、TSN – Time Sensitive Network时间敏感网络

    前言:

    纵览过去的十年,得益于统一的行业标准,IT行业的技术飞速进步。从最开始的常规10M网到今天随处可见的10G高速网,网络几乎影响着人们日常生活的每个角落。相比之下,音视频行业的发展却未尽如人意。为网络音频和视频传输设立技术标准,一直是 AV 行业过去二十年来的目标。迄今为止,由于缺乏行业公认的网络标准造成有关空白,令许多制造商各自为战,开发专有解决方案试图填补这一空白。然而付出未必有回报,单一技术无法解决所有数字音视频网络的难题。这些解决方案都不可能成为统一的行业标准。自2005年AVB问世以来为包括音视频行业在内的所有具有实时传输需要的应用指明了方向。2012年,AVB网络正式更名为TSN网络,从此基于以太网络的局域网技术步入了新纪元,TSN时间敏感网络正式取代传统以太网登上了历史的舞台。

    1) “传统以太网”的诞生

    我们通常认为以太网是由鲍勃梅特卡夫(Bob Metcalfe)于1973年提出的。并于1982年(Ethernet V2)投入商业市场且很快击败了与其同期的令牌环、FDDI和ARCNET等其他局域网技术被全球普遍采用。以太网技术从根本上解决了在局域网内的信息互传/共享的问题。然而在创建之初,以太网只考虑了一些非实时的静态信息。例如:文字和图片。即便是共享音频和视频,但只限于下载和互传。

    1982年,第一台CD机在日本问世。这标志着音视频从此由纯模拟走入了“数字化”。而1996年由互联网工程任务组(IETF)开发的RTP(Realtime Transport Protocol)则奠定了音视频在网络中传输的基础,也就是说音视频又实现了从“数字化”进化到了“网络化”。之后的VoIP正是借用了RTP技术实现了在全球互联网上的“网络化数字通讯”。

    由于本文即将阐述“时间敏感网络”,因此,为了加以区别,我们将目前大家所熟知的以太网称为“传统以太网”。那么究竟“传统以太网”是如何工作的呢?

    2) “传统以太网”的基本原理

    首先我们先要搞清楚以太网的工作原理。以太网是当今现有局域网采用的最广泛的通信协议标准。以太网络使用CSMA/CD(载波监听多路访问及冲突检测)技术,目前通常使用双绞线(UTP线缆)进行组网。包括标准的以太网(10Mbit/s)、快速以太网(100Mbit/s)、千兆网(1Gbit/s)和10G(10Gbit/s)以太网。它们都符合IEEE802.3。(注:bps=bit/s)

    以千兆网(1Gbit/s)为例:假如说交换机的端口带宽是1Gbps,则说明每秒可传输1000,000,000个二进制的“位”。大家一定要注意以太网中所有的传输都是串行传输,就是说在网卡的物理端口会在每一个单位时间内“写入”或是“读取”一个电位值(0或1)。那么这个单位时间对于1Gbps带宽来说就是1÷1000,000,000=1ns。如图一所示:

    图一

    每8个位(bit)相当于1个字节(Byte)。多个字节(Byte)可以组成一个数据帧。以太网传输数据是以帧为单位的。以太网规定每一个数据帧的最小字节是64byte,最大字节是1518byte。实际上每个数据帧之间还会有一个12字节的间隔。如图二所示:

    图二

    3) 如何理解网络带宽?

    正确理解网络带宽是理解“时间敏感网络”的前提。我们先举个例子:如果我们有10个数据流(当然每个数据流中会有成千上万个数据帧),每个数据流的带宽是100Mbps,那么这10个数据流可以通过1Gbps的带宽吗?我们可以用图三来表示吗?

    图三

    首先,这种表示方法是错误的。因为正如我们前文所说,网络是串行的,而上图所表示的方法是并行的。这个例子的正确答案是“不一定”。

    如图四所示才是带宽的正确表示方法。在这里,你应该把1G的带宽想象成在理想情况下,可以有包含总数为109二进制位的数据帧在1秒钟通过。通常数据帧都不会占用整个带宽,每一段数据流(包含很多的数据帧)在单位时间内运行,也就是我们所说的每个数据流所占用的带宽。一定要记住,网络中所有的数据帧都是串行通讯。

    图四

    想通了这个问题,我们假设如果这10个100M的数据流能够头尾相连,严格按时间顺序排列如图五所示,那么答案是:“可以”。也就是说在理想情况下,这10个100M的数据流可以在1Gbps的带宽下顺利传到对端。

    图五

    但大多数情况下,由于带宽通常是由多个设备共享的,这也是以太网的优势所在。而且所有的发送端没有基于时间的流量控制,那么这些发送端永远是尽最大可能发送数据帧。这样来自不同设备的数据流就会在时间上产生重叠,即我们通常所说的冲突。如图六所示,在这种情况下,答案就是:“不行”。因为所有数据流重叠/冲突的部分会遵循QoS优先机制进行转发,一部分的数据包肯定会被丢弃。

    图六

    在IT专业里有一个不成文的规定。当某个交换机的带宽占用率超过40%时就必须得扩容,其目的就是通过提高网络带宽来避免拥堵的产生。

    4) 什么是QoS?

    QoS(Quality of Service)即服务质量,它提供了针对不同用户或者不同数据流采用相应不同的优先级,或者是根据应用程序的要求,保证数据流的性能达到一定的水准。

    以太网默认的转发机制叫做“Best Effort”(尽力而为)。也就是说当数据包抵达端口后,本着先入先出的原则转发。当网络的流量稀疏,这本不是一个问题。但在实际环境中,大量的数据包极有可能在一瞬间抵达端口。当然,端口可以在一定程度上缓存并延时转发,但我们一方面是不能容忍过大的延时转发,另一方面交换机的物理端口缓存也非常小,不可能有效解决大量数据包瞬间抵达的问题。这种情况下,我们只能对数据中比较重要或是强调实时性的数据包进行优先转发。这就要依靠QoS来对所有的数据包进行分类和标注,并依据规则来进行较为智能的转发。目前市场上较大多数的需要低延时的实时传输采用QoS这一技术。但QoS能否彻底解决网络拥堵的问题吗?

    由于Best Effort的机制,通常具有一定带宽的一个数据流会在每秒中不同时间段传输,尽管所占用的带宽相等,但在每个时间段上的时间节点却不同。如图七所示,这样在多个数据流共存的时候,就会很容易产生带宽重叠的现象,从而导致丢包。

    图七

    我们所希望看到的是每一个数据流都尽可能按照时间顺序排序从而有效避免不同数据流在同一通道中传输时产生重叠,进而提高带宽的利用率。如图八所示:

    图八

    我们发现实时音视频流恰好是沿等长的时间间隔发布数据的。比如说:一个24比特48K采样的专业音频通道,每个采样的时间间隔是20.83 µs。如果我们按照每6个采样封装成一个数据包,那么每个数据包的固定间隔就是125 µs。每个数据包是由两个部分组成,数据报头(74字节)+音频通道采样数据(24字节X通道数)。

    图九

    为了避免带宽重叠,我们所需要做的就是将几个不同的音频流进行流量整形(Traffic shaping)。以达到提高可靠交付的目的。这里大家要注意,我指的是流量整形而不是流量控制(Traffic Control)。

    比如在一个带宽里,有非实时数据和3个实时数据流。未经整形的带宽,极易产生重叠。

    图十

    而经过流量整形每个流所占的带宽会在同一个时间节点。所有的非实时流可以见缝插针提高对带宽的占用率。这就是AVB的基本原理。

    图十一

    AVB不仅可以对发送端比如各种音视频设备的网络端口进行流量整形,还可以对交换机中的每个转发节点进行整形。从而确保每个音视频流只占用各自相应的带宽而不对其他数据产生影响。

    由于以太网的发明时间太早,并没有考虑实时信息的传输问题。尽管RTP能在一定程度上保证实时数据的传输,但并不能为按顺序传送数据包提供可靠的传送机制。因此,想要对所有的数据包进行排序,就离不开对数据的缓冲(Buffer)。但一旦采用缓冲的机制就又会带来新的问题—极大的“延时”。换句话说,当数据包在以太网中传输的时候从不考虑延时、排序和可靠交付。这时,建立可靠的传送机制就成了摆在技术人员面前的首要问题。想要解决这些问题,我们可以简要概括成以下几点:

    1. 必须采用基于MAC地址的传输方式即二层传输或是基于IP地址UDP的传输方式,从而减小数据包的开销以及降低传输延时。

    2. 由于二层传输和UDP均不属于可靠交付,因此必须依靠QoS来“尽可能”保障可靠交付。

    3. 所有数据包需要有“时间戳”(Time Stamp),数据抵达后根据数据包头的“时间戳”进行回放。因此各个网络终端设备必需进行“时钟同步”也就是通常所说的时钟校准。

    4. 数据包被转发时需采用队列协议按序转发,从而尽可能做到低延时。

    5) 什么是AVB?

    AVB——以太网音视频桥接技术(Ethernet Audio Video Bridging)是IEEE的802.1任务组于2005开始制定的一套基于新的以太网架构的用于实时音视频的传输协议集。它有效地解决了数据在以太网传输中的时序性、低延时和流量整形问题。同时又保持了100%向后兼容传统以太网,是极具发展潜力的下一代网络音视频实时传输技术。其中包括:

    1. 802.1AS:精准时间同步协议(Precision Time Protocol,简称PTP)

    2. 802.1Qat:流预留协议(Stream Reservation Protocol,简称SRP)

    3. 802.1Qav:排队及转发协议(Queuing and Forwarding Protocol,简称Qav)

    4. 802.1BA:音视频桥接系统(Audio Video Bridging Systems)

    5. 1722:音视频桥接传输协议(Audio/Video Bridging Transport Protocol,简称AVBTP)

    6. 1733:实时传输协议(Real-Time Transport Protocol,简称RTP)

    7. 1722.1:负责设备搜寻、列举、连接管理、以及基于1722的设备之间的相互控制。

    AVB不仅可以传输音频也可以传输视频。用于音频传输时,在1G的网络中,AVB会自动通过带宽预留协议将其中750M的带宽用来传输双向420通道高质量、无压缩的专业音频。而剩下的250M带宽仍然可以传输一些非实时网络数据。用于视频传输时,可以根据具体应用调节预留带宽。比如:750M带宽可以轻松传输高清full HD视觉无损的视频信号。并且可以在AVB网络中任意路由。

    AVB中的802.1AS是1588协议在二层架构下一种具体实现。是AVB协议集中最重要的一部分。有关详细内容,我会在后续的文章中详细描述。

    6) TSN和 AVB

    很多人听说过AVB,但对于TSN却有些陌生。实际上,IEEE 802.1任务组在2012年11月的时候正式将AVB更名为TSN – Time Sensitive Network时间敏感网络。也就是说,AVB只是TSN中的一个应用。那么TSN究竟有哪些应用呢?

    第一个应用就是我们的专业音视频(Pro AV)。在这个应用领域里强调的是主时钟频率。也就是说,所有的音视频网络节点都必须遵循时间同步机制。

    第二个应用是在汽车控制领域。目前大多数的汽车控制系统非常复杂。比如说:刹车、引擎、悬挂等采用CAN总线。而灯光、车门、遥控等采用LIN系统。娱乐系统更是五花八门,有FlexRay和MOST等目前的车载网络。实际上,所有上述系统都可以用支持低延时且具有实时传输机制的TSN进行统一管理。可以降低给汽车和专业的A/V设备增加网络功能的成本及复杂性。

    第三个应用是商用电子领域。比如说,你坐在家中,可以通过无线WIFI连接到任何家中的电子设备上,实时浏览任何音视频资料。

    最后一个应用也是未来最广泛的应用。所有需要实时监控或是实时反馈的工业领域都需要TSN网络。比如:机器人工业、深海石油钻井以及银行业等等。TSN还可以用于支持大数据的服务器之间的数据传输。全球的工业已经入了物联网(Internet of Things,IoT)的时代,毫无疑问TSN是改善物联网的互联效率的最佳途径。

    图十二

    7) AVnu联盟(AVnu Alliance)

    AVnu是一个行业联盟,成立于2009年,一直致力于建立和推广IEEE802.1音视频桥接 (AVB)网络标准。Broadcom、Intel、Cisco、Biamp、Harman均属于该组织的成员。该组织建立了一整套一致性测试流程从而确保所有基于AVB网络架构的音视频设备之间的兼容性和互通性。联盟成员一同致力于将TSN标准应用于Pro AV、Automotive、Consumer Electronics以及Industrial。一旦厂家的产品通过了AVnu的严格测试,就可以在其产品上使用AVnu的logo。

    如果大家想更多的了解有关TSN网络的问题,可以浏览AVnu联盟的网站http://avnu.org/

    参考文献:

    1. https://en.wikipedia.org/wiki/Audio_Video_Bridging

    2. http://avnu.org/faqs/

    3. http://www.ieee802.org/1/pages/avbridges.html

  • 相关阅读:
    PHP如何学习?
    PHP compact() 函数
    Laravel中resource方法
    npm run watch-poll 监控css、js 文件更新
    MYSQL 的optimize怎么用
    出现“Windows资源管理器已停止工作”错误
    移动硬盘文件或目录损坏且无法读取怎么解决
    Linux下iptables 禁止端口和开放端口
    Linux VSFTP服务器详细配置
    分享一个基于ligerui的系统应用案例ligerRM V2(权限管理系统)(提供下载)
  • 原文地址:https://www.cnblogs.com/siikee/p/11969375.html
Copyright © 2011-2022 走看看