1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
|
Network Working Group I. Wu
Request for Comments: 3488 T. Eckert
Category: Informational Cisco Systems
February 2003
Cisco Systems
Router-port Group Management Protocol (RGMP)
Status of this Memo
This memo provides information for the Internet community. It does
not specify an Internet standard of any kind. Distribution of this
memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (2003). All Rights Reserved.
Abstract
This document describes the Router-port Group Management Protocol
(RGMP). This protocol was developed by Cisco Systems and is used
between multicast routers and switches to restrict multicast packet
forwarding in switches to those routers where the packets may be
needed.
RGMP is designed for backbone switched networks where multiple, high
speed routers are interconnected.
1. Conventions used in this document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in BCP 14, RFC 2119 [2].
2. Introduction
IGMP Snooping is a popular, but not well documented mechanism to
restrict multicast traffic, in switched networks, to those ports that
want to receive the multicast traffic. It dynamically establishes
and terminates multicast group specific forwarding in switches that
support this feature.
Wu & Eckert Informational [Page 1]
^L
RFC 3488 Cisco Systems RGMP February 2003
The main limitation of IGMP Snooping is that it can only restrict
multicast traffic onto switch ports where receiving hosts are
connected directly or indirectly via other switches. IGMP Snooping
can not restrict multicast traffic to ports where at least one
multicast router is connected. It must instead flood multicast
traffic to these ports. Snooping on IGMP messages alone is an
intrinsic limitation. Through it, a switch can only learn which
multicast flows are being requested by hosts. A switch can not learn
through IGMP which traffic flows need to be received by router ports
to be routed because routers do not report these flows via IGMP.
In situations where multiple multicast routers are connected to a
switched backbone, IGMP Snooping will not reduce multicast traffic
load. Nor will it assist in increasing internal bandwidth through
the use of switches in the network.
In switched backbone networks or exchange points, where predominantly
routers are connected with each other, a large amount of multicast
traffic may lead to unexpected congestion. It also leads to more
resource consumption in the routers because they must discard the
unwanted multicast traffic.
The RGMP protocol described in this document restricts multicast
traffic to router ports. To effectively restrict traffic, it must be
supported by both the switches and the routers in the network.
The RGMP message format resembles the IGMPv2 message format so that
existing switches, capable of IGMP Snooping, can easily be enhanced
with this feature. Its messages are encapsulated in IPv4 datagrams,
with a protocol number of 2, the same as that of IGMP. All RGMP
messages are sent with TTL 1, to destination address 224.0.0.25. This
address has been assigned by IANA to carry messages from routers to
switches [3].
RGMP is designed to work in conjunction with multicast routing
protocols where explicit join/prune to the distribution tree is
performed. PIM-SM [4] is an example of such a protocol.
The RGMP protocol specifies operations only for IP version 4
multicast routing. IP version 6 is not considered.
To keep RGMP simple, efficient and easy to implement, it is designed
for switches to expect RGMP messages from only one source per port.
For this reason, RGMP only supports a single RGMP enabled router to
be connected directly to a port of an RGMP enabled switch. Such a
topology should be customary when connecting routers to backbone
switches and thus not pose a limitation on the deployment of RGMP.
Wu & Eckert Informational [Page 2]
^L
RFC 3488 Cisco Systems RGMP February 2003
All RGMP messages have the following format:
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Reserved | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Group Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The reserved field in the message MUST be transmitted as zeros and
ignored on receipt.
2.1 Type
There are four types of RGMP messages of concern to the
router-switch interaction. The type codes are defined to be the
highest values in an octet to avoid the re-use of already assigned
IGMP type codes.
0xFF = Hello
0xFE = Bye
0xFD = Join a group
0xFC = Leave a group
Unrecognized message types should be silently ignored.
Note:
RGMP and the IANA assignment of address 224.0.0.25 for it predates
RFC 3228 [9]. RGMP defines Type values which in RFC 3228 are
assigned to protocol testing and experimentation. This is not an
operational issue for RGMP itself because only RGMP packets use the
IPv4 destination address 224.0.0.25. The Type values defined above
are thus ONLY valid in conjunction with the RGMP destination address.
2.2. Checksum
Checksum covers the RGMP message (the entire IPv4 payload). The
algorithm and handling of checksum are the same as those for IGMP
messages as described in RFC 3376 [5].
Wu & Eckert Informational [Page 3]
^L
RFC 3488 Cisco Systems RGMP February 2003
2.3. Group Address
In an RGMP Hello or Bye message, the group address field is set to
zero.
In an RGMP Join or Leave message, the group address field holds the
IPv4 multicast group address of the group being joined or left.
2.4 IPv4 header
RGMP messages are sent by routers to switches. The source IPv4
address of an RGMP packet is the sending interface IPv4 address of
the originating router. The destination IPv4 address of an RGMP
packet is 224.0.0.25. Switches supporting RGMP need to listen to
packets to this group.
3. RGMP Protocol Description
3.1 RGMP Router side Protocol Description
Backbone switches use RGMP to learn which groups are desired at each
of their ports. Multicast routers use RGMP to pass such information
to the switches. Only routers send RGMP messages. They ignore
received RGMP messages.
A Router enabled for RGMP on an interface periodically [Hello
Interval] sends an RGMP Hello message to the attached network to
indicate that it is RGMP enabled. When RGMP is disabled on a routers
interface, it will send out an RGMP Bye message on that interface,
indicating that it again wishes to receive IPv4 multicast traffic
promiscuously from that interface.
When an interface is RGMP enabled, a router sends an RGMP Join
message out through this interface to each group that it wants to
receive traffic for from the interface. The router needs to
periodically [Join Interval] re-send an RGMP Join for a group to
indicate its continued desire to receive multicast traffic.
Routers supporting RGMP MUST NOT send RGMP Join or Leave messages for
groups 224.0.0.x (x=0...255), 224.0.1.39 and 224.0.1.40. The latter
two are known as cisco-rp-announce and cisco-rp-discovery [3].
When a router no longer needs to receive traffic for a particular
group, it sends an RGMP Leave message for the group. For robustness,
the router MAY send more than one such message.
Wu & Eckert Informational [Page 4]
^L
RFC 3488 Cisco Systems RGMP February 2003
If IPv4 multicast packets for an undesired group are received at a
router from a switch, the router MAY send a RGMP Leave message for
that group to the switch. These messages are called data-triggered
RGMP Leave messages and the router SHOULD rate-limit them. The
router MAY suppress sending a data triggered RGMP Leave message if it
has a desired group that has the same MAC destination address as the
undesired group. (See RFC 1112 [6] for MAC ambiguity.) Such
suppression of data triggered RGMP Leave messages SHOULD be
configurable if supported.
3.2 RGMP Switch side Protocol Description
A switch enabled for RGMP on a network consumes RGMP messages
received from ports of the network and processes them as described
below. If enabled for RGMP, the switch must NOT forward/flood
received RGMP messages out to other ports of the network.
RGMP on a switch operates on a per port basis, establishing per-group
forwarding state on RGMP enabled ports. A port reverts into an RGMP
enabled port upon receipt of an RGMP Hello message on the port, and a
timer [5 * Hello Interval] is started. This timer is restarted by
each RGMP Hello message arriving on the port. If this timer expires
or if it is removed by the arrival of an RGMP Bye message, then the
port reverts to its prior state of multicast traffic forwarding.
Correct deployment of RGMP is one RGMP enabled router directly
connected to a port on a switch that supports RGMP. The port on the
switch MAY want to keep track of the IPv4 originator address of the
RGMP Hello and Bye messages it receives on that port. In the event
it receives multiple IPv4 originating addresses in RGMP messages on
one port, the switch MAY generate an alert to notify the
administrator. The switch MAY also have a configuration option that
will allow for the operator to disable RGMP and have the switch fall
back to flooding IPv4 multicast on that port, although this is a
potentially dangerous option.
By default, connecting two or more RGMP enabled routers to a switch
port will cause intermittent black holing of IPv4 multicast traffic
towards these routers. Black holing occurs when a RGMP Leave is
received from one router while the other router is still joined.
This malfunction is not only easily recognized by the actual users
connected through the routers, but it also adheres to the principle
that a failure situation causes less traffic than more. Reverting to
flooding easily maintains the illusion that everything is working
perfectly. The exception is that the traffic constraining benefits
Wu & Eckert Informational [Page 5]
^L
RFC 3488 Cisco Systems RGMP February 2003
of RGMP are not realized. This suggests that congestion happens at a
much later time than the misconfiguration and can then not easily be
correlated with the cause anymore.
Because routers supporting RGMP are not required to send RGMP Join or
Leave messages for groups 224.0.0.x (x=0...255), 224.0.1.39 and
224.0.1.40, RGMP enabled ports always need to receive traffic for
these groups. Traffic for other groups is initially not forwarded to
an RGMP enabled port.
RGMP Join and Leave messages are accepted if they arrive on an RGMP
enabled port, otherwise they will be discarded. Upon acceptance of
an RGMP Join message, the switch MUST start forwarding traffic for
the group to the port. Upon acceptance of an RGMP Leave message, the
switch SHOULD stop forwarding traffic for the group to that port.
The switch's ability to stop forwarding traffic for a group may be
limited, for example, because of destination MAC based forwarding in
the switch. Therefore, it is necessary for the switch to always
forward traffic for all MAC-ambiguous IPv4 multicast groups (see [6]
for MAC-ambiguity).
To stop forwarding of traffic to a group in the event of lost RGMP
Leave message(s), a switch MAY time out RGMP forwarding state on a
port for a group [5 * Join Interval] after the last RGMP Join for
that group has been received on the port.
Without any layer 2 IPv4 multicast filtering methods running, a
switch needs to flood multicast traffic to all ports. If a switch
does actually run one or more mechanisms beside RGMP to filter IPv4
multicast traffic, such as IGMP snooping [10], then by default it
will not flood IPv4 multicast traffic to all ports anymore. Instead,
the switch will try to determine which ports still needs to receive
all IPv4 multicast traffic by default, and which ports do not.
Compliance with this specification requires that a switch MUST be
able to elect a port for flooding through the presence of PIM Hello
messages [4] arriving from the port and also through a manual
configuration option. In addition, the switch SHOULD recognize a
port connected to a router by other appropriate protocol packets or
dedicated IPv4 multicast router discovery mechanisms such as MRDISC
[11]. The manual configuration is required to support routers not
supporting PIM or other methods recognized by the switch.
Further mechanisms for IPv4 multicast traffic restriction may also be
used on RGMP enabled ports. In this case, forwarding for a group on
the port must be established if either mechanism requires it, and it
must only be removed if no mechanism requires it anymore.
Wu & Eckert Informational [Page 6]
^L
RFC 3488 Cisco Systems RGMP February 2003
4. Operational Notes
4.1. Support for networks with multiple switches
To be simple to implement on switches and resilient in face of
potential layer 2 network topology changes, RGMP does not specify how
to restrict multicast traffic on links connecting switches amongst
each other. With just RGMP being used, multicast traffic will thus
be flooded on inter-switch links within a network if at least one
router is connected to each of the switches.
This happens implicitly because the switch will not flood/forward
received RGMP messages out to the inter-switch link and thus the
switch on the other end will only recognize the port as a router port
via the PIM Hello messages flooded by the switches. Manual
configuration for inter-switch links may be required if non-PIM
routers are being used, depending on the other capabilities of the
switch.
If appropriate, a switch can send out RGMP messages on ports to make
it look like an RGMP enabled router to a potential switch at the
other end of the link. This would constrain IPv4 multicast traffic
between switches, but this type of "RGMP Spoofing" by the switch is
outside the scope of this specification.
4.2. Interoperability with RGMP-incapable routers
Since RGMP messages received at a switch only affect the state of
their ingress ports, the traffic restriction is applied there only.
RGMP-incapable routers will receive multicast traffic for all
multicast groups.
4.3. RGMP and multicast routing protocols
One result of the simplicity of RGMP are its restrictions in
supporting specific routing protocols. The following paragraphs list
a few known restrictions.
A router running RGMP on a switched network will not receive traffic
for a multicast group unless it explicitly requests it via RGMP Join
messages (besides those group ranges specified to be flooded in 3.1).
For this reason, it is not possible to run a protocol like PIM
Dense-Mode or DVMRP across an RGMP enabled network with RGMP enabled
routers.
Wu & Eckert Informational [Page 7]
^L
RFC 3488 Cisco Systems RGMP February 2003
In Bidir-PIM, a router elected to be the DF must not be enabled for
RGMP on the network, because it unconditionally needs to forward
traffic received from the network towards the RP. If a router is not
the DF for any group on the network, it can be enabled for RGMP on
that network.
In PIM-SM, directly connected sources on the network can not be
supported if the elected DR is running RGMP, because this DR needs to
unconditionally receive traffic from directly connected sources to
trigger the PIM-SM registering process on the DR. In PIM-SSM,
directly connected sources can be supported with RGMP enabled
routers.
Both in PIM-SM and PIM-SSM, upstream routers forwarding traffic into
the switched network need to send RGMP Joins for the group in support
of the PIM assert process.
5. List of timers and default values
5.1. Hello Interval
The Hello Interval is the interval between RGMP Hello messages sent
by an RGMP-enabled router to an RGMP-enabled switch. Default: 60
seconds.
5.2. Join Interval
The Join Interval is the interval between periodic RGMP Join messages
sent by an RGMP-enabled router to an RGMP-enabled switch for a given
group address. Default: 60 seconds.
6. Security Considerations
The RGMP protocol assumes that physical port security can be
guaranteed for switch ports from which RGMP messages are accepted.
Physical port security for RGMP means that physical measures will
ensure that such ports are dedicatedly connected to one system which
acts as an RGMP capable router. This is also the recommended
configuration to best leverage the benefits of the RGMP protocol
(e.g., avoiding unwanted third-party IPv4 multicast traffic arriving
on said ports).
RGMP specific DoS attacks arise from forged RGMP messages. If more
than one system is connected to a port of the RGMP switch, then one
system may forge RGMP messages and affect the operations of the other
system(s) on the same port. This is a potential security risk.
Wu & Eckert Informational [Page 8]
^L
RFC 3488 Cisco Systems RGMP February 2003
When physical security ensures that only one system is connected to a
RGMP capable port on a switch, then forged messages from this system
itself can take effect. Such forged messages can always be avoided
by system local measures.
We consider the ramifications of a forged message of each type:
Hello Message:
A forged RGMP Hello message can restrict multicast data towards a
non-RGMP enabled router on the same port. This effectively
introduces a blackholing DoS attack.
Leave Message:
A forged RGMP Leave message can restrict IPv4 multicast traffic
for individual groups toward the port. The effect is a possible
blackholing DoS attack similar to an RGMP Hello Message except
that it does not affect all IPv4 multicast traffic but only that
of the groups indicated in the forged messages. It will also only
affect a port if there officially is only one RGMP enabled router
connected to it (i.e., if the port is RGMP enabled).
Bye Message:
A forged RGMP Bye message can turn the port into being
RGMP-disabled. This could, indirectly, cause a DoS attack based
on the port getting overloaded with IPv4 multicast traffic if the
network bandwidth of the port was provisioned with the expectation
that RGMP will suppress unwanted IPv4 multicast messages.
This type of DoS attack simply re-establishes a port behavior as
if RGMP was not configured and invalidates the benefit of RGMP.
This, however, does not introduce an issue that would not have
been there without RGMP in the first place.
Join Message:
A forged RGMP Join message could attract undesired multicast
packets to the port where it is received from. The effect is
similar to an RGMP Bye Message except that it does not affect all
IPv4 multicast traffic only the groups indicated in the forged
messages. The message will affect a port only if there officially
is only one RGMP enabled router connected to it (i.e., if the port
is RGMP enabled).
Wu & Eckert Informational [Page 9]
^L
RFC 3488 Cisco Systems RGMP February 2003
7. Normative References
[1] Bradner, S., "The Internet Standards Process -- Revision 3", BCP
9, RFC 2026, October 1996.
[2] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", BCP 14, RFC 2119, March 1997.
[4] Estrin, D., Farinacci, D., Helmy, A., Thaler, D., Deering, S.,
Handley, M., Jacobson, V., Liu, C., Sharma, P. and L. Wei,
"Protocol Independent Multicast-Sparse Mode (PIM-SM): Protocol
Specification", RFC 2362, June 1998.
[5] Cain, B., Deering, S., Kouvelas, I., Fenner, W. and A.
Thyagarajan, "Internet Group Management Protocol, Version 3",
RFC 3376, October 2002.
[6] Deering, S., "Host Extensions for IP Multicasting", STD 5, RFC
1112, August 1989.
[7] ANSI/IEEE Std 802.1D 1998 Edition, "Media Access Control (MAC)
Bridges", 1998.
8. Informative References
[3] Internet Multicast Addresses,
http://www.iana.org/assignments/multicast-addresses
[8] Farinacci D., Tweedly D., Speakman T., "Cisco Group Management
Protocol (CGMP)", 1996/1997
ftp://ftpeng.cisco.com/ipmulticast/specs/cgmp.txt
[9] Fenner, B., "IANA Considerations for IPv4 Internet Group
Management Protocol (IGMP)", RFC 3228, February 2002.
[10] Christensen, M. and F. Solensky, "IGMP and MLD snooping
switches", Work In Progress.
[11] Biswas, S., Cain, B. and B. Haberman, "IGMP Multicast Router
Discovery", Work In Progress.
9. Acknowledgments
The authors would like to thank Gorry Fairhurst, Bill Fenner,
Giovanni Meo, Mike Norton, Pavlin Radoslavov and Alex Zinin for their
review of the document and their suggestions.
Wu & Eckert Informational [Page 10]
^L
RFC 3488 Cisco Systems RGMP February 2003
Appendix A. Intellectual Property Rights
The IETF has been notified of intellectual property rights claimed in
regard to some or all of the specification contained in this
document. For more information consult the online list of claimed
rights.
Appendix B. Comparison with GARP/GMRP
This appendix is not part of the RGMP specification but is provided
for information only.
GARP/GMRP (defined in IEEE 802.1D [7]) is the ANSI/ISO/IEC/IEEE
protocol suite to constrain ethernet multicast traffic in bridged
ethernet networks. As such it is also a possible alternative to RGMP
for the purpose of constraining multicast traffic towards router
ports. This appendix will explain the motivation not to rely on
GARP/GMRP and how GARP/GMRP and RGMP differ.
The key factor in rolling out GARP/GMRP would have been to completely
replace IGMP Snooping. This was the design goal of GARP/GMRP. For
efficient operations, IGMP Snooping requires hardware filtering
support in the switch (to differentiate between hosts membership
reports and actual IPv4 multicast traffic). Especially in many older
switches this support does not exist. Vendors tried to find a way
around this issue to provide the benefit of constraining IPv4
multicast traffic in a switched LAN without having to build more
expensive switch hardware. GARP/GMRP is one protocol resulting from
this. CGMP from Cisco is another one. While CGMP solves the problem
without requiring changes to the host stack software, GARP/GMRP
requires support for it by the host stack.
Up to date GARP/GMRP has so far not made significant inroads into
deployed solutions. IGMP Snooping (and CGMP) are the norm for this
environment. In result, GARP/GMRP can not necessarily be expected to
be supported by layer 2 switches. In addition, GARP/GMRP does not
address clearly the issues RGMP tries to solve. On one hand,
GARP/GMRP provides much more functionality and as such complexity as
immediately required. On the other hand, GARP/GMRP is limited by
being a standard predominantly for the Ethernet scope.
Wu & Eckert Informational [Page 11]
^L
RFC 3488 Cisco Systems RGMP February 2003
Beyond the process and applicability reasons, the main differences
between GARP/GMRP and RGMP are as follows:
o GARP/GMRP switches/systems need to send and listen/react to
GARP/GMRP messages. In RGMP, routers only need to send RGMP
messages and switches only need to listen to them. This protocol
approach is meant to simplify implementation, operations and
troubleshooting.
o The same switch running RGMP in a backbone network will likely see
more states then running on the edge only doing IGMP Snooping,
making it preferable to keep the amount of per group processing
and memory requirements in RGMP more in bounds than possible in
IGMP Snooping and GARP/GMRP: In GARP/GMRP, a (multiple) timer
based state-machines needs to be maintained on a per ethernet
group address, in RGMP timer maintenance is completely optional
and there are only two states per group (joined or not joined).
o GARP/GMRP is an ethernet level protocol from the IEEE. It
supports to constrain traffic for ethernet addresses (groups).
RGMP does constrain traffic for IPv4 multicast groups. Today this
is even beyond the capabilities of typical switch platforms used
as layer2 switches. Extensions to support further entities are
likely easier to come by through extensions to RGMP than to
GARP/GMRP.
o RGMP shares the basic packet format with IGMP (version 2) and is
as such easy to add to router and switch platforms that already
support IGMP and IGMP Snooping respectively. This is especially
true for switches that in hardware can differentiate between IGMP
protocol type packets and other IPv4 multicast traffic sent to the
same (or a MAC ambiguous) group. In addition, due to the state
simplicity of RGMP it is easy to integrate IGMP Snooping and RGMP
operations in the IPv4 multicast control and forwarding plane of a
switch.
o GARP/GMRP supports more than one system (host/router) on a switch
port which is one reason for its complexity. In RGMP, this
configuration is explicitly not supported: More than one router
per switched port is not only not a common scenario in today's
switches layer 2 networks, it is also an undesired configuration
when unwanted IPv4 multicast traffic is to be kept away from
routers.
Wu & Eckert Informational [Page 12]
^L
RFC 3488 Cisco Systems RGMP February 2003
o GARP/GMRP defines how to constrain multicast traffic between
switches, another reason for its complexity. RGMP does not
explicitly support this as part of the protocol because of the
following reasons:
o It is not necessary to include this function as part of the
RGMP protocol description because switch implementations can
transparently decide to support this function (see 4.1 about
this "RGMP Spoofing").
o Important deployments through which large amounts of IPv4
multicast are moved today are typically single switch
MIX - Multicast Internet eXchange points.
o Avoiding congestion on inter-switch links in general is more
complex than simply constraining IPv4 multicast traffic to
paths where it is needed. With or without IPv4 multicast, the
aggregate bandwidth needed between switches can easily be the
aggregate required bandwidth to routers on either sides. For
this reason, inter-switch bandwidth is most often appropriately
over provisioned. In addition, the likelihood for receiving
routers to be only on the sources side of an inter-switch link
is in general deployments rather low. The cases where traffic
constrainment on inter-switch links is required and helpful is
thus limited and can in most cases be avoided or worked around.
Moving the network to a layer 3 routed network is often the
best solution, supporting RGMP-Spoofing (see section 4.1) is
another one.
Appendix C. Possible future extensions / comparison to PIM Snooping
This appendix is not part of the RGMP specification but is provided
for information only.
This appendix presents a discussion of possible extensions to RGMP.
Included are points on why the extensions are not included and in
addition a motivation for RGMP in comparison to (PIM) snooping.
o Support for multiple switches
As discussed in "RGMP Spoofing", chapter 4.1 and GARP/GMRP
comparison in Appendix B.
o Support for SSM
While RGMP works with PIM-SSM, it does not have explicit messages
for the router to selectively join to (S,G) channels individually.
Instead the router must RGMP join to all (Si,G) channels by
Wu & Eckert Informational [Page 13]
^L
RFC 3488 Cisco Systems RGMP February 2003
joining to G. Extending RGMP to include (S,G) Join/Leaves is
feasible. However, currently the majority of switches do not
support actual traffic constraining on a per channel basis. In
addition, the likelihood for actual channel collision (two SSM
channels using the same group) will only become an issue when SSM
is fully deployed.
o Support for IPv6
RGMP could easily be extended to support IPv6 by mapping the RGMP
packet format into the MLD/IPv6 packet format. This was not done
for this specification because most switches today do not even
support MLD snooping.
o Support for multiple routers per port
As discussed in Appendix B. This is probably one extension that
should be avoided. Multiple RGMP router per port are
inappropriate for efficient multicast traffic constrainment.
o Support for non-join based protocols / protocol elements
For protocols like PIM dense-mode, DVMRP or Bidir-PIM DF routers,
additional RGMP messages may be added to allow routers to indicate
that certain group (ranges) traffic need to be flooded from
(dense-mode) or to (Bidir-PIM) them.
o Support for multi-policy switching
In Multicast Exchange Points (MIXes) environments situations exist
where different downstream routers for policy reasons need to
receive the same traffic flow from different upstream routers.
This problem could be solved by actually providing an upstream
neighbor field in RGMP Join/Leave messages. The RGMP switch would
then forward traffic from one upstream router only to those
downstream routers who want to have the traffic from exactly this
upstream router. This extension would best go in hand with
changes to the layer 3 routing protocol run between the routers.
As previously mentioned, RGMP was designed to be easy to implement
and to support simple layer2 switches. Implementations could also be
applied to switches beyond layer 2. If all the above possible future
extensions were to be supported by an evolution of RGMP, it would be
questionable whether such a protocol could be any less complex than
actually snooping into the layer3 IPv4 routing protocol run between
routers in a switched LAN.
Wu & Eckert Informational [Page 14]
^L
RFC 3488 Cisco Systems RGMP February 2003
From the perspective of protocol architecture it is certainly more
appropriate to have a separate protocol like RGMP or GARP/GMRP for
this purpose. Then again, the more complex the requirements are, the
more duplication of effort is involved and snooping seems to become a
more attractive option.
Even though there exists one predominant routing Protocol, PIM, in
IPv4 multicast, routing with PIM in itself is extremely complex for a
switch to snoop into. PIM has two main versions, different
modes - sparse, dense, bidir, ssm, join / prune / graft messages
(depending on the mode of the group), various PIM Hello options,
different versions of asserts, two dynamic mode announcement
protocols (BSR, AutoRP), and finally supports both IPv4 and IPv6.
A switch snooping into PIM is very likely to implement just a subset
of this feature set, making it very hard for the user to determine
what level of actual traffic constrainment is achieved unless a clear
specification exists for the implementation (or better the method per
se.). In addition, there is always the danger that such a snooping
implementation may break newer features of the routing protocol that
it was not designed to handle (likely because they could not have
been predicted). For example, this can happen with switches using
IGMP (v2) snooping implementations that are being subjected to IGMP
version 3 messages - they break IGMPv3.
In summary, with PIM still evolving, the approach taken by RGMP is
the safest one for the immediate problems at hand, and extensions
like those listed should be considered in time for actual demand.
(PIM) snooping is a valid alternative once the total amount of
features that need to be supported makes it an equally attractive
solution (with respect to complexity) to a dedicated protocol and if
its functions are well defined to allow predicting its effects - but
always at the price of possible incompatibilities with upcoming PIM
protocol extensions unless support for layer 2 switches is explicitly
considered in moving PIM protocols forward.
Wu & Eckert Informational [Page 15]
^L
RFC 3488 Cisco Systems RGMP February 2003
Authors' Addresses
Ishan Wu
cisco Systems
170 West Tasman Drive
San Jose, CA 95134
Phone: (408) 526-5673
EMail: iwu@cisco.com
Toerless Eckert
cisco Systems
170 West Tasman Drive
San Jose, CA 95134
Phone: (408) 853-5856
Email: eckert@cisco.com
Wu & Eckert Informational [Page 16]
^L
RFC 3488 Cisco Systems RGMP February 2003
Full Copyright Statement
Copyright (C) The Internet Society (2003). All Rights Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Acknowledgement
Funding for the RFC Editor function is currently provided by the
Internet Society.
Wu & Eckert Informational [Page 17]
^L
|