Page 1 Introduction Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation is licensed.

Slides:



Advertisements
Similar presentations
COS 461 Fall 1997 Group Communication u communicate to a group of processes rather than point-to-point u uses –replicated service –efficient dissemination.
Advertisements

Multicasting© Dr. Ayman Abdel-Hamid, CS4254 Spring CS4254 Computer Network Architecture and Programming Dr. Ayman A. Abdel-Hamid Computer Science.
NETWORK LAYER (1) T.Najah AlSubaie Kingdom of Saudi Arabia Prince Norah bint Abdul Rahman University College of Computer Since and Information System NET331.
Group Communications Group communication: one source process sending a message to a group of processes: Destination is a group rather than a single process.
COS 420 Day 18. Agenda Group Project Discussion Program Requirements Rejected Resubmit by Friday Noon Protocol Definition Due April 12 Assignment 3 Due.
1 Version 3 Module 8 Ethernet Switching. 2 Version 3 Ethernet Switching Ethernet is a shared media –One node can transmit data at a time More nodes increases.
TCP/IP Bridging, Switching and Routing in LANs Alvin Kwan.
Oct 21, 2004CS573: Network Protocols and Standards1 IP: Addressing, ARP, Routing Network Protocols and Standards Autumn
Gursharan Singh Tatla Transport Layer 16-May
Process-to-Process Delivery:
Group Management n Introduction n Internet Group Management Protocol (IGMP) n Multicast Listener Discovery (MLD) protocol.
Computer Networks 2 Lecture 1 Multicast.
The Network Layer. Network Projects Must utilize sockets programming –Client and Server –Any platform Please submit one page proposal Can work individually.
© 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.
Microsoft Windows Server 2003 TCP/IP Protocols and Services Technical Reference Slide: 1 Lesson 9 Internet Group Management Protocol (IGMP)
CMPT 471 Networking II Address Resolution IPv4 ARP RARP 1© Janice Regan, 2012.
CSC 600 Internetworking with TCP/IP Unit 8: IP Multicasting (Ch. 17) Dr. Cheer-Sun Yang Spring 2001.
1 CMPT 471 Networking II IGMP (IPv4) and MLD (IPv6) © Janice Regan,
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.
TCP/IP TCP/IP LAYERED PROTOCOL TCP/IP'S APPLICATION LAYER TRANSPORT LAYER NETWORK LAYER NETWORK ACCESS LAYER (DATA LINK LAYER)
Group Communication A group is a collection of users sharing some common interest.Group-based activities are steadily increasing. There are many types.
1 The Internet and Networked Multimedia. 2 Layering  Internet protocols are designed to work in layers, with each layer building on the facilities provided.
Lecture 3 Overview. Protocol An agreed upon convention for communication both endpoints need to understand the protocol. Protocols must be formally defined.
ECE 526 – Network Processing Systems Design Networking: protocols and packet format Chapter 3: D. E. Comer Fall 2008.
User Datagram Protocol (UDP) Chapter 11. Know TCP/IP transfers datagrams around Forwarded based on destination’s IP address Forwarded based on destination’s.
CS1Q Computer Systems Lecture 17 Simon Gay. Lecture 17CS1Q Computer Systems - Simon Gay2 The Layered Model of Networks It is useful to think of networks.
Chapter 22 Network Layer: Delivery, Forwarding, and Routing Part 5 Multicasting protocol.
Page 1 Logical Clocks Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation is.
Multicasting Part I© Dr. Ayman Abdel-Hamid, CS4254 Spring CS4254 Computer Network Architecture and Programming Dr. Ayman A. Abdel-Hamid Computer.
Group Communication Group oriented activities are steadily increasing. There are many types of groups:  Open and Closed groups  Peer-to-peer and hierarchical.
CCNA 1 v3.0 Module 9 TCP/IP Protocol Suite and IP Addressing.
Types of Service. Types of service (1) A network architecture may have multiple protocols at the same layer in order to provide different types of service.
CSE 6590 Department of Computer Science & Engineering York University 111/9/ :26 AM.
Internet Protocols (chapter 18) CSE 3213 Fall 2011.
Networking Basics CCNA 1 Chapter 11.
Lecture 4 Overview. Ethernet Data Link Layer protocol Ethernet (IEEE 802.3) is widely used Supported by a variety of physical layer implementations Multi-access.
Hwajung Lee. A group is a collection of users sharing some common interest.Group-based activities are steadily increasing. There are many types of groups:
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Connecting Devices CORPORATE INSTITUTE OF SCIENCE & TECHNOLOGY, BHOPAL Department of Electronics and.
1 OSI and TCP/IP Models. 2 TCP/IP Encapsulation (Packet) (Frame)
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.
ISDS 4120 Project 1 DWAYNE CARRAL JR 3/27/15. There are seven layers which make up the OSI (Open Systems Interconnection Model) which is the model for.
Lecture 10: Coordination and Agreement (Chap 12) Haibin Zhu, PhD. Assistant Professor Department of Computer Science Nipissing University © 2002.
Chapter 9: Multicast Sockets
Page 1 Mutual Exclusion & Election Algorithms Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content.
© Jörg Liebeherr (modified by M. Veeraraghavan) 1 ICMP The PING Tool Traceroute program IGMP.
Fault Tolerance (2). Topics r Reliable Group Communication.
1 Kyung Hee University Chapter 11 User Datagram Protocol.
UDP: User Datagram Protocol Chapter 12. Introduction Multiple application programs can execute simultaneously on a given computer and can send and receive.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
TCP/IP Protocol Suite and IP Addressing Presented By : Dupien AMS.
Multicasting EECS June Multicast One-to-many, many-to-many communications Applications: – Teleconferencing – Database – Distributed computing.
Process-to-Process Delivery:
Group Communication A group is a collection of users sharing some common interest.Group-based activities are steadily increasing. There are many types.
1 Group Communications: Host Group and IGMP Dr. Rocky K. C. Chang 19 March, 2002.
Reliable multicast Tolerates process crashes. The additional requirements are: Only correct processes will receive multicasts from all correct processes.
1 CMPT 471 Networking II Multicasting © Janice Regan,
IP: Addressing, ARP, Routing
The Transport Layer Implementation Services Functions Protocols
Multicast Listener Discovery
Multicast Outline Multicast Introduction and Motivation DVRMP.
TCP/IP Transmission Control Protocol / Internet Protocol
Byungchul Park ICMP & ICMPv DPNM Lab. Byungchul Park
Topic 5: Communication and the Internet
I. Basic Network Concepts
Process-to-Process Delivery:
TCP/IP Protocol Suite: Review
Seminar Mobilkommunikation Reliable Multicast in Wireless Networks
Process-to-Process Delivery: UDP, TCP
Presentation transcript:

