Computer Science 6390 – Advanced Computer Networks Dr. Jorge A. Cobb Deering, Estrin, Farinacci, Jacobson, Liu, Wei SIGCOMM 94 An Architecture for Wide-Area.

Slides:



Advertisements
Similar presentations
Computer Networking A Top-Down Approach Chapter 4.7.
Advertisements

Introduction 1 Lecture 22 Network Layer (Broadcast and Multicast) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science.
Multicasting 1. Multicast Applications News/sports/stock/weather updates Distance learning Configuration, routing updates, service location Pointcast-type.
IP Multicast Lecture 2: PIM-SM Carl Harris Communications Network Services Virginia Tech.
Computer Science 6390 – Advanced Computer Networks Dr. Jorge A. Cobb How to provide Inter-domain multicast routing? PIM-SM MSDP MBGP.
1 Internet Networking Spring 2006 Tutorial 7 DVMRP.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco Public BSCI Module 7 Lesson 3 1 IP Multicasting: Multicast Routing Protocols.
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 23 Introduction to Computer Networks.
Chapter 4 IP Multicast Professor Rick Han University of Colorado at Boulder
Slide Set 15: IP Multicast. In this set What is multicasting ? Issues related to IP Multicast Section 4.4.
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 Network Layer: Host-to-Host Communication. 2 Network Layer: Motivation Can we built a global network such as Internet by extending LAN segments using.
1 CSE 401N:Computer Network LECTURE-14 MULTICAST ROUTING.
MULTICASTING Network Security.
© 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.
Multicast An Engineering Approach to Computer Networking.
Computer Networks 2 Lecture 1 Multicast.
© 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.
AD HOC WIRELESS MUTICAST ROUTING. Multicasting in wired networks In wired networks changes in network topology is rare In wired networks changes in network.
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.
CS 5565 Network Architecture and Protocols Godmar Back Lecture 22.
Multicast Outline Multicast revisited Protocol Independent Multicast - SM Future Directions.
Advances in Multicast - The Promise of Single Source Multicast (SSM) (with a little on multicast DOS) Marshall Eubanks Multicast Technologies
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.
Kurt Windisch -- University of OregonIETF GATED -- December 7, PIM Dense Mode GateD Implementation Kurt Windisch Dave Meyer Advanced Network Technology.
Multicast Routing Protocols. The Need for Multicast Routing n Routing based on member information –Whenever a multicast router receives a multicast packet.
© J. Liebeherr, All rights reserved 1 Multicast Routing.
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.
Introduction to Multicast Routing Protocols
© 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.
1 Spring Semester 2009, Dept. of Computer Science, Technion Internet Networking recitation #7 DVMRP.
IP multicast Advisor: Prof. Wanjiun Liao Instructor: De-Nian Yang
11 CS716 Advanced Computer Networks By Dr. Amir Qayyum.
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.
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.
Multicast Communications
Spring 2006CS 3321 Multicast Outline Link-state Multicast Distance-vector Multicast Protocol Independent Multicast.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 ECSE-6600: Internet Protocols Informal Quiz #09: SOLUTIONS Shivkumar Kalyanaraman: GOOGLE: “Shiv.
1 Protocol Independent Multicast (PIM) To develop a scalable protocol independent of any particular unicast protocol –ANY unicast protocol to provide routing.
1 Group Communications: MOSPF and PIM Dr. Rocky K. C. Chang 19 March, 2002.
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.
The Network Layer UNIT-4 snistforum.com. Network Layer Design Issues Store-and-Forward Packet Switching Services Provided to the Transport Layer Implementation.
DMET 602: Networks and Media Lab
COMP/ELEC 429 Introduction to Computer Networks
Multicasting protocols
Multicast Outline Multicast Introduction and Motivation DVRMP.
(How the routers’ tables are filled in)
RST-120 © 2001, Cisco Systems, Inc. All rights reserved. 1.
ECE544: Communication Networks-II Spring 2013
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
Bridges and Link Layer Switches
EE 122: Lecture 13 (IP Multicast Routing)
Implementing Multicast
Optional Read Slides: Network Multicast
Presentation transcript:

