You are on page 1of 23

Data and Computer Communication

- Networking Principles -
Computer Engineering

Dr. Dirk Pesch

© Dr. Dirk H Pesch, CIT, 2000 1


Overview
• Follow on from DLX3 computer networking
introduction
• Overview of Physical Layer Aspects of Data and
Computer Communications
• Multiplexing and Multiple Access
• Reliable Data Communications and Data Link
Layer Concepts
• Performance Modelling and Queuing Theory
• Routing in Computer Networks
• Transport and Congestions Control
• Application Examples

© Dr. Dirk H Pesch, CIT, 2000 2


Communication Networks
• No generally accepted taxonomy into which all
communication networks fit
• Networks can be classified according to
– Transmission technology
– Scale
• Transmission technology
– digital v. analogue
– point-to-point v. broadcast
– circuit-switched v. packet-switched

With regard to the physical appearance of networks, there is no general accepted taxonomy into
which all networks fit. Many different opinions exist and many classifications have been attempted.
Here, we follow Andrew Tanenbaum, who proposes to classify networks according to transmission
technology and scale. Transmission technology refers to whether digital or analogue transmission is
used. Most modern communication networks, in particular computer communication networks, use
digital transmission technology. However, there are many communication networks in operation that
use analogue transmission technology. Those networks provide the plain old telephone service
(POTS) as well as allow computers to interconnect using modem technology which converts the
digital data signal of computers into an analogue signal that can be transmitted across an analogue
telephone network.
A second aspect of transmission technology is whether networks are point-to-point or broadcast
networks. Point-to-point networks connect any two network nodes, such as computers, telephone
apparatus, switches, routers, or hubs with a physical connection. This physical connection can be
based on copper, fibre, or radio links. To go from source to destination, data will be routed along a
path that can involve one or more intermediate machines. Broadcast networks have a single
communication channel that is shared by all network nodes. Communication takes place by one node
sending data and all or a group of nodes receiving the data. In the first case we talk about
broadcasting, in the latter about multicasting.
In order to transmit data from source to destination, point-to-point networks use two different
transmission options. The first option establishes a dedicated route between source and destination
along which the information flows. This route is made up of dedicated physical links, which are used
solely by the communication service in question. This transmission option is called circuit switching.
On the other hand, a logical connection can be established along which the information, in form of
packets of data, is transmitted. The logical connection can either use a physical connection, which is
shared with others, or many different physical connections are used depending on certain
circumstances. This transmission option is called packet switching. Packet switching uses two
transmission services, connection-oriented and connectionless transmission.
Information transmission in broadcast networks would be neither circuit nor packet switched since
there is no connection between two communicating parties necessary. Examples of broadcast
networks are cable and satellite television or CB radio communication.

© Dr. Dirk H Pesch, CIT, 2000 3


Scale of Networks

• Personal Area Networks


• Local Area Networks
• Metropolitan Area Networks
• Wide Area Networks
• Internetworks

