<<
>>

THE INTERNET’S ORIGINAL ARCHITECTURE

14.4.1 The Internet and the Layering Principle

The Internet’s original architecture was based on a variant of the layering principle called ‘relaxed layering with a portability layer’.50

The architecture of the Internet consists of four layers: the lowest layer is the link layer, followed by the Internet layer, the transport layer, and the application layer.51 While the lower layers - the layers up to the Internet layer - are implemented on end hosts and on computers in the core of the network, the higher layers - the layers above the Internet layer - only have to be implemented on end hosts.52

The application of ‘relaxed layering with a portability layer’ imposes constraints on the interactions among protocols belonging to different layers and on the number of protocols that may populate a layer.

The Internet layer is designated as the portability layer. Layers above the Internet layer are allowed to invoke the services of protocols in the same layer or in any layer below them, down to the Internet layer, but they are not allowed to directly invoke the services of protocols in a layer below the Internet layer. As in any layered architecture, lower-layer protocols are not allowed to invoke the services of higher-layer protocols. Whereas the Internet layer is restricted to a single protocol (the Internet Protocol), other layers may host a variety of different protocols. The resulting structure of protocol dependencies is often likened to an hourglass, with the Internet Protocol as the hourglass’s waist (Figure 14.2).53

This design isolates the transport layer and the application layer from changes below

Note: ATM = Asynchronous Transfer Mode; IP = Internet Protocol; HTTP = Hypertext Transfer Protocol; SMTP = Simple Mail Transfer Protocol; TCP = Transmission Control Protocol; UDP = User Datagram Protocol.

Source: Reprinted from van Schewick (2010a, p. 89).

Figure 14.2 Layering in the Internet architecture the Internet layer (and vice versa), and has allowed the lower layers of the Internet to take advantage of new physical network infrastructures and new transmission and link technologies without requiring changes in transport layer protocols or individual applications.

14.4.2 The Internet and the Broad Version of the End-to-end Arguments

During the initial design of the Internet’s architecture, the broad version of the end- to-end arguments shaped the division of functionality between the Internet layer - the highest layer running on computers in the core of the network - and the layers above the Internet layer.54

In line with the guidelines established by the broad version, the Internet layer, the highest layer running on computers in the core of the network, provides a general functionality - transporting data packets from one end host to another - that is of broad utility across applications. All application-specific functionality (i.e., functionality that is only needed by some, but not all applications) is implemented in higher layers at the end hosts.

Originally, the Internet’s architects considered implementing reliable, connection- oriented data transfer in the Internet layer.55 Reliable data transfer and connection- oriented data transfer are application-specific functions that are needed only by some, but not all applications. Thus, implementing these functions in the Internet layer would have violated the broad version of the end-to-end arguments.

Different applications have different needs.56 For example, e-mail and file transfer are very sensitive to packet loss, but can tolerate some delay. By contrast, applications that transmit uncompressed voice or video in real time can tolerate a certain amount of data loss, but suffer from increased delay (or variability of delay). Thus, reliable data transfer - ensuring that data does not get lost and arrives without errors, duplicates, and in the correct order - is an application-specific function.

Similarly, while some applications such as remote log-in or file-sharing send streams of data back and forth between two end hosts, other applications send single packets in one direction. Thus, the provision of connection-oriented data transfer, which establishes a bi-directional virtual path (‘virtual circuit’) through the network over which all data packets travel, is an application-specific function as well.

Although performing error control in the Internet layer increases the performance of applications that need reliability (e.g., e-mail or file transfer), it also increases delay. Thus, implementing this function in the Internet layer optimizes the network for the needs of some applications (those that require reliability), but makes it more difficult or even impossible to support applications that do not need reliability but are sensitive to delay (e.g., applications that transmit uncompressed speech or other media streams in real time). Implementing reliable data transfer in the Internet layer therefore reduces the range of applications that the network can support.57 A similar argument can be made for the provision of connection-oriented data transfer.

By contrast, a network offering unreliable, connectionless packet delivery can support applications that require connection orientation and reliability as well as applications that do not need these functions.58 For applications that require connection orientation and reliability, transport-layer protocols at the end hosts can construct a virtual circuit based on an unreliable packet delivery service at the Internet layer. Applications that do not require these functions can avoid the associated delay and overhead by choosing a different transport-layer protocol that better meets their needs - for example, one that lets them send individual data packets without guaranteeing their delivery and without establishing a bi-directional connection first.

On the basis of these considerations and in line with the broad version of the end- to-end arguments, the Internet’s architects decided to remove application-specific functions such as reliable data transfer and connection orientation from the Internet layer.59 Instead, the Internet Protocol, the only protocol at the Internet layer, provides unreliable connectionless data delivery, a basic service that is of broad utility across applications.60-61 Application-specific functionality is concentrated in higher layers at the end hosts.

In particular, connection orientation and reliable data transfer are imple­mented at the transport layer - the highest layer that only has to be implemented at end hosts. Applications that need these services can use the Transmission Control Protocol (TCP), which provides connection oriented reliable data transfer, while others can use the User Datagram Protocol (UDP), which offers unreliable connectionless data deliv­ery (Figure 14.3).62

Note: IP = Internet Protocol; TCP = Transmission Control Protocol; UDP = User Datagram Protocol.

Source: Reprinted from van Schewick (2010a, p. 100).

Figure 14.3 Distribution of functionality in the Internet’s original architecture

As a consequence of the use of the layering principle and the broad version of the end-to-end arguments, the Internet’s original architecture was application-blind - it was unable to distinguish among the applications on the network - and, as a result, it was unable to make distinction among data packets based on that information.63 Due to the application of the broad version, the Internet’s architecture concentrates all application­specific functionality in protocols at or above the transport layer. The layering principle prevents protocols at the Internet layer or below from accessing the messages exchanged between protocol peers at or above the transport layer and from making assumptions about the content or meaning of these messages, making it impossible to identify the applications on the network without violating the layering principle.

14.5

<< | >>
Source: Bauer J., Latzer M. (Eds.). Handbook on the Economics of the Internet. Edward Elgar,2016. — 603 p.. 2016
More economic literature on Economics.Studio

More on the topic THE INTERNET’S ORIGINAL ARCHITECTURE: