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!

The whole site in one document for easy reference!
The TCP/IP Guide

Google
Web TCP/IP Guide






Table Of Contents  The TCP/IP Guide
 9  TCP/IP Lower-Layer (Interface, Internet and Transport) Protocols (OSI Layers 2, 3 and 4)
      9  TCP/IP Transport Layer Protocols
           9  Transmission Control Protocol (TCP) and User Datagram Protocol (UDP)
                9  TCP/IP Transport Layer Protocol (TCP and UDP) Addressing: Ports and Sockets

Previous Topic/Section
TCP/IP Transport Layer Protocol (TCP and UDP) Addressing: Ports and Sockets
Previous Page
Pages in Current Topic/Section
12
3
Next Page
TCP/IP Ports: Transport Layer (TCP/UDP) Addressing
Next Topic/Section

TCP/IP Processes, Multiplexing and Client/Server Application Roles
(Page 3 of 3)

TCP/IP Client Processes and Server Processes

There's another characteristic of TCP/IP software that is very important to understanding how the transport layer and higher layers of the suite operate: it is generally asymmetric. This means that when a TCP/IP application process on one computer tries to talk to an application process on another computer, the two processes are usually not exactly the same. They are instead complements of each other, designed to function together as a team.

As I explained in the overview description of TCP/IP, most networking applications use a client/server model of operation. This term can be used to refer to the roles of computers, where a server is a relatively powerful machine that provides services to a large number of user-operated clients. It also applies to software. In this context, a client process is usually one that runs on a client machine and initiates contact to perform some sort of function. A server process usually runs on a hardware server, and listens for requests from clients and responds to them.

The classic example of this is, of course, the World Wide Web. The WWW uses the Hypertext Transfer Protocol (HTTP), a good example of an application protocol. A Web browser is an HTTP client, normally running on an end-user client machine such as you are probably using at this moment. It initiates an exchange of HTTP (Web) data by sending a request to a Web (HTTP) server. A server process on that Web server hears the request and replies either with the requested item(s)—a Web page or other data—or an error message. The server is usually specifically designed to handle many incoming client requests, and in many cases for little else.

Okay, I can practically see the impatient look on your face as you wonder to yourself: “why is he telling me all of this in a section that is supposed to explain TCP and UDP ports”? The answers will become clear shortly, I promise. I started here because the fact that many application processes run simultaneously and have their data multiplexed for transmission is the impetus for why higher-level addressing is a necessity in TCP/IP. The client/server arrangement used by TCP/IP has an important impact on the way that ports are used and the mechanisms for how they are assigned. The next two topics explore these concepts more completely.


Previous Topic/Section
TCP/IP Transport Layer Protocol (TCP and UDP) Addressing: Ports and Sockets
Previous Page
Pages in Current Topic/Section
12
3
Next Page
TCP/IP Ports: Transport Layer (TCP/UDP) Addressing
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.