编辑概况:黄玉栋,北京邮电大学网络与交换国家重点实验室研二在读,研究方向为未来网络体系架构,确定性网络,邮箱地址: hyduni@163.com.
确定性网络是指能保证业务的确定性带宽、时延、抖动、丢包率指标的网络;确定性网络技术是一种新型的服务质量(QoS)保障技术。本文面向小白科普入门,将尽量用通俗易懂的语言,深入浅出的分析确定性网络的需求由来、技术实现和未来展望。
一、需求由来
业务形态和需求的改变是网络技术变革的主要动力。
传统电话网采用面向连接的电路交换技术,其在通信前建立连接,为通信双方分配具有固定带宽的通信电路,直到通信结束再释放连接;比如早期单一的64Kbps话音业务,可以采用固定比特率进行传输,一根电话线连两头,想打多久打多久。电路交换具有实时、低速率、高质量的话音传送的优势,但缺点是带宽利用率不高。
而后一方面互联网繁荣,图片、视频、搜索等业务形态变得复杂,采用分组交换后网络就像大马路的交通,路上自行车、小汽车、公交车、大货车啥车都有,上下班高峰期容易排队和拥堵,时延和抖动等需求没有保障;
另一方面车载网络、航空航天、金融交易、电力传输和石油勘探等垂直领域,出现了大量的专用总线和实时以太网技术,其保证了流量的低时延低抖动传输,但碍于专线成本高,而各类实时以太网标准又互不兼容、且不与标准以太网兼容,所以技术封闭,没法铺到互联网大马路上。
因此,确定性网络的需求主要来自两方面:
- 兼容以太网标准:在工业自动化、智能制造等传统场景,需要用以太网统一替代几十种现场总线和实时以太网标准,融合IT网络和OT网络,实现尽力而为流与工业时延敏感流的共网传输,降低成本。
- 承载确定性业务:随着机器与机器间通信流量激增,需要在自动驾驶、远程手术、全息通信等新兴场景,结合5G等技术,打造网络里的超级高铁,实现确定性业务的端到端传输。
二、技术实现
在讲确定性网络的技术挑战前,首先要聊一下现有的互联网和工业网络是怎么做QoS服务质量保障的。
互联网怎么做QoS?
互联网主要有四种方法保证QoS: 扩容/轻载、流量整形、队列调度和拥塞控制。
- 扩容/轻载:扩容就是扩带宽,两车道不够用就改四车道、八车道,让网络处于轻载的状态。现在以太网已经能做到单端口400G,当然,比较费钱。
- 流量整形:通过令牌桶、信用整形等技术,对特定端口或者流量进行限速。比如上游节点出端口带宽8Gbps,下游节点空余带宽只有2 Gbps,就要限制上游传输带宽小于2Gbps,以免下游节点拥塞。好比两车道不能八辆大卡车并排开。
- 队列调度:队列调度就是在交换机的出端口对流量进行调度,好比红绿灯。首先把包标记上不同的优先级,然后包进入对应的优先级队列,最后采用不同的队列调度算法对包进行处理。比如严格优先级算法(SP),会让高优先级的流量有就一直转发;比如加权循环调度算法(WRR),会给每个队列一个权重,按权重的比例依次进行转发,以免低优先级的流量长时间等待。
- 拥塞控制:当流量过多,缓冲队列都不够用了,网络出现拥塞丢包,就需要拥塞控制。可采用ECN、DCTCP等基于显式拥塞标记或者Timely、Swift等基于RTT往返时延的方法探测拥塞,让上游节点直至发送端降低发包速率。好比沿着拥塞地点让交警往回控制其他车辆停止通行或者绕道而行。
互联网做QoS有两大核心问题:缺少有界时延抖动的保证,以及难以应对聚播和突发流量。 - 缺少有界时延抖动保证:由于是统计复用出端口带宽资源,缺少时延维度的QoS保障机制,尽力而为转发总是会存在排队等待和拥塞的情况,业务时延在50ms-1s的量级,并存在长尾时延。
- 难以应对聚播和突发流量:由于发端流量的大小和发包时间不可控,网络中存在多条流在下游节点汇聚(Incast,聚播)以及某时刻流量激增(Burst,突发)的现象,导致网络拥塞丢包。
工业网络怎么做QoS?
工业网络对时延抖动的要求非常严格,往往要求端到端时延在几毫秒甚至几百微妙以内,以及微秒级甚至零抖动。比如离散自动化中的运动控制,要求端到端时延控制在1ms以内,抖动在1us以内,且具有99.9999%的可靠性。
要达到如此高精度的传输控制,以时间触发以太网为例,主要需要时钟同步和时隙规划这两种技术。更多时隙规划的技术细节可参考文章(一文读懂时延敏感网络的调度整形机制)
- 时钟同步:即全网时钟同步,终端设备、交换机的时钟都相同,网卡也要给包打上硬时间戳。目前有两种时钟同步方式,一种是主从模式,选出一个最精准的时钟作为主时钟,其他从时钟都听主时钟的;一种是投票模式,比如一个域内有9台设备,5台现在时钟是1:00,4台是1:01,少数服从多数,就都调整为1:00。
- 时隙规划:时隙一般是指交换机出端口的时间维度的传输资源。比如某交换机出端口带宽1Gbps,也就是1s可以传1G个bit,假设一个包有1500Byte,也就是12000bit, 那它的传输就占用出端口某一段12us的时隙资源。而占用哪一段,由它的传输开始时间决定。由于工业流量大多是周期性发送的小于MTU的包,所以可以控制终端的发包开始时间,通过全局时隙规划(时分复用),让各个包只在提前算好的时刻被“触发”发送,保证其在每跳的出端口传输时占用的时隙互不冲突,从而避免了聚播和突发的产生,实现“准时准确”传输。
确定性网络怎么实现?
确定性网络技术不是单一技术,而是一系列协议和机制的合集,通过网络切片、显性路由、资源预留、时钟/频率同步、周期映射、门控优先级队列调度、帧抢占、流量过滤和整形、多发选收等技术分别保障确定性带宽、低时延、低抖动、高可靠等QoS指标。
简单的说,它既兼容了以太网这条大马路,又借鉴了工业网络里全网同步、时隙规划、控制发包/边缘的思想,就像网络里的超级高铁,首先定点发车,然后长距传输,专道不堵车,通过周期映射和周期规划确定到站时间,并且每站定长停靠,最终保证端到端时延可预期。具体技术实现和挑战留作下回分解。
三、未来展望
由于现网缺乏严格的有界时延抖动保障机制,建筑网络高铁是未来网络发展的必然趋势。举个例子,若想在现网中获得一条从北京到南京10ms时延的线路,首先测一下有3条路可以走,时延分别是50ms、100ms和200ms,达不到要求,再需要测沿路径的链路带宽使用情况、每跳的队列长度和拥塞情况,然后通过一行行命令和ACL规则,去做优先级映射、限速整形、队列调度、拥塞控制、重路由,这当中还可能存在规则错配、影响其他业务QoS等问题,而当终于配置好满足10ms时延后,又有可能突然出现莫名的流聚合和突发,时延陡然暴增至500ms,令网络工程师通宵达旦、彻夜难眠。
而在不远的将来,可以预见确定性网络技术趋于成熟,只需要几分钟的配置时间,便可以拥有一条从北京到南京、稳定可靠的、端到端时延10ms的超级高铁线路。
|