Outline. Inter-Process Communication. IPC across machines: Problems. CSCI 4061 Introduction to Operating Systems

Similar documents
precise rules that govern communication between two parties TCP/IP: the basic Internet protocols IP: Internet protocol (bottom level)

Networking and Internetworking 1

TCP/IP THE TCP/IP ARCHITECTURE

CSCD 330 Network Programming

TCP/IP Overview. Basic Networking Concepts. 09/14/11 Basic TCP/IP Networking 1

Chapter 7. Local Area Network Communications Protocols

OSI and TCP/IP Models

System Programming. Introduction to computer networks

Introduction to TCP/IP networking

NT1210 Introduction to Networking. Unit 10

Computer Communication & Networks / Data Communication & Computer Networks Week # 03

Chapter 2 Network Models 2.1

CSEN 503 Introduction to Communication Networks. Mervat AbuElkheir Hana Medhat Ayman Dayf. ** Slides are attributed to J. F.

Introduction to computer networking

Position of IP and other network-layer protocols in TCP/IP protocol suite

Transport Layer. Gursharan Singh Tatla. Upendra Sharma. 1

CS 4390 Computer Networks. Transport Services and Protocols

CS3600 SYSTEMS AND NETWORKS

Computer Networks. Dr. Abdel Ilah ALshbatat Dept. of Communication and Computer Engineering Faculty of Engineering Tafila Technical University

ECE 4400:427/527 - Computer Networks Spring 2017

CS 640: Introduction to Computer Networks. Today s Lecture. Page 1

B.Sc. (Hons.) Computer Science with Network Security B.Eng. (Hons) Telecommunications B.Sc. (Hons) Business Information Systems

CN1047 INTRODUCTION TO COMPUTER NETWORKING CHAPTER 6 OSI MODEL TRANSPORT LAYER

ECE 650 Systems Programming & Engineering. Spring 2018

TSIN02 - Internetworking

Goals and topics. Verkkomedian perusteet Fundamentals of Network Media T Circuit switching networks. Topics. Packet-switching networks

b) Diverse forms of physical connection - all sorts of wired connections, wireless connections, fiber optics, etc.

Communicating over the Network

Operating Systems. 16. Networking. Paul Krzyzanowski. Rutgers University. Spring /6/ Paul Krzyzanowski

Layering in Networked computing. OSI Model TCP/IP Model Protocols at each layer

CSCI Computer Networks

Lab 1: Packet Sniffing and Wireshark

OSI Network Layer. Network Fundamentals Chapter 5. Version Cisco Systems, Inc. All rights reserved. Cisco Public 1

The Transmission Control Protocol (TCP)

Lecture 2 Communication services The Trasport Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

OSI Transport Layer. objectives

cs144 Midterm Review Fall 2010

CSCI-GA Operating Systems. Networking. Hubertus Franke

Web Mechanisms. Draft: 2/23/13 6:54 PM 2013 Christopher Vickery

6 Computer Networks 6.1. Foundations of Computer Science Cengage Learning

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet

CPS221 Lecture: Layered Network Architecture

Introduction to Networks

ECE 333: Introduction to Communication Networks Fall 2002

Lecture 2-ter. 2. A communication example Managing a HTTP v1.0 connection. Managing a HTTP request. transport session. Step 1 - opening transport

Interprocess Communication Mechanisms

shared storage These mechanisms have already been covered. examples: shared virtual memory message based signals

Data and Computer Communications. Chapter 2 Protocol Architecture, TCP/IP, and Internet-Based Applications

ICS 351: Networking Protocols

TRANSMISSION CONTROL PROTOCOL. ETI 2506 TELECOMMUNICATION SYSTEMS Monday, 7 November 2016

SC/CSE 3213 Winter Sebastian Magierowski York University CSE 3213, W13 L8: TCP/IP. Outline. Forwarding over network and data link layers

User Datagram Protocol(UDP)

LECTURE WK4 NETWORKING

CCNA 1 Chapter 7 v5.0 Exam Answers 2013

CMPE 80N: Introduction to Networking and the Internet

Lecture-4. TCP/IP-Overview:

Memory-Mapped Files. generic interface: vaddr mmap(file descriptor,fileoffset,length) munmap(vaddr,length)

Scribe Notes -- October 31st, 2017

Lecture 17 Overview. Last Lecture. Wide Area Networking (2) This Lecture. Internet Protocol (1) Source: chapters 2.2, 2.3,18.4, 19.1, 9.

Lecture 3 Protocol Stacks and Layering

Network Protocols - Revision

