Left the Cake out in the Rain -- After using the metaphor of a seven-layer cake to describe TCP in FAQtoids 003, I had my face pushed into the creamy filling by several readers. TCP itself fits just about on a single layer of the International Organization on Standardization (ISO) seven-layer Open Systems Interconnection (OSI, just to be confusing) networking model. (The group's short name, ISO, is derived from the Greek word for "equal" - ISO is not an acronym.) The ISO standard is more of an ideal than a practical expression; the Internet itself only uses a four-layer model, which is generically called TCP/IP networking. The four-layer model describes the function of each layer; different protocols - exact methods of programmed interaction - exist for each layer. (Strangely, it's either four or five layers, depending on how you look at the last part of the process.) According to both models, these protocols should only need to talk to the layer above and below the one the protocol occupies, but reality is a little messier.
The application layer describes how machines interact to accomplish a task, such as transferring files using File Transfer Protocol (FTP) or delivering mail using Simple Mail Transfer Protocol (SMTP). The application layer hands off to the transport layer, which is either TCP or UDP on the Internet. The transport layer protocols break up the application messages into pieces and dole those pieces out to the Internet layer. The Internet layer puts TCP and UDP packets in envelopes with the IP (Internet Protocol) addresses on them and then hands them off to the link layer. The link layer and physical layer are combined in the defining document, although they're different elements. The link layer knows how to put packets on the conveyor belt that takes them on their way; the physical layer is the conveyor belt. In the case of Ethernet, the functions are combined: the Internet layer passes off packets to the Ethernet driver, which both makes them ready and handles delivery on a LAN. With PPP, however, the PPP software on the host machine (whether a router or a modem connected directly to a computer) acts as the link layer while the physical device (the router or modem) moves the data over the wire.
If you'd like to read more about TCP/IP, try Troubleshooting TCP/IP - Analyzing the Protocols of the Internet by Mark A. Miller (ISBN 1-55851-450-3). OSI is well described in Andrew S. Tanenbaum's Computer Networks (ISBN 0-13-349945-6). Both are highly recommended by the TCP/IP newsgroup FAQ. [GF]
<http://www.cis.ohio-state.edu/hypertext/faq/ usenet/internet/tcp-ip/resource-list/ faq.html>