Chapter 1: Overview and History
1.1 What is a computer network?
A computer network (a network in short) is a combination of hardware and software that achieves communication between computers.
Examples for the hardware are: network infrastructure (transmission media, repeaters, hubs, switches, routers, etc.), communicating devices (computers, PDAs, hand-held devices, telemetry devices, etc.) and many other necessary devices. Examples of networking software are user application programs, such as web browsers, e-mail programs, file transfer programs, etc.), protocol programs (system programs that implement layers of protocols), and control programs for controlling the various systems involved in networking (hubs, switches, router, etc.)
The main goal of a computer network is to access, exchange, and share information and resources and ultimately achieve “transparent distributed processing” in which users transparently (disregarding concern for how it is achieved) access information from a network. To achieve this, a multi-layered software that can be classified as “middleware”, is needed that sits atop of an operating system. Then, how is this transparency achieved w/ the middleware? This form of transparent accessing of remote information is the ultimate goal of computer networks and in a broader sense, to achieve a “distributed processing system”. An example of a distributed system is the World Wide Web although to date, the complete transparency is far from being achieved.
A distributed system uses a computer network as its underlying communication system. Even though there is no clear distinction between “computer network” and “distributed processing”, usually “distributed processing” encompasses a larger scope of processing and often includes the underlying “computer networks” as a necessary component.
There has been some research towards a more general, advanced distributed processing. The research has been maintained by the Open Systems Foundation (OSF) and it is called “Distributed Computing Environment (DCE)”. The success or failure of DCE itself is unpredictable but we can see the trend toward distributed processing. Visit the web site by OSF for details.
Figure—A simplified view of Internet—from http://navigators.com/internet_architecture.html







