Agenda. Distributed System Structures. Why Distributed Systems? Motivation



Similar documents
Operating System Concepts. Operating System 資 訊 工 程 學 系 袁 賢 銘 老 師

Chapter 14: Distributed Operating Systems

Module 15: Network Structures

Chapter 16: Distributed Operating Systems

Chapter 17: Distributed Systems

CSCI 362 Computer and Network Security

Computer Networks Vs. Distributed Systems

Chapter 15: Distributed Structures. Topology

Computer Networks CS321

28 Networks and Communication Protocols

Internetworking and Internet-1. Global Addresses

Network Layers. CSC358 - Introduction to Computer Networks

Computer Network. Interconnected collection of autonomous computers that are able to exchange information

Local Area Networks transmission system private speedy and secure kilometres shared transmission medium hardware & software

Introduction to computer networks and Cloud Computing

Overview of Computer Networks

CSIS CSIS 3230 Spring Networking, its all about the apps! Apps on the Edge. Application Architectures. Pure P2P Architecture

What is CSG150 about? Fundamentals of Computer Networking. Course Outline. Lecture 1 Outline. Guevara Noubir noubir@ccs.neu.

Basic Networking Concepts. 1. Introduction 2. Protocols 3. Protocol Layers 4. Network Interconnection/Internet


Guide to TCP/IP, Third Edition. Chapter 3: Data Link and Network Layer TCP/IP Protocols

Local-Area Network -LAN

Introduction to LAN/WAN. Network Layer (part II)

Computer Networks. Definition of LAN. Connection of Network. Key Points of LAN. Lecture 06 Connecting Networks

Chapter 8: Computer Networking. AIMS The aim of this chapter is to give a brief introduction to computer networking.

Distributed Systems LEEC (2005/06 2º Sem.)

Application. Transport. Network. Data Link. Physical. Network Layers. Goal

Network-Oriented Software Development. Course: CSc4360/CSc6360 Instructor: Dr. Beyah Sessions: M-W, 3:00 4:40pm Lecture 2

Network: several computers who can communicate. bus. Main example: Ethernet (1980 today: coaxial cable, twisted pair, 10Mb 1000Gb).

Overview of Network Hardware and Software. CS158a Chris Pollett Jan 29, 2007.

ESSENTIALS. Understanding Ethernet Switches and Routers. April 2011 VOLUME 3 ISSUE 1 A TECHNICAL SUPPLEMENT TO CONTROL NETWORK

Technical Support Information Belkin internal use only

COMPUTER NETWORK TECHNOLOGY (300)

How do I get to

Ethernet. Ethernet. Network Devices

Socket = an interface connection between two (dissimilar) pipes. OS provides this API to connect applications to networks. home.comcast.

Unit of Learning # 2 The Physical Layer. Sergio Guíñez Molinos sguinez@utalca.cl

NETWORKING TECHNOLOGIES

UPPER LAYER SWITCHING

Computer Networks 1 (Mạng Máy Tính 1) Lectured by: Dr. Phạm Trần Vũ

Topics. Computer Networks. Let s Get Started! Computer Networks: Our Definition. How are Networks Used by Computers? Computer Network Components

Chapter 5. Data Communication And Internet Technology

Protocol Specification & Design. The Internet and its Protocols. Course Outline (trivia) Introduction to the Subject Teaching Methods

Communications and Computer Networks

Introduction to Computer Networks

CCNA 1: Networking Basics. Cisco Networking Academy Program Version 3.0

Introduction to TCP/IP

AS/400e. TCP/IP routing and workload balancing

Chapter 7: Computer Networks, the Internet, and the World Wide Web. Invitation to Computer Science, C++ Version, Third Edition

Understanding TCP/IP. Introduction. What is an Architectural Model? APPENDIX

Post-Class Quiz: Telecommunication & Network Security Domain

The OSI and TCP/IP Models. Lesson 2

Introduction to Networks and the Internet

EECS 489 Winter 2010 Midterm Exam

Load Balancing. Final Network Exam LSNAT. Sommaire. How works a "traditional" NAT? Un article de Le wiki des TPs RSM.

Wireless Links - Wireless communication relies on radio signals or infrared signals for transmitting data.

Guideline for setting up a functional VPN

Course Overview: Learn the essential skills needed to set up, configure, support, and troubleshoot your TCP/IP-based network.

Network Models OSI vs. TCP/IP

CSE 3461 / 5461: Computer Networking & Internet Technologies

Computer Networking Networks

How To Use A Network Over The Internet (Networking) With A Network (Netware) And A Network On A Computer (Network)

MANAGEMENT INFORMATION SYSTEMS 8/E

Computer System Design: Laws, Principles, Trends - II

