Communication modes

• One sender • One sender • One receiver • N receivers S-38.3191 Verkkopalvelujen tuotanto • Broadcast • 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. 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 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 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 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. 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 ( 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 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