50
Multicast EECS 122: Lecture 16 Department of Electrical Engineering and Computer Sciences University of California Berkeley

Multicast EECS 122: Lecture 16

  • Upload
    caelan

  • View
    26

  • Download
    0

Embed Size (px)

DESCRIPTION

Multicast EECS 122: Lecture 16. Department of Electrical Engineering and Computer Sciences University of California Berkeley. Broadcasting to Groups. Many applications are not one-one Broadcast Group collaboration Proxy/Cache updates Resource Discovery - PowerPoint PPT Presentation

Citation preview

Page 1: Multicast EECS 122: Lecture 16

MulticastEECS 122: Lecture 16

Department of Electrical Engineering and Computer Sciences

University of California

Berkeley

Page 2: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

2

Broadcasting to Groups

Many applications are not one-one Broadcast Group collaboration Proxy/Cache updates Resource Discovery

Packets must reach a Group rather than a single destination Group membership may be dynamic More than one group member might be

a source Idea: After a group is established

Interested receivers join the group The network takes care of group

management Recall RSVP

WebcastsRadio/TVPush/IE Channels

ChatsVideo ConferencingAudio Conferencing

Caches and Proxies

Page 3: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

3

The Multicast service Model

Membership access control open group: anyone can

join closed group: restrictions on

joining Sender access control

anyone can send to group anyone in group can send

to group only one host can send to

group Packet delivery is best effort

R0 joins G

R1 joins G

Rn-1 joins G

S

R0

R1

.

.

.

[G, data]

[G, data]

[G, data]

[G, data]

Rn-1

Net

Page 4: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

4

Multicast and Layering

Multicast can be implemented at different layers

data link layer e.g. Ethernet multicast

network layer e.g. IP multicast

application layer e.g. as an overlay network like Kazaa

Which layer is best?

Page 5: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

5

Multicast Implementation Issues How are multicast packets addressed? How is join implemented? How is send implemented?

How does multicast traffic get routed? This is easy at the link layer and hardest at the network

layer

How much state is kept and who keeps it?

Page 6: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

6

Ethernet Multicast

Reserve some Ethernet MAC addresses for multicast To join group G

network interface card (NIC) normally only listens for packets sent to unicast address A and broadcast address B

to join group G, NIC also listens for packets sent to multicast address G (NIC limits number of groups joined)

implemented in hardware, so efficient To send to group G

packet is flooded on all LAN segments, like broadcast can waste bandwidth, but LANs should not be very large

Only host NICs keep state about who has joined scalable to large number of receivers, groups

Page 7: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

7

Limitations of Data Link Layer Multicast Single LAN

limited to small number of hosts limited to low diameter latency essentially all the limitations of LANs compared to

internetworks Broadcast doesn’t cut it in larger networks

Page 8: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

8

IP Multicast: Interconnecting LANS

Interconnected LANs LANs support link-level

multicast Map globally unique

multicast address to LAN-based multicast address (LAN-specific algorithm)

IP Group addresses are class D addresses

1110/28 or 224.0.0.0 to 239.255.255.255

Page 9: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

9

Internet Group Management ProtocolIGMP Operates between Router and local Hosts,

typically attached via a LAN (e.g., Ethernet) Query response architecture

1. Router periodically queries the local Hosts for group membership information Can be specific or general

2. Hosts receiving query set a random timer before responding

3. First host to respond sends membership reports

4. All the other hosts observe the query and suppress their own repots.

To Join send a group send an unsolicited Join Start a group by joining it

To leave don’t have to do anything Soft state

Query to 224.0.0.1Report

SuppressesReport

Page 10: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

10

Naïve Routing Option: Don’t change anything

S

R0

R1

.

.

.

[R0, data]

[R1, data]

[Rn-1, data]

[R0, data]

[R1, data]

[Rn-1 , data]

Rn-1

Net

Group abstraction not implemented inthe network

Point-to point routing

Page 11: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

11

This approach does not scale…

BackboneISP

BroadcastCenter

Page 12: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

12

Instead build trees

BackboneISP

BroadcastCenter

Copy data at routersAt most one copy of a data packet per link

•Routers keep track of groups in real-time•“Path” computation is Tree computation

•LANs implement layer 2 multicast by broadcasting

Page 13: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

13

Routing: Approaches

Kinds of Trees Shared Tree Source Specific Trees

Tree Computation Methods Intradomain Update methods

Build on unicast Link State: MOSPF Build on unicast Distance Vector: DVMRP Protocol Independent: PIM

Interdomain routing: BGMP This is still evolving…

Page 14: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

14

Source Specific Trees

6

7

8

5

4

31

2

12

10

13

11

Each source is the route of its own tree.

Page 15: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

15

Source Specific Trees

6

7

8

5

4

31

2

12

10

13

11

