COM/MON是TTE交换机完整性设计的重要组成部分。COM/MON机制主要部署在交换机输出接口,目的是防止交换机自身故障通过其输出接口扩散,影响网络中其他交换机和端系统的正常工作。

1、COM/MON机制简介

COM/MON机制实现原理是在交换机内部两个相同的核心交换IP核同时工作,其中一个作为执行器(Commander: COM),一个作为检测器(Monitor: MON)。交换机的输入同时发送给COM和MON。COM负责驱动接口的输出,MON则负责监测COM产生的输出帧是否在时域和值域上正确,并实时阻断COM产生的错误输出帧。

COM/MON具体工作原理如图1所示。

(1)如果COM产生的输出与MON产生的输出一致,则说明没有故障发生,MON打开拦截逻辑,使得COM的输出正常从交换机的端口输出;

(2)如果COM产生的输出与MON产生的输出不一致,则说明COM或者MON内部逻辑发生了故障,MON启动拦截逻辑,截断COM正在发送的分组。由于分组异常截断,对端设备会检测到帧的CRC错误,从而丢弃分组。

图 1  TTE交换机的COM/MON容错机制

通常COM/MON不在端系统网卡部署,只在交换机内部部署。COM/MON机制抑制了3种交换机故障的对外传播,如下表所示。

表 1  COM/MON机制故障抑制类型及原理

序号

故障类型

抑制原理

1

发送“计划外”帧

因状态机错误等原因,故障COM发送“计划外”帧,正常MON没发送该帧,拦截逻辑判断该帧为错误帧而截断。

2

发送时域错误的“计划内”帧

由于时间同步错误等原因,COM与MON发送的“计划内”帧没有同时到达拦截逻辑,因此双双被截断。

3

发送值域错误的 “计划内”帧

COM和MON的帧同时到达拦截逻辑,但在发送中拦截逻辑发现帧内容不一致,帧被截断。

2、芯准TTE的COM/MON机制实现

芯准TTE的交换IP核支持COM/MON机制。支持COM/MON机制的芯准TTE交换机实现如图2所示,基本特点包括:

  1. 包含两个独立的芯准TTE交换IP核,分别以COM和MON的角色工作。

  2. 每个IP核有独立的TTE核心交换逻辑、AS6802时间同步逻辑,COM/MON共享每个输入接口到达的数据帧、一套管理逻辑和本地晶振;

  3. 在每个输出接口(图中只画了一个输出接口i)的发送MAC与输出接口(外挂PHY芯片)之间增加一个C/M判决逻辑,对本地产生的输出帧与另一个IP产生的输出帧进行比对,阻止错误帧的输出。

  4. COM判决逻辑的输出直接驱动芯片的输出引脚,MON判决逻辑的输出悬空。

2  芯准TTE交换机COM/MON机制实现方案

C/M判决逻辑是COM/MON实现的核心。需要注意的是,芯准TTE实现的判决逻辑(图2)与COM/MON模型中的拦截逻辑(图1)在名称以及输入输出连线上是有所区别的,这是由于芯准TTE的交换IP核在设计时不区分COM和MON的角色,只在芯片设计实例化时通过外部连线的不同(输出悬空为MON,连接外部引脚为COM)区分两个角色。

C/M内部通过设置滑动窗口来进行时域一致性判断。滑动窗口的大小与TTE系统要求的时间同步精度、保护带宽设置等多个因素有关。在芯准TTE交换IP中,C/M是可管理的模块,芯片的管理逻辑可以配置C/M滑动窗口的大小,也可以读取错误计数器等信息。

3、进一步分析

(1)COM和MON发生故障的概率独立

COM/MON机制有效是因为COM与MON发生故障的概率相互独立,同时发生故障的概率极低。例如,假设COM和MON每小时的故障率为10-6,那么同时发生故障的概率则为:10-6*10-6=10-12。

要保证COM和MON故障独立,不但要求在逻辑设计上,COM和MON使用独立的时间同步逻辑,在从帧接收到发送的全部路径上没有共用逻辑,而且在芯片物理实现时,要在空间上隔离COM和MON的逻辑。例如,用FPGA实现TTE交换芯片时要避免将COM和MON的逻辑映射到相邻的LUT上实现,因为随着晶体管尺寸的不断降低,在空间应用环境中,一个高能单粒子可能造成FPGA中相邻的多个配置位产生错误。

(2)非一致性遗漏故障

TTE交换机中COM/MON机制实现最大的作用就是将任意失效错误抑制在设备内部,将TTE交换机的任意失效转换成非一致性遗漏失效(inconsistent-omission failure)。