IP Networking. Overview. Networks Impact Daily Life. IP Networking - Part 1. How Networks Impact Daily Life. How Networks Impact Daily Life

IT4405 Computer Networks (Compulsory)

The Internet. Charging for Internet. What does 1000M and 200M mean? Dr. Hayden Kwok-Hay So

Protocols. Packets. What's in an IP packet

Chapter 9A. Network Definition. The Uses of a Network. Network Basics

Introduction to Computer Networks and Data Communications

Internet Working 5 th lecture. Chair of Communication Systems Department of Applied Sciences University of Freiburg 2004

Transport and Network Layer

Computer Networking: A Survey

What communication protocols are used to discover Tesira servers on a network?

Life of a Packet CS 640,

Basic Network Configuration

Based on Computer Networking, 4 th Edition by Kurose and Ross

Data Link Protocols. TCP/IP Suite and OSI Reference Model

Mobility (and philosophical questions about names and identity) David Andersen CMU CS The problem

SSVP SIP School VoIP Professional Certification

Datagram-based network layer: forwarding; routing. Additional function of VCbased network layer: call setup.

Virtual machine interface. Operating system. Physical machine interface

Chapter 2: Remote Procedure Call (RPC)

Lecture 1. Lecture Overview. Intro to Networking. Intro to Networking. Motivation behind Networking. Computer / Data Networks

How To Understand And Understand Network Theory

Level 2 Routing: LAN Bridges and Switches

How To Understand The Layered Architecture Of A Network

Chapter 6 Configuring the SSL VPN Tunnel Client and Port Forwarding

IT-AD08: ADD ON DIPLOMA IN COMPUTER NETWORK DESIGN AND INSTALLATION

CS 348: Computer Networks. - IP addressing; 21 st Aug Instructor: Sridhar Iyer IIT Bombay

Internetworking and IP Address

Internet structure: network of networks

PLANEAMENTO E GESTÃO DE REDES INFORMÁTICAS COMPUTER NETWORKS PLANNING AND MANAGEMENT

Internet Firewall CSIS Packet Filtering. Internet Firewall. Examples. Spring 2011 CSIS net15 1. Routers can implement packet filtering

SFWR 4C03: Computer Networks & Computer Security Jan 3-7, Lecturer: Kartik Krishnan Lecture 1-3

Internet Protocol: IP packet headers. vendredi 18 octobre 13

Chapter 2 TCP/IP Networking Basics

Internet Concepts. What is a Network?

Chapter 1 Personal Computer Hardware hours

Internet Control Protocols Reading: Chapter 3

Transcription:

Agenda Distributed System Structures CSCI 444/544 Operating Systems Fall 2008 Motivation Network structure Fundamental network services Sockets and ports Client/server model Remote Procedure Call (RPC) Motivation So far, we talked about mechanisms and policies that Virtualize the underlying machine Support multi-programming of a single machine With the proliferation of cheap but powerful machines (devices) and ubiquitous network connections Computing is occurring on more than one machine Why Distributed Systems? Distributed system vs. mainframe Microprocessors offer better price/performance More scalable => more computing power Inherent distribution, e.g. computer-supported cooperative work Reliability, Incremental growth Distributed system vs. independent PCs Some applications require sharing of data, e.g. airline reservations Sharing of hardware, e.g. expensive devices (color laser printer) Easier human-to-human communication, e.g. electronic mail Spread the workload over the machines in the most effective way 1

Distributed System Distributed system is a collection of loosely coupled processors interconnected by a communications network Reasons for distributed systems Resource sharing sharing and printing files at remote sites processing information in a distributed database using remote specialized hardware devices Computation speedup load sharing Reliability detect and recover from site failure, function transfer, reintegrate failed site Communication message passing A Distributed System Network Structure (LAN) Ethernet Local-Area Network (LAN) designed to cover small geographical area (campus networks or enterprise networks). Multiaccess bus, ring, or star network Speed 100 megabits/second, or higher Broadcast is fast and cheap Nodes: usually workstations and/or personal computers a few (usually one or two) mainframes (a) Ethernet (a) classic Ethernet (b) switched Ethernet Computer (b) 2

Network Structure (WAN) The Internet Wide-Area Network (WAN) links geographically separated LANs Point-to-point connections over long-haul lines (optical fiber), microwave, and satellite Hosts and routers Hosts are PCs, laptops, servers, and mainframes Routers are specialized switching computers that forward packets and connect networks together. Message Delivery ISO 7-layer Network Model 3

