当前位置: 首页 > news >正文

ERPS协议学习笔记

ERPS

学习链接,作者讲的很细
以太网多环保护技术,二层破环协议。

v1和v2两个版本,v2完全兼容v1。

作用:

有效防止广播风暴的产生,实现流量的快速迁移

收敛速度满足电信级的要求,提高网络的可靠性

名词解释:

  1. ERPS环:配置了相同的控制VLAN且互连的二层设备,是ERPS协议的基本单位。
    1. ERPS环分为主环和子环。主环封闭,子环非封闭。(v2支持子环的配置)
  2. 节点:加入ERPS环的二层设备被称为节点。每个节点不能多于两个端口加入同一个ERPS环。
  3. 端口角色:主要有RPL owner端口、RPL neighbour端口和普通端口三种类型(v2支持neighbour端口)
    1. RPL owner端口:一个ERPS环只有一个,由用户配置决定。阻塞owner来防环。
    2. RPL neighbour端口:与RPL owner端口直接相连的端口。(与owner端口一起阻塞)
    3. 普通端口:负责监测自己直连的ERPS协议的链路状态,并把链路状态的变化消息及时通知其他端口。
  4. 端口状态:Forwarding、Discarding
    1. Forwarding:端口既转发用户流量又接收/发送ERPS协议报文。
    2. Discarding:端口仅能发送和接收ERPS协议报文。
  5. 控制VLAN:每个ERPS环必须配置。端口加入已经配置控制VLAN的ERPS环后,自动加入控制VLAN。(不同的ERPS环不能使用相同ID的控制VLAN)
  6. 数据VLAN:传递用户数据报文。
  7. 定时器:Guard Timer定时器、WTR Timer定时器、Holdoff Timer定时器和WTB Timer定时器。
    1. Guard Timer定时器:链路故障或故障恢复或执行清除操作后,启动定时器,防止收到过期的NR RAPS报文。定时器超时后还能收到NR RAPS报文,端口进入Forwarding状态。默认2s。
    2. WTR Timer定时器:为了防止立即阻塞RPL owner端口而引起网络震荡,owner端口收到NR RAPS报文后,启动定时器。未超时前收到其他端口的SF RAPS报文,则关闭WTR Timer定时器。若没有收到,阻塞RPL owner端口,发送NRRB RAPS报文。其他端口收到该报文后,再将端口状态设置为Forwarding状态。
    3. Holdoff Timer定时器:服务器故障后,用户希望能有一段时间恢复服务器故障。当网络发生故障后,不会立即上报ERPS,开启Holdoff Timer,超时故障仍未恢复才会上报。
    4. WTB Timer定时器:清除端口的手工切换状态时,owner端口启用WTB Timer定时器,因为ERPS环内可能存在多个手工切换阻塞节点,只有当定时器超时后,清除操作才起作用,这样可以防止立即阻塞RPL owner端口而引起阻塞点震荡。不支持配置,默认7s。
  8. ERPS环的状态:
    1. Idle:当前阻塞点在RPL owner端口
    2. Protection:表示链路故障或设备故障
    3. Pending:表示ERPS环协商的过渡状态,例如正在将阻塞点回切到RPL owner端口
    4. ForcedSwitch:表示通过强制切换方式对加入ERPS环的端口进行阻塞
    5. ManualSwitch:表示通过人工切换方式对加入ERPS环的端口进行阻塞
  9. 默认情况下ERPS处于回切模式,v1版本只支持回切模式,v2版本两种模式都支持。
  10. 阻塞点切换方式
    1. 强制切换和手工切换 (阻塞点手工切换是v2的功能,在v1不支持。)
    2. 清除操作
  11. 子环RAPS报文传输方式:
    1. v2版本支持相交环组网,子环RAPS报文传输方式为虚通道VC和非虚通道NVC
    2. 虚通道:子环的RAPS协议报文会通过相交节点在主环内运行。
    3. 非虚通道:子环的RAPS协议报文会在相交节点上终结,子环的阻塞端口仅阻塞数据流量,不阻塞子环的RAPS协议报文。
    4. 默认情况下,传输方式为非虚通道方式
  12. ERPS协议报文只有一种,RAPS PDU报文,格式如下:
    在这里插入图片描述
    字段解释:
    在这里插入图片描述
    R-APS Specific Information各子字段含义:
    在这里插入图片描述
