Requirements Connectivity Resource Sharing Support for Common Services Performance.

Slides:



Advertisements
Similar presentations
Taekyung Kim 0x410 ~ 0x International Standards Organization (ISO) is a multinational body dedicated to worldwide agreement on international.
Advertisements

Spring 2000CS 4611 Introduction Outline Statistical Multiplexing Inter-Process Communication Network Architecture Performance Metrics.
Spring 2003CS 4611 Introduction, Continued COS 461.
Network Architectures Professor Jinhua Guo CIS 527 Fall 2002.
Spring 2004 EE4272 EE4272: Computer Networks Instructor: Dr. Tricia Chigan Dept.: Elec. & Comp. Eng.
Socket Programming.
CIS 527 Computer Networks Introduction Professor Jinhua Guo (updated version) Fall 2003.
Foundation Outline Requirements Network Architecture Implementing Network Software.
Spring 2003CS 4611 Welcome to COS 461 Vivek Pai. Spring 2003CS 4612 Mechanics First time teaching 461 –But have been doing some level of networking for.
Fall 2005 EE 543 Packet Switched Networks Fall 2005.
Chapter 15 – Part 2 Networks The Internal Operating System The Architecture of Computer Hardware and Systems Software: An Information Technology Approach.
1/20 Introduction Outline Statistical Multiplexing Inter-Process Communication Network Architecture Performance Metrics Implementation Issues.
 The Open Systems Interconnection model (OSI model) is a product of the Open Systems Interconnection effort at the International Organization for Standardization.
OIS Model TCP/IP Model.
Lecturer: Tamanna Haque Nipa
Fundamentals of Computer Networks ECE 478/578 Lecture #2 Instructor: Loukas Lazos Dept of Electrical and Computer Engineering University of Arizona.
Lecture 1, 1Spring 2003, COM1337/3501Computer Communication Networks Rajmohan Rajaraman COM1337/3501 Textbook: Computer Networks: A Systems Approach, L.
Computer Networks Chapter 1: Foundation
CS 6401 Introduction to Networking Aditya Akella Outline Administrivia Networking History Statistical Multiplexing Performance Metrics.
Fall 2009COSC 6501 Welcome to COSC650 Towson University Yanggon Kim.
1 Introduction to Computer Networks Foundation Ilam University Mozafar Bag-Mohammadi.
Fall 2000Datacom 11 Lecture 4 Socket Interface Programming: Service Interface between Applications and TCP.
Chapter 17 Networking Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William Stallings.
Review: – computer networks – topology: pair-wise connection, point-to-point networks and broadcast networks – switching techniques packet switching and.
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.
Protocol Layering Chapter 10. Looked at: Architectural foundations of internetworking Architectural foundations of internetworking Forwarding of datagrams.
Protocol Architectures. Simple Protocol Architecture Not an actual architecture, but a model for how they work Similar to “pseudocode,” used for teaching.
1 An Introduction to Computer Networks University of Tehran Dept. of EE and Computer Engineering By: Dr. Nasser Yazdani Lecture 2: Foundation.
Internet Addresses. Universal Identifiers Universal Communication Service - Communication system which allows any host to communicate with any other host.
1 Chapter 1 Foundation Computer Networks: A Systems Approach, 5e Larry L. Peterson and Bruce S. Davie Copyright © 2010, Elsevier Inc. All rights Reserved.
1 Review - OSI Model n OSI Reference Model u represents the communications process. u 7 layers: physical, data link, network, transport, session, presentation.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Introduction Slide 1 A Communications Model Source: generates.
Introduction to Networks CS587x Lecture 1 Department of Computer Science Iowa State University.
Data and Computer Communications Chapter 2 – Protocol Architecture, TCP/IP, and Internet-Based Applications.
The OSI Model.
Computer Networks. Introduction Computer Network2 A History Lesson of Networking 1969 – ARPANET, first packet switched network consist of UCLA, Stanford,
Fundamentals of Computer Networks ECE 478/578 Lecture #19: Transport Layer Instructor: Loukas Lazos Dept of Electrical and Computer Engineering University.
1 The Internet and Networked Multimedia. 2 Layering  Internet protocols are designed to work in layers, with each layer building on the facilities provided.
TCOM 509 – Internet Protocols (TCP/IP) Lecture 03_b Protocol Layering Instructor: Dr. Li-Chuan Chen Date: 09/15/2003 Based in part upon slides of Prof.
Chapter 15 – Part 2 Networks The Internal Operating System The Architecture of Computer Hardware and Systems Software: An Information Technology Approach.
William Stallings Data and Computer Communications
CS 158A1 1.4 Implementing Network Software Phenomenal success of the Internet: – Computer # connected doubled every year since 1981, now approaching 200.
1 Pre-Introduction What is computer network?. 2 Pre-Introduction Suppose you want to build a computer network The question is: –What available technologies.
Fall 2001CS 6401 Introduction to Networking Outline Networking History Statistical Multiplexing Performance Metrics.
Spring 2002CS 4611 Introduction Outline Statistical Multiplexing Inter-Process Communication Network Architecture Performance Metrics Implementation Issues.
CSS CSS432 Foundation Textbook Ch1 Professor: Munehiro Fukuda.
CS 6401 Introduction to Computer Networks 09/21/2010 Outline - UNIX sockets - A simple client-server program - Project 1 - LAN bridges and learning.
Protocol Layering Chapter 11.
1 Introduction Outline Statistical Multiplexing Inter-Process Communication Network Architecture Performance Metrics Implementation Issues.
Spring 2002CS 3321 Introduction Outline Statistical Multiplexing Network Architecture Performance Metrics (just a little)
UNIX Sockets Outline UNIX sockets CS 640.
1 Chapter 1: Foundation Dr. Rocky K. C. Chang 30 January 2004.
Performance Metrics & Network Architectures Professor Jinhua Guo CIS 427 Winter 2003.
CSE 331: Introduction to Networks and Security Fall 2000 Instructor: Carl A. Gunter Slide Set 2.
Network Models. The OSI Model Open Systems Interconnection (OSI). Developed by the International Organization for Standardization (ISO). Model for understanding.
CSE331: Introduction to Networks and Security Lecture 2 Fall 2002.
1 CS716 Advanced Computer Networks By Dr. Amir Qayyum.
Computer Networking A Top-Down Approach Featuring the Internet Introduction Jaypee Institute of Information Technology.
CS380 Intro. to Comp. Networks Introduction & Foundation1 Introduction and Foundation.
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.
Computer Networks.
Sockets and Beginning Network Programming
Chapter 3: Open Systems Interconnection (OSI) Model
The University of Adelaide, School of Computer Science
University of Houston Datacom II Lecture 1B Review Dr Fred L Zellner
Introduction to Computer Networks
Network Architecture Models
Computer Networking A Top-Down Approach Featuring the Internet
Introduction and Foundation
Network Basics and Architectures Neil Tang 09/05/2008
Presentation transcript:

Requirements Connectivity Resource Sharing Support for Common Services Performance

Performance Metrics Bandwidth (throughput) –data transmitted per time unit –link versus end-to-end –notation KB = 2 10 bytes Mbps = 10 6 bits per second Latency (delay) –time to send message from point A to point B –one-way versus round-trip time (RTT) –components Latency = Propagation + Transmit + Queue Propagation = Distance / c Transmit = Size / Bandwidth –Examples of RTT: LAN, Cross-country link, Satellite

Delay x Bandwidth Product Amount of data “in flight” or “in the pipe” Example: 100ms x 45Mbps = 560KB Why is it important to know Delay x Bandwidth product?

Bandwidth versus Latency Relative importance –1-byte: 1ms vs 100ms dominates 1Mbps vs 100Mbps –25MB: 1Mbps vs 100Mbps dominates 1ms vs 100ms Infinite bandwidth –RTT dominates Throughput = TransferSize / TransferTime TransferTime = RTT + TransferSize /Bandwidth 1-MB file to 1-Gbps link as 1-KB packet to 1-Mbps link

Network Architecture Layering and Protocols ISO Architecture Internet architecture

Layering Use abstractions to hide complexity Abstraction naturally lead to layering Alternative abstractions at each layer Request/reply channel Message stream channel Application programs Hardware Host-to-host connectivity Advantages: Solve small problems vs. monolithic software Modularity: easily add new services Drawback: May hide important information

Protocols Building blocks of a network architecture Each protocol object has two different interfaces –service interface: operations on this protocol (SAP) –peer-to-peer interface: messages exchanged with peer Term “protocol” is overloaded –specification of peer-to-peer interface (rules) –module that implements this interface Protocol stack: set of consecutive layers Interoperability problems

Host 1 Protocol Host 2 Protocol High-level object High-level object Service interface Peer-to-peer interface Interfaces

9 Protocol Machinery Protocol Graph –most peer-to-peer communication is indirect –peer-to-peer is direct only at hardware level File application Digital library application Video application RRPMSP HHP Host 1 File application Digital library application Video application RRPMSP HHP Host 2

10 Machinery (cont) Multiplexing and Demultiplexing (demux key) Encapsulation (header/body) RRPDataHHP Application program Application program Host 1Host 2 Data RRP Data HHP Data RRP Data HHP

