750 likes | 765 Views
Learn about the benefits and usage of IP multicast in modern networks, including delivery methods, multicast addressing, group membership protocols, and multicast applications.
E N D
IP-Multicast (outline) Motivation and Background Multicast vs. unicast Multicast Applications Delivery of Multicast Local delivery and multicast addressing WAN delivery and its model Group Membership Protocol (IGMP) Multicast Algorithms and Concepts Flooding, Spanning Tree, Reverse Path Broadcasting (RPB), Truncated RPB, Reverse Path Multicasting, Center-Based Trees Ahmed Helmy - UF
Multicast Routing Protocols Dense vs. Sparse Multicast DVMRP MOSPF PIM (PIM-DM, PIM-SM) Multicast and the Internet The MBONE Recent deployment Outline (Contd.) Ahmed Helmy - UF
Unicast vs. Multicast Multicast provides multipoint-to-multipoint communication Today majority of Internet applications rely on point-to-point transmission (e.g., TCP). IP-Multicast conserves bandwidth by replicating packets in the network only when necessary Ahmed Helmy - UF
Unicast vs. Multicast S S R1 R1 R2 R2 R3 R3 R4 R4 Multiple unicasts Multicast Ahmed Helmy - UF
Example Multicast Applications • One-to-Many • Scheduled audio/video distribution: lectures, presentations • Push media: news headlines, weather updates • Caching: web site content & other file-based updates sent to distributed replication/caching sites • Announcements: network time, configuration updates • Monitoring: stock prices, sensor equipment Ahmed Helmy - UF
IP Multicast Applications (contd.) • Many-to-One • Resource discovery • Data collection and sensing • Auctions • Polling Ahmed Helmy - UF
IP Multicast Applications (contd.) • Many-to-Many • Multimedia Teleconferencing (audio, video, shared whiteboard, text editor) • Collaboration • Multi-Player Games • Concurrent Processing • Chat Groups • Distributed Interactive Simulation Ahmed Helmy - UF
More Applications ... • Resource Discovery • Multicast may be used (instead of broadcast) to transmit to group members on the same LAN. • Multicast may be used for resource discovery within a specific scope using the TTL field in the IP header. Ahmed Helmy - UF
Multicast Scope Control:TTL Expanding-Ring Search to reach or find a nearby subset of a group s 1 2 3 Ahmed Helmy - UF
Multicast Scope Control: Administrative TTL Boundaries to keep multicast traffic within an administrative domain, e.g., for privacy reasons the rest of the Internet TTL threshold set oninterfaces to these links,greater than the diameterof the admin. domain an administrative domain Ahmed Helmy - UF
Multicast Scope Control: Administratively-Scoped Addresses • RFC 1112 • uses address range 239.0.0.0 — 239.255.255.255 the rest of the Internet address boundary set oninterfaces to these links an administrative domain Ahmed Helmy - UF
Over the same (LAN): The source addresses the IP packet to the multicast group The network interface card maps the Class D address to the corresponding IEEE-802 multicast address Receivers notify their IP layer to receive datagrams addressed to the group. Key issue is ‘addressing’ & filtration Transmission and Delivery of Multicast Datagrams Ahmed Helmy - UF
Over different subnets: Routers implement a multicast routing protocol that constructs the multicast delivery trees and supports multicast data packet forwarding. Routers implement a group membership protocol to learn about the existence of group members on directly attached subnets. Hosts implement the group membership protocol that provides the ‘IP-multicast host model’ Ahmed Helmy - UF
Multicast Addressing An IP multicast group is identified by a Class D address. Multicast group addresses range from (224.0.0.0) to (239.255.255.255). Ahmed Helmy - UF
The Internet Assigned Numbers Authority (IANA) registers IP multicast groups. The block of multicast addresses ranging from (224.0.0.1) to (224.0.0.255) is reserved for local LAN multicast: used by routing protocols and other low-level topology discovery or maintenance protocols E.g., "all-hosts" group (224.0.0.1), "all-routers” group (224.0.0.2), "all DVMRP routers", etc. The range (239.0.0.0) to (239.255.255.255) are used for site-local "administratively scoped" applications. Ahmed Helmy - UF
Hosts can join or leave a group at any time A host may be a member of multiple groups Senders need not be members of the group Participants do not know about each other The two components of IP-multicast: the group membership protocol the multicast routing protocol The Multicast Host Model Ahmed Helmy - UF
Group Membership Protocol • Routers need to learn about the presence of group members on directly attached subnets • When a host joins a group: • it transmits a group membership message for the group(s) that it wishes to receive • sets its IP process and network interface card to receive packets sent to those groups. Ahmed Helmy - UF
Multicast Routing Protocols Run on routers and establish the multicast distribution tree to forward packets from sender(s) to group members. Based on unicast routing concepts: DVMRP is a distance-vector routing protocol, MOSPF is an extension to the OSPF link-state unicast routing protocol. Center-based trees (e.g., CBT & PIM-SM) introduce the notion of the tree ‘core’. Ahmed Helmy - UF
Multicast Forwarding Algorithms A multicast routing protocol is responsible for the establishment of the multicast distribution tree and for performing packet forwarding. Ahmed Helmy - UF
Several algorithms may be employed by multicast routing protocols: Flooding Spanning Trees Reverse Path Broadcasting (RPB) Truncated Reverse Path Broadcasting (TRPB) Reverse Path Multicasting (RPM) Core-Based Trees Ahmed Helmy - UF
Flooding The simplest technique for multicast delivery. When a router receives a multicast packet it determines whether or not this is the first time it has seen this packet. On first reception, a packet is forwarded on all interfaces except the one on which it arrived. If the router has seen the packet before, it is discarded. Ahmed Helmy - UF
A router does not maintain a routing table, but needs to keep track of recently seen packets. Flooding does not scale for Internet-wide application: Generates a large number of duplicate packets and uses all available paths across the internetwork. Routers maintain a distinct table entry for each recently seen packet (consumes memory). Ahmed Helmy - UF
Spanning Tree More effective than flooding Defines a tree structure where one active path connects any two routers on the Internet. Spanning Tree rooted at R Ahmed Helmy - UF
A router forwards each multicast packet to interfaces that are part of the spanning tree except the receiving interface. A spanning tree avoids looping of multicast packets and reaches all routers in the network. Ahmed Helmy - UF
A spanning tree algorithm is easy to implement However, a spanning tree solution: may centralize traffic on small number of links may not provide the most efficient path between the source and the group members. Ahmed Helmy - UF
Reverse Path Broadcasting (RPB) More efficient than building a single spanning tree for the entire Internet. Establishes source-rooted distribution trees for every source subnet. A different spanning tree is constructed for each active (source, group) pair. Ahmed Helmy - UF
RPB Algorithm For each (source, group) pair if a packet arrives on a link that the router considers to be the shortest path back to the source of the packet then the router forwards the packet on all interfaces except the incoming interface. Otherwise, the packet is discarded. Ahmed Helmy - UF
The interface over which a router accepts multicast packets from a particular source is called the "parent" link. The outbound links over which a router forwards the multicast packets are called the "child" links. Ahmed Helmy - UF
Reverse Path Broadcasting (RPB) Forwarding Ahmed Helmy - UF
Enhancement to reduce packet duplication: A router determines if a neighboring router considers it to be on the shortest path back to the source. If Yes, the packet is forwarded to the neighbor. Otherwise, the packet is not forwarded on that potential child link. Ahmed Helmy - UF
To derive the parent-child information: link-state routing protocol already has it (since each router maintains a topological database for the entire routing domain). distance-vector routing protocol uses ‘poison reverse’: a neighbor can either advertise its previous hop for the source subnet as part of its routing update messages or "poison reverse" the route. Ahmed Helmy - UF
Example of Reverse Path Broadcasting Ahmed Helmy - UF
Benefits Reasonably efficient and easy to implement. Does not require keeping track of previous packets, as flooding does. Multicast packets follow the "shortest" path from the source to the group members. Avoids concentration over single spanning tree Ahmed Helmy - UF
Reverse Path Multicasting (RPM) RPM enhances TRPB. In RPM, non-member branches are pruned Packets are forwarded only along branches leading to group members. Ahmed Helmy - UF
RPM Operation The first multicast packet is forwarded (using TRPB) to all routers in the network. Routers at edges of the network with no downstream routers are called ‘leaf’routers. A leaf router with no downstream members sends a "prune" message on its parent link to stop packet flow down that branch. Ahmed Helmy - UF
Prune messages are sent hop-by-hop back toward the source. A router receiving a prune message stores the prune state in memory. A router with no local members that receives prunes on all child interfaces sends a prune one hop back toward the source. This succession of prune messages creates a multicast forwarding tree that contains only branches that lead to group members. Ahmed Helmy - UF
Reverse Path Multicasting (RPM) Ahmed Helmy - UF
Limitations Despite improvements over RPM, there are scaling issues and limitations: Multicast packets are periodically forwarded to every router in the network. Routers maintain prune state off-tree for all (source,group) pairs. These limitations are amplified with increase in number of sources and groups. Ahmed Helmy - UF
Center/Core-Based Trees (CBT) Earlier algorithms build source-based trees CBT builds a single delivery tree (rooted at the core) that is shared by all group members. Multicast traffic for each group is sent and received over the shared tree, regardless of the source. Ahmed Helmy - UF
A core-based tree involves one or more cores in the CBT domain. Each leaf-router of a group sends a hop-by-hop "join" message toward the "core tree" of that group. Routers need to know the group core to send the join request. Senders unicast packets toward the core. CBT Operation Ahmed Helmy - UF
Benefits Advantages over RPM, in terms of scalability: A router maintains state information for each group, not for each (source, group) pair. Multicast packets only flow down branches leading to members (not periodically broadcast). Only join state is kept on-tree Ahmed Helmy - UF
Limitations CBT may result in traffic concentration near the core since traffic from all sources traverses the same set of links as it approaches the core. A single shared delivery tree may create sub-optimal routes resulting in increased delay. Core management issues dynamic core selection core placement strategies Ahmed Helmy - UF
Multicast Routing Protocols • In general, there are two classes of multicast routing protocols: • Dense-mode protocols (broadcast-and-prune) • DVMRP, PIM-DM, (MOSPF!) • Sparse-mode protocols (explicit-join) • PIM-SM, CBT, BGMP Ahmed Helmy - UF
Dense vs. Sparse Mode Multicast S R1 R2 R3 R4 Dense-Mode Multicast Ahmed Helmy - UF
S R1 R2 R3 R4 Dense-Mode Multicast Dense vs. Sparse Mode Multicast S R1 Root R2 R3 R4 Sparse-Mode Multicast Ahmed Helmy - UF
Distance Vector Multicast Routing Protocol (DVMRP) • DVMRP constructs source-rooted trees using variants of RPM (broadcast-and-prune). • The first packet for any (source, group) pair is broadcast to the entire network. • Leaf routers with no local members send prune messages back toward the source. Ahmed Helmy - UF