IP Multicast

canoeornithologistNetworking and Communications

Oct 26, 2013 (4 years and 15 days ago)

68 views

1

April 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

2

April 16, 2002

Multicast Group Addressing


Group addresses have inherent scope:

-
Link scope: 224.0.0.0

224.0.0.255

These are never forwarded by any router

-
Global scope: 224.0.1.0


238.255.255.255

Can be delivered throughout the Internet

-
Administrative scope: 239.0.0.0


239.255.255.255

Not forwarded beyond an organization’s network

3

April 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

4

April 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
Addresses to Layer 2 Addresses

32 Bits

23 Bits

24 Bits

24 Bits

48 Bits

01
-
00
-
5e
-
7f
-
00
-
01

239.255.0.1

5

April 16, 2002

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

6

April 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

7

April 16, 2002

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 router

on 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

8

April 16, 2002

H3


IGMPv1

Joining a Group


Joining member sends report to
224.1.1.1 immediately upon joining

H3

224.1.1.1

Report

IGMPv1

H1

H2

9

April 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

Multicast

Router

10

April 16, 2002

IGMPv1

Maintaining a Group

IGMPv1

#1

Router sends periodic queries

Query to

224.0.0.1

#1

#2

One member per group per subnet reports

224.1.1.1

Report

#2

#3

Other members suppress reports

224.1.1.1

Suppressed

X

#3

224.1.1.1

Suppressed

X

#3

H1

H2

H3

11

April 16, 2002

H3



Router sends periodic queries

Query to

224.0.0.1



Hosts silently leave group

H3



Router continues sending periodic queries

Query to

224.0.0.1

IGMPv1

Leaving a Group

IGMPv1

H1

H2



No Reports for group received by router



Group times out

12

April 16, 2002

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


13

April 16, 2002

IGMPv2


(cont.)



Querier election mechanism

On multiaccess networks, an IGMP Querier router is

elected based on lowest IP address. Only the Querier router
sends Querys.



Query
-
Interval Response Time

General Queries specify “Max. Response Time” which

inform hosts of the maximum time within which a host

must respond to General Query. (Improves burstiness

of the responses.)



Backward compatible with IGMPv1

14

April 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.



15

April 16, 2002

H2

IGMPv2

Joining a Group


Joining member sends report to 224.1.1.1
immediately upon joining (same as IGMPv1)

H2

224.1.1.1

Report

1.1.1.1

H1

H3

1.1.1.10

1.1.1.11

1.1.1.12

rtr
-
a

16

April 16, 2002

IGMPv2

Querier Election

IGMPv2

1.1.1.1

1.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

IGMP

Querier



Other routers become “Non
-
Queriers”

IGMP

Non
-
Querier

rtr
-
a

rtr
-
b

17

April 16, 2002

IGMPv2

Maintaining a Group


Router sends periodic queries

Query

1.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

Suppressed

X

224.1.1.1

Suppressed

X

H1

H2

H3

18

April 16, 2002

IGMPv2

Leaving a Group

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

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

19

April 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 to

224.0.0.2

224.1.1.1

#1


Router sends Group specific query

Group Specific

Query to 224.1.1.1

#2


A remaining member host sends report

Report to

224.1.1.1

224.1.1.1

#3


Group remains active

rtr
-
a

20

April 16, 2002

IGMPv2

Leaving a Group

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

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

21

April 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 to

224.0.0.2

224.1.1.1

#1


Router sends Group specific query

Group Specific

Query to 224.1.1.1

#2


No report is received


Group times out

rtr
-
a

H2

22

April 16, 2002

IGMPv2

Leaving a Group

rtr
-
a>
sh ip igmp group

IGMP Connected Group Membership

Group 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

23

April 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

24

April 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 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

PIM

IGMP

IGMP Snooping

IGMP

1

2

MAC Address

Port

0000.6503.1d0e


5


0

Host
-
1

Router
-
A

3

Host
-
2

4

Host
-
3

5

Host
-
4

(0000.6503.1d0e)

CAM

Table

Switching

Engine

CPU

LAN Switch

Typical L2 Switch Architecture

1

2

MAC Address

Ports

IGMP Report

224.1.2.3


0

Host
-
1

Router
-
A

3

Host
-
2

4

Host
-
3

5

Host
-
4

CAM

Table

Switching

Engine

CPU

LAN Switch

IGMP Snooping


1st Join

0100.5e01.0203

