Upload
others
View
11
Download
0
Embed Size (px)
Citation preview
Pag. 1
COMPUTER NETWORKS – Protocol architectures
COMPUTER NETWORKS – Protocol architectures - 1
Protocol architectures
Gruppo Reti TLC [email protected]
http://www.telematica.polito.it/
COMPUTER NETWORKS – Protocol architectures - 2
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 - 3
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
Pag. 2
COMPUTER NETWORKS – Protocol architectures
COMPUTER NETWORKS – Protocol architectures - 4
router 1
router 2 router 3
host 1
host 2
host 3
host 4
subnet 1
subnet 2
subnet 4 subnet 3 packet transfer
routing
error control
applications
Separation among functions: Internet
COMPUTER NETWORKS – Protocol architectures - 5
Application
Presentation
Session
Transport
Network
Data link
Physical
7
6
5
4
3
2
1
Open System Interconnection OSI
COMPUTER NETWORKS – Protocol architectures - 6
Layered architectures
OSI
Application
Presentation
Session
Transport
Network
Data Link
Physical
DECNET
User
Netw. Appl.
Session
End to End
Routing
Data Link
Physical
ARPA
Application
Service
Internetwork
Network
SNA
Transaction Service
Presentation Service
Data Flow
Trans. Control
Manag. Service
Virtual Route Explicit Route Transm. Group
Data Link
Physical
path control
half session
Pag. 3
COMPUTER NETWORKS – Protocol architectures
COMPUTER NETWORKS – Protocol architectures - 7
Internet Protocol Suite
OSI and Internet
Application
Presentation
Session
Transport
Network
Data link
Physical
OSI
NFS
XDR
RPC
Telnet
FTP
SMTP
SNMP
TCP e UDP
IP
Unspecified
ARP e RARP ICMP Routing
protocols
COMPUTER NETWORKS – Protocol architectures - 8
Management plane
Control plane User plane
High layers
AAL
ATM
Physical
Layer managem
ent
Plane managem
ent
High layers
B - ISDN
COMPUTER NETWORKS – Protocol architectures - 9
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
Pag. 4
COMPUTER NETWORKS – Protocol architectures
COMPUTER NETWORKS – Protocol architectures - 10
Protocols • Protocols are set of
– semantic rules • algorithms
– syntactic rules • formats
– timing
COMPUTER NETWORKS – Protocol architectures - 11
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 - 12
System j
Transmission media
System1 System 2
System n
System 3
OSI model
Pag. 5
COMPUTER NETWORKS – Protocol architectures
COMPUTER NETWORKS – Protocol architectures - 13
Application process
System A System B System C System D
Transmission media
OSI model
COMPUTER NETWORKS – Protocol architectures - 14
System A
System B
Higher layer
subsystem (N+1) - layer (N) - layer (N-1) - layer
Lower layer transmission media
Layers (or levels)
COMPUTER NETWORKS – Protocol architectures - 15
(N) - layer
System A
System B
(N) - entity
transmission media
Entities • active elements in a subsystem • run the functions of the layer • interact within the same layer
Pag. 6
COMPUTER NETWORKS – Protocol architectures
COMPUTER NETWORKS – Protocol architectures - 16
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 - 17
(N+1) - layer
(N) - layer (N) - service
uses
provides
Services • The users at layer N and the (N+1) - entities
cooperate and communicate using the (N) – service offered by the (N) – service provider
COMPUTER NETWORKS – Protocol architectures - 18
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
Pag. 7
COMPUTER NETWORKS – Protocol architectures
COMPUTER NETWORKS – Protocol architectures - 19
(N) - service
N+1 N
N+1 N (N) – service
provider
Black-box for the (N+1) - entity
Services
COMPUTER NETWORKS – Protocol architectures - 20
N
N-1
N
N-1
(N-1) - service
(N-1) – service provider
Black-box for the (N) - entity
Services
COMPUTER NETWORKS – Protocol architectures - 21
(N) - entity
(N-1) - entity
(N-1) - SAP
(N) - layer
(N-1) - layer
(N-1) - entity
SAP (Service Access Point)
• Each (N-1)-SAP is associated with at most one (N)-entity
Pag. 8
COMPUTER NETWORKS – Protocol architectures
COMPUTER NETWORKS – Protocol architectures - 22
System A System B
(N) - servizio
(N+1) - protocol
(N) - protocol (N) - layer
(N+1) - entity
(N) - entity
(N) - SAP
(N+1) - entity
(N) - entity
Protocols
COMPUTER NETWORKS – Protocol architectures - 23
(N) - entity
(N-1) - entity
(N) - layer
(N-1) - layer
(N-1) - SAP
(N) - title
(N-1) - address
Addressing
COMPUTER NETWORKS – Protocol architectures - 24
(N) - entity (N-1) - address
(N) - title
Functions for identification
• Address translation – (N) directory
Pag. 9
COMPUTER NETWORKS – Protocol architectures
COMPUTER NETWORKS – Protocol architectures - 25
(N) - entity
(N) - SAP
(N-1) - SAP
(N) - address
(N-1) - address
Functions for identification
• Address translation – (N) - mapping
COMPUTER NETWORKS – Protocol architectures - 26
(N) - layer K K L M E D D C
K L M
E D C B A
F G H J
one-to-one hierarchical tabular
Possible mappings
COMPUTER NETWORKS – Protocol architectures - 27
(N) - entity C
(N) - entity B
(N) - entity A
(N) - layer
(N-1) - layer
(N-1) - connections
(N-1) - SAP
Connections
Pag. 10
COMPUTER NETWORKS – Protocol architectures
COMPUTER NETWORKS – Protocol architectures - 28
(N) - entity C
(N) - entity B
(N) - entity A
(N) - layer
(N-1) - layer
(N-1) - SAP
connections one-to-one
connection one-to-many
Connections
COMPUTER NETWORKS – Protocol architectures - 29
(N) - entity A
(N) - entity B
(N) - entity C
(N) - layer
(N-1) - layer
(N-1) - CEP
(N-1) - SAP
Connections
COMPUTER NETWORKS – Protocol architectures - 30
(N) - entity A
(N) - entity B
(N) - entity C
(N) - layer
(N-1) - layer
(N-1) - CEP.id
(N-1) - SAP (N-1) - CEP
Connections
CEP= Connection End Point id=identifier
Pag. 11
COMPUTER NETWORKS – Protocol architectures
COMPUTER NETWORKS – Protocol architectures - 31
Agreement among three possible elements
(N+1) - entity (N+1) - entity
(N) – service provider
The three elements
Agreement
COMPUTER NETWORKS – Protocol architectures - 32
The two elements
(N + 1) - entità
(N) - fornitore di servizio
(N+1) - entity (N+1) - entity
(N) – service provider
The two elements
The two elements
Agreement
• In the case of information transfer without connection, it is sufficient an agreement among two elements
COMPUTER NETWORKS – Protocol architectures - 33
Agreement
• In the case of information transfer with connection, it is necessary an agreement among the three elements
The three elements
(N) - fornitore di servizio
(N+1) - entity (N+1) - entity
(N) – service provider
Pag. 12
COMPUTER NETWORKS – Protocol architectures
COMPUTER NETWORKS – Protocol architectures - 34
(N+1) - layer
(N) - layer
(N) - SAP (N) - CEP
Connections • multiplexing of (N) – connections into
one (N-1) - connection
COMPUTER NETWORKS – Protocol architectures - 35
(N) - layer
(N) - SAP
(N) - CEP
Connections • subdivision of one (N) – connection
in many (N-1) - connections
COMPUTER NETWORKS – Protocol architectures - 36
(N) - layer interface (N-1) - layer
(N-1) - SDU
(N-1) - PCI (N-1) - SDU
(N-1) - PDU
SAP
(N) - PDU
PDU creation
Pag. 13
COMPUTER NETWORKS – Protocol architectures
COMPUTER NETWORKS – Protocol architectures - 37
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 - 38
System A System B System C System D
transmission media
information path
Information transfer
COMPUTER NETWORKS – Protocol architectures - 39
Application Presentation
Session Transport Network Data link Physical
Receiver Transmitter
Application Presentation
Session Transport Network Data link Physical
data APCI ASDU
PPCI PSDU SPCI SSDU
TPCI TSDU NPCI NSDU
DLPCI DLSDU bit or symbols
Information transfer
Pag. 14
COMPUTER NETWORKS – Protocol architectures
COMPUTER NETWORKS – Protocol architectures - 40
user (N) - service
user (N) - service
(N) - entity (N) - entity
(N) - SAP (N) - SAP
(N) - protocol
REQ
UES
T
CO
NFI
RM
IND
ICAT
ION
AN
SWER
(N+1) - layer (N) - layer
(N) – service provider
Primitives
COMPUTER NETWORKS – Protocol architectures - 41
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 receiver’s mailbox by
the postman • Similar to a procedure
COMPUTER NETWORKS – Protocol architectures - 42
Service provider
Service user
Service user
Request primitive
Confirm primitive
Indication primitive
Answer primitive
Acknowledged service
Use of primitives
Pag. 15
COMPUTER NETWORKS – Protocol architectures
COMPUTER NETWORKS – Protocol architectures - 43
Service provider
Service user
Request primitive Indication
primitive
Use of primitives Un-acknowledged service
Service user
COMPUTER NETWORKS – Protocol architectures - 44
Service provider
Service started from the provider
Use of primitives
Service user
Service user
Indication primitive
Indication primitive
COMPUTER NETWORKS – Protocol architectures - 45
To open a connection
(N) – service provider
(N+1) - entity (N+1) - entity
(N) - CONNECT
(N) - CONNECT
(N) - CONNECT REQUEST
CONFIRM
INDICATION
RESPONSE
(N) - SAP (N) - SAP
(N) - CONNECT
Use of primitives
Pag. 16
COMPUTER NETWORKS – Protocol architectures
COMPUTER NETWORKS – Protocol architectures - 46
To transfer data
(N) – service provider
(N+1) - entity (N+1) - entity
(N) - DATA (N) - DATA REQUEST
INDICATION
(N) - SAP (N) - SAP
Use of primitives
COMPUTER NETWORKS – Protocol architectures - 47
To close a connection started from the user
(N) – service provider
(N+1) - entity (N+1) - entity
(N) - DISCONNECT
(N) - DISCONNECT REQUEST
INDICATION
(N) - SAP (N) - SAP
Use of primitives
COMPUTER NETWORKS – Protocol architectures - 48
application
presentation
session
transport
network
data link
physical
transmission media
Application protocol
Presentation protocol
Session protocol
Transport protocol
Network protocol
Data link protocol
Physical layer protocol
application
presentation
session
transport
network
data link
physical
The seven OSI layers
Pag. 17
COMPUTER NETWORKS – Protocol architectures
COMPUTER NETWORKS – Protocol architectures - 49
Application Presentation
Session Transport Network Data link Physical
Application Presentation
Session Transport Network Data link Physical
• terminal system • relay system
TERMINAL S. A RELAY SYSTEM TERMINAL S. B
Network
transmission media
Systems
Data link Physical
COMPUTER NETWORKS – Protocol architectures - 50
transfer layers
transfer layers
user layers
terminal equipement
access node
transit node
access network internal network
user protocols
transfer layers
access protocols
network protocols
Public networks
COMPUTER NETWORKS – Protocol architectures - 51
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.
Pag. 18
COMPUTER NETWORKS – Protocol architectures
COMPUTER NETWORKS – Protocol architectures - 52
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 - 53
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 - 54
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
Pag. 19
COMPUTER NETWORKS – Protocol architectures
COMPUTER NETWORKS – Protocol architectures - 55
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 - 56
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 - 57
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
Pag. 20
COMPUTER NETWORKS – Protocol architectures
COMPUTER NETWORKS – Protocol architectures - 58
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 - 59
U 1 N 1 U 2
Example • Trivial network
COMPUTER NETWORKS – Protocol architectures - 60
Example • Assume that one (4) – entity must
communicate with one remote (4) – entity • We will follow, step-by-step:
– primitives – SDUs – PDUs
Pag. 21
COMPUTER NETWORKS – Protocol architectures
COMPUTER NETWORKS – Protocol architectures - 61
• layer 3 service with connection • layer 2 service connectionless • layer 1 service connectionless
U 1 N 1 U 2
Example
1 2 3
1 2 3
1 2 3 4 4
COMPUTER NETWORKS – Protocol architectures - 62
A B C
H I J
X X’
D E
F G
Example
Z
COMPUTER NETWORKS – Protocol architectures - 63
A B C
H I J
X X’
D E
F G
A, H X, X’ Example
Z
Directory
Pag. 22
COMPUTER NETWORKS – Protocol architectures
COMPUTER NETWORKS – Protocol architectures - 64
A B C
H I J
X X’
D E
F G
N-CONNECT.request(H, A, ...)
Z
Example
COMPUTER NETWORKS – Protocol architectures - 65
A B C
H I J
X X’
D E
F G
N-PDU(H, A, VCid’, call request, ...)
Example
Z
COMPUTER NETWORKS – Protocol architectures - 66
A B C
H I J
X X’
D E
F G
A, Z A, H Example
Z
Routing
Pag. 23
COMPUTER NETWORKS – Protocol architectures
COMPUTER NETWORKS – Protocol architectures - 67
A B C
H I J
X X’
D E
F G
B, D A, Z Example
Z
Mapping
COMPUTER NETWORKS – Protocol architectures - 68
A B C
H I J
X X’
D E
F G
DL-DATA.request(D, B, DL-SDU, ...)
Example
Z
COMPUTER NETWORKS – Protocol architectures - 69
A B C
H I J
X X’
D E
F G
DL-PDU(D, B, DL-SDU, DL-PCI)
Example
Z
Pag. 24
COMPUTER NETWORKS – Protocol architectures
COMPUTER NETWORKS – Protocol architectures - 70
A B C
H I J
X X’
D E
F G
C, E B, D Example
Z
Mapping
COMPUTER NETWORKS – Protocol architectures - 71
A B C
H I J
X X’
D E
F G
PH-DATA.request(E, C, symbol)
Example
Z
COMPUTER NETWORKS – Protocol architectures - 72
A B C
H I J
X X’
D E
F G
01100111
Example
Z
Pag. 25
COMPUTER NETWORKS – Protocol architectures
COMPUTER NETWORKS – Protocol architectures - 73
A B C
H I J
X X’
D E
F G
PH-DATA.indication(E, C, symbol)
Example
Z
COMPUTER NETWORKS – Protocol architectures - 74
A B C
H I J
X X’
D E
F G
DL-PDU(D, B, DL-SDU, DL-PCI)
Example
Z
COMPUTER NETWORKS – Protocol architectures - 75
A B C
H I J
X X’
D E
F G
DL-DATA.indication(D, B, DL-SDU, ...)
Example
Z
Pag. 26
COMPUTER NETWORKS – Protocol architectures
COMPUTER NETWORKS – Protocol architectures - 76
N-PDU(H, A, VCid’, call request, ...)
A B C
H I J
X X’
D E
F G
Example
Z
COMPUTER NETWORKS – Protocol architectures - 77
A B C
H I J
X X’
D E
F G
Z, H A, H Example
Z
Routing
COMPUTER NETWORKS – Protocol architectures - 78
A B C
H I J
X X’
D E
F G
F, I Z, H Example
Z
Mapping
Pag. 27
COMPUTER NETWORKS – Protocol architectures
COMPUTER NETWORKS – Protocol architectures - 79
A B C
H I J
X X’
D E
F G
N-PDU(H, A, VCid’’, incoming call, ...)
Example
Z
COMPUTER NETWORKS – Protocol architectures - 80
A B C
H I J
X X’
D E
F G
DL-DATA.request(I, F, DL-SDU, ...)
Example
Z
COMPUTER NETWORKS – Protocol architectures - 81
A B C
H I J
X X’
D E
F G
DL-PDU(I, F, DL-SDU, DL-PCI)
Example
Z
Pag. 28
COMPUTER NETWORKS – Protocol architectures
COMPUTER NETWORKS – Protocol architectures - 82
A B C
H I J
X X’
D E
F G
G, J F, I Example
Z
Mapping
COMPUTER NETWORKS – Protocol architectures - 83
A B C
H I J
X X’
D E
F G
PH-DATA.request(J, G, symbol)
Example
Z
COMPUTER NETWORKS – Protocol architectures - 84
A B C
H I J
X X’
D E
F G
01100111
Example
Z
Pag. 29
COMPUTER NETWORKS – Protocol architectures
COMPUTER NETWORKS – Protocol architectures - 85
A B C
H I J
X X’
D E
F G
PH-DATA.indication(J, G, symbol)
Example
Z
COMPUTER NETWORKS – Protocol architectures - 86
A B C
H I J
X X’
D E
F G
DL-PDU(I, F, DL-SDU, DL-PCI)
Example
Z
COMPUTER NETWORKS – Protocol architectures - 87
A B C
H I J
X X’
D E
F G
DL-DATA.indication(I, F, DL-SDU, ...)
Example
Z
Pag. 30
COMPUTER NETWORKS – Protocol architectures
COMPUTER NETWORKS – Protocol architectures - 88
A B C
H I J
X X’
D E
F G
N-PDU(H, A, VCid’’, incoming call, ...)
Example
Z
COMPUTER NETWORKS – Protocol architectures - 89
A B C
H I J
X X’
D E
F G
N-CONNECT.indication(H, A, CEP.id’, ...)
Example
Z
COMPUTER NETWORKS – Protocol architectures - 90
A B C
H I J
X X’
D E
F G
N-CONNECT.response(CEP.id’, ...)
Example
Z
Pag. 31
COMPUTER NETWORKS – Protocol architectures
COMPUTER NETWORKS – Protocol architectures - 91
A B C
H I J
X X’
D E
F G
N-PDU(A, H, VCid’’, call accepted, ...)
Example
Z
COMPUTER NETWORKS – Protocol architectures - 92
A B C
H I J
X X’
D E
F G
N-PDU(A, H, VCid’’, call accepted, ...)
Example
Z
COMPUTER NETWORKS – Protocol architectures - 93
A B C
H I J
X X’
D E
F G
N-PDU(A, H, VCid’, call connected, ...)
Example
Z
Pag. 32
COMPUTER NETWORKS – Protocol architectures
COMPUTER NETWORKS – Protocol architectures - 94
A B C
H I J
X X’
D E
F G
N-PDU(A, H, VCid’, call connected, ...)
Example
Z
COMPUTER NETWORKS – Protocol architectures - 95
A B C
H I J
X X’
D E
F G
N-CONNECT.confirm(A, H, CEP.id’’, ...)
Example
Z
COMPUTER NETWORKS – Protocol architectures - 96
A B C
H I J
X X’
D E
F G
T-PDU(T-PCI, T-SDU)
Example
Z
Pag. 33
COMPUTER NETWORKS – Protocol architectures
COMPUTER NETWORKS – Protocol architectures - 97
A B C
H I J
X X’
D E
F G
N-DATA.request(CEP.id’’, N-SDU, ...)
Example
Z
COMPUTER NETWORKS – Protocol architectures - 98
A B C
H I J
X X’
D E
F G
N-DATA.indication(CEP.id’, N-SDU, ...)
Example
Z
COMPUTER NETWORKS – Protocol architectures - 99
A B C
H I J
X X’
D E
F G
T-PDU(T-PCI, T-SDU)
Example
Z
Pag. 34
COMPUTER NETWORKS – Protocol architectures
COMPUTER NETWORKS – Protocol architectures - 100
A B C
H I J
X X’
D E
F G
N-DISCONNECT.request(CEP.id’)
Example
Z
COMPUTER NETWORKS – Protocol architectures - 101
A B C
H I J
X X’
D E
F G
N-DISCONNECT.indication(CEP.id’’)
Example
Z