Multicast For Video Streaming: EE290T Spring 2002 Puneet Mehra Pmehra@eecs - Berkeley.edu
Multicast For Video Streaming: EE290T Spring 2002 Puneet Mehra Pmehra@eecs - Berkeley.edu
IP Multicast Overview
Semantics
Approach
Group Addressing provides flexibility Packets delivered throughout tree. Dynamic changes to tree
Challenges
New Receiver -> graft path onto tree Receiver leaving -> pruning path from tree
Fixed Frame Rate regardless of delay/jitter Losses degradation, possibly ungraceful Heterogeneity of receivers
Approaches to Multicast
Single Stream Video Multicast Replicated Stream Video Multicast Layered Video Multicast
Cons:
Easy To Implement
Feedback Problem handled through probabilistic receiver response Tradeoff granularity of control vs B/W efficiency
Pros:
Small # of video streams of varying quality sent to different multicast groups Intra-stream Rate control to adjust stream rate by receivers Inter-stream protocol used by receivers to switch streams
deals with heterogeneity more fair Scalable since receiver-driven
Send different layers to multicast groups, and receiver subscribes as needed -> scalable solution Congestion -> layer dropping Spare B/W -> layer adding Receivers conduct group join experiments and share info with others.
Improve reception w/in a layer by retransmission Deal w/ congestion using Hierarchical Rate Control
Congestion info distributed at both sender/receivers Intelligent partitioning of info -> concurrent experiments w/ less overhead Use hierarchy to only inform those who need to know about an experiment affected regions Collaborative layer drop better approach to congestion
Local Recovery - designated receivers at each level in tree help w/ rtx. of pkts -> lower latency Dont rtx packets past deadline Receivers can trade reliability/latency by picking parent with desired attributes
Routing construct efficient tree from source to receivers Theoretical Results [3]
Steiner Tree minimize total cost of a multicast tree. NP-Complete. So use heuristics to provide a good approx. to Steiner Tree. Constrained Steiner Tree impose b/w delay constraints on links to receivers. Also NPComplete. So must use heuristics All practical algorithms based on shortest path tree minimize sum of weights on links along each path from source to receiver
Intra-Domain Routing
Source-based Routing
Tree rooted at source Dense-mode routing works best when topology densely populated with receivers Select a Rendezvous Point (RP) to root the tree Sparse Mode Routing More efficient than dense mode when few, wide-spread receivers
Core-based Approach
Uses broadcast & prune technique to build reverse shortest path trees (RSP) Steps:
Src bcasts pkt on Lan. Local router fwds pkt on all ifaces If pkt received on RPF iface, then it is forwarded. Leaf routers send prune toward src if no attached receivers Prune message forwarded to source, and send own prune if receive prune message on all ifaces.
PIM-DM
Uses IGMP locally, then floods info along with link state to net. Less complex than DVMRP since no RPF check is done. More inefficient as a result
Core-Based Routing
General Approach
Examples
A core, or rendezvous point (RP) is configured for a multicast group Info about the RP & mapping from group to RP is discovered by routers using bootstrap protocol (also finds alternate RP in case of failure) Receivers explicitly join tree -> contact RP Src sends data to RP which sends down tree More efficient since state only kept in routers on path from src/receivers to RP. CBT Core-Based Trees PIM-SM Protocol Independent Multicast/Sparse Mode
Periodically send echo-request to parent router. If echo not received in time, then router sends quit-notification upstream and deletes state information.
Inter-Domain Routing
Large flat topology -> complexity and instability since no BGP-like protocol No mechanism to build hierarchical mcast routing Introduce Hierarchy multi-protocol extensions to BGP (MBGP)
Each router only knows topology of its own domain & how to reach other domains Used to determine next hop for a host
What if you have a src in one domain & receivers in others? Multicast Source Discovery Protocol
When src registers w/ RP -> a source active (SA) msg is sent to MSDP peers Prevent loops w/ per-RPF flooding (ie: if msg received on correct iface -> flood) If MSDP is aware of local group members (use IGMP), then it will send a join to the src
Bidirectional shared trees between domains with single root. Need strict allocation of addresses among domains. Address Allocation Protocols
Multi Address Set Claim Helps allocate addresses dynamically across domains GLOP a glop of addresses statically allocated among domains
Complexity
Cant put it in core routers Hardware more difficult to manage (probs w/ firewalls)
disrupts ISP router migration model (routers generally migrate from core to edge) ISPs dont want to rely on remote RPs Dont want to be RP for non-customers
Domain Independence
Security anyone can send/listen Address Allocation anyone can pick a class D addr.
References
[1] Video Multicast over the Internet. Xue Li et al. IEEE Network. 1999. [2] The Evolution of Multicast: From the MBone to Interdomain Multicast to Internet2 Deployment. Kevin Almeroth. IEEE Network. 2000. [3] Multicast Routing and Its QoS Extension: Problems, Algorithms, and Protocols. Bin Wang and Jennifer C. Hou. IEEE Network. 2000. [4] Deployment Issues for the IP Multicast Service and Architecture. Christophe Diot et Al. IEEE Network. 2000.