Each source is the route of its own tree. One tree for each source

Can pick “good” trees but lots of state at the routers!

Page 16: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

16

Shared Tree

6

7

8

5

4

31

2

12

10

13

11

One tree used by all

Can’t pick “good” trees but minimal state at the routers

Page 17: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

17

Tree Computation

6

7

8

5

4

31

2

12

10

13

11

12

23

21

22

11

15

12

21

2

12

2

7

2

2

•A tree which connects all the group nodes is a Steiner Tree •Finding the min cost Steiner Tree is NP hard

Page 18: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

18

Tree Computation

6

7

8

5

4

31

2

12

10

13

11

12

23

21

22

11

15

12

21

2

12

2

7

2

2

•A tree which connects all the group nodes is a Steiner Tree •Finding the min cost Steiner Tree is NP hard

Page 19: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

19

Tree Computation

6

7

8

5

4

31

2

12

10

13

11

12

23

21

22

11

15

12

21

2

12

2

7

2

2

•A tree which connects all the group nodes is a Steiner Tree •Finding the min cost Steiner Tree is NP hard•The tree does not span the network•Heuristics are known

Page 20: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

20

Tree Computation

6

7

8

5

4

31

2

12

10

13

11

12

23

21

22

11

15

12

21

2

12

2

7

2

2

•A tree that connects all of the nodes in the graph is a spanning tree•Finding a minimum spanning tree is much easier

Page 21: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

21

Tree Computation

6

7

8

5

4

31

2

12

10

13

11

12

23

21

22

11

15

12

21

2

12

2

7

2

2

•A tree that connects all of the nodes in the graph is a spanning tree•Finding a minimum spanning tree is much easier

Page 22: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

22

Tree Computation

6

7

8

5

4

31

2

12

10

13

11

12

23

21

22

11

15

12

21

2

12

2

7

2

2

•A tree that connects all of the nodes in the graph is a spanning tree•Finding a minimum spanning tree is much easier•Prune back to get a multicast tree

Page 23: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

23

Tree Computation

6

7

8

5

4

31

2

12

10

13

11

12

23

21

22

11

15

12

21

2

12

2

7

2

2

•A tree that connects all of the nodes in the graph is a spanning tree•Finding a minimum spanning tree is much easier•Prune back to get a multicast tree

Page 24: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

24

Link State Protocols e.g. MOSPF Use in conjunction with a link state protocol

for unicast Enhance the LSP updates with group

membership Compute best tree from source Flood Membership in link state

advertisements Dynamics are a problem

Page 25: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

25

Distance Vector Multicast Routing An elegant extension to DV routing Use shortest path DV routes to determine if

link is on the source-rooted spanning tree

Page 26: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

26

Distance Vector Multicast

Extension to DV unicast routing Packet forwarding

iff incoming link is shortest path to source

out all links except incoming Reverse Path Flooding (RPF) packets always take shortest path

assuming delay is symmetric Issues

Every link receives each multicast packet, even if no interested hosts: Pruning

Some links (LANs) may receive multiple copies: Reverse Path Broadcasting

s:2s:2

ss

s:1s:1

s:3s:3

s:2s:2

s:3s:3

rr

Page 27: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

27

Example

Flooding can cause a given packet to be sent multiple times over the same link

Solution: Reverse Path Broadcasting

xx yy

zz

SS

a

b

duplicate packet

Page 28: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

28

Reverse Path Broadcasting (RPB) Extend DV to eliminate

duplicate packets Choose parent router for each

link router with shortest path to

source lowest address breaks ties each router can compute

independently from already known information

each router keeps a bitmap with one bit for each of its links

Only parent forwards onto link

s:2s:2

ss

s:1s:1

s:3s:3

s:2s:2

s:3s:3

rr

P

C

Page 29: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

29

Identify Child Links

Routing updates identify parent Since distances are known, each router can

easily figure out if it's the parent for a given link

In case of tie, lower address wins

Page 30: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

30

Reverse Path Broadcasting (RPB)

xx yy

zz

SS

a

b

5 6

child link of xfor S

forward onlyto child link

Page 31: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

31

Don’t really want to flood!

This is still a broadcast algorithm – the traffic goes everywhere

Need to “Prune” the tree when there are subtrees with no group members

Strategy

1. Identify leaf networks with no members IGMP

2. Propagate this information up the subtree

Page 32: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

32

How much to Prune?

Truncated Reverse Path Broadcasting: Prunes to prevent flooding of all packets

Reverse Path Multicasting: More aggressive. Scale router state with the number of active groups Use on-demand pruning so that router group state

scales with number of active groups (not all groups)

Page 33: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

33

Pruning Details

Prune (Source,Group) at leaf if no members Send Non-Membership Report (NMR) up tree

If all children of router R prune (S,G) Propagate prune for (S,G) to parent R

