IP Multicast Lecture 2: PIM-SM Carl Harris Communications Network Services Virginia Tech.

Slides:



Advertisements
Similar presentations
Introduction 1 Lecture 22 Network Layer (Broadcast and Multicast) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science.
Advertisements

Multicasting 1. Multicast Applications News/sports/stock/weather updates Distance learning Configuration, routing updates, service location Pointcast-type.
Introduction to IP Multicast 1 Cisco Systems Confidential 0810_04F7_c2.
Multicast on the Internet CSE April 2015.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco Public BSCI Module 7 Lesson 3 1 IP Multicasting: Multicast Routing Protocols.
Slide Set 15: IP Multicast. In this set What is multicasting ? Issues related to IP Multicast Section 4.4.
Internet Networking Spring 2002
1 IP Multicasting. 2 IP Multicasting: Motivation Problem: Want to deliver a packet from a source to multiple receivers Applications: –Streaming of Continuous.
EE689 Lecture 12 Review of last lecture Multicast basics.
1 CSE 401N:Computer Network LECTURE-14 MULTICAST ROUTING.
MULTICASTING Network Security.
COMS/CSEE 4140 Networking Laboratory Lecture 11 Salman Abdul Baset Spring 2008.
© J. Liebeherr, All rights reserved 1 IP Multicasting.
Multicast Brad Smith. Administrativia Next (8 th ) week – Project status report due Tuesday, 5/21 – Review STP and Multicast lab Tuesday, 5/21 – BGP lab.
CSE679: Multicast and Multimedia r Basics r Addressing r Routing r Hierarchical multicast r QoS multicast.
Computer Networks 2 Lecture 1 Multicast.
Multicasting  A message can be unicast, multicast, or broadcast.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Multicast routing.
Multicast Routing Protocols NETE0514 Presented by Dr.Apichan Kanjanavapastit.
Network Layer4-1 R1 R2 R3R4 source duplication R1 R2 R3R4 in-network duplication duplicate creation/transmission duplicate Broadcast Routing r Deliver.
CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001.
1 Chapter 16b Multicasting. Chapter 16b Multicasting 2 Multicasting Applications Multimedia Multimedia –television, presentations, etc. Teleconferencing.
Multicast Outline Multicast revisited Protocol Independent Multicast - SM Future Directions.
Broadcast and Multicast. Overview Last time: routing protocols for the Internet  Hierarchical routing  RIP, OSPF, BGP This time: broadcast and multicast.
Multicast Routing Algorithms n Multicast routing n Flooding and Spanning Tree n Forward Shortest Path algorithm n Reversed Path Forwarding (RPF) algorithms.
IP Multicast Lecture 3: PIM-SM Carl Harris Communications Network Services Virginia Tech.
Chapter 22 Network Layer: Delivery, Forwarding, and Routing Part 5 Multicasting protocol.
Chapter 15 Multicasting and Multicast Routing
Kurt Windisch -- University of OregonIETF GATED -- December 7, PIM Dense Mode GateD Implementation Kurt Windisch Dave Meyer Advanced Network Technology.
IP Multicast Part I: Fundamentals Carl Harris Communications Network Services Virginia Tech.
Computer Science 6390 – Advanced Computer Networks Dr. Jorge A. Cobb Deering, Estrin, Farinacci, Jacobson, Liu, Wei SIGCOMM 94 An Architecture for Wide-Area.
Introduction to IP Multicast
Multicast Routing Protocols. The Need for Multicast Routing n Routing based on member information –Whenever a multicast router receives a multicast packet.
Multicast Outline Multicast Introduction and Motivation RIP-based and Protocol Independent Multicast Routing.
© J. Liebeherr, All rights reserved 1 Multicast Routing.
IP Multicast COSC Addressing Class D address Ethernet broadcast address (all 1’s) IP multicast using –Link-layer (Ethernet) broadcast –Link-layer.
Multicast 1 Spencer Tsai Mobile Communication & Broadband Network Lab CSIE Fu-Jen Catholic University Introduction to Multicast.
CS 4396 Computer Networks Lab IP Multicast - Fundamentals.
Broadcast and multicast routing. R1 R2 R3R4 source duplication R1 R2 R3R4 in-network duplication duplicate creation/transmission duplicate Broadcast Routing.
© J. Liebeherr, All rights reserved 1 IP Multicasting.
1 © 2000, Cisco Systems, Inc _05_2000_c2 Server Router Unicast Server Router Multicast Unicast vs. Multicast.
Fundamentals of IP Multicast
Multicasting Ju Seong-ho Previous work behind main one.
IP multicast Advisor: Prof. Wanjiun Liao Instructor: De-Nian Yang
11 CS716 Advanced Computer Networks By Dr. Amir Qayyum.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429 Introduction to Computer Networks Lecture 21: Multicast Routing Slides used with.
1 IP Multicasting Relates to Lab 10. It covers IP multicasting, including multicast addressing, IGMP, and multicast routing.
4: Network Layer4-1 Chapter 4: Network Layer Last time: r Internet routing protocols m RIP m OSPF m IGRP m BGP r Router architectures r IPv6 Today: r IPv6.
Network Layer4-1 Chapter 4 roadmap 4.1 Introduction and Network Service Models 4.2 Routing Principles 4.3 Hierarchical Routing 4.4 The Internet (IP) Protocol.
Spring 2006CS 3321 Multicast Outline Link-state Multicast Distance-vector Multicast Protocol Independent Multicast.
1 Protocol Independent Multicast (PIM) To develop a scalable protocol independent of any particular unicast protocol –ANY unicast protocol to provide routing.
2/25/20161 Multicast on the Internet CSE 6590 Fall 2009.
1 Group Communications: MOSPF and PIM Dr. Rocky K. C. Chang 19 March, 2002.
Internet Multicasting Routing: DVMRP r DVMRP: distance vector multicast routing protocol, RFC1075 r flood and prune: reverse path forwarding, source-based.
IP Multicast Lecture 4: PIM-SM Carl Harris Communications Network Services Virginia Tech.
Communication Networks Recitation 11. Multicast & QoS Routing.
DMET 602: Networks and Media Lab Amr El Mougy Yasmeen EssamAlaa Tarek.
1 Group Communications: Reverse Path Multicast Dr. Rocky K. C. Chang 19 March, 2002.
Engineering Workshops 96 ASM. Engineering Workshops 97 ASM Allows SPTs and RPTs RP: –Matches senders with receivers –Provides network source discovery.
DMET 602: Networks and Media Lab
COMP/ELEC 429 Introduction to Computer Networks
Computer Networking Multicast.
Multicast Outline Multicast Introduction and Motivation DVRMP.
CMPE 252A: Computer Networks
IP Multicasting Let one packet go to multiple addresses and you can save much bandwidth. That’s the promise of IP multicasting…
Multicast Outline Multicast revisited
IP Multicast COSC /5/2019.
EE 122: Lecture 13 (IP Multicast Routing)
Implementing Multicast
Optional Read Slides: Network Multicast
Presentation transcript:

