CHAPTER 1
INTRODUCTION
The history of computers dates back more than 60 years. In the initial two decades, computers were operated largely as standalone machines, and primarily served as powerful number crunchers. About a decade later, the need for devising techniques to let applications running on different computers share information with each other was felt. This led to the birth of computer communication networks. An interconnected set of computers made it possible to develop powerful information sharing applications. This was in contrast to the plain number crunching applications that existed. This exemplified the potential advantages that computer communication networks can bring and caused the nascent computer communication technology to evolve at a rapid pace.
The mind boggling progress achieved in the area of computing technologies over the relatively short time span of the last six decades is now folklore. But even that pales when compared to the progress that has been achieved over the last half a century in the field of computer networking technologies. The dizzying speed with which computer networking technologies have advanced can be gauged from the fact that, almost every decade, the scope and contents of every networking textbook have been dramatically revised. In the following, we recount a few milestones in this evolution.
1.1 Rapid Evolution of Voice and Data Communication Techniques
In a groundbreaking work, Samuel Morse publicly demonstrated in 1838 that pulses of electric current can be used to move an electromagnet placed in a remote machine to produce dots and dashes on a piece of paper. The crude prototype demonstrated by Morse soon evolved into the telegraph system. The telegraph system revolutionized communications with far off places. However, with its inherent dot-and-dash Morse code mechanism, its use was largely restricted to communications of simple text messages. About 40 years later, in 1876, Alexander Graham Bell showed that voice signals can be transmitted as encoded time varying electric currents and then the current received at a remote destination can be used to reconstruct the voice signals. Bell’s prototype was soon made into a simple telephone system that consisted of a pair of connected phone handsets. Such a simple telephone system could be used to connect a pair of fixed users. For example, a pair of phones could link two offices of a company. This was a network of size two (number of nodes is 2) and was obviously of very limited utility, as the utility of a telephone network is proportional to the square of the number of the nodes in the network. Shortly afterwards, on-demand connection establishment among different pairs of telephone handsets belonging to various subscribers was achieved through the use of manually operated exchanges. With the discovery of automatic telephone exchange technologies in 1879, circuit switching among different handset pairs became possible, and a subscriber could talk to other subscribers by simply dialing their numbers. This came to be known as the Public Switched Telephone Network (PSTN) system. A switch located in a telephone exchange could route calls to other exchanges. Efficient communication among subscribers residing in far away cities became possible with the invention of signal multiplexing techniques. Signal multiplexing made it possible to transmit multiple calls over the same trunk line. This led to more efficient usage of the physical medium.
Development of signal filtering techniques helped to reduce cross talk and other forms of noise in a phone call. The connection between two exchanges became known as a trunk line. The name trunk (analogous to a tree trunk) denotes that multiple communications are carried on the same line through use of either time division or frequency division multiplexing techniques. Initially, the telephone system carried only voice traffic and therefore was called a voice network. This completely analog technology is now called Plain Old Telephone Service (POTS) to differentiate it from the modern telephone systems, which, to a large extent, are carrying digital data with the help of many computing and electronic devices, rather than using analog devices such as filters, multiplexers, amplifiers, etc.
Wireless communication technology evolved independently almost over the same period of time as its wired counterpart. Wireless communication was born with the ground-breaking work of Guglielmo Marconi in 1899, when he made a bell ring at a remote place by pressing a button in the absence of any wired connections. Marconi’s prototype was quickly commercialized, and it rapidly evolved into a host of technologies such as radio, wireless telegraphy, and wireless telephony.
1.2 Evolution of Computer Communication Networks
It was realized by many that the true power of number-crunching computers could be exploited by interconnecting them. They imagined that inter-computer communications could tremendously raise the practical utility of the number-crunching computers and convert them into processors of information or information systems. They visualized that an information system could gather data over geographically spread out locations and then process them to achieve useful results.
When the possibility of realizing technology that can enable computers to communicate was first investigated during the 1960s, researchers naturally tried to make use of the telephone networks that already existed at that time (the Plain Old Telephone service (POTS) networks) for carrying data. However, this effort encountered two major obstacles:
• First, computers communicate digital data among each other and not analog voice signals. The problem caused by this fact concerned the following: “How can digital data be transmitted over POTS networks?” This was a relatively easy problem to solve, as modems could be developed to encode digital data over an analog carrier signal that could efficiently be transmitted on a telephone network.
• The second problem was more severe. POTS networks used circuit switching to establish connections among pairs of users. Circuit switching involved allocating a fixed amount of bandwidth to each connection. On the other hand, transport of bursty traffic is the hallmark of all computer data communications. Reserving bandwidth for bursty traffic clearly leads to a huge waste of bandwidth. Packet switching is much more advantageous for communications involving bursty traffic. However, so much investment had already been made in setting up POTS networks that the potential advantages that packet switching could offer had to be ignored. Packet switching could not be implemented for a long time, as it would have required immediate overhauling of the existing circuit-switched exchanges into which billions of dollars of investments had already been made.
The inefficiency of POTS networks in carrying data traffic caused the inherently efficient data networks (also known as computer communication networks) to independently and speedily evolve. It may be worthwhile to note that initially computer communication networks carried alphanumeric data only and hence were called data networks, whereas POTS networks carried voice information only and hence were called voice-oriented networks. Data networks no longer carry alphanumeric ASCII data, but carry various types of data such as images, encoded information, etc. Therefore, these can be more appropriately called bit streams. However, the name data networks has stuck. In later generation networks, voice and data networks are slowly becoming indistinguishable for reasons we discuss later.
It is important to know the key ways in which data networks differ from POTS networks. A principal way in which they differ is that a POTS network carries analog signals and uses circuit switching effected by exchanges, whereas data networks carry digital data in packets and packet switching is provided by networking devices such as hubs, switches, routers, and gateways.
Table 1.1: Landmark events in the evolution of computer communication networks
Late 1960s | First data communication over voice telephone networks |
Late 1970s | Development of TCP/IP and design of the Internet |
Early 1980s | Commercial usage of Ethernet |
Late 1980s | Commercial usage of Internet |
Early 1990s | First usage of World Wide Web |
Late 1990s | Usage of wireless data networks |
Data networks and protocols evolved in a much more remarkable way compared to POTS networks. In Table 1.1, we have summarized the landmark events in the evolution of data networks. As already pointed out, the first computer data communications over telephone networks occurred in the early 1960s. This was achieved by modulating digital data on a carrier wave form. Another major milestone was reached when TCP/IP was developed as part of the ARPANET project of the US Department of Defense (DoD), which wanted to develop technologies to connect dissimilar networks that were spread over a large geographic area.
Initially, TCP was called Transmission Control Program and was written as a single program. Later, in March 1978, TCP was split into two different protocols: Transmission Control Protocol (TCP) and Internet Protocol (IP). This splitting of TCP into TCP and IP became necessary because, as far as streaming data is concerned, fast transp...