Computer Science 6390 – Advanced Computer Networks Dr. Jorge A. Cobb Deering, Estrin, Farinacci, Jacobson, Liu, Wei SIGCOMM 94 An Architecture for Wide-Area Multicast Routing (Protocol Independent Multicast - PIM)

2 Motivation Flood and prune protocols discover receivers by sending packets everywhere, and pruning back when there are no receivers Receivers and senders of are often sparsely populated inefficient in a very large internetwork (i.e. AS)

3 Types of trees used One Shared Tree (per group) used by all group receivers and senders. Allows very large scale. All sources can send data via this tree All receivers receive data via this tree Routers only need to keep track of information for one tree Shortest-Path Trees (one per (S,G) pair, rooted at S) are possible (but not necessary) A specific tree can be built for a source with much traffic Last hop routers can: change to the shortest path tree for sources whose data rate is high receive from the shared tree for all other sources.

4 Receiver Driven Trees are built using a form of reverse-path forwarding Your parent on the tree is the unicast next-hop to the root. Explicit join/prune tree management. Routers with local (same LAN) receivers send an explicit join along the path to the root (whatever the root may be!) All routers along this path will join the multicast tree (if not on it already) Prune messages remove tree branches if receivers are no longer on their sub-tree We say that PIM-SM is thus receiver driven.

5 Tree Construction The designated router of the receiver sends join messages along the next hop to root Each router along the way records where the message is received from (i.e. who is the child) Forwards the join to the next hop to the root (its parent) Tree edges are maintained by periodic refresh messages Root R2R2 R3R3 R1R1 Join Tree edges Tree edges Tree edges

6 Routing protocol independence Makes use of existing unicast routing functionality to guide tree construction. It is independent of the particular protocol used. Only knowledge of the next-hop to a destination is needed.

7 Multicast forwarding states at routers used to determine how a multicast packet will be forwarded consists of several elements: source address – S ( or “  ” for the shared tree ) group address - G incoming interface – iif (parent on the tree) Determined by the reverse-path forwarding check i.e., my parent is the next hop to S outgoing interface list – oif list (children on the tree) Determined by receiving join messages from them Only packets arriving on the iif are accepted

8 Deconstruction Timeouts remove edges from the tree if refresh messages are not received from a child. Prune messages are also used to remove edges from the tree A router sends a prune message to its parent if a)it no longer receives IGMP messages from its LANs and b)no longer receives refresh messages from other routers.

9 Rendezvous Point (RP) Each multicast group G has a router known as the rendezvous point (RP). The RP is the root of the shared tree for group G. Thus, the shared tree is also known as the RP tree (RPT). Every router must know the RP for every group G. In some cases, the same router is used as the RP for every group. There is only one RP for any group G at any time (backup RP’s are possible). RP(G) denotes the unicast IP address of the RP of G

10 Overall Steps A receiver sends an IGMP message to its designated router (DR) wishing to join group G DR of receiver joins the shared tree rooted at RP(G) Its join message indicates ( ,G), i.e., wishes data from all sources Source routers send multicast data messages to RP(G) via encapsulation Multicast IP packet is encapsulated into a unicast IP packet addressed to the RP(G) The message is called “register” RP(G) then decapsulates it and forwards it along the tree

11 RP(G) R2R2 R3R3 R1R1 Tree edges Tree edges Source

12 Shortest Path Trees The shortest path tree (SPT) for a source S of a group G is a tree rooted at the designated router for S for every receiving host R, the path between R and S is the shortest path from R to S. Note that the optimum path from S to R may not be the optimum path from R to S if link costs are not bidirectional. The SPT is built as before (root now is S) BOTH the SPT of S and the Shared Tree will co-exist. Who should join the SPT of S?

13 RP(G) joins SPT of S If the traffic from S is high, the RP(G) may wish to avoid encapsulation/decapsulation. To do so, RP(G) joins the SPT of S I.e., RP(G) simply becomes a receiver of SPT of S If SPT of S does not exist, it is built on the fly, i.e. RP(G) is the first receiver of the SPT of S. Thus, RP(G) receives data messages from S through SPT of S RP(G) then forwards these messages along the shared tree RP(G) then sends a “stop register” message to S Otherwise it would get two copies of every message.

