1april 16, 2002 layer 3 multicast addressing ip group addresses 224.0.0.0–239.255.255.255 “class...
TRANSCRIPT
1April 16, 2002
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
2April 16, 2002
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
3April 16, 2002
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
4April 16, 2002
Layer 2 Multicast Addressing—(Ethernet)
A Layer 3 IPmc Address Maps to a Layer 2 Multicast Address:
Be Aware of the Overlap of Layer 3 Be Aware of the Overlap of Layer 3 Addresses to Layer 2 AddressesAddresses to Layer 2 Addresses
32 Bits
23 Bits
24 Bits 24 Bits
48 Bits
01-00-5e-7f-00-0101-00-5e-7f-00-01
239.255.0.1239.255.0.1
5April 16, 2002
Layer 2 Multicast Addressing—(Ethernet)
Be Aware of the Overlap of Layer 3 Be Aware of the Overlap of Layer 3 Addresses to Layer 2 AddressesAddresses to Layer 2 Addresses
01-00-5e-01-01-0101-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
6April 16, 2002
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
7April 16, 2002
IGMPv1• RFC 1112— “Host extensions for IP
Multicasting”
– Membership QueriesQuerier sends IGMP query messages to 224.0.0.1 with ttl = 1,
determining what group addresses have members on that subnet
One router on LAN is designated/elected to send queries, but all routers listen to the replies/reports
Query interval 60–120 seconds
– Membership ReportsIGMP 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
8April 16, 2002
H3
IGMPv1—Joining a Group
• Joining member sends report to 224.1.1.1 immediately upon joining
H3224.1.1.1
Report
IGMPv1
H1 H2
9April 16, 2002
IGMPv1—General Queries
• Periodically sends General Queries to 224.0.0.1 to determine memberships
General Query to 224.0.0.1
IGMPv1
H1 H2 H3
MulticastRouter
10April 16, 2002
IGMPv1—Maintaining a Group
IGMPv1
#1#1 Router sends periodic queries
Query to224.0.0.1 #1#1
#2#2 One member per group per subnet reports
224.1.1.1
Report#2#2
#3#3 Other members suppress reports
224.1.1.1
SuppressedX
#3#3
224.1.1.1
SuppressedX
#3#3
H1 H2 H3
11April 16, 2002
H3
• Router sends periodic queries
Query to224.0.0.1
• Hosts silently leave group
H3
• Router continues sending periodic queries
Query to224.0.0.1
IGMPv1—Leaving a Group
IGMPv1
H1 H2
• No Reports for group received by router
• Group times out
12April 16, 2002
IGMPv2
• RFC 2236
–Leave Group messageHost 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 queryAfter 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
13April 16, 2002
IGMPv2 — (cont.)
– Querier election mechanismOn multiaccess networks, an IGMP Querier router iselected based on lowest IP address. Only the Querier router sends Querys.
– Query-Interval Response TimeGeneral 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
14April 16, 2002
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.
15April 16, 2002
H2
IGMPv2—Joining a Group
• Joining member sends report to 224.1.1.1 immediately upon joining (same as IGMPv1)
H2224.1.1.1
Report
1.1.1.1
H1 H3
1.1.1.10 1.1.1.11 1.1.1.12
rtr-a
16April 16, 2002
IGMPv2—Querier Election
IGMPv2
1.1.1.11.1.1.2
H1 H2 H3
1.1.1.10 1.1.1.11 1.1.1.12
• Intially all routers send out a Query
Query Query
• Router w/lowest IP address “elected” querier
IGMPQuerier
• Other routers become “Non-Queriers”
IGMPNon-Querier
rtr-artr-b
17April 16, 2002
IGMPv2—Maintaining a Group
• Router sends periodic queries
Query1.1.1.1
IGMPv2
1.1.1.10 1.1.1.11 1.1.1.12
• One member per group per subnet reports
224.1.1.1
Report
• Other members suppress reports
224.1.1.1
SuppressedX
224.1.1.1
SuppressedX
H1 H2 H3
18April 16, 2002
IGMPv2—Leaving a Group
rtr-a>sh ip igmp groupIGMP Connected Group MembershipGroup Address Interface Uptime Expires Last Reporter224.1.1.1 Ethernet0 6d17h 00:02:31 1.1.1.11
1.1.1.1
H1 H2 H3
1.1.1.10 1.1.1.11 1.1.1.12
rtr-a
IGMP State in “rtr-a” before Leave
19April 16, 2002
IGMPv2—Leaving a Group
• H2 leaves group; sends Leave message
1.1.1.1
H1 H2 H3
1.1.1.10 1.1.1.11 1.1.1.12
H2
Leave to224.0.0.2
224.1.1.1
#1#1
• Router sends Group specific query
Group SpecificQuery to 224.1.1.1
#2#2
• A remaining member host sends report
Report to224.1.1.1
224.1.1.1
#3#3
• Group remains active
rtr-a
20April 16, 2002
IGMPv2—Leaving a Group
rtr-a>sh ip igmp groupIGMP Connected Group MembershipGroup Address Interface Uptime Expires Last Reporter224.1.1.1 Ethernet0 6d17h 00:01:47 1.1.1.12
1.1.1.1
H1 H2 H3
1.1.1.10 1.1.1.11 1.1.1.12
rtr-a
IGMP State in “rtr-a” after H2 Leaves
21April 16, 2002
IGMPv2—Leaving a Group
• Last host leaves group; sends Leave message
1.1.1.1
H1 H3
1.1.1.10 1.1.1.11 1.1.1.12
H3
Leave to224.0.0.2
224.1.1.1
#1#1
• Router sends Group specific query
Group SpecificQuery to 224.1.1.1
#2#2
• No report is received• Group times out
rtr-a
H2
22April 16, 2002
IGMPv2—Leaving a Group
rtr-a>sh ip igmp groupIGMP Connected Group MembershipGroup Address Interface Uptime Expires Last Reporter
1.1.1.1
H1 H2 H3
1.1.1.10 1.1.1.11 1.1.1.12
rtr-a
IGMP State in “rtr-a” after H3 Leaves
23April 16, 2002
L2 Multicast Frame Switching
• 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.
Multicast M
PIM
Problem: Layer 2 Flooding of Multicast Frames
24April 16, 2002
L2 Multicast Frame Switching
• 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 ReportsIGMP Leave Messages
• Impact on Switch : Must process ALL layer 2 Mcast packets
Admin. load increases w/Mcast traffic loadRequires special h/w to maintain throughput
PIM
IGMP
IGMP Snooping
IGMP
1
2
MAC Address Port0000.6503.1d0e 5
0
Host-1
Router-A
3
Host-2
4
Host-3
5
Host-4(0000.6503.1d0e)
CAMTableCAMTable
Switching EngineCPUCPU
LAN Switch
Typical L2 Switch Architecture
1
2
MAC Address Ports
IGMP Report224.1.2.3
IGMP Report224.1.2.3
0
Host-1
Router-A
3
Host-2
4
Host-3
5
Host-4
CAMTableCAMTable
Switching EngineCPUCPU
LAN Switch
IGMP Snooping — 1st Join
0100.5e01.0203 0,1,2
Entry Added
LAN Switch
CAMTableCAMTable
1
2
MAC Address Ports 0100.5e01.0203 0,1,2
IGMP Report224.1.2.3
IGMP Report224.1.2.3
0CPUCPU
Host-1
Router-A
3
Host-2
4
Host-3
5
Host-4
Switching Engine
IGMP Snooping — 2nd Join
,5
Port Added
LAN Switch
CAMTableCAMTable
1
2
0CPUCPU
Host-1
Router-A
3
Host-2
4
Host-3
5
Host-4
Switching Engine(w/L3 ASICs)
IGMP Leave Group224.1.2.3
(0100.5e00.0002)
IGMP Leave Group224.1.2.3
(0100.5e00.0002)
MAC Address L3 Ports 0100.5e00.00xx IGMP 00100.5e01.0203 IGMP 00100.5e01.0203 !IGMP 1,2,5
IGMP Snooping — Leaves
LAN Switch
CAMTableCAMTable
1
2
0CPUCPU
Host-1
Router-A
3
Host-2
4
Host-3
5
Host-4
Switching Engine(w/L3 ASICs)
IGMP General Query224.0.0.1
(0100.5e00.0001)
IGMP General Query224.0.0.1
(0100.5e00.0001)
MAC Address L3 Ports 0100.5e00.00xx IGMP 00100.5e01.0203 IGMP 00100.5e01.0203 !IGMP 1,2,5
IGMP Snooping — Leaves (cont.)
LAN Switch
CAMTableCAMTable
1
2
0CPUCPU
Host-1
Router-A
3
Host-2
4
Host-3
5
Host-4
Switching Engine(w/L3 ASICs)
IGMP Leave Group224.1.2.3
(0100.5e00.0002)
IGMP Leave Group224.1.2.3
(0100.5e00.0002)
MAC Address L3 Ports 0100.5e00.00xx IGMP 00100.5e01.0203 IGMP 00100.5e01.0203 !IGMP 1,5
IGMP Snooping — Leaves
LAN Switch
CAMTableCAMTable
1
2
0CPUCPU
Host-1
Router-A
3
Host-2
4
Host-3
5
Host-4
Switching Engine(w/L3 ASICs)
IGMP Leave Group224.1.2.3
(0100.5e01.0203)
IGMP Leave Group224.1.2.3
(0100.5e01.0203)
MAC Address L3 Ports 0100.5e00.00xx IGMP 00100.5e01.0203 IGMP 00100.5e01.0203 !IGMP 1,5
IGMP Snooping — Leaves
LAN Switch
CAMTableCAMTable
1
2
0CPUCPU
Host-1
Router-A
3
Host-2
4
Host-3
5
Host-4
Switching Engine(w/L3 ASICs)
MAC Address L3 Ports 0100.5e00.00xx IGMP 0
IGMP General Query224.0.0.1
(0100.5e00.0001)
IGMP General Query224.0.0.1
(0100.5e00.0001)
IGMP Snooping — Leaves
LAN Switch
CAMTableCAMTable
1
2
0CPUCPU
Host-1
Router-A
3
Host-2
4
Host-3
5
Host-4
Switching Engine(w/L3 ASICs)
IGMP Leave Group224.1.2.3
(0100.5e00.0002)
IGMP Leave Group224.1.2.3
(0100.5e00.0002)
MAC Address L3 Ports 0100.5e00.00xx IGMP 0
IGMP Snooping — Leaves
34April 16, 2002
VideoServer
Unnecessary Traffic!!!Unnecessary Traffic!!!Unnecessary Traffic!!!Unnecessary Traffic!!!
VLAN1 VLAN2 VLAN3
Design Issue - Server Location
35April 16, 2002
VideoServer
VLAN1 VLAN2 VLAN3
Design Issue - Server Location
Keep high B/W sources close to router.
36April 16, 2002
ReceiverGroup 2
ReceiverGroup 1
T1 WAN
VideoServer
1.5MBMPEGVideo
Streams
UnnecessaryUnnecessaryMulticastMulticastTraffic !!!Traffic !!!
UnnecessaryUnnecessaryMulticastMulticastTraffic !!!Traffic !!!
Holy Multicast, Batman!!3MB of unwanted data!(Choke, gasp, wheeze!)
Router-A
Router-B Router-C
Router-D
Design Issue - Core Switch
UnnecessaryUnnecessaryMulticastMulticastTraffic !!!Traffic !!!
UnnecessaryUnnecessaryMulticastMulticastTraffic !!!Traffic !!!
37April 16, 2002
ReceiverGroup 2
ReceiverGroup 1
T1 WAN
VideoServer
1.5MBMPEGVideo
Streams
UnnecessaryUnnecessaryMulticastMulticastTraffic !!!Traffic !!!
UnnecessaryUnnecessaryMulticastMulticastTraffic !!!Traffic !!!
Router-A
Router-B Router-C
Router-D
Design Issue - Core Switch
Move WAN Router to another VLAN segment.
38April 16, 2002
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.
39April 16, 2002
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
40April 16, 2002
Multicast Routing
• Dense-mode multicast routingDistance Vector Multicast Routing Protocol (DVMRP
Multicast Open Shortest Path First (MOSPF)
Protocol Independent Multicast – Dense Mode (PIM-DM)
• Sparse-mode multicast routingCore Based Trees (CBT)
Protocol Independent Multicast – Sparse Mode (PIM-SM)
41April 16, 2002
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
42April 16, 2002
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
43April 16, 2002
Research Areas
• Scalable multicast routing
• Reliable multicast
44April 16, 2002
Interdomain Multicast Protocols
• Multicast routing across domains: MBGP
• Multicast Source Discovery: MSDP with PIM-SM