Page 1 Introduction Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation is licensed under the Creative Commons Attribution 2.5 License.

Page 2 Modes of communication unicast –1  1 –Point-to-point anycast –1  nearest 1 of several identical nodes –Introduced with IPv6; used with BGP netcast –1  many, 1 at a time multicast –1  many –group communication broadcast –1  all

Page 3 Groups Groups are dynamic –Created and destroyed –Processes can join or leave May belong to 0 or more groups Send message to one entity –Deliver to entire group Deal with collection of processes as one abstraction

Page 4 Design Issues Closed vs. Open –Closed: only group members can sent messages Peer vs. Hierarchical –Peer: each member communicates with group –Hierarchical: go through coordinator Managing membership –Distributed vs. centralized Leaving & joining must be synchronous Fault tolerance?

Page 5 Implementing Group Communication Mechanisms

Page 6 Hardware multicast Hardware support for multicast –Group members listen on network address listen addr=a 1 send addr=a 1

Page 7 Hardware broadcast Hardware support for broadcast –Software filters multicast address May be auxiliary address broadcast(id=m) accept id=m discard id=m

Page 8 Software: netcast Multiple unicasts (netcast) –Sender knows group members listen local addr=a2 listen local addr=a3 listen local addr=a5 send(a1) send(a3) send(a1)

Page 9 Software Multiple unicasts via group coordinator –coordinator knows group members listen local addr coordinator send(a1) send(a3) send(a1) send(c)

Page 10 Reliability of multicasts

Page 11 Atomic multicast Atomicity Message sent to a group arrives at all group members If it fails to arrive at any member, no member will process it. Problems Unreliable network Each message should be acknowledged Acknowledgements can be lost Message sender might die

Page 12 Achieving atomicity (2-phase commit variation) Retry through network failures & system downtime Sender and receivers maintain persistent log 1.Send message to all group members Each receiver acknowledges message Saves message and acknowledgement in log Does not pass message to application 2.Sender waits for all acknowledgements Retransmits message to non-responding members –Again and again… until response received 3.Sender sends “go” message to all members Each recipient passes message to application Sends reply to server

Page 13 Achieving atomicity Phase 1: –Make sure that everyone gets the message Phase 2: –Once everyone has confirmed receipt, let the application see it All members will eventually get the message

Page 14 Reliable multicast Best effort –Assume sender will remain alive –Retransmit undelivered messages Send message Wait for acknowledgement from each group member Retransmit to non-responding members

Page 15 Unreliable multicast Basic multicast Hope it gets there

Page 16 Message ordering

Page 17 Good Ordering Process 0 message a a order received a, b message b b

Page 18 Bad Ordering Process 0 message a a order received a, b b, a message b b

Page 19 Good Ordering Process 0 Process 1 message a a message b b order received a, b

Page 20 Bad Ordering Process 0 Process 1 message a a message b b order received a, b b, a

Page 21 Sending versus Delivering Multicast receiver algorithm decides when to deliver a message to the process. A received message may be: –Delivered immediately (put on a delivery queue that the process reads) –Placed on a hold-back queue (because we need to wait for an earlier message) –Rejected/discarded (duplicate or earlier message that we no longer want)