A personal area network (PAN) is a network in which a number of devices attached or in close
proximity to the human body are interconnected to form a very small network. A network consisting
of a mobile phone, a personal digital assitant and a wireless handsfree set is an example of a PAN.
PANs are a very recent invention and are typically wireless networks in which all communicating
devices are connected via short-range wireless links. Currently the wireless networking technology
being considered for PANs is Bluetooth but other types of wireless short range systems may be used
in the future. A local area network (LAN) is usually privately owned and links the devices in a
single office, building, or campus. Depending on the needs of an organisation and the type of
technology used, a LAN can be as simple as two PCs and a printer in a home office environment, or it
can extend throughout the campus of a company and include voice, sound, and video equipment.
A LAN is usually up to a few kilometres is size. LANs are distinguished by (1) their size, (2) their
transmission technology, and (3) their topology.
Example of a LAN is the well know Ethernet, which is probably the most common LAN technology
for office computer networks.
A metropolitan area network (MAN), is basically a bigger version of a LAN and normally uses
similar technology. It might cover a group of nearby corporate offices or a city and might be either
private or public. A MAN can support both data and voice, and might even be related to the local
television network. A MAN just has one or two cables and does not contain switching elements,
which simplifies design.
The main reason for distinguishing MANs as a special class of networks is because a standard has
been adopted for them. This standard is call DQDB (Distributed Queue Dual Bus) and specified in
IEEE 802.6. This MAN standard is used to provide Switched Megabit Data Services (SMDS) to
metropolitan areas. It is widely used in North America and also in some European countries such as
Germany, where the service is called Datex-M. However, it is expected that the Asynchronous
Transfer Mode (ATM) technology will replace DQDB in the near future. ATM will provide corporate
backbone networks, which are of the size of MANs.
A wide area network (WAN), spans a large geographical area, often a country or continent. The term
WAN usually refers to computer networks but its definition also includes national telecommunication
networks. Since telecommunication networks in many countries are being converted from analogue
into digital technology, they are basically computer networks. A digital switch in a
telecommunication network is nothing else than a computer. This computer is not a general purpose
computer such as a PC, but is more specialised. However, it has all the elements of a normal
computer.
© Dr. Dirk H Pesch, CIT, 2000 4
A WAN consists of end systems, e.g. a computer (host) or even a mobile terminal (mobile phone),
and communication subnets. The job of the subnet is to carry data from end system to end system. In
most WANs, the subnet consists of transmission lines and switches. Transmission lines, also called
circuits, channel, or trunks, move bits between machines. The switching systems are specialised
computers as outlines above.
Many networks exist in the world, e.g. computer networks, packet data networks, circuit-switched
telephone networks, mobile radio networks, etc., often with different hardware and software. People
connected to one network often want to communicate with people attached to a different one. For
example a person may want to call a friend, who has a mobile phone, from his/her home telephone.
This desire requires connecting together different, and frequently incompatible networks, sometimes
by using machines called gateways to make a connection and provide the necessary translation, very
much like an interpreter. A collection of interconnected networks is called an internetwork or just
internet.
NOTE: This should not be confused with the term Internet, which refers to the global computer
network using the TCP/IP protocol. However, the origin of the term Internet is from internetworks,
what the Internet basically is.

© Dr. Dirk H Pesch, CIT, 2000 5


Transmission Modes
• Simplex
• Half-Duplex
• Duplex

© Dr. Dirk H Pesch, CIT, 2000 6


Network Topologies

• Mesh topology
• Star topology
• Tree topology
• Ring topology
• Bus topology
• Hybrid topology
• Irregular topology

The term topology refers to the way a network is laid out, either physically or logically. Two or more
devices connect to a link;

© Dr. Dirk H Pesch, CIT, 2000 7


Layered Network Architecture

Host 1 Host 2
Layer 5 protocol
Layer 5 Layer 5
Layer 4/5 interface
Layer 4 protocol
Layer 4 Layer 4
Layer 3/4 interface
Layer 3 protocol
Layer 3 Layer 3
Layer 2/3 interface
Layer 2 protocol
Layer 2 Layer 2
Layer 1/2 interface
Layer 1 protocol
Layer 1 Layer 1

Physical transmission medium

In order to reduce the design complexity of networks, they are organised as a series of layers or
levels, each one built upon one below it. The number of layers, the name of each layer, contents of
each layer, and the function of each layer differ from network to network. However, in all networks,
the purpose of each layer to offer certain services to higher layers, shielding those layers from the
details of how the offered services are actually implemented.
Layer N on one machine carries on a conversation with layer N on another machine. The rules and
conventions used in this conversation are collectively known as the layer N protocol. Basically, a
protocol is an agreement between the communicating parties on how communication is to proceed.
The key elements of a protocol are
• Syntax - includes such things as the data format, coding and signal levels.
• Semantics - includes control information for co-ordination and error handling.
• Timing - includes speed matching and sequencing.
A five layer network is illustrated in the slide above. The entities comprising the corresponding layers
on different machines are called peers. In other words, it is peers that communicate using protocols.
In reality, no data are directly transferred from layer N on one machine to layer N on another
machine. Instead, each layer passes data and control information to the layer immediately below it,
until the lowest layer is reached. Below layer 1 is the physical transmission medium through which
actual communication occurs.
Between two pairs of adjacent layers there is an interface. The interface defines which primitive
operations and services the lower layer offers to the upper layer. It is important in the design of a
layer to define clean interfaces so that it is possible to replace the implementation of one layer by a
completely different implementation.
A set of layers and protocols is called a network architecture. The specification of an architecture
must contain enough information to allow unambiguous implementation of the functionality of each
layer in either software or hardware. The details of the implementation and the specification of the
interfaces are not part of the architecture as they are hidden away inside the machines and are not
visible to the outside.
A list of protocols used by a certain system, one protocol per layer, is called a protocol stack.

