HSR/PRP协议分别提供独特的冗余机制进行网络链路的冗余备份,简要的机制介绍如下:

名词概念:
SAN: Singly Attached Node,单端口节点,不实现PRP功能
DANP: Doubly Attached Node implementing PRP,PRP的双端口节点,可直接发送PRP流量
RedBox: Redundancy Box,冗余盒,将SAN传入的流量转换成PRP流量发送出去
C Frame: 原始信息帧,指代用户想要冗余备份的信息
A Frame、B Frame: 附带特定字段的PRP信息帧,由原始信息帧扩展而来

PRP冗余机制的实现,主要依托于两个逻辑或物理分隔的子网(LAN A,LAN B,即所谓的A网、B网),以上图中的信息传输为例:PRP发送方(Source DANP)将原始信息帧(C Frame)复制一份,并在两份帧中添加一特定字段(RCT,下面会提到这个),形成PRP信息帧(A Frame、B Frame),分别从自身的两个端口发送出去(分别对应A网、B网),分别途径两个独立的子网到达同一个PRP接收方(Destination DANP);PRP接收方从两个端口分别接收到这两份PRP信息帧后,会经过一系列的帧处理算法进行处理,简而言之,就是依据“先来后到”的原则,将后到达的PRP信息帧消除,仅保留一份先到达的PRP信息帧,将特定字段消除后,还原成原来的原始信息,传递给上层。

那么问题来了,“A帧”和“B帧”是如何产生和消除的?具体的帧组成又是怎样的呢?请看下图:


这是DANP节点的简要示意图,主要分为上层(链路层以上)、LRE(Link Redundancy Entity,链路层冗余实体)子层、下层(链路层及物理层)。可以看到PRP设备的内部实现只是在标准以太网设备的MAC层中增添了一个LRE子层,这个子层内部实现了PRP信息帧的产生和消除算法。具体而言,就是在原始信息帧的基础上,增加了一个RCT(Redundancy Control Trailer,冗余控制体)字段,并针对这个字段进行一系列的处理,基于802.3标准以太网的PRP帧格式如下图所示:

RCT字段由6个字节组成,内部又会细分为不同的位域,指代不同的含义,简要介绍如下:

Sequence Number:16位帧序列号,LRE对同一原始信息帧复制而来的PRP帧赋予相同的序列号,并会随PRP帧的发送而递增序列号的值
LSDU size:12位载荷大小,标识Payload字段+RCT字段的总字节大小
Lan id:4位子网ID,仅有两个值可选,0xa、0xb,代表A、B两个子网
PRP Suffix:16位PRP信息帧后缀,固定为0x88fb

LRE所实现的总体功能,就如先前所提到的:发送方向,将原始帧复制一份,打上A、B两个子网的RCT字段,向两个端口分别发送;接收方向,则是根据源MAC、RCT中的帧序列号识别某一PRP帧,后依据“先来后到”的原则,仅保留一份PRP信息帧,褪去RCT字段后传输给上层应用程序。而LRE子层内部的具体实现,有兴趣的读者可以自行移步IEC官网了解。

下面是笔者测试SoC-e MEZU开发板(已搭载SoC-e PRP IP核,用作Redbox)时的一些抓包情况,详细测试环境此处省略,仅供各位读者参考PRP抓包的一些信息:

可以在A网SAN节点中wireshark的抓包情况中看到,MEZU开发板转发ping帧的末尾中已经附带了6字节的RCT字段,也对应了RCT中的各个位域:

00 04: 帧序列号
a: LAN ID,指示这是A网
0 5a: 即十进制的90,即RCT+Payload段的长度,104减去以太网帧的14个字节的源MAC、目的MAC、帧类型(不包含前导码和FCS)
88 fb: PRP帧后缀

另一边B网中的SAN节点的抓包情况也大同小异,只是LAN ID字段有所不同:
00 04: 帧序列号
b: LAN ID,指示这是B网
0 5a: 即十进制的90,即RCT+Payload段的长度,104减去以太网帧的14个字节的源MAC、目的MAC、帧类型(不包含前导码和FCS)
88 fb: PRP帧后缀

最后对PRP做一个简要的特点总结:
1、数据热交换,某个子网出现故障时,零恢复延时,不丢数据
2、纯二层的实现,可用于现有的任何工业以太网中,对应用层的程序透明
3、在任何网络拓扑结构中均可使用
4、支持实时应用场景的数据传输
5、需要搭建两个物理或逻辑独立的子网

转载:https://blog.csdn.net/weixin_47677928/article/details/119677481

