Introduction Protocols [Topics Packet retransmission OSI reference model TCP/IP protocol Summary of Key Points]

bonkburpsΔίκτυα και Επικοινωνίες

23 Οκτ 2013 (πριν από 3 χρόνια και 9 μήνες)

80 εμφανίσεις




Packet retransmission

OSI reference model

TCP/IP protocol

Summary of Key Points]

1. Introduction to protocols

Protocols are rules and procedures for communicating. The term "protocol" is used in
a variety of contexts. For

example, diplomats from one country adhere to

rules of
protocol designed to help them interact smoothly with diplomats from

other countries.
Rules of protocol apply in the same way in the computer environment. When several
computers are networked, the rul
es and technical procedures governing their
communication and interaction are called protocols.

1.1 Packet retransmission

Protocols are necessary to ensure effective communication between two computers on
a network. For example, hardware problems and/or

noise can sometimes lead to
corrupted or lost bits or packets, duplicated packets, or out of order packets. Protocols
are responsible for adding extra information to packets to make sure communication
occurs without such loss or duplication. They may add
parity bits, checksum or CRC
information to detect transmission errors, or add sequencing information to make sure
packets are received in the correct order.

To ensure that packets are not lost entirely protocols may require that
acknowledgements be sent
whenever packets are received. Figure 1 illustrates how
such a scheme would work. Whenever the sending computer (computer A in this
case) sends a message over the network, it starts a timer. If no acknowledgement is
received from the receiving computer bef
ore a certain amount of time has expired it
will assume that the packet was lost and retransmit. Otherwise, when the
acknowledgement is received it will proceed to transmit the next packet. This
technique, together with error detection and correction schem
es, can provide
completely reliable delivery

of packets. Protocols that do not provide completely
reliable delivery are called
best effort delivery


Figure 1

Retransmitting lost packets

1.2 Flow control

The simple acknowl
edgement technique described above is known as
stop and wait
flow control
. Although it does provide for completely reliable delivery, it is also

the sender spends a lot of time waiting for acknowledgements to arrive.
A more efficient techniqu
e is called
sliding window flow control
, and is illustrated in
Figure 2.

Figure 2

Sliding window flow control (at the sender)

Using sliding window flow control the receiving computer first establishes a

block of memory t
o store received packets). It informs the sending computer of the
size of the buffer (for example 4 packets), and tells it that it is ready to receive data.
The sending computer then transmits packets for all available space in the buffer,
without waiting
for acknowledgements. Only when the buffer is full does it wait to
receive an acknowledgement. The receiver will send acknowledgements as it receives
and processes each packet. Whenever the sender receives an acknowledgement it
knows that it can transmit a
nother packet. This can be visualised as a window sliding
along the data that needs to be sent. The size of the window is the same as the size of
the buffer. If a packet is inside the window it can be transmitted; if it is to the right is
has been sent alr
eady; if it is to the left it is still unsent.

Figure 3 shows the efficiency improvements achieved by using sliding window flow
control. Stop and wait flow control is only really useful when the data to be
transmitted consists of a small number of large p
ackets, which is not normally the
case. For high
speed networks, sliding window flow control is essential.

Figure 3

Comparison of flow control techniques

2. The OSI reference model

Network software operates at many different lev
els within the sending and receiving
computers. Each of these levels, or tasks, is governed by one or more
. These
protocols, or rules of behaviour, are standard specifications for formatting and moving
the data. When the sending and receiving com
puters follow the same protocols,
communication is assured. For example, a protocol that is responsible for sending an
email from one mail server to another is very different from a protocol that is
responsible for transmitting the binary 1s and 0s onto th
e network cabling. Because of
this layered structure, a number of protocols working together at different levels is
often referred to as a
protocol stack

With the rapid growth of networking hardware and software, a need arose for standard
protocols that
could allow hardware and software from different vendors to
communicate. The Open Systems Interconnection (OSI) reference model is a response
to this need, and represents the seven layers of the process by which data is packaged
and transmitted from a send
ing application through the physical wires to the receiving

2.1 OSI

a layered architecture

The OSI reference model architecture divides network communication into seven
layers. Each layer covers different network activities, equipment, or p
rotocols. Figure
4 represents the layered architecture of the OSI reference model. (

different functions and services as data moves from one computer through the
network cabling to another computer.) The OSI reference model defines how ea
layer communicates and works with the layers immediately above and below it. For
example, the session layer communicates and works with the presentation and
transport layers.

Figure 4

The 7 layers of the OSI reference model

