2017年802.1CB标准:局域网与城域网的可靠帧复制与消除技术

5星 · 超过95%的资源 需积分: 50 36 下载量 191 浏览量 更新于2024-07-09 1 收藏 3.59MB PDF 举报
802.1CB-2017 是 IEEE (Institute of Electrical and Electronics Engineers) 对于本地和城域网络(Local and Metropolitan Area Networks, LAN/MAN)提出的一项标准,专注于帧复制(Frame Replication)和消除(Frame Elimination)技术,目的是提升网络的可靠性和性能。该标准由 LAN/MAN 标准委员会(LAN/MAN Standards Committee)赞助,经 IEEE 计算机学会(IEEE Computer Society)批准,于 2017 年 9 月 28 日通过 IEEE-SA 标准董事会(IEEE-SA Standards Board)的认可。 帧复制和消除是 Time-Sensitive Networking (TSN) 概念下的关键特性,TSN 是 IEEE 802.1 标准家族的一部分,旨在解决传统以太网在实时通信和工业自动化等对低延迟、高带宽和确定性传输需求方面的问题。通过这些技术,网络能够在数据传输过程中创建冗余副本,确保在主帧丢失或延迟的情况下,备用副本可以被快速提供,从而提高系统的可用性和可靠性。 802.1CB 标准定义了复制和消除操作的机制,包括如何选择哪些帧进行复制,以及如何管理和同步这些副本。它还规定了帧生命周期管理策略,包括何时启动复制、何时停止或更新复制帧,以及如何协调不同节点间的复制操作,以避免冲突和数据一致性问题。 此外,该标准还考虑了安全性,确保在复制帧时保护敏感信息,并规定了授权使用限制,如 Harry Potter 下载示例中提到的,用户只能在特定条件下使用此标准。版权方面,所有权利归 IEEE 所有,禁止未经许可的复制和分发。 802.1CB-2017 是一项重要的技术规范,对于那些依赖实时通信的行业,如工业自动化、医疗设备、交通控制等领域,提供了强大的网络基础设施支持,通过增强网络的冗余能力和故障恢复能力,显著提升了系统运行的稳定性和响应速度。实施这一标准需要遵循严格的协议和安全措施,以确保网络的高效运作。

解释一下这段代码if (RB_CB != null && RBTackInfo.Count >= 5 && RBTackInfo[4].TransformStatus) { RB_CB.transform.localPosition = new Vector3(RBTackInfo[4].Ty, -RBTackInfo[4].Tx, -RBTackInfo[4].Tz); RB_CB.transform.localRotation = new Quaternion(-RBTackInfo[4].Qy, RBTackInfo[4].Qx, RBTackInfo[4].Qz, RBTackInfo[4].Q0); // qx,qy,qz,q0 //Debug.Log("RB_CB_loc" + RB_CC.transform.localPosition.ToString("f5")); if (RBTackInfo[4].markers[0].State) GameObject.Find("CB-m01").transform.localPosition = new Vector3(RBTackInfo[4].markers[0].Ty, -RBTackInfo[4].markers[0].Tx, -RBTackInfo[4].markers[0].Tz); if (RBTackInfo[4].markers[1].State) GameObject.Find("CB-m02").transform.localPosition = new Vector3(RBTackInfo[4].markers[1].Ty, -RBTackInfo[4].markers[1].Tx, -RBTackInfo[4].markers[1].Tz); if (RBTackInfo[4].markers[2].State) GameObject.Find("CB-m03").transform.localPosition = new Vector3(RBTackInfo[4].markers[2].Ty, -RBTackInfo[4].markers[2].Tx, -RBTackInfo[4].markers[2].Tz); if (RBTackInfo[4].markers[3].State) GameObject.Find("CB-m04").transform.localPosition = new Vector3(RBTackInfo[4].markers[3].Ty, -RBTackInfo[4].markers[3].Tx, -RBTackInfo[4].markers[3].Tz); if (true) { Debug.Log("CB_m01_" + GameObject.Find("CB-m01").transform.localPosition.ToString("f5")); Debug.Log("CB_m02_" + GameObject.Find("CB-m02").transform.localPosition.ToString("f5")); Debug.Log("CB_m03_" + GameObject.Find("CB-m03").transform.localPosition.ToString("f5")); Debug.Log("CB_m04_" + GameObject.Find("CB-m04").transform.localPosition.ToString("f5")); Debug.Log("CB_locPosition" + RB_CB.transform.localPosition.ToString("f5")); } }

2023-07-14 上传