0,1,2

Entry Added

LAN Switch

CAM

Table

1

2

MAC Address

Ports

0100.5e01.0203

0,1,2

IGMP Report

224.1.2.3


0

CPU

Host
-
1

Router
-
A

3

Host
-
2

4

Host
-
3

5

Host
-
4

Switching

Engine

IGMP Snooping


2nd Join

,5

Port Added

LAN Switch

CAM

Table

1

2


0

CPU

Host
-
1

Router
-
A

3

Host
-
2

4

Host
-
3

5

Host
-
4

Switching Engine

(w/L3 ASICs)

IGMP Leave Group

224.1.2.3

(0100.5e00.0002)

MAC Address


L3

Ports

0100.5e00.00xx

IGMP

0

0100.5e01.0203

IGMP

0

0100.5e01.0203

!IGMP

1,2,5

IGMP Snooping


Leaves

LAN Switch

CAM

Table

1

2


0

CPU

Host
-
1

Router
-
A

3

Host
-
2

4

Host
-
3

5

Host
-
4

Switching Engine

(w/L3 ASICs)

IGMP General Query

224.0.0.1

(0100.5e00.0001)

MAC Address


L3

Ports

0100.5e00.00xx

IGMP

0

0100.5e01.0203

IGMP

0

0100.5e01.0203

!IGMP

1,2,5

IGMP Snooping


Leaves (cont.)

LAN Switch

CAM

Table

1

2


0

CPU

Host
-
1

Router
-
A

3

Host
-
2

4

Host
-
3

5

Host
-
4

Switching Engine

(w/L3 ASICs)

IGMP Leave Group

224.1.2.3

(0100.5e00.0002)

MAC Address


L3

Ports

0100.5e00.00xx

IGMP

0

0100.5e01.0203

IGMP

0

0100.5e01.0203

!IGMP

1,5

IGMP Snooping


Leaves

LAN Switch

CAM

Table

1

2


0

CPU

Host
-
1

Router
-
A

3

Host
-
2

4

Host
-
3

5

Host
-
4

Switching Engine

(w/L3 ASICs)

IGMP Leave Group

224.1.2.3

(0100.5e01.0203)

MAC Address


L3

Ports

0100.5e00.00xx

IGMP

0

0100.5e01.0203

IGMP

0

0100.5e01.0203

!IGMP

1,5

IGMP Snooping


Leaves

LAN Switch

CAM

Table

1

2


0

CPU

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 Query

224.0.0.1

(0100.5e00.0001)

IGMP Snooping


Leaves

LAN Switch

CAM

Table

1

2


0

CPU

Host
-
1

Router
-
A

3

Host
-
2

4

Host
-
3

5

Host
-
4

Switching Engine

(w/L3 ASICs)

IGMP Leave Group

224.1.2.3

(0100.5e00.0002)

MAC Address


L3

Ports

0100.5e00.00xx

IGMP

0


IGMP Snooping


Leaves

34

April 16, 2002

Video

Server

Unnecessary Traffic!!!

VLAN1

VLAN2

VLAN3

Design Issue
-

Server Location

35

April 16, 2002

Video

Server

VLAN1

VLAN2

VLAN3

Design Issue
-

Server Location

Keep high B/W sources close to router.

36

April 16, 2002

Receiver

Group 2

Receiver

Group 1

T1

WAN

Video

Server

1.5MB

MPEG

Video

Streams

Unnecessary

Multicast

Traffic !!!

Holy Multicast, Batman!!

3MB of unwanted data!

(Choke, gasp, wheeze!)

Router
-
A

Router
-
B

Router
-
C

Router
-
D

Design Issue
-

Core Switch

Unnecessary

Multicast

Traffic !!!

37

April 16, 2002

Receiver

Group 2

Receiver

Group 1

T1

WAN

Video

Server

1.5MB

MPEG

Video

Streams

Unnecessary

Multicast

Traffic !!!

Router
-
A

Router
-
B

Router
-
C

Router
-
D

Design Issue
-

Core Switch

Move WAN Router to

another VLAN segment.

38

April 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.

39

April 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

40

April 16, 2002

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)

41

April 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


42

April 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

43

April 16, 2002

Research Areas


Scalable multicast routing


Reliable multicast

44

April 16, 2002

Interdomain Multicast Protocols


Multicast routing across domains:
MBGP


Multicast Source Discovery: MSDP
with PIM
-
SM