GMRP
GMRP(GARP Multicast Registration Protocol)是GARP协议的一个具体应用,在802.1D中定义,用于交换机(Bridge)和端点设备(end station)自动加入(注册)或离开(注销)某个组播组,使LAN知道网络中哪些地方有组播的接收者,这样组播树是spanning tree的一个子集,因为到没有加入组播组的交换机和端点设备的路径被剪枝(prune)掉了。GMRP就是组播组注册和注销消息声明和在LAN中扩散到所有交换机和端点设备的协议。GMRP协议是LAN设备的一个可选特性,支持扩展过滤服务(Extended Filtering Servic)的条件下才支持GMRP
GMRP定义了两种属性类型:
1)组播成员信息(Group Membership Information)
交换机和端点设备通过组播成员信息申明加入到某个组播组中,属性值为声明的组播地址,接收到组播成员信息注册 GMRP PDU的端口将组播地址和接收的端口号写到过滤数据库(Filtering Database,就是我们通常说的mac表)组播注册表项(Group Registration Entry),也就是建立了一条组播转发表项。与交换机不同的是,端点设备只有在需要进行源剪枝(source pruning)的情况下才需要注册组播注册表项,这时端点设备接口需要支持注册和应用功能,而不仅是支持application-only或simple application功能。源剪枝功能在后面在介绍。
2)组播服务需求信息(Group Service Requirement Information)
方法和过程跟注册和注销组播成员信息一样,只有两个属性值:Forward All Groups和Forward Unregistered Groups。也就是交换机或端点设备申明自己接收所有组播组数据或接收未注册的组播组数据。这样做的话可以跟不支持GMRP协议的交换机(只支持basic Filtering Service的交换机)兼容,所有的组播数据或未注册的组播数据都要发生给他。一些端点设备(如路由器或网络监视器)可以利用这个特性实现一些特殊的功能。
GMRP Group Membership和Group Service Requirement的注册和注销以及在LAN中的传播,就是GARP定义的方式,只是属性值具体化了。
源剪枝
端点设备通过接收GMRP协议信息,知道哪些组播组在LAN中有组播成员存在,如果某个组播组在LAN中没有组播成员,端点设备就不向这个组播组发送数据了,这就是源剪枝。支持源剪枝的设备需要支持注册和应用功能,否则支持application-only或simple application功能就可以了。(路由器接口,尤其是接收端DR,比较适合支持这个功能)
GMRP 报文封装
格式请参考GARP报文格式,特殊参数取值如下:
GIP context
GIP context =0,表示GIP context是base spanning tree(由stp/rstp建立);GIP context=VID,表示GIP context是vlan context
报文目的MAC地址:0x0180c2000020
属性类型:attr type=1:Group Membership;attr type=2:Group Service Requirement
属性值:Group Membership的属性值为48bit的组播mac地址;Group Service Requirement的属性值为一个字节,0表示Forward All Groups,1表示Forward Unregistered Groups,2~255目前保留
组播注册
注册过程和状态机跟GARP定义的一样,不过还有一些控制
接口收到某个组播组的注册声明后,如果组播转发表中没有这个组播组和输入端口的相应表项。则可能创建一个新的表项,不过还要受以下条件的限制:如果Restricted_Group_Registration控制位为true,那么静态过滤表项(static Filtering Entry)中这个组播组的Registrar Administrative Control值必须为Normal Registration
才能添加
接收到一个注销的声明后,如果没有相应的group Filtering entry,则忽视这个声明。如果存在,则删除相应的表项。如果这个组播组除了接收声明的端口,没有其他的端口成员,则注销该组播组,并向LAN中扩散。
VLAN环境下的GMRP
在vlan-aware LAN中,组播数据流限制在vlan的spanning tree中。GMRP的接收和传播都限制在vlan的spanning tree和vlan的成员端口范围内。
1、如果输入的GMRP报文为un-tagged或priority-tagged,那么如果端口的接受帧类型(Acceptable Frame Type)为Admit Only VLAN tagged
frames,则报文被丢弃;否则为GMRP报文分配PVID
2、如果输入的GMRP报文为tagged,则GIP context为报文中的VID
3、如果输入或输出端口不是vlan的成员端口,GMRP报文被丢弃
4、输出端口是un-tagged,则GMRP不带tag;否则带tag
GMRP(GARP Multicast Registration Protocol)是802.1D标准中的一个协议,用于交换机和端点设备自动加入或离开组播组。它通过组播成员信息和组播服务需求信息来管理组播注册,实现组播树的剪枝。GMRP支持源剪枝功能,允许设备仅向有组播成员的区域发送数据,增强了网络效率。此外,GMRP在VLAN环境下的运作也进行了详细规定,确保报文在正确范围内传播。
5万+

被折叠的 条评论
为什么被折叠?



