client-server applications

Post on 14-Jan-2016

35 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Client-Server Applications. Indirect Top Level Interaction. Application. Application. Application. Application. Application. Application. Client asks server to connect. Application Client. Application Server. Connect request. Connect request. - PowerPoint PPT Presentation

TRANSCRIPT

Client-Server Applications

Indirect Top Level InteractionApplication Application

Application Application

Application Application

Client asks server to connect

ApplicationClient

ApplicationServer

Socket provides a STREAM based interaction

Connect request Connect request

Server accepts

ApplicationClient

ApplicationServer

Connect accepted Connect accepted

Client asks for a specific service

ApplicationClient

ApplicationServer

Service Request Service Request

Server answers

ApplicationClient

ApplicationServer

Service Response Service Response

Client disconnects

ApplicationClient

ApplicationServer

Disconnect Disconnect

Server acknowledges… disconnected

ApplicationClient

ApplicationServer

Disconnect Acknowledged Disconnect Acknowledged

Most interactions

• Connection request

• Service interaction

• Disconnect

• Give an illusion of looking like a single program when running effectively– Network/server delay is frequently obvious

Common CLIENT-SERVERs

• FTP for transferring files from one machine to another (even if no account at both machines).

• TELNET/SSH for providing remote command-line (shell) access when you have an account on both machines. TELNET also will provide other functionality as we will see later.

• MAIL(smtp/pop/imap) transfer agents

• WWW(http) (WorldWideWeb) servers/browsers

How do clients and serversidentify each other?

Client Server

Each end has 1. IP address2. port

Ftp Exampleserver at 137.155.2.10

Client Server

Each end has 1. IP address2. port

1. 137.155.2.102. Port 211. 137.155.2.23

2. Port 12345

Servers run at a well-known portClient use a

randomlyassigned port

Addresses

• IP -> unique to machine (actually to the interface/network card)– Only gets the message to the right machine

• Port– Service uses a standard port for connection

– Clients are randomly allocated

– A port is unique to a connection.

– Must identify a connection for a specific application.

– Makes sure the correct application receives the data

FTP

FTP

• A program for copying files from one machine to another

• Lets you do a FEW unix-type commands in the command-line version

CLIENT SERVER

connect

request login

login

request file

send file

logoff

General Exchange of Messages

FTP

Sample client interaction w/ftp{dgame@cambria} ftp ftp.pcs.cnu.eduConnected to ftp.pcs.cnu.edu.220 america3 FTP server (UNIX(r) System V Release 4.0) ready.Name (ftp.pcs.cnu.edu:dgame): anonymous331 Guest login ok, send ident as password.Password: (your id)230 Guest login ok, access restrictions apply.ftp> cd pub/dgame/335250 CWD command successful.ftp> binary200 Type set to I.ftp> mget *mget AaronsFavCar.bmp? y200 PORT command successful.150 Binary data connection for AaronsFavCar.bmp (137.155.2.17,33136) (177562 bytes).226 Binary Transfer complete.local: AaronsFavCar.bmp remote: AaronsFavCar.bmp32768 bytes received in 0.017 seconds (1880.25 Kbytes/s)ftp> bye221 Goodbye.{dgame@cambria}

Client to Server Server to Client

Connect request

Service interaction

Disconnect

USER Commands to use(not CLIENT)

• Not like a shell, but a

few of the commands

– cd

– close

– pwd

– lcd (change on the client side!)

– binary

– get

– put

– mget

– prompt

USER commands

Client

Server

USER

• Exchanges that actually go into the socket

• Not what the user enters

• This is the protocol.

Table 8.3 CLIENT commands

Client

Server

USER

ftp ftp.pcs.cnu.edu (1)

SYN (2) SYN+ACK (3)

ACK (4) 220 FTP server ready (5)

From Fig 8.16Session Connection

Figure 8.16user enters username

Client

Server

USER

anonymous (1)

USER anonymous(2) 331 password required for anonymous(3)

USER anonymous(2)331 password required for anonymous(3)

Figure 8.16user enters password

Client

Server

USER

dgame@pcs.cnu.edu (1)

PASS dgame@pcs.cnu.edu (2)220 user anonymouslogged in(3)

System OS.. No user inputClients and Servers interact on their own

Client

Server

USER

SYST(1) 215 Unix System V Release 4.0 (2)

Unix System V Release 4.0 (3)

In the previous example this exchange is done prior to the login, not after.

Telnet

Terminal - little local intelligence

TerminalNO local processing per se.Only a conduit to the Mainframe.

Keyboard

Here the PC has the program instead of the mainframe! In previously graphic, terminal is a relay.

Mainframe

Application

Keyboard

(Display and) xmit

PC

Application

Display

Display

Remote terminal

•Run program remotely•Like a long cable to a keyboard at your house•Hyperterminal on Windows 95/98•Typically requires a modem•Only run command shell, not windows apps.

•What if you want a terminal access through the internet?•Telnet is your answer

Telnet example

telnet cambria@pcs.cnu.eduSunOS 5.6

login: dgamePassword:(….)Last login: Tue Jan 25 19:07:04 from cx81733-c.nwptn1You have new mail.{dgame@cambria:~ } pwd/home/faculty1/dgame{dgame@cambria:~ }exit{dgame@cambria:~ }logout(back on the original machine)

How is telnet organized?

Computer to Use

Telnet Server

Computer now using

Telnet Client Internet

Keyboard

Terminal

Display and xmit

DisplayMainframe

Unix Shell

Unix Shell

Mail

smtp/imap/pop

SMTP

SERVERmail.pcs.cnu.edu

SERVERmail.uva.edu

pineWhatever client

the user chooses

POP or IMAP POP or IMAP

SMTP

Here a local server and remote server in addition to a remote and local client. For SMTP, the servers also functionas clients depending on which “server” makes the request.

WWW/http

How to Program

Sockets

top related