IP Multicast Lecture 2: PIM-SM Carl Harris Communications Network Services Virginia Tech

Game Plan Part I: IP Multicast Fundamentals Part II: Protocol Independent Multicast, Sparse Mode (PIM-SM). Part III: Interdomain Multicast, Multicast- Only Topologies. Part IV: Layer 2 Optimizations and Oddities. PIM-DM, DVMRP Overview.

Part II Agenda PIM-SM Motivation and architecture. Distribution tree construction and packet forwarding. Distribution tree maintenance. PIM-SM over multi-access networks. PIM Neighbor discovery. RP discovery and failover. Parallel routers at a source: Assertion.

Exercise 1 What additional forwarding rule(s) is (are) needed if a router has both a source and a receiver connected to the same interface?

Forwarding Review Source S sends a packet to group R 1 2 H1 H2 H3 (*,G) iif=NULL oif=1,2 3 S 4. R decrements the TTL of the packet (now TTL=1). Assuming that neither interface 1 nor 2 has a TTL threshold set, R forwards the packet according to the created (S,G) state. 2. R receives the packet, and verifies that the packet passes the RPF test. 1. S sends a packet addressed to G, with TTL=2. 3. The packet matches only (*,G). R creates (S,G) iif=3 oif=1,2.

Multicast Packet Forwarding When a packet is received by a router from a directly connected source S addressed to a group G: –If neither (S,G) nor (*,G) state exists, the packet is dropped. We make an exception when PIM- SM is the multicast routing protocol. –If (S,G) state exists, its entry timer is refreshed and the packet will be forwarded using the oif list for the (S,G) state.

Multicast Packet Forwarding –If no (S,G) state exists and the packet matches (*,G) state, the (S,G) state is created. iif is set to the interface on which the packet was received oif is copied from the (*,G) state, excluding the interface on which the packet was received. Note that by this rule, iif cannot be in the oif list, since the iif leads back to S.

Forwarding Exercise Source and receiver on the same interface R 1 2 H1 H4 H3 (*,G) iif=NULL oif=1,2,3 3 S 4. R decrements the TTL of the packet (now TTL=1). Assuming that neither interface 1 nor 2 has a TTL threshold set, R forwards the packet according to the created (S,G) state. 1. S sends a packet addressed to G, with TTL=2. 3. The packet matches only (*,G). R creates (S,G) iif=3 oif=1,2 H2 2. H4 and R both receive the packet, R verifies that the packet passes the RPF test.

