Client/Server Computing

Similar documents
Goal and A sample Network App

Introduction to the Application Layer. Computer Networks Term B14

Chapter 2 Application Layer. Lecture 4: principles of network applications. Computer Networking: A Top Down Approach

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 4

CMSC 322 Computer Networks Applications and End-To- End

Client/Server Computing & Socket Programming

CSC 4900 Computer Networks: End-to-End Design

Chapter 2. Application Layer. Chapter 2: Application Layer. Application layer - Overview. Some network apps. Creating a network appication

Review of Previous Lecture

CS 3516: Advanced Computer Networks

Lecture 11. Transport Layer (cont d) Transport Layer 1

Protocol Layers, Security Sec: Application Layer: Sec 2.1 Prof Lina Battestilli Fall 2017

Chapter 2: Application Layer. Chapter 2 Application Layer. Some network apps. Application architectures. Chapter 2: Application layer

Chapter 2 Application Layer

EECS 3214: Computer Network Protocols and Applications

Chapter 2 Application Layer

Chapter II: Application Layer

Chapter 2: Application layer

CSC358 Week 2. Adapted from slides by J.F. Kurose and K. W. Ross. All material copyright J.F Kurose and K.W. Ross, All Rights Reserved

Application Layer: HTTP

Chapter 2: outline. 2.6 P2P applications 2.7 socket programming with UDP and TCP

Foundations of Telematics

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

DATA COMMUNICATOIN NETWORKING

Different Layers Lecture 21

Lecture 04: Application Layer (Part 01) Principles and the World Wide Web (HTTP) Dr. Anis Koubaa

Chapter 2 Application Layer

CS 3516: Advanced Computer Networks

Client/Server Computing & Socket Programming

NWEN 243. Networked Applications. Transport layer and application layer

Module 2 Overview of Computer Networks

Module 2 Overview of. Computer Networks

CMPE 80N: Introduction to Networking and the Internet

SCS3004 Networking Technologies Application Layer Protocols

Networking. Layered Model. DoD Model. Application Layer. ISO/OSI Model

Chapter 2 Application Layer

Computer Networks and Applications

1. What is a Computer Network? interconnected collection of autonomous computers connected by a communication technology

Transport layer Internet layer

Layered Model. DoD Model. ISO/OSI Model

ENEE 457: Computer Systems Security 11/07/16. Lecture 18 Computer Networking Basics

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

Internet and Intranet Protocols and Applications

Hybrid of client-server and P2P. Pure P2P Architecture. App-layer Protocols. Communicating Processes. Transport Service Requirements

Transport layer. UDP: User Datagram Protocol [RFC 768] Review principles: Instantiation in the Internet UDP TCP

Transport layer. Review principles: Instantiation in the Internet UDP TCP. Reliable data transfer Flow control Congestion control

Chapter 2 Application Layer

NT1210 Introduction to Networking. Unit 10

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

Chapter 1 Introduction

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

Applications & Application-Layer Protocols: The Web & HTTP

Internet Architecture & Performance. What s the Internet: nuts and bolts view

Application. Transport. Network. Link. Physical

Chapter 2 Application Layer

Different Layers Lecture 20

OSI Transport Layer. objectives

Internet and Intranet Protocols and Applications

CSC 401 Data and Computer Communications Networks

Application Layer Protocols

Chapter 2: Application Layer. Chapter 2: application layer. outline. Some network apps. Client-server architecture. Application architectures

PLEASE READ CAREFULLY BEFORE YOU START

PLEASE READ CAREFULLY BEFORE YOU START

Lecture 20 Overview. Last Lecture. This Lecture. Next Lecture. Transport Control Protocol (1) Transport Control Protocol (2) Source: chapters 23, 24

4. The transport layer

Announcements. CS 5565 Network Architecture and Protocols. Outline for today. The Internet: nuts and bolts view. The Internet: nuts and bolts view

PLEASE READ CAREFULLY BEFORE YOU START

TSIN02 - Internetworking

Linux Networking: tcp. TCP context and interfaces

CSCI 466 Midterm Networks Fall 2013

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

Internet communication

Client-Server Interaction and Network Applications

Transport Layer (TCP/UDP)

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

Page 1. Review: Internet Protocol Stack. Transport Layer Services EEC173B/ECS152C. Review: TCP. Transport Layer: Connectionless Service

ETSF10 Internet Protocols Transport Layer Protocols

CS 716: Introduction to communication networks th class; 7 th Oct Instructor: Sridhar Iyer IIT Bombay

The Transmission Control Protocol (TCP)

CS 332: Computer Networks Introduction

CCNA Exploration Network Fundamentals. Chapter 04 OSI Transport Layer

The Transport Layer Reliable data delivery & flow control in TCP. Transport Layer Protocols & Services Outline

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

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

School of Engineering Department of Computer and Communication Engineering Semester: Fall Course: CENG415 Communication Networks

6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control

Network Applications Principles of Network Applications

Transport protocols. Transport Layer 3-1

ECE 650 Systems Programming & Engineering. Spring 2018

