COMS/CSEE 4140 Networking Laboratory Lecture 11 Salman Abdul Baset Spring 2008.

Slides:



Advertisements
Similar presentations
1April 16, 2002 Layer 3 Multicast Addressing IP group addresses – “Class D” addresses = high order bits of “1110” Special reserved.
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.
Multicast on the Internet CSE April 2015.
IP Multicast Lecture 2: PIM-SM Carl Harris Communications Network Services Virginia Tech.
COS 420 Day 15. Agenda Assignment 3 Due Assignment 4 Posted Chap Due April 6 Individual Project Presentations Due IEPREP - Jeff MANETS - Donnie.
1 Internet Networking Spring 2006 Tutorial 7 DVMRP.
TCP/IP Protocol Suite 1 Chapter 15 Upon completion you will be able to: Multicasting and Multicast Routing Protocols Differentiate between a unicast, multicast,
© 2006 Cisco Systems, Inc. All rights reserved.Cisco Public BSCI Module 7 Lesson 3 1 IP Multicasting: Multicast Routing Protocols.
School of Information Technologies Internet Multicasting NETS3303/3603 Week 10.
COS 420 Day 18. Agenda Group Project Discussion Program Requirements Rejected Resubmit by Friday Noon Protocol Definition Due April 12 Assignment 3 Due.
COS 420 Day 14. Agenda Assignment 3 Posted Covers chapters Due March 23 Assignment 4 Posted Chap Due April 6 Individual Project Papers due.
TDC375 Winter 2002John Kristoff - DePaul University1 Network Protocols IP Multicast.
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.
TDC375 Autumn 03/04 John Kristoff - DePaul University 1 Network Protocols Multicast.
EE689 Lecture 12 Review of last lecture Multicast basics.
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.
1 Computer Networks IP Multicast. 2 Recall Unicast Broadcast Multicast sends to a specific group.
1 Chapter 27 Internetwork Routing (Static and automatic routing; route propagation; BGP, RIP, OSPF; multicast routing)
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.
Multicast Sources: Kurose and Ross cast/addresstranslation_01.html.
1 Chapter 27 Internetwork Routing (Static and automatic routing; route propagation; BGP, RIP, OSPF; multicast routing)
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.
Broadcast and Multicast. Overview Last time: routing protocols for the Internet  Hierarchical routing  RIP, OSPF, BGP This time: broadcast and multicast.
Chapter 22 Network Layer: Delivery, Forwarding, and Routing Part 5 Multicasting protocol.
Chapter 15 Multicasting and Multicast Routing
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.
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.
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.
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.
1 IP Multicasting Relates to Lab 10. It covers IP multicasting, including multicast addressing, IGMP, and multicast routing.
©The McGraw-Hill Companies, Inc., 2000© Adapted for use at JMU by Mohamed Aboutabl, 2003Mohamed Aboutabl1 1 Chapter 14 Multicasting And Multicast Routing.
Multicasting  A message can be unicast, multicast, or broadcast. Let us clarify these terms as they relate to the Internet.
Chapter 21 Multicast Routing
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.
Chapter 9: Multicast Sockets
Multicast Communications
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.
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.
22.1 Network Layer Delivery, Forwarding, and Routing.
1 CMPT 471 Networking II Multicasting © Janice Regan,
DMET 602: Networks and Media Lab
Multicasting protocols
Computer Networking Multicast.
Multicast Outline Multicast Introduction and Motivation DVRMP.
(How the routers’ tables are filled in)
CMPE 252A: Computer Networks
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…
Implementing Multicast
Optional Read Slides: Network Multicast
Presentation transcript:

COMS/CSEE 4140 Networking Laboratory Lecture 11 Salman Abdul Baset Spring 2008

2 Announcements  Prelab 10 and Lab report 9 due next week before your lab slot  Weekly project reports due before Friday 5pm

3 Agenda  Multicast why multicast? multicast groups terminology (S,G) notation  Addressing  IGMP  Source and core-based trees  PIM PIM-DM PIM-SM

4  Many applications transmit the same data at one time to multiple receivers  Broadcasts of radio or video (streaming)  Video conferencing (interactive video)  Shared applications (data, file transfer)  A network “must” have mechanisms to support such applications in an efficient manner Applications with Multiple Receivers

5 Multicasting  Multicast communications refers to one-to-many or many-to-many communications. IP Multicasting refers to the implementation of multicast communication in the Internet Multicast is driven by receivers: Receivers indicate interest in receiving data UnicastBroadcastMulticast

6 Multicasting over a Packet Network  Without support for multicast at the network layer: Multiple copies of the same message is transmitted on the same link

