Title: Communication Networks I
1Communication Networks I
- OPEN SYSTEMS INTERCONNECTION (OSI) REFERENCE
MODEL - Prof. U. Killat
- Hamburg University of
- Technology
Department of Communication Networks Prof. Dr.
U. Killat
2OSI Reference Model
- Introduction
- Concepts of the OSI model
- Implementation aspects
- Discussion of the OSI model
3Introduction
- Incompatibilities are a problem in Interworking.
- Standardization is an approach to cure this evil.
- However, the complexity of the problem asks for
structuring and modularization of the problem. - International Standards Organization (ISO) since
1977 has worked on the OSI model. - They have developed a methodology and detailed
implementation descriptions.
4Introduction
- Typical system decomposition in a communication
network is to look at individual boxes - which house some type of equipment and
- which can be described by their input/output
behaviour at their interfaces. - This is the preferred view of the ITU and can be
referred to as vertical system decomposition.
5Introduction
- The OSI approach is a different one.
- Its background is software structuring rather
than thinking in hardware components. - The technique developed is referred to as
layering - a concept that is also known from
operating systems.
6Introduction
Hierarchy of layers in an operating system
7Introduction
OSI model
8Concepts of the OSI model
- The notions of service and protocol are
important. - Layer N on one machine talks to layer N on
another machine to achieve a certain goal, i.e.
the N service that is offered to layer (N1). - The rules and conventions used in this
conversation are collectively known as the layer
N protocol.
9Concepts of the OSI model
- The entities executing a protocol on different
machines are called peers. -
- 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) is called
the service user. - Obviously the N service is not a result of the
execution of the N protocol alone. But layer N
makes use of the service(s) offered by layer
(N-1).
10Concepts of the OSI model
- The service is described by a set of service
primitives that a layer provides to the layer
above it. -
- The upper layer has no idea how this service is
being performed. By analogy, if I ask my
secretary to organize a meeting I do not need to
know whether the attendees are informed about the
meeting by phone, mail, e-mail or fax.
11Concepts of the OSI model
- A service is like an object in an object-oriented
language. It defines operations that can be
performed on an object but does not specify how
these operations are implemented. -
- A protocol relates to the implementation of the
service and as such is not visible to the user of
the service.
12Concepts of the OSI model
- As a consequence one protocol might be replaced
by another one which meets the same service
specification. - Lesson learned from the OSI model was
- Define a protocol only after having specified
the service it should support.
13Concepts of the OSI model
- Services are available at service access points
(SAPs). - An SAP is identified by its address.
- In the telephone system an SAP is the wall socket
and the SAP address is the telephone number. - The address to reach the SAP of the IP layer is
the IP address, the address to reach the SAP of
the TCP layer is the port address.
14Concepts of the OSI model
- To exchange information between two layers there
has to be an agreed upon set of rules about the
interface involving some interface control
information (ICI). -
- Note! The information transfer between layers
(inside a host) is considered as absolutely
reliable, whereas the communication between peers
in general is not.
15Concepts of the OSI model
N Request
N Confirmation
N Indication
N Response
SAP
SAP
N Layer
16Concepts of the OSI model
- The service primitives supporting a simple
connection-oriented service
17Concepts of the OSI model
- TANENBAUMs example of inviting Aunt Millie for
tea
18Concepts of the OSI model
- Invitation for tea seen from an OSI perspective
1
5
7
Layer N1
Computer 1 You
4
6
Layer N
3
1
2
4
5
6
7
8
9
10
3
5
Layer N1
Computer 2 Aunt Millie
2
6
8
Layer N
19Concepts of the OSI model
- The user data parameters associated with an N
service primitive are known as N service data
unit (N SDU). -
- As this represents the information sent by the
(N 1) entity to its peer, i.e. the (N
1) protocol data unit, (N 1) PDU, we have
N SDU (N1)PDU N PDU N PCI (N1)PDU
20Concepts of the OSI model
- Layer interactions at SAPs
PCI stands for Protocol Control Information
21Concepts of the OSI model
- Layering results in a generic header structure
22Concepts of the OSI model
- SAPs are identified by an address.
- To address an application process (AP) in the OSI
environment we have to consider the concatenation
of SAP addresses - AP address P SAP S SAP T SAP N
SAP - where the N SAP represents the network-wide
address of the system in which the AP is
resident. - All other SAP addresses are created within the
host. -
- The mapping between the symbolic name of an
application process and the AP address is done by
the system directory.
23Concepts of the OSI model
- If an application process runs multiple
transactions in parallel, so-called connection
endpoint identifiers can be assigned to different
transactions. - These identifiers are, however, not part of the
SAP address structure.
24Implementation aspectsof the OSI model
- In general communication protocols are not run by
the host itself but by a local processor on the
communication subsystem board. - At the communication subsystem a shared memory is
used to organize the communication - between the host,
- the local processor and
- the network interface unit.
-
- This shared memory mainly contains data
representing service primitives and their
parameter.
25Implementation aspectsof the OSI model
- Hardware of the communication subsystem
26Implementation aspectsof the OSI model
Interlayer communication (a) transport ECB
structure, (b) relationship between ECB and UDP
27Implementation aspectsof the OSI model
- A task representing a protocol entity
communicates with other tasks (and in particular
the timer task) through a set of FIFO queues or
mailboxes. - Inter-task communication is managed by the local
(real-time) operating system. - The operating system will call a task, if it is
idle and if a message arrives at one of its input
queues.
28Implementation aspectsof the OSI model
- To pass service primitives between layers (tasks)
the initiating task invokes the inter-task
communication primitive of the operating system
with the address pointer of the event control
block (ECB) as a parameter. - The operating system will then insert the pointer
at the tail of the appropriate queue. - When a task is scheduled to run, it will examine
each of its queues for ECBs waiting for
processing. - The user data associated with a primitive is held
in a separate buffer the user data buffer (UDP).
29Implementation aspectsof the OSI model
- As each layer adds its own PCI to the existing
contents, it increments the UDP length by the
corresponding amount. - The UDP contains the accumulated PCIs for each of
the higher layers. Thus the UDP at the physical
layer will have the maximum length. - Since the ECBs and UDBs must be accessible by
each layer, they are each declared as global data
structures.
30Implementationaspects
- program Comniunication_Subsystem
- global Intertask queues (mailboxes)
- Event Control Blocks
- User Data Buffers
- task Transport_Layer
- local typ Events (TCONreq, TCONresp, NCONconf,
CR, CC, - - -) - States (CLOSED, WFNC, WFCC, OPEN,
WFTRESP, - - -) - var EventStateTable array Events, States
of 0..N - PresentState States
- EventType Events
- ECB ECB Buffer
- UDB UDB Buffer
- procedure Initialize Initialize EventStateTable
contents and state variables - procedure TCONind
- procedure TCONconf
- procedure TDISmd
- function P0 boolean
- function P1 boolean
Outline program structure of a protocol layer
31Discussion of the OSI model
- When looking to the model, an obvious question
is - Why 7 layers?
- There are no first principles to arrive at 7
layers. - 7 is rather the result of a set of concerns
outlined below - 1. A layer should be created where a different
level of abstraction is needed. - 2. Each layer should perform a well-defined
function. - 3. The function of each layer should be chosen
with an eye towards defining internationally
standardized protocols. - 4. The layer boundaries should be chosen to
minimize the information flow across the
interfaces. - 5. The number of layers should be large enough
that distinct functions need not be thrown
together in the same layer out of necessity, and
small enough that the architecture does not
become unwieldy.
32Discussion of the OSI model
- The layers chosen were not very stable. For
example, local area networks introduced the MAC
layer considered as part of layer 2. - Aspects like presentation where not very stable
in residing in a certain layer and other aspects
like authentication and encryption were forgotten
altogether. - Today the importance of the OSI mode lies in
methodological achievements (protocol development
after service definition). - In practice TCP/IP protocols and their direct
interfacing to a couple of applications have won
the race.
33Discussion of the OSI model
OSI
TCP/IP
Application
Application
7
Presentation
6
Not present in this model
Session
5
Transport
Transport
4
Network
Internet
3
Data Link
Host to Network
2
Physical
1