CSE 30341 Operating System Principles Distributed Systems & Networking Fundamentals.

Slides:



Advertisements
Similar presentations
CCNA – Network Fundamentals
Advertisements

© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public ITE PC v4.0 Chapter 1 1 OSI Transport Layer Network Fundamentals – Chapter 4.
OSI MODEL Maninder Kaur
Silberschatz, Galvin and Gagne  Operating System Concepts Chap15: Distributed System Structures Background Topology Network Types Communication.
Network Layer and Transport Layer.
NETWORK STRUCTURES This chapter sets the foundation for our discussion about networks and distributed OS. VOCABULARY   Tightly coupled systems Same clock,
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 OSI Transport Layer Network Fundamentals – Chapter 4.
Distributed System Structures CS 3100 Distributed System Structures1.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Module 16: Distributed System Structures.
Networking Theory (Part 1). Introduction Overview of the basic concepts of networking Also discusses essential topics of networking theory.
OSI Model.
Inside the Internet. INTERNET ARCHITECTURE The Internet system consists of a number of interconnected packet networks supporting communication among host.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Transport Protocols Slide 1 Transport Protocols.
OSI Model 7 Layers 7. Application Layer 6. Presentation Layer
TCP: Software for Reliable Communication. Spring 2002Computer Networks Applications Internet: a Collection of Disparate Networks Different goals: Speed,
COMPUTER NETWORKS.
The OSI Model A layered framework for the design of network systems that allows communication across all types of computer systems regardless of their.
Gursharan Singh Tatla Transport Layer 16-May
©Brooks/Cole, 2003 Chapter 6 Computer Networks. ©Brooks/Cole, 2003 Understand the rationale for the existence of networks. Distinguish between the three.
Distributed System Structures 16: Distributed Structures
Process-to-Process Delivery:
Data Communications and Networks
Module 4 - Networking MIS5122: Enterprise Architecture for the IT Auditor.
CS 149: Operating Systems April 23 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak
Chapter 2 The Infrastructure. Copyright © 2003, Addison Wesley Understand the structure & elements As a business student, it is important that you understand.
70-291: MCSE Guide to Managing a Microsoft Windows Server 2003 Network Chapter 3: TCP/IP Architecture.
Presentation on Osi & TCP/IP MODEL
Lecture 2 TCP/IP Protocol Suite Reference: TCP/IP Protocol Suite, 4 th Edition (chapter 2) 1.
What is a Protocol A set of definitions and rules defining the method by which data is transferred between two or more entities or systems. The key elements.
Jaringan Komputer Dasar OSI Transport Layer Aurelio Rahmadian.
1 Module 15: Network Structures n Topology n Network Types n Communication.
Internet Addresses. Universal Identifiers Universal Communication Service - Communication system which allows any host to communicate with any other host.
Networks – Network Architecture Network architecture is specification of design principles (including data formats and procedures) for creating a network.
The OSI Model.
TCP : Transmission Control Protocol Computer Network System Sirak Kaewjamnong.
1 The Internet and Networked Multimedia. 2 Layering  Internet protocols are designed to work in layers, with each layer building on the facilities provided.
The Transmission Control Protocol (TCP) Application Services (Telnet, FTP, , WWW) Reliable Stream Transport (TCP) Connectionless Packet Delivery.
Chapter 15 – Part 2 Networks The Internal Operating System The Architecture of Computer Hardware and Systems Software: An Information Technology Approach.
TCP/IP Honolulu Community College Cisco Academy Training Center Semester 2 Version 2.1.
Network Protocols n ISO OSI 7-layer model n TCP/IP suite l TCP/UDP l IP l Ethernet/Token Ring l ICMP.
Module 16: Distributed System Structures
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.
Silberschatz and Galvin  Operating System Concepts Module 15: Network Structures Background Motivation Topology Network Types Communication.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 16: Distributed System Structures.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Module 16: Distributed System Structures.
Open System Interconnection Describe how information from a software application in one computer moves through a network medium to a software application.
Chapter 14: Distributed Operating Systems Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Apr 4, 2005 Outline n Motivation.
Voice Over Internet Protocol (VoIP) Copyright © 2006 Heathkit Company, Inc. All Rights Reserved Presentation 5 – VoIP and the OSI Model.
Module 16: Distributed System Structures Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Apr 4, 2005 Distributed.
Operating Systems Network Structures. Topics –Background –Motivation –Topology –Network Types –Communication –Design Strategies Topics –Background –Motivation.
Data Communication Network Models
CS307 Operating Systems Distributed System Structures Guihai Chen Department of Computer Science and Engineering Shanghai Jiao Tong University Spring 2012.
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 Suresh Kr Sharma 1 The OSI Model and the TCP/IP Protocol Suite Established in 1947, the International Standards Organization (ISO)
OSI Model OSI MODEL. Communication Architecture Strategy for connecting host computers and other communicating equipment. Defines necessary elements for.
OSI Model OSI MODEL.
Instructor Materials Chapter 9: Transport Layer
Module 16: Distributed System Structures
Chapter 16: Distributed System Structures
Module 15: Network Structures
Process-to-Process Delivery:
OSI Model OSI MODEL.
OSI Reference Model Unit II
Process-to-Process Delivery: UDP, TCP
Computer Networks Protocols
OSI Model 7 Layers 7. Application Layer 6. Presentation Layer
Unit – III Network Essentials
Presentation transcript:

CSE Operating System Principles Distributed Systems & Networking Fundamentals

CSE – Operating System Principles2 Overview A distributed system is collection of loosely coupled processors interconnected by a communications network Processors variously called nodes, computers, machines, hosts – Site is location of the processor – Generally a server has a resource a client node at a different site wants to use

CSE – Operating System Principles3 Reasons for Distributed Systems 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 or job migration –Reliability Detect and recover from site failure, function transfer, reintegrate failed site

CSE – Operating System Principles4 Types of Distributed Operating Systems Network Operating Systems Distributed Operating Systems

CSE – Operating System Principles5 Network-Operating Systems Users are aware of multiplicity of machines Access to resources of various machines is done explicitly by: –Remote logging into the appropriate remote machine (telnet, ssh) –Remote Desktop (Microsoft Windows) –Transferring data from remote machines to local machines, via the File Transfer Protocol (FTP) mechanism Users must change paradigms – establish a session, give network-based commands –More difficult for users

CSE – Operating System Principles6 Distributed-Operating Systems Users not aware of multiplicity of machines –Access to remote resources similar to access to local resources Data Migration – transfer data by transferring entire file, or transferring only those portions of the file necessary for the immediate task Computation Migration – transfer the computation, rather than the data, across the system –Via remote procedure calls (RPCs) –or via messaging system

CSE – Operating System Principles7 Distributed-Operating Systems (Cont.) Process Migration – execute an entire process, or parts of it, at different sites –Load balancing – distribute processes across network to even the workload –Computation speedup – subprocesses can run concurrently on different sites –Hardware preference – process execution may require specialized processor –Software preference – required software may be available at only a particular site –Data access – run process remotely, rather than transfer all data locally

CSE – Operating System Principles8 Connecting Computers Local Area Network (LAN): laboratory/office-scale Metropolitan Area Network (MAN): city- scale Wide Area Network (WAN): world-wide (Internet -> “collection of networks”)

CSE – Operating System Principles9 Connecting Computers Sites in the system can be physically connected in a variety of ways; they are compared with respect to the following criteria: –Installation cost - How expensive is it to link the various sites in the system? –Communication cost - How long does it take to send a message from site A to site B? –Reliability - If a link or a site in the system fails, can the remaining sites still communicate with each other? The various topologies are depicted as graphs whose nodes correspond to sites –An edge from node A to node B corresponds to a direct connection between the two sites

CSE – Operating System Principles10 Network Topology STAR RING MESH BUS

