1April 16, 2002 Layer 3 Multicast Addressing IP group addresses 224.0.0.0–239.255.255.255 “Class...

Preview:

Citation preview

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

Recommended