Chapter 4 Network Layer: The Data Plane. Part A. Computer Networking: A Top Down Approach

CS4700/CS5700 Fundaments of Computer Networks

COMS Introduction to Computers. Networking

Networking and Internetworking 1

Last time. Wireless link-layer. Introduction. Characteristics of wireless links wireless LANs networking. Cellular Internet access

TCP/IP protocol suite

Data & Computer Communication

Transport Layer. Chapter 3: Transport Layer

(Refer Slide Time: 1:09)

ECE 650 Systems Programming & Engineering. Spring 2018

Chapter 11. User Datagram Protocol (UDP)

CompSci 356: Computer Network Architectures. Lecture 8: Spanning Tree Algorithm and Basic Internetworking Ch & 3.2. Xiaowei Yang

UDP, TCP, IP multicast

Network Architecture Models

Network Programming. Introduction to Sockets. Dr. Thaier Hayajneh. Process Layer. Network Layer. Berkeley API

Introduction to Internet. Ass. Prof. J.Y. Tigli University of Nice Sophia Antipolis

Chapter 7 Transport Layer. 7.0 Introduction 7.1 Transport Layer Protocols 7.2 TCP and UDP 7.3 Summary

infrared Disadvantage: 1. cannot use for long-range communication or outside a building due to sun s rays.

Defining Networks with the OSI Model. Module 2

Internet Overview. Introduction to Internet Technology Overview of Web Authoring. Internet Technology 1

Internet and Intranet Protocols and Applications

Chapter 10 User Datagram Protocol (UDP)

Networking Basics. EC512 Spring /15/2015 EC512 - Prof. Thomas Skinner 1

ch02 True/False Indicate whether the statement is true or false.

Page 1. Goals for Today" What Is A Protocol?" CS162 Operating Systems and Systems Programming Lecture 10. Protocols, Layering and e2e Argument"

EEC-484/584 Computer Networks

CNBK Communications and Networks Lab Book: Purpose of Hardware and Protocols Associated with Networking Computer Systems

Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP 23.1

TSIN02 - Internetworking

TSIN02 - Internetworking

5105: BHARATHIDASAN ENGINEERING COLLEGE NATTARMPALLI UNIT I FUNDAMENTALS AND LINK LAYER PART A

The Data Link Layer. 32 PART I Networking Basics

Guide to Networking Essentials, 6 th Edition. Chapter 5: Network Protocols

Transport Layer (TCP/UDP)

Chapter 16 Networking

CHAPTER-2 IP CONCEPTS

CCNA 1 v3.11 Module 11 TCP/IP Transport and Application Layers

TCP/IP stack is the family of protocols that rule the current internet. While other protocols are also used in computer networks, TCP/IP is by far

Part 1: Introduction. Goal: Review of how the Internet works Overview

Transcription:

Outline CSCI 4061 Introduction to Operating Systems ing Overview Layering and Protocols TCP/IP Protocol Family Client-Server Model Instructor: Abhishek Chandra 2 Inter-Process Communication Intra-node: Files, pipes, FIFOs, semaphores Signals, shared memory, messages All these IPC mechanisms are supported by the OS OS provides system calls for IPC OS maintains shared data buffers OS keeps track of IPC data structures What if we want IPC across machines? IPC across machines: Problems How to share data structures, data buffers? File descriptors, pipes? Shared memory? How do you address/locate the remote process? PID? Even the OS on the two machines may be different! Different system calls, IPC mechanisms 3 4 1

Communication Process 1 Host 1 Inter-node communication Host 2 Requires communication at various levels: Processes OS Hardware Process 2 Layering Communication takes place at multiple levels Each level has its own implementation details Complexity and variety Wide variety of networking media, e.g.: Ethernet, fibre, Wifi, dialup, etc. Large networks have several connections, nodes Hide complexity of lower levels: OS doesn t need to care about physical connection types, e.g.: Ethernet vs. fibre code should be portable across OS s End-hosts don t need to care about intermediate network characteristics 5 6 ISO/OSI 7-Layered Model ISO/OSI 7-Layered Model User Operating System Hardware Layer: Basic network hardware Cables, network cards, wireless receivers Layer: Organization of data into frames Ethernet, Wifi, token ring Layer: Addressing and forwarding of network packets Layer: Reliable data transfer Layer: Connection establishment Layer: Data representation Layer: -specific 7 8 2

