The Abilities and Limitations of TCP/IP
TCP/IP is a communications protocol that fits in the middle of a larger set of mechanisms. TCP/IP provides the linkage between communicating software applications and a physical network that carries messages sent by computers to other computers or devices. In this regard, TCP/IP complements and extends the capability of a physical network, but can't work without that network. Although TCP/IP does blur across some boundaries, it actually fits between the application software, operating system, and network or communications device such as a cable modem or local-area network (LAN). To visualize this, see Figure 1-1.
Figure 1-1. TCP/IP Fits Between the Network and Your Software

Figure 1-2. A Logical Perspective of Using TCP/IP to Transfer a File to a Friend

TCP/IP's Top Five Critical Functions
By now you're probably anxious to get into what TCP/IP can do for you. Some of the applications that rely on TCP/IP (such as web surfing and e-mail) have been discussed, but you have seen how one set of mechanisms can so successfully support a rich and diverse array of applications.The answer lies in determining the basic underlying capabilities any application requires to communicate. At the risk of sounding like a late-night talk show host, TCP/IP's top five critical functions follow:Globally Unique Addresses
An addressing system that permits you to uniquely identify any given machine connected to the Internet. This system affords the ability to create literally billions of unique addresses.Packet
Merely having an address for a networked machine isn't enough to permit communication. You also need a mechanism that allows you to send data to, and receive data from, the machine with that address. That mechanism is called a packet. Packets contain all the address information that a TCP/IP network needs to enable two or more devices to talk across a network.Segmentation and Reassembly
The ability to chop up application data into manageable pieces called segments is crucial to communicating across a network. These segments are then placed inside a packet for transmission across a network. The machine receiving this stream of packets can extract the segments of data and restore the data to its original form.Resequencing
TCP/IP also enables computers that receive a series of related packets to put them back into the correct order. This ability is important because you can't guarantee that packets will be received in the order they were sent. Networks are made of intelligent and autonomous devices known as routers, which decide where to send each packet. Their decisions can vary based on congestion and failures discovered within the network. The result is that packets are commonly received out of sequence!Data Integrity
Lastly, you can't always assume that what you put on a network will get to its destination intact. For that matter, you can't assume that it will get there at all! Lots of things can go wrong when data is traveling through a network. The result can be garbled data or even packets that get lost or dropped. TCP/IP is smart enough to detect data that was damaged or lost as it traveled through the network. Data that was damaged is discarded and TCP/IP's mechanisms ensure thatwhen appropriatethe damaged or lost block is retransmitted until it is successfully received.TCP/IP can, of course, do many other things. Thus, this list is not comprehensive. Instead, these five things form the basis for communicating. Other features, including those that are part of TCP/IP and those commercially developed around TCP/IP, build upon this foundation.
What It Can't Do
TCP/IP is not a proverbial silver bullet. It offers tremendous capabilities, but it does have its limitations. Those limitations have more to do with the intended scope of the protocol suite than weaknesses. Please consider all the "can't dos" in this section as being by design rather than indicative of a flawed implementation.First of all, TCP/IP is not an operating system (OS). An OS is the software that runs on a computer and creates the environment in which other applications can run. The various Windows platforms are examples of operating systems. When installed, TCP/IP becomes an important extension of your computer's operating system, but it does not replace it.