© Dr. Dirk H Pesch, CIT, 2000 8


Information Flow and Protocol
Hierarchy
Source machine Destination machine
Layer
Layer 5 protocol
5 M M

Layer 4 protocol
4 H4 M H4 M

Layer 3 protocol
3 H3 H4 M1 H3 M2 H3 H4 M1 H3 M2

Layer 2
protocol
2 H2 H3 H4 M1 T2 H2 H3 M2 T2 H2 H3 H4 M1 T2 H2 H3 M2 T2
Layer 1 protocol
1

The slide above demonstrates how a message is sent from the top (fifth) layer of one machine to the
top layer of the other. A message, M, is produced by the protocol entity in layer 5. This entity may be
an application process or an entity providing service to an even higher layer. The message is passed
on to layer 4, where a header is put in front of the message to identify the message. The header
includes control information, such as sequence numbers, to allow layer 4 on the destination machine
to deliver messages in the right order if the lower layers do not maintain sequence. In some layers
headers also contain sizes, times, and other control information. The resulting unit of header and
message is passed on to layer 3. In many networks there is no real limit to the size of messages
transmitted in the layer 4 protocol, but there is nearly always a limit imposed by the layer 3 protocol.
Consequently, layer 3 must break up the incoming message into smaller units, packets, pre-pending a
layer 3 header to each packet. In the example above, the data passed from layer 4 to layer 3 is split
into two parts. This divides message M into two parts, M1 and M2.
Layer 3 decides which of the outgoing lines to use and passes packets to layer 2. Layer 2 adds not
only a header to each piece, but also a trailer, and gives the resulting unit to layer 1 for physical
transmission. At the destination machines the received data moves upward, from layer to layer, with
headers being stripped off and the original message M being recreated as the data progresses. None of
the headers or trailers of layer N are passed up to layer N+1.
The important aspect to understand about the example in the slide above is the relation between the
virtual and actual communication and the difference between protocols and interfaces. The peer
processes in layer 4 think of their communication as being horizontal using the layer 4 protocol. Each
one is likely to have a procedure called SendToOtherSide, even though this procedure actually
communicates with the lower layer across the layer 3/4 interface and not with the other side.
Even though the reader might have the impression that protocols are implemented in software, the
lower layers are frequently implemented in hardware. The functionality of layer 1 is almost always
implemented in hardware, often in a specially designed ASICs.

© Dr. Dirk H Pesch, CIT, 2000 9


Design Issues for Layers

• Addressing
• Segmentation and re-assembly
• Transmission modes
• Error control
• Flow control
• Routing
• Multiplexing
• Connection and other management

The concept of addressing in a communication architecture is a complex one and covers a number of
issues. At least four separate issues need to be discussed:
• Addressing level
• Addressing scope
• Connection identifiers
• Addressing mode
Addressing level refers to the level of communications architecture at which an entity is named, e.g.
end system or intermediate system. Such an address is in general a network level address as for
example an IP address in the case of TCP/IP or a network service access point (NSAP). In general an
address identifies a service access point (SAP) in the protocol hierarchy of the network architecture.
A second issue of addressing is the addressing scope. An IP address is a globally unique address. In
an Ethernet LAN for example, each Ethernet card is identified by an address which is valid in the sub-
network where the card is used.
The concept of connection identifiers comes into play when the connection-oriented data transfer is
considered, e.g. virtual circuits. A connection between the two ends of a sub-network is identified by
a connection identifier or the connection between two end-systems. The addressing mode is used
when uni-cast, multi-cast, or broadcast communication is used, that is in point-to-point or point-to-
multipoint connections.
Segmentation and re-assembly takes place when a higher layer passes data packets to a lower layer,
which has restrictions on size for the data segments it can send to its peer entity or to the layer below.
An example of this is ATM (asynchronous transfer mode) networks. The ATM layer accepts only
chunks of 48 bytes from the layer above, because it process data in form of cells of 53 bytes each,
with a 5 byte header, which the layer adds itself, and a 48 byte payload with data from the higher
layer. In order to make sure that the data packets, which have been segmented, arrive in the right
order to the receiving entity, a sequencing function is often used. Each segment is assigned a
sequence number. The receiving side can then re-assemble the original data packet in the right order.
Sequencing is also used for flow control and error control.
Transmission modes refer to the way data is transmitted between two end-systems. The two main
modes of transmission are connection-oriented and connectionless. The properties of the two modes
will be explained below.

