IPMulticast outline Motivation and Background Multicast vs unicast
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 1
Outline (Contd. ) - Multicast Routing Protocols - Dense vs. Sparse Multicast DVMRP MOSPF PIM (PIM-DM, PIM-SM) - Multicast and the Internet - The MBONE - Recent deployment Ahmed Helmy - UF 2
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 3
Unicast vs. Multicast S S R 1 R 2 R 3 R 4 Multiple unicasts Multicast Ahmed Helmy - UF 4
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 5
IP Multicast Applications (contd. ) • Many-to-One – – Resource discovery Data collection and sensing Auctions Polling Ahmed Helmy - UF 6
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 7
Ahmed Helmy - UF 8
Ahmed Helmy - UF 9
Ahmed Helmy - UF 10
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 11
Multicast Scope Control: TTL Expanding-Ring Search to reach or find a nearby subset of a group s 1 2 3 Ahmed Helmy - UF 12
Multicast Scope Control: Administrative TTL Boundaries to keep multicast traffic within an administrative domain, e. g. , for privacy reasons the rest of the Internet an administrative domain Ahmed Helmy - UF TTL threshold set on interfaces to these links, greater than the diameter of the admin. domain 13
Multicast Scope Control: Administratively-Scoped Addresses – RFC 1112 – uses address range 239. 0. 0. 0 — 239. 255 the rest of the Internet an administrative domain Ahmed Helmy - UF address boundary set on interfaces to these links 14
Transmission and Delivery of Multicast Datagrams • 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 Ahmed Helmy - UF 15
• 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 16
Ahmed Helmy - UF 17
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). Ahmed Helmy - UF 18
• 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) are used for site-local "administratively scoped" applications. Ahmed Helmy - UF 19
The Multicast Host Model • • • 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 Ahmed Helmy - UF 20
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 21
• 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 22
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 23
• 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 24
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 on which it arrived. – If the router has seen the packet before, it is discarded. Ahmed Helmy - UF 25
• 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 26
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 27
• 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 28
• 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 29
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 30
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 31
• 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 32
• Reverse Path Broadcasting (RPB) Forwarding Ahmed Helmy - UF 33
• 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 34
• 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 35
• Example of Reverse Path Broadcasting Ahmed Helmy - UF 36
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 37
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 38
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 39
• 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 40
• Reverse Path Multicasting (RPM) Ahmed Helmy - UF 41
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 42
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 43
CBT Operation • A core-based tree involves one or more cores in the CBT domain. • Each leaf-router of a group sends a hop-byhop "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. Ahmed Helmy - UF 44
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 45
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 suboptimal routes resulting in increased delay. • Core management issues – dynamic core selection – core placement strategies Ahmed Helmy - UF 46
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 47
Dense vs. Sparse Mode Multicast S R 1 R 2 R 3 R 4 Dense-Mode Multicast Ahmed Helmy - UF 48
Dense vs. Sparse Mode Multicast S S R 1 R 2 Root R 3 R 4 Dense-Mode Multicast R 4 Sparse-Mode Multicast Ahmed Helmy - UF 49
Distance Vector Multicast Routing Protocol (DVMRP) • DVMRP constructs source-rooted trees using variants of RPM (broadcast-andprune). • 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 50
Example DVMRP Scenario g g s Ahmed Helmy - UF g 51
Initial Broadcast using Truncated Broadcast g g s Ahmed Helmy - UF g 52
Prune non-member branches g g prune (s, g) s prune (s, g) Ahmed Helmy - UF g 53
Graft new members g g g report (g) graft (s, g) s graft (s, g) g Ahmed Helmy - UF 54
DVMRP Distribution Tree g g g s g Ahmed Helmy - UF 55
DVMRP Forwarding Table Ahmed Helmy - UF 56
Multicast Extensions to OSPF (MOSPF) • MOSPF routers maintain current image of the network topology via OSPF. • Basic MOSPF runs in OSPF domain • MOSPF uses IGMP to discover members on directly attached subnets. • The subnet router floods Group. Membership Link State Advertisements (LSAs) throughout the OSPF domain. Ahmed Helmy - UF 57
Building the Shortest Path Tree • The shortest path tree for (S, G) pair is built "on demand" when a router receives the first packet for (S, G). • When the initial packet arrives, the source subnet is located in MOSPF link state database. – MOSPF LS-DB = OSPF LS-DB + Group-Membership LSAs Ahmed Helmy - UF 58
Forwarding Cache • Forwarding cache entry contains the (source, group) pair, the upstream node, and the downstream interfaces. • MOSPF Forwarding Cache Ahmed Helmy - UF 59
Limitations · Limited to OSPF domains · Flooding membership information does not scale well for Internet-wide multicsat Ahmed Helmy - UF 60
Protocol-Independent Multicast (PIM) • Design Rationale: – Broadcast and prune keeps state off-tree and is suitable when members are densely distributed – Explicit join/center-based approach keeps state on-tree and is suitable when members are sparsely distributed – PIM attempts to combine the best of both worlds Ahmed Helmy - UF 61
Design Choices • Shared trees or shortest path trees? – Both: use shared trees to ‘Rendezvous’ then switch to shortest path to deliver • DV or LS for routing? – Use routing tables regardless of which protocol created them (hence the name ‘Protocol Independent’) Ahmed Helmy - UF 62
PIM Operation Modes • PIM provides both dense-mode (DM) and sparse-mode (SM) protocols • PIM-DM: similar to DVMRP but does not build its own routing table • PIM-SM: similar to CBT but provides switching to SPT and bootstrap mechanism for electing the tree center dynamically Ahmed Helmy - UF 63
How PIM-SM works • A Rendezvous Point (RP) is chosen as tree center per group to enable members and senders to “meet” • Members send their explicit joins toward the RP • Senders send their packets to the RP • Packets flow only where there is join state • (*, G) [any-source, group] state is kept in routers between receivers and the RP Ahmed Helmy - UF 64
How PIM-SM works • When should we use shared-trees versus sourcetrees? – Source-trees tradeoff low-delay from source with more router state – Shared-trees tradeoff higher-delay from source with less router state • Switch to the source-tree if the data rate is above a certain threshold Ahmed Helmy - UF 65
How PIM-SM works Source A B D RP C E Link (*, G) Data (S, G) Data Receiver 1 Receiver 2 Ahmed Helmy - UF Control 66
How PIM-SM works Source A C B D RP E (*, G) Join Link (*, G) Data (S, G) Data Receiver 1 Receiver 2 Ahmed Helmy - UF Control 67
How PIM-SM works Source A B D RP C E Link (*, G) Data (S, G) Data Receiver 1 Receiver 2 Ahmed Helmy - UF Control 68
How PIM-SM works Source Register A B D RP C E Link (*, G) Data (S, G) Data Receiver 1 Receiver 2 Ahmed Helmy - UF Control 69
How PIM-SM works Source (S, G) Join A (S, G) Join B D RP C E Link (*, G) Data (S, G) Data Receiver 1 Receiver 2 Ahmed Helmy - UF Control 70
How PIM-SM works Source Register-Stop A B D RP C E Link (*, G) Data (S, G) Data Receiver 1 Receiver 2 Ahmed Helmy - UF Control 71
How PIM-SM works Source A B D RP (S, G) Join C E Link (*, G) Data (S, G) Data Receiver 1 Receiver 2 Ahmed Helmy - UF Control 72
How PIM-SM works Source (S, G) Prune A B D RP C E (S, G) RP Bit Prune Receiver 1 Link (*, G) Data (S, G) Data Receiver 2 Ahmed Helmy - UF Control 73
How PIM-SM works Source A C B D RP E (*, G) Join Link (*, G) Data (S, G) Data Receiver 1 Receiver 2 Ahmed Helmy - UF Control 74
How PIM-SM works Source A B D RP C E Link (*, G) Data (S, G) Data Receiver 1 Receiver 2 Ahmed Helmy - UF Control 75
- Slides: 75