Protocol Architectures: Gruppo Reti TLC Name - Lastname@polito - It

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 101

Protocol architectures

Gruppo Reti TLC name.lastname@polito.it http://www.telematica.polito.it/


COMPUTER NETWORKS Protocol architectures - 1

Architectures and protocols


CCITT definition
Communication: transfer of information according to pre-established conventions

Communication requires cooperation One abstract description of the communication paradigm between two or more users requires the definition of a reference model At the maximum level of abstraction, the reference model specifies a network architecture
COMPUTER NETWORKS Protocol architectures - 2

Protocol architectures
A network architecture defines the objects used to describe
the communication process the relation among such objects the functionalities to support the communication the structure of the functions

Layered architectures are used because of


simple design simple management simple standardization separation among functions
COMPUTER NETWORKS Protocol architectures - 3

Separation among functions: Internet


subnet 1 subnet 2 host 4 router 2 router 3 applications error control host 1 subnet 4 router 1 subnet 3 routing packet transfer

host 3 host 2

COMPUTER NETWORKS Protocol architectures - 4

Open System Interconnection OSI


7 6 5 4 3 2 1 Application Presentation Session Transport Network Data link Physical
COMPUTER NETWORKS Protocol architectures - 5

Layered architectures

Application Presentation Session Transport Network Data Link Physical

User Netw. Appl. Session End to End Routing Data Link Physical Service Internetwork Network Application

Transaction Service Presentation Service Data Manag. Flow Trans. Service Control Virtual Route Explicit Route Transm. Group Data Link Physical

half session path control

OSI

DECNET

ARPA

SNA

COMPUTER NETWORKS Protocol architectures - 6

OSI and Internet


OSI Internet Protocol Suite
Telnet FTP SMTP SNMP

Application Presentation Session Transport Network Data link Physical

NFS XDR RPC TCP e UDP

ICMP ARP e RARP

IP

Routing protocols

Unspecified
COMPUTER NETWORKS Protocol architectures - 7

B - ISDN
Management plane
Plane management Layer management

Control plane

User plane

High layers AAL ATM

High layers

Physical

COMPUTER NETWORKS Protocol architectures - 8

Protocols
CCITT definition
formal definition of the procedures adopted to guarantee the communication between two or more objects on the same hierarchical level

Protocol definition:
semantics
set of commands and answers

syntax
structure of commands and answers

timing
temporal sequence of commands and answers
COMPUTER NETWORKS Protocol architectures - 9

Protocols
Protocols are set of

semantic rules
algorithms

syntactic rules
formats

timing

COMPUTER NETWORKS Protocol architectures - 10

ISO/OSI model
(Open System Interconnection) defined in the following standards
ISO IS 7498 CCITT X.200

The fundamental principles defined in the OSI model are universally accepted
this does not mean that all the protocol architectures conform to OSI model

COMPUTER NETWORKS Protocol architectures - 11

OSI model
System1

System 2

System 3

Transmission media

System j

System n

COMPUTER NETWORKS Protocol architectures - 12

OSI model
System A System B System C System D

Transmission media

Application process
COMPUTER NETWORKS Protocol architectures - 13

Layers (or levels)


System A Higher layer (N+1) - layer (N) - layer (N-1) - layer Lower layer transmission media subsystem System B

COMPUTER NETWORKS Protocol architectures - 14

Entities
active elements in a subsystem run the functions of the layer interact within the same layer
System A System B

(N) - layer (N) - entity

transmission media
COMPUTER NETWORKS Protocol architectures - 15

Layering
Each layer (or level)
provides services to the higher layer using
the services from the lower layer its own functionalities

Can be identified:
service provider service user SAP (Service Access Point)
COMPUTER NETWORKS Protocol architectures - 16

Services
The users at layer N and the (N+1) - entities cooperate and communicate using the (N) service offered by the (N) service provider

(N+1) - layer (N) - layer

uses (N) - service provides

COMPUTER NETWORKS Protocol architectures - 17

