1、GARP一般属性注册协议

GARP作为一个属性注册协议的载体,可以用来传播属性。将GARP协议报文的内容映射成不同的属性即可支持不同上层协议应用。例如GMRP和GVRP:

GMRP是GARP的一种应用,用于注册和注销组播属性;

GVRP是GARP的一种应用,用于注册和注销VLAN属性。

GARP协议通过目的MAC地址区分不同的应用:

在IEEE Std 802.1D中将 01-80-C2-00-00-20 分配给 组播 应用,即GMRP。

在IEEE Std 802.1Q中将 01-80-C2-00-00-21 分配给VLAN应用,即GVRP。

2、GMRP功能

GMRP(GARP Multicast Registration Protocol)是基于GARP的一个组播注册协议,用于动态维护二层交换机、端点设备中的组播注册信息。

GMRP在802.1D中定义,用于交换机(Bridge)和端点设备(end station)自动加入(注册)或离开(注销)某个组播组,使LAN知道网络中哪些地方有组播的接收者,这样组播树是spanning tree的一个子集,因为没有加入组播组的交换机和端点设备的路径被剪枝(prune)掉了。GMRP协议是LAN设备的一个可选特性,支持扩展过滤服务(Extended Filtering Servic)的条件下才支持GMRP。

端点设备通过注册、注销命令加入或退出组播组(命令格式见下文),同一个组播组的设备,有一个设备发出报文,交换机实现组内其他设备都可以接收到该报文,不在组内的设备无法接收到。

端点设备加入组播组的过程:通过向交换机发送加入命令,交换机收到命令后在交换机中注册该设备端口,并把注册申请转发到组播组内其他所有设备,其他设备都更新自己的组播端口列表。

路由器与二层交换机:

路由器把组播报文转发下来,在接入层边缘的二层交换机把组播报文转发给组播用户;传统二层交换机将组播报文 广播,浪费网络带宽,引起广播风暴;组播组动态变化,需要实时维护更新;组播用户数量增长,骨干网络带宽无需增加。

3、GMRP在自动化变电站的应用

目前变电站常用的多播报文技术有虚拟局域网(VLAN )、GMRP (GARP 多播注册协议)、静态多播地址表。

IEC 61850 标准是变电站自动化领域最为完善的通信标准,该标准将变电站自动化系统 分为三个层次,即站控层、间隔层、过程层。

站控层包括监控主机、操作员工作站、远动工作 站、工程师工作站、GPS对时装置等,形成全站监控管理中心;

间隔层包括继电保护装置、测 控装置等二次设备;

过程层包括变压器、断路器、隔离开关、互感器等一次设备及其所属的智能组件。

过程层网络上传输的大部分数据都是组播,GOOSE报文SV报文不属于IP组播,只是二层的MAC组播。

4、帧格式

4.1 GMRP帧格式

1)目的MAC地址:组播地址固定0x01-80-C2-00-00-20;

2)源MAC地址:产生GMRP报文的设备MAC地址;

3)长度:整个GMRP的数据帧长度;

4)LLC逻辑数据链路:DSAP目的地址,SSAP源地址都使用地址为0x42的LLC服务接入点。Ctl控制字段取值0x03,表明无连接服务。

5)协议ID:所有GARP都使用0x0001的协议ID,便于与其他LLC服务相区别。

6)信息字段可以包含多个信息

 a 、属性类型。0x01组成员属性,声明接收组播数据;0x02服务属性成员,兼容不支持GARP的设备。

   b、 属性长度。

c、 属性事件

0x00 Leave all 定时器超时后,注销所有属性;  (此处的属性即为 是否在组播组)

0x01 Join Empty  声明一个本身没有注册的属性

0x02 Join In         声明一个本身已经注册的属性;

0x03 Leave Empty  注销一个本身没有注册的属性;

0x04 Leave In         注册一个本身已经注册的属性;

0x05 Empty  不声明也未注册,单希望收到该属性 声明。通常用于监测报文的设备。

d、属性值 属性类型为组成员时,属性值为48位组播地址,010CCD010000~010CCD01FFFF间任意地址,通过此处地址区分不同的分组;

为服务属性时,属性值为0x00转发组播帧 、0x01转发所有未注册组播帧。

e、属性结束标志 0x00;

7)  报文结束标志 0x00。

4.2  定时器

GARP协议中用到了四个定时器,下面分别介绍一下它们的作用。

1. Join定时器

Join定时器是用来控制Join消息(包括JoinIn和JoinEmpty)的发送的。

