携程光网络抵御光缆中断实践

2023年 12月 15日 83.2k 0

作者简介

Lightworker,携程网络技术专家,关注光纤通信、DCI传输技术领域。

一、背景

光传输网络(简称OTN)是一种基于光纤技术的通信网络。它利用光纤作为传输介质,将信息以光的形式进行传输。其凭借DWDM(密集型波分复用)技术以及保护倒换技术,可以实现大带宽、低延迟、高可靠的数据传输,因此广泛应用于多个数据中心互联场景。国内外大型互联网公司通过租用运营商光纤自建传输网络,能够大大降低IDC之间数据传输的成本。同样,携程也拥有自建的光传输网络(简称TOTN),主要用于承载骨干网跨数据中心流量以及IT办公上网流量。

作为底层物理网络,TOTN直接面对运营商光缆,需应对频繁出现的光缆故障。众所周知,国内基建仍处于发展阶段,运营商光缆经常被施工挖断。据美国运营商Level3的统计,其光纤网络大概每年每千公里就会中断1次;中国电信大概每年会发生50次以上干线光缆中断;而在印度,几乎每天都会中断几次甚至十几次。可见,光缆中断的次数与当地社会经济的发展程度密切相关。

携程TOTN自建成以来,平均每年监测到20余次光缆中断。因此在提供大容量传输的同时,如果能够在发生光缆故障的时候,光网络可以自动切换,使业务带宽不受影响,甚至不感知故障,将极大的提升网络可靠性。

图片

图1 光缆挖断现场

二、整体架构

携程传输网络为双平面带保护设计,每个IDC部署完全独立的2套传输设备,分别连接2条不同路由的光纤,组成完全独立的2个传输平面。

图片

图2 TOTN拓扑图

正常状态下,业务走在直达链路上,当主用光缆中断时,传输系统会将业务切换至备用通道绕行。主备通道切换时间遵循ITU-TG.783和ITU-TG.841标准,小于50ms。

图片

图3 光网络保护

图片

图4 光缆故障时业务流向

通过上述保护机制,能够解决光缆中断时业务自动切换,带宽不损失,并且抵御同时发生2处光缆中断的极端情况。

但与此同时,有一个问题一直困扰我们,就是传输切换的时候两端网络设备端口存在flapping的情况,导致业务有相应的报错产生。

三、问题分析

网络设备接口从down到up的时间因为不同设备不同光模块有差异,且网络层的二层及三层收敛时间因网络架构的不同存在不确定因素(通常认为是秒级中断),因此每次传输切换都会造成一定时间的业务不可用。通常表现在敏感业务的报错,如Redis。Redis作为内存数据库,对网络抖动非常敏感,几乎每次光缆中断切换都有感知。

比如3月17日12:00 传输A平面,光纤发生闪断,骨干网CSR in方向错包。

图片

图5 骨干网报错

比如9月11日19:44 B平面光缆中断,传输切换时Redis大量报错,如下图:

图片

图6 Redis报错

要解决传输切换导致网络设备端口flapping问题,业界一直没有成熟的标准方案。通过对其它互联网公司的调研,比较常用的方案是在交换机接口上配置link-delay,即路由器收到链路中断的信号后,延时一段时间将链路状态置为down,在这段时间里,如果链路恢复,即保持链路up状态,不产生down状态,避免了链路的频繁抖动。

我们也尝试了这种方式,但发现有诸如设备不支持、配置不生效等问题,一直无法达到预期的效果。原因是link delay不是IEEE标准,不同厂商的网络设备对该功能的支持不尽相同。为此,传输业务的分配只能分摊在不同的光缆路由,确保光缆中断时至少有一半业务不受影响,但这始终无法解决业务有感知的问题。例如A端至Z端需开通200G业务,必须分摊到两个不同平面,每个100G业务参与各自平面的倒换。

图片

图7 业务分摊示意图

另外我们在调研中发现,有些公司为了使link-delay生效,将延时设置成2s。这样的设置虽然使传输保护倒换生效,但一旦保护机制出现故障,路由层面的切换将因此损失2s的宝贵时间。

四、技术研究

2023年,TOTN引入了支持5ms倒换的DCI产品,该产品通过二个方面的改进将传输50ms的倒换时间提升至5ms。一是应用了磁光开关,磁光开关原理是利用法拉第旋光效应, 通过外加磁场的变化来改变磁光晶体对入射偏振光偏振面的作用, 从而达到切换光路的作用。由于无机械移动部件, 可靠性高, 并且开关速度快;二是通过预先将备用通道的光缆参数录入DSP芯片,在倒换时节省了重新计算参数的时间。

图片

图8 光开关原理

我们希望通过缩短光开关切换的时间,解决网络设备端口flapping的问题。但在实际应用中,即使传输倒换时间已经压缩到5ms,网络设备的端口仍然会flapping。通过对产品参数的研究和调试后,我们发现,当光缆中断时,传输光层会向两端电层板卡发送AIS信号,电层板卡收到AIS信号后会向网络设备发送Local_Fault告警,当网络设备收到该告警后,端口即变为down(IEEE 802.3ae)。通过设置传输系统延时发送该信号(默认4*50ms),只要传输切换在该时间段内完成,即不会向网络设备发送该信号,因此端口就不会flapping。

图片

图9 故障信号传递示意图

在DCI产品成功实现了切换无感知后,我们希望在现网传统产品中也找到类似的参数进行调整。因为告警延时传递与5ms倒换时间无关,即使是50ms的倒换时间,如果能让网络设备端口不感知光缆抖动,也会对业务稳定性带来极大的提升。

五、 优化方案

为了实现网络传统产品支持无感切换,通过与厂商技术沟通,得出的结论是需要将100GE业务映射方式由BIT透明映射调整为MAC透明映射(会中断业务),然后再设置告警参数延时200ms传递。

由于TOTN从来没有使用过MAC透明映射方式,对此,我们协调设备厂商在实验室专门做了MAC映射和BIT映射的测试验证。结论是两种方式吞吐量没有区别,延时有差异,BIT映射时对64-9600Byte的帧都是24us,MAC映射时随帧长增大而增大,但最大9600时,也就25us,可以忽略不计。

图片

图10 实验环境拓扑

图片

图片

图11 RFC2544测试结果

因此我们制定了优化方案,先调整传输A平面,灰度运行一段时间后再调整B平面。

六、 验证效果

8月18日对传输A平面进行优化:100GE业务映射方式采用MAC透明映射,告警参数延时传递200ms。经测试验证,可实现传输光缆主备切换对网络设备端口无感知,Redis无感知。

在真实的故障场景下也同样得到了验证。如9月7日15:13传输A平面发生光缆中断故障,Redis报错无异常尖峰。

图片

图12 优化后Redis报错

经过经一个月的灰度验证后,我们于9月15日对传输B平面进行优化,并且将告警参数延时传递时间在200ms的基础进一步缩短至100ms,同样经测试验证Redis无感知。

七、 未来规划

为保持架构的统一性,我们将重新定义携程光网络设备技术标准,要求新入网的OTN设备必须支持BIT映射的告警延迟下插。同时,推动各供应商全面支持该功能,使之成为光缆故障场景下的一种最佳实践。

抵御光缆故障是个业界公认的难题,头部互联网公司都在此栽过跟头。通过上述一系列实践,我们在抵御光缆故障方面已经做到了领先水平。光网络运维是个长期过程,无感知切换只是其中一小部分,更多的是告警发现、性能监测以及光缆路由识别,避免同路由情况的发生。

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论