Engineering Workshops 96 ASM
Engineering Workshops 97 ASM Allows SPTs and RPTs RP: –Matches senders with receivers –Provides network source discovery Typically uses RPT to bootstrap SPT RPs can be learned via: –Static configuration – recommended –Anycast-RP – recommended –Auto-RP (PIM-SM v1 & v2) – not recommended –Bootstrap Router (PIM-SM v2) – not recommended
Engineering Workshops 98 ASM: the original multicast service model From RFC 1112 : –Packet transmission is based on UDP, so packet delivery is “best-effort”, with no loss detection or retransmission –A source can send multicast packets at any time, with no need to register or schedule transmissions. –Sources do not know the group membership. A group may have many sources and many members. –Group members may come and go at will, with no need to coordinate with a central authority. –And, critically, group members know only the group. They don’t need to know anything about sources — not even whether or not any sources exist. This is the ASM paradigm. It requires sender registration and tree-switching, which make it much more complex than SSM.
Engineering Workshops 99 Designated Router (DR) DR sends –“Join/Prune” messages toward the RP from receiver network –“Register” messages toward the RP from source network Selecting the DR: –Neighboring PIM-SM routers multicast periodic “Hello” messages to each other (default is every 30 seconds; the hello- interval is tunable for faster convergence). –On receipt of a Hello message, a router stores the IP address and priority for that neighbor. –The router with highest IP address is selected as the DR, if the priorities match. When DR goes down, a new one is selected by scanning all neighbors on the interface and choosing the one with the highest IP address.
Engineering Workshops 100 Intra-domain ASM
Engineering Workshops 101 ASM RP Tree Join Receiver RP (*, G) Join RP Tree Receiver announces desire to join group G with IGMPv2 host report – (*,G). IGMPv2 host report DR sends PIM (*,G) Join toward the RP; subsequent routers do likewise.
Engineering Workshops 102 ASM Sender Registration Receiver RP Source RP Tree Shortest Path Tree Traffic Flow (S, G) Register (unicast) (S, G) Join Active source triggers DR to send (S,G) Register message to RP. RP sends (S,G) Join to source.
Engineering Workshops 103 ASM Sender Registration Receiver RP RP Tree Shortest Path Tree RP sends a Register-Stop back to the DR to stop the Register process. (S, G) Register-Stop (unicast) Traffic Flow (S, G) Register (unicast) (S, G) traffic begins arriving at the RP via the SPT. Source
Engineering Workshops 104 ASM Sender Registration Receiver RP Source traffic flows natively along SPT to RP. From RP, traffic flows down the RPT to the receiver. Source Shortest Path Tree RP Tree Traffic Flow
Engineering Workshops 105 How can PIM do both SPTs and RPTs ? PIM-SM includes a mechanism for switching from an RPT to an SPT. –Generally, this is configured to happen immediately, i.e., at most one packet flows down the RPT. –This means that the placement of the RP and the speed of the links to it are not so important. This gets pretty complicated!
Engineering Workshops 106 How Tree-Switching Works 1)Source multicasts data to the LAN that its DR is on. 2)DR encapsulates the data and unicasts it to the RP in a Register message. 3)If the RP has receivers that belong to the group, it sends the data down the RPT. Receivers may join before or after the source starts. Receivers join just the group (i.e., a (*,G) Join). 4)The RP issues a (S,G) Join towards the source, S, in order to receive the data through multicast.
Engineering Workshops 107 Tree-Switching (continued) 5)The routers in the path learn about the particular S from the traffic down the RPT. 6)The receiver’s DR issues a (S,G) Join toward the source. 7)This travels hop by hop towards the source until it finds a router with (S,G) state — maybe at the source, maybe closer. 8)The (S,G) data starts flowing directly from the source to the receiver.
Engineering Workshops 108 Tree-Switching (continued) 9)Some router is receiving two copies of the data, from the SPT and the RPT. 10)This router drops the data from the RPT, and issues an (S,G) Prune message toward the RP. 11)This travels hop by hop toward the RP, pruning the state, until it reaches a router that needs the (S,G) data for some other receiver.
Engineering Workshops 109 ASM SPT Cutover Receiver RP (S, G) Join Receiver’s DR joins the SPT. Source Shortest Path Tree RP Tree Traffic Flow
Engineering Workshops 110 ASM SPT Cutover Receiver RP Shortest Path Tree RP Tree (S, G) RP-bit Prune Traffic begins flowing down the new branch of the SPT. Additional (S, G) state is created along the RPT to prune off (S, G) traffic. Traffic Flow Source
Engineering Workshops 111 ASM SPT Cutover Receiver RP Shortest Path Tree RP Tree (S,G) traffic flow is now pruned off of this branch of the RPT and is flowing to the receiver via the SPT. Traffic for other sources may still be flowing down the RPT. Traffic Flow Source
Engineering Workshops 112 ASM SPT Cutover Receiver RP Shortest Path Tree RP Tree (S, G) traffic flow is no longer needed by the RP, so it prunes the flow of (S, G) traffic. Traffic Flow (S, G) Prune Source
Engineering Workshops 113 ASM SPT Cutover Receiver RP Shortest Path Tree RP Tree (S, G) Traffic flow is now only flowing to the receiver via a single branch of the SPT. Traffic Flow Source As long as the source remains active, its DR sends Null-Register messages to the RP, enabling the RP to maintain a list of all active sources.
Engineering Workshops 114 RP Options Static RP –Recommended –Easy transition to Anycast-RP –Allows for a hierarchy of RPs Auto-RP (Cisco proprietary) –Fixed convergence timers (slow) –Must flood RP mapping traffic bootstrap router (BSR) –Fixed convergence timers (slow) –Allows for a hierarchy of RPs
Engineering Workshops 115 RP Options In most cases, static RP is the best option: –simple: just tell every router the RP address (once!) –flexible: use a /32 on a loopback interface so it can be moved –scalable: add more instances of same RP address for redundancy, load splitting, topological localization, etc. –survivable: fail-over from one RP to another is as fast as IGP convergence –blessed: RFC 3446 (just 8 pages!) Only use more complicated options if you really need to: –different RP(s) for different groups –see later Anycast-RP slides for details
Engineering Workshops Commonly-Used Cisco Multicast Forwarding State Flags
Engineering Workshops 117 S – Sparse Mode Flag The S flag indicates that the multicast group is a sparse mode group. Appears only on (*,G) entries
Engineering Workshops 118 D – Dense Mode Flag The D flag indicates that the multicast group is a dense mode group. Appears only on (*,G) entries
Engineering Workshops 119 F – Register flag F flag means that Register messages are being sent to the Rendezvous Point (RP) Set on Designated Router (DR) state for each (S,G) Also set on the parent (*,G) state if any child (S,G) state entry has the F flag set.
Engineering Workshops 120 J – Join SPT flag on (*,G) Appears on (*,G) entries when the C flag is set (there’s a locally connected receiver). Set when traffic rate on the RP Tree exceeds the SPT-Threshold. When set, the next packet down the (*,G) RP Tree will create separate (S,G) state. (SPT- cutover)
Engineering Workshops 121 J – Join SPT flag on (S,G) (S,G) created by SPT-cutover. PIM checks the rate every minute to decide whether there’s enough traffic to justify maintenance of the (S,G) state.
Engineering Workshops 122 T – SPT Flag The T flag (or SPT) flag indicates that traffic is being forwarded via the (S,G) entries. That is, on shortest path tree. Appears only on (S,G) entries.
Engineering Workshops 123 R – RP-bit flag Shows up on (S,G) entries only The (S,G) entry’s RPF is towards the RP (not towards S) The outgoing interface list is often Null, or a subset of the outgoing interface list on the (*,G) parent entry Used to prune (S,G) traffic from the RP tree when downstream routers have joined the SPT instead
Engineering Workshops 124 C – Connected Flag The C flag indicates that there’s a directly connected receiver. Shows up on (*,G) state from IGMPv2 Host Membership reports. Shows up on (S,G) state from IGMPv3 Host Membership reports (without INCLUDE lists).
Engineering Workshops 125 P – Pruned Flag The P flag indicates that either: (1) the outgoing interface list is Null -or- (2) all interfaces in the outgoing interface list are in the Prune state The P flag results in a Prune being sent to the upstream neighbor for this (S,G) entry.
Engineering Workshops 126 A – Advertised via MSDP Shows up on (S,G) entries at the Rendezvous Point (RP) Indicates that Register messages are being received, and converted by the RP into MSDP Source Active messages for transmission to peers.
Engineering Workshops 127 M – MSDP Created Entry Shows up on (S,G) entries at the Rendezvous Point (RP) Indicates that the (S,G) entry was created when an MSDP Source Active message was received on a group for which there is “group interest”. Group Interest: a (*,G) entry exists, created either by local IGMP or PIM (*,G) joins.
Engineering Workshops 128 L – Local Flag The L flag indicates that the router itself is a member of the group. The router will process the traffic at the route processor. Example: PIM RP-Discovery ( ) Enabling "ip sdr listen" will cause this flag to be seen
Engineering Workshops 129 s – SSM Group Flag Shows up on (*,G) entries for SSM groups Incoming and Outgoing Interfaces are Null SSM group (*,G) parent entries exist only for internal data structure purposes
Engineering Workshops Less-Commonly-Used Cisco Multicast Forwarding State Flags
Engineering Workshops 131 U – URD Shows up on (S,G) entries created by the Cisco- Proprietary URL Redirect protocol (URD) URD provides SSM semantics on networks/hosts that don’t support IGMPv3 natively. Host sends special HTTP request towards the last-hop router on TCP port 659, which specifies the source and group address. Router intercepts that HTTP request and creates this (S,G) state.
Engineering Workshops 132 X – Proxy-Join Timer Shows up on (S,G) entries when a router becomes the “Turnaround Router” Deals with situations like “RP On A Stick” State times out if not refreshed
Engineering Workshops 133 I – Source Specific Host Report The I flag indicates that the directly connected receiver indicated that it wants traffic from a specific source on the specific group. Shows up on (S,G) state created by IGMPv3 Host Membership reports (with INCLUDE lists).
Engineering Workshops 134 B – Bi-Dir Mode Flag The B flag indicates that the multicast group is a bi-directional group. New PIM mode; hardware support is still limited. draft-ietf-pim-bidir-08.txt Bi-directional RPT Intended for apps with many sources, but operating within a single PIM domain Appears only on (*,G) entries
Engineering Workshops 135 Lab 3 Intra-domain ASM Time: Approx. 1 hour