460 likes | 1.11k Views
Layer 3 Multicast Addressing . IP group addresses 224.0.0.0–239.255.255.255 “Class D” addresses = high order bits of “1110” Special reserved group addresses: 224.0.0.0–224.0.0.255: 224.0.0.1 All systems on this subnet 224.0.0.2 All routers on this subnet 224.0.0.4 DVMRP routers
E N D
Layer 3 Multicast Addressing • IP group addresses 224.0.0.0–239.255.255.255 • “Class D” addresses = high order bits of “1110” • Special reserved group addresses: 224.0.0.0–224.0.0.255: • 224.0.0.1 All systems on this subnet • 224.0.0.2 All routers on this subnet • 224.0.0.4 DVMRP routers • 224.0.0.5 OSPF routers • 224.0.0.13 PIMv2 Routers
Multicast Group Addressing • Group addresses have inherent scope: • Link scope: 224.0.0.0—224.0.0.255These are never forwarded by any router • Global scope: 224.0.1.0 – 238.255.255.255Can be delivered throughout the Internet • Administrative scope: 239.0.0.0 – 239.255.255.255Not forwarded beyond an organization’s network
Multicast Packet Format • Source is ALWAYS a unicast address • Destination is a multicast group address • Packet payload is typically UDP • Need to map multicast group IP addresses to Layer 2 multicast MAC addresses • Sender does NOT need to be a member of the group
Layer 2 Multicast Addressing—(Ethernet) A Layer 3 IPmc Address Maps to a Layer 2 Multicast Address: 32 Bits 23 Bits 239.255.0.1 01-00-5e-7f-00-01 24 Bits 24 Bits 48 Bits Be Aware of the Overlap of Layer 3 Addresses to Layer 2 Addresses
Layer 2 Multicast Addressing—(Ethernet) Be Aware of the Overlap of Layer 3 Addresses to Layer 2 Addresses 01-00-5e-01-01-01 Maps to: 224.1.1.1, 224.129.1.1, 225.1.1.1, 225.129.1.1, etc. etc. 238.1.1.1, 238.129.1.1, 239.1.1.1, 239.129.1.1
IGMP: Internet Group Management Protocol • How hosts tell routers about group membership • Routers solicit group membership from directly connected hosts • RFC 1112 specifies first version of IGMP • RFC 2236 specifies version 2 of IGMP • RFC 3376 specifies version 3 of IGMP • IGMP messages not forwarded by routers
IGMPv1 • RFC 1112— “Host extensions for IP Multicasting” • Membership Queries • Querier sends IGMP query messages to 224.0.0.1 with ttl = 1, determining what group addresses have members on that subnet • One routeron LAN is designated/elected to send queries, but all routers listen to the replies/reports • Query interval 60–120 seconds • Membership Reports • IGMP report sent by one host suppresses sending by others; sending based on random timer per group • Restrict to one report per group per LAN • Unsolicited reports sent by host, when it first joins the group
224.1.1.1 H3 H3 Report IGMPv1—Joining a Group H2 H1 • Joining member sends report to 224.1.1.1 immediately upon joining IGMPv1
H2 H3 H1 General Query to 224.0.0.1 IGMPv1—General Queries • Periodically sends General Queries to 224.0.0.1 to determine memberships IGMPv1 MulticastRouter
224.1.1.1 224.1.1.1 224.1.1.1 H2 H3 H1 X X Suppressed Report Suppressed #3 #2 #3 Query to 224.0.0.1 #1 Router sends periodic queries #1 One member per group per subnet reports #2 Other members suppress reports #3 IGMPv1—Maintaining a Group IGMPv1
H3 H3 Query to 224.0.0.1 Query to 224.0.0.1 IGMPv1—Leaving a Group H2 H1 IGMPv1 • Router sends periodic queries • Hosts silently leave group • Router continues sending periodic queries • No Reports for group received by router • Group times out
IGMPv2 • RFC 2236 • Leave Group message • Host sends leave message if it leaves the group and is the last member (reduces leave latency in comparison to v1); sent to 224.0.0.2 (all routers) • Group-specific query • After Host sends Leave Group message, Router sends Group-specific queries to make sure there are no members present before stopping to forward data for the group for that subnet
IGMPv2 — (cont.) • Querier election mechanism • On multiaccess networks, an IGMP Querier router iselected based on lowest IP address. Only the Querier router sends Querys. • Query-Interval Response Time • General Queries specify “Max. Response Time” whichinform hosts of the maximum time within which a host must respond to General Query. (Improves burstinessof the responses.) • Backward compatible with IGMPv1
IGMPv3 • adds support for "source filtering“: ability for a system to report interest in receiving packets *only* from specific source addresses, or from *all but* specific source addresses, sent to a particular multicast address; avoid delivering multicast packets from specific sources to networks where there are no interested receivers.
224.1.1.1 H2 H2 Report IGMPv2—Joining a Group 1.1.1.10 1.1.1.11 1.1.1.12 • Joining member sends report to 224.1.1.1 immediately upon joining (same as IGMPv1) H3 H1 1.1.1.1 rtr-a
Query Query IGMPv2—Querier Election 1.1.1.10 1.1.1.11 1.1.1.12 H2 H3 H1 1.1.1.2 1.1.1.1 IGMP Non-Querier IGMP Querier IGMPv2 rtr-b rtr-a • Intially all routers send out a Query • Router w/lowest IP address “elected” querier • Other routers become “Non-Queriers”
224.1.1.1 224.1.1.1 224.1.1.1 H2 H3 H1 X X Suppressed Report Suppressed Query IGMPv2—Maintaining a Group 1.1.1.10 1.1.1.11 1.1.1.12 • Router sends periodic queries 1.1.1.1 IGMPv2 • One member per group per subnet reports • Other members suppress reports
rtr-a>sh ip igmp group IGMP Connected Group Membership Group Address Interface Uptime Expires Last Reporter 224.1.1.1 Ethernet0 6d17h 00:02:31 1.1.1.11 IGMPv2—Leaving a Group 1.1.1.10 1.1.1.11 1.1.1.12 H2 H3 H1 1.1.1.1 rtr-a IGMP State in “rtr-a” before Leave
224.1.1.1 224.1.1.1 H2 H2 Report to 224.1.1.1 Leave to 224.0.0.2 #1 #3 Group Specific Query to 224.1.1.1 #2 IGMPv2—Leaving a Group 1.1.1.10 1.1.1.11 1.1.1.12 • H2 leaves group; sends Leave message H3 H1 1.1.1.1 rtr-a • Router sends Group specific query • A remaining member host sends report • Group remains active
rtr-a>sh ip igmp group IGMP Connected Group Membership Group Address Interface Uptime Expires Last Reporter 224.1.1.1 Ethernet0 6d17h 00:01:47 1.1.1.12 IGMPv2—Leaving a Group 1.1.1.10 1.1.1.11 1.1.1.12 H2 H3 H1 1.1.1.1 rtr-a IGMP State in “rtr-a” after H2 Leaves
224.1.1.1 H3 Leave to 224.0.0.2 #1 Group Specific Query to 224.1.1.1 #2 IGMPv2—Leaving a Group 1.1.1.10 1.1.1.11 1.1.1.12 H2 H3 H1 1.1.1.1 rtr-a • Last host leaves group; sends Leave message • Router sends Group specific query • No report is received • Group times out
rtr-a>sh ip igmp group IGMP Connected Group Membership Group Address Interface Uptime Expires Last Reporter IGMPv2—Leaving a Group 1.1.1.10 1.1.1.11 1.1.1.12 H2 H3 H1 1.1.1.1 rtr-a IGMP State in “rtr-a” after H3 Leaves
PIM Multicast M L2 Multicast Frame Switching Problem: Layer 2 Flooding of Multicast Frames • Typical L2 switches treat Multicast Traffic as Unknown or Broadcast and must “flood” the frame to every port. • Static entries can sometimes be set to specify which ports should receive which group(s) of multicast traffic. • Dynamic configuration of these entries would cut down on user administration.
PIM L2 Multicast Frame Switching IGMP Snooping • Switches become “IGMP” aware. • IGMP packets intercepted by the NMP or by special hardware ASICs. • Switch must examine contents of IGMP messages to determine which ports want what traffic. IGMP Membership Reports IGMP Leave Messages • Impact on Switch : Must process ALL layer 2 Mcast packets Admin. load increases w/Mcast traffic load Requires special h/w to maintain throughput IGMP IGMP
Typical L2 Switch Architecture Router-A 1 LAN Switch Switching Engine CPU 0 CAMTable 2 3 4 5 MAC Address Port 0000.6503.1d0e 5 Host-4 (0000.6503.1d0e) Host-1 Host-2 Host-3
Entry Added IGMP Snooping — 1st Join Router-A IGMP Report224.1.2.3 1 LAN Switch Switching Engine CPU 0 CAMTable 2 3 4 5 MAC Address Ports 0100.5e01.0203 0,1,2 Host-1 Host-2 Host-3 Host-4
Port Added IGMP Snooping — 2nd Join Router-A IGMP Report224.1.2.3 1 LAN Switch Switching Engine CPU 0 CAMTable 2 3 4 5 MAC Address Ports 0100.5e01.0203 0,1,2 ,5 Host-1 Host-2 Host-3 Host-4
IGMP Snooping — Leaves Router-A 1 LAN Switch Switching Engine (w/L3 ASICs) CPU 0 IGMP Leave Group 224.1.2.3 (0100.5e00.0002) CAMTable 2 3 4 5 MAC Address L3 Ports 0100.5e00.00xx IGMP 0 0100.5e01.0203 IGMP 0 0100.5e01.0203 !IGMP 1,2,5 Host-1 Host-2 Host-3 Host-4
IGMP Snooping — Leaves (cont.) Router-A 1 LAN Switch Switching Engine (w/L3 ASICs) CPU 0 IGMP General Query 224.0.0.1 (0100.5e00.0001) CAMTable 2 3 4 5 MAC Address L3 Ports 0100.5e00.00xx IGMP 0 0100.5e01.0203 IGMP 0 0100.5e01.0203 !IGMP 1,2,5 Host-1 Host-2 Host-3 Host-4
IGMP Snooping — Leaves Router-A IGMP Leave Group 224.1.2.3 (0100.5e00.0002) 1 LAN Switch Switching Engine (w/L3 ASICs) CPU 0 CAMTable 2 3 4 5 MAC Address L3 Ports 0100.5e00.00xx IGMP 0 0100.5e01.0203 IGMP 0 0100.5e01.0203 !IGMP 1,5 Host-1 Host-2 Host-3 Host-4
IGMP Snooping — Leaves Router-A 1 LAN Switch IGMP Leave Group 224.1.2.3 (0100.5e01.0203) Switching Engine (w/L3 ASICs) CPU 0 CAMTable 2 3 4 5 MAC Address L3 Ports 0100.5e00.00xx IGMP 0 0100.5e01.0203 IGMP 0 0100.5e01.0203 !IGMP 1,5 Host-1 Host-2 Host-3 Host-4
IGMP Snooping — Leaves Router-A 1 IGMP General Query 224.0.0.1 (0100.5e00.0001) LAN Switch Switching Engine (w/L3 ASICs) CPU 0 CAMTable 2 3 4 5 MAC Address L3 Ports 0100.5e00.00xx IGMP 0 Host-1 Host-2 Host-3 Host-4
IGMP Snooping — Leaves Router-A IGMP Leave Group 224.1.2.3 (0100.5e00.0002) 1 LAN Switch Switching Engine (w/L3 ASICs) CPU 0 CAMTable 2 3 4 5 MAC Address L3 Ports 0100.5e00.00xx IGMP 0 Host-1 Host-2 Host-3 Host-4
Unnecessary Traffic!!! Design Issue - Server Location VLAN1 VLAN2 VLAN3 VideoServer
Design Issue - Server Location VideoServer VLAN1 VLAN2 VLAN3 Keep high B/W sources close to router.
Unnecessary MulticastTraffic !!! Holy Multicast, Batman!! 3MB of unwanted data! (Choke, gasp, wheeze!) Unnecessary MulticastTraffic !!! Design Issue - Core Switch Video Server Router-A 1.5MB MPEG Video Streams T1 WAN Router-D Router-B Router-C Receiver Group 1 Receiver Group 2
Unnecessary MulticastTraffic !!! Design Issue - Core Switch Video Server Router-A T1 WAN 1.5MB MPEG Video Streams Router-D Move WAN Router to another VLAN segment. Router-B Router-C Receiver Group 1 Receiver Group 2
IGMP Summary • IGMP Snooping • Requires special “Layer-3-aware” ASICs • Increases cost of switch • Design Issues • Pay attention to Campus topology • IGMP Snooping can’t solve all L2 Flooding issues.
Multicast Routing • Multicast routing is backwards from Unicast routing • Unicast Routing is concerned about where the packet is going • Multicast routing is concerned about where the packet came from • Multicast routing uses “Reverse-Path Forwarding” • A router forwards a multicast datagram only if received on the up stream interface to the source
Multicast Routing • Dense-mode multicast routing • Distance Vector Multicast Routing Protocol (DVMRP • Multicast Open Shortest Path First (MOSPF) • Protocol Independent Multicast – Dense Mode (PIM-DM) • Sparse-mode multicast routing • Core Based Trees (CBT) • Protocol Independent Multicast – Sparse Mode (PIM-SM)
DVMRP Summary • First datagram for any (source,group) pair is delivered to all leaf routers • Leaf routers with no group members on their subnetworks send prune messages back towards the source • Ultimately results in source specific shortest path tree with all leaf routers with group members • After a period of time the pruned brances graft back and the next datagram is forwarded to the leaves • Routers can send graft messages to quickly graft pruned brances
PIM Sparse Mode Summary • A part of Class D multicast address space has been reserved for PIM-SM • Each PIM-SM group has a primary RP and a small ordered set of alternative RPs • A PIM router has the option to switch to source rooted shortest path tree based on local policy • PIM-SM requires routers to maintain significant state information • Deployment of PIM-SM requires tight co-ordination among ISPs
Research Areas • Scalable multicast routing • Reliable multicast
Interdomain Multicast Protocols • Multicast routing across domains: MBGP • Multicast Source Discovery: MSDP with PIM-SM