Services
A service can be:
connection-oriented (CO): a preliminary agreement (connection) is established between the network and the communication end-points, then the data is transferred and finally the connection is released connectionless (CL): data is sent to the network without any preliminary agreement and is treated independently from each other

COMPUTER NETWORKS Protocol architectures - 18

Services
(N) - service N+1 N (N) service provider Black-box for the (N+1) - entity N+1 N

COMPUTER NETWORKS Protocol architectures - 19

Services
(N-1) - service N N-1 (N-1) service provider Black-box for the (N) - entity N N-1

COMPUTER NETWORKS Protocol architectures - 20

SAP (Service Access Point)


Each (N-1)-SAP is associated with at most one (N)-entity
(N) - layer (N-1) - SAP (N) - entity

(N-1) - entity

(N-1) - entity (N-1) - layer


COMPUTER NETWORKS Protocol architectures - 21

Protocols
System A System B

(N+1) - protocol (N+1) - entity (N+1) - entity (N) - servizio (N) - SAP

(N) - layer

(N) - entity

(N) - protocol

(N) - entity

COMPUTER NETWORKS Protocol architectures - 22

Addressing
(N) - title (N) - layer (N) - entity (N-1) - SAP (N-1) - layer (N-1) - entity (N-1) - address

COMPUTER NETWORKS Protocol architectures - 23

Functions for identification


Address translation
(N) directory (N) - entity

(N-1) - address

(N) - title

COMPUTER NETWORKS Protocol architectures - 24

Functions for identification


Address translation
(N) - mapping
(N) - address

(N) - SAP

(N) - entity

(N-1) - SAP

(N-1) - address
COMPUTER NETWORKS Protocol architectures - 25

Possible mappings

(N) - layer

K C

K D

L D

M E

one-to-one

hierarchical

tabular

COMPUTER NETWORKS Protocol architectures - 26

Connections
(N) - entity A (N) - layer (N-1) - SAP (N) - entity B (N) - entity C

(N-1) - layer

(N-1) - connections
COMPUTER NETWORKS Protocol architectures - 27

Connections
(N) - entity A (N) - layer (N-1) - SAP (N) - entity B (N) - entity C

(N-1) - layer

connection one-to-many

connections one-to-one
COMPUTER NETWORKS Protocol architectures - 28

Connections

(N) - entity A (N) - layer (N-1) - SAP

(N) - entity B

(N) - entity C

(N-1) - layer

(N-1) - CEP
COMPUTER NETWORKS Protocol architectures - 29

Connections

(N) - entity A (N) - layer (N-1) - SAP

(N) - entity B

(N) - entity C

(N-1) - CEP

(N-1) - layer

CEP= Connection End Point id=identifier COMPUTER NETWORKS Protocol architectures - 30

(N-1) - CEP.id

Agreement
Agreement among three possible elements
The three elements
(N+1) - entity (N+1) - entity

(N) service provider

COMPUTER NETWORKS Protocol architectures - 31

Agreement
In the case of information transfer without connection, it is sufficient an agreement among two elements
The two elements
(N+1) - entity
(N + 1) - entit

(N+1) - entity

The two elements


(N)(N) service provider - fornitore di servizio

The two elements

COMPUTER NETWORKS Protocol architectures - 32

Agreement
In the case of information transfer with connection, it is necessary an agreement among the three elements
The three elements
(N+1) - entity (N+1) - entity

(N) service provider (N) - fornitore di servizio

COMPUTER NETWORKS Protocol architectures - 33

Connections
multiplexing of (N) connections into one (N-1) - connection
(N) - CEP

(N+1) - layer

(N) - SAP

(N) - layer

COMPUTER NETWORKS Protocol architectures - 34

Connections
subdivision of one (N) connection in many (N-1) - connections
(N) - CEP

(N) - SAP (N) - layer

COMPUTER NETWORKS Protocol architectures - 35

PDU creation
(N) - PDU (N) - layer interface

(N-1) - SDU
SAP

(N-1) - layer

(N-1) - PCI

(N-1) - SDU

(N-1) - PDU
COMPUTER NETWORKS Protocol architectures - 36

PDU creation
On data units, there exists the possibility of
segmentation concatenation

