Please Whitelist This Site?

I know everyone hates ads. But please understand that I am providing premium content for free that takes hundreds of hours of time to research and write. I don't want to go to a pay-only model like some sites, but when more and more people block ads, I end up working for free. And I have a family to support, just like you. :)

If you like The TCP/IP Guide, please consider the download version. It's priced very economically and you can read all of it in a convenient format without ads.

If you want to use this site for free, I'd be grateful if you could add the site to the whitelist for Adblock. To do so, just open the Adblock menu and select "Disable on tcpipguide.com". Or go to the Tools menu and select "Adblock Plus Preferences...". Then click "Add Filter..." at the bottom, and add this string: "@@||tcpipguide.com^$document". Then just click OK.

Thanks for your understanding!

Sincerely, Charles Kozierok
Author and Publisher, The TCP/IP Guide


NOTE: Using software to mass-download the site degrades the server and is prohibited.
If you want to read The TCP/IP Guide offline, please consider licensing it. Thank you.

The Book is Here... and Now On Sale!

Enjoy The TCP/IP Guide? Get the complete PDF!
The TCP/IP Guide

Custom Search







Table Of Contents  The TCP/IP Guide
 9  TCP/IP Protocol Suite and Architecture

Previous Topic/Section
TCP/IP Overview and History
Previous Page
Pages in Current Topic/Section
12
3
Next Page
TCP/IP Architecture and the TCP/IP Model
Next Topic/Section

TCP/IP Services and Client/Server Operation
(Page 3 of 3)

Understanding TCP/IP Client and Server Roles

The terms “client” and “server” can be confusing in TCP/IP because they are used in several different ways, sometimes simultaneously:

  • Hardware Roles: The terms “client” and “server” usually refer to the primary roles played by networked hardware. A “client” computer is usually something like a PC or Macintosh computer used by an individual, and primarily initiates conversations by sending requests. A “server” is usually a very high-powered machine dedicated to responding to client requests, sitting in a computer room somewhere that nobody but its administrator ever sees.

  • Software Roles: As mentioned earlier, TCP/IP uses different pieces of software for many protocols to implement “client” and “server” roles. A Web browser is a piece of client software, while Web server software is completely different. Client software is usually found on client hardware and server software on server hardware, but not always. Some devices may run both client and server software.

  • Transactional Roles: In any exchange of information, the client is normally the device that initiates communication or sends a query; the server responds, usually providing information. Again, usually the client software on a client device initiates the transaction, but this is not always the case.

So, in a typical organization there will be many smaller individual computers designated “clients”, and a few larger ones that are “servers”. The servers normally run server software, and the clients run client software. But servers can also be set up with client software, and clients with server software.

For example, suppose you are an administrator working in the computer room on server #1 and need to transfer a file to server #2. You fire up FTP to initiate a file-transfer session with server #2. In this transaction, server #1 is playing the role of the client, since it is initiating communication using an FTP client program. Theoretically, you could even start an FTP transfer from server #1 to a particular client, if that client had FTP server software to answer the server's request. (This is less common, because server software is often not installed on client machines.)

Transactional roles come into play when communication occurs between servers in certain protocols. For example, when two SMTP servers communicate to exchange electronic mail, even though they are both server programs running on server hardware, during any transaction one device acts as the client while the other acts as the server. In some cases, devices can even swap client and server roles in the middle of a session!

I should conclude by making clear that the client and server roles I have discussed above are the traditional ones. The rise of powerful personal computers and widespread Internet access (especially “always-on” broadband connectivity) has led to a significant blurring of client and server hardware and software. Many client machines now include server software to allow them to, for example, respond to World Wide Web queries from other clients. There are also many file sharing programs around that allow clients to communicate using the peer-to-peer structural model. However, most TCP/IP communication is still client/server in nature, so it’s important to keep these roles in mind.

Key Concept: Understanding client/server computing concepts in TCP/IP is made more complex due to the very different meanings that the terms “client” and “server” can have in various contexts. The two terms can refer to hardware roles—designations given to hardware devices based on whether they usually function as clients or as servers. The terms can also refer to software roles, meaning whether protocol software components function as clients or servers. Finally, they can refer to transactional roles, meaning whether a device and program functions as a client or server in any given exchange of data.



Previous Topic/Section
TCP/IP Overview and History
Previous Page
Pages in Current Topic/Section
12
3
Next Page
TCP/IP Architecture and the TCP/IP Model
Next Topic/Section

If you find The TCP/IP Guide useful, please consider making a small Paypal donation to help the site, using one of the buttons below. You can also donate a custom amount using the far right button (not less than $1 please, or PayPal gets most/all of your money!) In lieu of a larger donation, you may wish to consider purchasing a download license of The TCP/IP Guide. Thanks for your support!
Donate $2
Donate $5
Donate $10
Donate $20
Donate $30
Donate: $



Home - Table Of Contents - Contact Us

The TCP/IP Guide (http://www.TCPIPGuide.com)
Version 3.0 - Version Date: September 20, 2005

© Copyright 2001-2005 Charles M. Kozierok. All Rights Reserved.
Not responsible for any loss resulting from the use of this site.