为了保证Join消息能够可靠的传输到其它应用实体,发送第一个Join消息后将等待一个Join定时器的时间间隔,如果在一个Join定时器时间内收到JoinIn消息,则不发送第二个Join消息;如果没收到,则再发送一个Join消息。

每个端口维护独立的Join定时器。

2. Hold定时器

Hold定时器是用来控制Join消息(包括JoinIn和JoinEmpty)和Leave消息(包括LeaveIn和LeaveEmpty)的发送的。

当在应用实体上配置属性或应用实体接收到消息时不会立刻将该消息传播到其它设备,而是在等待一个Hold定时器后再发送消息,设备将此Hold定时器时间段内接收到的消息尽可能封装成最少数量的报文,这样可以减少报文的发送量。如果没有Hold定时器的话,每来一个消息就发送一个,造成网络上报文量太大,既不利于网络的稳定,也不利于充分利用每个报文的数据容量。

每个端口维护独立的Hold定时器。Hold定时器的值要小于等于Join定时器值的一半。

3. Leave定时器

Leave定时器是用来控制属性注销的。

每个应用实体接收到Leave或LeaveAll消息后会启动Leave定时器,如果在Leave定时器超时之前没有接收到该属性的Join消息,属性才会被注销。这是因为网络中如果有一个实体因为不存在某个属性而发送了Leave消息,并不代表所有的实体都不存在该属性了,因此不能立刻注销属性,而是要等待其他实体的消息。例如,某个属性在网络中有两个源,分别在应用实体A和B上,其他应用实体通过协议注册了该属性。当把此属性从应用实体A上删除的时候,实体A发送Leave消息,由于实体B上还存在该属性源,在接收到Leave消息之后,会发送Join消息,以表示它还有该属性。其他应用实体如果收到了应用实体B发送的Join消息,则该属性仍然被保留,不会被注销。只有当其它应用实体等待两个Join定时器以上仍没有收到该属性的Join消息时,才能认为网络中确实没有该属性了,所以这就要求Leave定时器的值大于2倍Join定时器的值。

每个端口维护独立的Leave定时器。

4. LeaveAll定时器

每个GARP应用实体启动后,将同时启动LeaveAll定时器,当该定时器超时后GARP应用实体将对外发送LeaveAll消息,随后再启动LeaveAll定时器,开始新的一轮循环。

接收到LeaveAll消息的实体将重新启动所有的定时器,包括LeaveAll定时器。在自己的LeaveAll定时器重新超时之后才会再次发送LeaveAll消息,这样就避免了短时间内发送多个LeaveAll消息。

如果不同设备的LeaveAll定时器同时超时,就会同时发送多个LeaveAll消息,增加不必要的报文数量,为了避免不同设备同时发生LeaveAll定时器超时,实际定时器运行的值是大于LeaveAll定时器的值,小于1.5倍LeaveAll定时器值的一个随机值。

一次LeaveAll事件相当于全网所有属性的一次Leave。由于LeaveAll影响范围很广,所以建议LeaveAll定时器的值不能太小,至少应该大于Leave定时器的值。

每个设备只在全局维护一个LeaveAll定时器。

4.3 GOOSE帧格式

1)目的MAC:010CCD010000~010CCD01FFFF间任意地址,此地址为组播地址,对应GMRP报文中的组成员属性的属性值;

2)源MAC。

3)TPID:0x8100;

4)TCI :0x4000;

5)以太网报文类型:0x88B8;

6)APPID:0x0000~0x3FFFF;

7)长度:8+M;

8)保留4字节:0x00000000;

9)ASDU:长度M。

4.4 SV帧格式

5 FPGA处理

     FPGA可只完成MAC层数据封包、CRC校验发送,由CPU处理具体协议数据。

6 参考文献

《GMRP组播功能测试-万方数据知识服务平台》,有详细测试方法介绍。

《浅谈GMRP在变电站中的应用 - 智能电网 - 电子发烧友网》

《GVRP技术_printf_mylife的专栏-CSDN博客_gvrp》csdn博文,详述了加入、退出的详细过程,GMRP可参考GVRP的过程。