ERPS单环基本原理

链路正常(idle状态):
在这里插入图片描述

  1. 防止环路产生,ERPS首先阻塞RPL owner端口,配置了RPL neighbour端口的话也同样被阻塞。
  2. ERPS环上的RPL owner端口以5s为时间间隔向环中其他节点发送NRRB RAPS报文,表示环路一切正常。

链路故障(protection):
在这里插入图片描述

  1. SwitchD和SwitchE之间的链路故障,ERPS开启保护倒换机制,将故障链路的两端端口阻塞,刷新自己的FDB表项。
  2. SwitchD和SwitchE向外发送携带本地端口链路故障消息的SF RAPS报文,连续发送3个相同的RAPS报文,然后以5s的间隔持续稳定发送。
  3. 其他设备收到之后,刷新自己的FDB表项,SwitchB和SwitchC开启owner和neighbor端口,刷新自己的FDB表项。

链路恢复(pending)(回切模式才会切换,非回切模式保持不变)
在这里插入图片描述

  1. SwitchD和SwitchE之间的链路恢复后,为了防止收到过期的RAPS协议报文,启动Guard Timer定时器,启动时间内不接受其他RAPS报文,同时发送NR RAPS报文。
  2. 当owner端口所在节点收到NR RAPS报文,开启WTR Timer定时器,超时阻塞owner端口,同时发送NRRB RAPS报文。
  3. SwitchD和SwitchE收到NRRB RAPS报文,原先阻塞端口放开,停止发送NR RAPS协议报文并且完成FDB表项的刷新。其他设备收到SwitchC发送的NRRB RAPS协议报文后,也完成FDB表项的刷新。

保护倒换机制
在这里插入图片描述
强制切换:

  1. SwitchE与SwitchD相连的端口被强制阻塞后,刷新自己的FDB表项。
  2. SwitchE向外连续发送三个FS RAPS报文,然后以5s的间隔持续稳定发送FS RAPS报文。
  3. 其他设备收到SwitchE发送的FS RAPS报文,刷新自己的FDB表项,SwitchC和SwitchB收到FS RAPS报文后,放开owner和neighbor端口,刷新自己的FDB表项。

清除:当在SwitchE设备上执行清除操作后,被强制阻塞的端口会发送NR RAPS报文给环上其他端口。

  1. 回切模式下,owner端口在收到NR RAPS报文启动WTB Timer,超时后强制切换的操作就会被清除。owner被重新阻塞,强制阻塞的端口重新放开。未超时前,在owner端口所在设备上执行清除操作会立刻执行。
  2. 非回切模式下又希望owner重新被阻塞,可以在owner端口所在设备上执行清除操作。

手工切换:类似强制切换,区别在于环的状态不是Idle或者Pending时,手工切换操作将不发挥作用。

单环多实例原理

在这里插入图片描述
为了提高链路利用率,ERPS支持多实例,在一个物理环路上配置两个逻辑ERPS环路。一个物理环路上有两个阻塞端口,每个阻塞端口分别检测物理环路的完整性,相应的阻塞,彼此互不影响。属于不同VLAN的数据流量就可以通过不同的路径传输,从而实现流量的负载分担和链路备份,最大化利用了链路资源。

多环原理

链路正常:
在这里插入图片描述
ERPS环组成有主环和子环1和子环2。

  1. 为防止环路产生,ERPS环分别阻塞自己的RPL owner端口。
  2. 主环的RPL owner端口以5s为时间间隔向主环其他节点发送NRRB RAPS报文。同样,子环的RPL owner端口也以5s为时间间隔向自己环中其他节点发送NRRB RAPS报文。每个环的报文只在自己环传,不会进入主环。

