Uploaded by amanuelfbefike

ACN CHAPTER 1 HANDOUT

advertisement
Advanced Computer Networks
Chapter I
INTRODUCTION TO COMPUTER NETWORKS
Computer network means a collection of autonomous computers interconnected by a single technology.
Two computers are said to be interconnected if they are able to exchange information. The connection need not
be via a copper wire; fiber optics, microwaves, infrared, and communication satellites can also be used.
Internet is very complex, both in terms of hardware and software components. However, a one-sentence
definition of Internet is a worldwide computer network, that is, a network that interconnects millions of
computing devices throughout the world. Hence, Internet is not a single network but a network of networks. A
network must provide connectivity among a set of computers. Network connectivity occurs at many different
levels. At the lowest level, a network can consist of two or more computers directly connected by some
physical medium, such as a coaxial cable or an optical fiber. Sometimes it is enough to build a limited network
that connects only a few select machines. In fact, for reasons of privacy and security, many private (corporate)
networks have the explicit goal of limiting the set of machines that are connected. In contrast, other networks
(of which the Internet is the prime example) are designed to grow in a way that allows them the potential to
connect all the computers in the world. A system that is designed to support growth to an arbitrarily large size
is said scalable.
Networks may be divided into different types and categories according to four different criteria:
1. Communication model employed by the nodes
The communication between the nodes is either based on a point-to-point model or a broadcast model
(Figure 1).
In the point-to-point model, a message follows a specific route across the network in order to deliver
from one node to another.
In the broadcast model, on the other hand, all nodes share the same communication medium (channel)
and, as a result, a message transmitted by any node can be received by all other nodes. A part of the message
(an address) indicates for which node the message is intended. All nodes look at this address and ignore the
message if it does not match their own address.
Generally, broadcast links and point-to-point links are the two known transmission technologies which
are used in the current computer networks. Broadcast systems allow the possibility of addressing a packet to all
1
Advanced Computer Networks
Chapter I
destination by using a special code in the address field. When a packet with this code is transmitted, it is
received and processed by every machine on the network. This mode of operation is called broadcasting.
Some broadcast systems also support transmission to a subset of the machines, something known as
multicasting. Each machine can ''subscribe'' to any or all of the groups. When a packet is sent to a certain
group, it is delivered to all machines subscribing to that group.
In contrast, point-to-point networks consist of many connections between individual pairs of machines.
To go from the source to the destination, a packet on this type of network may have to first visit one or more
intermediate machines. Often multiple routes, of different lengths, are possible, so finding good ones is
important in point-to-point networks.
As a general rule (although there are many exceptions), smaller, geographically localized networks tend
to use broadcasting, whereas larger networks usually are point-to-point. One example of exception is a satellite
link, which can cover a wide geographic area. Point-to-point transmission with one sender and one receiver is
sometimes called unicasting.
2. Switching model employed by the nodes
In the point-to-point model, nodes either employ circuit switching or packet switching. Suppose host A
wishes to communicate with another host B. In circuit switching, a dedicated communication path is allocated
between A and B, via a set of intermediate nodes. The data is sent along the path as a continuous stream of
bits. This path is maintained for the duration of communication between A and B, and is then released.
In packet switching, data is divided into packets (chunks of specific length and characteristics) which
are sent from A to B via intermediate nodes. Each intermediate node temporarily stores the packet and waits
for the receiving node to become available to receive it. Because data is sent in packets, it is not necessary to
reserve a path across the network for the duration of communication between A and B. Different packets can
be routed differently in order to spread the load between the nodes and improve performance. However, this
requires packets to carry additional addressing information.
The packet switching is most notably employed by the telephone system, while the circuit switching is
used for the overwhelming majority of computer networks. The important feature of packet-switched networks
is that the nodes in such network send discrete blocks of data to each other. Packet-switched networks typically
use a strategy called store-and-forward. As the name suggests, each node in a store-and-forward network first
receives a complete packet over some link, stores the packet in its internal memory, and then forwards the
complete packet to the next node.
In contrast, a circuit-switched network first establishes a dedicated circuit across a sequence of links
and then allows the source node to send a stream of bits across this circuit to a destination node. The major
reason for using packet switching rather than circuit switching in a computer network is efficiency.
3. Access restriction
2
Advanced Computer Networks
Chapter I
Most networks are for the private use of the organizations to which they belong; these are called private
networks. Networks maintained by banks, insurance companies, airlines, hospitals, and most other businesses
are of this nature.
Public networks, on the other hand, are generally accessible to the average user, but may require
registration and payment of connection fees. Internet is the most-widely known example of a public network.
Technically, both private and public networks may be of LAN, MAN, or WAN type, although public
networks, by their size and nature, tend to WANs.
4. Geographic spread of nodes and hosts
When the physical distance between the hosts is within a few kilometers, the network is said to be a
Local Area Network (LAN). LANs are typically used to connect a set of hosts within the same building (e.g.,
an office environment) or a set of closely-located buildings (e.g., a university campus).
For larger distances, the network is said to be a Metropolitan Area Network (MAN) or a Wide Area
Network (WAN). MANs cover distances of up to a few hundred kilometers and are used for interconnecting
hosts spread across a city. WANs are used to connect hosts spread across a country, a continent, or the globe.
LANs, MANs, and WANs usually coexist: closely-located hosts are connected by LANs which can access
hosts in other remote LANs via MANs and WANs.
Network Technologies
LAN Technologies - Ethernet
Today, Ethernet LAN is the most popular type of network in the world. It is popular because it is easy
to implement, and the cost of ownership is relatively lower than that of other technologies. It is also easy to
manage and the Ethernet products are readily available. The Ethernet LAN is an example of a carrier sense
multiple access with collision detection (CSMA/CD) network, that is, members of a same LAN transmit
information at random and retransmit when collision occurs. The CSMA/CD network is a classic example of a
broadcast network because all workstations "see" all information that is transmitted on the network.
In Figure 2, when workstation A wants to transmit data on the network, it first listens to see if
somebody else is transmitting on the network. If the network is busy, it waits for the transmission to stop
before sending out its data in units called frames. Because the network is of a certain length and takes some
3
Advanced Computer Networks
Chapter I
time for the frame from A to reach D, D may think that nobody is using the network and proceed to transmit its
data. In this case, a collision occurs and is detected by all stations.
When a collision occurs, both transmitting workstations have to stop their transmission and use a
random back off algorithm to wait for a certain time before they retransmit their data.
The chance of a collision depends on the following:
 The number of workstations on the network. The more workstations, the more likely collisions