Protocols Layered Protocols Set of rules and conventions between communicating participants Well-defined sequence of messages exchanged Different messages lead to different actions Each layer has its own protocols : HTTP, SMTP, FTP : TCP : IP App Protocol Protocol Protocol Protocol 9 10 Interfaces Interfaces Each layer provides an interface to the layer above it Hides the complexity of underlying layer Can replace the protocol underneath Can have multiple protocols above interacting through the same interface App Protocol Protocol Protocol Protocol 11 12 3

Connectionless vs. Connection- Oriented Communication Connectionless Data sent out in small chunks (packets) Packet-switching: Moving data from source to destination E.g.: Postal service Connection-oriented Dedicated end-to-end channel E.g.: Telephone network Computer networks are primarily connectionless Connection-oriented protocols constructed on top TCP/IP The de-facto network protocol family Used almost exclusively over the Internet Most familiar applications run on top of it: Web, email, ftp, video streaming,... All OS s come equipped to support TCP/IP 13 14 TCP/IP Layered Architecture Layer: Internet Protocol (IP) Packet addressing and delivery HTTP, SMTP, FTP,... TCP, UDP IP Ethernet, Wifi,... / User Operating System Hardware Connectionless: Each packet is independent Packet-switching Unreliable: No guarantee of packet delivery Packets can be dropped, duplicated, delivered out-of-order 15 16 4

Layer: User Datagram Protocol (UDP) Built on top of IP Uses datagrams Similar to IP packets Connectionless and unreliable Provides: Port numbers for process identification Checksum to verify datagram content Layer: Control Protocol (TCP) Built on top of IP Connection-oriented: Establishes end-to-end connection Data is delivered as a stream of bytes Reliable: Data is delivered in-order No duplicates 17 18 Layer Protocols HyperText Transfer Protocol (HTTP) Used in the Web Simple Mail Transfer Protocol (SMTP) Used in email File Transfer Protocol (FTP) Trivial File Transfer Protocol (TFTP) Addressing and Naming IP Addresses Hostnames Ports 19 20 5

IP Addresses Used to identify machines (network interfaces) Each IP address is 32-bit IPv6 addresses are 128-bit Represented as x1.x2.x3.x4 Each xi corresponds to a byte E.g.: 192.168.200.10 Each IP packet contains a destination IP address How does the packet get to its destination? Internet Routing The Internet consists of a number of routers Each router forwards packets onto the next hop Goal is to move the packet closer to its destination Each router has a table Matches packet address to determine next hop 21 22 Hostnames It would be difficult for us to remember IP addresses of all our machines Use names instead E.g.: caesar.cs.umn.edu, www.google.com The name consists of multiple parts: First part is a machine name (or special identifier like www) Each successive part is a domain name which contains the previous domain Domain Name Service (DNS) IP routing uses IP addresses Need a way to convert hostnames to IP addresses DNS is a distributed mapping service Maintains table of name-to-address mapping Used by most applications. E.g.: Web, email, etc. Advantages Easier for programmers and users Can change mapping if needed 23 24 6

Identifying Remote Processes IP addresses and hostnames allow you to identify machines But what about processes on these machines? Can we use PIDs? Ports Identifiers for remote processes Each application communicates using a port Communication is addressed to a port on a machine Delivers the packets to the process using the port Both TCP and UDP have their own port numbers Many applications use well-known port numbers HTTP: 80, FTP: 21 25 26 Encapsulation and Multiplexing Encapsulation How does data travel from a process on the sender to another process at the receiver? Encapsulation: Data Each layer adds its header to the data from upper layers at the sender Multiplexing: Each layer combines data coming from multiple protocols/processes from upper layers at the sender Data is routed to the destination IP address Headers are peeled out and data is demultiplexed at the receiver / Ethernet hdr IP hdr IP hdr TCP hdr TCP hdr TCP hdr Data Data Data 27 28 7

Multiplexing Client-Server Model / HTTP FTP TCP UDP IP Ethernet TFTP A common way to communicate and construct applications One end (client) requests for a service The other end (server) receives requests, performs service and returns results E.g.: Web Web browser (client) asks for a URL Web server returns the corresponding file Most applications modeled as client-servers Email, ftp, ssh,... 29 30 Server Daemon that waits for requests When a request arrives Handles the request Performs some service Returns result to requesting client Goes back to waiting for more requests Waiting for new requests and handling existing requests might happen concurrently How? Client Sends a request to a server Waits for response Receives response (or error) Done or sends more requests 31 32 8

Client-Server Example: Web Summary ing Basics Web Browser Request (GET index.html) Response (index.html) Web Server Layering and Protocols ISO/OSI Model and TCP/IP IP Addressing, Hostnames and Ports Encapsulation and Multiplexing Client-Server Model 33 34 9