© Dr. Dirk H Pesch, CIT, 2000 10


Error control is used to guard against loss or damage of data and control information. The level of
error control varies depending on the type of data that is being transmitted. Control data, which is
essential for the proper operation of the communication system, must not experience any damage or
loss during transmission. Therefore, error control mechanisms make sure that the probability of error
is very small. On the other hand, if voice is being transmitted, error control needs not be as stringent
as voice communication can sustain damage or loss of information. The human brain is very good at
correcting or replacing loss of voice information. Two types of error control can be distinguished,
forward error control (FEC) and automatic repeat request (ARQ) error control. The first type
adds redundancy to the data that is being send. This adding of redundancy, also called channel
coding, is used to detect and also to correct errors in digital data. However, if more errors were
introduced than can be corrected, the received data will remain erroneous. This type of error control is
frequently used in voice communication. The second type, ARQ mechanisms, are used for error
control of data and control information. Some redundancy is added that allows the receiving side to
determine whether errors were introduced. If the receiving side detects that data is not error free, it
requests the sending side to repeat the transmission. In this case errors in sequencing of segmented
data are also covered. A combination of FEC and ARQ mechanisms are used in systems where the
physical transmission medium is regarded as highly unreliable. This would be the case in all mobile
radio systems.
Flow control is a function performed mainly by the receiving end in order to limit the amount or rate
of data that is send by the transmitting entity. Flow control is used to manage and also shape the data
traffic in the communication system and to avoid congestion. The simplest form of flow control is a
stop-and-wait procedure, in which each data packet must be acknowledged before the next can be
sent. More efficient protocols use a sliding window mechanisms, such as HDLC based protocols.
Routing is a function that is used to determine the transmission path between two end systems across
a number of subnets. The transmission route that is being established depends on a number of factors,
such as traffic intensity and congestion, availability of transmission medium, cost of transmission,
transmission delay, and reliability of transmission among others. Routing functions usually reside in
layer 3 of the protocol hierarchy. Routing can be static or dynamic. Static routing is used mainly in
connection-oriented data transmission, where a physical or virtual connection is established between
two end-systems. Dynamic routing is used in connectionless data transmission where each data packet
carries the destination address and can be routed independently of other data packets between the two
end systems.
The concept of multiplexing is related to addressing. One form of multiplexing is supported by
means of multiple connections into a single system. For example a number of virtual connections can
terminate in one end system. These virtual connections are transmitted over a single physical channel,
they are multiplexed into the physical channel. Beside multiplexing of virtual connections into one
physical connection, there can also be logical multiplexing of many logical connections into another
logical connection. There are several ways in which multiplexing of multiple virtual connections into
a physical connection can take place. The most common forms are based on frequency, time or code
multiplexing. The concept of multiplexing will be addressed in detail later.
Connection management is used in connection-oriented data transfer, where a physical or virtual
connection between two end systems has to be established. Connection management is usually
divided into three phase
• connection establishment
• connection maintenance and data transfer
• connection termination
With more sophisticated protocols there may also be connection suspension and resumption possible.
Other layer management issues are concerned with resource allocation, fault detection and recovery,

© Dr. Dirk H Pesch, CIT, 2000 11


Interfaces and Services

Relationship between layers and interfaces

Layer N (N) - PDU (N-1) - SAP

Interface
(N-1) - SDU
Layer N - 1 (N-1) - PCI

(N-1) - PDU

