We think you have liked this presentation. If you wish to download it, please recommend it to your friends in any social system. Share buttons are a little bit lower. Thank you!
Presentation is loading. Please wait.
Published byWilson Gunner
Modified about 1 year ago
Multicasting© Dr. Ayman Abdel-Hamid, CS4254 Spring CS4254 Computer Network Architecture and Programming Dr. Ayman A. Abdel-Hamid Computer Science Department Virginia Tech Multicasting
© Dr. Ayman Abdel-Hamid, CS4254 Spring Outline Multicasting (Chapter 21) Multipoint Communications IP Multicast IPv4 Multicast addresses Sending and Receiving Messages Multicasting on a LAN Multicasting on a WAN Multicast Issues
Multicasting© Dr. Ayman Abdel-Hamid, CS4254 Spring Multipoint Communications Multipoint communications support communications between more than two hosts One-to-many Many-to-many Unlike broadcast, allows a proper subset of hosts to participate Example standards IP Multicast (RFC 1112, standard)RFC 1112
Multicasting© Dr. Ayman Abdel-Hamid, CS4254 Spring Logical Multipoint Communications Two basic logical organizations Rooted: hierarchy (perhaps just two levels) that structures communications Non-rooted: peer-to-peer (no distinguished nodes) Different structure could apply to control and data “planes” Control plane determines how multipoint session is created Data plane determines how data is transferred between hosts in the multipoint session
Multicasting© Dr. Ayman Abdel-Hamid, CS4254 Spring Logical Multipoint Communications Control Plane The control plane manages creation of a multipoint session Rooted control plane One member of the session is the root, c_root Other members are the leafs, c_leafs Normally c_root establishes a session Root connects to one or more c_leafs c_leafs join c_root after session established Non-rooted control plane All members are the same (c_leafs) Each leaf adds itself to the session
Multicasting© Dr. Ayman Abdel-Hamid, CS4254 Spring Logical Multipoint Communications Data Plane The data plane is concerned with data transfer Rooted data plane Special root member, d_root Other members are leafs, d_leafs Data transferred between d_leafs and d_roots d_leaf to d_root d_root to d_leaf There is no direct communication between d_leafs Non-rooted data plane No special members, all are d_leafs Every d_leafs communicate with all d_leafs
Multicasting© Dr. Ayman Abdel-Hamid, CS4254 Spring Forms of Multipoint Communications Server-based -- rooted multipoint communications with server as d_root Passive or inactive Relay Reflector Active Bridge or multipoint control unit (MCU) Strictly peer-to-peer multipoint – Non-rooted Multicast
Multicasting© Dr. Ayman Abdel-Hamid, CS4254 Spring Multipoint Servers Passive Multipoint Server a relay or reflector service Provides no processing of the data Minimum requirement is for transport-level semantics, so can operate at the transport or application level Active Multipoint Server Does application-level processing transcoding uses application-level semantics
Multicasting© Dr. Ayman Abdel-Hamid, CS4254 Spring Multicast Communication Multicast abstraction is peer-to-peer Application-level multicast Network-level multicast Requires router support (multicast-enabled routers) Multicast provided at network protocol level IP multicast
Multicasting© Dr. Ayman Abdel-Hamid, CS4254 Spring Multicast Communication Transport mechanism and network layer must support multicast Internet multicast limited to UDP (not TCP) Unreliable: No acknowledgements or other error recovery schemes (perhaps at application level) Connectionless: No connection setup (although there is routing information provided to multicast-enabled routers) Datagram: Message-based multicast
Multicasting© Dr. Ayman Abdel-Hamid, CS4254 Spring IP Multicast IP supports multicasting Uses only UDP, not TCP Special IP addresses (Class D) identify multicast groups Internet Group Management Protocol (IGMP) to provide group routing information Multicast-enabled routers selectively forward multicast datagrams IP TTL field limits extent of multicast Requires underlying network and adapter to support broadcast or, preferably, multicast Ethernet (IEEE 802.3) supports multicast
Multicasting© Dr. Ayman Abdel-Hamid, CS4254 Spring IP Multicast: Group Address How to identify the receivers of a multicast datagram? How to address a datagram sent to these receivers? Each multicast datagram to carry the IP addresses of all recipients? Not scalable for large number of recipients Use address indirection A single identifier used for a group of receivers
Multicasting© Dr. Ayman Abdel-Hamid, CS4254 Spring IP Multicast: IGMP Protocol RFC 3376 (IGMP v3): operates between a host and its directly attached routerRFC 3376 host informs its attached router that an application running on the host wants to join or leave a specific multicast group another protocol is required to coordinate multicast routers throughout the Internet network layer multicast routing algorithms Network layer multicast IGMP and multicast routing protocols IGMP enables routers to populate multicast routing tables Carried within an IP datagram
Multicasting© Dr. Ayman Abdel-Hamid, CS4254 Spring IP Multicast: IGMP Protocol IGMP v2 Message types membership query: general Sent by routers router query multicast groups joined by attached hosts membership query: specific Sent by routers query if specific multicast group joined by attached hosts membership report Sent by host report host wants to join or is joined to given multicast group leave group (optional) Sent by host report leaving given multicast group
Multicasting© Dr. Ayman Abdel-Hamid, CS4254 Spring IP Multicast: IGMP Protocol Joining a group Host sends group report when the first process joins a given group Application requests join, service provider (end-host) sends report Maintaining table at the router Multicast router periodically queries for group information Host (service provider) replies with an IGMP report for each group Host does not notify router when the last process leaves a group this is discovered through the lack of a report for a query
Multicasting© Dr. Ayman Abdel-Hamid, CS4254 Spring IP Multicast: Multicast Routing Multicast routers do not maintain a list of individual members of each host group Multicast routers do associate zero or more host group addresses with each interface
Multicasting© Dr. Ayman Abdel-Hamid, CS4254 Spring IP Multicast: Multicast Routing Multicast router maintains table of multicast groups that are active on its networks Datagrams forwarded only to those networks with group members
Multicasting© Dr. Ayman Abdel-Hamid, CS4254 Spring IP Multicast: Multicast Routing How multicast routers route traffic amongst themselves to ensure delivery of group traffic? Find a tree of links that connects all of the routers that have attached hosts belonging to the multicast group Group-shared trees Source-based trees Shared TreeSource Trees
Multicasting© Dr. Ayman Abdel-Hamid, CS4254 Spring MBONE: Internet Multicast Backbone The MBone is a virtual network on top of the Internet (section B.2) Routers that support IP multicast IP tunnels between such routers and/or subnets
Multicasting© Dr. Ayman Abdel-Hamid, CS4254 Spring Unicast versus Broadcast versus Multicast A unicast address identifies a single IP interface A broadcast address identifies all IP interfaces on the subnet A multicast address identifies a set of IP interfaces A multicast datagram is received only by those interfaces interested in the datagram (applications wishing to participate in the multicast group)
Multicasting© Dr. Ayman Abdel-Hamid, CS4254 Spring IPv4 Multicast Addresses 1/3 Class D addresses in the range through Low order 28 bits of class D Naddress (see appendix A) form the multicast group ID (32-bit address is the group address) Mapping of IPv4 multicast address to Ethernet address High-order 24 bits of Ethernet address are always 01:00:5E Next bit always 0 Low-order 23 bits are copied from low-order 23 bits of multicast group address High-order 5 bits of group address are ignored in the mapping Mapping not one-to-one
Multicasting© Dr. Ayman Abdel-Hamid, CS4254 Spring IPv4 Multicast Addresses 2/ mapped into an Ethernet address? Remember an Ethernet address is 48 bits The address 224 is E0 in hex, 0 is 00 in hex, 1 is 01 in hex, and 88 is 58 in hex. However, only the low-order 23 bits are used Therefore, the IP address of converted to a MAC address is E
Multicasting© Dr. Ayman Abdel-Hamid, CS4254 Spring IPv4 Multicast Addresses 3/3 Some special IPv4 multicast addresses reserved all-host group all-routers group through reserved for routing-protocols Datagrams destined to any of theses addresses are never forwarded by a multicast router
Multicasting© Dr. Ayman Abdel-Hamid, CS4254 Spring Sending & Receiving Multicast Messages Receiving Multicast Messages Create a UDP socket Bind it to a UDP port, e.g., 1234 All processes must bind to the same port in order to receive the multicast messages Join a multicast group address Use recv or recvfrom to read the messages Sending Multicast Messages You may use the same socket (you used for receiving) for sending multicast messages or you can use any other UDP socket (it does not have to join any multicast group)
Multicasting© Dr. Ayman Abdel-Hamid, CS4254 Spring Multicast on a LAN 1/3 Receiving application creates a UDP socket, binds to port 123 and joins multicast group IPv4 layers saves the information internally and tells appropriate datalink to receive Ethernet frames destined to 01:00:5E:00:01:01 Sending applications creates a UDP socket and sends a datagram to , port 123 Ethernet frame contains destination Ethernet address, destination IP address, and destination port A host on the LAN that did not express interest in receiving multicast from that group will ignore such datagram Destination Ethernet address does not match the interface address Destination Ethernet address is not the ethernet broadcast address The interface has not been told to receive any group addresses
Multicasting© Dr. Ayman Abdel-Hamid, CS4254 Spring Multicast on a LAN 2/3 Ethernet frame received by datalink of receiver based on imperfect filtering (When interface told to receive frames destined to one specific Ethernet multicast address, it can receive frames destined to other Ethernet multicast addresses) Ethernet interface cards apply a hash function to group address, calculating a value between 0 and 511. This information turns on a bit in a 512-bit array Small size bit-array implies receiving unwanted frames Some network cards provide perfect filtering Some network cards have no multicast filtering at all (multicast promiscuous mode) Packet passed to IP layer (IP layer compares group address against all multicast addresses that applications on this host have joined perfect filtering) Packet passed to UDP layer, which passes it to socket bound to port 123
Multicasting© Dr. Ayman Abdel-Hamid, CS4254 Spring Multicast on a LAN 3/3 Some Other scenarios A host running an application that has joined Ethernet address 01:00:5E:00:01:01. Packet will be discarded by perfect filtering in IP layer A host running an application that has joined some multicast group which the Ethernet address produces the same hash value as 01:00:5E:00:01:01. Packet will be discarded by datalink layer or by IP layer A packet destined to the same group, but a different port. Accepted by IP layer, but discarded by UDP layer (no socket has bound the different port)
Multicasting© Dr. Ayman Abdel-Hamid, CS4254 Spring Multicast on a WAN A program started on five hosts belonging to different LANs Multicast routers communicate with neighbor routers using a multicast routing protocol (MRP) When a process on a host joins a multicast group, that host sends an IGMP message to any attached multicast routers, which in turn exchange this information using MRP with neighbor routers When a sender sends a multicast message, mutlicast routing information is used to direct the message MR1 MR2MR3MR4 MR5 H1 H3H2 H4H5 S
Multicasting© Dr. Ayman Abdel-Hamid, CS4254 Spring Some Multicast Issues Time To Live Set TTL for outgoing multicast datagrams (default is 1 local subnet) Loopback mode Enable or disable local loopback of multicast datagrams By default loopback is enabled A copy of each multicast datagram sent by a process on the host will also be looped back and processed as a received datagram by that host Port Reuse Allow the same multicast application to have several instances running on the same host In Java, Port reuse is enabled by default
Multicasting© Dr. Ayman Abdel-Hamid, CS4254 Spring Socket Options Various attributes that are used to determine the behavior of sockets (see chapter 7) #include int getsockopt (int sockfd, int level, int optname, void * optval, socklen_t *optlen); int setsockopt (int sockfd, int level, int optname, const void * optval, socklen_t optlen); Both return 0 if OK, -1 on error sockfd: an open socket descriptor level: code in the system that interprets the option (general socket code, or protocol-specific code) (SOL_SOCKET, IPPROTO_IP, IPPROTO_IPv6, IPPROTO_TCP are examples) optname: see page 193
Multicasting© Dr. Ayman Abdel-Hamid, CS4254 Spring Socket Options Some socket options examples (see table on page 193 and 194) For multicast socket options see section 21.6 on page 559 Socket Level SO_SNDBUF, SO_RCVBUF, SO_KEEPALIVE, SO_BROADCAST, SO_REUSEADDR, SO_RESUEPORT IP Level IP_TTL, IPMULTICAST_IF, IPMUTLICAST_TTL, IP_MULTICAST_LOOP, IP_ADD_MEMBERSHIP, IP_DROP_MEMBERSHIP TCP Level TCP_KEEPALIVE, TCP_MAXSEG, TCP_NODELAY
Multicasting© Dr. Ayman Abdel-Hamid, CS4254 Spring Sending and Receiving Section page 575 A program to send and receive multicast datagrams Send datagram to a specific group every five seconds (datagram contains sender’s hostname and process ID) An infinite loop that joins the multicast group to which the sending part is sending and prints every received datagram Create a UDP socket then set multicast socket options for address reuse, joining the group, and setting loopback See mcast/main.c, mcast/send.c, and mcast/recv.c
Scalability and efficiency: Introducing a new mechanism to the internet must not jeopardize its efficiency. Enhancing IP for mobility must not generate.
Computer Networks with Internet Technology William Stallings Chapter 08 Internet Protocols.
Compiled by : S. Agarwal Lecturer & Systems Incharge St. Xaviers Computer Centre St. Xaviers College, Kolkata. INTERNET PROTOCOLS.
Lecture 6: Internetworking Principles. Part 1 – Internetworking: The term internetworking describes the connecting of separate networks possibly based.
Advanced Operating Systems Prof. Muhammad Saeed Distributed Operating Systems Communication.
Version 4.1 CCNA Discovery 2– Chapter 7. Contents 7.1: ISP Services : TCP / IP Protocols 7.2: 7.3: DNS 7.3: 7.4: Application Layer Protocols 7.4.
RIP ( Routing Information Protocol) RFC 1058 and 1723 Included in BSD UNIX in 1982 Distance vector algorithm Distance metric: number of hops (max = 15.
Objectives: Chapter 1: Introduction Types of Networks OSI Reference Model (7 Layers) TCP/IP Model Network Devices Network Topologies.
Copyright 2011 John Wiley & Sons, Inc5 - 1 Business Data Communications and Networking 11th Edition Jerry Fitzgerald and Alan Dennis John Wiley & Sons,
TCP/IP Internal TCP/IP. Learning outcome Application layer – HTTP, FTP, TELNET, POP3, SMTP, IMAP, DNS protocols Transport layer – TCP and UDP – TCP and.
Comparison and Contrast between the OSI and TCP/IP Model.
NETWORK DEVICES By- Ninaada.p.l Shama.S Shikha Deepak.
1 3a. Data Link Layer Protocols 1. Introduction 2. DLL Design a.Network Layer Services b.Error Control c.Flow Control 3. Elementary Data Link Protocols.
1 OSI Transport Layer IT305: Computer Networks – Chapter 4.
Network Communication Network Communication is the process by which two or more computers transfer information to each other.
Chapter 4 Network Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A note on the use of these.
Network Layer CS 3516 – Computer Networks. Chapter 4: Network Layer Chapter goals: Understand principles behind network layer services: –network layer.
Introduction to computer networking Objective: To be acquainted with: The definitions of networking Network topology Network peripherals, hardware and.
1 Chapter 1 Foundation Computer Networks: A Systems Approach, 5e Larry L. Peterson and Bruce S. Davie Copyright © 2010, Elsevier Inc. All rights Reserved.
1 Distance Vector Link State Hybrid Distance Vector vs. Link State Route table Topology Incremental Update Periodic UpdateRouting by rumor A BCD X E.
Internet Protocol. Layer reminder Bridges - emulate single link Everything broadcast Same collision domain Switches - emulate single network Flat addressing.
Phones OFF Please The Internet and TCP/IP Brian Bramer Home:
Routing Protocols for Ad-Hoc Networks Ad-hoc On-Demand Distance Vector Routing & DSR: The Dynamic Source Routing Protocol for Multi-Hop Wireless Ad Hoc.
Point-to-Point Protocol (PPP) In order for any layer 3 protocol to traverse the WAN over a dialup or dedicated link, it must be encapsulated by a data-link.
IPSec. Princess Nora Bint Abdulrahman University College of computer and information sciences Networks department Networks Security (NET 536) Prepared.
1 Introducing the Specifications of the MEF An Overview of MEF 6.1, 10.2, Carrier Ethernet Definitions and Attributes 2011 December.
5 Digital Encoding and Data Transmission Permission granted to reproduce for educational use only.© Goodheart-Willcox Co., Inc. Objectives Give examples.
1 IP Based Network Concepts & Overview Faculty of Network Planning ALTTC, Ghaziabad.
© 2016 SlidePlayer.com Inc. All rights reserved.