1 IP Multicast G53ACC Chris Greenhalgh School of Computer Science.

Slides:



Advertisements
Similar presentations
Multicasting© Dr. Ayman Abdel-Hamid, CS4254 Spring CS4254 Computer Network Architecture and Programming Dr. Ayman A. Abdel-Hamid Computer Science.
Advertisements

Computer Networks21-1 Chapter 21. Network Layer: Address Mapping, Error Reporting, and Multicasting 21.1 Address Mapping 21.2 ICMP 21.3 IGMP 21.4 ICMPv6.
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 25 Introduction to Computer Networks.
1 o Two issues in practice – Scale – Administrative autonomy o Autonomous system (AS) or region o Intra autonomous system routing protocol o Gateway routers.
Multicast Fundamentals n The communication ways of the hosts n IP multicast n Application level multicast.
UNCW UNCW SIGGRAPH 2002 Topic #3: Continuous Media in Wired and Wireless Environments Ronald J. Vetter Department of Computer Science University of North.
School of Information Technologies Internet Multicasting NETS3303/3603 Week 10.
Multicasting Jari Kellokoski Introduction When a unicast address identifies a sigle IP interface Then a broadcast address identifies all IP.
COS 420 Day 18. Agenda Group Project Discussion Program Requirements Rejected Resubmit by Friday Noon Protocol Definition Due April 12 Assignment 3 Due.
Computer Networking Lecture 24 – Multicast.
© J. Liebeherr, All rights reserved 1 IP Multicasting.
1 Computer Networks IP Multicast. 2 Recall Unicast Broadcast Multicast sends to a specific group.
Computer Networking Lecture 11 – Multicast. Lecture 11: Multicast Routing Unicast: one source to one destination Multicast: one source to many.
1 Chapter 27 Internetwork Routing (Static and automatic routing; route propagation; BGP, RIP, OSPF; multicast routing)
© 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.
1 IP: putting it all together Part 2 G53ACC Chris Greenhalgh.
1 IP: putting it all together Part 1 G53ACC Chris Greenhalgh.
Multicasting. References r Note: Some slides come from the slides associated with this book: “Mastering Computer Networks: An Internet Lab Manual”, J.
Fall 2005Computer Networks20-1 Chapter 20. Network Layer Protocols: ARP, IPv4, ICMPv4, IPv6, and ICMPv ARP 20.2 IP 20.3 ICMP 20.4 IPv6.
ECE 526 – Network Processing Systems Design Networking: protocols and packet format Chapter 3: D. E. Comer Fall 2008.
Chapter 22 Network Layer: Delivery, Forwarding, and Routing Part 5 Multicasting protocol.
Addressing IP v4 W.Lilakiatsakun. Anatomy of IPv4 (1) Dotted Decimal Address Network Address Host Address.
Microsoft Windows Server 2003 TCP/IP Protocols and Services Technical Reference Slide: 1 Lesson 7 Internet Protocol (IP) Routing.
Multicasting Part I© Dr. Ayman Abdel-Hamid, CS4254 Spring CS4254 Computer Network Architecture and Programming Dr. Ayman A. Abdel-Hamid Computer.
Lector: Aliyev H.U. Lecture №10 Multicast network software design TASHKENT UNIVERSITY OF INFORMATION TECHNOLOGIES THE DEPARTMENT OF DATA COMMUNICATION.
IP Multicast COSC Addressing Class D address Ethernet broadcast address (all 1’s) IP multicast using –Link-layer (Ethernet) broadcast –Link-layer.
CS 4396 Computer Networks Lab IP Multicast - Fundamentals.
CSC 600 Internetworking with TCP/IP Unit 7: IPv6 (ch. 33) Dr. Cheer-Sun Yang Spring 2001.
Björn Landfeldt School of Information Technologies NETS 3303 Networked Systems Multicast.
© J. Liebeherr, All rights reserved 1 IP Multicasting.
Computer Networking Lecture 12 – Multicast.
Multimedia and Networks. Protocols (rules) Rules governing the exchange of data over networks Conceptually organized into stacked layers – Application-oriented.
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.
CSC 600 Internetworking with TCP/IP Unit 5: IP, IP Routing, and ICMP (ch. 7, ch. 8, ch. 9, ch. 10) Dr. Cheer-Sun Yang Spring 2001.
1/28/2010 Network Plus IP Addressing Review. IP Address Classes.
TELE 402 Lecture 8: Broadcast and Multicast 1 Overview Last Lecture –IPv6 This Lecture –Broadcast and multicast sockets –Source: Chapters 20&21 of Stevens’
Multicasting  A message can be unicast, multicast, or broadcast. Let us clarify these terms as they relate to the Internet.
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.
6DEPLOY. IPv6 Deployment and Support
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.
Multimedia Communication Systems Techniques, Standards, and Networks Chapter 4 Distributed Multimedia Systems.
Process-to-Process Delivery:
Traffic Measurement and Modeling in IP multicast Wenbo Liu Wenbo Liu Communication Laboratory, HUT Supervistor : Seppo J Halme Supervistor : Seppo J Halme.
1 Group Communications: Host Group and IGMP Dr. Rocky K. C. Chang 19 March, 2002.
1 CMPT 471 Networking II Multicasting © Janice Regan,
Kapitel 19: Routing. Kapitel 21: Routing Protocols
The Transport Layer Implementation Services Functions Protocols
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Network Layer, and Logical Addresses
Computer Networking Multicast.
OSI Protocol Stack Given the post man exemple.
Chapter 6 – Routing.
Network Architecture Introductory material
Review of Important Networking Concepts
Multimedia and Networks
CS4470 Computer Networking Protocols
IP Multicast COSC /5/2019.
Server-Client communication without connection
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Multicasting Unicast.
Presentation transcript:

1 IP Multicast G53ACC Chris Greenhalgh School of Computer Science

2 Contents l What is Multicasting l Applications l Application Semantics l Implementation l Multicast addresses and scopes l Research Issues l Example: DIVE l Book: COMER, ch 9.6, 9.7, 18.5, 27.15

3 What is Multicasting? l Defines “multicast groups”… –like a host (destination) address –but identifies a logical destination or group l Any number of hosts can –sends packets to a multicast group –join a multicast group l => receive packets sent to that group l Plus: –each packet crosses any network at most once –packets are filtered in the network and host NICs for interest (joined)

4 Multicasting example Host Router LAN Host Sends P to multicast group G P Forwards P if required joined G, sees P Joined G, sees P P P P P P P P P P Network interface ignores P

5 Multicast Applications l One-to-many –A/V distribution, push media, file distribution, cacheing, announcements, monitoring (e.g. stocks). l Many-to-many –A/V conferencing, synchronized resources (e.g. distributed database), concurrent processing, collaboration, distance learning, chat groups, Distributed Interaction Simulation (DIS), multi- played games, jam sessions. l One-to-any / many-to-one (“any-cast”) –resource discovery, data collection, auctions

6 Application Semantics l For UDP only (unreliable datagrams). l Uses socket interface: java.net.MulticastSocket –See over l Send multicast packets from a normal (unicast) UDP socket, just give a class D destination IP address –or use a multicast socket, if TTL must be specified. l Receive multicast packets only on a MulticastSocket. –joinGroup(addr) performs a JOIN operation, –leaveGroup(addr) or destroying a socket performs a LEAVE operation. –(More complex options with multi-homed machines, using java.net.NetworkInterface)

7 Java API: java.net.MulticastSocket l public class MulticastSocket extends java.net.DatagramSocket { public MulticastSocket() throws IOException; public MulticastSocket(int port) throws IOException; public void joinGroup(InetAddress mcastaddr) throws IOException; public void leaveGroup(InetAddress mcastaddr) throws IOException; public void setTimeToLive(int ttl) throws IOException; }

