TTE系统容错设计(2) ——COM/MON机制
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错误,从而丢弃分组。
![](/assets/blank.gif)
通常COM/MON不在端系统网卡部署,只在交换机内部部署。COM/MON机制抑制了3种交换机故障的对外传播,如下表所示。
序号 |
故障类型 |
抑制原理 |
1 |
发送“计划外”帧 |
因状态机错误等原因,故障COM发送“计划外”帧,正常MON没发送该帧,拦截逻辑判断该帧为错误帧而截断。 |
2 |
发送时域错误的“计划内”帧 |
由于时间同步错误等原因,COM与MON发送的“计划内”帧没有同时到达拦截逻辑,因此双双被截断。 |
3 |
发送值域错误的 “计划内”帧 |
COM和MON的帧同时到达拦截逻辑,但在发送中拦截逻辑发现帧内容不一致,帧被截断。 |
2、芯准TTE的COM/MON机制实现
芯准TTE的交换IP核支持COM/MON机制。支持COM/MON机制的芯准TTE交换机实现如图2所示,基本特点包括:
包含两个独立的芯准TTE交换IP核,分别以COM和MON的角色工作。
每个IP核有独立的TTE核心交换逻辑、AS6802时间同步逻辑,COM/MON共享每个输入接口到达的数据帧、一套管理逻辑和本地晶振;
在每个输出接口(图中只画了一个输出接口i)的发送MAC与输出接口(外挂PHY芯片)之间增加一个C/M判决逻辑,对本地产生的输出帧与另一个IP产生的输出帧进行比对,阻止错误帧的输出。
COM判决逻辑的输出直接驱动芯片的输出引脚,MON判决逻辑的输出悬空。
![](/assets/blank.gif)
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机制相关推荐
- TTE系统容错设计(1) ——集中守护机制
2020年,NASA计划在月球门户(lunar Gateway)空间站的动力和推进系统(PPE:Power and Propulsion Element)中使用TTE技术.由此,我们再次认识到,与目前 ...
- 实时流处理系统容错机制(一):综述
实时流处理系统的最主要的特点就是数据是持续不断地到来的,这样的数据源通常都是无边界的.对于这种数据持续不断地,实时流处理系统必须被持续地部署到集群中去,并且持续地占用集群资源.但是在分布式环境下,Fa ...
- java 远程会诊实现机制_远程会诊系统原型设计与实现
文章编号:16732095X (2008)022******* 远程会诊系统原型设计与实现 孙 静 (天津理工大学计算机科学与技术学院,天津300191) 摘 要:随着通信技术.网络技术和多媒体技术的 ...
- 面试必备:一个秒杀系统的设计思考
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 作者:阿哲 segmentfault.com/a/11900000 ...
- 记一次支付系统的设计体验
0.写在前面的话 支付系统是一个老生常谈的话题,我也相信每个公司开发的支付系统不尽相同,因为业务形态并不太一样. 在此,我并不想讲一个大而全的支付系统,个人也没有能力去阐述. 在我看来,一个支付系统应 ...
- 服务容错设计:流量控制、服务熔断、服务降级
一. 为什么需要容错设计: 在分布式系统中,因为使用的机器和服务非常多,所以故障发生的频率会比传统的单体应用更大.只不过,单体应用的故障影响面很大,而分布式系统中由于故障的影响面可以被隔离,所以影响面 ...
- 一个秒杀系统的设计思考
简介:从架构视角来看,秒杀系统本质是一个高性能.高一致.高可用的三高系统.而打造并维护一个超大流量的秒杀系统需要进行哪些关注,就是本文讨论的话题. 秒杀大家都不陌生.自2011年首次出现以来,无论是双 ...
- 第一百一十一期:思考 | 一文说透秒杀系统如何设计
秒杀大家都不陌生.自2011年首次出现以来,无论是双十一购物还是 12306 抢票,秒杀场景已随处可见.简单来说,秒杀就是在同一时刻大量请求争抢购买同一商品并完成交易的过程.从架构视角来看,秒杀系统本 ...
- 安全网络身份认证系统的设计与实现
本文章源码地址:https://gitee.com/sukels/shirohttps://gitee.com/sukels/shiro 摘 要 随着互联网的飞速发展,Web应用的安全问题日益凸显. ...
最新文章
- 【WebMisCentral WMC】基于Extjs 4.2x的企业级用户授权认证中心系统(SSO+AM+SM),多租户SAAS应用...
- 翻身的废鱼——论PHP从入门到放弃需要多久?15
- 【数据结构与算法】之深入解析“删除二叉搜索树中的节点”的求解思路与算法示例
- IT公司老板落水,各部门员工怎么救
- sql常用语句之DDL
- 软件质量管理QM、QA、QC的区别
- 小公司个人技术成长路线思考
- 电子面单打印结果通知回调API接口
- WPS制作的电子签名有法律效力吗
- 网盘下载速度太慢的话请看这里!
- 使用wx原生方法扫描获取SN码
- 高考倒计时100天,用python看看高三党
- Windows 10 CMD简单使用
- kodi+java版_[转] Emby+KODI--完美的NAS多媒体方案
- 以前用C++实现的RMM分词类型
- usb 键盘码表_ASCII码表,键盘按键码表,虚拟键盘按键码表
- 织梦教程新建ID丨重置栏目ID丨文章ID不从1开始的解决方法
- 解析服务器独享与共享的区别
- 在超级终端中不能输入东西
- EDIUS调音台的使用