Professional Documents
Culture Documents
- Networking Principles -
Computer Engineering
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.
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.
• 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;
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
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.
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.
• 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.
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.
• 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.
Service Example
Connection- Reliable message stream Sequence of pages
oriented Reliable byte stream Remote login, file transfer
Unreliable connection Digitised voice/video
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
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.
Red
army
Blue
Blue army 2
army 1
Messenger
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.
Intermediate System
Gateway
Host A Host B
IWF
SL A SL A SL B SL 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.