Transcript Multicast

CSE679: Multicast and Multimedia
 Basics
 Addressing
 Routing
 Hierarchical multicast
 QoS multicast
Multicast -motivation
 Point-to-point delivery not efficient for
events/transmissions of general interest
 Examples


News multicast
IETF sessions/rock concerts
 Many receivers may share the same path
 Point-to-point delivery too expensive
Multicast motivation
Multicast issues
 In point-to-point delivery, receiver address is
known => routing is straightforward
 In Multicast, many receivers
 How to transmit data to all the receivers?
 How to identify the group of receivers?


At the sender?
In the network?
Multicast issues
 Identify multicast by a group/multicast address
 The membership changes as the receivers
join/leave the group
 Routers/Network need to recognize the multicast
address
 Receivers need to receive on their own IP address
and on the multicast address
Multicast addressing
 A multicast sender uses the group address as the
receiver’s address when sending packets
 Network/routers keep track of actual receiving
subnets/paths for this group address (not the
actual receivers)
 Receivers can reply to sender’s address or to
group address
Multicast addressing
 Part of IP address space reserved for multicast
 Multicast routers recognize multicast addresses
 Need to get a multicast address for a transmission
before multicast can start
 Protocols exist for obtaining multicast addresses
and finding out a multicast address
Class D addresses
 High order 4 bits = 1110, followed by a 28-bit




multicast group ID. 224.0.0.0 - 239.255.255.255
224.0.0.1 - all systems on this subnet
224.0.0.2 - all routers on this subnet
224.0.0.4 - all DVMRP routers
224.0.0.5 - all OSPF routers
IGMP
 Internet Group Membership Protocol
 Used to join a multicast group and to check on the





current status of receivers on a subnet
IGMP -join message propagated up the routers
until the multicast tree reached.
Routers periodically poll hosts on subnets to see if
any active receivers remain
If no active receivers remain, routers propagate
leave messages upstream to reduce unnecessary
traffic
Frequent polling can increase overhead
Separate protocols for finding group membership
address - sd
Multicast routing
 For point-to-point delivery, a router looks up
routing table and knows how to forward
 For multicast, many receivers



may have to forward packets on multiple outgoing links
too hard to keep track of individual receivers at each
router for each multicast group
remember just the links on which to be forwarded change as receivers join/leave
Multicast routing
 Need to recognize multicast addresses
 The routing tables change as the receivers
join/leave a multicast group
 Every router keeps track of “downstream” links on
which to forward a packet
 Routing table and multicast address “expire” at
the end of session
Multicast Routing Protocols
 DVMRP - Distance Vector Multicast
 MOSPF - Multicast Extensions to OSPF
 PIM - Protocol Independent Multicast
Multicast routing approaches
 Flooding
 send on all links to reach the receivers
 not efficient
 Spanning tree
 efficient
 could concentrate traffic on a few links
Spanning tree based routing
 Spanning trees rooted at the sender
 When a receiver wants to join a group, may have to
broadcast on all upstream links to find a path to
the sender


could cause a lot of overhead in sparse groups
need better solutions
Sparse Mode routing
 Use a Core-based tree (CBT)
 Use a rendezvous point or a core router
 Direct all joins to RP which knows how to reach
the sender



can avoid broadcasting multicast group information to all
routers in the network
can result in non-optimal paths
would need to modify multicast tree over time
Reliable Multicast
 In unicast, receiver ACKs give feedback ---Sender
takes responsibility in transmitting data
 In Multicast, many receivers -- too difficult for
sender to keep track of every receiver’s status
 ACK Implosion
Receiver-driven Multicast
 Sender based schemes don’t scale well as number
of receivers increase
 Receiver based schemes scale better
 Receivers can decide the level of reliability
needed as well as the level of quality desired etc.
Send NAKs
 Sender keeps no information of receivers’ status
 Receivers send NAKs to reduce ACK implosion
problem
 How to send NAKs?


Unicast NAKs to sender
Multicast NAKs
Unicast NAKs to sender
 Reduces overhead when packet losses are isolated
and rare
 Packet loss early in the tree will result in too many
NAKs
Multicast NAKs
 Others missing packets need not send NAKs
 if every receiver, sends a NAK immediately after




getting an out-of-sequence packet, too many
NAKS at once!
Wait for a random time, send a NAK
If some one else sends a NAK, suppress your NAK
Getting random timers tricky business
Could cause burden on receivers if only one
receiver doesn’t get the packet
Hierarchical Multicast
 Organize multicast into a number of groups
 One Designated Receiver (DR) takes responsibility
for reliability
 On packet loss, NAK propagated to DR
 If DR has data, retransmits or re-multicasts with
limited scope to the group
 If DR doesn’t have data, sends NAK to sender
Hierarchical Multicast
 More scalable than other multicast protocols
 Specially useful when multicast over wide




geographic boundaries, keep one DR in each
country for example
DR nodes may need more power than other
receivers
Need mechanisms to find out DR
Need mechanisms to delegate DR function to
another node as primary DR node leaves multicast
RMTP: Reliable Multicast Transport Protocol - Bell
Labs
Congestion control
 Layered multicast
 Arrange layers in an exponentially increasing data
rates
 TCP-friendly Multicast


In steady state, packet drop => congestion, drop a layer
If layers are doubling in data rates, dropped layer =
reducing multicast rate by half => TCP friendly
QoS-Sensitive Multicast
 The key issue is to construct a multicast tree with
QoS constraints
 Goal is to build a tree of paths to destinations
such that sum of link costs (e.g. consumed
bandwidth) is minimum and QoS constraints (e.g.
delay) are satisfied
 Exact solutions to such multi-constrained
optimization problems are prohibitively expensive
 Need heuristics that provide fast solutions of high
quality
An Example for Constructing A Tree
 Application QoS requirements: end-to-end delay
13, jitter 7
 example 1
10
10
10
 example 2
2
6
6
10
10
Mbone
 Multicast Backbone
 Consists of all the multicast-enabled routers
 If two multicast routers are not directly
connected, uses tunneling over non-multicast
routers
 Allows gradual deployment
Conclusion
 Multicast basics
 Motivation and Issues
 Addressing
 Routing
 Hierarchical multicast
 QoS multicast