Computers are very good at following precise instructions, but they're not very good at improvising or dealing with deviations from expectations. For this reason, computer networks rely on a series of very precisely defined protocols ”descriptions of how a procedure or transaction is supposed to occur. As described briefly in Chapter 1, these protocols are arranged in a linear fashion to form what's referred to as a network protocol stack, or a network stack or protocol stack for short. The Transmission Control Protocol/Internet Protocol (TCP/IP) stack is the most common network stack; it forms the basis of the Internet, as well as of most Linux network tools. Chapter 2 described configuring Linux to use TCP/IP. There are several alternative network stacks, however, and Linux includes support for some of these.
This chapter begins with an overview of what a network stack is, including a brief description of TCP/IP. Next up are discussions of three common alternative network stacks: AppleTalk, IPX, and NetBEUI. These alternative stacks are used mostly on local area networks for file and printer sharing among Macintosh and Windows computers.