Exercise 2 IGMP could be used as a primitive multicast routing protocol. Consider the case of two routers interconnected on a backbone, each with some local subnets that have active receivers for a group G. Place a source on a subnet connected to one of the routers. What additional IGMP actions will need to take place between the routers to forward the source to all receivers? –Need a “Hello” mechanism so that neighboring IGMP routers can meet each other. –When a (*,G) state is created, send a membership report on every interface that leads to neighboring IGMP routers.

IGMP Exercise R1 2 R R1 sends membership report for G on interface R2 sends a membership report for G on interface 3 4. R2 creates (*,G) iif=NULL oif=3 H3 5. H3 joins G. 2. R1 creates (*,G) iif=NULL oif=1 8. R1 updates (*,G) iif=NULL oif=1,3 9. R1 updates (*,G) iif=NULL oif=1,2,3 H1 1. H1 joins G. 6. R2 updates (*,G) iif=NULL oif=1,3 H2 8. H2 joins G.

IGMP Exercise R1 2 H1 H2 R H3 1 1 S1S2 (*,G) iif=NULL oif=1,2,3 (*,G) iif=NULL oif=1,3 1. S1 sends a packet to group G. 2. R2 checks RPF then creates (S1,G) iif=2 oif=1,3 and forwards the packet. 3. R1 checks RPF then creates (S1,G) iif=3 oif=1,2 and forwards the packet. Why did R1 set oif=1,2 ? This S is different than others for which we’ve seen an RPF check. What’s different?

IGMP Exercise R1 2 H1 H2 R H3 1 1 S1S2 (*,G) iif=NULL oif=1,2,3 (S1,G) iif=3 oif=1,2 (*,G) iif=NULL oif=1,3 (S1,G) iif=2 oif=1,3 3. R2 checks RPF then creates (S2,G) iif=3 oif=1 and forwards the packet. 2. R1 checks RPF then creates (S2,G) iif=1 oif=2,3 and forwards the packet. 1. S2 sends a packet to group G.

IGMP Exercise Observations When a router creates (*,G) state, this triggers unsolicited membership reports to be sent to neighboring IGMP routers. The result is a spanning tree that connects to all receivers of group G. When a source S is discovered, the creation of (S,G) state propagates along the spanning tree, starting at the first-hop router that connects to S.

IGMP Exercise Additional exercises What happens if the network topology contains a cycle (more than one non-parallel path that leads to the same receiver)? If there are n sources, how many (S,G) state entries must be maintained on every router along the spanning tree for a group G?

PIM-SM Motivating Observations Compared to the scale of the global Internet, receivers and senders of nearly any multicast content are sparsely populated over a very wide area. –100,000 or more 2 and 3 member groups. An internet often contains many possible paths between a source S and any multicast receiver for a group G.

PIM-SM Motivating Observations Flood and prune protocols discover receivers by sending packets everywhere, and pruning back when there are no receivers. –Examples: DVMRP, PIM-DM, MOSPF –The Internet has link speeds that vary from dial-up 56k to OC48c and beyond. –Even in the LAN environment, high bit-rate multicast flooding is impractical.

Founding Principles Protocol Independent Multicast, Sparse- Mode (PIM-SM) was designed around three fundamental principles: –Avoid unnecessary flooding of multicast packets to network segments with no receivers. –Support good-quality distribution trees for heterogeneous applications. –Minimize bandwidth consumed by protocol overhead.

PIM-SM Architecture The PIM-SM architecture is characterized by these features: –Shared and Shortest-Path distribution trees. All participants for a group G can use a shared distribution tree. Permits very large scale. Last hop routers can initiate a switch to shortest-path trees for certain sources when needed (e.g. as data rates or delay requirements warrant, and scale permits).

PIM-SM Architecture –Explicit join/prune tree management. Routers with local or downstream receivers join (or leave) a distribution tree by sending explicit join (or prune) messages toward sources. We say that PIM-SM is thus receiver driven. Compare this to protocols that discover where receivers aren’t located by flooding packets everywhere and listening for complaints.

PIM-SM Architecture –Routing protocol independence. Makes use of existing unicast routing functionality to adapt to topology changes, but in a manner that is independent of the particular protocol used.

Rendezvous Point In PIM-SM, for every multicast group G there exists a router known as the rendezvous point (RP). –The RP is the root of the shared tree for group G. We also call this tree the RP tree (RPT). –Sources for group G are discovered when their (S,G) packets are forwarded down the RPT. –Every router in a PIM domain must know the RP for every group G. In many cases, the same router is used as the RP for every group.