Segmentation can occur either by building many (N) - PDU from one (N) SDU or by building many (N-1) - SDU from one (N) PDU Similarly for the concatenation

COMPUTER NETWORKS Protocol architectures - 37

Information transfer
System A System B System C System D

transmission media

information path
COMPUTER NETWORKS Protocol architectures - 38

Information transfer
Transmitter Receiver

Application Presentation Session Transport Network Data link Physical

data APCI ASDU PPCI PSDU SPCI SSDU TPCI TSDU NPCI NSDU DLPCI DLSDU bit or symbols

Application Presentation Session Transport Network Data link Physical

COMPUTER NETWORKS Protocol architectures - 39

Primitives
user (N) - service user (N) - service

INDICATION

REQUEST

CONFIRM

ANSWER

(N+1) - layer (N) - layer

(N) - SAP

(N) - SAP

(N) - entity

(N) - protocol

(N) - entity

(N) service provider

COMPUTER NETWORKS Protocol architectures - 40

Primitives
set of interactions on an interface, occurring in different times and offering a service Example: service of mail transfer in the postal system
Deposit of the letter in the mailbox by the sender Delivery of the letter into receivers mailbox by the postman

Similar to a procedure

COMPUTER NETWORKS Protocol architectures - 41

Use of primitives
Acknowledged service

Service user Request primitive

Service provider

Service user Indication primitive

Confirm primitive

Answer primitive

COMPUTER NETWORKS Protocol architectures - 42

Use of primitives
Un-acknowledged service

Service user Request primitive

Service provider

Service user Indication primitive

COMPUTER NETWORKS Protocol architectures - 43

Use of primitives
Service started from the provider

Service user Indication primitive

Service provider

Service user Indication primitive

COMPUTER NETWORKS Protocol architectures - 44

Use of primitives
To open a connection

(N+1) - entity (N) - CONNECT


REQUEST

(N) service provider

(N+1) - entity

(N) - CONNECT
INDICATION

(N) - CONNECT (N) - CONNECT


CONFIRM RESPONSE

(N) - SAP

(N) - SAP
COMPUTER NETWORKS Protocol architectures - 45

Use of primitives
To transfer data

(N+1) - entity (N) - DATA


REQUEST

(N) service provider

(N+1) - entity

(N) - DATA
INDICATION

(N) - SAP

(N) - SAP

COMPUTER NETWORKS Protocol architectures - 46

Use of primitives
To close a connection started from the user

(N+1) - entity (N) - DISCONNECT


REQUEST

(N) service provider

(N+1) - entity (N) - DISCONNECT


INDICATION

(N) - SAP

(N) - SAP

COMPUTER NETWORKS Protocol architectures - 47

The seven OSI layers


application presentation session transport network data link physical Application protocol Presentation protocol Session protocol Transport protocol Network protocol Data link protocol Physical layer protocol transmission media
COMPUTER NETWORKS Protocol architectures - 48

application presentation session transport network data link physical

Systems
terminal system relay system
TERMINAL S. Application Presentation Session Transport Network Data link Physical A RELAY SYSTEM TERMINAL S. B Application Presentation Session Transport Network Data link Physical

Network

Data link Physical

transmission media
COMPUTER NETWORKS Protocol architectures - 49

Public networks
user layers transfer layers

user protocols

access protocols

transfer layers

transfer layers

network protocols
access node transit node

terminal equipement

access network

internal network

COMPUTER NETWORKS Protocol architectures - 50

Layer 1: physical
Physical layer:
provides the mechanical, physical, functional and procedural means, to activate, maintain and disable the physical connections allows to transfer binary digits exchanged among the data link entities data units are bits or symbols defines transmission codes, connectors, voltage levels, etc.

COMPUTER NETWORKS Protocol architectures - 51

Layer 2: data link


Data link layer
provides the functional and procedural means to transfer data units among network entities handle malfunctions and failures at physical level main functions:
error detection and error correction for the transmission flow control data unit delimitation

COMPUTER NETWORKS Protocol architectures - 52

