Unit I
Unit I
COMPUTER NETWORKS
UNIT - I
NETWORK HARDWARE :
Network hardware is a set of physical or network devices that are essential for
interaction and communication between hardware units operational on a
computer network. These are dedicated hardware components that connect to
each other and enable a network to function effectively and efficiently.
Routers: A router connects two or more networks. One common use of the
router is to connect a home or office network (LAN) to the internet (WAN). It
generally has a plugged-in internet cable along with cables that connect
computers on the LAN. Alternatively, a LAN connection can also be wireless
(Wi-Fi-enabled), making the network device wireless. These are also referred to
as wireless access points (WAPs).
Hubs, bridges, and switches: Hubs, bridges, and switches are connecting units
that allow multiple devices to connect to the router and enable data transfer to
all devices on a network. A router is a complex device with the capabilities of
1
hubs, bridges, and even switches.
Bridges: A bridge connects two separate LAN networks. It scans for the
receiving device before sending a message. This implies that it avoids
unnecessary data transfers if the receiving device is not there. Moreover, it also
checks to see whether the receiving device has already received the message.
These practices improve the overall performance of the network.
2
Network hardware is defined as a set of physical or network devices that are
essential for interaction and communication between hardware units
operational on a computer network. This article looks at the fundamentals of
network hardware, network architecture and its key components, challenges
of network hardware, and the top 10 best practices for efficient network
hardware management for 2022.
4
Network cables: Cables connect different devices on a network.
Today, most networks have cables over a wireless connection as
they are more secure, i.e., less prone to attacks, and at the same time
carry larger volumes of data per second.
Firewall: A firewall is a hardware or software device between a
computer and the rest of the network open to attackers or hackers.
Thus, a LAN can be protected from hackers by placing a firewall
between the LAN and the internet connection. A firewall allows
authorized connections and data-like emails or web pages to pass
through but blocks unauthorized connections made to a computer or
LAN.
5
These include four key components:
1. Hardware
Hardware refers to network devices that form the core of any network. These
include user devices (laptops, PDAs, mobile phones), routers, servers, and
gateways.
2. Transmission media
3. Protocols
Protocols refer to the rules that govern data movement between network
devices.
4. Topology
Network topology defines how the network is wired together and highlights the
network’s structure.
6
1. Physical connectivity challenges
3. DNS issues
Domain name system (DNS) is analogous to a directory for the internet, and
every internet-connected device matches domain names with the IP addresses of
the websites.
4. Temperature issues
1. Ventilation problems
As the temperature of the network equipment rises, the performance and speed
of its operation slow down. It can even break down in some cases.
7
2. Overutilization of capacity
4. Battery overuse
The efficiency of a battery takes a hit once 80% of its energy is utilized.
Draining the battery can cause cache data loss or a sudden device or server
shutdown.
8
Personal Area Network (PAN)-
PAN is a personal area network having an interconnection of personal
technology devices to communicate over a short distance. It covers only less
than 10 meters or 33 feet of area. PAN has fewer users as compared to other
networks such as LAN, WAN, etc. PAN typically uses some form of wireless
technology. PAN involves the transmission of data between information
devices such as smartphones, personal computers, tablet computers, etc.
Local Area Network (LAN) :
LAN or Local Area Network connects network devices in such a way
that personal computers and workstations can share data, tools, and
programs. The group of computers and devices are connected together
by a switch, or stack of switches, using a private addressing scheme as
defined by the TCP/IP protocol. Private addresses are unique in relation
to other computers on the local network. Routers are found at the
boundary of a LAN, connecting them to the larger WAN.
Data transmits at a very fast rate as the number of computers linked is
limited. By definition, the connections must be high-speed and relatively
inexpensive hardware (Such as hubs, network adapters, and Ethernet
cables). LANs cover a smaller geographical area (Size is limited to a few
kilometers) and are privately owned. One can use it for an office
building, home, hospital, school, etc. LAN is easy to design and maintain.
A Communication medium used for LAN has twisted-pair cables and
coaxial cables. It covers a short distance, and so the error and noise are
minimized.
Early LANs had data rates in the 4 to 16 Mbps range. Today, speeds are
normally 100 or 1000 Mbps. Propagation delay is very short in a LAN.
The smallest LAN may only use two computers, while larger LANs can
accommodate thousands of computers. A LAN typically relies mostly
on wired connections for increased speed and security, but wireless
connections can also be part of a LAN. The fault tolerance of a LAN is
more and there is less congestion in this network. For example A bunch
of students playing Counter-Strike in the same room (without internet).
Metropolitan Area Network (MAN) –
MAN or Metropolitan area Network covers a larger area than that of a
LAN and smaller area as compared to WAN. It connects two or more
computers that are apart but reside in the same or different cities. It
covers a large geographical area and may serve as an ISP (Internet
Service Provider). MAN is designed for customers who need high-speed
connectivity. Speeds of MAN range in terms of Mbps. It’s hard to design
and maintain a Metropolitan Area Network.
9
The fault tolerance of a MAN is less and also there is more congestion
in the network. It is costly and may or may not be owned by a single
organization. The data transfer rate and the propagation delay of MAN
are moderate. Devices used for transmission of data through MAN are
Modem and Wire/Cable. Examples of a MAN are the part of the
telephone company network that can provide a high-speed DSL line to
the customer or the cable TV network in a city.
Wide Area Network (WAN) –
WAN or Wide Area Network is a computer network that extends over a
large geographical area, although it might be confined within the bounds
of a state or country. A WAN could be a connection of LAN connecting
to other LANs via telephone lines and radio waves and may be limited to
an enterprise (a corporation or an organization) or accessible to the
public. The technology is high speed and relatively expensive.
There are two types of WAN: Switched WAN and Point-to-Point WAN.
WAN is difficult to design and maintain. Similar to a MAN, the fault
tolerance of a WAN is less and there is more congestion in the network.
A Communication medium used for WAN is PSTN or Satellite Link. Due
to long-distance transmission, the noise and error tend to be more in
WAN.
WAN’s data rate is slow about a 10th LAN’s speed since it involves
increased distance and increased number of servers and terminals etc.
Speeds of WAN ranges from a few kilobits per second (Kbps) to
megabits per second (Mbps). Propagation delay is one of the biggest
problems faced here. Devices used for the transmission of data through
WAN are Optic wires, Microwaves, and Satellites. An example of a
Switched WAN is the asynchronous transfer mode (ATM) network and
Point-to-Point WAN is a dial-up line that connects a home computer to
the Internet.
10
Wireless Networks:
Computer networks that are not connected by cables are called wireless
networks. They generally use radio waves for communication between the
network nodes. They allow devices to be connected to the network while
roaming around within the network coverage.
11
Installation and setup of wireless networks are easier.
New devices can be easily connected to the existing setup since they
needn’t be wired to the present equipment. Also, the number of
equipment that can be added or removed to the system can vary
considerably since they are not limited by the cable capacity. This makes
wireless networks very scalable.
Wireless networks require very limited or no wires. Thus, it reduces the
equipment and setup costs.
HOME NETWORKS:
A home network is a group of devices – such as computers, game
systems, printers, and mobile devices – that connect to the Internet and each
other. Home networks connect in two ways: A wired network, which connects
devices like printers and scanners with cables.
Modem
Router
Network Switch
Network Bridge
Home Automation Controller
There are two main types: Wired and wireless. This refers to how your
devices accessing the internet connect to your LAN. For a wired network, this
usually comes into your house from your cable line and then plugs into a
modem and/or router.
12
NETWORK SOFTWARE :
13
Protocol Hierarchies:
A protocol is a set of rules which are followed by the communicating
entities for data communication.
Protocol Hierarchies
14
The purpose of every layer is to offer a certain service to the higher layers,
shielding those layers from the details of how the offered services are actually
implemented.
Layer n in one machine carries on a conversation with layer n on another
machine, the rules and conventions used in this conversation are collectively
known as layer n "protocol".
Setp 1 − Generally the entities present on different layers are called peers
who are present on different machines.
Setp 2 − There is no data transferred directly from layer n on one machine
to layer n on another machine.
Setp 3 − Each layer passes data and control information to the layer
below it, until the lowest layer is reached.
Setp 4 − Below layer 1 there is a "physical medium" through which the
actual communication occurs.
Setp 5 − In the above figure the virtual communication is shown by
dotted lines and physical communication by solid line.
15
Setp 6 − Between each pair of adjacent layers there is an "interface", the
interface defines which operations and services that the lower layer offers
to the upper layer through it.
Setp 7 − A list of protocols used by system one protocol per layer is
called a "protocol stack".
Reliability
Scalability
Addressing
Error Control
Flow Control
If the rate at which data is produced by the sender is higher than the rate
at which data is received by the receiver, there are chances of overflowing the
receiver. So, a proper flow control mechanism needs to be implemented.
Resource Allocation
Statistical Multiplexing
Routing
There may be multiple paths from the source to the destination. Routing
involves choosing an optimal path among all possible paths, in terms of cost
and time. There are several routing algorithms that are used in network
systems.
Security
Both Connection-oriented service and Connection-less service are used for the
connection establishment between two or more two devices. These types of
services are offered by the network layer.
18
Connection-less service is related to the postal system. It does not include any
connection establishment and connection termination. Connection-less Service
does not give a guarantee of reliability. In this, Packets do not follow the
same path to reach their destination.
Service Primitives:
Service generally includes set of various primitives. A primitive simply means
Operations. A Service is specified by set of primitives that are available and
given to user or other various entities to access the service. All these
primitives simply tell the service to perform some action or to report on action
that is taken by peer entity. Each of the protocol that communicates in layered
architecture also communicates in peer-to-peer manner with some of its remote
protocol entity. Primitives are called calling functions between the layers that
are used to manage communication among the adjacent protocol layers i.e.,
among the same communication node. The set of primitives that are available
generally depends upon the nature of the service that is being provided.
20
Request – This primitive is transferred or sent to Layer N by Layer (N+1)
to just request for service.
Indication – This primitive is returned by Layer N to Layer (N+1) to just
advise of activation of service that is being requested or of action that is
initiated by the service of Layer N.
Response – This primitive is simply provided by Layer (N+1) in reply to
indication primitive. It might acknowledge or complete action that is
previously invoked by indication primitive.
Confirm – This primitive is returned by the N th layer to the
requesting (N+1)st layer to simply acknowledge or complete action
that is previously invoked by request primitive.
Parameters of Service Primitives : Some of the Service Primitives need
parameters. These are given below :
Connect. Request – The initiating entity does this Connect. Request. It just
specifies and determines machine that we want to get connected to, type of
service that is being desired, and maximum size of packet or message that is
used on connection.
Connect. Indication – The receiver gets this Connect. Indication. It just
specifies caller’s identity service that we want to use like FTP and Telnet,
etc., and maximum size of packets that are exchanged.
Connect. Response – It just specifies whether or not it wants to accept or
simply reject connection that is being requested.
Connect. Confirm – It just finds out or determines what happened
using the entity that is issuing the initial Connect. Request.
21
Primitives of Connection-Oriented Service :
Primitive Meaning
When server is ready to accept request of incoming connection, it
simply put this primitive into action. Listen primitive simply
Listen waiting for incoming connection request.
This primitive is used to connect the server simply by creating or
Connect establishing connection with waiting peer.
Accept This primitive simply accepts incoming connection from the peer.
These primitive afterwards block the server. Receive primitive
Receive simply waits for incoming message.
This primitive is put into action by the client to transmit its
request that is followed by putting receive primitive into action to
Send get the reply. Send primitive simply sends or transfer the
message to the peer.
This primitive is simply used to terminate or end the connection
Disconnect after which no one will be able to send any of the message.
On the other hand, a protocol refers to a set of rules and conventions governing
the format and interpretation of different components of a frames, packets or
messages by peer entities within a layer.
22
The OSI Reference Model :
It may be noted that the OSI model itself is not a network architecture because it
does not specify the exact services and protocols to be used in each layer. It just
tells what each layer should do.
The OSI model has seven layers. The principles that were applied to arrive at the
seven layers are as follows:
23
1) The Physical Layer:
The physical layer is concerned with transmitting raw bits over a
communication channel. The design issues have to do with making sure that
when one side sends a 1 bit, it is received by the other side as a 1 bit, not as a 0
bit. Typical questions here are …
how many volts should be used to represent a 1 and how many for a 0
how many microseconds a bit lasts
whether transmission may proceed simultaneously in both directions
how the initial connection is established and how it is broken down
when both sides are finished
how many pins the network connector has and what each pin is used for
The design issue here largely deal with mechanical, electrical, and procedural
interfaces, and the physical transmission medium, which lies below the
physical layer.
Since the physical layer merely accepts and transmits a stream of bits without
any regard to meaning or structure, it is up to the data link layer to create and
recognize frame boundaries. This can be accomplished by attaching special bit
patterns to the beginning and end of the frame. If these bit patterns can
accidentally occur in the data, special care must be taken to make sure these
patterns are not incorrectly interpreted as frame delimiters.
A noise burst on the line can destroy a frame completely. In this case, the data
link layer software on the source machine can re-transmit the frame. However,
multiple transmissions of the same frame introduce the possibility of duplicate
frames. A duplicate frame could be sent if the acknowledgement frame from
the receiver back to the sender were lost. It is up to this layer to solve the
problems caused by damaged, lost, and duplicate frames.
Another issue that arises in the data link layer is how to keep a fast transmitter
from drowning a slow receiver in data. Some traffic regulation mechanism must
be employed to let the transmitter know how much buffer space the receiver has
24
at the moment. Frequently, this flow regulation and the error handling are
integrated.
Data Link protocols typically include some means of error detection based on
some simple check-sum included at the end of the frame. It also provides
access methods such as CSMA/CD, Token Ring, etc. for LANs.
Examples of this type of protocol includes HDLC (from ISO), SDLC (from
IBM), ADCCP (from ANSI).
3) The
Network Layer:
The network layer is concerned with controlling the operation of the subnet.
A key design issue is determining how packets are routed from source to
destination. Routes can be based on static tables that are "wired into" the
network and rarely change
If too many packets are present in the subnet at the same time, they will get in
each other's way, forming bottlenecks. The control of such congestion also
belongs to the network layer.
Since the operators of the subnet may well expect remuneration for their efforts,
there is often some accounting function built into the network layer. At the very
least, the software must count how many packets or characters or bits are sent
by each customer, to produce billing information. When a packet crosses a
national border, with different rates on each side, the accounting can become
complicated.
When, a packet has to travel from one network to another to get to its
destination, many problems can arise. The addressing used by the second
network may be different from the first one. The second one may not accept
the packet at all because it is too large. The protocols may differ, and so on. It
is up to the network layer to overcome all these problems to allow
heterogeneous networks to be interconnected.
4) The
Transport Layer:
The basic function of the transport layer is to accept data from the session
25
layer, split it up into smaller units if need be, pass these to the network layer,
and ensure that the pieces all arrive correctly at the other end. Furthermore, all
this must be done efficiently, and in a way that isolates the upper layers from
the inevitable changes in the hardware technology.
The transport layer also determines what type of service to provide the
session layer, and ultimately, the users of the network. The most popular type
of transport connection is an error-free point-to-point channel that delivers
messages or bytes in the order in which they were sent. However, other
possible kinds of transport service are transport of isolated messages with no
guarantee about the order of delivery, and broadcasting of messages to
multiple destinations. The type of service is determined when the connection
is established.
The transport layer is a true end-to-end layer, from source to destination. In other
words, a program on the source machine carries on a conversation with a similar
program on the destination machine, using the message headers and control
messages. In the lower layers, the protocols are between each machine and its
immediate neighbors, and not by the ultimate source and destination machines,
which may be separated by many routers. This difference between layers 1
through 3, which are chained, and layers 4 through 7, which are end-to-end, is to
be noted.
One of the services of the session layer is to manage dialogue control. Sessions
can allow traffic to go in both directions at the same time, or in only one
direction at a time. If traffic can only go one way at a time (analogous to a
single rail- road track), the session layer’s job is to keep track of whose turn it
is.
Common session layer protocols are DARPA’s File Transfer Protocols and
OSI’s Session Layer Protocols.
27
A typical example of a presentation service is encoding data in a standard
agreed upon way. Most user programs do not exchange random binary bit
strings. They exchange things such as people's names, dates, amounts of money,
and invoices. These items are represented as character strings, integers, floating-
point numbers, and data structures composed of several simpler items. Different
computers have different codes for representing character strings (e.g., ASCII
and Unicode), integers (e.g., Little Endian and Big Endian), and so on. In order
to make it possible for computers with different representations to
communicate, the data structures to be exchanged can be defined in an abstract
way, along with a standard encoding to be used. The presentation layer manages
these abstract data structures and converts from the representation used inside
the computer to the network standard representation and back.
Examples of protocols for this layer are Xerox’s Carrier Protocol and DARPA’s
TELNET.
7) TheApplication Layer:
The application layer contains a variety of protocols that are commonly needed.
For example, there are hundreds of incompatible terminal types in the world.
Consider the plight of a full screen editor that is supposed to work over a
network with many different terminal types, each with different screen layouts,
escape sequences for inserting and deleting text, moving the cursor, etc.
Another application layer function is file transfer. Different file systems have
different file naming conventions, different ways of representing text lines, and
so on. Transferring a file between two different systems requires handling these
and other incompatibilities. This work, too, belongs to the application layer, as
do electronic mail, remote job entry, directory lookup, and various other
general-purpose and special-purpose facilities.
28
OSI Reference Model NOTES - 2:
There are n numbers of users who use computer network and are located over the
world. Therefore, national and worldwide data communication systems must be
developed which h are compatible to communicate with each other. ISO has
developed a standard Model of Network Data Communication. ISO stands for
International organization of Standardization. This is called a model for Open
System Interconnection (OSI) and is commonly known as OSI model. The ISO-
OSI model is a seven layer architecture. It defines seven layers or levels in a
complete communication system. They are:
1. Application Layer
2. Presentation Layer
3. Session Layer
4. Transport Layer
5. Network Layer
6. Datalink Layer
7. Physical Layer
protocols.
29
Model can be shown as:
Physical Layer :
from the physical layer of the sending device to the physical layer of
At the data link layer, directly connected nodes are used to perform
data link layer also corrects errors that may have occurred at the
physical layer.
Network Layer :
The network layer is responsible for receiving frames from the data link
the addresses contained inside the frame. The network layer finds the
this layer, routers are a crucial component used to quite literally route
30
Transport Layer:
The transport layer manages the delivery and error checking of data packets. It
regulates the size, sequencing, and ultimately the transfer of data between
systems and hosts. One of the most common examples of the transport layer is
Session Layer:
Presentation Layer:
The presentation layer formats or translates data for the application layer based
times also called the syntax layer. This layer can also handle the encryption and
Application Layer:
At this layer, both the end user and the application layer interact directly with
the software application. This layer sees network services provided to end-user
1. OSI model distinguishes well between the services, interfaces and protocols.
31
2. Protocols of OSI model are very well hidden.
Host-to- Network Layer −It is the lowest layer that is concerned with
the physical transmission of data. TCP/IP does not specifically define
any protocol here but supports all the standard protocols.
Internet Layer −It defines the protocols for logical transmission of data
over the network. The main protocol in this layer is Internet Protocol (IP)
and it is supported by the protocols ICMP, IGMP, RARP, and ARP.
Transport Layer − It is responsible for error-free end-to-end delivery
of data. The protocols defined here are Transmission Control Protocol
(TCP) and User Datagram Protocol (UDP).
Application Layer − This is the topmost layer and defines the interface
of host programs with the transport layer services. This layer includes all
high-level protocols like Telnet, DNS, HTTP, FTP, SMTP,
etc.
The following diagram shows the layers and the protocols in each of the layers −
32
33
Difference between OSI and TCP/IP Reference Model:
OSI TCP/IP
OSI represents Open System Interconnection. TCP/IP model represents the
Transmission Control Protocol / Internet
Protocol.
OSI is a generic, protocol independent standard. TCP/IP model depends on standard
It is acting as an interaction gateway between the protocols abo which the computer
network and the final-user. network has created. It is a connection
protocol that assigns the network of hosts
over the internet.
The OSI model was developed first, and then The protocols were created first and then
protocols were created to fit the network built the TCP/IP model.
architecture’s needs.
It provides quality services. It does not provide quality services.
The OSI model represents defines It does not mention the services,
administration, interfaces and conventions. It interfaces, and protocols.
describes clearly which layer provides services.
The protocols of the OSI model are better unseen The TCP/IP model protocols are not
and can be returned with another appropriate hidden, and cannot fit a new protocol
protocol quickly. stack in it.
It is difficult as distinguished to TCP/IP. It is simpler than OSI.
It provides both connection and connectionless It provides connectionless transmission
oriented transmission in the network layer; in the net layer and supports connecting
however, only connection-oriented transmission and connectionless oriented transmission
in the transport layer. in the transport layer.
It uses a horizontal approach. It uses a vertical approach.
The smallest size of the OSI header is 5 bytes. The smallest size of the TCP/IP header is
20 byte
Protocols are unknown in the OSI model and are In TCP/IP, returning protocol is not
returned while the technology modifies. difficult.
Critique of OSI Model and Protocols:
34
1. Bad Timing :
In the OSI model, it is very essential and important to write standards in between
trough i.e., apocalypse of two elephants. Time of standards is very critical as
sometimes standards are written too early even before research is completed.
Due to this, OSI model was not properly understood. The timing was considered
bad because this model was finished and completed after huge and significant
amount of research time. Due to this, the standards are ignored by these
companies.
When the OSI came around, this model was perfectly released
regarding research, but at that time TCP/IP model was already receiving huge
amounts of investments from companies and manufacturers did not feel like
investing in OSI model. So, there were no initial offerings for using OSI
technique. While every company waited for any of other companies to firstly use
this model technique, but unfortunately none of company went first to use this
model. This is first reason why OSI never happen.
2. Bad Technology :
OSI models were never taken into consideration because of competition
TCP/IP protocols that were already used widely. This is due to second reason
that OSI model and its protocols are flawed that means both of them have
fundamental weakness or imperfection or defect in character or performance
or design, etc. The idea behind choosing all of seven layers of OSI model was
based more on political issues rather than technical. Layers are more political
than technical.
35
OSI model, along with all of its associated service definitions and protocols, is
highly complex. On the other hand, other two layers i.e. Data link layer and
network layer both of them are overfull.
Documentation is also highly complex due to which it gets very
difficult to implement and is not even very efficient in operation or function.
Error and flow control are also duplicated i.e., reappear again and again in
multiple layers or each layer. On the other hand, most serious and bad criticism
is that this model is also dominated by communications mentality.
3. Bad Implementations :
The OSI model is extraordinarily and much more complex due to which
initial implementations were very slow, huge, and unwidely. This is the third
reason due to which OSI became synonymous with poor quality in early days. It
turned out to not be essential and necessary for all of seven layers to be
designed together to simply make things work out.
On the other hand, implementations of TCP/IP were more reliable than
OSI due to which people started using TCP/IP very quickly which led to large
community of users. In simple words, we can say that complexity leads to very
poor or bad implementation. It is highly complex to be effectively and properly
implemented.
4. Bad Politics :
OSI model was not associated with UNIX. This was fourth reason because
TCP/IP was largely and closely associated with Unix, which helps TCP/IP to
get popular in academia whereas OSI did not have this association at that time.
On the other hand, OSI was associated with European
telecommunications, European community, and government of USA. This
model was also considered to be technically inferior to TCP/IP. So, all people
on ground reacted very badly to all of these things and supported much use of
TCP/IP.
Even after all these bad conditions, OSI model is still general standard
reference for almost all of networking documentation. There are many
organizations that are highly interested in OSI model. All of networking that is
referring to numbered layers like layer 3 switching generally refers to OSI
model. Even, an effort has also been made simply to update it resulting in
revised model that was published in 1994.
Critique of TCP/IP:
The TCP/IP model and protocols have their problems too. First, the model does
not clearly distinguish the concepts of service, interface, and protocol. Good
software engineering practice requires differentiating between the specification
and the implementation, something that OSI does very carefully, and
TCP/IP does not.
36
Consequently, the TCP/IP model is not much of a guide for designing new
networks using new technologies.
Second, the TCP/IP model is not at all general and is poorly suited to
describing any protocol stack other than TCP/IP. Trying to use the TCP/IP
model to describe Bluetooth, for example, is completely impossible.
Third, the host-to-network layer is not really a layer at all in the normal sense
of the term as used in the context of layered protocols. It is an interface
(between the network and data link layers). The distinction between an
interface and a layer is crucial, and one should not be sloppy about it.
Fourth, the TCP/IP model does not distinguish (or even mention) the physical
and data link layers. These are completely different. The physical layer has to
do with the transmission characteristics of copper wire, fiber optics, and
wireless communication. The data link layer's job is to delimit the start and end
of frames and get them from one side to the other with the desired degree of
reliability. A proper model should include both as separate layers. The TCP/IP
model does not do this.
Finally, although the IP and TCP protocols were carefully thought out and well
implemented, many of the other protocols were ad hoc, generally produced by a
couple of graduate students hacking away until they got tired. The protocol
implementations were then distributed free, which resulted in their becoming
widely used, deeply entrenched, and thus hard to replace. Some of them are a bit
of an embarrassment now. The virtual terminal protocol, TELNET, for example,
was designed for a ten-character per second mechanical Teletype terminal. It
knows nothing of graphical user interfaces and mice. Nevertheless, 25 years
later, it is still in widespread use.
37