(1) TCP/IP is frequently referred to as a "stack." This refers to the layers (TCP, IP, and sometimes others) through which all data passes at both client and server ends of a data exchange. A clear picture of layers similar to those of TCP/IP is provided in our description of OSI, the reference model of the layers involved in any network communication.
The term "stack" is sometimes used to include utilities that support the layers of TCP/IP. The Netscape Handbook says (and we quote): "To make a successful connection to the Internet, your PC needs application software such as Netscape plus a TCP/IP stack consisting of TCP/IP software, sockets software (Winsock.dynamic link library), and hardware driver software (packet drivers). Several popular TCP/IP stacks are available for Windows, including shareware stacks."
(2) In programming, a stack is a data area or buffer used for storing requests that need to be handled. The IBM Dictionary of Computing says that a stack is always a push-down list, meaning that as new requests come in, they push down the old ones. Another way of looking at a push-down list - or stack - is that the program always takes its next item to handle from the top of the stack. (This is unlike other arrangements such as "FIFO" or "first-in first-out.")