h layer provides some service or action that prepares the data for delivery over the
network to another computer. The lowest layers (1 and 2) define the network's
physical media and related tasks, such as putting data bits onto the network interface
(NICs) and cable. The highest layers define how applications access
communication services. The higher the layer, the more complex is its task.

The layers are separated from each other by boundaries called
. All requests
are passed from one laye
r, through the interface, to the next layer. Each layer builds
upon the standards and activities of the layer below it.

2.2 Relationships among OSI reference model layers

Each layer provides services to the next
higher layer and shields the upper layer
the details of how the services below it are actually implemented. At the same time,
each layer appears to be in direct communication with its associated layer on the other
computer. This provides a logical, or virtual, communication between peer laye
rs, as
shown in Figure 5. In reality, actual communication between adjacent layers takes
place on one computer only, and actual communication between computers occurs at
the physical layer only. At each layer, software implements network functions
g to a set of protocols.

Before data is passed from one layer to another, it is broken down into packets. At
each OSI layer, the NOS adds additional formatting or addressing to the packet,
which is needed for the packet to be successfully transmitted acro
ss the network. At
the receiving end, the packet passes through the layers in reverse order. A software
module at each layer reads the information on the packet, strips it away, and passes
the packet up to the next layer. When the packet is finally passed
up to

the application
layer, the addressing information has been stripped away and the packet is in its
original form, which is readable by the receiver.

Figure 5

Communication between computers using the OSI reference model

the exception of the lowest layer in the OSI networking model (i.e. the physical
layer), no layer can pass information directly to its counterpart on another computer.
Instead, information on the sending computer must be passed down through each

layer until it reaches the physical layer. The information then moves across
the networking cable to the receiving computer and up that computer's networking
layers until it arrives at the corresponding layer. For example, when the network layer
sends inf
ormation from computer A, the information moves down through the data
link and physical layers on the sending side, over the cable, and up the physical and
link layers on the receiving side to its final destination at the network layer on
computer B.

The purpose of each of the 7 layers of the OSI model is summarised below.

Application layer:
This layer relates to the services that directly support user
applications, such as software for file transfers, database access, and e

Presentation layer:

You can think of the presentation layer as the network's
translator. When computers from dissimilar systems (such as IBM, Apple, and
Sun) need to communicate, a certain amount of translation and byte reordering
must be done. This layer translates informa
tion from computers applications
into a commonly recognised, intermediary format.

Session layer:
This layer

allows two applications on different computers to
open, use, and close a connection called a
. A session is a highly
structured dialog betwe
en two workstations. The session layer is responsible
for managing this dialog and handles such things as login requests and
password verification.

Transport layer:
The transport layer provides an additional connection level
beneath the session layer. The

transport layer ensures that packets are
delivered error free, in sequence, and without losses or duplications. It is
responsible for dividing up a large block of data into smaller packets and
reassembling them at the receiving computer. It is not concern
ed with the
route the data takes to reach its destination.

Network layer:
The network layer

is responsible for addressing messages
and translating logical addresses and names into physical addresses. This layer
also determines the route from the source to

the destination computer.

link layer:
This layer sends data frames from the network layer to the
physical layer. It controls the electrical impulses that enter and leave the
network cable, and is responsible for controlling the flow of data from sen
to receiver.

Physical layer:
This layer transmits the unstructured, raw bit stream over a
physical medium (such as the network cable). The physical layer is totally
oriented and deals with all aspects of establishing and maintaining a
l link between communicating computers.

3. The TCP/IP protocol

Although there are a large number of different protocols that operate at different
layers of the OSI model, one protocol has assumed primary importance for
communicating both within and betw
een networks. This protocol is known as the
Transmission Control Protocol/Internet Protocol (TCP/IP). As its name suggests,
TCP/IP is the protocol that makes communication via the Internet possible, hence its

TCP/IP has become the standard pro
tocol used for

among many
different types of computers. (Interoperability simply means different types of
computers being able to communicate with each other.) This interoperability is a
primary advantage of TCP/IP. Most networks support T
CP/IP as a protocol.

3.1 TCP/IP and OSI

TCP/IP is not actually a single protocol, but a set of protocols that operate at different
levels. The levels involved in TCP/IP do not exactly match those of the OSI reference
model. Instead of seven layers, it u
ses only four. TCP/IP is broken into the following
four layers:

Network interface layer

Internet layer

Transport layer

Application layer

Each of these layers corresponds to one or more layers of the OSI reference model.
The table below shows the correspon
dence between OSI layers and TCP/IP layers.

