Communication modes
• Unicast • Multicast • One sender • One sender • One receiver • N receivers S-38.3191 Verkkopalvelujen tuotanto • Broadcast • Anycast S-38.3191 Network Service Provisioning • One sender • One sender Lecture 5: Multicast 23.10.2008 • All receive • One receiver on a group
Juha Järvinen @ netlab.tkk.fi
Mostly based on material by Lic.Tech. Marko Luoma
Page 1 Page 2 S-38.3191: Multicast
Forwarding modes Multicast
Point-to-point It is all about determining where - From single ingress to single egress - are the receivers - ’link’ - Is the knowleddge of receivers maintained - Broadcast vs multicast Point-to-multipoint - the replication of packets should be done - From single ingress to multiple egress - Is there knowledge about service within the network - ’tree’ - Source replication vs network replication Multipoint-to-multipoint - From multiple ingress to multiple egress - ’mesh’
Page 3 S-38.3191: Multicast Page 4 S-38.3191: Multicast Multicast forwarding Forwarding
Problem Unicast forwarding - How to form a point-to-multipoint structure that is efficient - Forwarding of packets towards destination via the shortest path - e.g. Shortest path tree - SPF is based on weighting of IGP Reverse path forwarding Reverse path forwarding - Logic: - Forwarding of packets away from the shortest path to the sender - Send out replicate of the packet to all interfaces except to the one with the shortest path to the sender - No knowledge of the destination only about the source - That is where the packet should have come in the first place Reverse path forwarding check - Dropped duplicates along the way on the network - Accept packets only from the link which points to SPF towards source - Wasted resources - From the sender to all other stations on the network - Wasted resources
Page 5 S-38.3191: Multicast Page 6 S-38.3191: Multicast
Building an intelligent tree
1. Router R1 checks: Did the Sender data packet arrive on the Requirements interface with the shortest path 2. Router R2 accepts packets to the Sender ? Yes, so it accepts - We know where the receivers are sent from Router R1 because the packet, duplicates it, and - Group management protocol (IGMP) that is the shortest path to the forwards the packet out all other Sender . The packet gets sent interfaces except the interface - Receivers express their existence to the network out all interfaces. that is the shortest path to the R1 sender (i.e the interface the join, leave packet arrived on). - We are able to communicate that knowledge within the network - Multicast routing protocol (PIM) Drop - Activation of RPF on selected downstream links 3. Router R2 drops R2 R3 packets that arrive from Drop Router R3 because that is not the shortest path to the sender. Avoids cycles.
R4 R5 R6 R7
Page 7 S-38.3191: Multicast Page 8 S-38.3191: Multicast Building an intelligent tree
If we want to minimize the state information within the core we can build a shared tree for each sender RP
- A single point within the network acts as a relay agent data
- Traffic in unicast sent to relay point which then multicasts it forward in RPF-tree R R - Efficiency depends on the distribution of sources and receivers in relation to location of relay -point data
- Usually very uneffiecient due to sparse nature of receivers and variable locations of R R R sources
data
R R R R R
Sender Receiver 2
Page 9 S-38.3191: Multicast Page 10 S-38.3191: Multicast Receiver 1
Building an intelligent tree
If we want to achieve maximal efficiency, we must use shortest paths toward source of the information not towards common replication point RP - Use explicit source rooted RPF-tree
- Joining/grafting to multicast tree at the lowest level possible R R - Pruning from the tree if there are no receivers below
R R R
R R R R R data data data data
Sender Receiver 2
Page 11 S-38.3191: Multicast Page 12 S-38.3191: Multicast Receiver 1 PIM PIM
Is a combination of shared tree and source specific tree operation Different Modes - Infrequent packets are replicated in a single point (shared tree) - Sparse Mode (SM) - Randevouz point - is the most widely deployed as of 2006 - High data volumes are transferred in more optimal way (source specific tree) - Dense Mode (DM) - Decission based on predefined policy - Source Specific Mode (SSM) - Data rate greater than x - Bidirectional Mode (Bidir) [Also commonly known as Sparse-Dense Mode - Amount of bytes greater than x (SDM)] SSM and Bidir are simpler and more scalable variations developed more recently and gaining in popularity
Page 13 S-38.3191: Multicast Page 14 S-38.3191: Multicast
PIM-SM Multicast Distribution Trees
Is a protocol for efficiently routing to multicast groups that may span wide- • Shared trees • Source specific tree area (and inter-domain) internets. – Uses less resources from the network – Takes more resources from the network It is not dependent on any particular unicast routing protocol for topology • Amount of state information is depent of N(*,G) • Amount of state information is dependent of N(S,G) – All sources (*) are mapped into single distribution tree – Every source (S) has its own distribution tree per group discovery per group (G) (G) - sparse-mode because it is suitable for groups where a very low percentage of – Usually suboptimal path from the source to all • Optimal path from the source to all receivers within receivers within the group the group the nodes (and their routers) will subscribe to the multicast session. »Unless RP is rooted at the source – Minimizes the IGP cost towards source from each - Unlike earlier dense-mode multicast routing protocols such as DVMRP and PIM- receiver DM which flooded packets everywhere and then pruned off branches where – Optimal for one-to-many distribution there were no receivers, PIM-SM explicitly constructs a tree from each sender to (point-to-multipoint) the receivers in the multicast group. Multicast packets from the sender then follow this tree.
Page 15 S-38.3191: Multicast Page 16 S-38.3191: Multicast Rendezvous Rendezvous Point Point RP RP
Join
R R R R
Join
R R R R R R
Join
DR1 R DR2 R R DR1 R DR2 R R
1. Receiver 1 joins the multicast 2. Routers along the path to RP create 1. Sender begins sending to a multicast group. 3. The RP decapsulates the packet group. Designated Router DR2 router state for the group, adding and sends it out the shared tree. sends a Join message toward the themselves to the shared tree. 2. Designated Router DR1 encapsulates the RP . Periodically, DR2 resends the packets from Sender in Register messages and Join message in case it was lost. unicasts them to RP . Page 17 S-38.3191: Multicast Receiver 1 Page 18 S-38.3191: Multicast Receiver 1
Source Specific 1. RP sees traffic from Sender at a Join 3. RP sees unencapsulated traffic Rendezvous rate > threshold. It sends source Rendezvous from Sender and sends a Register Point Point RP specific join request toward Sender . RP Stop message to DR1 . DR1 then Prune stops sending encapsulated traffic 2. DR1 adds DR2 to the to RP . R R source specific tree for R R Sender .
Prune
R R R R R R
Source Specific Prune Join Join
DR1 R DR2 R R DR1 R DR2 R R
2. DR1 adds RP to the source specific tree 1. DR2 sees traffic from Sender at a rate > 3. DR2 sees traffic from Sender coming from for Sender. threshold. It sends a source specific join request RPF tree , it sends a Source Specific Prune towards Sender. message toward RP. This removes DR2 from the shared tree . Page 19 S-38.3191: Multicast Receiver 1 Page 20 S-38.3191: Multicast Receiver 1 Rendezvous Point (RP) Interdomain multicast
Location of RP can be based on Need to transfer multicast routing information across domain borders - Static configuration of served groups - Active groups (senders and receivers) - Bootstrap process with priorities - Multicast Source Discovery Protocol (MSDP) - Anycast operation - Unicast routes for RPF - Multicast BGP (MBGP) Bootstrap Router (BSR) - Dynamically elected (like OSPF DR election process) - Constructs a set of RP IP addresses based on received Candidate-RP messages
Page 21 S-38.3191: Multicast Page 22 S-38.3191: Multicast
1. Source registration in to PIM-RP is announced to MSDP peers Domain E 2. Receiver joins to group via PIM-SM Domain E
PIM-SM RP RP “Join” SA r r Domain C Domain C
Join (*, 224.2.2.2) RP RP SA Domain B SA SA Domain B
RP RP PIM-SM SA “Join” RP RP
SA Domain D Domain D
s RP s RP Domain A Register Domain A Page 23 S-38.3191: Multicast 192.1.1.1, 224.2.2.2 Page 24 S-38.3191: Multicast 3. Traffic flows from the source to receiver via shared trees Domain E 4. Source specific tree optimisations are done for the traffic flow Domain E
RP RP r r Domain C Domain C
RP RP Domain B Domain B
RP RP
Traffic Traffic RP RP Domain D Domain D
s RP s RP Domain A Domain A
Page 25 S-38.3191: Multicast Page 26 S-38.3191: Multicast
MBGP
Domain E Multiprotocol Extensions to BGP (RFC 2283). - Tag unicast prefixes as multicast source prefixes for intra-domain multicast RP routing protocols to do RPF checks. r - Why same routes two times Domain C - Allows for inter-domain RPF checking where unicast and multicast paths are non- congruent RP Domain B - Inter-provider relationships Policies ;-) RP
Traffic RP Domain D
s RP Domain A
Page 27 S-38.3191: Multicast Page 28 S-38.3191: Multicast MBGP Multicast over Layer 3 VPNs
Different NLRI (Network Layer Reachability Information) for unicast and multicast routes - Address Family Information (AFI) = 1 (IPv4) - SAFI = 1 (NLRI is used for unicast) - SAFI = 2 (NLRI is used for multicast RPF check) - SAFI = 3 (NLRI is used for both unicast and multicast RPF check) Allows for different policies between multicast and unicast - For example different ingress/egress point for unicast and multicast traffic
Figure: Juniper
http://www.juniper.net/techpubs/software/junos/junos62/feature-guide-62/html/fg-l3vpn-multicast2.html
Page 29 S-38.3191: Multicast Page 30 S-38.3191: Multicast
MPLS VPN multicast MPLS VPN multicast
Multicasting in MPLS VPN is not straight forward - Optimal replication requires state in core routers (P)
Separate Tree Separate Tree per-set-of MVPNs per-set-of C-(S,G)s “Inclusive Mapping” “Selective Mapping”
Ingress Separate Tree for Replication Every C-(S,G)
Figure: Cisco
Decreasing Increasing •P-router state •P-router state •Bandwidth efficiency •Bandwidth efficiency http://www.cisco.com/en/US/docs/ios/12_2t/12_2t13/feature/guide/ftmltvpn.html
Page 31 S-38.3191: Multicast Page 32 S-38.3191: Multicast Data plane Scalability
• Optimizing performance • Optimizing state-space How to tunnel multicast traffic in Service Provider network – A given customer (multicast) – The amount of state within the - By using p2mp LSP’s packet should traverse a given service provider network required service provider link at most once to support Multicast in 2547 VPN - Static distribution trees – Deliver customer multicast traffic service should be no greater than - GRE encapsulation and IP multicast forwarding to only PEs that have (customer) what is required to support unicast - Multicast distribution trees in 2547 VPN service receivers for that traffic - Aka multicast service – Deliver customer multicast traffic – The overhead of maintaining the along the “optimal” paths within state to support Multicast in 2547 - Unicast tunneling with ingress replication VPN service should be no greater the service provider (from the How to exchange multicast routing information with service provider network ingress PE to the egress PEs) than what is required to support unicast in 2547 VPN service - MBGP - PIM - MSDP - Tunneling through
Page 33 S-38.3191: Multicast Page 34 S-38.3191: Multicast
Multicast in use
Ucast Edge MPLS Core Wikipedia: ”Recently the BBC has begun encouraging UK-based ISPs to Mcast Content adopt Multicast onto their networks by providing BBC Radio at higher CE CE quality than is available via their Unicast delivered services. This has also PE been supported by a variety of commercial radio networks - including Virgin Radio, GCAP and EMAP.” Mcast Edge PE P P Mcast/Ucast Some operators use Multicast as an internal service. CE Internet Peering PE More in the future? CE P
PE
Page 35 S-38.3191: Multicast Page 36 S-38.3191: Multicast Summary
“Multicast is a network addressing method for the delivery of information to a group of destinations simultaneously using the most efficient strategy to deliver the messages over each link of the network only once, creating copies only when the links to the multiple destinations split (typically network switches and routers). Multicast is often used for streaming media and Internet television applications.” Path between source and destination is not always optimal It is possible - to use Multicast between different domains - to create Multicast VPNs
Page 37 S-38.3191: Multicast