On timeout: Prune dropped Flow is reinstated Down stream routers re-prune

Note: again a soft-state approach

Page 34: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

34

Pruning Details

How to pick prune timers? Too long large join time Too short high control overhead

What do you do when a member of a group (re)joins?

Issue prune-cancellation message (grafts)

Page 35: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

35

What to do if most of the routers in the internet are not multicast enabled?

Tunnel between multicast enabled routers

Creates an “overlay” network but both operate at Level 3…

This is how multicast was first deployed

MBONE

IP

IPM

IPM

Page 36: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

36

RMP Scaling

State requirements: O(Sources Groups) active state

How to get better scaling? Hierarchical Multicast Core-based Trees

Page 37: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

37

Core Based Trees (CBT)

Pick a “rendevouz point” for the group called the core.

Shared tree Unicast packet to core and bounce it back to

multicast group Tree construction is receiver-based

Joins can be tunneled if required Only nodes on One tree per group tree involved

Reduce routing table state from O(S x G) to O(G)

Page 38: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

38

Example

Group members: M1, M2, M3 M1 sends data

root

M1

M2 M3

control (join) messagesdata

Page 39: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

39

Disadvantages

Sub-optimal delay Single point of failure

Core goes out and everything lost until error recovery elects a new core

Small, local groups with non-local core Need good core selection Optimal choice (computing topological center) is

NP complete

Page 40: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

40

PIM

Popular intradomain method UUNET streaming using this

Recognizes that most groups are very sparse Why have all of the routers participate in keeping

state? Two modes

Dense mode: flood and prune Sparse mode: Core-based shared tree approach

with a twist

Page 41: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

41

PIM Sparse Mode

Routers explicitly issue JOIN and Prune messages to the Core Recievers typically send a Join message of the form (*,G)

As it propagates towards the core it establishes a new branch of the shared tree

To send on the tree, tunnel to the core and then traverse the shared tree This can lead to bad performance

To optimize sending from S, the core can send Join message of the form (S,G) to S. Creates a specific path from S to the core

Receivers can send (S,G) messages as well to S and gradually replace the shared tree with a source specific tree

Page 42: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

42

Problems with Network Layer Multicast Scales poorly with number of groups

A router must maintain state for every group that traverses it

many groups traverse core routers Supporting higher level functionality is difficult

NLM: best-effort multi-point delivery service Reliability and congestion control for NLM

complicated Deployment is difficult and slow

Difficult to debug problems given the service model

Page 43: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

43

NLM Reliability

Assume reliability through retransmission Sender can not keep state about each receiver

e.g., what receivers have received number of receivers unknown and possibly very large

Sender can not retransmit every lost packet even if only one receiver misses packet, sender must

retransmit, lowering throughput N(ACK) implosion

described next

Page 44: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

44

(N)ACK Implosion

(Positive) acknowledgements ack every n received packets what happens for multicast?

Negative acknowledgements only ack when data is lost assume packet 2 is lost

SS

R1R1

R2R2

R3R3

123

Page 45: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

45

NACK Implosion

When a packet is lost all receivers in the sub-tree originated at the link where the packet is lost send NACKs

SS

R1R1

R2R2

R3R3

3

3

3

2?

2?

2?

Page 46: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

46

Scalable Reliable Multicast (SRM) Randomize NACKs (request repairs) All traffic including request repairs and repairs are

multicast A repair can be sent by any node that heard the

request A node suppresses its request repair if another node

has just sent a request repair for the same data item

A node suppresses a repair if another node has just sent the repair

Page 47: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

47

Avoiding NACK Implosions

Every node estimates distance (in time) from every other node

Information is carried in session reports (< 5% of bandwidth)

Nodes use randomized function of distance to decide when to

Send a request repair Reply to a request repair

Page 48: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

48

ISPs charge by bandwidth

BackboneISP

BroadcastCenter

They make more money without multicast

Remember whatinterdomain protocolsoptimize for….

Page 49: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

49

Application Layer Multicast

Provide multicast functionality above the IP unicast Gateway nodes could be the hosts or multicast

gateways in the network Advantages

No multicast dial-tone needed Performance can be optimized to application

Loss, priorities etc. More control over the topology of the tree Easier to monitor and control groups

Disadvantages Scale Performance if just implemented on the hosts (not

gateways)

Page 50: Multicast EECS 122: Lecture 16

March 18, 2003 A. Parekh, EE122 S2003. Revised and enhanced F'02 Lectures

50

Summary

Large amount of work on multicast routing Major problems

preventing flooding minimizing state in routers denial-of-service attacks deployment

Multicast can be implemented at different layers lower layers optimize performance higher layers provide more functionality

IP Multicast still not widely deployed Ethernet multicast is deployed application layer multicast systems are promising