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