OSI Architecture: Reference Model Application Presentation Session Transport End host One or more nodes within the network Network Data link Physical Network Data link Physical Network Data link Physical Application Presentation Session Transport End host Network Data link Physical

Physical Layer Function: provides a “virtual bit pipe” How: maps bits into electrical/electromagnetic signals appropriate for the channel The physical layer module is called a modem (modulator/demodulator) Important issues: –Timing: synchronous, intermittent synchronous, asynchronous (characters) –Interfacing the physical layer and DLC (e.g., RS-232, X.21)

Data Link Control Layer (DLC) Receives packets from the network layer and transforms then into bits transmitted by the physical layer. Generally guarantees order and correctness. Mechanisms of the DLC: –Framing: header, trailer to separate packets, detect errors… –Multiple access schemes: when the link is shared by several nodes there is a need for addressing and controlling the access (this entity is called MAC sublayer) –Error detection and retransmission (LLC sublayer)

Network Layer Provides naming/addressing, routing, flow control, and scheduling/queuing in a multi-hop network Makes decisions based on packet header (e.g., destination address) and module stored information (e.g., routing tables) General comment: each layer looks only at its corresponding header (here packet header) Routing is different on virtual circuit networks than on datagram networks

Transport Layer Provides a reliable mechanism to transmit messages between two end-nodes through: –Message fragmentation into packets –Packets reassembly in original order –Retransmission of lost packets –End-to-end flow control –Congestion control

Session Layer Was intended to handle the interaction between two end points in setting up a session: –multiple connections –Service location (e.g., would achieve load sharing) –Control of access rights For example, managing an audio and video stream in a teleconferencing application In many networks these functionalities are inexistent or spread over other layers

Presentation Layer Concerned with the format of the data exchanged Provides data encryption, data compression, and code conversion.

Application Layer What’s left over… Examples:WWW, , Telnet, …

Internet Architecture Defined by Internet Engineering Task Force (IETF) IETF requires working implementations for standard adoption Application vs. Application Protocol (FTP, HTTP) … FTPHTTPNV TFTP TCP UDP IP NET 1 2 n

Internet Architecture Not quite layered TCPUDP IP Network Application

Implementing Network Software Success of the Internet is partially due to: –Minimal functionality within the network –Most of the functionality running is software over general-purpose computers Simple Application Programming Interface Efficient protocol implementation

Application Programming Interface Each OS can have a special interface exported by the network to the applications developer Most widely used network API is: socket interface –Initially developed by the Berkeley Distribution of Unix and today ported to almost all OS

Creating a Socket int socket(int domain, /* PF_INET, PF_UNIX */ int type, /* SOCK_STREAM, SOCK_DGRAM */ int protocol )

Active Open Clients perform an active open operation using the connect routine int connect (int socket, struct sockaddr *address, int addr_len)

Passive Open Servers perform a passive open –bind, listen, accept int bind (int socket, struct sockaddr *address, int addr_len) int listen (int socket, int backlog) int accept (int socket, struct sockaddr *address, int *addr_len)

Sending and Receiving Data Once the connection is established, use send/recv functions to exchange data int send (int socket, char *message, int msg_len, int flags) int recv (int socket, char *buffer, int buf_len, int flags)

Closing a Socket void close (int socket)

Client/Server Sockets Client: –socket, connect, (send, recv)*, close Server: –socket, bind, listen, (accept, (recv, send)*, close)*

Exercise Write the simplex-talk client and server programs given in Section of text –Given in C Run a client and server on same machine and test Run client and server on different machines Do Exercises 28, 29, and 30 of text

Protocol Implementation Issues The socket API is an interface between the application and the network subsystem (TCP, UDP, IP, etc.) Could potentially be used as a protocol-to-protocol interface Turns out that the socket interface, while clean, introduces a number of inefficiencies Different protocol-to-protocol interfaces designed

Process Models Process-per-protocolProcess-per-message

Context Switches Inefficiency of process-per-protocol model: –Too many context switches, as the message is handed from one protocol to the next Context switches become procedure calls in the process-per-message model –Sending a message: high-level protocol calls send on the low-level protocol –Receiving a message: high-level protocol calls receive on the low-level protocol

Protocol-to-Protocol Interface The receive operation replaced by deliver

Message Buffer Handling Copying messages between buffers expensive Shared message abstraction –Adding and stripping headers –Fragmenting and reassembling messages

Other Common Library Routines Event library: commonly need to schedule an event in the future –Examples: timeout, garbage collection –A common event & event manager abstraction Map library: For maintaining bindings between identifiers –Example: Mapping incoming messages to the connection that will process the message