The ISO Network Message Internet protocol stack application: supporting network applications FTP, SMTP, STTP transport: host-host data transfer TCP, UDP network: routing of datagrams from source to destination IP, routing protocols link: data transfer between neighboring network elements Ethernet, Wireless LAN physical: bits on the wire application transport network link physical IP Hourglass Everything is on IP IP is on everything Fundamental Services Naming service (name resolution) - How do two processes locate each other to communicate? DNS: IP address < > host name ARP: IP address < > MAC address Routing service - How are messages sent through the network? Connection strategies - How do two processes send a sequence of messages? Contention - How to access a shared medium, i.e., how do we resolve conflicting demands for its use? 4

Domain Name System (DNS) DNS is mainly used to translate a hostname into an IP address DNS uses hierarchy to allow local management Split up the data into a hierarchical database Address Resolution Protocol (ARP) A host broadcasts on a LAN a query packet asking for a translation from IP address to MAC address (Media Access Control) Hosts which know the translation reply Each host knows its own IP and MAC (physical) translation Each host caches a list of IP-to-MAC translations Reverse ARP (RARP) translates MAC to IP address and it is used to assign IP addresses dynamically Routing Services Provided by IP layer Routing is difficult for large systems, and for systems that change rapidly. The Internet is both large and dynamic Intra-domain routing protocol RIP (distance vector based) OSPF (link state based) Inter-domain routing protocol BGP (path vector policy-based) Connection Strategies Circuit Switching what you get when you make a phone call good when you require constant bit rate good for reserving bandwidth (refuse connection if bandwidth not available) Packet Switching what you get when you send a bunch of letters network bandwidth consumed only when sending packets are routed independently packetizing may reduce delays (using parallelism) 5

Contention Several hosts may want to transmit information over a shared link simultaneously. Techniques to avoid repeated collisions include: CSMA/CD - Carrier sense with multiple access (CSMA); collision detection (CD) CSMA: listen before transmit Collision can still occur due to propagation delay Collisions detected within short time, then Stop transmitting, wait for a random time CSMA/CD is used successfully in Ethernet Token passing - A unique message type, known as a token, continuously circulates in the system A site that wants to transmit information must wait until the token arrives When the site completes its round of message passing, it retransmits the token Sockets A process can ask the OS to create a socket, which will be one endpoint of a network connection Thread is like a virtual processor Address space is like a virtual memory A socket is like a virtual network interface card Ports Each socket on a computer has a unique number A process can associate a specific port number with a socket When sending messages through a socket The destination port number is included in each message This allows the destination machine to know which process should receive the message Client/Server Model The prevalent model for structuring distributed computation is the client/server paradigm a server is a program (or collection of programs) that provides a service to other programs e.g., file server, name server, web server, mail server server/service may span multiple nodes (clusters) often, nodes are called servers too e,g., the web server runs on a Dell server computer a client is a program that uses the service the client first binds to the server locates it, establishes a network connection to it the client then sends requests (with data) to perform actions, and the server sends responses (with data) e.g., web browser sends a GET request, server responds with a web page 6

Remote Procedure Call Why RPC? Procedure call is an accepted and well-understood mechanism for control transfer within a program Presumably, accepted is equivalent to good clean semantics Providing procedure call semantics for distributed computing makes distributed computing much more like programming on a single machine Don t have to worry about remote execution except Abstraction helps to hide: The possibly heterogeneous nature of the hardware platform The fact that the distributed machines do not share memory client program RPC ML RPC Structure network server program Binding call return Marshalling & return call Unmarshalling client server Send/receive stub stub messages RPC ML RPC Structure (Cont d) Stubs make RPCs look just like normal procedure calls Binding Naming Location Marshalling & Unmarshalling Translate internal data message representation How to transmit pointer-based data structure (e.g. graph)? Serialization How to transmit data between heterogeneous machines? Virtual data types Send/receive messages Remote Procedure Call Steps in making a remote procedure call the stubs are shaded gray 7

RPC binding Binding is the process of connecting the client to the server the server, when it starts up, exports its interface identifies itself to a network name server tells RPC runtime that it is alive and ready to accept calls the client, before issuing any calls, imports the server RPC runtime uses the name server to find the location of the server and establish a connection The import and export operations are explicit in the server and client programs a slight breakdown in transparency RPC marshalling Marshalling is the packing of procedure parameters into a message packet the RPC stubs call type-specific procedure to marshal or unmarshal the parameters of an RPC the client stub marshals the parameters into a message the server stub unmarshals the parameters and uses them to invoke the service s procedure on return: the server stub marshals the return value the client stub unmarshals the return value, and returns them to the client program RPC transparency One goal of RPC is to be as transparent as possible make remote procedure calls look like local procedure calls we ve seen that binding breaks this transparency What else breaks transparency? failures: remote nodes/networks can fail in more ways than with local procedure calls performance: remote communication is inherently slower than local communication 8