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 3 host 1 routing subnet 4 router 1 subnet 3 host 2 packet transfer 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 Application Service Internetwork Network Transaction Service Presentation Service Data Flow Trans. Control Manag. Service 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 Application Presentation Session Transport Network Data link Physical Telnet FTP SMTP SNMP ICMP ARP e RARP TCP e UDP IP Unspecified NFS XDR RPC Routing protocols COMPUTER NETWORKS Protocol architectures - 7
Plane management Layer management B - ISDN Management plane Control plane High layers User plane High layers AAL ATM 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 are set of semantic rules algorithms syntactic rules formats timing Protocols 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) Higher layer System A System B (N+1) - layer (N) - layer (N-1) - layer subsystem Lower layer transmission media 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
Each layer (or level) Layering 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 provides (N) - service 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 N+1 N Black-box for the (N+1) - entity COMPUTER NETWORKS Protocol architectures - 19
Services (N-1) - service N N-1 (N-1) service provider N N-1 Black-box for the (N) - entity 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) - entity (N+1) - protocol (N+1) - entity (N) - servizio (N) - SAP (N) - layer (N) - entity (N) - protocol (N) - entity COMPUTER NETWORKS Protocol architectures - 22
Addressing (N) - layer (N) - entity (N) - title (N-1) - SAP (N-1) - layer (N-1) - address (N-1) - entity 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 F G H J K L M (N) - layer K K L M C D D E A B C D one-to-one hierarchical tabular E COMPUTER NETWORKS Protocol architectures - 26
Connections (N) - entity A (N) - entity B (N) - entity C (N) - layer (N-1) - SAP (N-1) - layer (N-1) - connections COMPUTER NETWORKS Protocol architectures - 27
Connections (N) - entity A (N) - entity B (N) - entity C (N) - layer (N-1) - SAP (N-1) - layer connection one-to-many connections one-to-one COMPUTER NETWORKS Protocol architectures - 28
Connections (N) - entity A (N) - entity B (N) - entity C (N) - layer (N-1) - SAP (N-1) - layer (N-1) - CEP COMPUTER NETWORKS Protocol architectures - 29
Connections (N) - layer (N) - entity A (N-1) - SAP (N) - entity B (N-1) - CEP (N) - entity C (N-1) - layer CEP= Connection End Point id=identifier (N-1) - CEP.id COMPUTER NETWORKS Protocol architectures - 30
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 The two elements (N+1) - entity (N+1) - entity (N + 1) - entità The two elements (N) service provider (N) - fornitore di servizio 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) - fornitore service di provider servizio COMPUTER NETWORKS Protocol architectures - 33
Connections multiplexing of (N) connections into one (N-1) - connection (N+1) - layer (N) - SAP (N) - CEP (N) - layer COMPUTER NETWORKS Protocol architectures - 34
Connections subdivision of one (N) connection in many (N-1) - connections (N) - CEP (N) - layer (N) - SAP COMPUTER NETWORKS Protocol architectures - 35
PDU creation (N) - PDU (N) - layer (N-1) - SDU SAP interface (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 REQUEST (N) - SAP CONFIRM INDICATION (N) - SAP ANSWER (N+1) - layer (N) - layer (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 receiver s mailbox by the postman Similar to a procedure COMPUTER NETWORKS Protocol architectures - 41
Use of primitives Acknowledged service Service user Request primitive Service provider Indication primitive Service user 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) - CONNECT CONFIRM (N) service provider (N+1) - entity (N) - CONNECT INDICATION (N) - CONNECT 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 application presentation session transport network data link physical COMPUTER NETWORKS Protocol architectures - 48
Systems terminal system relay system TERMINAL S. A RELAY SYSTEM TERMINAL S. B Application Presentation Session Transport Network Data link Physical Network Data link Physical transmission media Application Presentation Session Transport Network Data link Physical COMPUTER NETWORKS Protocol architectures - 49
Public networks user layers user protocols transfer layers access protocols transfer layers network protocols transfer layers terminal equipement access node transit node access network internal network COMPUTER NETWORKS Protocol architectures - 50
Physical layer: Layer 1: physical 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
Data link layer Layer 2: data link 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
Network layer Layer 3: network 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
Transport layer Layer 4: transport 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
Session layer Layer 5: session 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
Application layer Layer 7: application 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 U 1 N 1 U 2 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 U 1 N 1 U 2 layer 3 service with connection layer 2 service connectionless layer 1 service connectionless COMPUTER NETWORKS Protocol architectures - 61
Example X Z X A H B D F I C E G J COMPUTER NETWORKS Protocol architectures - 62
Directory Example X, X A, H X Z X A H B D F I C E G J COMPUTER NETWORKS Protocol architectures - 63
Example N-CONNECT.request(H, A,...) X Z X A H B D F I C E G J COMPUTER NETWORKS Protocol architectures - 64
Example N-PDU(H, A, VCid, call request,...) X Z X A H B D F I C E G J COMPUTER NETWORKS Protocol architectures - 65
Routing Example A, H A, Z X Z X A H B D F I C E G J COMPUTER NETWORKS Protocol architectures - 66
Mapping Example A, Z B, D X Z X A H B D F I C E G J COMPUTER NETWORKS Protocol architectures - 67
Example DL-DATA.request(D, B, DL-SDU,...) X Z X A H B D F I C E G J COMPUTER NETWORKS Protocol architectures - 68
Example DL-PDU(D, B, DL-SDU, DL-PCI) X Z X A H B D F I C E G J COMPUTER NETWORKS Protocol architectures - 69
Mapping Example B, D C, E X Z X A H B D F I C E G J COMPUTER NETWORKS Protocol architectures - 70
Example PH-DATA.request(E, C, symbol) X Z X A H B D F I C E G J COMPUTER NETWORKS Protocol architectures - 71
Example X Z X A H B D F I C E G J 01100111 COMPUTER NETWORKS Protocol architectures - 72
Example PH-DATA.indication(E, C, symbol) X Z X A H B D F I C E G J COMPUTER NETWORKS Protocol architectures - 73
Example DL-PDU(D, B, DL-SDU, DL-PCI) X Z X A H B D F I C E G J COMPUTER NETWORKS Protocol architectures - 74
Example DL-DATA.indication(D, B, DL-SDU,...) X Z X A H B D F I C E G J COMPUTER NETWORKS Protocol architectures - 75
Example N-PDU(H, A, VCid, call request,...) X Z X A H B D F I C E G J COMPUTER NETWORKS Protocol architectures - 76
Routing Example A, H Z, H X Z X A H B D F I C E G J COMPUTER NETWORKS Protocol architectures - 77
Mapping Example Z, H F, I X Z X A H B D F I C E G J COMPUTER NETWORKS Protocol architectures - 78
Example N-PDU(H, A, VCid, incoming call,...) X Z X A H B D F I C E G J COMPUTER NETWORKS Protocol architectures - 79
Example DL-DATA.request(I, F, DL-SDU,...) X Z X A H B D F I C E G J COMPUTER NETWORKS Protocol architectures - 80
Example DL-PDU(I, F, DL-SDU, DL-PCI) X Z X A H B D F I C E G J COMPUTER NETWORKS Protocol architectures - 81
Mapping Example F, I G, J X Z X A H B D F I C E G J COMPUTER NETWORKS Protocol architectures - 82
Example PH-DATA.request(J, G, symbol) X Z X A H B D F I C E G J COMPUTER NETWORKS Protocol architectures - 83
Example X Z X A H B D F I C E G J 01100111 COMPUTER NETWORKS Protocol architectures - 84
Example PH-DATA.indication(J, G, symbol) X Z X A H B D F I C E G J COMPUTER NETWORKS Protocol architectures - 85
Example DL-PDU(I, F, DL-SDU, DL-PCI) X Z X A H B D F I C E G J COMPUTER NETWORKS Protocol architectures - 86
Example DL-DATA.indication(I, F, DL-SDU,...) X Z X A H B D F I C E G J COMPUTER NETWORKS Protocol architectures - 87
Example N-PDU(H, A, VCid, incoming call,...) X Z X A H B D F I C E G J COMPUTER NETWORKS Protocol architectures - 88
Example N-CONNECT.indication(H, A, CEP.id,...) X Z X A H B D F I C E G J COMPUTER NETWORKS Protocol architectures - 89
Example N-CONNECT.response(CEP.id,...) X Z X A H B D F I C E G J COMPUTER NETWORKS Protocol architectures - 90
Example N-PDU(A, H, VCid, call accepted,...) X Z X A H B D F I C E G J COMPUTER NETWORKS Protocol architectures - 91
Example N-PDU(A, H, VCid, call accepted,...) X Z X A H B D F I C E G J COMPUTER NETWORKS Protocol architectures - 92
Example N-PDU(A, H, VCid, call connected,...) X Z X A H B D F I C E G J COMPUTER NETWORKS Protocol architectures - 93
Example N-PDU(A, H, VCid, call connected,...) X Z X A H B D F I C E G J COMPUTER NETWORKS Protocol architectures - 94
Example N-CONNECT.confirm(A, H, CEP.id,...) X Z X A H B D F I C E G J COMPUTER NETWORKS Protocol architectures - 95
Example T-PDU(T-PCI, T-SDU) X Z X A H B D F I C E G J COMPUTER NETWORKS Protocol architectures - 96
Example N-DATA.request(CEP.id, N-SDU,...) X Z X A H B D F I C E G J COMPUTER NETWORKS Protocol architectures - 97
Example N-DATA.indication(CEP.id, N-SDU,...) X Z X A H B D F I C E G J COMPUTER NETWORKS Protocol architectures - 98
Example T-PDU(T-PCI, T-SDU) X Z X A H B D F I C E G J COMPUTER NETWORKS Protocol architectures - 99
Example N-DISCONNECT.request(CEP.id ) X Z X A H B D F I C E G J COMPUTER NETWORKS Protocol architectures - 100
Example N-DISCONNECT.indication(CEP.id ) X Z X A H B D F I C E G J COMPUTER NETWORKS Protocol architectures - 101