CSE – Operating System Principles11 Examples Ethernet: – popular, relatively inexpensive, easy-to-install LAN architecture – uses the CSMA/CD media access control – data transmission normally occurs at 100 Mbps (10Mbps in the early forms and 10Gbps in the most recent forms) – partially described in the IEEE specification Wi-Fi: – popular wireless LAN architecture – uses a modified version of the CSMA/CA protocol – partially described in the IEEE specification

CSE – Operating System Principles12 Local-Area Network

CSE – Operating System Principles13 Local-Area Network

CSE – Operating System Principles14 Wide-Area Network

CSE – Operating System Principles15 Medium Access Control (MAC) Responsible for deciding when & how to transmit frames over a network (“channel access problem”) – Ethernet bus: computers connect to the same wire, i.e., two computers could “talk” at the same time: collision! MAC protocol is very important for “quality” of communications (successful transmissions, reliable transmissions, high throughput, low latency, fairness, …) A A C C B B

CSE – Operating System Principles16 Simultaneous Transmissions Simple strategy: – Ignore ongoing communications and just transmit anytime: large number of collisions low throughput A A C C B B collision

CSE – Operating System Principles17 “Smarter” Approach Listen before you talk! Carrier Sense Multiple Access (CSMA) – “Sense” (listen) carrier (“is anyone else talking right now?”) – If “busy”: wait; if “idle”: transmit A A C C B B Don’t transmit Don’t transmit Can collisions still occur?

CSE – Operating System Principles18 CSMA/CD CD = Collision Detection How? Keep listening to channel while transmitting! If transmitted signal and sensed signal differ: – Collision detected – Abort transmission – Jam channel: send random bit sequence to “inform” other computers

CSE – Operating System Principles19 Collision Detection (Wireless) A C D B

CSE – Operating System Principles20 IEEE (CSMA/CA) CTS = Clear To Send RTS = Request To Send D Y S M K RTS CTS X CA = Collision Avoidance

CSE – Operating System Principles21 Communication Structure Naming and name resolution - How do two processes locate each other to communicate? Routing strategies - How are messages sent through the network? Connection strategies - How do two processes send a sequence of messages? Contention - The network is a shared resource, so how do we resolve conflicting demands for its use?

CSE – Operating System Principles22 Naming and Name Resolution Name systems in the network Address messages with the process-id Identify processes on remote systems by pair Domain name system (DNS) – specifies the naming structure of the hosts, as well as name to address resolution (Internet)

CSE – Operating System Principles23 DNS

CSE – Operating System Principles24 Routing Strategies Fixed routing - A path from A to B is specified in advance; path changes only if a hardware failure disables it –Since the shortest path is usually chosen, communication costs are minimized –Fixed routing cannot adapt to load changes –Ensures that messages will be delivered in the order in which they were sent Virtual routing- A path from A to B is fixed for the duration of one session. Different sessions involving messages from A to B may have different paths –Partial remedy to adapting to load changes –Ensures that messages will be delivered in the order in which they were sent

CSE – Operating System Principles25 Routing Strategies Dynamic routing - The path used to send a message form site A to site B is chosen only when a message is sent –Usually a site sends a message to another site on the link least used at that particular time –Adapts to load changes by avoiding routing messages on heavily used path –Messages may arrive out of order This problem can be remedied by appending a sequence number to each message –Most complex to set up Tradeoffs mean all methods are used –UNIX provides ability to mix fixed and dynamic –Hosts may have fixed routes and gateways connecting networks together may have dynamic routes

CSE – Operating System Principles26 Routing Strategies Router is communications processor responsible for routing messages Must have at least 2 network connections Maybe special purpose or just function running on host Checks its tables to determine where destination host is, where to send messages –Static routing – table only changed manually –Dynamic routing – table changed via routing protocol

CSE – Operating System Principles27 Routing Strategies Messages vary in length – simplified design breaks them into packets (or frames, or datagrams) Connectionless message is just one packet –Otherwise need a connection to get a multi- packet message from source to destination

