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.
TCP/IP Processes, Multiplexing and Client/Server Application Roles
(Page 2 of 3)
Multiplexing and Demultiplexing
Most communication in TCP/IP takes
the form of exchanges of information between a program running on one
device, and a matching program on another device. Each instance of an
application represents a copy of that application software that needs
to send and receive information. These application instances are commonly
called processes. A TCP/IP application process is any piece of
networking software that sends and receives information using the TCP/IP
protocol suite. This includes both classic end-user applications
such as the ones described above, as well as support protocols that
behave as applications when they send messages. Examples of the latter
would include a network management protocol like SNMP,
or even the routing protocol BGP
(which sends messages using TCP like an application does).
So, a typical TCP/IP host has multiple
processes each needing to send and receive datagrams. All of them, however,
must be sent using the same interface to the internetwork, using the
IP layer. This means that the data from all applications (with some
possible exceptions) is funneled down, initially to the
transport layer, where it is handled by either TCP or UDP. From there,
messages pass to the device's IP layer, where they are packaged in IP
datagrams and sent out over the internetwork to different destinations.
The technical term for this is multiplexing. This term simply
means combining, and its use here is a software analog to the way it
is done with signals.
A complementary mechanism is responsible
for receipt of datagrams. At the same time that the IP layer multiplexes
datagrams from many application processes to be sent out, it receives
many datagrams that are intended for different processes. The IP layer
must take this stream of unrelated datagrams, and eventually pass them
to the correct process (through the transport layer protocol above it).
This is the reverse of multiplexing: demultiplexing. You can
see an illustration of the basic concept behind TCP/IP process multiplexing
and demultiplexing in Figure 197.
Figure 197: Process Multiplexing and Demultiplexing In TCP/IP
In a typical machine running TCP/IP there are many different protocols and applications running simultaneously. This example shows four different applications communicating between a client and server machine. All four are multiplexed for transmission using the same IP software and physical connection; received data is demultiplexed and passed to the appropriate application. IP, TCP and UDP provide the means of keeping distinct the data from each application.
Key Concept: TCP/IP is designed to allow many different applications to send and receive data simultaneously using the same Internet Protocol software on a given device. To accomplish this it is necessary to multiplex transmitted data from many sources as it is passed down to the IP layer. As a stream of IP datagrams is received, it is demultiplexed and the appropriate data passed to each application software instance on the receiving host.
|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!|
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.