The function of each layer is to provide a service for the layer above. The active elements in
each layer are called entities. An entity can be a software entity (such as a process) or a
hardware entity (such as an I/O chip). Entities in the same layer in different systems are call
peer entities. The entities in layer N implement a service used by layer N+1. In this case
layer N is called the service provider and layer N+1 the service user.
Services are available at Service Access Points (SAPs). The layer N SAPs are the places
where layer N+1 can access the services offered. Each SAP has an address that uniquely
identifies it. As an example, the SAPs in the telephone system are the sockets into which the
telephone apparatus are plugged, and the SAPs addresses are the telephone numbers of these
sockets. To call someone, one must know the callee’s SAP address.
In order for two layers to exchange information, there has to be an agreed upon set of rules
about the interface. The standard convention in the layered model is that the layer N+1 entity
passes a Protocol Data Unit (PDU) to the layer N entity through the layer N SAP. The PDU
consists of a Service Data Unit (SDU) and Protocol Control Information (PCI), which is
added by the layer entity in order to perform the operation of the layer protocol. The SDU
may also contain Interface Control Information (ICI), which may be needed by the layer
N entity.
In order to transfer the SDU, the layer N entity may fragment it into several pieces, each of
which is given a header and sent as a separate PDU, such as a packet.

© Dr. Dirk H Pesch, CIT, 2000 12


Connection-Oriented and Connectionless
Services

• Connection-Oriented Service
– modelled after telephone network
– connection acts like a tube
• Connectionless Service
– modelled after postal system
– Each message (packet, cell) carries full dest. address
• Quality of Service

Layers can offer two types of service to the layers above: connection-oriented and connectionless
service.
To use a connection-oriented service, the service user first requests the establishment of a
connection, uses the connection for information exchange, and then releases the connection. The
essential aspect of the connection is that it acts like a tube: the sender pushes objects (bits) in one end,
and the receiver takes them out in the same order at the other end.
In contrast, a connectionless service does not first establish a connection. Each message carries the
full destination address, and is routed through the system independent of other messages. Normally,
the message sent first will arrive first. However, it is possible for messages to ‘overtake’ each other.
With a connection-oriented service this is impossible.
Each service can be characterised by a quality of service. Some services are reliable in the sense that
they never loose data. Usually, a reliable service is implemented by having the receiver acknowledge
the receipt of each message, so that the sender is sure it has arrived. The acknowledgement process
introduces overhead and delays, which are often worth the effort but undesirable. An application
where delays are unacceptable is digitised voice or video traffic (in general any real-time traffic). It is
preferable for telephone users to hear some noise in the background than to wait for
acknowledgements of delivered voice frames.

© Dr. Dirk H Pesch, CIT, 2000 13


Not all application require connections. For example, electronic junk mail delivery may
become common for advertising purposes on the Internet some day. The junk mail sender
may not want to go through the trouble of setting up and later tearing down a connection to
send just one item to hundreds of users. Furthermore, 100 percent reliability may not be
required for this service. All that is need is a high probability that the junk mail will reach its
destination. Unreliable connectionless service is often called datagram service, in analogy
with telegram service, which does also not provide an acknowledgement back to the sender.
Still another service is the request-reply service. In this service the sender transmits a single
datagram containing a request; the reply contains the answer. For example, a query to the
local library asking whether Andrew Tanenbaum’s book “Computer Networks” is available
falls into this category. The request-reply service is commonly used to implement
communication in the client-server model: the client issues a request and the server responds
to it.
The table below summarises the most common types of services.

Service Example
Connection- Reliable message stream Sequence of pages
oriented Reliable byte stream Remote login, file transfer
Unreliable connection Digitised voice/video

Connection- Unreliable datagram Electronic junk mail


less Acknowledged datagram Registered mail
Request-reply Database query

© Dr. Dirk H Pesch, CIT, 2000 14


Service Primitives

• Service is formally specified by primitives (operations)


• Four classes of primitives
– Request
– Indication
– Response
– Confirm

A service is specified by primitives available to a user or other entity to access the service. These
primitives tell the service to perform some action or report on an action taken by a peer entity. One
way to classify the service primitives is to divide them into four classes as shown in the table below.