CSE – Operating System Principles28 Connection Strategies Circuit switching - A permanent physical link is established for the duration of the communication (i.e., telephone system) Message switching - A temporary link is established for the duration of one message transfer (i.e., post-office mailing system) Packet switching - Messages of variable length are divided into fixed-length packets which are sent to the destination –Each packet may take a different path through the network –The packets must be reassembled into messages as they arrive Circuit switching requires setup time, but incurs less overhead for shipping each message, and may waste network bandwidth –Message and packet switching require less setup time, but incur more overhead per message

CSE – Operating System Principles29 ISO OSI Model

CSE – Operating System Principles30 Communication Protocol Layer 1: Physical layer – handles the mechanical and electrical details of the physical transmission of a bit stream Layer 2: Data-link layer – handles the frames, or fixed-length parts of packets, including any error detection and recovery that occurred in the physical layer Layer 3: Network layer – provides connections and routes packets in the communication network, including handling the address of outgoing packets, decoding the address of incoming packets, and maintaining routing information for proper response to changing load levels

CSE – Operating System Principles31 Communication Protocol Layer 4: Transport layer – responsible for low-level network access and for message transfer between clients, including partitioning messages into packets, maintaining packet order, controlling flow, and generating physical addresses Layer 5: Session layer – implements sessions, or process- to-process communications protocols Layer 6: Presentation layer – resolves the differences in formats among the various sites in the network, including character conversions, and half duplex/full duplex (echoing) Layer 7: Application layer – interacts directly with the users, deals with file transfer, remote-login protocols and electronic mail, as well as schemas for distributed databases

CSE – Operating System Principles32 What is IP, TCP, UDP? Internet Protocol (IP): – Take your message and slap a “header” on it (“packet”) – What’s in a header? Sender address: Receiver address: Routers use it to figure out what to do with it (see next slide for routers) – What does IP do: mostly addressing used by routers DataHeader

CSE – Operating System Principles33 Internet + Routers Router: links parts of a larger network together Routing using tables: – “129.74” belongs to University of Notre Dame – How is the table built? Routers talk to each other to exchange what they know about the world (using ICMP = Internet Control Message Protocol) – Why only remember parts of a network? 32-bit address consists of network address and computer address Class A, B, C networks: 8/16/24 bits for network, rest for computers – Example: C network : is network address, 21 is computer address (out of 255 computers) Routing is based on (independent) packets! (compare phone call vs. USPS)

CSE – Operating System Principles34 UDP = User Datagram Protocol Slap on another header Adds more addressing: “ports” – IP address tell you which computer – Ports tell you which application on that computer – Example: a web server “listens” to requests on port 80 – Web browser: = HTTP: HyperText Transfer Protocol :80: optional – Unreliable! Packets can get lost; packets can arrive out of order DataUDP HeaderIP Header “IP Data”

CSE – Operating System Principles35 TCP = Transmission Control Protocol Reliable protocol Adds ports (just like UDP), but also provides: – In-order delivery of packets (using sequence numbers) – Reliable delivery: using acknowledgment (ACK) packets – Flow control: control of traffic between sender and receiver receiver can throttle sender to avoid getting packets too fast explicit: “advertised window” in ACK packet (how many more bytes) – Congestion control: control of traffic flow into the network routers can throttle sender to avoid getting too many packets implicit: watch ACKs -> missing ACKs = router overload Packet ACK

CSE – Operating System Principles36 Connection Establishment Active participant (client) Passive participant (server) SYN, SequenceNum = x ACK, Acknowledgment =y+1 Acknowledgment =x+1 SYN+ACK, SequenceNum=y,

CSE – Operating System Principles37 Connection Termination First participantSecond participant FIN, SequenceNum = x ACK, Acknowledgment =y+1 ACK, Acknowledgment=x+1, FIN, SequenceNum = y, Acknowledgment = x+1

CSE – Operating System Principles38 UDP vs TCP TCP: – typical choice of most application – do not want to lose data, out-of-order arrival, etc. – , web traffic, financial transactions, etc. UDP: – can be “faster” no flow/congestion control “slowing down” traffic no retransmissions good for “real-time” traffic – out-of-order arrival: can also “reorder” at application level – loss of data: can be acceptable missing frames in video/audio stream