二层交换机GMRP组播(SV,GOOSE帧格式)相关推荐

  1. 【记录】IPTV 组播常见的三种实现技术

    三. IPTV 组播解决方案: 在技术上, IPTV 对承载网组播.带宽. QoS .网络安全等方面有很强的要求.一般来说, IPTV 业务建议用户 带 宽 不 低 于 2M . 为 节 省 接 入 ...

  2. TCP/IP-浅谈单播、广播、组播、IP地址、MAC地址、交换机

    TCP首先必须明白两点: 网络的MAC层提供单播,广播,组播服务,网络是否具备单播,广播,组播能力,由MAC层是否提供单播,广播,组播服务决定 网络的IP层设置单播,广播,组播方式,根据IP地址,包括 ...

  3. 交换机组播协议-二层组播/三层组播总结

    一.组播介绍: 组播技术解决的是以最小的网络开销实现单点发送,多点接收的问题.就实现点对多点数据传输问题,比广播/单播传输更高效,更能节省网络带宽,降低网络负载. 当ip网络中某Rx主机需要接收信息时 ...

  4. 广播泛洪_一分钟了解交换机四种报文中的三种:广播、组播、未知单播

    随着互联网的发展,各种应用层出不穷,日新月异,对网络设备的要求也越来越高,对广大设备厂商也提出更多的要求.不过这些事情都与二层交换机没有关系:) ,因为各种应用的数据到达二层交换机时,都只会变成一个一 ...

  5. 技术方案——可控组播

    --IPTV业务的承载风帆 一. 前言 进几年来,随着网络带宽和接入用户的迅猛增加,宽带业务运营商已经将关注的焦点逐渐由提高宽带用户数向提高户均营收(ARPU)值的目标转移.IPTV业务作为消除宽带用 ...

  6. 组播 收发_[HCIARoutingamp;Switching]网络篇单播广播和组播

    组播是什么 传统的IP通信有两种方式:一种是在源主机与目的主机之间点对点的通信,即单播:另一种是在源主机与同一网段中所有其它主机之间点对多点的通信,即广播. 如果要将信息发送给多个主机而非所有主机,若 ...

  7. 虚拟ip是什么意思_轻松了解基于Ip,Mac,组播的Valn是什么意思,通信基础第17篇...

    通信知识第17篇:在上一篇中介绍了一文轻松了解Mac引入Valn,老化机制,转发流程通信基础概念16 本节内容主要深入理解valn相关概念,接下来的章节会对二层通信知识点进行系统讲解. VLAN相关基 ...

  8. 网工笔记(三):IP Multicast组播技术

    IP多路组播技术,英文为IP Multicast,  就是英文文档里经常说到的BUM报文里的大M.这是一门特别的技术,它从2层到3层协议mac地址到IP地址都自成一体.很多网工同行只在IE考试里学习了 ...

  9. 组播——IGMP Snooping

    目录 二层中组播数据转发存在的问题 IGMP Snooping 基本概念 二层组播转发表 动态端口老化时间 工作过程 二层中组播数据转发存在的问题 IGMP Snooping 基本概念 IGMP Sn ...

最新文章

  1. 为什么您不需要精通数学就可以学习编程
  2. mysql5.7.23权限问题_部署MySQL5.7时的权限问题
  3. 阿里P9架构师讲解从单机至亿级流量大型网站系统架构的演进过程
  4. Java事件处理机制和适配器
  5. 进击的 Kubernetes 调度系统(二):支持批任务的 Coscheduling/Gang scheduling
  6. 重建控制文件的案例(RESETLOGS模式和NORESETLOGS模式)
  7. Mysql 主从复制+MHA搭建
  8. (转)在ios android设备上使用 Protobuf (使用dll方式)
  9. 大学计算机需要论文吗,关于大学计算机论文范文.docx
  10. eclipse 中提示tomcat 的端口被占用了 后的最快捷解决方法
  11. 利用Jenkins+Phantomas进行前端性能自动化测试
  12. ubuntu20安装teamview15
  13. OpenWRT路由器-中继模式下无线接入
  14. 计算机主机时间不保存,电脑主板系统时间不能保存
  15. Windows自带的【远程桌面连接】操作方法及常见问题
  16. adb基础命令学习随笔
  17. 爆笑!让你捧腹大笑的标语
  18. mac制作icns图标
  19. Halcon入门(3)——回形针目标提取
  20. 做人十条原则 做到了就离成功不远了

热门文章

  1. 明渠流量计用于农田灌溉水计量
  2. linux安全杀死命令,Linux操作系统下杀死进程命令的方法
  3. 西部材料(002149)
  4. Python-字典练习(随机生成银行卡卡号)
  5. storm100有害吗 vapor_风暴电子烟的怎么样?风暴电子烟有哪些产品?
  6. SOCKET函数详解
  7. 莫奈克系统服务器,默纳克主机自学习(简版)
  8. webstorm 激活破解
  9. java中数学归纳法_递归设计与数学归纳法
  10. 小程序----页面导航