Unix Network Programming

CSCE 463/612 Networks and Distributed Processing Spring 2018

Computer Communication Networks Midterm Review

The Transport Layer Reliable data delivery & flow control in TCP. Transport Layer Protocols & Services Outline

PLEASE READ CAREFULLY BEFORE YOU START

CS 4390 Computer Networks. Transport Services and Protocols

4.0.1 CHAPTER INTRODUCTION

Last Time. Internet in a Day Day 2 of 1. Today: TCP and Apps

CS519: Computer Networks. Lecture 5, Part 1: Mar 3, 2004 Transport: UDP/TCP demux and flow control / sequencing

CNT 6885 Network Review on Transport Layer

Transcription:

CS 312 Internet Concepts Client/Server Computing Dr. Michele Weigle Department of Computer Science Old Dominion University mweigle@cs.odu.edu http://www.cs.odu.edu/~mweigle/cs312-f11 1 Applications and Overview!!Application: Communicating, distributed processes»! Running in hosts in user space»! Exchange messages to implement!!application-layer protocols»! One!piece" of an»! Defines messages exchanged and actions taken»! Uses services provided by lower layer protocols regional ISP 2

Overview!!Application-layer protocols define:»! The types of messages exchanged»! The syntax and semantics of messages»! The rules for when and how messages are sent!!public protocols (defined in RFCs)»! HTTP, FTP, SMTP, POP, IMAP, DNS!!Proprietary protocols»! RealAudio, RealVideo»! IP telephony»! 3 Outline!!The architecture of distributed systems»! Client/Server computing!!example client/server systems and their -level protocols»! The World-Wide Web (HTTP)»! E-mail (SMTP & POP)»! Internet Domain Name System (DNS) 4

Client-Server Architecture Server:»! always-on host»! permanent IP address»! server farms for scaling Clients:»! communicate with server»! may be intermittently connected»! may have dynamic IP addresses»! do not communicate directly with each other 5 Transport Services Data loss!! Some apps (e.g., audio) can tolerate some loss!! Other apps (e.g., file transfer, telnet) require 100% reliable data transfer Timing!! Some apps (e.g., Internet telephony, interactive games) require low delay to be!effective" Bandwidth!! Some apps (e.g., multimedia) require minimum amount of bandwidth to be!effective"!! Other apps (! apps") make use of whatever bandwidth they get 6

Internet Applications Transport Service Requirements Application Data loss Bandwidth Time Sensitive file transfer e-mail Web documents real-time audio/video stored audio/video interactive games instant messaging loss-tolerant loss-tolerant loss-tolerant audio: 5kbps-1Mbps video:10kbps-5mbps same as above few kbps up no no no yes, 100#s ms yes, few secs yes, 100#s ms yes and no 7 Internet Transport Protocols Services Provided!! service:»! connection-oriented: setup required between client, server»! reliable between sending and receiving process»! flow control: sender won t overwhelm receiver»! congestion control: throttle sender when overloaded»! does not provide: timing, minimum bandwidth guarantees!! UDP service:»! unreliable data transfer between sending and receiving process»! does not provide: connection setup, reliability, flow control, congestion control, timing, or minimum bandwidth guarantees Why bother? Why is there a UDP? 8

Internet Applications Application and Transport Protocols Application Application layer protocol Underlying protocol e-mail remote terminal access Web file transfer streaming multimedia Internet telephony SMTP [RFC 2821] Telnet [RFC 854] HTTP [RFC 2616] FTP [RFC 959] HTTP (YouTube), proprietary (RealNetworks) proprietary (e.g., Skype) or UDP typically UDP 9 The Application Layer The client-server model!!typical has two pieces: client and server!!client:»! Initiates contact with server (!speaks first")»! Requests service from server»! For Web, client is implemented in browser; for e-mail, in mail reader!!server:»! Provides requested service to client»!!always" running»! May also include a!client interface" Client reply request Server 10

Client-Server Model Addressing!! Network s are communicating, distributed processes.!! Processes are addressed using an IP address and a port number process socket with buffers, variables Internet domain name of host e.g., deneb.cs.odu.edu Local port numbers (e.g., 10001) Internet addresses of hosts (e.g., 128.82.4.7) DNS process socket with buffers, variables 11 Client-Server Model!!Before data can be transmitted, requires connection setup»! called a 3-way handshake 3-way handshake bytes Client bytes Internet Server 12

Client-Server Model and The three-way handshake!! Client sends SYN segment to server client server!! Server receives SYN, replies with SYN+ACK segment»! ACKs received SYN!! Third segment may be an ACK only or an ACK+data RTT Connection request (SYN)" Connection granted " (SYN/ACK)" Connection setup complete" (ACK) + data!!! Takes 1 round-trip time (RTT) to complete 13 Outline!!The architecture of distributed systems»! Client/Server computing»! P2P computing»! Hybrid (Client/Server and P2P) systems!!example client/server systems and their -level protocols»! The World-Wide Web (HTTP)»! E-mail (SMTP & POP)»! Internet Domain Name System (DNS) 14