8 ReverseServerMulticast.java excerpts l... int port = Integer.parseInt(args[1]); InetAddress group = InetAddress.getByName(args[0]); MulticastSocket socket = new MulticastSocket(port); socket.joinGroup(group); … socket.receive(request); … // as per unicast server

9 Defining Packets/Protocols l E.g. Real-Time Protocol (RTP) (RFC-1889, etc.) l Or make them up… –Remember UDP semantics l Unreliable l Packet-preserving l Unordered –Also consider l Time to join a group (start-up delay) l Time to leave a group (extra traffic) l Locally available number of groups (router state) –Tens rather than thousands! l Scope (see later slides...)

10 Implementation (1) l Multicast group = Class D destination IP address –starts l = /4 l = with netmask l = mask l Mapped to underlying multicast –not ARP! –(LAN) Ethernet multicast addresses –Takes bits from IP address, use in Ether. addr. l But not all 28 variable bits! (24 bits only)

11 Implementation (2) l Hosts use Internet Group Management Protocol (IGMP) (v.2 RFC-2236, v.3 RFC-3376) –tells network router(s) about groups joined/left l Routers use multicast routing protocol(s) (e.g. DVMRP, MOSPF) –forward a single packet on multiple interfaces –Many routers do NOT do multicast routing and will drop packets –Routers may “tunnel” multicast packets in unicast packets across non-multicast regions l E.g. MBone = Multicast BackBone (historical) –= Multicast “overlay” network, using unicast wide-area

12 Choosing Multicast Addresses (1): Statically allocated Global addresses l RFC-1700 / IANA ( –e.g. –e.g Multimedia Conference Calls –Apply to IANA for an allocation l Allocate locally within Autonomous Unit (RFC-3180, “GLOP addressing in 233/8”)

13 Choosing Multicast Addresses (2): Administrative Scoped Multicast Addresses (RFC-2365) l Configured in network l Link-local scope (i.e. LAN) – /24 l i.e. first 24 bits count, like a netmask l Local scope (e.g. department) – /16 l Organisation-local scope (e.g. UoN) – /14

14 Choosing Multicast Addresses (3): choosing an address in a range l Make one up and hope (check w. RFCs & scopes) l See also assignment.html l Hash to an address range and hope l Optionally augment with a monitoring process which detects duplicate use and negotiates a change to a new address –As in the SDR MBone tool

15 Choosing Multicast Addresses (4) l Source-specific multicast address (if supported) –RFC-4607 [1-to-many applications only] l Dynamically allocated using Multicast Address Allocation Service –E.g. SDR MBone tool for MM conferences or IETF malloc working group outputs???

16 TTL Scope (How Far do Packets Travel?) l Use IP packet TTL (Time To Live) to determine scope of sending: –TTL 0 = on the same machine l iff “loopback” is on for sending socket and (on Windows) an Ethernet interface is “up”. –TTL 1 = on the same LAN (esp. Ethernet) –TTL >1 = internetwork l on a multicast-capable WAN; l on the MBone (Multicast Backbone). –E.g. l 31 = campus? 63 = country? l 127 = continent? 255 = whole world?

17 Multicast Research & Deployment Issues l Reliable delivery –N.B. only a subset of receivers may have missed a packet. l Flow and congestion control –N.B. only a subset (one?) of receivers may be experiencing congestion or buffer overflow. => lowest common denominator?? l Deployment –MBone, PIM, native (ISPs??) –Application-specific bridges and reflectors

18 Process (Agent) World X Join: TCP state transfer World multicast group: updates, audio, video. Data uses Scalable Reliable Multicast (shared NAcks). Process (Agent) World X World Y Example: DIVE System Outline (Swedish Institute of Computer Science,

19 Example: DIVE System Bootstrapping First Agent World X... HTTP transfer (c.f. state transfer) HTTP Server World X definition Diveserver World  multicast group DIVE mgmt. multicast group World X multicast group (1) Agent locates diveserver (m/c). (2) Diveserver finds World X’s multicast group. (3) Agent pings multicast group. (4) Agent downloads world definition. (5) Agent creates world locally. (1) (2) (3) (4) (5) (files)