HP 6125G,6125XG IP Multicast Configuration Guide

HP 6125 Blade Switch Series
IP Multicast Configuration Guide
Part number: 5998-3158
Software version: Release 2103
Legal and notice information
© Copyright 2012 Hewlett-Packard Development Company, L.P.
No part of this documentation may be reproduced or transmitted in any form or by any means without prior written consent of Hewlett-Packard Development Company, L.P.
The information contained herein is subject to change without notice.
HEWLETT-PACKARD COMPANY MAKES NO WARRANTY OF ANY KIND WITH REGARD TO THIS MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Hewlett-Packard shall not be liable for errors contained herein or for incidental or consequential damages in connection with the furnishing, performance, or use of this material.
The only warranties for HP products and services are set forth in the express warranty statements accompanying such products and services. Nothing herein should be construed as constituting an additional warranty. HP shall not be liable for technical or editorial errors or omissions contained herein.
i
Contents
Multicast overview ······················································································································································· 1
Introduction to multicast ···················································································································································· 1
Information transmission techniques ······················································································································· 1 Multicast features ······················································································································································ 3 Common notations in multicast ······························································································································· 4
Multicast advantages and applications ················································································································· 4 Multicast models ································································································································································ 5 Multicast architecture ························································································································································ 5
Multicast addresses ·················································································································································· 6
Multicast protocols ··················································································································································· 9 Multicast packet forwarding mechanism ····················································································································· 11
Configuring IGMP snooping ····································································································································· 12
Overview ········································································································································································· 12
Basic concepts in IGMP snooping ······················································································································· 12
How IGMP snooping works ································································································································· 14
IGMP snooping proxying ····································································································································· 15
Protocols and standards ······································································································································· 17 IGMP snooping configuration task list ························································································································· 17 Configuring basic IGMP snooping functions ·············································································································· 18
Enabling IGMP snooping ····································································································································· 18
Specifying the version of IGMP snooping ·········································································································· 18
Configuring static multicast MAC address entries ····························································································· 19 Configuring IGMP snooping port functions ················································································································· 19
Setting aging timers for dynamic ports ··············································································································· 20
Configuring static ports ········································································································································· 20
Configuring a port as a simulated member host ······························································································· 21
Enabling IGMP snooping fast-leave processing ································································································· 22
Disabling a port from becoming a dynamic router port ··················································································· 22 Configuring IGMP snooping querier ··························································································································· 23
Enabling IGMP snooping querier ························································································································ 23
Configuring parameters for IGMP queries and responses ··············································································· 24
Configuring the source IP addresses for IGMP queries ····················································································· 25 Configuring IGMP snooping proxying ························································································································ 25
Enabling IGMP snooping proxying ····················································································································· 25
Configuring a source IP address for the IGMP messages sent by the proxy ·················································· 26 Configuring an IGMP snooping policy ························································································································ 26
Configuring a multicast group filter ····················································································································· 26
Configuring multicast source port filtering ·········································································································· 27
Enabling dropping unknown multicast data ······································································································· 28
Configuring IGMP report suppression ················································································································ 29
Setting the maximum number of multicast groups that a port can join ··························································· 29
Enabling multicast group replacement ················································································································ 30
Setting the 802.1p precedence for IGMP messages ························································································ 30
Enabling the IGMP snooping host tracking function ························································································· 31
Setting the DSCP value for IGMP messages ······································································································· 31 Displaying and maintaining IGMP snooping ·············································································································· 32 IGMP snooping configuration examples ····················································································································· 33
Group policy and simulated joining configuration example ············································································ 33
ii
Static port configuration example ······················································································································· 35
IGMP snooping querier configuration example ································································································· 38
IGMP snooping proxying configuration example ······························································································ 40 Troubleshooting IGMP snooping ·································································································································· 43
Layer 2 multicast forwarding cannot function ···································································································· 43
Configured multicast group policy fails to take effect ······················································································· 43 Appendix ········································································································································································ 44
Processing of multicast protocol messages ········································································································· 44
Configuring multicast VLANs ····································································································································· 45
Overview ········································································································································································· 45 Multicast VLAN configuration task list ························································································································· 47 Configuring a sub-VLAN-based multicast VLAN ········································································································· 47
Configuration guidelines ······································································································································ 47
Configuration procedure ······································································································································ 47 Configuring a port-based multicast VLAN ··················································································································· 48
Configuration prerequisites ·································································································································· 48
Configuring user port attributes ··························································································································· 48
Configuring multicast VLAN ports ······················································································································· 49 Displaying and maintaining multicast VLAN ··············································································································· 49 Multicast VLAN configuration examples ······················································································································ 50
Sub-VLAN-based multicast VLAN configuration example ················································································· 50
Port-based multicast VLAN configuration example ···························································································· 54
Configuring multicast routing and forwarding ········································································································· 57
Overview ········································································································································································· 57
RPF check mechanism ··········································································································································· 57
Static multicast routes ············································································································································ 59
Multicast forwarding across unicast subnets ······································································································ 61
Multicast traceroute ··············································································································································· 61 Configuration task list ···················································································································································· 62 Enabling IP multicast routing ········································································································································· 62 Configuring multicast routing and forwarding ············································································································ 63
Configuring static multicast routes ······················································································································· 63
Configuring a multicast routing policy ················································································································ 63
Configuring a multicast forwarding range ········································································································· 64
Configuring the multicast forwarding table size ································································································ 64
Tracing a multicast path ······································································································································· 65 Displaying and maintaining multicast routing and forwarding ················································································· 65 Configuration examples ················································································································································ 66
Changing an RPF route ········································································································································· 66
Creating an RPF route ··········································································································································· 68
Multicast forwarding over a tunnel ······················································································································ 70 Troubleshooting multicast routing and forwarding ····································································································· 74
Static multicast route failure ································································································································· 74
Multicast data fails to reach receivers················································································································· 74
Configuring IGMP ······················································································································································ 76
Overview ········································································································································································· 76
IGMP versions ························································································································································ 76
Introduction to IGMPv1 ········································································································································· 76
Enhancements in IGMPv2····································································································································· 78
Enhancements in IGMPv3····································································································································· 78
IGMP SSM mapping ············································································································································· 80
IGMP proxying ······················································································································································ 81
Protocols and standards ······································································································································· 82
iii
IGMP configuration task list ·········································································································································· 82 Configuring basic IGMP functions ······························································································································· 83
Enabling IGMP ······················································································································································ 83
Configuring IGMP versions ·································································································································· 83
Configuring static joining ····································································································································· 84
Configuring a multicast group filter ····················································································································· 84
Setting the maximum number of multicast groups that an interface can join ················································· 85 Adjusting IGMP performance ······································································································································· 85
Configuration prerequisites ·································································································································· 85
Configuring Router-Alert option handling methods ···························································································· 86
Configuring IGMP query and response parameters ·························································································· 87
Configuring IGMP fast-leave processing ············································································································ 89
Enabling the IGMP host tracking function ·········································································································· 89
Setting the DSCP value for IGMP messages ······································································································· 89 Configuring IGMP SSM mapping ································································································································ 90
Enabling SSM mapping ········································································································································ 90
Configuring SSM mappings ································································································································· 90 Configuring IGMP proxying ········································································································································· 90
Enabling IGMP proxying ······································································································································ 91
Configuring multicast forwarding on a downstream interface ········································································· 91 Displaying and maintaining IGMP ······························································································································· 92 IGMP configuration examples ······································································································································ 93
Basic IGMP functions configuration example ····································································································· 93
SSM mapping configuration example ················································································································ 95
IGMP proxying configuration example ··············································································································· 98 Troubleshooting IGMP ················································································································································· 100
No membership information on the receiver-side router ················································································· 100
Inconsistent memberships on routers on the same subnet ··············································································· 101
Configuring PIM ······················································································································································ 102
PIM overview ································································································································································ 102
PIM-DM overview ················································································································································ 102
PIM-SM overview ················································································································································· 105
Administrative scoping overview ······················································································································· 110
PIM-SSM overview ··············································································································································· 112
Relationships among PIM protocols ·················································································································· 113
Protocols and standards ····································································································································· 114 Configuring PIM-DM ···················································································································································· 114
PIM-DM configuration task list···························································································································· 114
Configuration prerequisites ································································································································ 114
Enabling PIM-DM ················································································································································· 115
Enabling state-refresh capability ························································································································ 115
Configuring state-refresh parameters ················································································································ 115
Configuring PIM-DM graft retry period ············································································································· 116 Configuring PIM-SM····················································································································································· 117
PIM-SM configuration task list ···························································································································· 117
Configuration prerequisites ································································································································ 117
Enabling PIM-SM ················································································································································· 118
Configuring an RP ··············································································································································· 118
Configuring a BSR ··············································································································································· 120
Configuring administrative scoping ·················································································································· 124
Configuring multicast source registration·········································································································· 126
Disabling the switchover to SPT ························································································································· 127 Configuring PIM-SSM ·················································································································································· 127
PIM-SSM configuration task list ·························································································································· 127
iv
Configuration prerequisites ································································································································ 127
Enabling PIM-SM ················································································································································· 127
Configuring the SSM group range ···················································································································· 128 Configuring PIM common features ····························································································································· 128
PIM common feature configuration task list ······································································································ 129
Configuration prerequisites ································································································································ 129
Configuring a multicast data filter ····················································································································· 129
Configuring a hello message filter ···················································································································· 130
Configuring PIM hello options ··························································································································· 130
Configuring the prune delay ······························································································································ 132
Configuring PIM common timers ······················································································································· 132
Configuring join/prune message sizes ············································································································· 133
Setting the DSCP value for PIM messages ········································································································ 134 Displaying and maintaining PIM ································································································································ 134 PIM configuration examples ······································································································································· 136
PIM-DM configuration example ························································································································· 136
PIM-SM non-scoped zone configuration example ··························································································· 139
PIM-SM admin-scope zone configuration example ························································································· 143
PIM-SSM configuration example ························································································································ 149 Troubleshooting PIM ···················································································································································· 152
A multicast distribution tree cannot be built correctly ······················································································ 152
Multicast data abnormally terminated on an intermediate router ·································································· 153
RPs cannot join SPT in PIM-SM ·························································································································· 153
RPT establishment failure or source registration failure in PIM-SM ································································ 154
Configuring MSDP ·················································································································································· 155
Overview ······································································································································································· 155
How MSDP works ··············································································································································· 155
Protocols and standards ····································································································································· 160 MSDP configuration task list ······································································································································· 161 Configuring basic MSDP functions ····························································································································· 161
Configuration prerequisites ································································································································ 161
Enabling MSDP ···················································································································································· 161
Creating an MSDP peer connection ·················································································································· 162
Configuring a static RPF peer ···························································································································· 162 Configuring an MSDP peer connection ····················································································································· 162
Configuring MSDP peer description·················································································································· 163
Configuring an MSDP mesh group ··················································································································· 163
Configuring MSDP peer connection control ····································································································· 163 Configuring SA messages related parameters ········································································································· 164
Configuring SA message content ······················································································································ 165
Configuring SA request messages ····················································································································· 165
Configuring SA message filtering rules ············································································································· 166
Configuring the SA cache mechanism ·············································································································· 167 Displaying and maintaining MSDP ···························································································································· 167 MSDP configuration examples ···································································································································· 168
PIM-SM Inter-domain multicast configuration ··································································································· 168
Inter-AS multicast configuration by leveraging static RPF peers ····································································· 172
Anycast RP configuration ···································································································································· 176
SA message filtering configuration ···················································································································· 180 Troubleshooting MSDP ················································································································································ 184
MSDP peers stay in down state ························································································································· 184
No SA entries in the switch’s SA cache ············································································································ 184
Inter-RP communication faults in Anycast RP application ················································································ 185
v
Configuring MBGP ·················································································································································· 186
MBGP overview ···························································································································································· 186 Protocols and standards ·············································································································································· 186 MBGP configuration task list ······································································································································· 186 Configuring basic MBGP functions ···························································································································· 187 Controlling route advertisement and reception ········································································································· 187
Configuring MBGP route redistribution ············································································································· 187
Configuring default route redistribution into MBGP ························································································ 188
Configuring MBGP route summarization ·········································································································· 189
Advertising a default route to an IPv4 MBGP peer or peer group ································································ 189
Configuring outbound MBGP route filtering ····································································································· 190
Configuring inbound MBGP route filtering ······································································································· 191
Configuring MBGP route dampening ··············································································································· 192 Configuring MBGP route attributes ···························································································································· 193
Configuring MBGP route preferences ··············································································································· 193
Configuring the default local preference ·········································································································· 193
Configuring the MED attribute ··························································································································· 193
Configuring the NEXT_HOP attribute ················································································································ 194
Configuring the AS_PATH attributes ················································································································· 194 Tuning and optimizing MBGP networks ···················································································································· 195
Configuring MBGP soft reset ······························································································································ 195
Enabling the MBGP ORF capability ·················································································································· 196
Configuring the maximum number of MBGP routes for load balancing ······················································· 197 Configuring a large scale MBGP network ················································································································ 198
Configuring IPv4 MBGP peer groups················································································································ 198
Configuring MBGP community ·························································································································· 198
Configuring an MBGP route reflector ··············································································································· 199 Displaying and maintaining MBGP ··························································································································· 200
Displaying MBGP ················································································································································ 200
Resetting MBGP connections ······························································································································ 201
Clearing MBGP information ······························································································································· 201 MBGP configuration example····································································································································· 202
Configuring MLD snooping ···································································································································· 206
Overview ······································································································································································· 206
Basic concepts in MLD snooping ······················································································································· 206
How MLD snooping works ································································································································· 208
MLD snooping proxying ····································································································································· 209
Protocols and standards ····································································································································· 211 MLD snooping configuration task list ························································································································· 211 Configuring basic MLD snooping functions ·············································································································· 212
Enabling MLD snooping ····································································································································· 212
Specifying the version of MLD snooping ·········································································································· 212
Configuring IPv6 static multicast MAC address entries ··················································································· 213 Configuring MLD snooping port functions ················································································································· 213
Configuring aging timers for dynamic ports ···································································································· 214
Configuring static ports ······································································································································· 214
Configuring a port as a simulated member host ····························································································· 215
Enabling fast-leave processing ··························································································································· 216
Disabling a port from becoming a dynamic router port ················································································· 216 Configuring MLD snooping querier ··························································································································· 217
Enabling MLD snooping querier ························································································································ 217
Configuring parameters for MLD queries and responses ··············································································· 218
Configuring the source IPv6 addresses for MLD queries ················································································ 219 Configuring MLD snooping proxying ························································································································ 219
vi
Enabling MLD snooping proxying ····················································································································· 219
Configuring the source IPv6 addresses for the MLD messages sent by the proxy ······································· 220 Configuring an MLD snooping policy ························································································································ 220
Configuring an IPv6 multicast group filter ········································································································ 220
Configuring IPv6 multicast source port filtering ······························································································· 221
Enabling dropping unknown IPv6 multicast data ···························································································· 222
Configuring MLD report suppression ················································································································ 222
Setting the maximum number of multicast groups that a port can join ························································· 223
Enabling IPv6 multicast group replacement ····································································································· 223
Setting the 802.1p precedence for MLD messages ························································································ 224
Enabling the MLD snooping host tracking function ························································································· 225
Setting the DSCP value for MLD messages ······································································································· 225 Displaying and maintaining MLD snooping ·············································································································· 226 MLD snooping configuration examples ····················································································································· 226
IPv6 group policy and simulated joining configuration example ·································································· 226
Static port configuration example ····················································································································· 229
MLD snooping querier configuration example ································································································· 232
MLD snooping proxying configuration example ······························································································ 234 Troubleshooting MLD snooping ·································································································································· 237
Layer 2 multicast forwarding cannot function ·································································································· 237
Configured IPv6 multicast group policy fails to take effect ············································································· 237 Appendix ······································································································································································ 238
Processing of IPv6 multicast protocol messages ······························································································· 238
Configuring IPv6 multicast VLANs ························································································································· 239
Overview ······································································································································································· 239 IPv6 multicast VLAN configuration task list ··············································································································· 241 Configuring a sub-VLAN-based IPv6 multicast VLAN ······························································································ 241
Configuration guidelines ···································································································································· 241
Configuration procedure ···································································································································· 241 Configuring a port-based IPv6 multicast VLAN ········································································································ 242
Configuration prerequisites ································································································································ 242
Configuring user port attributes ························································································································· 242
Configuring IPv6 multicast VLAN ports ············································································································· 243 Displaying and maintaining IPv6 multicast VLAN ···································································································· 243 IPv6 multicast VLAN configuration examples ············································································································ 244
Sub-VLAN-based multicast VLAN configuration example ··············································································· 244
Port-based multicast VLAN configuration example ·························································································· 248
Configuring IPv6 multicast routing and forwarding ····························································································· 251
Overview ······································································································································································· 251
RPF check mechanism ········································································································································· 251
RPF check implementation in IPv6 multicast ····································································································· 252 Configuration task list ·················································································································································· 253 Enabling IPv6 multicast routing ··································································································································· 253 Configuring IPv6 multicast routing and forwarding ································································································· 254
Configuring an IPv6 multicast routing policy ··································································································· 254
Configuring an IPv6 multicast forwarding range ····························································································· 254
Configuring the IPv6 multicast forwarding table size ······················································································ 255 Displaying and maintaining IPv6 multicast routing and forwarding ······································································ 256 Troubleshooting IPv6 multicast policy configuration ································································································ 257
Abnormal termination of IPv6 multicast data ··································································································· 257
Configuring MLD ····················································································································································· 258
Overview ······································································································································································· 258
MLD versions ························································································································································ 258
vii
How MLDv1 works ·············································································································································· 258
How MLDv2 works ·············································································································································· 260
MLD messages ····················································································································································· 261
MLD SSM mapping ············································································································································· 264
MLD proxying ······················································································································································ 265
Protocols and standards ····································································································································· 265 MLD configuration task list ·········································································································································· 266 Configuring basic MLD functions ······························································································································· 266
Enabling MLD ······················································································································································ 267
Configuring the MLD version ····························································································································· 267
Configuring static joining ··································································································································· 267
Configuring an IPv6 multicast group filter ········································································································ 268
Setting the maximum number of IPv6 multicast groups that an interface can join ······································· 268 Adjusting MLD performance ······································································································································· 269
Configuration prerequisites ································································································································ 269
Configuring Router-Alert option handling methods ·························································································· 269
Configuring MLD query and response parameters ·························································································· 270
Configuring MLD fast-leave processing ············································································································ 272
Enabling the MLD host tracking function ·········································································································· 273
Setting the DSCP value for MLD messages ······································································································· 273 Configuring MLD SSM mapping ································································································································ 273
Configuration prerequisites ································································································································ 274
Enabling MLD SSM mapping ····························································································································· 274
Configuring MLD SSM mappings ······················································································································ 274 Configuring MLD proxying ········································································································································· 274
Enabling MLD proxying ······································································································································ 275
Configuring IPv6 multicast forwarding on a downstream interface ······························································ 275 Displaying and maintaining MLD ······························································································································· 276 MLD configuration examples ······································································································································ 277
Basic MLD functions configuration example ····································································································· 277
MLD SSM mapping configuration example ····································································································· 279
MLD proxying configuration example ··············································································································· 282 Troubleshooting MLD ··················································································································································· 284
No member information on the receiver-side router ························································································ 284
Inconsistent memberships on routers on the same subnet ··············································································· 285
Configuring IPv6 PIM ·············································································································································· 286
Overview ······································································································································································· 286
IPv6 PIM-DM overview ········································································································································ 286
IPv6 PIM-SM overview ········································································································································ 289
IPv6 administrative scoping overview ··············································································································· 295
IPv6 PIM-SSM overview ······································································································································ 297
Relationship among IPv6 PIM protocols ············································································································ 299
Protocols and standards ····································································································································· 299 Configuring IPv6 PIM-DM ············································································································································ 299
IPv6 PIM-DM configuration task list ··················································································································· 299
Configuration prerequisites ································································································································ 300
Enabling IPv6 PIM-DM ········································································································································ 300
Enabling state-refresh capability ························································································································ 300
Configuring state refresh parameters ················································································································ 301
Configuring IPv6 PIM-DM graft retry period ···································································································· 301 Configuring IPv6 PIM-SM ············································································································································ 302
IPv6 PIM-SM configuration task list ···················································································································· 302
Configuration prerequisites ································································································································ 302
Enabling IPv6 PIM-SM ········································································································································· 303
viii
Configuring an RP ··············································································································································· 303
Configuring a BSR ··············································································································································· 305
Configuring IPv6 administrative scoping ·········································································································· 309
Configuring IPv6 multicast source registration ································································································· 310
Disabling the switchover to SPT ························································································································· 311 Configuring IPv6 PIM-SSM ·········································································································································· 311
IPv6 PIM-SSM configuration task list ················································································································· 312
Configuration prerequisites ································································································································ 312
Enabling IPv6 PIM-SM ········································································································································· 312
Configuring the IPv6 SSM group range ··········································································································· 312 Configuring IPv6 PIM common features ···················································································································· 313
IPv6 PIM common feature configuration task list ····························································································· 313
Configuration prerequisites ································································································································ 313
Configuring an IPv6 multicast data filter ··········································································································· 314
Configuring a hello message filter ···················································································································· 314
Configuring IPv6 PIM hello options ··················································································································· 315
Configuring the prune delay ······························································································································ 316
Configuring IPv6 PIM common timers ··············································································································· 317
Configuring join/prune message sizes ············································································································· 318
Setting the DSCP value for IPv6 PIM messages ································································································ 319 Displaying and maintaining IPv6 PIM ························································································································ 319 IPv6 PIM configuration examples ······························································································································· 320
IPv6 PIM-DM configuration example ················································································································· 320
IPv6 PIM-SM non-scoped zone configuration example ··················································································· 323
IPv6 PIM-SM admin-scope zone configuration example ················································································· 328
IPv6 PIM-SSM configuration example ··············································································································· 340 Troubleshooting IPv6 PIM configuration ···················································································································· 343
Failure to build a multicast distribution tree correctly ······················································································ 343
IPv6 multicast data abnormally terminated on an intermediate router ·························································· 344
RPS cannot join SPT in IPv6 PIM-SM ················································································································· 344
RPT establishment failure or source registration failure in IPv6 PIM-SM ························································ 345
Configuring IPv6 MBGP ········································································································································· 346
IPv6 MBGP overview ··················································································································································· 346 IPv6 MBGP configuration task list ······························································································································ 346 Configuring basic IPv6 MBGP functions ···················································································································· 347
Configuration prerequisites ································································································································ 347
Configuring an IPv6 MBGP peer ······················································································································· 347
Configuring a preferred value for routes from a peer or a peer group ························································ 347 Controlling route distribution and reception ············································································································· 348
Configuration prerequisites ································································································································ 348
Injecting a local IPv6 MBGP route ····················································································································· 348
Configuring IPv6 MBGP route redistribution ···································································································· 348
Configuring IPv6 MBGP route summarization ································································································· 349
Advertising a default route to a peer or peer group ······················································································· 349
Configuring outbound IPv6 MBGP route filtering ···························································································· 350
Configuring inbound IPv6 MBGP route filtering ······························································································ 350
Configuring IPv6 MBGP route dampening ······································································································· 351 Configuring IPv6 MBGP route attributes ···················································································································· 351
Configuration prerequisites ································································································································ 352
Configuring IPv6 MBGP route preferences ······································································································· 352
Configuring the default local preference ·········································································································· 352
Configuring the MED attribute ··························································································································· 352
Configuring the NEXT_HOP attribute ················································································································ 353
Configuring the AS_PATH attribute ··················································································································· 353
ix
Tuning and optimizing IPv6 MBGP networks ············································································································ 354
Configuration prerequisites ································································································································ 354
Configuring IPv6 MBGP soft reset ····················································································································· 354
Enabling the IPv6 MBGP orf capability ············································································································ 355
Configuring the maximum number of equal-cost routes for load-balancing ················································· 356 Configuring a large scale IPv6 MBGP network ········································································································ 357
Configuring an IPv6 MBGP peer group ··········································································································· 357
Configuring IPv6 MBGP community ·················································································································· 357
Configuring an IPv6 MBGP route reflector ······································································································· 358 Displaying and maintaining IPv6 MBGP ··················································································································· 359
Displaying IPv6 MBGP ········································································································································ 359
Resetting IPv6 MBGP connections ····················································································································· 360
Clearing IPv6 MBGP information ······················································································································ 360 IPv6 MBGP configuration example ···························································································································· 360
Support and other resources ·································································································································· 364
Contacting HP ······························································································································································ 364
Subscription service ············································································································································ 364 Related information ······················································································································································ 364
Documents ···························································································································································· 364
Websites ······························································································································································· 364 Conventions ·································································································································································· 365
Index ········································································································································································ 367
1
Multicast overview
Introduction to multicast
As a technique that coexists with unicast and broadcast, the multicast technique effectively addresses the issue of point-to-multipoint data transmission. By enabling high-efficiency point-to-multipoint data transmission over a network, multicast greatly saves network bandwidth and reduces network load.
By using multicast technology, a network operator can easily provide new value-added services, such as live webcasting, web TV, distance learning, telemedicine, web radio, real time video conferencing, and other bandwidth-critical and time-critical information services.
The term "router " in this document refers to both routers and Layer 3 switches.
Unless otherwise stated, the term "multicast" in this document refers to IP multicast.
Information transmission techniques
The information transmission techniques include unicast, broadcast, and multicast.
Unicast
In unicast transmission, the information source must send a separate copy of information to each host that needs the information.
Figure 1 Unicast transmission
In Figure 1, assume that Host B, Host D and Host E need the information. A separate transmission channel must be established from the information source to each of these hosts.
Source
Receiver
Receiver
Receiver
Host A
Host B
Host C
Host D
Host E
Packets for Host B
Packets for Host D
Packets for Host E
IP network
2
In unicast transmission, the traffic transmitted over the network is proportional to the number of hosts that need the information. If a large number of hosts need the information, the information source must send a separate copy of the same information to each of these hosts. Sending many copies can place a tremendous pressure on the information source and the network bandwidth.
Unicast is not suitable for batch transmission of information.
Broadcast
In broadcast transmission, the information source sends information to all hosts on the subnet, even if some hosts do not need the information.
Figure 2 Broadcast transmission
In Figure 2, assume that only Host B, Host D, and Host E need the information. If the information is broadcast to the subnet, Host A and Host C also receive it. In addition to information security issues, broadcasting to hosts that do not need the information also causes traffic flooding on the same subnet.
Broadcast is disadvantageous in transmitting data to specific hosts. Moreover, broadcast transmission is a significant waste of network resources.
Multicast
Unicast and broadcast techniques cannot provide point-to-multipoint data transmissions with the minimum network consumption.
Multicast transmission can solve this problem. When some hosts on the network need multicast information, the information sender, or multicast source, sends only one copy of the information. Multicast distribution trees are built through multicast routing protocols, and the packets are replicated only on nodes where the trees branch.
3
Figure 3 Multicast transmission
The mul ticast s ource sen ds only one co py of the informa tion to a mult icast g rou p. H ost B, Hos t D an d Host E, which are receivers of the information, must join the multicast group. The routers on the network duplicate and forward the information based on the distribution of the group members. Finally, the information is correctly delivered to Host B, Host D, and Host E.
To summarize, multicast has the following advantages:
Advantages over unicast—Because multicast traffic flows to the farthest-possible node from the
source before it is replicated and distributed, an increase in the number of hosts does not increase the load of the source or remarkably add to the usage of network resources.
Advantages over broadcast—Because multicast data is sent only to the receivers that need it,
multicast uses network bandwidth reasonably and enhances network security. In addition, data broadcast is confined to the same subnet, but multicast is not.
Multicast features
A multicast group is a multicast receiver set identified by an IP multicast address. Hosts join a
multicast group to become members of the multicast group before they can receive the multicast data addressed to that multicast group. Typically, a multicast source does not need to join a multicast group.
An information sender is called a "multicast source". A multicast source can send data to multiple
multicast groups at the same time, and multiple multicast sources can send data to the same multicast group at the same time.
All hosts that have joined a multicast group become members of the multicast group. The group
memberships are dynamic. Hosts can join or leave multicast groups at any time. Multicast groups are not subject to geographic restrictions.
Routers or Layer 3 switches that support Layer 3 multicast are called "multicast routers" or "Layer 3
multicast devices". In addition to providing the multicast routing function, a multicast router can also manage multicast group memberships on stub subnets with attached group members. A multicast router itself can be a multicast group member.
4
For a better understanding of the multicast concept, you can compare multicast transmission to the transmission of TV programs.
Table 1 Comparing TV program transmission and multicast transmission
TV transmission
Multicast transmission
A TV station transmits a TV program through a channel.
A multicast source sends multicast data to a multicast group.
A user tunes the TV set to the channel. A receiver joins the multicast group.
The user starts to watch the TV program transmitted by the TV station via the channel.
The receiver starts to receive the multicast data that the source is sending to the multicast group.
The user turns off the TV set or tunes to another channel.
The receiver leaves the multicast group or joins another group.
Common notations in multicast
The following notations are commonly used in multicast transmission:
(*, G)—Indicates a rendezvous point tree (RPT), or a multicast packet that any multicast source sends
to multicast group G. Here, the asterisk represents any multicast source, and "G" represents a specific multicast group.
(S, G)—Indicates a shortest path tree (SPT), or a multicast packet that multicast source S sends to
multicast group G. Here, "S" represents a specific multicast source, and "G" represents a specific multicast group.
For more information about the concepts RPT and SPT, see "Configuring PIM" and "Configuring IPv6
PI
M."
Multicast advantages and applications
Multicast advantages
Advantages of the multicast technique include the following:
Enhanced efficiency—Reduces the processor load of information source servers and network
devices.
Optimal performance—Reduces redundant traffic.
Distributed application—Enables point-to-multipoint applications at the price of minimum network
resources.
Multicast applications
The scenarios in which the multicast technique can be effectively applied are:
Multimedia and streaming applications, such as web TV, web radio, and real time video/audio
conferencing
Communication for training and cooperative operations, such as distance learning and
telemedicine
Data warehouse and financial applications (stock quotes)
Any other point-to-multipoint application for data distribution
5
Multicast models
Based on how the receivers treat the multicast sources, the multicast models include any-source multicast (ASM), source-filtered multicast (SFM), and source-specific multicast (SSM).
ASM model
In the ASM model, any sender can send information to a multicast group as a multicast source, and receivers can join a multicast group (identified by a group address) and obtain multicast information addressed to that multicast group. In this model, receivers do not know the positions of the multicast sources in advance. However, they can join or leave the multicast group at any time.
SFM model
The SFM model is derived from the ASM model. To a sender, the two models appear to have the same multicast membership architecture.
The SFM model functionally extends the ASM model. The upper-layer software checks the source address of received multicast packets and permits or denies multicast traffic from specific sources. Therefore, receivers can receive the multicast data from only part of the multicast sources. To a receiver, multicast sources are not all valid; they are filtered.
SSM model
Users might be interested in the multicast data from only certain multicast sources. The SSM model provides a transmission service that enables users to specify the multicast sources that they are interested in at the client side.
The main difference between the SSM model and the ASM model is that in the SSM model, receivers have already determined the locations of the multicast sources by some other means. In addition, the SSM model uses a multicast address range that is different from that of the ASM/SFM model, and dedicated multicast forwarding paths are established between receivers and the specified multicast sources.
Multicast architecture
IP multicast addresses the following questions:
Where should the multicast source transmit information to? (Multicast addressing.)
What receivers exist on the network? (Host registration.)
Where is the multicast source that will provide data to the receivers? (Multicast source discovery.)
How should information be transmitted to the receivers? (Multicast routing.)
IP multicast is an end-to-end service. The multicast architecture involves the following parts:
Addressing mechanism—A multicast source sends information to a group of receivers through a
multicast address.
Host registration—Receiver hosts can join and leave multicast groups dynamically. This mechanism
is the basis for management of group memberships.
Multicast routing—A multicast distribution tree (a forwarding path tree for multicast data on the
network) is constructed for delivering multicast data from a multicast source to receivers.
Multicast applications—A software system that supports multicast applications, such as video
conferencing, must be installed on multicast sources and receiver hosts. The TCP/IP stack must support reception and transmission of multicast data.
6
Multicast addresses
Network-layer multicast addresses (multicast IP addresses) enables communication between multicast sources and multicast group members. In addition, a technique must be available to map multicast IP addresses to link-layer multicast MAC addresses.
IP multicast addresses
IPv4 multicast addresses
Internet Assigned Numbers Authority (IANA) assigned the Class D address space (224.0.0.0 to
239.255.255.255) to IPv4 multicast.
Table 2 Class D IP address blocks and description
Address block Descri
p
tion
224.0.0.0 to 224.0.0.255
Reserved permanent group addresses. The IP address 224.0.0.0 is reserved. Other IP addresses can be used by routing protocols and for topology searching, protocol maintenance, and so on. Table 3 lists common permanent group addresses. A packet destined for an address in this block will not be forwarded beyond the local subnet regardless of the Time to Live (TTL) value in the IP header.
224.0.1.0 to 238.255.255.255
Globally scoped group addresses. This block includes the following types of designated group addresses:
232.0.0.0/8—SSM group addresses.
233.0.0.0/8—Glop group addresses.
239.0.0.0 to 239.255.255.255
Administratively scoped multicast addresses. These addresses are considered locally unique rather than globally unique, and can be reused in domains administered by different organizations without causing conflicts. For more information, see RFC 2365.
NOTE:
"Glop" is a mechanism for assi
g
ning multicast addresses between different autonomous systems (ASs). By
fillin
g
an AS number into the middle two bytes of 233.0.0.0, you get 255 multicast addresses for that AS.
For more information, see RFC 2770.
Table 3 Some reserved multicast addresses
Address Descri
p
tion
224.0.0.1 All systems on this subnet, including hosts and routers
224.0.0.2 All multicast routers on this subnet
224.0.0.3 Unassigned
224.0.0.4 Distance Vector Multicast Routing Protocol (DVMRP) routers
224.0.0.5 Open Shortest Path First (OSPF) routers
224.0.0.6 OSPF designated routers and backup designated routers
224.0.0.7 Shared Tree (ST) routers
224.0.0.8 ST hosts
224.0.0.9 Routing Information Protocol version 2 (RIPv2) routers
224.0.0.11 Mobile agents
7
Address Description
224.0.0.12 Dynamic Host Configuration Protocol (DHCP) server/relay agent
224.0.0.13 All Protocol Independent Multicast (PIM) routers
224.0.0.14 Resource Reservation Protocol (RSVP) encapsulation
224.0.0.15 All Core-Based Tree (CBT) routers
224.0.0.16 Designated Subnetwork Bandwidth Management (SBM)
224.0.0.17 All SBMs
224.0.0.18 Virtual Router Redundancy Protocol (VRRP)
IPv6 multicast addresses
Figure 4 IPv6 multicast format
The following describes the fields of an IPv6 multicast address:
{ 0xFF—The most significant eight bits are 11111111, which indicates that this address is an IPv6
multicast address.
{ Flags—The Flags field contains four bits.
Figure 5 Flags field format
Table 4 Flags field description
Bit Descri
p
tion
0 Reserved, set to 0.
R
When set to 0, it indicates that this address is an IPv6 multicast address without an
embedded RP address.
When set to 1, it indicates that this address is an IPv6 multicast address with an
embedded RP address. (The P and T bits must also be set to 1.)
P
When set to 0, it indicates that this address is an IPv6 multicast address not based on
a unicast prefix.
When set to 1, it indicates that this address is an IPv6 multicast address based on a
unicast prefix. (The T bit must also be set to 1.)
T
When set to 0, it indicates that this address is an IPv6 multicast address
permanently-assigned by IANA.
When set to 1, it indicates that this address is a transient, or dynamically assigned
IPv6 multicast address.
{ Scope—The Scope field contains four bits, which indicate the scope of the IPv6 internetwork for
which the multicast traffic is intended.
8
Table 5 Values of the Scope field
Value Meanin
g
0, F Reserved
1 Interface-local scope
2 Link-local scope
3 Subnet-local scope
4 Admin-local scope
5 Site-local scope
6, 7, 9 through D Unassigned
8 Organization-local scope
E Global scope
{ Group ID—The Group ID field contains 112 bits. It uniquely identifies an IPv6 mul tic ast group in
the scope that the Scope field defines.
Ethernet multicast MAC addresses
A multicast MAC address identifies a group of receivers at the data link layer.
IPv4 multicast MAC addresses
As defined by IANA, the most significant 24 bits of an IPv4 multicast MAC address are 0x01005E. Bit 25 is 0, and the other 23 bits are the least significant 23 bits of a multicast IPv4 address.
Figure 6 IPv4-to-MAC address mapping
The most significant four bits of a multicast IPv4 address are 1110, which indicates that this address is a multicast address. Only 23 bits of the remaining 28 bits are mapped to a MAC address, so five bits of the multicast IPv4 address are lost. As a result, 32 multicast IPv4 addresses map to the same IPv4 multicast MAC address. Therefore, in Layer 2 multicast forwarding, a switch might receive some multicast data destined for other IPv4 multicast groups. The upper layer must filter such redundant data.
IPv6 multicast MAC addresses
The most significant 16 bits of an IPv6 multicast MAC address are 0x3333. The least significant 32 bits are the least significant 32 bits of a multicast IPv6 address.
9
Figure 7 An example of IPv6-to-MAC address mapping
Multicast protocols
Generally, Layer 3 multicast refers to IP multicast working at the network layer. The corresponding multicast protocols are Layer 3 multicast protocols, which include IGMP, MLD, PIM, IPv6 PIM, MSDP, MBGP, and IPv6 MBGP. Layer 2 multicast refers to IP multicast working at the data link layer. The corresponding multicast protocols are Layer 2 multicast protocols, which include IGMP snooping, MLD snooping, PIM snooping, IPv6 PIM snooping, multicast VLAN, and IPv6 multicast VLAN.
IGMP snooping, PIM snooping, multicast VLAN, IGMP, PIM, MSDP, and MBGP are for IPv4, and MLD snooping, IPv6 PIM snooping, IPv6 multicast VLAN, MLD, IPv6 PIM, and IPv6 MBGP are for IPv6.
This section provides only general descriptions about applications and functions of the Layer 2 and Layer 3 multicast protocols in a network. For more information about these protocols, see the related chapters.
Layer 3 multicast protocols
Layer 3 multicast protocols include multicast group management protocols and multicast routing protocols.
Figure 8 Positions of Layer 3 multicast protocols
Multicast group management protocols
Typically, the Internet Group Management Protocol (IGMP) or Multicast Listener Discovery Protocol (MLD) is used between hosts and Layer 3 multicast devices that directly connect to the hosts. These
10
protocols define the mechanism of establishing and maintaining group memberships between hosts and Layer 3 multicast devices.
Multicast routing protocols
A multicast routing protocol runs on Layer 3 multicast devices to establish and maintain multicast routes and forward multicast packets correctly and efficiently. Multicast routes constitute loop-free data transmission paths from a data source to multiple receivers, namely, a multicast distribution tree.
In the ASM model, multicast routes include intra-domain routes and inter-domain routes.
{ An intra-domain multicast routing protocol discovers multicast sources and builds multicast
distribution trees within an AS to deliver multicast data to receivers. Among a variety of mature intra-domain multicast routing protocols, Protocol Independent Multicast (PIM) is most widely used. Based on the forwarding mechanism, PIM has dense mode (often referred to as "PIM-DM"), and sparse mode (often referred to as "PIM-SM").
{ An inter-domain multicast routing protocol is used for delivery of multicast information between
two ASs. So far, mature solutions include Multicast Source Discovery Protocol (MSDP) and Multicast Border Gateway Protocol (MBGP). MSDP propagates multicast source information among different ASs. MBGP is an extension of the Multiprotocol Border Gateway Protocol (MP-BGP) for exchanging multicast routing information among different ASs.
For the SSM model, multicast routes are not divided into intra-domain routes and inter-domain routes. Because receivers know the position of the multicast source, channels established through PIM-SM are sufficient for the transport of multicast information.
Layer 2 multicast protocols
Layer 2 multicast protocols include IGMP snooping, MLD snooping, PIM snooping, IPv6 PIM snooping, multicast VLAN, and IPv6 multicast VLAN.
Figure 9 Positions of Layer 2 multicast protocols
IGMP snooping and MLD snooping
IGMP snooping and MLD snooping are multicast constraining mechanisms that run on Layer 2 devices. They manage and control multicast groups by monitoring and analyzing IGMP or MLD messages exchanged between the hosts and Layer 3 multicast devices, effectively controlling the flooding of multicast data in a Layer 2 network.
11
PIM snooping and IPv6 PIM snooping
PIM snooping and IPv6 PIM snooping run on Layer 2 devices. They determine which ports are interested in multicast data by analyzing the received IPv6 PIM messages, and add the ports to a multicast forwarding entry to make sure that multicast data can be forwarded to only the ports that are interested in the data.
Multicast VLAN and IPv6 multicast VLAN
In the traditional multicast-on-demand mode, when users in different VLANs on a Layer 2 device need multicast information, the upstream Layer 3 device must forward a separate copy of the multicast data to each VLAN of the Layer 2 device. When the multicast VLAN or IPv6 multicast VLAN feature is enabled on the Layer 2 device, the Layer 3 multicast device sends only one copy of multicast to the multicast VLAN or IPv6 multicast VLAN on the Layer 2 device. This approach avoids waste of network bandwidth and extra burden on the Layer 3 device.
Multicast packet forwarding mechanism
In a multicast model, a multicast source sends information to the host group identified by the multicast group address in the destination address field of IP multicast packets. To deliver multicast packets to receivers located at different positions of the network, multicast routers on the forwarding paths usually need to forward multicast packets that an incoming interface receives to multiple outgoing interfaces. Compared with a unicast model, a multicast model is more complex in the following aspects:
To ensure multicast packet transmission in the network, unicast routing tables or multicast routing
tables (for example, the MBGP routing table) specially provided for multicast must be used as guidance for multicast forwarding.
To process the same multicast information from different peers received on different interfaces of the
same device, every multicast packet undergoes a reverse path forwarding (RPF) check on the incoming interface. The result of the RPF check determines whether the packet will be forwarded or discarded. The RPF check mechanism is the basis for most multicast routing protocols to implement multicast forwarding.
For more information about the RPF mechanism, see "Configuring multicast routing and forwarding" an
d
"Configuring IPv6 multicast routing and forwarding."
12
Configuring IGMP snooping
Overview
Internet Group Management Protocol (IGMP) snooping is a multicast constraining mechanism that runs on Layer 2 devices to manage and control multicast groups.
By analyzing received IGMP messages, a Layer 2 device that runs IGMP snooping establishes mappings between ports and multicast MAC addresses, and forwards multicast data based on these mappings.
As shown in Figure 10, w
ithout IGMP snooping enabled, the Layer 2 switch floods multicast packets to all devices at Layer 2. With IGMP snooping enabled, the Layer 2 switch forwards multicast packets for known multicast groups to only the receivers that require the multicast data at Layer 2. This feature improves bandwidth efficiency, enhances multicast security, and helps per-host accounting for multicast users.
Figure 10 Before and after IGMP snooping is enabled on the Layer 2 device
Basic concepts in IGMP snooping
IGMP snooping related ports
As shown in Figure 11, Router A connects to the multicast source, IGMP snooping runs on Switch A and Switch B, and Host A and Host C are receiver hosts as members of a multicast group.
13
Figure 11 IGMP snooping related ports
The following describes the ports involved in IGMP snooping:
Router port—Layer 3 multicast device-side port. Layer 3 multicast devices include designated
routers (DRs) and IGMP queriers. In Figure 11, G
igabitEthernet 1/0/1 of Switch A and GigabitEthernet 1/0/1 of Switch B are router ports. The switch registers all its router ports in its router port list.
Do not confuse the "router port" in IGMP snooping with the "routed interface" commonly known as the "Layer 3 interface." The router port in IGMP snooping is the Layer 2 interface.
Member port—Multicast receiver-side port. In Figure 11, G
igabitEthernet 1/0/2 and GigabitEthernet 1/0/3 of Switch A and GigabitEthernet 1/0/2 of Switch B are member ports. The switch registers all its member ports in its IGMP snooping forwarding table.
Unless otherwise specified, router ports and member ports in this document include both static and dynamic router ports and member ports.
NOTE:
A
n IGMP-snooping-enabled switch deems that all its ports on which IGMP general queries with the source IP address other than 0.0.0.0 or that receive PIM hello messages are received are dynamic router ports. For more information about PIM hello messages, see "Configuring PIM."
Aging timers for dynamic ports in IGMP snooping and related messages and actions
Timer Description
Message before expiry Action after expir
y
Dynamic router port aging timer
For each dynamic router port, the switch starts an aging timer. When the timer expires, the dynamic router port ages out.
IGMP general query of which the source address is not 0.0.0.0 or PIM hello.
The switch removes this port from its router port list.
14
Timer Description
Message before expiry Action after expir
y
Dynamic member port aging timer
When a port dynamically joins a multicast group, the switch starts an aging timer for the port. When the timer expires, the dynamic member port ages out.
IGMP membership report.
The switch removes this port from the IGMP snooping forwarding table.
NOTE:
In IGMP snooping, only dynamic ports age out. Static ports never age out.
How IGMP snooping works
In this section, the involved ports are dynamic ports. For information about how to configure and remove static ports, see "Configuring static ports."
A switch that runs IGMP snooping performs different actions when it receives different IGMP messages.
When receiving a general query
The IGMP querier periodically sends IGMP general queries to all hosts and routers identified by the address 224.0.0.1 on the local subnet to determine whether any active multicast group members exist on the subnet.
After receiving an IGMP general query, the switch forwards it to all ports in the VLAN, except the port that received the query. The switch also performs one of the following actions:
If the receiving port is a dynamic router port in the router port list, restarts the aging timer for the
port.
If the receiving port is not in its router port list, adds it into its router port list as a dynamic router port
and starts an aging timer for the port.
When receiving a membership report
A host sends an IGMP report to the IGMP querier for the following purposes:
If the host has been a member of a multicast group, responds to the query with an IGMP report.
Applies for joining a multicast group.
After receiving an IGMP report, the switch forwards it through all the router ports in the VLAN, resolves the address of the reported multicast group. The switch also performs one of the following actions:
If no forwarding entry matches the group address, creates a forwarding entry for the group, adds
the receiving port as a dynamic member port to the forwarding entry, and starts an aging timer for the port.
If a forwarding entry matches the group address, but the receiving port is not in the forwarding
entry for the group, adds the port as a dynamic member port to the forwarding entry and starts an aging timer for the port.
If a forwarding entry matches the group address and the receiving port is in the forwarding entry
for the group, restarts the aging timer for the port.
A switch does not forward an IGMP report through a non-router port. If the switch forwards a report message through a member port, the IGMP report suppression mechanism causes all the attached hosts that are monitoring the reported multicast address suppress their own reports. This makes the switch
15
unable to know whether the reported multicast group still has active members attached to that port. For more information about the IGMP report suppression mechanism, see "Configuring IGMP."
When receiving a leave message
When an IG MPv 1 host leaves a mu ltic ast g ro up, th e hos t doe s not send an I GMP l eave m essag e, and the switch cannot know immediately that the host has left the multicast group. However, because the host stops sending IGMP reports as soon as it leaves the multicast group, the switch removes the port that connects to the host from the forwarding entry for the multicast group when the aging timer for the port expires.
When an IGMPv2 or IGMPv3 host leaves a multicast group, the host sends an IGMP leave message to the multicast router.
When the switch receives an IGMP leave message on a dynamic member port, the switch first examines whether a forwarding entry matches the group address in the message, and, if a match is found, whether the forwarding entry for the group contains the dynamic member port.
If no forwarding entry matches the group address, or if the forwarding entry does not contain the
port, the switch directly discards the IGMP leave message.
If a forwarding entry matches the group address and the forwarding entry contains the port, the
switch forwards the leave message to all router ports in the VLAN. Because the switch does not know whether any other hosts attached to the port are still listening to that group address, the switch does not immediately remove the port from the forwarding entry for that group. Instead, it restarts the aging timer for the port.
After receiving the IGMP leave message, the IGMP querier resolves the multicast group address in the message and sends an IGMP group-specific query to the multicast group through the port that received the leave message. After receiving the IGMP group-specific query, the switch forwards it through all its router ports in the VLAN and all member ports of the multicast group. The switch also performs the following judgment for the port that received the IGMP leave message:
If the port (assuming that it is a dynamic member port) receives an IGMP report in response to the
group-specific query before its aging timer expires, it indicates that some host attached to the port is receiving or expecting to receive multicast data for the multicast group. The switch restarts the aging timer for the port.
If the port receives no IGMP report in response to the group-specific query before its aging timer
expires, it indicates that no hosts attached to the port are still listening to that group address. The switch removes the port from the forwarding entry for the multicast group when the aging timer expires.
IGMP snooping proxying
You can configure the IGMP snooping proxying function on an edge device to reduce the number of IGMP reports and leave messages sent to its upstream device. The device configured with IGMP snooping proxying is called an IGMP snooping proxy. It is a host from the perspective of its upstream device.
Even though an IGMP snooping proxy is a host from the perspective of its upstream device, the IGMP membership report suppression mechanism for hosts does not take effect on it. For more information about the IGMP report suppression mechanism for hosts, see "Configuring IGMP."
16
Figure 12 Network diagram
As shown in Figure 12, Swi tch A works as an IGMP snooping proxy. As a host from the perspective of the querier Router A, Switch A represents its attached hosts to send membership reports and leave messages to Router A.
Table 6 IGMP message processing on an IGMP snooping proxy
IGMP messa
g
e Actions
General query
When receiving an IGMP general query, the proxy forwards it to all ports but the receiving port. In addition, the proxy generates a report according to the group memberships it maintains and sends the report out of all router ports.
Group-specific query
In response to the IGMP group-specific query for a certain multicast group, the proxy sends the report to the group out of all router ports if the forwarding entry for the group still contains a member port.
Report
After receiving a report for a multicast group, the proxy looks up the multicast forwarding table for the forwarding entry for the multicast group.
If a forwarding entry matches the multicast group and contains the
receiving port as a dynamic member port, the proxy restarts the aging timer for the port.
If a forwarding entry matches the multicast group but does not
contain the receiving port, the proxy adds the port to the forwarding entry as a dynamic member port and starts an aging timer for the port.
If no forwarding entry matches the multicast group, the proxy creates
a forwarding entry for the multicast group, adds the receiving port to the forwarding entry as a dynamic member port, and starts an aging timer for the port.
Leave
In response to an IGMP leave message for a multicast group, the proxy sends a group-specific query out of the receiving port. After making sure that no member port is contained in the forwarding entry for the multicast group, the proxy sends a leave message to the group out of all router ports.
Host A
Receiver
Host B
Host C
Receiver
IGMP Querier
Router A
Proxy & Querier
Switch A
Query from Router A
Report from Switch A
Query from Switch A
Report from Host
IP network
17
Protocols and standards
RFC 4541, Considerations for Internet Group Management Protocol (IGMP) and Multicast Listener
Discovery (MLD) Snooping Switches
IGMP snooping configuration task list
Task Remarks
Configuring basic IGMP snooping functions
Enabling IGMP snooping Required
Specifying the version of IGMP snooping Optional
Configuring static multicast MAC address entries Optional
Configuring IGMP snooping port functions
Setting aging timers for dynamic ports Optional
Configuring static ports Optional
Configuring a port as a simulated member host Optional
Enabling IGMP snooping fast-leave processing Optional
Disabling a port from becoming a dynamic router port Optional
Configuring IGMP snooping querier
Enabling IGMP snooping querier Optional
Configuring parameters for IGMP queries and responses Optional
Configuring the source IP addresses for IGMP queries Optional
Configuring IGMP snooping proxying
Enabling IGMP snooping proxying Optional
Configuring a source IP address for the IGMP messages sent by the proxy
Optional
Configuring an IGMP snooping policy
Configuring a multicast group filter Optional
Configuring multicast source port filtering Optional
Enabling dropping unknown multicast data Optional
Configuring IGMP report suppression Optional
Setting the maximum number of multicast groups that a port can join
Optional
Setting the 802.1p precedence for IGMP messages Optional
Enabling multicast group replacement Optional
Enabling the IGMP snooping host tracking function Optional
Setting the DSCP value for IGMP messages Optional
For the configuration tasks in this section:
In IGMP snooping view, the configurations that you make are effective in all VLANs. In VLAN view,
the configurations that you make are effective on only the ports that belong to the current VLAN. For a given VLAN, a configuration that you make in IGMP snooping view is effective only if you do not make the same configuration in VLAN view.
In IGMP snooping view, the configurations that you make are effective on all ports. In Layer 2
Ethernet interface view or Layer 2 aggregate interface view, the configurations that you make are
18
effective only on the current port. For a given port, a configuration that you make in IGMP snooping view is effective only if you do not make the same configuration in Layer 2 Ethernet interface view or Layer 2 aggregate interface view.
For IGMP snooping, the configurations that you make on a Layer 2 aggregate interface do not
interfere with those you make on its member ports, nor do they participate in aggregation calculations. Configurations that you make on a member port of an aggregate group do not take effect until it leaves the aggregate group.
Configuring basic IGMP snooping functions
Before you configure basic IGMP snooping functions, complete the following tasks:
Configure the corresponding VLANs.
Determine the version of IGMP snooping.
Enabling IGMP snooping
When you enable IGMP snooping, follow these guidelines:
You must enable IGMP snooping globally before you enable it in a VLAN.
After you enable IGMP snooping in a VLAN, do not enable IGMP or PIM on the corresponding
VLAN interface.
When you enable IGMP snooping in a specified VLAN, IGMP snooping works only on the ports in
this VLAN.
To enable IGMP snooping:
Step Command
Remarks
1. Enter system view.
system-view N/A
2. Enable IGMP snooping globally
and enter IGMP-snooping view.
igmp-snooping Disabled by default
3. Return to system view.
quit N/A
4. Enter VLAN view.
vlan vlan-id N/A
5. Enable IGMP snooping in the
VLAN.
igmp-snooping enable Disabled by default
Specifying the version of IGMP snooping
Different versions of IGMP snooping can process different versions of IGMP messages:
IGMPv2 snooping can process IGMPv1 and IGMPv2 messages, but cannot process IGMPv3
messages, which will be flooded in the VLAN.
IGMPv3 snooping can process IGMPv1, IGMPv2 and IGMPv3 messages.
If you change IGMPv3 snooping to IGMPv2 snooping, the system:
Clears all IGMP snooping forwarding entries that are dynamically added.
Keeps static IGMPv3 snooping forwarding entries (*, G).
Clears static IGMPv3 snooping forwarding entries (S, G), which will be restored when IGMP
snooping is switched back to IGMPv3 snooping.
19
For more information about static joins, see "Configuring static ports."
To specify the version of IGMP snooping:
Step Command
Remarks
1. Enter system view.
system-view N/A
2. Enter VLAN view.
vlan vlan-id N/A
3. Specify the version of IGMP
snooping.
igmp-snooping version version-number
Version 2 by default
Configuring static multicast MAC address entries
In Layer-2 multicast, a Layer 2 multicast protocol (such as IGMP snooping) can dynamically add multicast MAC address entries. Or, you can manually configure multicast MAC address entries.
Configuration guidelines
In system view, the configuration is effective for the specified ports. In interface view, the
configuration is effective only on the current port.
Any legal multicast MAC address except 0100-5Exx-xxxx (where "x" represents a hexadecimal
number from 0 to F) can be manually added to the multicast MAC address table. Multicast MAC addresses are the MAC addresses whose the least significant bit of the most significant octet is 1.
Configuration procedure
To configure a static multicast MAC address entry in system view:
Step Command
Remarks
1. Enter system view.
system-view N/A
2. Configure a static multicast
MAC address entry.
mac-address multicast mac-address interface interface-list vlan vlan-id
No static multicast MAC address entries exist by default.
To configure static multicast MAC address entries in interface view:
Step Command
Remarks
1. Enter system view.
system-view N/A
2. Enter Layer 2 Ethernet
interface view or Layer 2 aggregate interface view.
interface interface-type interface-number
Use either command.
3. Configure a static multicast
MAC address entry.
mac-address multicast
mac-address vlan vlan-id
No static multicast MAC address entries exist by default.
Configuring IGMP snooping port functions
Before you configure IGMP snooping port functions, complete the following tasks:
Enable IGMP snooping in the VLAN.
Loading...
+ 349 hidden pages