To deliver data between two Internet hosts, it is necessary to move the data across the network to the correct host, and within that host to the correct user or process. TCP/IP uses three schemes to accomplish these tasks:
IP addresses, which uniquely identify every host on the network, deliver data to the correct host.
Gateways deliver data to the correct network.
Protocol and port numbers deliver data to the correct software module within the host.
Each of these functionsaddressing between hosts, routing between networks, and multiplexing between layersis necessary to send data between two cooperating applications across the Internet. Let's examine each of these functions in detail.
To illustrate these concepts and provide consistent examples, we'll use an imaginary corporate network. Our imaginary company brings together authors to write computer books and conduct training. Our company network is made up of several networks at our training facilities and publishing office, as well as a connection to the Internet. We are responsible for managing the Ethernet in the computing center. This network's structure, or topology, is shown in Figure 2-1.
The icons in the figure represent computer systems. There are, of course, several other imaginary systems on our imaginary network, but we'll use the hosts rodent (a workstation) and crab (a system that serves as a gateway) for most of our examples. The thick line is our computer center Ethernet, and the oval is the local network that connects our various corporate networks. The cloud is the Internet, and the numbers are IP addresses.