网络冗余——PRP协议相关推荐

  1. STP:生成树协议解决网络冗余问题

    STP:生成树协议解决网络冗余问题 参考文章: (1)STP:生成树协议解决网络冗余问题 (2)https://www.cnblogs.com/yanlzy/p/11830650.html 备忘一下.

  2. 网络编程——常用协议解析

    ** 1.网络基础知识 ** 1.1> 什么是OSI模型 OSI 模型(Open System Interconnection model)是一个由国际标准化组织?提出的概念模型,试图?供一个使 ...

  3. 网管型工业交换机如何创建网络冗余

    与非网管型工业交换机相比,使用杭州飞畅网管型工业交换机的其中一个好处是其冗余功能.这允许您使用带有额外连接的以太网,因此如果网络上两点之间的一条路径出现故障,则可以使用另一条路径来传递消息.如果一个链 ...

  4. Linux网络-UDP/TCP协议详解

    Linux网络-UDP/TCP协议详解 零.前言 一.UDP协议 二.TCP协议 1.应答机制 2.序号机制 3.超时重传机制 4.连接管理机制 三次握手 四次挥手 5.理解CLOSE_WAIT状态 ...

  5. 网络冗余链路管理的实现

    由于以太网网桥采用了基于 MAC 地址实现在不同端口之间的数据转发机制,每一个端口对应的是一个以太网的网段,通过学习每个端口的 MAC 地址表的方式,网桥只转发不同端口间的通信.但由于网桥依赖运行网络 ...

  6. 搬砖:新一代基于UDP的低延时网络传输层协议——QUIC详解

    技术扫盲:新一代基于UDP的低延时网络传输层协议--QUIC详解 本文来自腾讯资深研发工程师罗成的技术分享,主要介绍 QUIC 协议产生的背景和核心特性等. 1.写在前面 如果你的 App,在不需要任 ...

  7. 网管型全国产加固交换机如何创建网络冗余

    与非网管型全国产加固交换机相比,使用武汉海翎光电网管型全国产加固交换机的其中一个好处是其冗余功能.这允许您使用带有额外连接的以太网,因此如果网络上两点之间的一条路径出现故障,则可以使用另一条路径来传递 ...

  8. DDos攻击的一些领域知识——(流量模型针对稳定业务比较有效)不稳定业务采用流量成本的检测算法,攻击发生的时候网络中各个协议的占比发生了明显的变化...

    在过去,很多防火墙对于DDoS攻击的检测一般是基于一个预先设定的流量阈值,超过一定的阈值,则会产生告警事件,做的细一些的可能会针对不同的流量特征设置不同的告警曲线,这样当某种攻击突然出现的时候,比如S ...

  9. 02.iOS开发网络篇—HTTP协议

    iOS开发网络篇-HTTP协议 说明:apache tomcat服务器必须占用8080端口 一.URL 1.基本介绍 URL的全称是Uniform Resource Locator(统一资源定位符) ...

  10. 计算机网络的体系结构与协议基本概念,计算机网络技术基础-第3章网络体系结构与协议.ppt...

    <计算机网络技术基础-第3章网络体系结构与协议.ppt>由会员分享,可在线阅读,更多相关<计算机网络技术基础-第3章网络体系结构与协议.ppt(19页珍藏版)>请在装配图网上搜 ...

最新文章

  1. HAProxy+Keepalived高可用负载均衡配置
  2. 【给自己的小练习2-线段树】
  3. Mono源码学习笔记:Console类(四)
  4. Akka Notes –演员记录和测试
  5. Intent 简单用法
  6. Qt学习笔记-简单的UDP广播包聊天室
  7. Android之使用HttpURLConnection类查看网络图片以及网络源码
  8. 大咖专栏 | DevOps组织如何有效地实施MSA
  9. 【数据库系统设计】关系数据理论(函数依赖、码、范式、模式分解)
  10. 谁说程序员不懂浪漫?
  11. Java Web J2EE下的两大框架SSH和SSM对比
  12. 安装debian文件管理器
  13. 病毒分析工具和使用方法(一)
  14. html怎样导入ps,【Photoshop软件新手向】如何导入/自制笔刷?
  15. 熬之滴水穿石:Servlet--Web万物之源(1)
  16. python怎么消除警告_Python-警告处理
  17. ActiViz学习点滴(五)——坐标变换
  18. 联想卡在logo界面_联想电脑卡在logo界面 联想电脑卡在载入界面怎么办
  19. 欢迎报名广东省教育厅2022年科技劳动教育实践活动
  20. UnityVR--小程序3--金色的子弹1

热门文章

  1. JVM致命错误日志详解
  2. USB对拷线Linux,USB对拷线设置教程
  3. 【目标跟踪论文阅读】Cooling-Shrinking Attack: Blinding the Tracker with Imperceptible Noises
  4. python自动轨迹绘制七边形_斜抛运动的数学模型
  5. Java管理员登录界面视图_JAVA实现普通用户和管理员用户同页面登录
  6. lumion自动保存_lumion 保存在哪里? 我想在家里做 白天带到公司做 怎么操作 保存文件可以带走的吗?...
  7. Android 仿微信/支付宝 字体大小 调整控件
  8. Pr cc 2019 v13.0 添加字幕文本不显示,输入字符后无选中框解决方案
  9. 微信朋友圈会在服务器上保留多久,微信朋友圈有没有草稿?可以存多久?
  10. nRF51822 官方 Blinky 工程(多彩 LED)