Multicasting. References r Note: Some slides come from the slides associated with this book: “Mastering Computer Networks: An Internet Lab Manual”, J.

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.
1  Changes in IPv6 – Expanded addressing capabilities (32 to 128 bits), anycast address – A streamlined 40-byte header – Flow labeling and priority –
Multicast on the Internet CSE April 2015.
Multicasting CSE April Internet Multicast Service Model Multicast group concept: use of indirection a host “sends” IP datagrams to multicast.
Multicast1 Instructor: Anirban Mahanti Office: ICT Slides are adapted from the companion web site of the textbook “
Multicast Routing: Problem Statement r Goal: find a tree (or trees) connecting routers having local mcast group members m tree: not all paths between routers.
CS 582 / CMPE 481 Distributed Systems Communications.
Network Layer4-1 Spanning trees r Suppose you have a connected undirected graph m Connected: every node is reachable from every other node m Undirected:
COS 420 Day 18. Agenda Group Project Discussion Program Requirements Rejected Resubmit by Friday Noon Protocol Definition Due April 12 Assignment 3 Due.
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.
Review r The Internet (IP) Protocol m Datagram format m IP fragmentation m ICMP: Internet Control Message Protocol m NAT: Network Address Translation r.
Computer Networking Lecture 24 – Multicast.
1 IP Multicasting. 2 IP Multicasting: Motivation Problem: Want to deliver a packet from a source to multiple receivers Applications: –Streaming of Continuous.
Multicast Communication
1 CSE 401N:Computer Network LECTURE-14 MULTICAST ROUTING.
Multicast Networking 2 References Multicast Networking and Applications Miller, C. Kenneth Addison-Wesley, 1999 Computer Networking:
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.
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.
70-291: MCSE Guide to Managing a Microsoft Windows Server 2003 Network Chapter 3: TCP/IP Architecture.
Lecture 2 TCP/IP Protocol Suite Reference: TCP/IP Protocol Suite, 4 th Edition (chapter 2) 1.
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.
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.
Network Layer4-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks  4.3 What ’ s inside a router r 4.4 IP: Internet.
Chapter 22 Network Layer: Delivery, Forwarding, and Routing Part 5 Multicasting protocol.
Multicasting Part I© Dr. Ayman Abdel-Hamid, CS4254 Spring CS4254 Computer Network Architecture and Programming Dr. Ayman A. Abdel-Hamid Computer.
© J. Liebeherr, All rights reserved 1 Multicast Routing.
Multicast Routing, Error Control, and Congestion Control.
IP Multicast COSC Addressing Class D address Ethernet broadcast address (all 1’s) IP multicast using –Link-layer (Ethernet) broadcast –Link-layer.
CPSC 441 TUTORIAL – FEB 13, 2012 TA: RUITNG ZHOU UDP REVIEW.
© J. Liebeherr, All rights reserved 1 IP Multicasting.
Presented by Rebecca Meinhold But How Does the Internet Work?
Multicast Routing. Unicast: one source to one destination Multicast: one source to many destinations Two main functions: – Efficient data distribution.
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.
Multicasting CSE 6590 Winter December 2015.
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.
Multicasting  A message can be unicast, multicast, or broadcast. Let us clarify these terms as they relate to the Internet.
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
4.6 Multicast at the Network Layer Introduction: The Internet multicast abstraction and multicast groups The IGMP Protocol Multicast.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 ECSE-6600: Internet Protocols Informal Quiz #09: SOLUTIONS Shivkumar Kalyanaraman: GOOGLE: “Shiv.
Chapter 25 Internet Routing. Static Routing manually configured routes that do not change Used by hosts whose routing table contains one static route.
2/25/20161 Multicast on the Internet CSE 6590 Fall 2009.
CS 640: Introduction to Computer Networks Aditya Akella Lecture 12 - Multicast.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
Multicasting EECS June Multicast One-to-many, many-to-many communications Applications: – Teleconferencing – Database – Distributed computing.
DMET 602: Networks and Media Lab Amr El Mougy Yasmeen EssamAlaa Tarek.
Application Layer 2-1 Chapter 4 Network Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A.
SOCKET PROGRAMMING Presented By : Divya Sharma.
1 CMPT 471 Networking II Multicasting © Janice Regan,
DMET 602: Networks and Media Lab
Multicast Outline Multicast Introduction and Motivation DVRMP.
CMPE 252A: Computer Networks
ECE544: Communication Networks-II Spring 2013
What’s “Inside” a Router?
Multicast on the Internet
Other Routing Protocols
IP Multicast COSC /5/2019.
Optional Read Slides: Network Multicast
Presentation transcript:

Multicasting

References r Note: Some slides come from the slides associated with this book: “Mastering Computer Networks: An Internet Lab Manual”, J. Liebeherr, M. El Zarki, Addison-Wesley, r The Kurose & Ross textbook on computer networking

Multicasting r Multicast is an operation that sends a single message from one process to each of the members of a group of processes. r Ideally this is done in such a way that the membership of the group is transparent to the sender.

Multicasting r Multicast communications refers to one-to- many or many-to-many communications. UnicastBroadcastMulticast

Applications Using Multicasting r For replication r Streaming continuous media m Example: The transfer of the audio, video and text of a live lecture to a set of distributed lecture participants m One sender, multiple receivers r Shared data applications m Example: whiteboard, teleconferencing m Multiple senders, multiple receivers r Web cache updates r distribution lists r Content distribution r Software distribution r Interactive gaming