Page 22 Sending, delivering, holding back sender receiver Multicast sending algorithm Multicast receiving algorithm hold-back queue delivery queue discard ? sending delivering

Page 23 Global time ordering All messages arrive in exact order sent Assumes two events never happen at the exact same time! Difficult (impossible) to achieve

Page 24 Total ordering Consistent ordering All messages arrive at all group members in the same order Implementation: –Attach unique totally sequenced message ID –Receiver delivers a message to the application only if it has received all messages with a smaller ID 1. If a process sends m before m’ then any other process that delivers m’ will have delivered m. 2. If a process delivers m’ before m” then every other process will have delivered m’ before m”.

Page 25 Causal ordering Partial ordering –Messages sequenced by Lamport or Vector timestamps Implementation –Deliver messages in timestamp order per-source. If multicast(G,m) -> multicast(G, m’) then every process that delivers m’ will have delivered m

Page 26 Sync ordering Messages can arrive in any order Special message type –Synchronization primitive –Ensure all pending messages are delivered before any additional (post-sync) messages are accepted

Page 27 FIFO ordering Messages can be delivered in different order to different members Message m must be delivered before message m’ iff m was sent before m’ from the same host If a process issues a multicast of m followed by m’, then every process that delivers m’ will have already delivered m.

Page 28 Unordered multicast Messages can be delivered in different order to different members Order per-source does not matter.

Page 29 Multicasting considerations atomic reliable unreliable unordered sync causal total global unordered FIFO Message Ordering Reliability

Page 30 IP Multicasting

Page 31 IP Broadcasting –Limited broadcast: send to all connected networks Host bits all 1 ( , ) –Directed broadcast on subnet

Page 32 IP Multicasting Class D network created for IP multicasting / – Host group –Set of machines listening to a particular multicast address bit multicast address

Page 33 IP multicasting Can span multiple physical networks Dynamic membership –Machine can join or leave at any time No restriction on number of hosts in a group Machine does not need to be a member to send messages

Page 34 IP multicast addresses Addresses chosen arbitrarily Well-known addresses assigned by IANA –Internet Assigned Numbers Authority –RFC 1340 –Similar to ports – service-based allocation FTP: port 21, SMTP: port 25, HTTP: port :all systems on this subnet :all multicast routers on subnet :music service :SGI’s dogfight :Audionews service

Page 35 LAN (Ethernet) multicasting LAN cards support multicast in one (or both) of two ways: –Packets filtered based on hash(mcast addr) Some unwanted packets may pass through Simplified circuitry –Exact match on small number of addresses If host needs more, put LAN card in multicast promiscuous mode –Receive all hardware multicast packets Device driver must check to see if the packet was really needed

Page 36 LAN (Ethernet) multicasting example Intel 82546EB Dual Port Gigabit Ethernet Controller 10/100/1000 BaseT Ethernet Supports: -16 exact MAC address matches bit hash filter for multicast frames -promiscuous unicast & promiscuous multicast transfer modes

Page 37 IP multicast on a LAN Sender specifies class D address in packet Driver must translate 28-bit IP multicast group to multicast Ethernet address –IANA allocated range of Ethernet MAC addresses for multicast –Copy least significant 23 bits of IP address to MAC address 01:00:5e:xx:xx:xx Send out multicast Ethernet packet –Contains multicast IP packet Bottom 23 bits of IP address

Page 38 IP multicast on a LAN Joining a multicast group Receiving process: –Notifies IP layer that it wants to receive datagrams addressed to a certain host group –Device driver must enable reception of Ethernet packets for that IP address Then filter exact packets

Page 39 Beyond the physical network Packets pass through routers which bridge networks together Multicast-aware router needs to know: –are any hosts on a LAN that belong to a multicast group? IGMP: –Internet Group Management Protocol –Designed to answer this question –RFC 1112 (v1), 2236 (v2), 3376 (v3)

Page 40 IGMP v1 Datagram-based protocol Fixed-size messages: –20 bytes header, 8 bytes data 4-bit version 4-bit operation (1=query by router, 2=response) 16-bit checksum 32-bit IP class D address

Page 41 Joining multicast group with IGMP Machine sends IGMP report: –“I’m interested in this multicast address” Each multicast router broadcasts IGMP queries at regular intervals –See if any machines are still interested –One query per network interface When machine receives query –Send IGMP response packet for each group for which it is still interested in receiving packets

Page 42 Leaving a multicast group with IGMP No response to an IGMP query –Machine has no more processes which are interested Eventually router will stop forwarding packets to network when it gets no IGMP responses

Page 43 IGMP enhancements IGMP v2 –Leave group messages added –Useful for high-bandwidth applications IGMP v3 –Hosts can specify list of hosts from which they want to receive traffic. –Traffic from other (unwanted) hosts is blocked by the routers and hosts.

Page 44 The end.