270 likes | 400 Views
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
E N D
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 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