Approaches to Multicasting r One-to-all unicast m Sender uses a separate unicast transport (e.g., TCP or UDP) connection to each of the receivers. m If using TCP, a connection is made between the sender and a receiver. The data is sent and the connection is then terminated. This is done for the sender and each of the receivers. multicast receiver (red) not a multicast receiver (red) routers forward unicast datagrams

Approaches to Multicasting r Application-level multicasting m This also uses unicast transmission. m The sender transmits a copy to a “small” number of receivers, which then make copies themselves and forward these copies to other receivers which may then duplicate and forward copies to yet additional receivers.

Approaches to Multicasting r Explicit multicast m Provide explicit multicast support at the network layer. m A single datagram is transmitted from the sending host. m This datagram (or copy) is then replicated at a network router whenever it must be forwarded on multiple outgoing links in order to reach the receivers. m The data is forwarded in a tree-like fashion. The discovery of the tree is dynamic. Lots of routing algorithms. m There is an Internet protocol called IP multicast for this. An IP address represents a group of processes

Approaches to Multicast Multicast routers (red) duplicate and forward multicast datagrams Explicit Multicast

IP Multicast Communication r IP multicast is built on top of IP. r IP multicast allows the sender to transmit a single IP packet to a set of computers that form a multicast group. r Being a member of a multicast group allows a computer to receive IP packets sent to the group. r IP multicast is available only via UDP r There is no multicast TCP

IP Multicast Communication r IP multicast works as follows: m Multicast groups are identified by IP addresses in the range (class D address) m Every host can join and leave a multicast group dynamically –Server does not have to know all the receivers –Anyone can send to the group m Routers forward multicast datagrams to hosts that have “joined” the multicast group. Anyone can join a group

IP Multicast Communication #define MULTICASTADDR " " #define PORTNUMBER 5824 if ((socketDesc = socket(AF_INET, SOCK_DGRAM, 0)) < 0) { perror("open error on socket"); exit(1); } myAddr.sin_family = AF_INET; myAddr.sin_addr.s_addr = htonl(INADDR_ANY); myAddr.sin_port = htons(0); /* The zero says bind to any port */ if (bind(socketDesc, (struct sockaddr *) &myAddr, sizeof(myAddr)) < 0) { perror("bind error"); exit(1); }

IP Multicast Communication /* And build MULTICAST address */ destinationAddr.sin_family = AF_INET; destinationAddr.sin_addr.s_addr =htonl(inet_addr(MULTICASTADDR)); destinationAddr.sin_port = htons(PORTNUMBER); /* Set the socket to permit multicasts on the local LAN */ if (setsockopt(socketDesc, IPPROTO_IP, IP_MULTICAST_TTL, &limitLanFlag, sizeof(limitLanFlag)) != 0) { perror("setsockopt error"); exit(1); }

IP Multicast Communication /* Broadcast message */ strcpy(outMessageBuf, "Hello world"); if (sendto(socketDesc, outMessageBuf, strlen(outMessageBuf)+1, 0, (struct sockaddr *)&destinationAddr, sizeof(destinationAddr)) < 0) { perror("socket send error"); exit(1); }

IP Multicast Communication /* And wait for up to 5 seconds for replies to come back */ /* Set timeOut value for receive to 5 seconds */ timeOut.tv_sec = 5L; timeOut.tv_usec = 0L; /* Read responses from hosts accepting the multicast until a read finally times-out. */ FD_ZERO(&readReadySet); FD_SET(socketDesc,&readReadySet); msgCount = 0; while (select(socketDesc+1,&readReadySet, NULL, NULL, &timeOut) > 0) { …….} Question: What is the networking support needed?

IP Multicast Communication r IGMP: “signaling” protocol to establish, maintain, remove groups on a subnet. r Two new operations m Join-IP-Multicast-Group(group-address, interface) m Leave-IP-Multicast-Group(group-address, interface)

Joining a Multicast Group r Host informs local multicast(mcast) router of desire to join group: r Local router interacts with other routers to receive mcast datagram flow m many protocols (e.g., DVMRP, MOSPF, PIM) IGMP wide-area multicast routing

IGMP: Internet Group Management Protocol r The host sends IGMP report when application joins mcast group m The host need not explicitly “unjoin” group when leaving r The router sends IGMP query at regular intervals m host belonging to a mcast group must reply to query query report

Building Mcast Trees r Problem Statement: Find a tree (or trees) connecting routers having local mcast group members r Approaches: m Source-based tree One tree per source Shortest path trees Reverse path forwarding m Group-shared tree Group uses one tree Minimal spanning (Steiner): NP Complete Problem center-based trees

Problems with IP Multicast Communication r Security and privacy issues r If the reason to use IP multicast is replication then you want to make sure that the multicast is reliable. m Not all multicast applications need strong reliability of the type provided by TCP. Some can tolerate reordering, delay, etc m Reliability needs application support. This suggests that applications may need to send their acknowledgemens. m Ack-implosion if all destinations ack at once m We will discuss reliability later r Routers need to maintain state r A bad link affects a subgroup r IP multicast is probably sufficient for enterprise computing but not Internet computing r We will discuss more on reliable multicast later which does not necessarily depend on using IP Multicast communication.

Summary r This section briefly summarizes issues in multicasting.