Lecture 3 Computer Networks
Lecture 3 Computer Networks
Prepared By
Dr. Ibrahim Attiya
© 2023 NMU
Ch.1: Outline
❑ Data Communications
❑ Networks
❑ Network Topology
❑ Network Types
❑ Protocol Layering
❑ TCP/IP Protocol Suite
❑ The OSI Model
❑ Internet History
Hardware and Software
➢ We have given the overview of the Internet
structure.
➢ For communication to happen, we need both
hardware and software. This is similar to a
complex computation in which we need both a
computer and a program.
➢ In this lecture, we show how these
combinations of hardware and software are
coordinated with each other using protocol
layering.
Protocol Layering
➢ In data communication and networking, a
protocol defines the rules that both the sender
and receiver and all intermediate devices need
to follow to be able to communicate directly.
➢ When communication is simple, we may need
only one simple protocol.
➢ When the communication is complex, we may
need to divide the task between different layers,
in which case we need a protocol at each layer,
or protocol layering.
Protocol Layering
➢ Let us develop two simple scenarios to better
understand the need for protocol layering.
➢ In the first scenario, communication is so
simple that it can occur in only one layer.
▪ Assume Maria and Ann are neighbors with a lot of
common ideas. Communication between Maria and
Ann takes place in one layer, face to face, in the
same language, as shown below.
Protocol Layering
➢ In the second scenario:
▪ We assume that Ann is offered a higher-level
position in her company, but needs to move to
another branch located in a city very far from Maria.
▪ They decide to continue their conversion using
regular mail through the post office.
▪ However, they do not want their ideas to be revealed
by other people if the letters are intercepted.
▪ They use an encryption/decryption technique.
▪ Now we can say that the communication between
Maria and Ann takes place in three layers.
Protocol Layering
A three-layer protocol
Advantages of Protocol Layering
➢ Protocol layering enables us to divide a
complex task into several smaller and simpler
tasks. This is referred to as modularity.
➢A layer (module) can be defined as a black box with
inputs and outputs, without concern about how
inputs are changed to outputs.
➢ Protocol layering also allows us to separate the
services from the implementation.
➢A layer needs to be able to receive a set of services
from the lower layer and to give the services to the
upper layer; we don’t care about how the layer is
implemented.
Advantages of Protocol Layering
➢ Another advantage of protocol layering, is that
communication does not always use only two
end systems; there are intermediate systems that
need only some layers, but not all layers.
▪ If we did not use protocol layering, we would have
to make each intermediate system as complex as the
end systems, which makes the whole system more
expensive.
Principles of Protocol Layering
Some principles of protocol layering:
➢ The first principle dictates that if we want
bidirectional communication, we need to make
each layer so that it is able to perform two
opposite tasks, one in each direction.
➢ The second important principle that we need to
follow in protocol layering is that the two
objects under each layer at both sites should be
identical.
Logical Connections
➢ After following the above two principles, we
can think about logical connection between
each layer as shown in this Figure.