Primitive Meaning
Request An entity wants the service to do some work
Indication An entity is to be informed about an event
Response An entity wants to respond to an event
Confirm The response to an earlier request has come back

© Dr. Dirk H Pesch, CIT, 2000 15


Service Primitives - Example

Connection Establishment

System A System B
Layer N Layer N
CONNECT.request CONNECT.confirm CONNECT.indication CONNECT.response

Layer N - 1 Layer N - 1

To illustrate the use of primitives, consider how a connection between layers in two different
systems is established. The initiating entity in layer N of System A, requests the underlying
layer N - 1 to establish a connection by requesting its service CONNET by issuing a
CONNET.request primitive. This results in a message being send by the layer N - 1 entity in
System A to layer N - 1 in System B. The CONNECT service in layer N - 1 of System B
notifies layer N of the establishment request by issuing a CONNECT.indication. Layer N
uses the CONNECT.response primitive to tell layer N - 1 whether it wants to accept or reject
the proposed connection. The layer N - 1 entity in System B sends a message to the layer N -
1 entity in System A with the response of the layer N entity in System B. The entity in layer
N - 1 of System A informs the requesting Layer N entity in a CONNET.confirm primitive of
the outcome of the connection establishment.
Most primitives can have parameters, which specify addresses, service types, maximum
message sizes, caller identity, and a reject or accept field. The value of the parameters varies
the connection establishment. A form of negotiation takes place and the details are part of
the protocol.
Services can either be confirmed or unconfirmed. In a confirmed service there is a request,
indication, response, and confirm. In an unconfirmed service, there is just a request and an
indication. An example of a confirmed service is the above connection establishment. An
example for an unconfirmed service is data exchange on an established connection , which
typically uses the primitives DATA.request and DATA.indication.

© Dr. Dirk H Pesch, CIT, 2000 16


Relationship of Services to Protocols
Services and protocols are distinct concepts, although they are frequently confused. A
service is a set of primitives (operations) that a layer provides to the layer above. The service
defines what operations the layer is prepared to perform on behalf of the its users, but it says
nothing at all about how these operations are implemented. A service relates to an interface
between two layers, the Service Access Point (SAP), with the lower layer being the service
provider and the upper layer the service user.
A protocol, in contrast, is a set of rules governing the format and meaning of messages,
frames, or packets that are exchanged by peer entities within a layer of two different systems.
Entities use protocols in order to implement their service definitions. They are free to change
their protocols, provided they do not change the service that is visible to the user. In this way
the service and the protocol are completely decoupled.
There is a strong analogy with programming languages, in particular object-oriented
languages. A service relates to an object. It defines operations that can be performed on the
data of an object but does not specify how these operations are implemented. A protocol
relates to the implementation of an object’s operations and as such are hidden from the user.

© Dr. Dirk H Pesch, CIT, 2000 17


The ISO/OSI 7 Layer RM
• International Standards Organisation (ISO) Open Systems
Interconnection (OSI) Reference Model
Application layer protocol
Application layer Application layer

Presentation layer protocol


Presentation layer Presentation layer

Session layer protocol


Session layer Session layer

Transport layer protocol


Transport layer Transport layer

Network layer protocol


Network Layer Network Layer

Data Link layer protocol


Data Link Layer Data Link Layer

Physical layer protocol


Physical layer Physical layer

Physical transmission medium

© Dr. Dirk H Pesch, CIT, 2000 18


The Internet (TCP/IP) RM
• 5 Layer Reference Model
– Host-to-network layer (layers 1 and 2)
• Physical layer
• Multiple Access sublayer
• Link layer
– Subnet (Internet) layer
– Transport layer
– Application layer

© Dr. Dirk H Pesch, CIT, 2000 19


Communication Protocols
• Layers in layered network architecture contain
peer processes
• Peer processes
– have a common objective, which is achieved through
processing and information exchange
– communicate through lower layers
– consist of an algorithm, which is implemented as a
distributed algorithm or protocol
• Communication Protocols are distributed
algorithms implemented by two or more peer
processes to provide a communication facility to
higher layers

© Dr. Dirk H Pesch, CIT, 2000 20


Problems of Distributed Algorithms

