Client-Server Applications - PowerPoint PPT Presentation

1 / 31
About This Presentation
Title:

Client-Server Applications

Description:

{dgame_at_cambria} Client to Server Server to Client. Connect request. Service interaction ... telnet cambria_at_pcs.cnu.edu. SunOS 5.6. login: dgame. Password: ... – PowerPoint PPT presentation

Number of Views:46
Avg rating:3.0/5.0
Slides: 32
Provided by: david647
Category:

less

Transcript and Presenter's Notes

Title: Client-Server Applications


1
Client-Server Applications
2
Indirect Top Level Interaction
Application
Application
Application
Application
Application
Application
3
Client asks server to connect
Application Client
Application Server
Connect request
Connect request
Socket provides a STREAM based interaction
4
Server accepts
Application Client
Application Server
Connect accepted
Connect accepted
5
Client asks for a specific service
Application Client
Application Server
Service Request
Service Request
6
Server answers
Application Client
Application Server
Service Response
Service Response
7
Client disconnects
Application Client
Application Server
Disconnect
Disconnect
8
Server acknowledges disconnected
Application Client
Application Server
Disconnect Acknowledged
Disconnect Acknowledged
9
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

10
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

11
How do clients and serversidentify each other?
Client
Server
  • Each end has
  • IP address
  • port

12
Ftp Exampleserver at 137.155.2.10
Client
Server
  • 137.155.2.10
  • Port 21
  • 137.155.2.23
  • Port 12345

Servers run at a well-known port
  • Each end has
  • IP address
  • port

Client use a randomly assigned port
13
Addresses
  • IP -gt 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

14
FTP
15
FTP
  • A program for copying files from one machine to
    another
  • Lets you do a FEW unix-type commands in the
    command-line version

FTP
SERVER
CLIENT
General Exchange of Messages
16
Sample client interaction w/ftp
dgame_at_cambria ftp ftp.pcs.cnu.edu Connected to
ftp.pcs.cnu.edu. 220 america3 FTP server (UNIX(r)
System V Release 4.0) ready. Name
(ftp.pcs.cnu.edudgame) anonymous 331 Guest
login ok, send ident as password. Password (your
id) 230 Guest login ok, access restrictions
apply. ftpgt cd pub/dgame/335 250 CWD command
successful. ftpgt binary 200 Type set to I. ftpgt
mget mget AaronsFavCar.bmp? y 200 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.bmp 32768
bytes received in 0.017 seconds (1880.25
Kbytes/s) ftpgt bye 221 Goodbye. dgame_at_cambria
Connect request
Service interaction
Disconnect
Client to Server Server to Client
17
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

18
USER commands
USER
Client
Server
19
Table 8.3 CLIENT commands
  • Exchanges that actually go into the socket
  • Not what the user enters
  • This is the protocol.

From Fig 8.16 Session Connection
USER
ftp ftp.pcs.cnu.edu (1)
Client
SYN (2)
SYNACK (3)
Server
ACK (4)
220 FTP server ready (5)
20
Figure 8.16user enters username
USER
anonymous (1)
Client
Server
USER anonymous(2)
331 password required for anonymous(3)
331 password required for anonymous(3)
USER anonymous(2)
21
Figure 8.16user enters password
USER
dgame_at_pcs.cnu.edu (1)
Client
220 user anonymous logged in(3)
Server
PASS dgame_at_pcs.cnu.edu (2)
22
System OS.. No user input Clients and Servers
interact on their own
USER
Unix System V Release 4.0 (3)
Client
Server
SYST(1)
215 Unix System V Release 4.0 (2)
In the previous example this exchange is done
prior to the login, not after.
23
Telnet
24
Terminal - little local intelligence

Application
Mainframe
Terminal
NO local processing per se. Only a conduit to the
Mainframe.
Here the PC has the program instead of the
mainframe! In previously graphic, terminal is a
relay.
Application
PC
25
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

26
Telnet example
telnet cambria_at_pcs.cnu.edu SunOS 5.6 login
dgame Password(.) Last login Tue Jan 25
190704 from cx81733-c.nwptn1 You have new
mail. dgame_at_cambria pwd /home/faculty1/dgame
dgame_at_cambria exit dgame_at_cambria
logout (back on the original machine)
27
How is telnet organized?
Computer to Use
Computer now using
Internet
Telnet Server
Telnet Client
Unix Shell
Keyboard
Display and xmit
Unix Shell
Display
Mainframe
Terminal
28
Mail
  • smtp/imap/pop

29
SMTP
SERVER mail.pcs.cnu.edu
SERVER mail.uva.edu
SMTP
POP or IMAP
POP or IMAP
pine
Whatever client the user chooses
Here a local server and remote server in addition
to a remote and local client. For SMTP, the
servers also function as clients depending on
which server makes the request.

30
WWW/http
31
How to Program
  • Sockets
Write a Comment
User Comments (0)
About PowerShow.com