1 / 31

Client-Server Applications

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.

aiden
Download Presentation

Client-Server Applications

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 -> 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. connect request login login request file send file logoff 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@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.edu:dgame): anonymous 331 Guest login ok, send ident as password. Password: (your id) 230 Guest login ok, access restrictions apply. ftp> cd pub/dgame/335 250 CWD command successful. ftp> binary 200 Type set to I. ftp> 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) ftp> bye 221 Goodbye. {dgame@cambria} Connect request Service interaction Disconnect Client to ServerServer 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) SYN+ACK (3) Server ACK (4) 220 FTP server ready (5)

  20. Figure 8.16user enters username USER anonymous (1) Client USER anonymous(2) 331 password required for anonymous(3) Server 331 password required for anonymous(3) USER anonymous(2)

  21. Figure 8.16user enters password USER dgame@pcs.cnu.edu (1) Client 220 user anonymous logged in(3) Server PASS dgame@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 SYST(1) 215 Unix System V Release 4.0 (2) Server In the previous example this exchange is done prior to the login, not after.

  23. Telnet

  24. Display Keyboard (Display and) xmit Display Keyboard Terminal - little local intelligence Application Mainframe Terminal NO local processing per se. Only a conduit to the Mainframe. Application Here the PC has the program instead of the mainframe! In previously graphic, terminal is a relay. 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@pcs.cnu.edu SunOS 5.6 login: dgame Password:(….) Last login: Tue Jan 25 19:07:04 from cx81733-c.nwptn1 You have new mail. {dgame@cambria:~ } pwd /home/faculty1/dgame {dgame@cambria:~ }exit {dgame@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

More Related