Red
army
Blue
Blue army 2
army 1

Messenger

As indicated above, a communication protocol is an implementation of a distributed algorithm. In


order to gain some insight into the problems associated with distributed algorithms, we examine the
above example involving unreliable communication, which has in fact no solution.
There are three armies, two coloured blue and one red. The red army separates the two blue armies. If
the two blue armies attack at the same time, they win over the red army, but due to the red army’s
strength, they lose if they attack independently. The only communication between the two blue armies
is by sending a messenger through the red army lines. There is a possibility that the messenger will be
captured, causing the message to go undelivered. The blue armies would like to synchronise their
attack at some given time but are unwilling to attack unless assured with certainty that the other will
also attack. Thus, the first blue army might send a message saying “Let’s attack on Monday noon;
please acknowledge if you agree”. The second blue army, receiving such as message, might send a
return message saying “We agree; please send an acknowledgement if you receive our message”. It is
not hard to see that this strategy leads to an infinite sequence of messages, with the last army to send a
message being unwilling to attack until obtaining a commitment form the other side.
It is in fact more surprising, that no strategy exist for the two armies to synchronise. One may try to
convince oneself that this is in fact the case by going through the situation presented above. What you
are likely to encounter in this simple mind experiment is that it is difficult to convince oneself that
there is no solution to the problem. This is so, because we are generally not used to dealing with
distributed decision making problems based on distributed information. If the above conditions are
relaxed as to require only a high probability of simultaneous attack, the problem can be solved. How?
Fortunately, most problems in real communication networks do not require simultaneous agreement.
Typically, what is required is for one peer process to enter a given state with the assurance that the
other peer process will eventually enter a corresponding state. Some acknowledgement may
berequired for this but a deadlock situation as in the above example is avoided.

© Dr. Dirk H Pesch, CIT, 2000 21


Data Networks

Single data network

Subnet
DTE A DCE A DCE B DTE B

Inter-network
Subnet 2
IS
IS
Subnet 1
DTE A IS

IS Subnet 4
Subnet 3 IS
DTE B

A single data network consists of a subnet with switches, routers, bridges and transmission lines. The
hosts, generally called Data Terminal Equipment (DTE) are connected through Data Circuit-
terminating Equipment (DCE) to the subnet. An example of a DTE is a personal computer, which is
connected through a DCE, in this case a modem, to the subnet, which may be the normal telephone
network. The subnet routes the data from DTE A to DTE B.
An internetwork consists of many subnets, interconnected by Intermediate Systems (IS), which
perform protocol translation as required.

© Dr. Dirk H Pesch, CIT, 2000 22


Layered Inter-network

Intermediate System
Gateway
Host A Host B
IWF

APL A APL A APL B APL B

PRL A subnet A PRL A PRL B subnet B PRL B

SL A SL A SL B SL B

TPL A Network Node TPL A TPL B Network Node TPL B

NWL A NWL A NWL A NWL B NWL B NWL B

DLC A DLC A DLC A DLC B DLC B DLC B

PHY A PHY A PHY A PHY B PHY B PHY B

In most cases communication between two end-points or hosts takes place across an internetwork. For
example of one person, using his/her office phone calls another persons mobile phone, then the
information transfer has to be routed through a number of subnets. As outlined above, a subnet is a
communication network that connects two host machines across a number of network nodes. A host
can also be a gateway between two different subnets.
In the example of a communication between an office phone and a mobile phone, the communication
link has to be established from the private branch exchange (PBX) used in the office to the public
switched telephone network (PSTN) and from there into the mobile network. This involves the
establishment of a route across three subnets. The first is most likely an ISDN type network, the
second may be the old analogue PSTN and the third could be the GSM network.
In the slide above, two subnets are shown which are connected by a gateway node which performs
protocol translation between the protocol stack of subnet A and subnet B. This allows two hosts, Host
A and Host B in two networks with different protocol architectures to communicate with each other.
A gateway performs protocol translation at any layer above the network layer. In order to connect two
subnets, even if the protocols are not necessarily different, routers are used at the network layer,
bridges at the data link layer level, and repeaters at the physical layer level.

© Dr. Dirk H Pesch, CIT, 2000 23

You might also like