Layer 3: network
Network layer
provides the means to setup, maintain and close the connections among the entities at transport level provides the functional and procedural means to exchange the information among entities at transport level main functions
routing flow control and congestion control pricing
COMPUTER NETWORKS Protocol architectures - 53

Layer 4: transport
Transport layer
provides the connections at transport level to the entities at session level compensates the possible lack of quality of service in the connections at network level optimizes the use of the network layer main functions
error control control of sequence flow control
COMPUTER NETWORKS Protocol architectures - 54

Layer 4: transport
lower layer with end-to-end meaning provides multiplexing and subdivision of the connections allows the fragmentation of messages in packets and their reassembly

COMPUTER NETWORKS Protocol architectures - 55

Layer 5: session
Session layer
provides one session connection to the entities at presentation layer organizes the communication among entities at presentation level provides the structure and synchronize the data exchange to allow suspending, recovering and terminating masks the interruptions at service level

COMPUTER NETWORKS Protocol architectures - 56

Layer 6: presentation
Presentation layer
solves the compatibility issues regarding the data formats solves the issues of data syntax translation may provide services of data encryption

COMPUTER NETWORKS Protocol architectures - 57

Layer 7: application
Application layer
provides the application processes with the means to access the OSI environment

Examples of service
file transfer - FTAM virtual terminal - VT e-mail - X.400

COMPUTER NETWORKS Protocol architectures - 58

Example
Trivial network

U1

N1

U2

COMPUTER NETWORKS Protocol architectures - 59

Example
Assume that one (4) entity must communicate with one remote (4) entity We will follow, step-by-step:
primitives SDUs PDUs

COMPUTER NETWORKS Protocol architectures - 60

Example

4 3 2 1

3 2 1

4 3 2 1

U1

N1

U2

layer 3 service with connection layer 2 service connectionless layer 1 service connectionless
COMPUTER NETWORKS Protocol architectures - 61

Example
X

A B C D E

H I J

F G

COMPUTER NETWORKS Protocol architectures - 62

Example
Directory
X

X, X
Z D E

A, H
X

A B C

H I J

F G

COMPUTER NETWORKS Protocol architectures - 63

Example
N-CONNECT.request(H, A, ...) X Z D E X

A B C

H I J

F G

COMPUTER NETWORKS Protocol architectures - 64

Example
N-PDU(H, A, VCid, call request, ...) X A B C D E Z X

H I J

F G

COMPUTER NETWORKS Protocol architectures - 65

Example
Routing
X

A, H
Z D E

A, Z
X

A B C

H I J

F G

COMPUTER NETWORKS Protocol architectures - 66

Example
Mapping
X

A, Z
Z D E

B, D
X

A B C

H I J

F G

COMPUTER NETWORKS Protocol architectures - 67

Example
DL-DATA.request(D, B, DL-SDU, ...) X Z D E X

A B C

H I J

F G

COMPUTER NETWORKS Protocol architectures - 68

Example
DL-PDU(D, B, DL-SDU, DL-PCI) X Z D E X

A B C

H I J

F G

COMPUTER NETWORKS Protocol architectures - 69

Example
Mapping
X

B, D
Z D E

C, E
X

A B C

H I J

F G

COMPUTER NETWORKS Protocol architectures - 70

Example
PH-DATA.request(E, C, symbol) X Z D E X

A B C

H I J

F G

COMPUTER NETWORKS Protocol architectures - 71

Example
X

A B C D E

H I J

F G

01100111
COMPUTER NETWORKS Protocol architectures - 72

Example
PH-DATA.indication(E, C, symbol) X Z D E X

A B C

H I J

F G

COMPUTER NETWORKS Protocol architectures - 73

Example
DL-PDU(D, B, DL-SDU, DL-PCI) X Z D E X

A B C

H I J

F G

COMPUTER NETWORKS Protocol architectures - 74

Example
DL-DATA.indication(D, B, DL-SDU, ...) X Z D E X

A B C

H I J

F G

COMPUTER NETWORKS Protocol architectures - 75

Example
N-PDU(H, A, VCid, call request, ...) X A B C D E Z X H I J

