© Chinese University, CSE Dept. Distributed Systems / 3 - 1 Distributed Systems Topic 3: Communication Dr. Michael R. Lyu Computer Science & Engineering.

Slides:



Advertisements
Similar presentations
TCP/IP MODEL Maninder Kaur
Advertisements

Introduction 1 Lecture 13 Transport Layer (Transmission Control Protocol) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer.
Umut Girit  One of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer.
Remote Procedure Call (RPC)
CCNA – Network Fundamentals
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 OSI Transport Layer Network Fundamentals – Chapter 4.
CS3505 The Internet and Info Hiway transport layer protocols : TCP/UDP.
Transport Layer – TCP (Part1) Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing, UNF.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Network Services Networking for Home and Small Businesses – Chapter 6.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 OSI Transport Layer Network Fundamentals – Chapter 4.
Socket Programming.
Department of Computer Engineering University of California at Santa Cruz Networking Systems (1) Hai Tao.
CS 582 / CMPE 481 Distributed Systems Communications (cont.)
Java Socket Support Presentation by: Lijun Yuan Course Number: cs616.
William Stallings Data and Computer Communications 7 th Edition (Selected slides used for lectures at Bina Nusantara University) Transport Layer.
Networks 1 CS502 Spring 2006 Network Input & Output CS-502 Operating Systems Spring 2006.
1 School of Computing Science Simon Fraser University CMPT 771/471: Internet Architecture and Protocols Socket Programming Instructor: Dr. Mohamed Hefeeda.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Transport Protocols Slide 1 Transport Protocols.
CS-3013 & CS-502, Summer 2006 Network Input & Output1 CS-3013 & CS-502, Summer 2006.
TCP. Learning objectives Reliable Transport in TCP TCP flow and Congestion Control.
Distributed systems (NET 422) Prepared by Dr. Naglaa Fathi Soliman Princess Nora Bint Abdulrahman University College of computer.
Chapter 4.1 Interprocess Communication And Coordination By Shruti Poundarik.
Process-to-Process Delivery:
Chapter 17 Networking Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William Stallings.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Presentation on Osi & TCP/IP MODEL
Copyright 2003 CCNA 1 Chapter 9 TCP/IP Transport and Application Layers By Your Name.
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 2: Communication Dr. Michael R. Lyu Computer Science & Engineering.
1 7-Oct-15 OSI transport layer CCNA Exploration Semester 1 Chapter 4.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 OSI Transport Layer Network Fundamentals – Chapter 4.
TCP : Transmission Control Protocol Computer Network System Sirak Kaewjamnong.
TCP/IP TCP/IP LAYERED PROTOCOL TCP/IP'S APPLICATION LAYER TRANSPORT LAYER NETWORK LAYER NETWORK ACCESS LAYER (DATA LINK LAYER)
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
Chapter 6-2 the TCP/IP Layers. The four layers of the TCP/IP model are listed in Table 6-2. The layers are The four layers of the TCP/IP model are listed.
Chapter 4: Interprocess Communication‏ Pages
Distributed Systems Concepts and Design Chapter 4.
1. I NTRODUCTION TO N ETWORKS Network programming is surprisingly easy in Java ◦ Most of the classes relevant to network programming are in the java.net.
TCP/IP Honolulu Community College Cisco Academy Training Center Semester 2 Version 2.1.
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.
Data Communications and Networks
Chapter 3: Transport Layer Our goals: r understand principles behind transport layer services: m multiplexing/demultipl exing m reliable data transfer.
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 1: Characterization of Distributed & Mobile Systems Dr. Michael R.
Distributed systems (NET 422) Prepared by Dr. Naglaa Fathi Soliman Princess Nora Bint Abdulrahman University College of computer.
Fall 2007cs4251 Distributed Computing Umar Kalim Dept. of Communication Systems Engineering 26/09/2007.
McGraw-Hill Chapter 23 Process-to-Process Delivery: UDP, TCP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
Cisco I Introduction to Networks Semester 1 Chapter 7 JEOPADY.
Distributed Computing & Embedded Systems Chapter 4: Remote Method Invocation Dr. Umair Ali Khan.
1 14-Jun-16 S Ward Abingdon and Witney College CCNA Exploration Semester 1 OSI transport layer CCNA Exploration Semester 1 Chapter 4.
Process-to-Process Delivery:
© 2006 Cisco Systems, Inc. All rights reserved.Cisco Public 1 OSI transport layer CCNA Exploration Semester 1 – Chapter 4.
The Transport Layer Implementation Services Functions Protocols
Chapter 3 outline 3.1 Transport-layer services
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
MCA – 405 Elective –I (A) Java Programming & Technology
Process-to-Process Delivery, TCP and UDP protocols
OSI Protocol Stack Given the post man exemple.
TCP Transport layer Er. Vikram Dhiman LPU.
NET323 D: Network Protocols
Subject Name: Computer Communication Networks Subject Code: 10EC71
DISTRIBUTED COMPUTING
Distributed Systems Topic 2: Communication Dr. Michael R. Lyu
NET323 D: Network Protocols
Process-to-Process Delivery:
Transport Protocols An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
CPEG514 Advanced Computer Networkst
PART 5 Transport Layer.
Process-to-Process Delivery: UDP, TCP
Computer Networks Protocols
Transport Layer 9/22/2019.
Presentation transcript:

© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 3: Communication Dr. Michael R. Lyu Computer Science & Engineering Department The Chinese University of Hong Kong

© Chinese University, CSE Dept. Distributed Systems / Outline 1 Communication Primitives 2 Client/Server Communication 3 Group Communication 4 CORBA Event Service 5 Summary

© Chinese University, CSE Dept. Distributed Systems / Communication Primitives Application Presentation Transport Network Data link Physical Session The ISO/OSI Reference Model: HTTP, FTP, Telnet CORBA IIOP XDR, CORBA Data Secure Sockets (SSL) for connection- oriented comm. message; TCP, UDP packet;IP; ATM VC error-free trans. PPP, CSMA/CD ISDN, baseband signaling host PSE PSE (packet switching exchange)

© Chinese University, CSE Dept. Distributed Systems / ISO/OSI Transport Layer  Level 4 of ISO/OSI reference model.  Concerned with the transport of information through a network.  Two facets in UNIX networks: –TCP –UDP Application Presentation Transport Network Data link Physical Session  connection oriented  virtual connection  w sequencing & acknowledgement - connectionless - up to 64k bytes datagram - no seqs and acks

© Chinese University, CSE Dept. Distributed Systems / ISO/OSI Transport Layer (TCP)  Transmission Control Protocol (TCP) provides bi-directional stream of bytes between two distributed components.  UNIX rsh, rcp and rlogin are based on TCP.  Reliable but slow protocol.  Buffering at both sides decouples computation speeds.

© Chinese University, CSE Dept. Distributed Systems / ISO/OSI Transport Layer (UDP)  User Datagram Protocol (UDP) enables a component to pass a message containing a sequence of bytes to another component.  Other component is identified within message.  Unreliable but very fast protocol.  Restricted message length.  Queuing at receiver.  UNIX rwho command is UDP based.

© Chinese University, CSE Dept. Distributed Systems / ISO/OSI Presentation Layer  At application layer: complex data types  How to transmit complex values through transport layer?  Presentation layer issues: –Complex data structures and –Heterogeneity. Application Presentation Transport Network Data link Physical Session

