Multicast EECS 122: Lecture 16 - PowerPoint PPT Presentation

1 / 50
About This Presentation
Title:

Multicast EECS 122: Lecture 16

Description:

Packets must reach a Group rather than a single destination ... each router keeps a bitmap with one bit for each of its links. Only parent forwards onto link ... – PowerPoint PPT presentation

Number of Views:56
Avg rating:3.0/5.0
Slides: 51
Provided by: abh75
Category:

less

Transcript and Presenter's Notes

Title: Multicast EECS 122: Lecture 16


1
MulticastEECS 122 Lecture 16
  • Department of Electrical Engineering and Computer
    Sciences
  • University of California
  • Berkeley

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

Webcasts Radio/TV Push/IE Channels
Chats Video Conferencing Audio Conferencing
Caches and Proxies
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
R1
S
Net
. . .
Rn-1
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?

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?

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

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 doesnt cut it in larger networks

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

9
Internet Group Management ProtocolIGMP
  • Operates between Router and local Hosts,
    typically attached via a LAN (e.g., Ethernet)
  • Query response architecture
  • Router periodically queries the local Hosts for
    group membership information
  • Can be specific or general
  • Hosts receiving query set a random timer before
    responding
  • First host to respond sends membership reports
  • 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 dont have to do anything
  • Soft state

Query to 224.0.0.1
Report
Suppresses Report
10
Naïve Routing Option Dont change anything
Point-to point routing
R0
R1
S
Net
. . .
Rn-1
Group abstraction not implemented in the network
11
This approach does not scale
Broadcast Center
12
Instead build trees
Copy data at routers At most one copy of a data
packet per link
Broadcast Center
  • Routers keep track of groups in real-time
  • Path computation is Tree computation
  • LANs implement layer 2 multicast by broadcasting

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

14
Source Specific Trees
7
5
Each source is the route of its own tree.
4
8
6
11
2
10
3
1
13
12
15
Source Specific Trees
7
5
Each source is the route of its own tree. One
tree for each source
4
8
6
11
2
10
3
1
13
12
Can pick good trees but lots of state at the
routers!
16
Shared Tree
7
5
One tree used by all
4
8
6
11
2
10
3
1
13
12
Cant pick good trees but minimal state at the
routers
17
Tree Computation
  • A tree which connects all the group nodes is a
    Steiner Tree
  • Finding the min cost Steiner Tree is NP hard

7
5
4
8
6
11
2
10
3
1
13
12
18
Tree Computation
  • A tree which connects all the group nodes is a
    Steiner Tree
  • Finding the min cost Steiner Tree is NP hard

7
5
4
8
6
11
2
10
3
1
13
12
19
Tree Computation
  • 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

7
5
4
8
6
11
2
10
3
1
13
12
20
Tree Computation
  • A tree that connects all of the nodes in the
    graph is a spanning tree
  • Finding a minimum spanning tree is much easier

7
5
4
8
6
11
2
10
3
1
13
12
21
Tree Computation
  • A tree that connects all of the nodes in the
    graph is a spanning tree
  • Finding a minimum spanning tree is much easier

7
5
4
8
6
11
2
10
3
1
13
12
22
Tree Computation
  • 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

2
2
7
5
4
2
1
2
8
12
6
15
2
2
11
2
10
2
3
2
12
7
11
1
3
1
13
12
12
2
23
Tree Computation
  • 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

7
5
4
8
6
11
2
10
3
1
13
12
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

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

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

s3
s2
s3
s1
s2
s
27
Example
  • Flooding can cause a given packet to be sent
    multiple times over the same link
  • Solution Reverse Path Broadcasting

S
x
y
a
duplicate packet
z
b
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

s3
C
s2
s3
P
s1
s2
s
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

30
Reverse Path Broadcasting (RPB)
S
5
6
x
y
a
child link of x for S
z
b
31
Dont 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
  • Identify leaf networks with no members
  • IGMP
  • Propagate this information up the subtree

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)

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

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)

35
MBONE
  • 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

IP
36
RMP Scaling
  • State requirements
  • O(Sources ? Groups) active state
  • How to get better scaling?
  • Hierarchical Multicast
  • Core-based Trees

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)

38
Example
  • Group members M1, M2, M3
  • M1 sends data

root
M1
M2
M3
control (join) messages
data
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

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

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

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

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

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

R1
1
2
3
S
R2
R3
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

R1
3
S
3
R2
R3
3
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

47
Avoiding NACK Implosions
  • Every node estimates distance (in time) from
    every other node
  • Information is carried in session reports (lt 5
    of bandwidth)
  • Nodes use randomized function of distance to
    decide when to
  • Send a request repair
  • Reply to a request repair

48
ISPs charge by bandwidth
Broadcast Center
Remember what interdomain protocols optimize for.
They make more money without multicast
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)

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
Write a Comment
User Comments (0)
About PowerShow.com