7 Multicasting over a Packet Network  With support for multicast at the network layer: Requires a set of mechanisms: (1) Packet forwarding can send multiple copies of same packet (2) Multicast routing algorithm which builds a spanning tree (dynamically)

Why IP Multicast?  Cost-efficient distribution of data  Timely distribution of data  Robust distribution of data “Data” here could be Files Streamed Audio or Video Source: Internet2 workshop

Cost Efficient Data Distribution  This is the core of the streaming case. Unicast streaming is just too expensive. This is true either on the commodity Internet or on the Intranet. Multicast is especially compelling for video.  Question: Is multicast a good model for YouTube? Live video streaming? Source: Internet2 workshop

Timely Distribution of Data  An argument for multicast in financial services. Though reliability is an issue.  In unicast, it takes time to send packets separately to each receiver. Even if cost is not a problem, time may be. 100 Mb/s link, takes 22 hours to distribute a 100 MB file t0 10,000 machines. With multicast, it will take eight seconds.  Alternate solution is to have huge upstream bw  But… Multicasting is compelling here if timely distribution is important. Source: Internet2 workshop

Robust Distribution of Data  Handle sudden large increases in load streaming data distribution  Multicast was designed to handle sudden large increases in load. Source: Internet2 workshop

12 Multicast Groups  The set of receivers for a multicast transmission is called a multicast group A multicast group is identified by a multicast address A user that wants to receive multicast transmissions joins the corresponding multicast group, and becomes a member of that group  After a user joins, the network builds the necessary routing paths so that the user receives the data sent to the multicast group

13 IP Multicasting: Key questions  What IP address / Ethernet address to send multicast packets to?  How to manage groups?  How to route multicast packets?

14 Network Interface IPIP MulticastUDPTCP Socket Layer Stream SocketsDatagram SocketsMulticast Sockets User Layer The IP Protocol Stack  IP Multicasting only supports UDP as higher layer  There is no multicast TCP !

Essential Multicast Terminology source = origin of multicast stream multicast address = an IP address in the Class D range ( – ), used to refer to multiple recipients. A multicast address is also called a multicast group or channel. multicast stream = stream of IP packets with multicast address for IP destination address. All multicast uses UDP packets. receiver(s) = recipient(s) of multicast stream tree = the path taken by multicast data. Routing loops are not allowed, so there is always a unique series of branches between the root of the tree and the receivers. IP source = IP unicast addr Ethernet source = MAC addr IP destination = IP multicast addr Ethernet dest = MAC addr source Multicast stream receivers e.g., video server Source: Internet2 workshop

(S,G) notation  For every multicast source there must be two pieces of information: the source IP address, S, and the group address, G. These correspond to the sender and receiver addresses in unicast. This is generally expressed as (S,G). Also commonly used is (*,G) - every source for a particular group. Source: Internet2 workshop

17 Multicast Protocols Senders Delivery tree Receivers  Group Management Protocol - enables hosts to dynamically join/leave multicast groups. Receivers send group membership reports to the nearest router.  Multicast Routing Protocol - enables routers to build a delivery tree between the sender(s) and receivers of a multicast group. Group Management Protocol (e.g. IGMP) Multicast Routing Protocol (e.g. PIM-SM)

18 Agenda  Multicast why multicast? multicast groups terminology (S,G) notation  Addressing  IGMP  Source and core-based trees  PIM PIM-DM PIM-SM

19 Multicast Addressing  Multicast address IP addresses in the range (class D address) Multicast group: same as multicast address  Every host (interface) can join and leave a multicast group dynamically no access control  Every IP datagram send to a multicast group is transmitted to all members of the group no security, no “floor control” Sender does not need to be a member of the group  The IP Multicast service is unreliable

20 Multicast Addressing All Class D addresses are multicast addresses: Multicast addresses are dynamically assigned. An IP datagram sent to a multicast address is forwarded to everyone who has joined the multicast group If an application is terminated, the multicast address is (implicitly) released.

21 Types of Multicast Addresses  RFC  Examples: ( /24) - reserved & not forwarded  All local hosts  All local routers  DVMRP  OSPF  RIP2  – PIM  – IGMP (232/8) - SSM (239/8) - Administrative Scoping (RFC 2365)  Site-local scope: /16  Organization-local scope: /14 “Ordinary” multicasts don’t have to request a multicast address from IANA.

22 Multicast Address Translation  In Ethernet MAC addresses, a multicast address is identified by setting the lowest bit of the “most left byte” Not all Ethernet cards can filter multicast addresses in hardware - Then: Filtering is done in software by device driver.