链路故障:
在这里插入图片描述

  1. SwitchD和SwitchG检测到链路故障,将故障链路上的端口阻塞,并刷新本设备的FDB表项。
  2. SwitchG在子环2内部发送携带本地端口链路故障的消息SF RAPS报文。
  3. SwitchG放开owner端口,刷新自己的FDB表项。
  4. 和主环相交节点Switch C收到该RAPS报文后,刷新自己的FDB表项,SwitchC和SwitchD在感知到这个网络拓扑变化后,会在主环内发送Event报文,通告子环2的网络拓扑发生变化。
  5. 其他主环节点收到Event报文后,会刷新自己的FDB表项。

链路恢复
在这里插入图片描述

回切模式:owner端口所在设备会重新阻塞RPL链路上的流量,故障链路重新被用来完成报文的传送。

非回切模式:阻塞链路还保持在原来的故障链路上,不会重新切回到RPL上。

  1. 当SwitchD和SwitchG之间的链路恢复后,SwitchD和SwitchG为了防止收到过期的RAPS协议报文,启动Guard Timer,在该定时器超时前不接收其他RAPS协议报文。同时SwitchD和SwitchG会在子环2内部发送NR RAPS报文。
  2. RPL owner端口所在设备启动WTR Timer。WTR Timer超时后,SwitchG会阻塞RPL owner端口,放开故障恢复链路的端口,同时向外发送NRRB RAPS报文。
  3. SwitchD收到SwitchG发送的NRRB协议报文后,将自己设备上原来阻塞的端口放开,停止发送NR RAPS报文并且完成FDB表项的刷新。
  4. 相交节点SwitchC和SwitchD完成自身的FDB表项刷新以后,会在主环内发送Event报文,通告子环2的拓扑变化情况。
  5. 其他主环节点收到Event报文后,会刷新自己的FDB表项。

相关文章:

  • node.js基于微信小程序的校园失物招领系统毕业设计源码072343
  • 1.4 Elasticsearch索引的mappings映射
  • ams启动过程以及App的启动过程
  • Java毕业设计-新闻段子发布管理系统
  • maven依赖冲突导致tomcat启动失败
  • Mysql基础(四)——约束与表关系
  • 聚苯乙烯微球表面原位接枝含糖聚合物/pH响应性磁性聚苯乙烯基多孔微球制备方法
  • Curator使用手册
  • x86汇编_MUL/IMUL乘法指令_笔记52
  • CSP-J1 CSP-S1第1轮 初赛 如何拿到好成绩(60分及以上)
  • Package | 解决Could NOT find GLEW (missing: GLEW_INCLUDE_DIRS GLEW_LIBRARIES)
  • Maven的配置与安装
  • 阿里云 OSS
  • MacOS 12 Monterey根目录无法创建目录
  • 【牛客网-公司真题-前端入门篇】——百度2021校招Web前端研发工程师笔试卷(第一批)
  • Android优雅地处理按钮重复点击
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  • iOS小技巧之UIImagePickerController实现头像选择
  • Java IO学习笔记一
  • js写一个简单的选项卡
  • linux安装openssl、swoole等扩展的具体步骤
  • MYSQL 的 IF 函数
  • nfs客户端进程变D,延伸linux的lock
  • Spark in action on Kubernetes - Playground搭建与架构浅析
  • Vim Clutch | 面向脚踏板编程……
  • Vue 重置组件到初始状态
  • 发布国内首个无服务器容器服务,运维效率从未如此高效
  • 回顾 Swift 多平台移植进度 #2
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 让你的分享飞起来——极光推出社会化分享组件
  • 融云开发漫谈:你是否了解Go语言并发编程的第一要义?
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 微服务框架lagom
  • 限制Java线程池运行线程以及等待线程数量的策略
  • 用jquery写贪吃蛇
  • 自制字幕遮挡器
  • FaaS 的简单实践
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • ​虚拟化系列介绍(十)
  • (4)事件处理——(7)简单事件(Simple events)
  • (安卓)跳转应用市场APP详情页的方式
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (二)pulsar安装在独立的docker中,python测试
  • (附源码)springboot课程在线考试系统 毕业设计 655127
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • .Family_物联网
  • .NET Core 中的路径问题
  • .Net 访问电子邮箱-LumiSoft.Net,好用
  • .NET框架设计—常被忽视的C#设计技巧
  • .Net中的设计模式——Factory Method模式
  • 。Net下Windows服务程序开发疑惑