TCPIP and the Internet ISO OSI Reference Model

The common thread that ties the enormous Internet community together is TCPIP network software. The name TCPIP refers to an entire suite of data communication protocols that define how different types of computers talk to each other. The suite gets its name from two of the protocols that belong to it: the transmission control protocol TCP and the Internet protocol IP. Although there are a number of other protocols in the suite, TCP and IP are the best known. In 1969 the Defense Advanced Research Projects Agency DARPA started a research and development project to create an experimental packet switching network. This network was named A R P A N E T , and was built to explore techniques for providing robust, reliable, and vendor−independent data communications. The project outputs far surpassed all expectations, and a number of modern data communication techniques were developed, or at least conceptually solved. The experimental ARPANET was so successful that many of the organizations attached to it began to use it for their daily needs. In 1975 the ARPANET was converted from an experimental network to an operational one, and the responsibility for administering the network was given to the Defense Communications Agency DCA, later renamed the Defense Information System Agency DISA. However, the development of ARPANET did not stop once the network became operational; the basic TCPIP protocols were developed after ARPANET was operational. In 1983 the TCPIP protocols were adopted as MIL standards, and all hosts computers connected to the network were required to convert to the new protocols. To ease this conversion, DARPA funded an expert team to implement TCPIP in BSD UNIX, thus beginning the marriage of UNIX and TCPIP and their triumphant, long−lasting journey. BBN Bolt, Beraneck and Newman, was chosen to facilitate the implementation. The company, located in Boston, MA, was well known in the field of acoustics. As it was located close to MIT the Massachusetts Institute of Technology, it attracted talented MIT graduates and very quickly gained a strong reputation in computer technologies. The project was a real success and was completed extraordinarily well. Todays Internet fully relies on the solutions introduced by BBN. UNIX itself also contributed to the development of inter−computer communication. Besides the TCPIP protocols used primarily to communicate throughout the local area network and more widely, UNIX also provides UUCP for communication with remote, isolated computer sites.

14.3.1 TCPIP and the Internet

In 1983, about the same time TCPIP was adopted as a standard, the term Internet came into common usage. ARPANET was divided into MILNET, the unclassified part of the DDN Defense Data Network, and a new, smaller ARPANET. The term Internet was used to refer to the entire network. In 1990, ARPANET formally passed out of existence, but the Internet continued its growth, and today is greater then ever, encompassing a huge number of networks worldwide. The growth of the Internet has brought many new organizations into the network. The name Internet was originally used only for the network built upon the Internet Protocol. Today, Internet is used to refer to an entire class of networks, mutually connected by a common TCPIP protocol, making them a single worldwide logical network. The term internet lowercase i is also often used as a generic name to describe any collection of separate physical networks, interconnected by a common protocol. Because TCPIP is required for an internet connection, the large number of diverse organizations on the network became familiar with the TCPIP suite and developed many new applications based on these protocols. In the UNIX community, the internet protocols are used for any kind of networking, 326 There is one important administrative issue related to TCPIP. The standardization of TCPIP resulted in only minor differences among UNIX flavors and versions, so the set of available network−related commands and tools, as well as configuration files, on both basic UNIX platforms — BSD and System V — is basically the same.

14.3.2 ISO OSI Reference Model