23 Multicast Address Mapping

24 Agenda  Multicast why multicast? multicast groups terminology (S,G) notation  Addressing  IGMP  Source and core-based trees  PIM PIM-DM PIM-SM

25 Multicast Protocols Senders Delivery tree Receivers  Group Management Protocol - enables hosts to dynamically join/leave multicast groups. Receivers send group membership reports to the nearest router.  Multicast Routing Protocol - enables routers to build a delivery tree between the sender(s) and receivers of a multicast group. Group Management Protocol (e.g. IGMP) Multicast Routing Protocol (e.g. PIM-SM)

26 IGMP (RFC 1112)  The Internet Group Management Protocol (IGMP) is a simple protocol for the support of IP multicast.  IGMP operates on a physical network (e.g., single Ethernet Segment.  IGMP is used by multicast routers to keep track of membership in a multicast group.  Support for: Joining a multicast group Query membership Send membership reports

27  A host sends an IGMP report when it joins a multicast group Multiple processes on a host can join. A report is sent only for the first process.  No report is sent when a process leaves a group  A multicast router regularly multicasts an IGMP query to all hosts (group address is set to ).  A host responds to an IGMP query with an IGMP report.  Multicast router keeps a table of the multicast groups that have joined hosts. The router only forwards a packet, if there is a host still joined. IGMP Protocol

28 IGMP Packet Format  IGMP messages are only 8 bytes long IGMPv2 0x11 Membership query (group addr: ) 0x16 Membership report 0x17 Leave group

29 IGMP Protocol

30 IGMP Protocol

31 Networks with multiple multicast routers  Only one router responds to IGMP queries (Querier) Router with smallest IP address becomes the querier on a network.  One router forwards multicast packets to the network (Forwarder).

32 Agenda  Multicast why multicast? multicast groups terminology (S,G) notation  Addressing  IGMP  Source and core-based trees  PIM PIM-DM PIM-SM

33 Multicast Protocols Senders Delivery tree Receivers  Group Management Protocol - enables hosts to dynamically join/leave multicast groups. Receivers send group membership reports to the nearest router.  Multicast Routing Protocol - enables routers to build a delivery tree between the sender(s) and receivers of a multicast group. Group Management Protocol (e.g. IGMP) Multicast Routing Protocol (e.g. PIM-SM)

34 Multicast Routing Protocols  Goal: Build a spanning tree between all members of a multicast group

35 Multicast routing as a graph problem  Problem: Embed a tree such that all multicast group members are connected by the tree

36 Multicast routing as a graph problem  Problem: Embed a tree such that all multicast group members are connected by the tree  Solution 1: Shortest Path Tree or source-based tree Build a tree that minimizes the path cost from the source to each receiver Good tree if there is a single sender If there are multiple senders, need one tree per sender Easy to compute

37 Multicast routing as a graph problem  Problem: Embed a tree such that all multicast group members are connected by the tree  Solution 2: Minimum-Cost Tree Build a tree that minimizes the total cost of the edges Good solution if there are multiple senders Very expensive to compute (not practical for more than 30 nodes)

38 Multicast routing in practice  Routing Protocols implement one of two approaches: 1. Source Based Tree: – Essentially implements Solution 1. – Builds one shortest path tree for each sender – Tree is built from receiver to the sender  reverse shortest path / reverse path forwarding (RPF) 2. Core-based Tree: – Build a single distribution tree that is shared by all senders – Does not use Solution 2 (because it is too expensive) – Selects one router as a “core” (also called “rendezvous point”) – All receivers build a shortest path to the core  reverse shortest path / reverse path forwarding

39 Reverse Path Forwarding (RPF)  RPF builds a shortest path tree in a distributed fashion by taking advantage of the unicast routing tables.  Main concept: Given the address of the root of the tree (e.g., the sending host), a router selects as its upstream neighbor in the tree the router which is the next-hop neighbor for forwarding unicast packets to the root.  This concept leads to a reverse shortest path from any router to the sending host. The union of reverse shortest paths builds a reverse shortest path tree. RPF Forwarding: Forward a packet only if it is receives from an RPF neighbor

40 Multicast Routing table  Routing table entries for source-based trees and for core-based trees are different Source-based tree: (Source, Group) or (S, G) entry. Core-based tree: (*, G) entry. Source IP address Multicast group Incoming interface (RPF interface) Outgoing interface list S1G1I1I2, I3 *G2I2I1, I3

41 Multicast routing in practice  Routing algorithms in practice implement one of two approaches: 1. Source Based Tree Tree: – Establish a reverse path to the source 2. Core-based Tree: – Establish a reverse path to the core router

42 Building a source-based tree  Set routing tables according to RPF forwarding  Flood-and- Prune IGMP

43 Building a source-based tree  Set routing tables according to RPF forwarding  Flood-and- Prune Flood= Forward packets that arrive on RPF interface on all non- RPF interfaces

44 Building a source-based tree  Set routing tables according to RPF forwarding  Flood-and-Prune Flood= Forward packets on all non-RPF interfaces Receiver drops packets not received on RPF interface

45 Building a source-based tree  Set routing tables according to RPF forwarding  Flood-and- Prune Prune= Send a prune message when a packet is received on a non-RPF interface or when there are no receivers downstream Prune message disables routing table entry

46 Pruning  Prune message temporarily disables a routing table entry  Effect: Removes a link from the multicast tree  No multicast messages are sent on a pruned link  Prune message is sent in response to a multicast packet  Question: Why is routing table only temporarily disabled?  Who sends prune messages?  A router with no group members in its local network and no connection to other routers (sent on RPF interface)  A router with no group members in its local network which has received a prune message on all non-RPF interfaces (sent on RPF interface)  A router with group members which has received a packet from a non-RPF neighbor (to non-RPF neighbor)

47 Building a source-based tree  When a receiver joins, one needs to re-activate a pruned routing table entry  Grafting Sending a Graft message disables prune, and re- activates routing table entry.

48 Alternative method for building a source-based tree  This only works if the receiver knows the source  Explicit-Join Receiver sends a Join message to RPF neighbor Join message creates (S,G) routing table entry Join message is passed on

49 Building a core-based tree  One route is the core  Receiver sends a Join message to RPF neighbor with respect to core  Join message creates (*, G) routing table entry

50 Building a core-based tree  Source sends data to the core  Core forwards data according to routing table entry

51 Agenda  Multicast why multicast? multicast groups terminology (S,G) notation  Addressing  IGMP  Source and core-based trees  PIM PIM-DM PIM-SM

52 Multicast routing protocols in the Internet  Distance Vector Multicast Routing Protocol (DVMRP): First multicast routing protocol Implements flood-and-prune  Multicast Open Shortest Path First (MOSPF): Multicast extensions to OSPF. Each router calculates a shortest-path tree based on link state database Not widely used  Core Based Tree (CBT): First core-based tree routing protocol  Protocol Independent Multicast (PIM): Runs in two modes: PIM Dense Mode (PIM-DM) and PIM Sparse Mode (PIM-SM). PIM-DM builds source-based trees using flood-and-prune PIM-SM builds core-based trees as well as source-based trees with explicit joins.

53 PIM Messages (PIM version 2) PIM-DM messagesTypePIM-DMPIM-SMDescription Hello0  Similar to periodic keep-alive Register1  Sent by designated router to rendezvous point. Register-Stop2  Join/Prune3  Creates/negates forwarding state Bootstrap4  Assert5  Graft6  Reinstate a previously pruned branch Graft-Ack7  Candidate-RP- Advertisement 8  Encapsulated in IP datagrams with protocol number 103. PIM messages can be sent as unicast or multicast packet is reserved as the ALL-PIM-Routers group

54 PIM-DM: PIM Dense Mode  PIM-DM implements flood- and-prune  Orange packet: Multicast packet (=Data)  Blue packet: PIM message

55 PIM-SM: PIM Sparse Mode  Core is called rendezvous-point (RP)  Receivers know RP (statically configured or dynamically elected)  When receiver joins, a Join message is sent to RP on RPF.

56 PIM-SM: PIM Sparse Mode  Host H3 joins: Join message is only forwarded until the first router that is part of the core-based tree.

57 PIM-SM: Data transmission  Source sends multicast packet to RP  Packet is attached to an RP Register message  When packet reaches RP, it is forwarded in the tree  Also: RP sends a Join message on reverse path to S1

58 PIM-SM: Data transmission  When Join messages reaches R1, it sends a native multicast packet to the RP (in addition to the packet attached to the register message)

59 PIM-SM: Data transmission  When RP receives native multicast packet it sends a register stop message to R1. This message stops the transmission of register messages from R1.

60 PIM-SM: Switching to source- based tree  When data to receivers exceeds a threshold, routers switch to a source-based tree  This is done by sending an explicit join message to the source  There may be duplicate packets being sent for some time

61 PIM-SM: Switching to source- based tree  When data arrives from source (as opposed to RP), a Prune message is sent to the RPT  Now: data is forwarded only along the shortest- path tree

62 Conclusion  Multicast  Addressing  IGMP  Source and core-based trees  PIM (SM vs. DM)