Rendezvous Point –In a PIM domain, there is only one RP for any group G at any particular time. –We will use the notation RP(G) to denote the RP mapping for a group G. Example: RP(G) = A means that router A is the RP for group G. Note that RP(G) is a unicast IP address. –Later we’ll talk about bootstrap: allows routers to learn RP mappings eliminates the RP as a single point of failure leads to a definition of the term PIM domain

Shortest Path Trees The shortest path tree (SPT) for a source S sending to a group G is a tree rooted at the first-hop router for S such that for every receiving host R, the path between R and S consists of the smallest number of inter- router links among all possible paths between R and S. –Need to modify this definition for routing protocols that allow the assignment of arbitrary link costs.

PIM Control Messages PIM control messages are encapsulated in IP packets, with a unique protocol identifier. –Most PIM control messages are sent as multicast packets with address (all PIM routers). Note that this address has link scope. –Certain PIM control messages sent between a router with a directly connected source and the RP are sent as unicast packets.

Distribution Tree Maintenance Join/Prune Messages The PIM Join/Prune message is used to construct and dismantle group distribution trees. Join/Prune messages are multicast by a router to the all PIM routers group address ( ) so that all directly connected routers can “hear” the message and update state accordingly.

Distribution Tree Maintenance Join/Prune Messages Each Join/Prune message contains –Address of a group G whose distribution tree will be modified. –List of sources to forward on a particular link in the distribution tree for G. (join list) –List of sources to drop on a particular link of the distribution tree for G. (prune list) –Upstream (RPF) neighbor address, needed in multi-access network operation.

Shared Tree Construction The shared tree (RPT) for a group G is constructed as receivers join the group. –IGMP detects the presence of directly connected group receivers and creates or updates (*,G) state. –When (*,G) state is created, the iif is set to the RPF interface for RP(G). Why? –The creation of (*,G) state triggers a Join/Prune message to be sent towards the RP for group G.

PIM Example Constructing the shared tree for G 2. Create (*,G) iif=2 oif=3 4. Create (*,G) iif=NULL oif=2 6. Create (*,G) iif=2 oif=4 8. Update (*,G) iif=NULL oif=1,2 B A C RP(G) = A R1 1. Host R1 sends an IGMP membership report for group G 3. C sends Join/Prune towards RP for G (i.e. router A) Group=G Join=A, WC, RPT Prune=NULL R2 5. Host R2 sends an IGMP membership report for group G 7. B sends Join/Prune Group=G Join=A, WC, RPT Prune=NULL

B A C RP(G) = A PIM Example RPT for G connecting hosts R1 and R2 R2 R1 (*,G) iif=NULL oif=1,2 (*,G) iif=2 oif=3 (*,G) iif=2 oif=4

Joining the RPT for G When a PIM router wants to join the RPT for a group G, the Join/Prune message contains: –Group address to join. –RP address is in the join list. –Prune list is NULL. –Wildcard (WC) and RP tree (RPT) flags are set in the join list entry for the RP this is the indication for an RPT join for group G. there are other uses for these flags.

Propagating Join/Prune Join/Prune messages always flow from the leaves of a distribution tree toward the root –whether it’s an RPT or an SPT Join/Prune messages are not acknowledged by upstream routers –PIM uses periodic retransmission, instead

Propagating Join/Prune Join/Prune messages are sent only in response to a trigger event. The fundamental trigger events are: –Changes in group membership. As discovered by IGMP or triggered by an expired entry timer or outgoing interface timer. –Discovery of new sources for a group. We’ll see how this works, shortly.

Propagating Join/Prune PIM routers never forward Join/Prune messages. –When a Join/Prune message is received by a router, its contents are used to modify forwarding states. Changes the shape of group distribution trees. –State changes that occur as the result of a Join/Prune message may trigger Join/Prune messages to be sent towards upstream routers.

PIM Example Constructing the shared tree for G A 2 B A sends Join/Prune towards B (the RP for G). Group=G Join=B, RPT, WC Prune=NULL 4. B creates (*,G) iif=NULL oif=3 R3 5. R3 joins G. 2. A creates (*,G) iif=3 oif=1 8. A updates (*,G) iif=3 oif=1,2 6. B updates (*,G) iif=NULL oif=1,3 R2 7. R2 joins G. RP(G) = B R1 1. R1 joins G.

PIM Example The RPT for G A 2 H1 H2 B H3 1 1 (*,G) iif=3 oif=1,2 (*,G) iif=NULL oif=1,3 RP(G) = B