F G

COMPUTER NETWORKS Protocol architectures - 76

Example
Routing
X

A, H
Z D E

Z, H
X

A B C

H I J

F G

COMPUTER NETWORKS Protocol architectures - 77

Example
Mapping
X

Z, H
Z D E

F, I
X

A B C

H I J

F G

COMPUTER NETWORKS Protocol architectures - 78

Example
N-PDU(H, A, VCid, incoming call, ...) X A B C D E Z X H I J

F G

COMPUTER NETWORKS Protocol architectures - 79

Example
DL-DATA.request(I, F, DL-SDU, ...) X Z D E X

A B C

H I J

F G

COMPUTER NETWORKS Protocol architectures - 80

Example
DL-PDU(I, F, DL-SDU, DL-PCI) X Z D E X

A B C

H I J

F G

COMPUTER NETWORKS Protocol architectures - 81

Example
Mapping
X

F, I
Z D E

G, J
X

A B C

H I J

F G

COMPUTER NETWORKS Protocol architectures - 82

Example
PH-DATA.request(J, G, symbol) X Z D E X

A B C

H I J

F G

COMPUTER NETWORKS Protocol architectures - 83

Example
X

A B C D E

H I J

F G

01100111
COMPUTER NETWORKS Protocol architectures - 84

Example
PH-DATA.indication(J, G, symbol) X Z D E X

A B C

H I J

F G

COMPUTER NETWORKS Protocol architectures - 85

Example
DL-PDU(I, F, DL-SDU, DL-PCI) X Z D E X

A B C

H I J

F G

COMPUTER NETWORKS Protocol architectures - 86

Example
DL-DATA.indication(I, F, DL-SDU, ...) X Z D E X

A B C

H I J

F G

COMPUTER NETWORKS Protocol architectures - 87

Example
N-PDU(H, A, VCid, incoming call, ...) X Z D E X

A B C

H I J

F G

COMPUTER NETWORKS Protocol architectures - 88

Example
N-CONNECT.indication(H, A, CEP.id, ...) X Z D E X

A B C

H I J

F G

COMPUTER NETWORKS Protocol architectures - 89

Example
N-CONNECT.response(CEP.id, ...) X Z D E X

A B C

H I J

F G

COMPUTER NETWORKS Protocol architectures - 90

Example
N-PDU(A, H, VCid, call accepted, ...) X A B C D E Z X H I J

F G

COMPUTER NETWORKS Protocol architectures - 91

Example
N-PDU(A, H, VCid, call accepted, ...) X A B C D E Z X H I J

F G

COMPUTER NETWORKS Protocol architectures - 92

Example
N-PDU(A, H, VCid, call connected, ...) X A B C D E Z X H I J

F G

COMPUTER NETWORKS Protocol architectures - 93

Example
N-PDU(A, H, VCid, call connected, ...) X A B C D E Z X H I J

F G

COMPUTER NETWORKS Protocol architectures - 94

Example
N-CONNECT.confirm(A, H, CEP.id, ...) X Z D E X

A B C

H I J

F G

COMPUTER NETWORKS Protocol architectures - 95

Example
T-PDU(T-PCI, T-SDU) X Z D E X

A B C

H I J

F G

COMPUTER NETWORKS Protocol architectures - 96

Example
N-DATA.request(CEP.id, N-SDU, ...) X Z D E X

A B C

H I J

F G

COMPUTER NETWORKS Protocol architectures - 97

Example
N-DATA.indication(CEP.id, N-SDU, ...) X Z D E X

A B C

H I J

F G

COMPUTER NETWORKS Protocol architectures - 98

Example
T-PDU(T-PCI, T-SDU) X Z D E X

A B C

H I J

F G

COMPUTER NETWORKS Protocol architectures - 99

Example
N-DISCONNECT.request(CEP.id) X Z D E X

A B C

H I J

F G

COMPUTER NETWORKS Protocol architectures - 100

Example
N-DISCONNECT.indication(CEP.id) X Z D E X

A B C

H I J

F G

COMPUTER NETWORKS Protocol architectures - 101

You might also like