All this communications is done using standard "languages" to exchange blocks of data in packets, simply by putting 'envelopes' or wrappers called "headers" around the packet. We try to illustrate how and why this is so in figure 1.3.
The work of routing and addressing is done by the Internet Protocol, or IP. The work of host communication is done by the Transmission Control Protocol, or TCP. TCP/IP is often used as the name for the Internet protocols, including some of the higher level information services this book is mainly about. TCP does all the work to solve the problems of packet loss, corruption and reordering that the IP layer may have introduced, through a number of End to End reliability and error recovery mechanisms. If you like, you can think of IP as a bucket brigade, and TCP as drainpipe.
So if we want to send a block of data, we put a TCP header on it to protect it from wayward network events, and then we put an IP header on it to get it routed to the right place. There are many different protocols in the world, and we show some of them in all their gory glory in figure 1.4.
Figure 1.3: Protocol "Layering"
Figure 1.4: Comparing Protocol Stacks