will occur.
 The length of the network. The longer the network, the greater the chance for collisions to
occur.
 The length of the data packet, the MTU size.
A larger packet length takes a longer time to transmit, which increases the chance of a collision. The
size of the frame in an Ethernet network ranges from 64 to 1516 bytes. Therefore, one important aspect of
Ethernet LAN design is to ensure an adequate number of workstations per network segment, so that the length
of the network does not exceed what the standard specifies, and that the correct frame size is used. While a
larger frame means that a fewer number of them is required to transmit a single piece of information, it can
mean that there is a greater chance of collisions. On the other hand, a smaller frame reduces the chance of a
collision, but it then takes more frames to transmit the same piece of information.
Topologies and Access Protocols
There are two general categories of LAN topologies: bus and ring (Figure 3).
The bus topology uses a broadcast technique. Hence, only one station at a time can send messages and
all other station listen to the message. A listening station examines the recipient address of the message and if
it matches its own address, copies the message; otherwise, it ignores the message.
The ring topology uses a closed, point-to-point-connected loop of stations. Data flows in one direction
only, from one station to the next. As with the bus topology, transmission is restricted to one user at a time.
When a station gains control and sends a message, the message is sent to the next station in the ring. Each
receiving station in the ring examines the recipient address of the message and if it matches its own address,
4
Advanced Computer Networks
Chapter I
copies the message. The message is passed around the ring until it reaches the originator which removes the
message by not sending it to the next station.
Given that access to the bus or ring is restricted to one station at a time, some form of arbitration is
required to ensure equitable access by all stations. Arbitration is imposed by access protocols. A number of
such protocols have been devised:
 Carrier Sense: This protocol is applicable to a bus topology. Before a station can transmit, it listens to
the channel to see if any other station is already transmitting. If the station finds the channel idle, it
attempt to transmit; otherwise, it waits for the channel to become idle. Because of an unavoidable delay
in a station’s transmission to reach other stations, it is possible that two or more stations find the
channel idle and simultaneously attempt to transmit. This is called a collision. Two schemes exist for
handling collisions:

Collision Detection: In this scheme a transmitting station is required to also listen to the
channel, so that it can detect a collision by observing discrepancies in the transmission voltage
levels. Upon detecting a collision, it suspends transmission and re-attempts after a random
period of time. Use of a random wait period reduces the chance of the collision recurring.

Collision Free: This scheme avoids collisions occurring in the first place. Each station has a
predetermined time slot assigned to it which indicates when it can transmit without a collision
occurring. The distribution of time slots between stations also makes it possible to assign
priorities.
 Token Ring: This protocol is applicable to a ring topology. Channel access is regulated by a special