Network data communications require that each participant in the communication strictly respect a previously specified set of rules. This is the only way that one computer can understand another. In data communication these sets of rules are called protocols. The term protocol is not a new linguistic creation specific to data communication; it was borrowed from diplomacy, another field of human activity. Protocols are formal rules of behavior; in international relations, protocols minimize the problems caused by cultural differences when various nations work together. By agreeing to a common set of rules that are widely known and independent of any nations customs, diplomatic protocols minimize misunderstandings; everyone knows how to act and how to interpret the actions of others. Similarly, when computers communicate, it is necessary to define a set of rules to govern their communications. An architectural model developed by the International Standards Organization ISO is frequently used to describe the structure and function of data communication protocols. This architectural model, called the Open System Interconnect OSI Reference Model, provides a common reference for discussing communication issues. The terms defined by this model are well understood and widely used in the data communication community, and it is difficult to discuss data communications without using OSIs terminology. The ISO OSI Reference Model contains seven layers that define the functions of data communication subsystems. Each layer of the OSI model represents a set of functions performed when data is transferred between cooperating applications across an intervening network. The OSI model is presented in Figure 14.3; each layer is identified by its name and a short functional description. In Figure 14.3 we see that the model is like a pile of building blocks stacked one upon another; often this structure is called a stack or a protocol stack. APPLICATION LAYER Network−related application programs PRESENTATION LAYER Standardization of data presentation to the applications SESSION LAYER Management of sessions between applications TRANSPORT LAYER End−to−end error detection and correction NETWORK LAYER Management of connections across the network 327 Reliable data delivery Includes LLC and MAC sub−layers PHYSICAL LAYER Physical characteristics of the network media Figure 14.3: The ISO OSI reference model. A layer does not define a single protocol; it defines data communication functions that may be performed by any number of protocols. Therefore, any layer may contain multiple protocols, each providing a service suitable for the functions of that layer. For example, at the Application Layer there are a number of network application protocols a file transfer protocol, an electronic mail protocol, a telnet protocol, etc.. Layers communicate among themselves. Every protocol on any layer communicates with its peer; a peer is an implementation of the same protocol in the equivalent layer on a remote system for example, the file transfer protocol on a remote site is the peer of the local file transfer protocol. It is necessary for peer layer communications to be standardized for a successful data communication. In the abstract, each protocol is only concerned with communicating with its peer; it does not care about the layer above or below it. However, the peer layers do not communicate directly; real data flow is different from a logical one. The upper layers rely on the lower layers to transfer the data over the underlying network. Data is passed down the stack from one layer to the next, until it is transmitted over the network by the physical layer protocols physical layer defines a way, or rather, the ways, in which data are modulated and transmitted over communication media. On the other side, at the remote end, the data is passed up the stack to the peer layer, i.e., receiving application. The individual layers do not need to know how the layers above and below them function; they only need to know how to pass data to them. This is presented in Figure 14.4. Figure 14.4: Data communication between OSI layers. By splitting the data communication into a number of layers and isolating communication functions in different layers, the impact of technological changes on the entire protocol suite is minimized. It also makes the data communication system open for upgrades and extremely flexible in implementation. There are also some other advantages: it is very easy to replace an entire layer with a new hopefully better one without any impact on the other layers. The only disadvantage is the unavoidable overhead in data processing during the journey through the layers, but considering the benefits, this does not present a serious problem. 328 A brief description of the ISO OSI model from a network data communication standpoint follows: Application Layer This layer is the level of the protocol hierarchy where the user−accessed network processes reside. This includes all of the processes that users interact with directly, as well as other processes at this level of which users are not necessarily aware. This is actually the layer that is continuously upgraded; each new network application specifies a new application−specific protocol to be managed by this layer. Presentation Layer This layer provides standard data presentation routines. In the exchange of data, the cooperating applications must agree on how data is represented. Session Layer This layer manages the sessions connections between cooperating applications. Transport Layer This layer guarantees that the receiving site gets the data exactly as it was sent, i.e., it ensures the completeness of the data transportation. Network Layer This layer manages connections across the network and isolates the upper layer protocols from the details of the underlying network. It handles the addressing and delivery of data. Data Link Layer This layer handles a reliable delivery of data across the underling network. The layer is basically divided into two sublayers: Logical Link Control LLC, the hardware independent sublayer • Media Access Control MAC, the hardware dependent sublayer • Physical Layer This layer defines the characteristics of the network interface hardware needed to carry the data transmission signal. Details such as voltage levels, number and location of interface pins, signal modulation, and so on, are specified here. Ethernet standard IEEE 802.3 is an example. It is not mandatory for each layer to exist in any practical implementation. Unnecessary layers can be skipped, as in the case of the router in Figure 14.4. It has the same effect as when several layers are joined together into one layer.

14.3.3 TCPIP Protocol Architecture