*Analogy
Throughout this book, I would like to use analogies to aid your understanding. However, there is one caveat: analogies aren’t perfect. There will always be discrepancies no matter how good an analogy is. But, analogies are helpful when our knowledge of prior associations can be used to acquire new knowledge. Here I have an analogy between computer networks and the mail and packages delivery services.
Computer network ßà Postal delivery system
-------------------------------------------------------------------------------
User chooses a system (ISP) User chooses a mail carrier- USPS, UPS, FEDEX, …
A message sent by a machine A letter is mailed
A router decides the path to forward Post office decides the next
the message (next router) hop (post office)
Router delivers the message Post office forward mails
Transmission media Postal vehicles (trucks, planes)
Network congestion Mail piling up during X-mas
Distribute processing Various service by post office
1.2 Uses of computer networks---adapted from Tanenbaum
Computers enhanced with networking connectivity are
used in every aspects of the modern society. A glance at how we use them on a
daily basis will
help us understand computer networks and possibly give us a glimpse of what we
may see in the near future.
**Business Networks
Businesses use computers for multitude of different purposes. Let’s list some of them.
- Managing production of goods—scheduling, controlling processes, etc.
- Managing inventories
- Sales
- Orders
- Payroll
- Accounting—payables & receivables
- Management of customers
- Management of employees
In fact, computers can be used in almost every business process. In the early days of computing, each of the above operations required separate applications and exchanged information in manual forms (sending copies of papers, calling by phones, sending magnetic tapes, etc.). At some point businesses found the need to exchange information in a faster and more convenient way.
With a computer network, users’ applications became more and more sophisticated. They started sending files, exchanging short messages, sharing various resources on a network such as printers, large data storage devices such as tape drives and began sharing more complex information such as documents, pictures, video clips, applications, etc. Also the development of microprocessors in the mid-1970s made “personal computers” more affordable and therefore pushed the need for networking further. This “remote access/processing” in which a person uses a microprocessor-based personal computer to access information from a remote mainframe computers became a common practice. This invoked the downsizing of computing facilities. It became more economical to have a large quantity of less powerful computers than to have few very powerful but very expensive mainframe computers located in a headquarters. In 1980s, two important things were happening; downsizing (from mainframes to microprocessors) and networking (distributed processing). The downsizing of computing facilities coincided with the downsizing of companies on the business side.
Using networks, physical resources such as computers, storage devices, printers, scanners, CD-ROMs, etc. are shared. Information such as customer records, inventory records, personnel records, etc. are also shared. As this form of resource sharing became more sophisticated and successful, a new paradigm emerged. This new way of sharing resources was called the “client-server model” in which desktop computers running programs called clients interact with larger computers running programs called servers to access, process, upload and download information. Examples of servers include file servers, web servers, and database servers.
Another important usage of computer networks in business is e-mail (electronic mail) that provides employees with a powerful and indispensable communication tool. E-mail system which started as a simple text message interchange, evolved into a more complex form of information exchanges such as pictures, sound, video clips, etc.
Another important usage which experienced an explosive growth in recent years is in the form of e-commerce (electronic commerce). It is becoming an essential part of many businesses regardless of size. E-commerce can be defined as “the business of selling goods and services on the Internet”.
As the businesses on the Internet become more elaborate, new forms of businesses appear and they are often represented by buzzwords:
B2C: Business-to-Consumer
B2B: Business-to-Business
G2C: Government-to-Consumer
C2C: Consumer-to-Consumer
P2P: Peer-to-Peer
The usage of Internet will continue to grow rapidly. There cannot be any certainty in the future direction of e-commerce.
**Home networks
Since the inception of microprocessors and personal computers in the 1970s, the cost of computers has been dropping in an unbelievable rate. The cost reduction and performance enhancement have been roughly following the “Quadruples every Three years” pattern. For example, in the year 2000, a computer’s RAM size of 64MB was the norm and in 2003, 256MB seems to be the norm. Also, a CPU with 500MHZ in 2000 is the norm but in 2003 it seems that a CPU with 2GHZ may be the norm. Home computers are becoming more powerful and applications are being developed to tap into their great potential. Therefore, home computers have become more of a necessity. This affordability of computers has resulted in many homes with multiple computers. Now, we have already reached the point where the computers at home are not only connected to the Internet but are connected to each other for sharing information.
The usage of networks at home is certainly in its infant stage. It would be hard to predict how the usage will be in the future, but it is inevitable that there will be heavy usages and dependencies on the home networks.
Some of the home network usages are as follows:
· Web browsing—One of the surveys indicate that in 2003, there are about 600 million users who connect to the Internet and surf the net.
· Personal communications
§ e-mail communication is no longer a convenience but a necessity.
§ Also, a personal communication method via Internet called “instant messaging” is a very popular form of sending and receiving messages between small groups of people. This popular application is derived from the UNIX talk program developed around 1970. A larger scale version of this program is popularly employed and called a “chat room” where each chat room can accommodate many participants to exchange messages that can be seen by all participants in real time.
Another popular form of person-to-person communication is called P2P(Peer-to-Peer). P2P is a communication model in which every participant can initiate communication session for sharing information on their machines. This mode of communication can be contrasted with “client-server model” in which a server, a more capable machine, provides services to clients.
IBM’s APPN(Advanced Peer-to-peer Networking) is an example of a P2P. On the Internet, P2P is a popular method of information sharing in which a group of computer users with the same network program(the program usually has both the server and the client components) to connect each other and directly access files from other person’s hard disks.
§ Internet newsgroup is also a popular form of person-to-person communication which works in the form of a bulletin board. One can post a message on the (electronic) bulletin board and people can see it and may respond to the message and the responses can also be seen by all. Compared to “Instant messaging and chatrooms” or to P2P, the newsgroups are non-real time.
**Mobile networks
Laptop computers, PDAs (Personal Data Assistants), Palmtop computers, and cellular phones are popular. Their usage is changing from stand-alone mode to mobile network mode in which users connect to networks while they are moving. Often mobile computing and wireless networking are closely related because many mobile computers may be equipped with wireless capability. But the two are not identical. There are four cases for combining the two.
|
Usage case |
Wireless? |
Mobile? |
|
Desktop computers |
No |
No |
|
A laptop in a hotel room |
No |
Yes |
|
Computers in an unwired building |
Yes |
No |
|
PDAs, Palmtops, Cellular phones |
Yes |
Yes |
Wireless and mobile devices are used more and more in the world of e-commerce. Wireless phones and PDAs are used to purchase goods and service and they are called as m-commerce (mobile-commerce).
**Other Networks
Here are some of the technologies to watch for: Personal Area Network, Wearable computers.
We looked at usage of networks from the point of view of user groups classified as Businesses, home users, mobile users, etc. It would be equally interesting to look at the usage of networks in terms of the content that are transferred, the kinds of data.
In 1960s, with the mainframes’ dominance and primitive computer communication technologies, the main form of data transfer was text-oriented (text files, text messages). With the terminals or Remote Job Entry (RJE) stations (comprised of a keyboard and a printer), text data is exchanged between a terminal(or an RJE station) and the computer. In other words, the content of data was very simple. Only text files were exchanged.
In 1970s, with the development of cheap microprocessors, computer network usage is growing but still the main form of content was texts even though the frequency and the size were increasing. Also, the transfers were not only between a microprocessor and a mainframe but also between microprocessors. This was happening in a LAN level and also in a WAN level. E-mails and file transfers were very popular and gradually replacing the so-called sneaker net—a person carries a floppy diskette to a destination. Also, the remote logins which employs a microprocessor running a terminal emulator program to interact with a remote mainframe computer were another popular form of networking.
In 1980s, sometimes called as “the decade of LANs”, LANs were getting very popular. With the advanced technologies in networking and software, users’ demands on the content of transfer were growing and changing. Not only texts but also voice, graphics, and video messages were exchanged on computer networks. But for the transfer of each kind of information, we needed a separate system (hardware and software) and they existed in a mixed environment. For example, for e-mails we needed an e-mail program and for files we needed a file transfer program, etc. Therefore, some people call it “mixed media”.
In 1990s, Internet was growing in an alarming rate, roughly doubling every year and the exchange modes and contents are getting integrated into one system. In other words, messages comprised of text, audio, graphics, and video were exchanged using software. They were exchanged not using separate systems as in 1980s but using an integrated system. An example of such a system is the World Wide Web and web browsing in which texts, files, pictures, and videos are exchanged in an integrated manner. This mode is sometimes called as “multimedia”.
In the year 2000 and on, we may see the proliferation of complex usage of networks and usage by more and more people. It is worthwhile to look at the many interesting applications/systems that are developed. Here they are:
· Videoconferencing
· Digital Library(e-books)
· IP Telephony
· Videophones
· Internet Radio
· On-demand Video
· Mobile Commerce
· Remote Learning
· Telecommuting
Computer networks will grow and grow and in all practical sense it is not easy to predict the future of networking. We know that many of the predictions went wrong in the history of computing.
1.3 Evolution of computer networks
The Internet and World Wide Web (WWW) are regularly used by people all over the world. Many of us depend upon the Internet applications, such as e-mails, web browsers, and e-commerce to name a few. The Internet has been evolving in an alarming rate in its size and technology and it will certainly continue its evolution in the future. It is worthwhile to look into its evolutionary path so that we know where it came from and where it may be heading.
One important thing we should note here is that computer networks evolved along the evolutionary path of computers. Therefore, it is essential to look at the two together.
(a) Terminals accessing a mainframe computer
In 1960s, we had so called mainframe computers. The usage of computers in that era was like the following. A mainframe computer is housed in a large room and it had by various peripheral devices attached to it, such as punch cards readers, printers, tape drives, and hard disks. As the technology advanced, we began seeing terminals(sometimes called as dumb terminals) which were used to access a computer remotely; to enter data, to execute programs and to display results. Terminals can be located in a range of a large building or a campus using direct wires, often called as serial lines. Through the wires, information were sent bit by bit, therefore the name “serial”. Their nominal speed was in the range of few hundred bits (e.g. 300 bits/sec) to few thousand bits(e.g. 9600 bits/sec). This was a primitive mode of communication in today’s standard and it can not be even called as a computer network. But certainly it was a precursor.
(b) Remote access of mainframe computers via Modems
As the needs for computer processing grew, we began to see the remote access expanding its range. Modems (Modulator/Demodulator) was invented to utilize the existing infrastructure, the telephone network, for transmission of data back and forth between a mainframe computer and remote terminals. This started in early 1960s and has been one of the most popular modes of remote access to computers. We still see this mode used in modern computer networking; millions of home computers use modems to connect to the Internet.
(c) Usage of multiplexers and concentrators to share transmission media
As more and more modems access remote computers, we reached a point where communication cost(mainly the usage of long distance telephone lines) grew and became more significant. Therefore, the line sharing devices such as multiplexers and concentrators were used to reduce the cost.
Also, all of the remote terminals were controlled by the mainframe computer they were accessing. This control was beginning to burden the computer and there was a need for a separate processor controlling the terminals and communications.
(d) The communication processors
The terminal control processors evolved into communication processors which transmit and receive packetized messages between mainframe computers. They not only handle the chores of controlling terminals but also had a more complex function of switching packets. These, once called IMPs(Interface message processors), are now called routers.
This was around late 1960s and early 1970s which was prior to the birth of microprocessors and when the mainframe and miniframe computers were still dominating in the computing world.
(e) ARPANET, the seed for the Internet
The current Internet which is composed of a large number of computer networks was started with a project sponsored by DOD(US Department Of Defense). An organization within DOD was named as ARPA(Advanced Research Projects Agency) and the experimental network that was built initially by ARPA was called the ARPANET in 1969.
ARPANET served as a testbed for developing, prototyping, testing various networking technologies. The most important outcome from the ARPANET was the development of TCP/IP protocol suite that is used on almost all of the current computer networks.
ARPANET was first set up with four nodes connected by minicomputers called IMPs (Interface Message Processors). They were programmed to relay packets (packet switching) and were the forerunners to the routers as we know of today. Therefore, ARPANET was a small computer network in its own right. It was a seed that grew into the Internet that we know and use today. It was like a small snowball rolled from the top of a mountain. It sort of grew itself acquiring many things (hardware, software, social impacts, etc.) along its path and it is still continuing the snowballing.
The ARPANET grew and grew and its connection map is shown in the next figure(as of 1971).
ARPANET started with the speed at 65Kbps digital communication lines which was a revolutionary speed at the time since the normal speed for communication was in the range of few hundred bits per second(300 bps to 2400 bps or more).
(f) ARPANET, Microprocessors, and Internet
A major event for the world of computing occurred in the mid 1970s; the birth of microprocessors. With cheaper microprocessors, the accesses to computers got cheaper and easier. Also, the abundance of cheaper computers fueled the need for computer networks; to connect computer together and exchange information. A new trend for remote communications and distributed processing was beginning. The microprocessors not only revolutionize the computer processing world but also revolutionized the computer networking world. It seems that this incredible cycle of the one(computers) fueling the other(networking) is unstoppable. First international connection to the ARPANET occurred in 1973(to a university in London, England).
Encouraged by the success of ARPANET, several experimental networks and network programs were developed in the early 1980s. The major networks were:
· CSNET—A network for the (academic and industrial) Computer Science community with an initial grant from the U.S. National Science Foundation (NSF).
· USENET—A network based on UNIX' built-in UUCP communication protocols
· BITNET—A network which linked academic mainframe computers.
With the exception of BITNET and USENET, these early networks (including ARPANET) were purpose-built - i.e., they were intended for, and largely restricted to, closed communities of scholars; there was hence little pressure for the individual networks to be compatible and, indeed, they largely were not. In addition, alternate technologies were being pursued in the commercial sector, including XNS from Xerox, DECNet, and IBM's SNA.
Most of these early networks, except BITNET and USENET, were intended for certain closed communities of scholars and researchers and these networks were largely not compatible each other.
Also alternate technologies(other than ARPANET’s TCP/IP protocols) were being developed in the commercial sector, including XNS from Xerox, DECNet from Digital Equipment Corp., and SNA from IBM But none of them has been as successful as ARPANET’s TCP/IP.
(g) NSFNET and explosive growth of Internet
In 1986, NSF (National Science Foundation) launched NSFNET by installing NSFNET Backbone (Backbone speed of 56Kbps I 1986, upgraded to 1.544Mbps(1988) and to T3 (44.736Mbps) in 1991) to serve higher education community. In fact, the only condition for a U.S. university to receive NSF funding for an Internet connections was that “…the connection must be made available to ALL qualified users on campus." Also the TCP/IP was made mandatory for the NSFNET.
NSF encouraged its regional (initially all academic) networks to solicit commercial, non-academic customers so that the subscription cost can be lowered with sharing. NSF also enforced the “Acceptable Use Policy” (AUP) which prohibited Backbone usage for purposes "not in support of Research and Education." This meant that the non-academic customers can only connect to local or regional level networks. This encouraged the growth of private networks such as PSI, UUNET, ANS CO+RE, and others.
NSF adopted privatization policy and stopped the funding of NSFNET Backbone. The funds from the sales of the backbone were redistributed to regional networks to buy the Internet connectivity from the now numerous, private, long-haul networks.
(h) World Wide Web (WWW)
The WWW technology was released by CERN in 1991. It was developed by Tim Berners-Lee. It was designed to allow cooperation between researchers by combining their knowledge in a web of hypertext documents.
In 1993, a browser program called Mosaic took the Internet by storm. After that event, the size of Internet is commonly said to double every 10 months.
In 1995, On October 24, 1995, the FNC(Federal Networking Council) unanimously passed a resolution defining the term Internet. RESOLUTION: The Federal Networking Council (FNC) agrees that the following language reflects our definition of the term "Internet". "Internet" refers to the global information system that -- (i) is logically linked together by a globally unique address space based on the Internet Protocol (IP) or its subsequent extensions/follow-ons; (ii) is able to support communications using the Transmission Control Protocol/Internet Protocol (TCP/IP) suite or its subsequent extensions/follow-ons, and/or other IP-compatible protocols; and (iii) provides, uses or makes accessible, either publicly or privately, high level services layered on the communications and related infrastructure described herein.
In 1998, e-commerce arrived among many new usages of Internet.
1.4 Functions needed to achieve networking
Computer communication is not quite simple as sending and receiving information. It involves a lot of complex functions to achieve an orderly, error free, and secure communication.
Imagine an analogy between them; Computer communication and Postal system. A letter mailed by you is sorted by postal workers or machines according to its destination and the letters are routed toward the post office that is close to the final destination. A letter may go through many post offices. Now, what about getting a more complex service such as sending a package, sending a registered mail, etc.? You may have seen how the post office provides these services. With this analogy in mind, let’s look at the services that are provided by a network, how they are provided and what components are needed, etc.
Communication Tasks
* Efficient use of shared resources
Transmission systems are made up of many different types of shared medium such as transmission lines, networking devices such as hubs, switches and routers. Another things shared are devices such as printers, storage devices, and servers.
We need good mechanisms to share them efficiently.
* Device Interfacing
Networking devices are connected through transmission media. When a device is connected to a medium, the physical, mechanical, electrical characteristics of the connection point is usually called as “interface”. For example, when a PC is connected to a telephone line, there is an interface point. To clearly define the concepts and terminologies, a communication model is defined and adopted as a standard model. The most widely adopted model is defined by ITU-T in 1970s.
A communication model
DTE--DCE---------DCE--DTE
-Interface points
-format of signal
-intensity of signal
-speed of signal
-mechanical connections
* Need for Synchronization
When two devices talk each other, in essence a string of bits are transmitted. These bits should be correctly recognized by the receiver. The bit boundaries must be identified properly. This is called “bit synchronization”.
Once bits are synchronized, the next step needed is to correctly recognize byte boundary. It is called “byte(character) synchronization”. The final step is called “message synchronization”. In other words, bit boundaries, character boundaries, and message boundaries should be correctly recognized by the receiver.
* Management of message exchanges
When two devices communicate we need some coordination between them. There are three basic steps; Initialize, maintain and terminate.
Initialize: Communication can not just happen by sending data. A sender and a receiver must be both ready. A sender must initiate the communication by sending a message called “connection request” and a receiver may (or may not) agree by sending “connection confirmation”(or “connection reject”).
Maintain: This is data exchange pace. Messages are exchanged between two machines. We need a tight control during this exchange pace; to handle messages hit by noise (usually by detecting and resending), to control the flow (a receiver must not be swamped with data at the rate it can not handle).
Terminate: We need to tear down the connection whenever needed so that two devices will not waste resources unnecessarily.
* Error detection & correction
Noise may hit the data during transmission. Even when one bit is hit by noise, the entire message becomes useless and must be discarded. Therefore, we need an efficient mechanism for the detection of errors. This is usually done by an error detection code such as CRC (Cyclic Redundancy Check) code.
* Flow control
A receiver may not be able to accept the data being sent by a sender. This many occur due to the speed differences between devices and by the temporary busy conditions of receiver or the communication network. This will result in the waste of resources; sender, receiver, and the network bandwidth. There must be an effective mechanism to reduce the waste.
* Addressing
When computers communicate each other, they need some kinds of identifications. They are called “addresses”. An example of addressing is “IP addresses”. Every machine connected to Internet must have an IP address.
* Traffic control
Sending a message over the Internet is like sending a letter over the postal service. Routing decisions (for the best route) should be carefully made to achieve higher efficiency and there should be some kinds of control over congestion problem.
* Recovery
The network infrastructure (the connection structure) is not immune to faulty conditions. Communication lines, hardware, and software can not work perfectly all the time. When a fault such as a faulty hardware, faulty communication line, or software malfunction occurs, we need a mechanism to recover from it.
* Message Formats
Networking, in a simple sense, is for exchanging messages between machines. When messages are exchanged they should make sense, therefore there should be an agreed format for the messages.
* Security
As more and more sensitive information is transmitted over the Internet, the security of the information becomes a major issue.
* Network management
As the complexity of networks grows, the need for the proper management of the networks grew. The main concerns for the management are:
- To locate, isolate failures
- To control network congestions
- To optimize for better efficiency
- To manage the growth
We looked at the main functions needed for networks. Now, let’s look at a communication model for networks. We need a generic model for understanding the concepts of networking.
We need a device that sends and receives data. It is called “DTE (Data Terminal Equipment)”. An example of a DTE is a PC that we use to connect to the Internet. The data sent and received should travel through a communication system. An example is the telephone network that we use to connect a computer equipped with a modem. When we make a connection to a communication system we need to use a specialized device that can send/receive signals that are acceptable to the communication system. The devices are called “DCE (Data Circuit-Terminating Equipment)”. An example of a DEC is a modem (either a voice modem, cable modem or DSL modem).

A communication system provides either a circuit switching service or a packet switching service. An example of a circuit-switching service is the telephone system in which a dedicated circuit is established before any communication occurs. An example of packet switching is a computer network such as a LAN in which a message is divided into fixed size unit called “packets” and the packets are switched (sent to next route) by network devices called “routers”.