270 likes | 289 Views
Learn the basics of multicast communication, including addressing, routing, and hierarchical multicast. Explore the motivation behind multicast, examples of its applications, and the challenges to identify and transmit data to multiple receivers efficiently. Discover multicast addressing details and protocols, multicast routing approaches, and reliable multicast strategies to enhance network performance.
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