14 RP Step 1: Building shared tree Step 2: Source sending to RP Step 3: Stop encapsulation PIM-SM Example R3R3 R1R1 R2R2 R2R2 R3R3 R1R1 S R2R2 R3R3 R1R1 Join G for S R2R2 R3R3 R1R1 S R2R2 R3R3 R1R1 S R3R3 Stop Encapsulation R2R2 R3R3 R1R1 S R2R2 R3R3 R1R1 S How can the RP distinguished between an encapsulated multicast message and a regular multicast message?

15 Receiver Joins the SPT of S Due to traffic load, the DR of a receiver may decide to join the SPT of S. I.e., S  DR will have the optimum path from DR to S Thus, the DR will be connected to two trees. Shared Tree SPT of S For any router R Once messages arrive along the parent of the SPT of S, the router PRUNES itself from the Shared Tree This prune is selective only for the source S Data from other sources will continue to be received via the shared tree

16 RP Step 1: Building shared tree Step 2: Source sending to RP Step 3: Stop encapsulation Step 4: Switch to SPT Step 5: Prune shared tree (selectively! Only for source S) PIM-SM Example R3R3 R1R1 R2R2 R2R2 R3R3 R1R1 S R2R2 R3R3 R1R1 Join G for S R2R2 R3R3 R1R1 S R2R2 R3R3 R1R1 S R2R2 R3R3 R1R1 S R2R2 R3R3 R1R1 S R3R3 R2R2 R3R3 R1R1 S A B C

17 What if SPT and RPT overlap? R1 and R2 send join(S,G) to R0, R0 sends join(S,G) to A. As long as data from S is not received along the SPT(S,G), R0 considers SPT(S,G) to be inactive R0 forwards data from S only to RPT(G) children (i.e. R1 and R3) When data from S is received along SPT(S,G), R0 considers SPT(S,G) to be active R0 forwards data from S to children on both SPT(S,G) and RPT(G) R0 sends a prune(S,G) to B Why forward data over both SPT(S,G) and RPT(G) ? Overlap of SPT and RPT R0 A R1 B SPT edge RPT edge R2 A = parent on SPT(S,G) B = parent on RPT(G) R3

18 Why the pruning? You don’t want data to be sent more than once along the tree Note that, depending on how the SPT and RPT tree are shaped, data could go back-and-forth between them forever! Pruning avoids this. Also note that if your parent on SPT(S,G) and on RPT(G) are different, then If you receive multicast from S along the RPT(G) you throw it away even if it arrives first than on SPT(S,G) Why? You don’t keep track of message histories, so you can’t tell you have seen this message before.

19 Data crossing from one tree to another? Assume the SPT(S,G) is active. Can the data go from SPT then to RPT then to SPT … without stopping? A message originating at RPT cannot cross to the SPT (consider RP  R0) A message originating at SPT can cross into RPT (consider R0  R2) but not back to SPT (consider R2  R3) An edge in both trees (e.g. R0  R4) is considered as being on the source tree. R0 S R2 SPT edge R1 R3 RPT edge RP R4

20 How do routers discover sources? A source S for group G is “discovered” by a router when the router receives a packet from S addressed to group G. A router discovers a distant (non-connected) source when the router receives a packet from the source along the shared tree for group G. The router may choose to join the SPT of S. A router discovers a directly connected source S when the router receives a packet from S on the same LAN and addressed to group G. The router must encapsulate and register with RP(G)

21 Pros and Cons Pros: Good in sparsely populated networks (few receivers) Only one tree is necessary (other trees for efficiency if desired) Cons If no sources are sending data right now, the routers still need to maintain information about the shared tree The SPT is shortest from receiver to source, not from source to receiver.

22 The following scenarios are possible In both cases, the top two routers send G messages to the LAN (duplicating effort) What about multi-access links Join(S,G)Join(*,G) every message is duplicated messages from S are duplicated

23 Solution Routers hear all multicast messages The top routers realize there are multiple parents on this link, and they broadcast “assert” messages on the link with all their information. For a source S If both are on the SPT of S, then the one “closest to S” wins If one is on the SPT of S and the other only on the RPT, then the one in the SPT wins If both are only on the RPT, then the one “closest to S” wins

24 What about the children Assert messages are also heard by the children Their subsequent join messages are sent to the router who “won” the assert election process.

Interesting question …. What happens if the routing tables change …. ? 25