eecs 122: introduction to computer networks multicast and...

28
EE122 F08 EECS 122: Introduction to Computer Networks Multicast and Overlay Networks Ion Stoica (and Brighten Godfrey) TAs: Lucian Popa, David Zats and Ganesh Ananthanarayanan http://inst.eecs.berkeley.edu/~ee122/ Materials with thanks to Vern Paxson, Jennifer Rexford, and colleagues at Princeton and UC Berkeley 2 EE122 F08 Announcements ! No class Wednesday. Happy Thanksgiving! ! Project 2a code posted… use at will for part 2b - but, better and probably easier to use your own code

Upload: others

Post on 13-Jul-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: EECS 122: Introduction to Computer Networks Multicast and ...inst.eecs.berkeley.edu/~ee122/fa08/notes/24-Multicastx2.pdf · Multicast and Overlay Networks Ion Stoica (and Brighten

EE122 F08

EECS 122: Introduction to Computer Networks

Multicast and Overlay Networks

Ion Stoica (and Brighten Godfrey)

TAs: Lucian Popa, David Zats and Ganesh Ananthanarayanan

http://inst.eecs.berkeley.edu/~ee122/

Materials with thanks to Vern Paxson, Jennifer Rexford,and colleagues at Princeton and UC Berkeley

2EE122 F08

Announcements

! No class Wednesday. Happy Thanksgiving!

! Project 2a code posted… use at will for part 2b

- but, better and probably easier to use your own code

Page 2: EECS 122: Introduction to Computer Networks Multicast and ...inst.eecs.berkeley.edu/~ee122/fa08/notes/24-Multicastx2.pdf · Multicast and Overlay Networks Ion Stoica (and Brighten

3EE122 F08

Motivational Example:Streaming Media

! Live 8 concert

- Send ~300 Kb/s video streams

- Peak usage > 100,000 simultaneous users

- Consumes > 30 Gb/s

- If 1000 people are in Berkeley, and if the concert werebroadcast from a single location, 1000 unicast streamsare sent from that location to Berkeley

4EE122 F08

This approach does not scale…

Backbone

ISP

Broadcast

Center

Page 3: EECS 122: Introduction to Computer Networks Multicast and ...inst.eecs.berkeley.edu/~ee122/fa08/notes/24-Multicastx2.pdf · Multicast and Overlay Networks Ion Stoica (and Brighten

5EE122 F08

Instead build trees

Backbone

ISP

Broadcast

Center

Copy data at routers

At most one copy of a data packet per link

•LANs implement link

layer multicast by

broadcasting

•Routers keep track of groups

in real-time

•Routers compute trees and

forward packets along them

6EE122 F08

Multicast Routing Approaches

! Kinds of Trees

- Source Specific Trees

- Shared Tree

! Tree Computation Methods

- Link state

- Distance vector

Page 4: EECS 122: Introduction to Computer Networks Multicast and ...inst.eecs.berkeley.edu/~ee122/fa08/notes/24-Multicastx2.pdf · Multicast and Overlay Networks Ion Stoica (and Brighten

7EE122 F08

Source Specific Trees

6

7

8

5

4

31

2

12

10

13

11

•Each source is the root of

its own tree

•One tree per source

•Tree can consists of

shortest paths to each

receiver

Members of the multicast tree Sender

8EE122 F08

Source Specific Trees

6

7

8

5

4

31

2

12

10

13

11

Very good performance but

expensive to construct/maintain;

routers need to manage a tree

per source

•Each source is the root of

its own tree

•One tree per source

•Tree can consists of

shortest paths to each

receiver

Page 5: EECS 122: Introduction to Computer Networks Multicast and ...inst.eecs.berkeley.edu/~ee122/fa08/notes/24-Multicastx2.pdf · Multicast and Overlay Networks Ion Stoica (and Brighten

9EE122 F08

Shared Tree

6

7

8

5

4

31

2

12

10

13

11

One tree used by all

members in a group

Less state to construct but

hard to pick “good” trees for

everyone!

10EE122 F08

Shared Tree

! Ideally, find a Steiner tree -the minimum-weightedtree connecting only themulticast members

6

7

8

5

4

31

2

12

10

13

11

12

23

21

22

11

15

12

2

1

2

1

2

2

7

2

2

Page 6: EECS 122: Introduction to Computer Networks Multicast and ...inst.eecs.berkeley.edu/~ee122/fa08/notes/24-Multicastx2.pdf · Multicast and Overlay Networks Ion Stoica (and Brighten

11EE122 F08

Shared Tree

6

7

8

5

4

31

2

12

10

13

11

12

23

21

22

11

15

12

2

1

2

1

2

2

7

2

2

! Ideally, find a Steiner tree– minimum-weighted treeconnecting only themulticast members

! Finding Steiner Tree is NPhard

! Heuristics are known

12EE122 F08

Shared Tree

6

7

8

5

4

31

2

12

10

13

11

12

23

21

22

11

15

12

2

1

2

1

2

2

7

2

2

! Example heuristic: find aminimum-spanning tree –minimum-weighted treeconnecting all nodes inthe network

! Finding a minimumspanning tree is mucheasier

Page 7: EECS 122: Introduction to Computer Networks Multicast and ...inst.eecs.berkeley.edu/~ee122/fa08/notes/24-Multicastx2.pdf · Multicast and Overlay Networks Ion Stoica (and Brighten

13EE122 F08

Shared Tree

6

7

8

5

4

31

2

12

10

13

11

12

23

21

22

11

15

12

2

1

2

1

2

2

7

2

2

! Example heuristic: find aminimum-spanning tree –minimum-weighted treeconnecting all nodes in thenetwork

! Finding a minimumspanning tree is mucheasier. How?

14EE122 F08

Shared Tree

! Example heuristic: find aminimum-spanning tree –minimum-weighted treeconnecting all nodes in thenetwork

! Finding a minimum spanningtree is easier. How?

! Prune back to get multicasttree

6

7

8

5

4

31

2

12

10

13

11

12

23

21

22

11

15

12

2

1

2

1

2

2

7

2

2

Page 8: EECS 122: Introduction to Computer Networks Multicast and ...inst.eecs.berkeley.edu/~ee122/fa08/notes/24-Multicastx2.pdf · Multicast and Overlay Networks Ion Stoica (and Brighten

15EE122 F08

Multicast Service Model

! Receivers join a multicast group which is identified by amulticast address (e.g. G)

! Sender(s) send data to address G

! Network routes data to each of the receivers

R0 joins G

R1 joins G

Rn-1 joins G

S

R0

R1

.

.

.

[G, data]

[G, data]

[G, data]

[G, data]

Rn-1

Net

! Unicast: packets delivered to one destination

! Broadcast: packets delivered to all end-hosts

! Multicast: packets delivered to multiple destinations (thosethat have joined the multicast group)

16EE122 F08

Multicast Service Model (cont’d)

! 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

- Restrictions on which host can send to group

Page 9: EECS 122: Introduction to Computer Networks Multicast and ...inst.eecs.berkeley.edu/~ee122/fa08/notes/24-Multicastx2.pdf · Multicast and Overlay Networks Ion Stoica (and Brighten

17EE122 F08

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. End system multicast

! Which layer is best?

18EE122 F08

Multicast Implementation Issues

! How are multicast packets addressed?

! How is join implemented?

! How is send implemented?

! How much state is kept and who keeps it?

Page 10: EECS 122: Introduction to Computer Networks Multicast and ...inst.eecs.berkeley.edu/~ee122/fa08/notes/24-Multicastx2.pdf · Multicast and Overlay Networks Ion Stoica (and Brighten

19EE122 F08

Data Link Layer Multicast

! Recall: end-hosts in the same local area network (LAN) can hear fromeach other at the data link layer (e.g., Ethernet)

! Reserve some data link layer addresses for multicast

! Join group at multicast address G

- Network interface card (NIC) normally only listens for packets sent tounicast 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, thus efficient

! 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 largenumber of receivers, groups

20EE122 F08

Problems withData Link Layer Multicast

! Single data link technology

! Single LAN

- Limited to small number of hosts

- Limited to low diameter latency

- Essentially all the limitations of LANs compared tointernetworks

Page 11: EECS 122: Introduction to Computer Networks Multicast and ...inst.eecs.berkeley.edu/~ee122/fa08/notes/24-Multicastx2.pdf · Multicast and Overlay Networks Ion Stoica (and Brighten

21EE122 F08

Network Layer (IP) Multicast

! Overcomes limitations of data link layer multicast

! Performs inter-network multicast routing

- Relies on data link layer multicast for intra-networkrouting

! Portion of IP address space defined as multicastaddresses

- 228 addresses for entire Internet

! Open group membership

! Anyone can send to group

- Flexible, but leads to problems

22EE122 F08

IP Multicast Routing

! Intra-domain

- Distance-vector multicast

- Link-state multicast

! Inter-domain

- Protocol Independent Multicast

- Single Source Multicast

Page 12: EECS 122: Introduction to Computer Networks Multicast and ...inst.eecs.berkeley.edu/~ee122/fa08/notes/24-Multicastx2.pdf · Multicast and Overlay Networks Ion Stoica (and Brighten

23EE122 F08

Distance Vector Multicast RoutingProtocol (DVRMP)

! An elegant extension to DV routing

! Use shortest path DV routes to determine if link ison the source-rooted spanning tree

! Three steps in developing DVRMP

- Reverse Path Flooding

- Reverse Path Broadcasting

- Truncated Reverse Path Broadcasting

24EE122 F08

Reverse Path Flooding (RPF)

! Extension to DV unicast routing

! Packet forwarding

- If incoming link is shortest path tosource

- Send on all links except incoming

- Packets always take shortest path

• assuming delay is symmetric

! Issues

- Some links (LANs) may receivemultiple copies

- Every link receives each multicastpacket, even if no interested hosts

s:2

s

s:1

s:3

s:2

s:3

r

DV shortest paths

RPF data flow

Page 13: EECS 122: Introduction to Computer Networks Multicast and ...inst.eecs.berkeley.edu/~ee122/fa08/notes/24-Multicastx2.pdf · Multicast and Overlay Networks Ion Stoica (and Brighten

25EE122 F08

Example

! Flooding can cause a given packet to be sent multiple times overthe same link

! Solution: Reverse Path Broadcasting

x y

z

S

a

b

duplicate packet

26EE122 F08

Reverse Path Broadcasting (RPB)

! Chose parent of each link alongreverse shortest path to source

! Only parent forward to a link(child link)

! Identify Child Links

! Routing updates identify parent

! Since distances are known,each router can easily figureout if it's the parent for a givenlink

! In case of tie, lower addresswins

x y

z

S

a

b

5 6

child link of x

for S

forward only

to child link

Page 14: EECS 122: Introduction to Computer Networks Multicast and ...inst.eecs.berkeley.edu/~ee122/fa08/notes/24-Multicastx2.pdf · Multicast and Overlay Networks Ion Stoica (and Brighten

27EE122 F08

Don’t Really Want to Flood!

! This is still a broadcast algorithm – the trafficgoes everywhere

! Need to “Prune” the tree when there are subtreeswith no group members

! Solution: Truncated Reverse Path Broadcasting

28EE122 F08

Truncated Reverse PathBroadcasting (TRPB)

! Extend DV/RPB to eliminateunneeded forwarding

! Identify leaves

- Routers announce that a link istheir next link to source S

- Parent router can determine that itis not a leaf

! Explicit group joining on LAN

- Members periodically (with randomoffset) multicast report locally

- Hear and report, then suppressown

! Packet forwarding

- If not a leaf router or havemembers

- Out all links except incoming

r1

r2

S

NL

NLNL

L L

L – leaf node

NL – Non-leaf node

Page 15: EECS 122: Introduction to Computer Networks Multicast and ...inst.eecs.berkeley.edu/~ee122/fa08/notes/24-Multicastx2.pdf · Multicast and Overlay Networks Ion Stoica (and Brighten

29EE122 F08

Pruning Details

! Prune (Source,Group) at leaf if no members

- Send Non-Membership Report (NMR) up tree

! If all children of router R send NRM, prune (S,G)

- Propagate prune for (S,G) to parent R

! On timeout:

- Prune dropped

- Flow is reinstated

- Down stream routers re-prune

! Note: a soft-state approach

30EE122 F08

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 (graft)

Page 16: EECS 122: Introduction to Computer Networks Multicast and ...inst.eecs.berkeley.edu/~ee122/fa08/notes/24-Multicastx2.pdf · Multicast and Overlay Networks Ion Stoica (and Brighten

31EE122 F08

Distance Vector Multicast Scaling

! State requirements:

- O(Sources " Groups) active state

! How to get better scaling?

- Hierarchical Multicast

- Core-based Trees

32EE122 F08

Core Based Trees (CBT)

! Pick a “rendezvous point” for the group called the core.

- One tree per group (same tree for all senders in group)

! Unicast packet to core and bounce it back to multicastgroup

! Tree construction is receiver-based

- Joins can be tunneled if required

- Only nodes on tree involved

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

Page 17: EECS 122: Introduction to Computer Networks Multicast and ...inst.eecs.berkeley.edu/~ee122/fa08/notes/24-Multicastx2.pdf · Multicast and Overlay Networks Ion Stoica (and Brighten

33EE122 F08

Example

! Group members: M1, M2, M3

! M1 sends dataroot

M1

M2 M3

control (join) messagesdata

34EE122 F08

CBT vs. DV Multicast

! DV Multicast: One tree for each source

- More state in routers

- Better optimized trees

! CBT: Trees shared among all sources in a group

- Less state in routers

- Shared tree may not be the best tree for any particular source

- Need to pick a good core node

• Sub-optimal setup delay

• Optimal choice (computing topological center) is NP hard

Page 18: EECS 122: Introduction to Computer Networks Multicast and ...inst.eecs.berkeley.edu/~ee122/fa08/notes/24-Multicastx2.pdf · Multicast and Overlay Networks Ion Stoica (and Brighten

35EE122 F08

Problems withNetwork Layer Multicast (NLM)

! Scales poorly with number of groups

- A router must maintain state for every group thattraverses 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

- ISPs reluctant to turn on NLM

36EE122 F08

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 mustretransmit, lowering throughput

! N(ACK) implosion

- Described next

Page 19: EECS 122: Introduction to Computer Networks Multicast and ...inst.eecs.berkeley.edu/~ee122/fa08/notes/24-Multicastx2.pdf · Multicast and Overlay Networks Ion Stoica (and Brighten

37EE122 F08

(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

S

R1

R2

R3

123

38EE122 F08

NACK Implosion

! When a packet is lost all receivers in the sub-treeoriginated at the link where the packet is lost sendNACKs

S

R1

R2

R3

3

3

3

2?

2?

2?

Page 20: EECS 122: Introduction to Computer Networks Multicast and ...inst.eecs.berkeley.edu/~ee122/fa08/notes/24-Multicastx2.pdf · Multicast and Overlay Networks Ion Stoica (and Brighten

39EE122 F08

Barriers to Multicast

! Hard to change IP

- Multicast means changes to IP

- Details of multicast were very hard to get right

! Not always consistent with ISP economic model

- Charging done at edge, but single packet from edgecan explode into millions of packets within network

! Troublesome security model

- Anyone can send to a group

- Denial-of-service attacks on known groups

EE122 F08

Overlay Networks

Page 21: EECS 122: Introduction to Computer Networks Multicast and ...inst.eecs.berkeley.edu/~ee122/fa08/notes/24-Multicastx2.pdf · Multicast and Overlay Networks Ion Stoica (and Brighten

41EE122 F08

Overlay Networks: Motivations

! Protocol changes in the network happen very slowly

! Why?

- Internet network is a shared infrastructure; need to achieve consensus (IETF)

- Many of proposals require to change a large number of routers (e.g., IPMulticast, QoS); otherwise end-users won’t benefit

! Proposed changes that haven’t happened yet on large scale:

- More Addresses (IPv6 ’91)

- Security (IPSEC ’93); Multicast (IP multicast ’90)

42EE122 F08

Motivations (cont’d)

! One size does not fit all

! Applications need different levels of

- Reliability

- Performance (latency)

- Security

- Access control (e.g., who is allowed to join a multicastgroup)

- …

Page 22: EECS 122: Introduction to Computer Networks Multicast and ...inst.eecs.berkeley.edu/~ee122/fa08/notes/24-Multicastx2.pdf · Multicast and Overlay Networks Ion Stoica (and Brighten

43EE122 F08

Goals

! Make it easy to deploy new functionalities in thenetwork " accelerate the pace of innovation

! Allow users to customize their service

44EE122 F08

Solution

! Deploy processing in the network

! Have packets processed as they traverse thenetwork

AS-1IP

AS-1Overlay Network

(over IP)

Page 23: EECS 122: Introduction to Computer Networks Multicast and ...inst.eecs.berkeley.edu/~ee122/fa08/notes/24-Multicastx2.pdf · Multicast and Overlay Networks Ion Stoica (and Brighten

45EE122 F08

Overlay network overview

! Application Layer (Overlay) multicast

! Resilient Overlay Network (RON)

! Next lecture: Peer-to-peer systems

46EE122 F08

Application Layer Multicast (ALM)

! Let the hosts do all the “special” work

- Only require unicast from infrastructure

! Basic idea:

- Hosts do the copying of packets

- Set up tree between hosts

! Example: Narada [Yang-hua et al, 2000]

- Small group sizes <= hundreds of nodes

- Typical application: streaming video

! (What do you use that’s a lot like overlay multicast?)

Page 24: EECS 122: Introduction to Computer Networks Multicast and ...inst.eecs.berkeley.edu/~ee122/fa08/notes/24-Multicastx2.pdf · Multicast and Overlay Networks Ion Stoica (and Brighten

47EE122 F08

Narada: End System Multicast

Stanford

CMU

Stan1

Stan2

Berk2

“Overlay” Tree

Gatech

Berk1

Berkeley

GatechStan1

Stan2

CMU

Berk1

Berk2

48EE122 F08

Algorithmic Challenge

! Choosing replication/forwarding points amonghosts

- how do the hosts know about each other

- and know which hosts should forward to other hosts

Page 25: EECS 122: Introduction to Computer Networks Multicast and ...inst.eecs.berkeley.edu/~ee122/fa08/notes/24-Multicastx2.pdf · Multicast and Overlay Networks Ion Stoica (and Brighten

49EE122 F08

Advantages of ALM

! No need for changes to IP or routers

! No need for ISP cooperation

! End hosts can prevent other hosts from sending

! Easy to implement reliability- use hop-by-hop retransmissions

50EE122 F08

Performance Concerns

! Stretch- ratio of latency in the overlay to latency in the

underlying network

! Stress- number of duplicate packets sent over the same

physical link

! Network Layer Multicast can get perfect or near-perfect stretch; ALM can’t in general

- but it can come pretty close

Page 26: EECS 122: Introduction to Computer Networks Multicast and ...inst.eecs.berkeley.edu/~ee122/fa08/notes/24-Multicastx2.pdf · Multicast and Overlay Networks Ion Stoica (and Brighten

51EE122 F08

Performance Concerns

Duplicate Packets:

Bandwidth Wastage

CMU

Stan1

Stan2

Berk2

Gatech

Berk1

Delay from CMU to

Berk1 increases

Stanford

Berkeley

GatechStan1

Stan2

CMU

Berk1

Berk2

52EE122 F08

Overlay network overview

! Overlay Multicast (Narada)

# Resilient Overlay Network (RON)

! Next lecture: Peer-to-peer systems

Page 27: EECS 122: Introduction to Computer Networks Multicast and ...inst.eecs.berkeley.edu/~ee122/fa08/notes/24-Multicastx2.pdf · Multicast and Overlay Networks Ion Stoica (and Brighten

53EE122 F08

Resilient Overlay Network (RON)

! Premise: by building application overlay network, can increaseperformance and reliability of routing

! Install N computers at different Internet locations

! Each computer acts as an overlay network router

- Between each overlay router is an IP tunnel (logical link)

- Logical overlay topology is all-to-all (N2 total links)

! Run a link-state routing algorithm in that overlay topology

- Computers actively measure each logical link in real time for packet lossrate, latency, throughput, etc

- These define link costs

- Route overlay network traffic based on measured characteristics

54EE122 F08

Example

Default IP path determined by BGP & OSPF

Reroute traffic using red alternative overlay network path, avoid congestion point

1

Acts as overlay router

Berkeley

MIT

UCLA

Page 28: EECS 122: Introduction to Computer Networks Multicast and ...inst.eecs.berkeley.edu/~ee122/fa08/notes/24-Multicastx2.pdf · Multicast and Overlay Networks Ion Stoica (and Brighten

55EE122 F08

Summary: What You Need to Know

! Multicast protocols

- DVRMP

- CBT

- How they compare

! Overlay networks

- Benefits and drawbacks

- More to come: P2P