非一致性遗漏失效是容错设计中需要重点考虑的故障类型,传统上非一致性遗漏失效被认为主要发生在共享总线上(如CAN)。但在TTE交换系统中,一些典型的故障场景也会产生非一致性遗漏失效,我们将在后续文章中更加深入地分析。

TTE系统容错设计(2) ——COM/MON机制相关推荐

  1. TTE系统容错设计(1) ——集中守护机制

    2020年,NASA计划在月球门户(lunar Gateway)空间站的动力和推进系统(PPE:Power and Propulsion Element)中使用TTE技术.由此,我们再次认识到,与目前 ...

  2. 实时流处理系统容错机制(一):综述

    实时流处理系统的最主要的特点就是数据是持续不断地到来的,这样的数据源通常都是无边界的.对于这种数据持续不断地,实时流处理系统必须被持续地部署到集群中去,并且持续地占用集群资源.但是在分布式环境下,Fa ...

  3. java 远程会诊实现机制_远程会诊系统原型设计与实现

    文章编号:16732095X (2008)022******* 远程会诊系统原型设计与实现 孙 静 (天津理工大学计算机科学与技术学院,天津300191) 摘 要:随着通信技术.网络技术和多媒体技术的 ...

  4. 面试必备:一个秒杀系统的设计思考

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:阿哲 segmentfault.com/a/11900000 ...

  5. 记一次支付系统的设计体验

    0.写在前面的话 支付系统是一个老生常谈的话题,我也相信每个公司开发的支付系统不尽相同,因为业务形态并不太一样. 在此,我并不想讲一个大而全的支付系统,个人也没有能力去阐述. 在我看来,一个支付系统应 ...

  6. 服务容错设计:流量控制、服务熔断、服务降级

    一. 为什么需要容错设计: 在分布式系统中,因为使用的机器和服务非常多,所以故障发生的频率会比传统的单体应用更大.只不过,单体应用的故障影响面很大,而分布式系统中由于故障的影响面可以被隔离,所以影响面 ...

  7. 一个秒杀系统的设计思考

    简介:从架构视角来看,秒杀系统本质是一个高性能.高一致.高可用的三高系统.而打造并维护一个超大流量的秒杀系统需要进行哪些关注,就是本文讨论的话题. 秒杀大家都不陌生.自2011年首次出现以来,无论是双 ...

  8. 第一百一十一期:思考 | 一文说透秒杀系统如何设计

    秒杀大家都不陌生.自2011年首次出现以来,无论是双十一购物还是 12306 抢票,秒杀场景已随处可见.简单来说,秒杀就是在同一时刻大量请求争抢购买同一商品并完成交易的过程.从架构视角来看,秒杀系统本 ...

  9. 安全网络身份认证系统的设计与实现

    本文章源码地址:https://gitee.com/sukels/shirohttps://gitee.com/sukels/shiro 摘  要 随着互联网的飞速发展,Web应用的安全问题日益凸显. ...

最新文章

  1. 【WebMisCentral WMC】基于Extjs 4.2x的企业级用户授权认证中心系统(SSO+AM+SM),多租户SAAS应用...
  2. 翻身的废鱼——论PHP从入门到放弃需要多久?15
  3. 【数据结构与算法】之深入解析“删除二叉搜索树中的节点”的求解思路与算法示例
  4. IT公司老板落水,各部门员工怎么救
  5. sql常用语句之DDL
  6. 软件质量管理QM、QA、QC的区别
  7. 小公司个人技术成长路线思考
  8. 电子面单打印结果通知回调API接口
  9. WPS制作的电子签名有法律效力吗
  10. 网盘下载速度太慢的话请看这里!
  11. 使用wx原生方法扫描获取SN码
  12. 高考倒计时100天,用python看看高三党
  13. Windows 10 CMD简单使用
  14. kodi+java版_[转] Emby+KODI--完美的NAS多媒体方案
  15. 以前用C++实现的RMM分词类型
  16. usb 键盘码表_ASCII码表,键盘按键码表,虚拟键盘按键码表
  17. 织梦教程新建ID丨重置栏目ID丨文章ID不从1开始的解决方法
  18. 解析服务器独享与共享的区别
  19. 在超级终端中不能输入东西
  20. EDIUS调音台的使用

热门文章

  1. 随记 asp.net使用echart,时间纵轴不显示
  2. HSB概念和应用场景
  3. UI设计色彩趋势总结
  4. 开发中PG,PL,SE,PM都是什么意思
  5. 微信JSSDK-录音接口,判断是否成功调用微信录音
  6. SQLSERVER EXPRESS 安装失败 code1645
  7. css clip-path和drop-shadow生成自定义图形、阴影
  8. 实用的语音转文字转换器,告别文件转换难题
  9. 单元测试junit4
  10. BufferedImage 图片打水印