message, called a token, which is passed around the ring from one station to the next. The state of the
ring is encoded in the token (i.e., idle or busy). Each station wishing to transmit needs to get hold of the
idle token first. When a station gets hold of the idle token, it marks it as busy, appends to it the message
it wishes to transmit, and sends the whole thing to the next station. The message goes round the ring
until it reaches the intended recipient which copies the message and passes it on. When the message
returns to the originator, it detaches the message, marks the token as idle and passes it on. To ensure
fair access, the token should go round the ring, unused, at least once before it can be used by the same
station again.
5
Advanced Computer Networks
Chapter I
 Token Bus: This protocol is applicable to a bus topology but makes it behave as a ring. Each station on
the bus has two other stations designated as its logical predecessor and its logical successor, in a way
that results in a logical ring arrangement (Figure 4). A special message is provided which plays the
role of a token. Each station receives the token from its predecessor, readdresses it to its successor, and
retransmits it on the bus. The rest of the protocol is as in a token ring.
Metropolitan Area Networks
A metropolitan area network, or MAN, covers a city. The best-known example of a MAN is the cable
television network available in many cities. This system grew from earlier community antenna systems used in
areas with poor over-the-air television reception. In these early systems, a large antenna was placed on top of a
nearby hill and signal was then piped to the subscribers' houses. At first, these were locally-designed, ad hoc
systems. Then companies began jumping into the business, getting contracts from city governments to wire up
an entire city. The next step was television programming and even entire channels designed for cable only.
Often these channels were highly specialized, such as all news, all sports, all cooking, all gardening, and so on.
But from their inception until the late 1990s, they were intended for television reception only.
Starting when the Internet attracted a mass audience, the cable TV network operators began to realize
that with some changes to the system, they could provide two-way Internet service in unused parts of the
spectrum. At that point, the cable TV system began to morph from a way to distribute television to a
metropolitan area network. To a first approximation, a MAN might look something like the system shown in
Figure 5. In this figure we see both television signals and Internet being fed into the centralized head end for
subsequent distribution to people's homes.
6
Advanced Computer Networks
Chapter I
Wide Area Networks
A wide area network, or WAN, spans a large geographical area, often a country or continent. It contains
a collection of machines intended for running user (i.e., application) programs are called as hosts. The hosts are
connected by a communication subnet, or just subnet for short. The hosts are owned by the customers (e.g.,
people's personal computers), whereas the communication subnet is typically owned and operated by a
telephone company or Internet service provider. The job of the subnet is to carry messages from host to host,
just as the telephone system carries words from speaker to listener.
In most wide area networks, the subnet consists of two distinct components: transmission lines and
switching elements. Transmission lines move bits between machines. They can be made of copper wire, optical
fiber, or even radio links. Switching elements are specialized computers that connect three or more
transmission lines. When data arrive on an incoming line, the switching element must choose an outgoing line
on which to forward them. These switching computers have been called by various names in the past; the name
router is now most commonly used.
In the model, shown in Figure 6, each host is frequently connected to a LAN on which a router is
present, although in some cases a host can be connected directly to a router. The collection of communication
lines and routers (but not the hosts) form the subnet.
Originally, the meaning for “Subnet” was the collection of routers and communication lines that moved
packets from the source host to the destination host. However, some years later, it also acquired a second
meaning in conjunction with network addressing. Unfortunately, no widely-used alternative exists for its initial
meaning, so with some hesitation we will use it in both senses.
In most WANs, the network contains numerous transmission lines, each one connecting a pair of
routers. If two routers that do not share a transmission line wish to communicate, they must do this indirectly,
via other routers. When a packet is sent from one router to another via one or more intermediate routers, the
packet is received at each intermediate router in its entirety, stored there until the required output line is free,
and then forwarded.
7
Advanced Computer Networks
Chapter I
A subnet organized according to this principle is called a store-and-forward or packet-switched subnet.
Nearly all wide area networks (except those using satellites) have store-and-forward subnets. When the packets
are small and all the same size, they are often called cells. The principle of a packet-switched WAN is so
important that it is worth devoting a few more words to it.
Generally, when a process on some host has a message to be sent to a process on some other host, the
sending host first cuts the message into packets, each one bearing its number in the sequence. These packets
are then injected into the network one at a time in quick succession. The packets are transported individually
over the network and deposited at the receiving host, where they are reassembled into the original message and
delivered to the receiving process. A stream of packets resulting from some initial message is illustrated in
Figure 7.
In this figure 7, all the packets follow the route ACE, rather than ABDE or ACDE. In some networks
all packets from a given message must follow the same route; in others each packet is routed separately. Of
course, if ACE is the best route, all packets may be sent along it, even if each packet is individually routed.
Routing decisions are made locally. When a packet arrives at router A, it is up to A to decide if this packet
should be sent on the line to B or the line to C. How Router A makes that decision is called the routing
algorithm.
Not all WANs are packet switched. A second possibility for a WAN is a satellite system. Each router
has an antenna through which it can send and receive. All routers can hear the output from the satellite, and in
some cases they can also hear the upward transmissions of their fellow routers to the satellite as well.
Sometimes the routers are connected to a substantial point-to-point subnet, with only some of them having a
satellite antenna. Satellite networks are inherently broadcast and are most useful when the broadcast property is
important.
8
Advanced Computer Networks
Chapter I
The OSI Architecture (OSI Reference Model)
The ISO was one of the first organizations to formally define a common way to connect computers.
The OSI model is seven-layer architecture for networks in which each layer is characterized by a set of
standard protocols. These seven layers represent the protocol architecture for the communications component
of a host. The nodes in a network implement only the lower three layers, as illustrated in Figure 8. The reason
for this is that the upper four layers are irrelevant to the task of communication between the nodes.
In Figure 8, when host A sends a message to host B, the message moves down the successive layers of
host A, from the application layer to the presentation layer, to the session layer, etc., until it reaches the
physical layer. It is then transmitted across the communication line between host A and node X, and moves up
the three layers of node X and down again. Then it is transmitted to node Y where it goes through the same
procedure, and finally is transmitted to host B, where it moves up its seven layers, until it arrives at the
application layer of host B. Although actual communication takes place only at the physical layer, it is often
useful to think of virtual communication between corresponding layers. For example, an imaginary line can be
used to show the communication between the presentation layer on host A and the same layer on host B. This
would be characterized by the presentation protocol.
Each of the seven layers of the OSI model hides the implementation details of the lower layers from the
upper layers. Well-defined protocols and interfaces for each of the layers make it possible for the layer to be
designed and implemented in isolation from the other layers. Except for the physical layer, which is
implemented in hardware, all other layers are implemented in software. The data link layer is also implemented
in hardware for efficiency purpose. For example, each of these layers may be implemented as a set of routines
which communicate with the layer above and the layer below it via parameters passed in function calls.
Alternatively, each layer may be implemented as a task which communicates with other tasks by message
passing. Each layer adds an additional piece of information to the message it is transmitting. The same layer
9
Advanced Computer Networks
Chapter I
removes the additional piece of information on the receiving end. The additional information appears in form
of a header (e.g., TH = Transport Header). The data link layer adds a header as well as a trailer to its data. It
should be pointed out that the OSI model is not the only model in use. It is, however, the most-widely
respected model and has become a benchmark for comparing other network architectures.
A. Physical Layer
The physical layer is concerned with the transmission of raw data bits over communication lines.
Physical layer standards and protocols are concerned with issues such as the following:
 How a physical circuit is established between communicating devices.
 How the circuit is terminated when no longer needed.
 The physical form (e.g., voltages, frequencies, and timing) in which data bits (binary values 0
and 1) are represented.
 Whether transmission of data can take place in one or both directions over the same physical
connection.
 Characteristics of the physical media that carry the signals (e.g., copper wire, optical fiber, radio
waves).
 Characteristics of the connectors used for connecting the physical media.
 How data from a number of sources should be multiplexed before transmission and demultiplexed upon arrival, and the type of multiplexing technique to be used.
 The type of modulation to be used for transmitting digital data over analog transmission lines.
The physical layer accounts for much of the tangible components of a network, including cables,
satellites, earth stations, repeaters, multiplexers, concentrators, and modems. Physical layer protocols and
standards are of mechanical, electrical, functional, and procedural nature. The physical layer hides the above
details from the higher layers. To the data link layer, it appears as a logical communication channel which can
send a stream of bits from one point in the network to another.
B. The Data Link Layer
The data link layer is concerned with the reliable transfer of data over the communication channel
provided by the physical layer. To do this, the data link layer breaks the data into data frames, transmits the
frames sequentially over the channel, and checks for transmission errors by requiring the receiving end to send
back acknowledgment frames.
Data link protocols are concerned with the following issues:
 How to divide the data into frames.
 How to delimit frames by adding special bit patterns to the beginning and end of each frame.
This allows the receiving end to detect where each frame begins and where it ends.
10
Advanced Computer Networks
Chapter I
 Error detection. Some form of error check is included in the frame header. This is constructed
by the transmitting end based on the contents of the frame, and checked for integrity by the
receiving end. A change in the frame bits can be detected in this way.
 Error correction. When a frame arrives corrupted or is for any reason lost in the network, it is
retransmitted. Lost acknowledgment frames may result in duplicate frames, which need to be
detected and corrected as well.
 Flow control. In general, not all communication devices in a network operate at the same speed.
Flow control provides a means of avoiding a slow receiver from being swamped by data from a
fast transmitter.
C. The Network Layer
The network layer controls the operation of the subnet and this layer determins how packets are routed
from source to destination. Routes can be based on static tables that are ''wired into'' the network and rarely
changed. They can also be determined at the start of each conversation, for example, a terminal session (e.g., a
login to a remote machine).
Finally, they can be highly dynamic, being determined anew for each packet, to reflect the current
network load. If too many packets are present in the subnet at the same time, they will get in one another's way,
forming bottlenecks. The control of such congestion also belongs to the network layer. More generally, the
quality of service provided (delay, transit time, jitter, etc.) is also a network layer issue.
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. In broadcast networks,
the routing problem is simple, so the network layer is often thin or even nonexistent.
D. The Transport Layer
The basic function of the transport layer is to accept data from above, 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. The
transport layer also determines what type of service to provide to the session layer, and, ultimately, to 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 the transporting of isolated messages, with no guarantee about the order of delivery, and the
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, all the way from the source to the destination. In other
words, a program on the source machine carries on a conversation with a similar program on the destination
11
Advanced Computer Networks
Chapter I
machine, using the message headers and control messages. In the lower layers, the protocols are between each
machine and its immediate neighbors, and not between the ultimate source and destination machines, which
may be separated by many routers.
E. The Session Layer
The session layer allows users on different machines to establish sessions between them. Sessions offer
various services, including dialog control (keeping track of whose turn it is to transmit), token management
(preventing two parties from attempting the same critical operation at the same time), and synchronization
(check pointing long transmissions to allow them to continue from where they were after a crash).
F. The Presentation Layer
Unlike lower layers, which are mostly concerned with moving bits around, the presentation layer is
concerned with the syntax and semantics of the information transmitted. In order to make it possible for
computers with different data representations to communicate, the data structures to be exchanged can be
defined in an abstract way, along with a standard encoding to be used ''on the wire.'' The presentation layer
manages these abstract data structures and allows higher-level data structures (e.g., banking records), to be
defined and exchanged.
G. The Application Layer
The application layer contains a variety of protocols that are commonly needed by users. One widelyused application protocol is HTTP (Hyper Text Transfer Protocol), which is the basis for the World Wide
Web. When a browser wants a Web page, it sends the name of the page it wants to the server using HTTP. The
server then sends the page back. Other application protocols are used for file transfer, electronic mail, and
network news.
The TCP/IP Model
The Internet architecture, which is also sometimes called the TCP/IP architecture after its two main
protocols (Figure 9). An alternate representation (Internet protocol graph is also shown in Figure 10)
While the seven-layer OSI model can, with some imagination, be applied to the Internet, a four-layer
model is often used instead. At the lowest level are a wide variety of network protocols, denoted NET1, NET2,
and so on. In practice, these protocols are implemented by a combination of hardware (e.g., a network adaptor)
and software (e.g., a network device driver). For example, you might find Ethernet or Fiber Distributed Data
12
Advanced Computer Networks
Chapter I
Interface (FDDI) protocols at this layer. (These protocols in turn may actually involve several sub layers, but
the Internet architecture does not presume anything about them.) The second layer (sometimes called
Internetwork layer or internet layer or network layer) consists of a single protocol—the Internet Protocol (IP).
This is the protocol that supports the interconnection of multiple networking technologies into a single, logical
internetwork. The transport layer provides the end-to-end data transfer. It is responsible for providing a reliable
exchange of information. The main transport layer protocol is the Transmission Control Protocol (TCP).
Another transport layer protocol is User Datagram Protocol (UDP), which provides a connectionless service in
comparison to TCP, which provides a connection-oriented service. That means that applications using UDP as
the transport protocol have to provide their own end-to-end flow control. Usually, UDP is used by applications
that need a fast transport mechanism. The third layer is transport layer. it contains two main protocols—the
Transmission Control Protocol (TCP) and the User Datagram Protocol (UDP). TCP and UDP provide
alternative logical channels to application programs. Running above the transport layer are a range of
application protocols, such as FTP, TFTP (Trivial File Transport Protocol), Telnet (remote login), and SMTP
(Simple Mail Transfer Protocol, or electronic mail), that enable the interoperation of popular applications.
Hybrid Reference Model
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. 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, it is still in widespread use.
In summary, despite its problems, the OSI model (minus the session and presentation layers) has
proven to be exceptionally useful for discussing computer networks. In contrast, the OSI protocols have not
become popular. The reverse is true of TCP/IP: the model is practically nonexistent, but the protocols are
widely used. Hence, a modified OSI model (hybrid model) that primarily concentrates on the TCP/IP and
related protocols, as well as newer ones such as 802, SONET, and Bluetooth has been devised.
13
Advanced Computer Networks
Chapter I
PACKET SWITCHING
The packet-switching network is a distributed collection of packet-switching nodes. Ideally, all packetswitching nodes would always know the state of the entire network. Unfortunately, because the nodes are
distributed, there is always a time delay between a change in status in one portion of the network and the
knowledge of that change elsewhere. Furthermore, there is overhead involved in communicating status
information.
Packet-switching operation:
Data are transmitted in short packets. A
typical upper bound on packet length is 1000
octets (bytes). If a source has a longer message to
send, the message is broken up into a series of
packets (Figure 12). Each packet contains a
portion (or all for a short message) of the user's
data plus some control information. The control information, at a minimum, includes the information that the
network requires in order to be able to route the packet through the network and deliver it to the intended
destination. At each node en route, the packet is received, stored briefly, and passed on to the next node.
In Figure 13, Consider a packet to be sent from station A to station E. The packet will include control
information that indicates that the intended destination is E. The packet is sent from A to node 4. Node 4 stores
the packet, determines the next leg of the route (say 5), and queues the packet to go out on that link (the 4-5
14
Advanced Computer Networks
Chapter I
link). When the link is available, the packet is transmitted to node 5, which will forward the packet to node 6,
and finally to E.
Switching Technique
A station has a message to send through a packet-switching network that is of length greater than the
maximum packet size. It therefore breaks the message up into packets and sends these packets, one at a time, to
the network. A question arises as to how the network will handle this stream of packets as it attempts to route
them through the network and deliver them to the intended destination; there are two approaches that are used
 datagram and
 virtual circuit.
Datagram:
In the datagram approach, each packet is treated independently, with no reference to packets that have
gone before. Let us consider the implication of this approach. Suppose that station A in Figure 13 has a threepacket message to send to E. It transmits the packets, 1-2-3, to node 4. On each packet, node 4 must make a
routing decision. Packet 1 arrives for delivery to E. Node 4 could plausibly forward this packet to either node 5
or node 7 as the next step in the route. In this case, node 4 determines that its queue of packets for node 5 is
shorter than for node 7, so it queues the packet for node 5. Ditto for packet 2. But for packet 3, node 4 finds
that its queue for node 7 is now shorter and so queues packet 3 for that node. So the packets, each with the
same destination address, do not all follow the same route. As a result, it is possible that packet 3 will beat
packet 2 to node 6. Thus, it is also possible that the packets will be delivered to E in a different sequence from
the one in which they were sent. It is up to E to figure out how to reorder them. Also, it is possible for a packet
to be destroyed in the network.
For example, if a packets witching node crashes momentarily, all of its queued packets may be lost. If
this were to happen to one of the packets in our example, node 6 has no way of knowing that one of the packets
in the sequence of packets has been lost. Again, it is up to E to detect the loss of a packet and figure out how to
recover it. In this technique, each packet, treated independently, is referred to as a datagram.
Virtual Circuit:
In the virtual-circuit approach, a preplanned route is established before any packets are sent. For
example, suppose that A has one or more messages to send to E. It first sends a special control packet, referred
to as a Call-Request packet, to 4, requesting a logical connection to E. Node 4 decides to route the request and
all subsequent packets to 5, which decides to route the request and all subsequent packets to 6, which finally
delivers the Call-Request packet to E. If E is prepared to accept the connection, it sends a Call-Accept packet
to 6. This packet is passed back through nodes 5 and 4 to A. Stations A and E may now exchange data over the
route that has been established. The route is fixed for the duration of the logical connection and is referred to as
a virtual circuit.
15
Advanced Computer Networks
Chapter I
Each packet now contains a virtual-circuit identifier as well as data. Each node on the pre established
route knows where to direct such packets; no routing decisions are required. Thus, every data packet from A
intended for E traverses nodes 4,5, and 6; every data packet from E intended for A traverses nodes 6, 5, and 4.
Eventually, one of the stations can terminate the connection with a Clear-Request packet.
At any time, each station can have more than one virtual circuit to any other station and can have
virtual circuits to more than one station.
So, the main characteristic of the virtual-circuit technique is that a route between stations is set up prior
to data transfer. A packet is still buffered at each node, and queued for output over a line. The difference from
the datagram approach is that, with virtual circuits, the node need not make a routing decision for each packet;
it is made only once for all packets using that virtual circuit.
If two stations wish to exchange data over an extended period of time, there are certain advantages to
virtual circuits. First, the network may provide services related to the virtual circuit, including sequencing and
error control. Sequencing refers to the fact that, because all packets follow the same route, they arrive in the
original order. Error control is a service that assures not only that packets arrive in proper sequence, but that all
packets arrive correctly. For example, if a packet in a sequence from node 4 to node 6 fails to arrive at node 6,
or arrives with an error, node 6 can request a retransmission of that packet from node 4. Another advantage
is that packets should transit the network more rapidly with a virtual circuit; it is not necessary to make a
routing decision for each packet at each node.
One advantage of the datagram approach is that the call setup phase is avoided. Thus, if a station
wishes to send only one or a few packets, datagram delivery will be quicker. Another advantage of the
datagram service is that, because it is more primitive, it is more flexible. For example, if congestion develops
in one part of the network, incoming datagrams can be routed away from the congestion. With the use of
virtual circuits, packets follow a predefined route, and it is thus more difficult for the network to adapt to
congestion. A third advantage is that datagram delivery is inherently more reliable. With the use of virtual
circuits, if a node fails, all virtual circuits that pass through that node are lost. With datagram delivery, if a
node fails, subsequent packets may find an alternate route that bypasses that node.
Packet Size
One important design issue is the packet size to be used in the network. There is a significant
relationship between packet size and transmission time, as illustrated in Figure 14. In this example, it is
assumed that there is a virtual circuit from station X through nodes a and b to station Y. The message to be sent
comprises 30 octets, and each packet contains 3 octets of control information, which is placed at the beginning
of each packet and is referred to as a header. If the entire message is sent as a single packet of 33 octets (3
octets of header plus 30 octets of data), then the packet is first transmitted from station X to node a (Figure
14a). When the entire packet is received, it can then be transmitted from a to b. When the entire packet is
16
Advanced Computer Networks
Chapter I
received at node b, it is then transferred to station Y. The total transmission time at the nodes is 99 octet-times
(33 octets X 3 packet transmissions).
Suppose now that we break up the message into two packets, each containing 15 octets of the message
and, of course, 3 octets each of header or control information. In this case, node a can begin transmitting the
first packet as soon as it has arrived from X, without waiting for the second packet. Because of this overlap in
transmission, the total transmission time drops to 72 octet-times. By breaking the message up into 5 packets,
each intermediate node can begin transmission even sooner and the savings in time is greater, with a total of 63
17
Advanced Computer Networks
Chapter I
octet-times. However, this process of using more and smaller packets eventually results in increased, rather
than reduced, delay as illustrated in Figure 14d; this is because each packet contains a fixed amount of header,
and more packets means more of these headers. Furthermore, the example does not show the processing and
queuing delays at each node. These delays are also greater when more packets are handled for a single
message.
ROUTING
One of the most complex and crucial aspects of packet-switching network design is routing.
Performance Criteria
The selection of a route is generally based on some performance criterion.
 The minimum-hop route (one that passes through the least number of nodes) through the
network; this is an easily measured criterion and should minimize the consumption of network
resources.
 The least-cost routing - a cost is associated with each link, and, for any pair of attached
stations, the route through the network that accumulates the least cost is sought.
For example, Figure 15 illustrates a network in which the two arrowed lines between a pair of nodes
represent a link between this nodes, and the corresponding numbers represent the current link cost in each
direction. The shortest path (fewest hops) from node 1 to node 6 is 1-3-6 (cost = 5 + 5 = lo), but the least-cost
path is 1-4-5-6 (cost = 1 + 1 + 2 = 4). Costs are assigned to links to support one or more design objectives. For
example, the cost could be inversely related to the data rate (i.e., the higher the data rate on a link, the lower the
18
Advanced Computer Networks
Chapter I
assigned cost of the link) or the current queuing delay on the link. In the first case, the least-cost route should
provide the highest throughput. In the second case, the least-cost route should minimize delay.
In either the minimum-hop or least-cost approach, the algorithm for determining the optimum route for
any pair of stations is relatively straightforward, and the processing time would be about the same for either
computation. Because the least-cost criterion is more flexible, it is more common than the minimum-hop
criterion.
Decision - Time and Place
Routing decisions are made on the basis of some performance criterion. Two key characteristics of the
decision are the time and place that the decision is made.
Decision time is determined by whether the routing decision is made on a packet or virtual-circuit
basis. When the internal operation of the network is datagram, a routing decision is made individually for each
packet. For internal virtual- circuit operation, a routing decision is made at the time the virtual circuit is
established. In the simplest case, all subsequent packets using that virtual circuit follow the same route. In
more sophisticated network designs, the network may dynamically change the route assigned to a particular
virtual circuit in response to changing conditions (e.g., overload or failure of a portion of the network).
The term decision place refers to which node or nodes in the network are responsible for the routing
decision. Most common is distributed routing, in which each node has the responsibility of selecting an output
link for routing packets as they arrive. For centralized routing, the decision is made by some designated node,
such as a network control center. The danger of this latter approach is that the loss of the network control
center may block operation of the network. The distributed approach is perhaps more complex, but is also
more robust. A third alternative, used in some networks, is source routing. In this case, the routing decision is
actually made by the source station rather than by a network node, and is then communicated to the network;
this allows the user to dictate a route through the network that meets criteria local to that user.
19
Advanced Computer Networks
Chapter I
The decision time and decision place are independent design variables. For example, in Figure 15,
suppose that the decision place is each node and that the values depicted are the costs at a given instant in time;
the costs, though, may change. If a packet is to be delivered from node 1 to node 6, it might follow the route 14-5-6, with each leg of the route determined locally by the transmitting node. Now let the values change such
that 1-4-5-6 is no longer the optimum route. In a datagram network, the next packet may follow a different
route, again determined by each node along the way, In a virtual-circuit network, each node will remember the
routing decision that was made when the virtual circuit was established, and will simply pass on the packets
without making a new decision.
Routing Strategies
A large number of routing strategies have evolved for dealing with the routing requirements of packetswitching networks.
Fixed Routing
For fixed routing, a route is selected for each source-destination pair of nodes in the network using the
least-cost routing algorithms. The routes are fixed, with the exception that they might change if there is
20
Advanced Computer Networks
Chapter I
movement in the topology of the network. Thus, the link costs used in designing routes cannot be based on any
dynamic variable such as traffic. They could, however, be based on expected traffic or capacity.
Figure 16 suggests how fixed routing might be implemented. A central routing matrix is created, to be
stored perhaps at a network control center. The matrix shows, for each source-destination pair of nodes, the
identity of the next node on the route.
Note that it is not necessary to store the complete route for each possible pair of nodes. Rather, it is
sufficient to know, for each pair of nodes, the identity of the first node on the route; to see this, suppose that
the least-cost route from X to Y begins with the X-A link. Call the remainder of the route R1; this is the part
from A to Y. Define R2 as the least-cost route from A to Y. Now, if the cost of R1 is greater than that of R2,
then the X-Y route can be improved by using R2 instead. If the cost of RI is less than R2, then R2 is not the
least-cost route from A to Y. Therefore, R1 = R2. Thus, at each point along a route, it is only necessary to
know the identity of the next node, not the entire route. In our example, the route from node 1 to node 6 begins
by going through node 4. Again, consulting the matrix, the route from node 4 to node 6 goes through node 5.
Finally, the route from node 5 to node 6 is a direct link to node 6. The complete route, then, from node 1 to
node 6 is 1-4-5-6.
From this overall matrix, routing tables can be developed and stored at each node. From the reasoning
in the preceding paragraph, it follows that each node need only store a single column of the routing directory.
The node's directory shows the next node to take for each destination.
With fixed routing, there is no difference between routing for datagrams and virtual circuits. All
packets from a given source to a given destination follow the same route. The advantage of fixed routing is its
simplicity, and it should work well in a reliable network with a stable load. Its disadvantage is its lack of
flexibility; it does not react to network congestion or failures.
Flooding
Another simple routing technique is flooding. This technique requires no network information
whatsoever, and works as follows. A packet is sent by a source node to every one of its neighbors. At each
node, an incoming packet is retransmitted on all outgoing links except for the link on which it arrived. For
example, if node 1 in Figure 15 has a packet to send to node 6, it sends a copy of that packet (with a destination
address of 6), to nodes 2, 3, and 4. Node 2 will send a copy to nodes 3 and 4. Node 4 will send a copy to nodes
2, 3, and 5. And so it goes. Eventually, a number of copies of the packet will arrive at node 6. The packet must
have some unique identifier (e.g., source node and sequence number, or virtual-circuit number and sequence
number) so that node 6 knows to discard all but the first copy.
Unless something is done to stop the incessant retransmission of packets, the number of packets in
circulation just from a single source packet grows without bound; one way to prevent this is for each node to
remember the identity of those packets it has already retransmitted. When duplicate copies of the packet arrive,
21
Advanced Computer Networks
Chapter I
they are discarded. A simpler technique is to include a hop count field with each packet. The count can
originally be set to some maximum value, such as the diameter (length of the longest minimum-hop path
through the network) of the network. Each time a node passes on a packet, it decrements the count by one.
When the count reaches zero, the packet is discarded.
An example of the latter tactic is shown in Figure 17. A packet is to be sent from node 1 to node 6 and
is assigned a hop count of 3. On the first hop, three copies of the packet are created. For the second hop of all
these copies, a total of nine copies are created. One of these copies reaches node 6, which recognizes that it is
the intended destination and does not retransmit. However, the other nodes generate a total of 22 new copies
22
Advanced Computer Networks
Chapter I
for their third and final hop. Note that if a node is not keeping track of the packet identifier, it may generate
multiple copies at this third stage. All packets received from the third hop are discarded. In all, node 6 has
received four additional copies of the packet.
The flooding technique has three remarkable properties:
 All possible routes between source and destination are tried. Thus, no matter what link or node outages
have occurred, a packet will always get through if at least one path between source and destination
exists.
 Because all routes are tried, at least one copy of the packet to arrive at the destination will have used a
minimum-hop route.
 All nodes that are directly or indirectly connected to the source node are visited.
The principal disadvantage of flooding is the high traffic load that it generates, which is directly
proportional to the connectivity of the network.
23
Download