* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Multicast Routing
Survey
Document related concepts
Asynchronous Transfer Mode wikipedia , lookup
Airborne Networking wikipedia , lookup
Computer network wikipedia , lookup
Internet protocol suite wikipedia , lookup
Recursive InterNetwork Architecture (RINA) wikipedia , lookup
Serial digital interface wikipedia , lookup
Deep packet inspection wikipedia , lookup
Spanning Tree Protocol wikipedia , lookup
Cracking of wireless networks wikipedia , lookup
Multiprotocol Label Switching wikipedia , lookup
Wake-on-LAN wikipedia , lookup
Transcript
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 R1 R1 R2 R2 R3 R3 R4 Multiple unicasts R4 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 - Currently: The Multicast Backbone (MBONE) carries audio and video multicasts of IETF meetings, NASA space shuttle missions,.. etc. Ahmed Helmy - UF 8 - How do hosts know about new groups? - The Session Directory (SD) tool lists active multicast sessions on MBONE and allows to join a conference using MBONE tools: - vat (visual audio tool), rat (robust audio tool) - vic (video tool) - wb (shared white board) - nte (network text editor), .. etc. Ahmed Helmy - UF 9 Ahmed Helmy - UF 10 Ahmed Helmy - UF 11 Ahmed Helmy - UF 12 Ahmed Helmy - UF 13 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 14 Multicast Scope Control: TTL Expanding-Ring Search to reach or find a nearby subset of a group s 1 2 3 Ahmed Helmy - UF 15 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 16 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 on interfaces to these links an administrative domain Ahmed Helmy - UF 17 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 18 • 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 19 Addressing • Types of IP addresses: – Unicast: used to transmit packets to one destination. – Broadcast: used to send datagrams to entire subnet. – Multicast: used to deliver datagrams to a set of hosts (members of a multicast group) in various scattered subnets. Ahmed Helmy - UF 20 • IP-Multicast is a “best-effort” service. – Reliable/ordered delivery are not guaranteed. – Reliability may be provided by upper-layer protocols (e.g., reliable multicast protocols). • IP-Multicast packets include a "group address" (Class D) in the Destination field of the IP header. Ahmed Helmy - UF 21 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 22 • 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 23 Mapping Class D to Ethernet Address • All multicast addresses in IANA's reserved block begin with 01-00-5E (hex) • Mapping between a Class D and an Ethernet multicast address is obtained by: – placing the low-order 23 bits of the Class D address into the low-order 23 bits of IANA's reserved address block. Ahmed Helmy - UF 24 – How multicast group address 224.10.8.5 (E0-0A-08-05) is mapped into an Ethernet (IEEE-802) multicast address. • The mapping may place up to 32 different IP groups into the same Ethernet address because the upper five bits of the IP multicast group ID are ignored. Ahmed Helmy - UF 25 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 26 Ahmed Helmy - UF 27 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 28 • This receiver-initiated join process scales well: – as the group size increases, it becomes more likely for a new member to locate a nearby branch of the multicast distribution tree. Ahmed Helmy - UF 29 • 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 30 Internet Group Management Protocol (IGMP) • IGMP runs between hosts and their immediately neighboring multicast routers. • The protocol allows a host to inform its ‘first-hop’ router that it wishes to receive packets destined to a specific group. Ahmed Helmy - UF 31 Router Operation in IGMP • Routers periodically query the LAN to determine if group members are still active. • One router per LAN is elected as "querier" to query for group members. • Through IGMP a router determines which multicast traffic needs to be forwarded to each of its "leaf" subnets. Ahmed Helmy - UF 32 IGMP Version 1 • RFC-1112 • To determine local group membership: – Multicast routers periodically transmit ‘Host Membership Query’ messages – Queries are ddressed to the all-hosts group (224.0.0.1) with TTL = 1 (i.e., not forwarded by any other multicast router). Ahmed Helmy - UF 33 Hosts Joining Groups • Upon receiving a Query, a host responds with a ‘Host Membership Report’ for each group that it wishes to Join • Observation: The router only needs to know of at least one group member on the leaf subnet Ahmed Helmy - UF 34 Report Suppression Mechanism • To avoid Report implosion: – Each host starts a random delay timer for its Reports. – If during the delay period another Report is heard for the same group, the host resets its timer – Otherwise, the host transmits a Report causing other group members to reset their timers • Thus, Reports are spread out over time and Report traffic is minimized Ahmed Helmy - UF 35 – IGMP-Query Message Ahmed Helmy - UF 36 Updating Local Membership • The querier periodically transmits Queries to update local membership • If no Report is received for a group after a number of Queries, the router assumes that members are no longer present on that LAN – the group is removed from the membership list of that interface/subnet Ahmed Helmy - UF 37 Reducing Join Latency • When a host first joins a group, it immediately transmits a Report for the group rather than waiting for a router Query. Ahmed Helmy - UF 38 IGMP Version 2 (IGMP V2) • IGMP V2 was part of IP-mcast (V3.3-3.8) – spec <draft-ietf-idmr-igmp-v2-01.txt> • IGMP V2 enhances IGMP V1 – IGMP V2 elects one querier for each LAN, the router with the lowest IP address. – In V1, the querier election was done by the multicast routing protocol (different multicast routing protocol used different methods). Ahmed Helmy - UF 39 • IGMP V2 defines a new Query message, the ‘Group-Specific Query’, to Query a specific group rather than all groups Ahmed Helmy - UF 40 Reducing Leave Latency • To reduce ‘leave latency’ V2 defines a ‘Leave Group’ message – When a host leaves a group, it sends a ‘Leave Group’ to the all-routers group (224.0.0.2) with the group field set to the group to be left. – Upon receiving a Leave from a LAN, the querier sends Group-Specific Query on that LAN. – If there are no Reports in response to the GroupSpecific Query, the group is removed from the membership list of that subnet. Ahmed Helmy - UF 41 • Observation: With IGMP V1 and V2, if a host wants to receive any sources from a group, the traffic from all sources for the group has to be forwarded onto the subnet. Ahmed Helmy - UF 42 IGMP Version 3 (IGMP v3) • Spec: <draft-ietf-idmr-igmp-v3-03.txt> • IGMP V3 supports Group-Source Reports: – A host can elect to receive traffic from specific sources of a multicast group. – An inclusion Group-Source Report specifies the sources a host wants to receive. – An exclusion Group-Source Report identifies the sources a host does not want to receive. Ahmed Helmy - UF 43 • IGMP v3 enhances support for Leave Group messages to support ‘Group-Source’ Leave messages: – A host can leave an entire group or specific (source, group) pair(s). Ahmed Helmy - UF 44 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 45 • 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 46 • These algorithms are implemented in the most prevalent multicast routing protocols in the Internet today. Distance Vector Multicast Routing Protocol (DVMRP) Multicast OSPF (MOSPF) Protocol-Independent Multicast (PIM) [PIMDM and PIM-SM] Ahmed Helmy - UF 47 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 48 • 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 49 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 50 • 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 51 • 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 52 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 53 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 54 • 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 55 • Reverse Path Broadcasting (RPB) Forwarding Ahmed Helmy - UF 56 • 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 57 • 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 58 • Example of Reverse Path Broadcasting Ahmed Helmy - UF 59 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 60 Limitations • Does not take into account group membership when building the distribution tree. • As a result, packets may be unnecessarily forwarded to subnets with no group members. Ahmed Helmy - UF 61 Truncated Reverse Path Broadcasting (TRPB) • Using IGMP, routers discover group members and avoid forwarding packets onto leaf subnets with no members. • The spanning delivery tree is "truncated" if a leaf subnet has no group members. Ahmed Helmy - UF 62 • Truncated Reverse Path Broadcasting (TRPB) Ahmed Helmy - UF 63 • TRPB eliminates unnecessary traffic on leaf subnets • But it does not consider group membership when building the branches of the distribution tree. Ahmed Helmy - UF 64 Reverse Path Multicasting (RPM) • RPM enhances TRPB. • RPM creates a delivery tree that spans only: -Subnets with group members -Routers and subnets along the shortest path to group members • In RPM, non-member branches are pruned • Packets are forwarded only along branches leading to group members. Ahmed Helmy - UF 65 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 66 • 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 67 • Reverse Path Multicasting (RPM) Ahmed Helmy - UF 68 • To adapt to membership/network dynamics, the prune state is timed out periodically, and packets are broadcast throughout the network. • This may result in a burst of prune messages. Ahmed Helmy - UF 69 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 70 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 71 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. Ahmed Helmy - UF 72 • Intermediate routers process the join request: – The interface on which the join was received is added to the delivery tree. • Intermediate routers forward join requests toward the core until the join reaches a core or a router on the distribution tree. • Senders unicast their packets toward the core. • When the unicast packet reaches a member of the delivery tree, the packet is multicast to all outgoing interfaces that are part of the tree. Ahmed Helmy - UF 73 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 74 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 75 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 76 Dense vs. Sparse Mode Multicast S R1 R2 R3 R4 Dense-Mode Multicast Ahmed Helmy - UF 77 Dense vs. Sparse Mode Multicast S S R1 R1 R2 R2 R3 Root R3 R4 Dense-Mode Multicast R4 Sparse-Mode Multicast Ahmed Helmy - UF 78 Distance Vector Multicast Routing Protocol (DVMRP) • DVMRP constructs source-rooted trees using variants of RPM. • Many MBONE routers run DVMRP • DVMRP was first defined in RFC-1075. – The original spec was derived from the Routing Information Protocol (RIP) and used TRPB. – Mrouted version 3.8 uses RPM. Ahmed Helmy - UF 79 DVMRP Basic Operation • DVMRP implements RPM. • The first packet for any (source, group) pair is broadcast to the entire network, providing the packet's TTL permits. • Leaf routers with no local members send prune messages back toward the source. Ahmed Helmy - UF 80 • Prune messages cause the removal of branches that do not lead to group members • The result is source-specific shortest path tree with all leaves having group members. • After a period of time, the pruned branches grow back and the packets are broadcast throughout the network. • A “graft” mechanism helps to quickly reestablish previously pruned branches. Ahmed Helmy - UF 81 • A new member joining the group causes the first-hop router to send a graft message to the group's previous-hop router. • When an upstream router receives a graft message, it removes the prune state. • Graft messages may cascade back toward the source allowing previously pruned branches to be restored. Ahmed Helmy - UF 82 Example DVMRP Scenario g g s Ahmed Helmy - UF g 83 Initial Broadcast using Truncated Broadcast g g s Ahmed Helmy - UF g 84 Prune non-member branches g g prune (s,g) s prune (s,g) Ahmed Helmy - UF g 85 Graft new members g g g report (g) graft (s,g) s graft (s,g) g Ahmed Helmy - UF 86 DVMRP Distribution Tree g g g s g Ahmed Helmy - UF 87 Avoiding duplicates on LANs • To avoid duplicates, one router per LAN is elected the Dominant Router Ahmed Helmy - UF 88 • The router with lowest metric to the source subnet (with the lowest IP address as tie breaker) becomes the Dominant router • A dominant router is ‘the’ forwarder for the LAN for traffic from the source subnet Ahmed Helmy - UF 89 DVMRP Forwarding Table • Entries in a typical DVMRP forwarding table: – Source Subnet – Multicast Group – InPort - The parent port for the (S, G) pair. A "Pr" indicates that a prune was sent to upstream. – OutPorts - The child ports over which packets for the (S, G) pair are forwarded. A ‘p’ indicates prune message received on that interface. Ahmed Helmy - UF 90 DVMRP Forwarding Table Ahmed Helmy - UF 91 Multicast Extensions to OSPF (MOSPF) • OSPF V2 is defined in RFC-1583. • OSPF is a unicast routing protocol that distributes topology information and calculates routes for a single domain. • MOSPF is defined in RFC-1584. • MOSPF routers maintain a current image of the network topology through the unicast OSPF link-state routing protocol. Ahmed Helmy - UF 92 • MOSPF does not support tunnels • Basic MOSPF runs in a single OSPF domain • MOSPF uses IGMP to discover members on directly attached subnets. • The Designated Router (DR) is responsible for sending membership information to all routers in the OSPF domain. • The DR floods Group-Membership Link State Advertisements (LSAs) throughout the OSPF domain. Ahmed Helmy - UF 93 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 94 • Source-rooted shortest-path tree is constructed using Dijkstra's algorithm. • To forward packets to downstream members, each router determines its position in the shortest path tree • After the tree is built, Group-Membership LSAs are used to prune those branches that do not lead to group members. Ahmed Helmy - UF 95 • All routers within an OSPF domain calculate the same shortest path trees. MOSPF LS-DB allow a router to perform RPM computation "in memory". No need for broadcast and prune. Ahmed Helmy - UF 96 Forwarding Cache • Forwarding cache entry contains the (source, group) pair, the upstream node, and the downstream interfaces. • MOSPF Forwarding Cache Ahmed Helmy - UF 97 • The forwarding cache contains: – Destination: The group address – Source: The packet’s source subnet. – Upstream: The interface from which (S,G) packets are received. – Downstream: The interfaces to which (S,G) packets are forwarded – TTL: min. number of hops a packet needs to reach the group members. [This allows the router to discard packets with no chance of reaching the members.] Ahmed Helmy - UF 98 • The forwarding cache is not aged. The forwarding cache will change when: The topology of the OSPF network changes, forcing all of the datagram shortest-path trees to be recalculated. There is a change in the Group-Membership LSAs indicating that the distribution of individual group members has changed. Ahmed Helmy - UF 99 Limitations Limited to OSPF domains Flooding membership information does not scale well for Internet-wide multicsat Ahmed Helmy - UF 100 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 101 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 102 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 103 How PIM-DM works • Packets initially flow on broadcast tree • Forwarded away from source using the RPF algorithm – A router forwards a multicast datagram if received on the interface used to send unicast datagrams to the source • Then, Prunes are sent up the tree to remove branches with no members Ahmed Helmy - UF 104 How PIM-DM works Source A B G C D F H Receiver 1 E I Receiver 2 Ahmed Helmy - UF 105 How PIM-DM works Source A B G C Prune D F H E I Receiver 1 Receiver 2 Ahmed Helmy - UF 106 How PIM-DM works Source A B G C D F Asserts H E I Receiver 2 Receiver 1 Ahmed Helmy - UF 107 How PIM-DM works Source A B G C D F H E I Receiver 2 Receiver 1 Ahmed Helmy - UF 108 How PIM-DM works Source A Prune B G C D F Join Override Prune E H I Receiver 1 Receiver 2 Ahmed Helmy - UF 109 How PIM-DM works Source A B G C D F H E I Receiver 1 Receiver 2 Ahmed Helmy - UF 110 How PIM-DM works Source A B G C D F Graft E H I Receiver 2 Receiver 1 Receiver 3 Ahmed Helmy - UF 111 How PIM-DM works Source A B G C D F H E I Receiver 1 Receiver 2 Receiver 3 Ahmed Helmy - UF 112 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 113 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 114 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 115 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 116 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 117 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 118 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 119 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 120 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 121 How PIM-SM works Source (S, G) Prune A B D RP C E (*,G) Data (S, G) RP Bit Prune Receiver 1 Link (S,G) Data Receiver 2 Ahmed Helmy - UF Control 122 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 123 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 124