The document discusses client-server models for network applications where a client makes a request to a server, which then responds to the client. It describes the roles of clients and servers, different types of servers including iterative and concurrent servers, and how to establish connections between clients and servers using protocols like TCP and UDP. The document also provides an overview of sockets as a method for achieving interprocess communication between clients and servers.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
31 views14 pages
Client Server Concepts - CSM 152
The document discusses client-server models for network applications where a client makes a request to a server, which then responds to the client. It describes the roles of clients and servers, different types of servers including iterative and concurrent servers, and how to establish connections between clients and servers using protocols like TCP and UDP. The document also provides an overview of sockets as a method for achieving interprocess communication between clients and servers.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14
Client Server Concepts
DNS, Telnet, FTP
Gaddafi Abdul-Salaam Dept. of Computer Science KNUST Client-server model • Standard model for developing network applications • Notion of client and server a server is a process that is offering some service. A client is a process that is requesting the service Server or client may be running on different machines Server waits for requests from client(s) Client-server model (contd.) Client-server model (contd.) • Typical scenario : The server process (programme in execution) starts on some computer system Initializes itself, then goes to sleep waiting for a client request.
• A client process starts either on the same system or on some other
system Send a request to the server Client-server model (contd.) When the server process has finished providing its service to the client, it goes back to sleep, waiting for the next client request.
• The process repeats
Client-server model (contd.) • Roles of the client and the server are asymmetric • Two types of servers: Iterative server Concurrent server Iterative Servers • Used when the server process knows in advance how long it takes to handle each request and it handles each request itself. Single copy of server runs at all times A client may have to wait if the server is busy. Concurrent server • Used when the amount of work required to handle a request is unknown; the server starts another process to handle each request. • A copy of the server caters to a client’s request in a dedicated fashion. • As many copies of server as there are client request. • Process of copying - FOCKING Using TCP or UDP • Before start of communication, a connection has to be established between the two hosts Five components in a connection 1. Protocol used 2. Source IP address 3. Source port number 4. Destination IP address 5. Destination port number Develop a network application • The best way is to use some standard and well accepted protocol. At the data link layer level use Ethernet At the network layer level use IP At the transport layer level use TCP At the application layer level, use standard API like the Berkeley Socket Interface What is a socket • The socket is the BSD (Berkelys socket distribution) method for achieving Inter Process Communication (IPC) • It is used to allow one process to speak to another (on same or different machines) • Anology: is like the telephone is used to allow one person to speak to another Basic idea • When two processes located on two machines communicate, we define association and socket.
• FULL Association: basically a 5 tuples
Protocol Local IP address Local port number Emote IP address Remote port number • Socket: also called half-association (a 3-tuple) Protocol, local IP address, local port number Protocol, remote IP address, remote port number Class Assignment 1. Read/Write about DNS • What it is? • Top level Domain • Domain name structure • Recursive name resolution • Iterative name resolution 2. Telnet/ - Operations/commands 3. FTP/ and how it works