ICOM 6115©Manuel Rodriguez-Martinez ICOM 6115 – Computer Networks and the WWW Manuel Rodriguez-Martinez, Ph.D. Lecture 5.

Slides:



Advertisements
Similar presentations
Categories of I/O Devices
Advertisements

CS3505 The Internet and Info Hiway transport layer protocols : TCP/UDP.
Data Communications and Networking (Third Edition)
Socket Programming.
1 Java Networking – Part I CS , Spring 2008/9.
Middleware Technologies compiled by: Thomas M. Cosley.
Computer Science Lecture 2, page 1 CS677: Distributed OS Last Class: Introduction Distributed Systems – A collection of independent computers that appears.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Application Layer PART VI.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Chapter 25 Networking.
Introduction to Network Programming and Client-Server Design.
An Introduction to Internetworking. Algorithm for client-server communication with UDP (connectionless) A SERVER A CLIENT Create a server-socket (listener)and.
1 Computer Networks Transport Layer Protocols. 2 Application-layer Protocols Application-layer protocols –one “piece” of an app –define messages exchanged.
Server issues How to approach the design of servers.
Client Server Model and Software Design TCP/IP allows a programmer to establish communication between two application and to pass data back and forth.
Chapter 26 Client Server Interaction Communication across a computer network requires a pair of application programs to cooperate. One application on one.
CSIT 320 (Blum)1 Client-Server Interaction Based on Appendix 1 in Computer Networks and Internets, Comer.
Process-to-Process Delivery:
Socket Programming -What is it ? -Why bother ?. Basic Interface for programming networks at transport level It is communication end point Used for inter.
CP476 Internet ComputingCh.1 # 1 Lecture 2. A Brief Introduction to the Internet The objective is to understand The history of Internet What the Internet.
TCP/IP protocols Communication over Internet is mostly TCP/IP (Transmission Control Protocol over Internet Protocol) TCP/IP "stack" is software which allows.
1 Chapter Client-Server Interaction. 2 Functionality  Transport layer and layers below  Basic communication  Reliability  Application layer.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.1 ISP Services Working at a Small-to-Medium Business or ISP – Chapter 7.
ITIS 1210 Introduction to Web-Based Information Systems Chapter 23 How Web Host Servers Work.
ICOM 6115©Manuel Rodriguez-Martinez ICOM 6115 – Computer Networks and the WWW Manuel Rodriguez-Martinez, Ph.D. Lecture 6.
Jozef Goetz, Application Layer PART VI Jozef Goetz, Position of application layer The application layer enables the user, whether human.
ICOM 6115©Manuel Rodriguez-Martinez ICOM 6115 – Computer Networks and the WWW Manuel Rodriguez-Martinez, Ph.D. Lecture 3.
15-1 Networking Computer network A collection of computing devices that are connected in various ways in order to communicate and share resources.
ICOM 6115©Manuel Rodriguez-Martinez ICOM 6115 – Computer Networks and the WWW Manuel Rodriguez-Martinez, Ph.D. Lecture 26.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 Chapter 16 Socket Interface
Copyright © Curt Hill, Client – Server Computing An important paradigm.
Dr. John P. Abraham Professor University of Texas Pan American Internet Applications and Network Programming.
Internet Protocol B Bhupendra Ratha, Lecturer School of Library and Information Science Devi Ahilya University, Indore
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 Chapter 16 Socket Interface.
SEMINOR. INTRODUCTION 1. Middleware is connectivity software that provides a mechanism for processes to interact with other processes running on multiple.
ICOM 6115©Manuel Rodriguez-Martinez ICOM 6115 – Computer Networks and the WWW Manuel Rodriguez-Martinez, Ph.D. Lecture 13.
1 Chapter 28 Networking. 2 Objectives F To comprehend socket-based communication in Java (§28.2). F To understand client/server computing (§28.2). F To.
TCP Sockets Reliable Communication. TCP As mentioned before, TCP sits on top of other layers (IP, hardware) and implements Reliability In-order delivery.
ECEN “Internet Protocols and Modeling”, Spring 2012 Course Materials: Papers, Reference Texts: Bertsekas/Gallager, Stuber, Stallings, etc Class.
CS 158A1 1.4 Implementing Network Software Phenomenal success of the Internet: – Computer # connected doubled every year since 1981, now approaching 200.
Position of application layer. Application layer duties.
Networking Basics CCNA 1 Chapter 11.
1 Client-Server Interaction. 2 Functionality Transport layer and layers below –Basic communication –Reliability Application layer –Abstractions Files.
The Client-Server Model And the Socket API. Client-Server (1) The datagram service does not require cooperation between the peer applications but such.
©The McGraw-Hill Companies, Inc., 2000© Adapted for use at JMU by Mohamed Aboutabl, 2003Mohamed Aboutabl1 1 Chapter 15 Application Layer and Client-Server.
Berkeley Socket Abstraction
©The McGraw-Hill Companies, Inc., 2000© Adapted for use at JMU by Mohamed Aboutabl, 2003Mohamed Aboutabl1 1 Chapter 16 Socket Interface.
Netprog: Client/Server Issues1 Issues in Client/Server Programming Refs: Chapter 27.
McGraw-Hill Chapter 23 Process-to-Process Delivery: UDP, TCP Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
1: Introduction1 Internet Services and Protocols Adapted from “Computer Networking: A Top Down Approach Featuring the Internet” Kurose and Ross, Addison.
Java Networking I IS Outline  Quiz #3  Network architecture  Protocols  Sockets  Server Sockets  Multi-threaded Servers.
1 Network Communications A Brief Introduction. 2 Network Communications.
R Some of these slides are from Prof Frank Lin SJSU. r Minor modifications are made. 1.
1 K. Salah Application Layer Module K. Salah Network layer duties.
IST 201 Chapter 11 Lecture 2. Ports Used by TCP & UDP Keep track of different types of transmissions crossing the network simultaneously. Combination.
Liang, Introduction to Java Programming, Ninth Edition, (c) 2013 Pearson Education, Inc. All rights reserved. 1 Chapter 33 Networking.
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Client-Server Model and Sockets
MCA – 405 Elective –I (A) Java Programming & Technology
Working at a Small-to-Medium Business or ISP – Chapter 7
Client-Server Interaction
Working at a Small-to-Medium Business or ISP – Chapter 7
Working at a Small-to-Medium Business or ISP – Chapter 7
Process-to-Process Delivery:
Issues in Client/Server Programming
PART VI Application Layer.
Internet Applications & Programming
An Introduction to Internetworking
Process-to-Process Delivery: UDP, TCP
Computer Networks Protocols
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
Presentation transcript:

ICOM 6115©Manuel Rodriguez-Martinez ICOM 6115 – Computer Networks and the WWW Manuel Rodriguez-Martinez, Ph.D. Lecture 5

ICOM 6115©Manuel Rodriguez-Martinez Project 1: Simplet FTP Systems Implement a simple FTP client-server system ( Due: 11:59 PM-September 13,2002 ) –You will write SFTPClient.java –Main client application SFTPServer.java –Main server application SFTPStub.java –Client stub to interact with server SFTPHandler.java –Server handler to manage all requests

ICOM 6115©Manuel Rodriguez-Martinez Lecture Objectives Understand Network Programming –Operating Systems support for Networking threads –Implementation options for servers Iterative servers Concurrent servers –Buffering of I/O streams –Finite state machines –Protocols Design

ICOM 6115©Manuel Rodriguez-Martinez Options to implement a server Iterative Server –One server instance serves all clients MyServer1.java Concurrent server –Multiple server instances server the clients MyServer2.java Which one is best? –As usual: it depends on what you want…

ICOM 6115©Manuel Rodriguez-Martinez Iterative Server Server Client Listen Queue Client OS

ICOM 6115©Manuel Rodriguez-Martinez Iterative Server One server to handle multiple requests –Simple to implement –Takes some time to service each request Becomes a bottleneck if heavy I/O is needed –Should be used only to service small requests Time of day –to synchronize all hosts on a network Name of a computer –Typically used for connectionless services Datagrams (UDP)

ICOM 6115©Manuel Rodriguez-Martinez Concurrent Server Master Server Client Slave Server Initial Connection Create slave Connection Hand off

ICOM 6115©Manuel Rodriguez-Martinez Concurrency: Multiple Servers Client Slave Server Slave Server Slave Server Master Server

ICOM 6115©Manuel Rodriguez-Martinez Concurrent Server Multiple serves to handle multiple requests –Each client has its own server Master – slave relationship –Master server: receives initial request and forwards it to slaver server –Slave server: the actual entity that interacts with the client Requires OS support to be implemented –Concurrent processes –Threads

ICOM 6115©Manuel Rodriguez-Martinez Concurrent Server Issues Issues –Far more complex to implement –Provide parallelism Good for I/O intensive applications –Should be used to service large requests FTP, HTTP Database requests –Typically used by connection-oriented services Streams (TCP)

ICOM 6115©Manuel Rodriguez-Martinez Example Concurrent Server MyServer2.java MyClient2.java Download from class web page