OSI Layers

TCP/IP Layers












Network interface


Network interface

TCP/IP is a
n industry standard and is an

protocol. This means it is not controlled
by a single company, and is less subject to compatibility issues.

3.2 Overview of TCP/IP

As was stated above, TCP/IP consists of a number of different protocols that perform
variety of functions and operate at a number of different levels. An overview of the
protocols included in TCP/IP is shown below.

OSI Layer

TCP/IP Protocols
















Hardware oriented


Hardware oriented

We will now consider some of these protocols in more detail.

3.3 The IP protocol and IP addresses

One of the protocols in the TCP/IP suite is the IP protoc
ol. This is used at the Internet
layer of TCP/IP (i.e. the Network layer in the OSI model) and is used to attach
network addresses to packets. The IP protocol routes packets on the network by using
IP addresses
. An IP address consists of 4 numbers between
0 and 255 separated by
dots. For example, is a valid IP address. When you surf the Internet and
type a URL into your browser (e.g.
) you are actually using IP
addresses. Every Internet domain
such as Yahoo or Google has its own IP address on
the Internet.

3.3.1 Class A, B and C networks

Clearly there is not one single network administrator responsible for the whole of the
Internet, so breaking it down into smaller

makes sense. Using
the 4 number
(or 32 bit) IP addresses makes it relatively easy to segment the task of managing
computer networks. This is done by splitting the address into two parts: the network
ID (or
), and the computer ID (or
). As an example, we will firs
t consider
the largest type of subnet:
class A


Subnets are defined by fixing a certain number of the 32 bits in the IP address, and
allowing the others to vary. In class A networks, the first 8 bits of the IP address are
fixed (i.e. the first nu
mber of the 4), allowing network administrators to assign the
other 24 bits (3 numbers) as computer addresses. As 24 bits are available for use in
the subnet, class A networks can contain up to 2

different computers. There are only
a very small number of

class A networks, and all have already been assigned to large
companies. For example, IBM have the class A network

and Apple have

In a class B network the first 16 bits of the IP address are fixed. They can have up to

different comp
uters on their network (65,536). All class B networks have also
already been assigned. Microsoft is an example of a company with a class B network.

Class C networks have the first 24 bits of the IP address fixed, allowing only 255
different addresses. Thi
s is the only type of subnet that it is still possible to buy.

Using this class
based system, it is possible to tell that an IP address is in a class A
network because the first bit of the 32 is set to a 0. This means that only 7 bits are
available for st
oring the network ID, making a total of 2

(=128) different class A
networks. A class B network is indicated by setting the first 2 bits to 10, leaving 14
bits for the network ID (= 16384 different class B networks). Class C networks have
the first 3 bits
set to 110, leaving 21 bits for the network ID. Therefore there can be
total of 2

(=2,097,157) different class C networks (see table below).


Prefix bits

number of

Suffix bits

per network
















3.3.2 Exercise 1

For example, using the class
based system of IP addressing, what can you deduce
from the following IP addresses?







(go to the end of this handout for the answers)

3.3.3 Classless Inter
domain routing

When this class
based system was introduced, it was thought that it would easily
provide enough IP addresses for the Internet. However, d
ue to the rapid increase in
the number of Internet users worldwide, IP addresses eventually came to be in short
supply. Because of this, in 1994 a new system was introduced:
classless inter
, or CIDR.

CIDR uses
subnet masks

to subdivide netw
orks. The 32 bits in a subnet mask indicate
which of the bits in an IP address are a part of the prefix (network ID), and which are
a part of the suffix (computer ID). If the bit in the subnet mask is a 1 that bit is in the
prefix and so must be fixed in t
he IP addresses of a subnet. If the bit in the subnet
mask is a 0 then it is part of the suffix and is allowed to vary within a subnet. For
example, in a class C network only the last 8 bits can vary, so the subnet mask is For class A and B
networks the subnets masks are and respectively.

However, subnet masks allow much more flexibility than the class
based system. For
example, suppose we wish to have a subnet with 1000 IP addresses. Under the class
based system we wou
ld have to allocate a class B network, which has a total of
65,534 addresses, approximately 64,000 of which would be unused. Using CIDR we
can specify the following subnet mask:









Now we are using 22 bits

to specify the network ID, and 10 bits for the computer ID.
This allows a total of 2
, or 1024, different IP addresses in the subnet, which
minimises the number of unused addresses.

Because we can now have any number of bits in the network ID part of th
e IP address,
the IP address is generally written with a slash at the end followed by the number of
bits in the network ID, e.g.
. Because of this notation a subnet
with 22 bits for the network ID is known as a “slash 22 network”.


system has temporarily alleviated the shortage of IP addresses on the
Internet, but still we will run out of addresses one day. Because of this a new system
is being devised that uses 128 bit addresses.

3.3.4 Exercise 2

For example, which of the follow
ing IP addresses would be on the same subnet as







(go to the end of this handout for the answers)

3.3.5 Reserved IP addresses

You cannot use every I
P address. There are some addresses, or sets of addresses, that
are reserved for special uses. The table below summarises these.

Network ID

Computer ID



All 0’s

All 0’s

This c潭灵ter

rse搠摵ring system 扯潴

All 0’s


A c潭灵
ter 潮 this


All 0’s


rse搠t漠oefer t漠on entire

All 1’s

All 1’s

iimite搠 扲潡摣ast

Br潡摣asts message t漠all
c潭灵ters 潮 this su扮et


All 1’s


Br潡摣asts message t漠all
c潭灵ters 潮





rse搠f潲 testing

3.4 ARP and RARP

Every network device (e.g. NIC, router, bridge, etc.) has a unique hardware address.
This address is known as the MAC (media access control). MAC addresses are
different to
IP addresses: they are a 48
bit binary code and they never change

are permanently assigned to the device at manufacturing time. IP addresses, on the
other hand, are assigned by software and so they can change during the lifetime of a
device. In low
level protocols, all addressing is performed using MAC addresses.

ARP stands for the
address resolution protocol
. It operates at the network layer of
OSI, and the Internet layer of TCP/IP. ARP is responsible for translating from IP
addresses to MAC addres
ses. RARP stands for the
reverse address resolution
, and is responsible for translating from MAC addresses to IP addresses.
Because of the service provided by ARP and RARP, all protocols above them in the
OSI model are able to use IP addresses onl
y when referring to network devices.

Summary of Key Points

Protocols in a networking environment define the rules and procedures for
transmitting data

Some protocols provide
completely reliable delivery

by requiring the receiving
computer to send an ac
knowledgment that it has received each packet safely.

Protocols that do not provide completely reliable delivery are called
best effort


Flow control techniques, such as
sliding window flow control
, can improve the
efficiency of completely
reliable delivery protocols

The OSI reference model architecture divides network protocols into seven
layers: the application, presentation, session, transport, network, data
link, and
physical layers

TCP/IP is an industry
standard suite of protocols provi
ding communication

a heterogeneous environment

The four layers of TCP/IP are the network
interface layer, Internet layer,
transport layer, and application layer

The IP protocol uses IP addresses to send data over a network. IP addresses
consist of four
numbers between 0 and 255 separated by dots (e.g.

To simplify the task of managing the Internet, it is divided up into a number of

In class A subnets, the first 8 bits of the IP address are fixed, allowing a total
of 2

fferent addresses

In class B subnets, the first 16 bits of the IP address are fixed, allowing a total
of 2

different addresses

In class C subnets, the first 24 bits of the IP address are fixed, allowing a total
of 2

different addresses

classless i
domain routing

(CIDR), a variable number of bits can be
used to specify the network ID. The
subnet mask

specifies which bits in an IP
address are permitted to vary within a subnet

The address resolution protocol (ARP) and the reverse address resolutio
protocol (RARP) are responsible for translating between the 48
bit hardware
MAC address and IP addresses.

Exercise 1



The first three bits (110) tell us that this is a class C network. Therefore the
next 21 bits specify the network ID (32.1.
0), and the final 8 bits represent the
computer ID (129). So the IP address is and it is on a class C


The first bit (0) tells us that this is a class A network. Therefore the next 7 bits
specify the network ID (2), and the next 24 bits
represent the computer ID
(255.15.254). So the IP address is and it is on a class A network.


The first two bits (10) tell us that this is a class B network. Therefore the next
14 bits specify the network ID (3.192), and the final 16 bits repre
sent the
computer ID (161.1). So the IP address is and it is on a class B

Exercise 2


First we should write the original IP address in binary form:

corresponds to

k ID is
normal text, computer ID in italics).

therefore if we look at the first 22 bits of the two addresses they are identical,
so they

on the same subnet.

therefore the first 22 bits of the two addresses are the same, so they

on the
same subnet.

therefore the first 22 bits are again identical, and the addresses

on the same


therefore the first 22 bits are the same, and the addresses

on the same

so this time the 22

bit is different, which means that the two a
ddresses are

on the same subnet.