© Chinese University, CSE Dept. Distributed Systems / Complex Data Structures  Marshalling: Disassemble data structures into a transmittable form  Unmarshaling: Re-assemble the complex data structure. class Person { private: int dob; char * name; public: char * marshal() { char * msg; msg=new char[strlen(name)+10]; sprintf(msg,”%d,%d,%s”, dob, strlen(name),name); return(msg); };

© Chinese University, CSE Dept. Distributed Systems / Heterogeneity  Heterogeneous data representation on different hardware platforms.  Approach 1 (Example XDR): –Define a shared representation, –For each different platform, provide mapping between common and specific representation.  Approach 2 (Example ASN):

© Chinese University, CSE Dept. Distributed Systems / Communication Patterns  Basic operations: send and receive messages (as in UDP).  Message delivery: –Synchronous or –Asynchronous  Messages are used to model: –Notification and –Request.

© Chinese University, CSE Dept. Distributed Systems / Synchronous Communication Time sender send receiver blocked Transport Layer receive blocked (1)(3)(4)(5) ackn (2)

© Chinese University, CSE Dept. Distributed Systems / Communication Deadlocks P1: send() to P2; receive() from P2; P2: send() to P1; receive() from P1; P1 P2 Waits-for  Components are mutually waiting for each other.  To avoid deadlocks: Waits-for relation has to be acyclic!

© Chinese University, CSE Dept. Distributed Systems / Asynchronous Communication Time sender send receiver Transport Layer receive blocked (1)(3)(4)(2)

© Chinese University, CSE Dept. Distributed Systems / Notification  Uni-directional communication  Message contains marshaled notification parameters. send(...) NotifierNotified receive(...)

© Chinese University, CSE Dept. Distributed Systems / Request  Bi-directional communication.  Request message contains marshaled parameters.  Requester receives reply message.  Reply message contains marshaled results. send(...) receive(...) RequesterProvider receive(...) request send(...) reply...

© Chinese University, CSE Dept. Distributed Systems / Reliability Issues  Unreliable message refers to message transmission without acknowledgement or retries (e.g., UDP).  A reliable delivery service may be constructed from an unreliable one by the use of ack.  Positive ack. for client-server communication and negative ack. for group multicast.  Reliable communication involves overheads.  Each message should have a unique identifier.

© Chinese University, CSE Dept. Distributed Systems / Client/Server Communication  Qualities of service.  Request protocol (R).  Request reply protocol (RR).  Request reply acknowledgement protocol (RRA).

© Chinese University, CSE Dept. Distributed Systems / Qualities of service  Exactly once,  At most once,  At least once and  Maybe?

© Chinese University, CSE Dept. Distributed Systems / Request Protocol  If service –does not have out or inout parameters and –does not have a return type client may not want to wait for server to finish. execution request send(...) ClientServer receive(...) exec op;

© Chinese University, CSE Dept. Distributed Systems / Request/Reply Protocol  To be applied if client expects result from server.  Client requests service execution from server through request message.  Delivery of service result in reply message. send(...) receive(...) ClientServer receive(...) exec op; send(...) request reply

© Chinese University, CSE Dept. Distributed Systems / RRA Protocol  In addition to RR protocol, client sends acknowledgement after it received reply.  Acknowledgement sent asynchronously. send(...) receive(...) send (...) ClientServer receive(...) exec op; send(...) receive(...) request reply ackn

© Chinese University, CSE Dept. Distributed Systems / Group Communication  Client/server requests: –There is no other party involved. –Client has to identify server.  Sometimes other properties are required: –Communication between multiple components. –Anonymous communication.

© Chinese University, CSE Dept. Distributed Systems / Concepts  Broadcast: Send msg to a group.  Multicast: Send msg to subgroup only. M NN NN NN MM N NN NN NN NN NN NN NN N Useful applications:  Fault tolerance  Object location  Better performance  Multiple update

© Chinese University, CSE Dept. Distributed Systems / Qualities of Service  Ideal: Immediate and reliable. S R1 R2 Time l Optimal: Simultaneous and reliable. S R1 Time R2

© Chinese University, CSE Dept. Distributed Systems / Qualities of Service  In reality: not simultaneous and not reliable Time S R1 R2 Time S R1 R2

© Chinese University, CSE Dept. Distributed Systems / Qualities of Service  Problem: To achieve reliable broadcast/multicast is very expensive.  Degrees of reliability: –Best effort, –K-reliability, –totally ordered, –Atomicity.  Choose the degree of reliability needed and be prepared to pay the price.

© Chinese University, CSE Dept. Distributed Systems / CORBA Event Management  CORBA event management service defines interfaces for different group communication models.  Events are created by suppliers (producers) and communicated through an event channel to multiple consumers.  Service does not define a quality of service (left to implementers).

© Chinese University, CSE Dept. Distributed Systems / Push Model  Consumers register with those event channel through which events they are interested in are communicated.  Event producers create a new event by invoking a push operation from an event channel.  Event channel notifies all registered consumers by invoking their push operations.

© Chinese University, CSE Dept. Distributed Systems / Push Model (Example) Share value updated Producer Event Channel Redisplay chart Redisplay table Consumer push(...)

© Chinese University, CSE Dept. Distributed Systems / The Pull Model  Event producer registers its capability of producing events with event channel.  Consumer obtains event by invoking pull operation from event channel.  Event channel asks producer to produce event and delivers it to the consumer.

© Chinese University, CSE Dept. Distributed Systems / Pull Model (Example) Current value: Producer Event Channel Current share value? Consumer pull(...)

© Chinese University, CSE Dept. Distributed Systems / Event Channel Event Channel Direction of event transfer Push supplier Pull supplier Push consumer Pull consumer Supported combinations:  push suppliers, push consumers  push suppliers, pull consumers  pull suppliers, push consumers  pull suppliers, pull consumers

© Chinese University, CSE Dept. Distributed Systems / Event Channel (with proxies) Event Channel Direction of event transfer Push supplier Pull supplier Push consumer Pull consumer Proxy push consumer Proxy pull consumerProxy pull supplier Proxy push supplier

© Chinese University, CSE Dept. Distributed Systems / Summary  What communication primitives do we use?  How are differences between application and communication layer resolved?  What quality of service do the client/server protocols achieve that we discussed?  What quality of services are involved in group communication?  CORBA Event Service for group communication.  Read Textbook Chapter 3 through Chapter 4.

© Chinese University, CSE Dept. Distributed Systems / Homework #1  1.7Total 10 questions, 10 points each  1.11  1.13Due: 7/10/2003 (Tuesday) in class  2.9  2.13  3.1  3.7  3.9  4.7  4.21