3 TCP/IP protocol architecture
3.1 What does TCP/IP protocol architecture do?
The Internet is a worldwide public internetwork, which allows computers to communicate with each other even though they may have different manufacturers and different operating systems. The origins of the Internet lie in a project of the US Defense Advanced Research Project Agency in the 1970s, where it was intended to foster communication between research institutions rather than operate for profit. However, a substantial amount of traffic carried by the Internet is now related to commercial activities in the form of online shopping, banking or entertainment, or to private emails.
The technical aspects of the Internet are controlled by an international group called the Internet Engineering Task Force (IETF). Information about the Internet is recorded in documents called RFCs (requests for comments). These documents are available online from several sites, such as the IETF. Some of the RFCs contain official definitions of protocols, but others contain proposals for new protocols or explanatory information about the Internet.
TCP/IP (transmission control protocol/internet protocol) is the name given to a suite of protocols designed for the Internet, but suitable for any internetwork.
The Internet contains the following broad classes of network, as shown in Figure 9:
backbones – providing high-speed data links between networks (e.g. NSFNET, EBONE)
regional networks – clusters of networks for specific organisations, such as universities (e.g. JANET)
commercial networks – e.g. ISPs (Internet service providers) providing subscribers with access to the Internet or organisations providing their employees with access to the Internet;
national networks – groups of networks covering specific countries;
local networks – consisting of individual groups of computers such as those on a university campus.
Figure 10 shows the TCP/IP reference model and Figure 11 shows examples of protocols from various organisations and their association with the TCP/IP protocol suite. The model in Figure 9 follows a layering principle similar to that advocated by the OSI reference model, but only four layers are defined.
You may come across slightly different TCP/IP reference models from that shown in Figure 10. When the TCP/IP protocol suite was developed, although the concept of layering was important, the emphasis was on producing practical protocols. As a consequence, the TCP/IP reference model reflected these protocols, rather than the protocols being produced according to a specific reference model as was the case with OSI protocols.
The application layer (see Figure 11) offers standard services to application software running on systems. Access to these services is typically provided in the form of application program interfaces (APIs), which in effect are procedure call implementations of the primitives that I described in the context of the OSI reference model.
The transport layer provides end-to-end communication over an internetwork. Both connectionless and connection-oriented modes of transfer are available through the UDP (user datagram protocol) and TCP (transmission control protocol) protocols respectively.
The internetwork layer deals with the functions associated with specific networks. The main protocol in this layer is IP (internet protocol) and the other protocols in Figure 11 for this layer support the operation of IP. The internetwork layer shields the transport layer from the difficulties of locating systems in communication networks and transferring data across possibly disparate networks. At this layer, packet switching is performed by switches called routers. A router will use the destination address of the data to decide:
whether the destination system is connected directly to it – in which case the data can be delivered directly;
to which interface the data should be forwarded if the destination system is not connected directly to it.
The host-to-network layer deals with the reliable transfer of data between nodes in a communication network. Protocols in this layer are not strictly within the TCP/IP protocol suite because they are controlled by other standards bodies and have uses outside the Internet context. A host is an Internet term for any device or computer system connected to the Internet that has an Internet address, and in general refers to the terminating devices or end systems.
Figure 12 shows an example of transferring files between two hosts using the file transfer protocol (FTP) in an internetwork. The hosts transfer data over three distinct physical networks: two local area networks and one public data network. The specific types are not important here; you need only appreciate that different types are possible. The protocol data units for the FTP and TCP protocols are transferred transparently by the lower-level protocols and are not affected by the choice of the physical networks. The IP protocol exchanges messages between hosts A and B and the two routers. In this example different host-to-network layer protocols are employed in the different physical networks to carry the IP protocol data units.