ee122: multicast
DESCRIPTION
EE122: Multicast. Kevin Lai October 7, 2002. Internet Radio. www.digitallyimported.com (techno station) sends out 128Kb/s MP3 music streams peak usage ~9000 simultaneous streams only 5 unique streams (trance, hard trance, hard house, eurodance, classical) consumes ~1.1Gb/s - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: EE122: Multicast](https://reader036.vdocuments.us/reader036/viewer/2022062322/56814863550346895db57177/html5/thumbnails/1.jpg)
EE122: Multicast
Kevin Lai
October 7, 2002
![Page 2: EE122: Multicast](https://reader036.vdocuments.us/reader036/viewer/2022062322/56814863550346895db57177/html5/thumbnails/2.jpg)
Internet Radio
www.digitallyimported.com (techno station)- sends out 128Kb/s MP3 music streams
- peak usage ~9000 simultaneous streams
• only 5 unique streams (trance, hard trance, hard house, eurodance, classical)
- consumes ~1.1Gb/s
• bandwidth costs are large fraction of their expenditures (maybe 50%?)
- if 1000 people are getting their groove on in Berkeley, 1000 unicast streams are sent from NYC to Berkeley
![Page 3: EE122: Multicast](https://reader036.vdocuments.us/reader036/viewer/2022062322/56814863550346895db57177/html5/thumbnails/3.jpg)
Multicast Service Model 1
receivers join a multicast group which is identified by a multicast address (e.g. G)
sender(s) send data to address G network routes data to each of the receivers
S
R0
R1
.
.
.
R0 joins G
R1 joins G
Rn-1 joins G
[R0, data]
[R1, data]
[Rn-1, data]
[R0, data]
[R1, data]
[Rn-1 , data]
Unicast
Rn-1
Net S
R0
R1
.
.
.
[G, data]
[G, data]
[G, data]
[G, data]
Multicast
Rn-1
Net
![Page 4: EE122: Multicast](https://reader036.vdocuments.us/reader036/viewer/2022062322/56814863550346895db57177/html5/thumbnails/4.jpg)
Motivation
Conserve bandwidth- use same bandwidth/link to send to n receivers as 1 receiver
• internet radio example: reduce bandwidth consumed by 9000/5=1800
- deals with flash crowds
- e.g., video/audio conferencing, streaming, news dissemination, file updates
Separate identifier from address (logical addressing)- receiver can change location-dependent addresses without
notifying sender
- sender doesn’t need to know about receivers
- e.g., service location, mobility, anonymity, naming
![Page 5: EE122: Multicast](https://reader036.vdocuments.us/reader036/viewer/2022062322/56814863550346895db57177/html5/thumbnails/5.jpg)
Multicast Service Model 2
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
![Page 6: EE122: Multicast](https://reader036.vdocuments.us/reader036/viewer/2022062322/56814863550346895db57177/html5/thumbnails/6.jpg)
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 7: EE122: Multicast](https://reader036.vdocuments.us/reader036/viewer/2022062322/56814863550346895db57177/html5/thumbnails/7.jpg)
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 8: EE122: Multicast](https://reader036.vdocuments.us/reader036/viewer/2022062322/56814863550346895db57177/html5/thumbnails/8.jpg)
Ethernet Multicast
Reserve some Ethernet MAC addresses for multicast 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 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 9: EE122: Multicast](https://reader036.vdocuments.us/reader036/viewer/2022062322/56814863550346895db57177/html5/thumbnails/9.jpg)
Problems with Data 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 to internetworks
broadcast doesn’t cut it in larger networks
![Page 10: EE122: Multicast](https://reader036.vdocuments.us/reader036/viewer/2022062322/56814863550346895db57177/html5/thumbnails/10.jpg)
IP Multicast
Overcomes limitations of data link layer multicast Performs inter-network multicast routing
- relies on data link layer multicast for intra-network routing
Portion of IP address space defined as multicast addresses
- 228 addresses for entire Internet
Open group membership Anyone can send to group
- flexible, but leads to problems
![Page 11: EE122: Multicast](https://reader036.vdocuments.us/reader036/viewer/2022062322/56814863550346895db57177/html5/thumbnails/11.jpg)
IP Multicast Routing
Intra-domain- Distance-vector multicast (DVM)
- Link-state multicast (LSM)
Inter-domain- Protocol Independent Multicast (PIM)
- Single Source Multicast (SSM)
![Page 12: EE122: Multicast](https://reader036.vdocuments.us/reader036/viewer/2022062322/56814863550346895db57177/html5/thumbnails/12.jpg)
Distance Vector Multicast
Extension to DV unicast routing Routers compute shortest path to
each host- necessary for unicast delivery
No join required- every link receives a copy, even if
no interested hosts 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- link may have duplicates
s:2s:2
ss
s:1s:1
s:3s:3
s:2s:2
s:3s:3
rr
![Page 13: EE122: Multicast](https://reader036.vdocuments.us/reader036/viewer/2022062322/56814863550346895db57177/html5/thumbnails/13.jpg)
Reverse Path Broadcasting (RPB)
Extend DV to eliminate duplicate packets
Combine DV and spanning tree 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 14: EE122: Multicast](https://reader036.vdocuments.us/reader036/viewer/2022062322/56814863550346895db57177/html5/thumbnails/14.jpg)
Truncated Reverse Path Broadcasting (TRPB)
Extend DV/RPB to eliminate unneeded forwarding
Identify leaves- routers announce that a link is their
next link to source S- parent router can determine that it
is not a leaf Explicit group joining
- members periodically (with random offset) multicast report locally
- hear an report, then suppress own Packet forwarding
- iff not a leaf router or have members
- out all links except incomingr1r1
r2r2
SS
NL
NLNL
L L
![Page 15: EE122: Multicast](https://reader036.vdocuments.us/reader036/viewer/2022062322/56814863550346895db57177/html5/thumbnails/15.jpg)
Problems with IP Multicast Model
Few groups have many senders- difficult to construct optimal tree for many senders
Hard to implement sender control any node can send to the group
- open group membership
Multicast address scarcity- 228 addresses may not be enough for entire Internet
- how prevent collisions?
![Page 16: EE122: Multicast](https://reader036.vdocuments.us/reader036/viewer/2022062322/56814863550346895db57177/html5/thumbnails/16.jpg)
Internet Radio using IP Multicast Model
One sender- does not use multiple sender capability of model
Someone other than Digitally Imported can send to group
- clog 9000 clients’ links with useless data (Denial-of-Service attack)
How can Digitally Imported get and keep a multicast address?
- central organization to manage addresses adds overhead
![Page 17: EE122: Multicast](https://reader036.vdocuments.us/reader036/viewer/2022062322/56814863550346895db57177/html5/thumbnails/17.jpg)
Single Source Multicast (SSM)
Network layer multicast SSM service model
- only one sender can send to a group
- any number of receivers
Addressing- SSM address = (S, G) S: IP address of source, G: 24-
bit group address
- each sender has its own G-space
![Page 18: EE122: Multicast](https://reader036.vdocuments.us/reader036/viewer/2022062322/56814863550346895db57177/html5/thumbnails/18.jpg)
SSM Join
receiver sends join to source
routers on the path read the join packet
they note a receiver on the incoming link
r1r1
r2r2
SS
![Page 19: EE122: Multicast](https://reader036.vdocuments.us/reader036/viewer/2022062322/56814863550346895db57177/html5/thumbnails/19.jpg)
SSM Send
router checks that packet is coming from direction of S
if so, forward it down links that have receivers
r1r1
r2r2
SS
r3
S1S1
![Page 20: EE122: Multicast](https://reader036.vdocuments.us/reader036/viewer/2022062322/56814863550346895db57177/html5/thumbnails/20.jpg)
SSM v.s. IP Multicast
Restricted to one sender per group- for multiple senders, make multiple groups
Can prevent denial-of-service attacks on group Senders can independently allocate multicast
addresses Much simpler than other network layer multicast
routing schemes
![Page 21: EE122: Multicast](https://reader036.vdocuments.us/reader036/viewer/2022062322/56814863550346895db57177/html5/thumbnails/21.jpg)
Problems with Network Layer Multicast (NLM)
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- ISP’s reluctant to turn on NLM
Massive reduction in bandwidth not necessary- Internet Radio is using 1.1Gb/s- network layer multicast would reduce to 5 x 128Kb/s
![Page 22: EE122: Multicast](https://reader036.vdocuments.us/reader036/viewer/2022062322/56814863550346895db57177/html5/thumbnails/22.jpg)
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 23: EE122: Multicast](https://reader036.vdocuments.us/reader036/viewer/2022062322/56814863550346895db57177/html5/thumbnails/23.jpg)
(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 24: EE122: Multicast](https://reader036.vdocuments.us/reader036/viewer/2022062322/56814863550346895db57177/html5/thumbnails/24.jpg)
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 25: EE122: Multicast](https://reader036.vdocuments.us/reader036/viewer/2022062322/56814863550346895db57177/html5/thumbnails/25.jpg)
Application Layer Multicast
Provide multicast functionality above the IP layer overlay/application layer/end system multicast sender sends out multiple copies of packet receivers forward them to other receivers challenge
- minimize delay- minimize bandwidth consumed
Narada [Yang-hua et al, 2000]- Small group sizes <= hundreds of nodes- Typical application: chat
Peercast
![Page 26: EE122: Multicast](https://reader036.vdocuments.us/reader036/viewer/2022062322/56814863550346895db57177/html5/thumbnails/26.jpg)
Narada: End System Multicast
Stanford
CMU
Stan1
Stan2
Berk2
Overlay TreeGatech
Berk1
Berkeley
GatechStan1
Stan2
CMU
Berk1
Berk2
![Page 27: EE122: Multicast](https://reader036.vdocuments.us/reader036/viewer/2022062322/56814863550346895db57177/html5/thumbnails/27.jpg)
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
![Page 28: EE122: Multicast](https://reader036.vdocuments.us/reader036/viewer/2022062322/56814863550346895db57177/html5/thumbnails/28.jpg)
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
![Page 29: EE122: Multicast](https://reader036.vdocuments.us/reader036/viewer/2022062322/56814863550346895db57177/html5/thumbnails/29.jpg)
Properties
easier to deploy than NLM- don’t have to modify every router on path
easier to implement reliability than NLM- use hop-by-hop retransmissions
can consume more bandwidth than NLM can have higher latency than NLM not clear which scales better
- neither has been used for a group with 1M receivers or 1M groups
can use network layer multicast where available to optimize performance
![Page 30: EE122: Multicast](https://reader036.vdocuments.us/reader036/viewer/2022062322/56814863550346895db57177/html5/thumbnails/30.jpg)
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 just released