Architetture di protocolli Gruppo Reti TLC [email protected] http://www.tlc.polito.it/ ARCHITETTURE DI PROTOCOLLI - 1 Architetture e protocolli • Definizione CCITT – Comunicazione: trasferimento di informazioni secondo convenzioni prestabilite • La comunicazione richiede cooperazione • Una descrizione astratta delle modalità di comunicazione tra due o più utenti richiede la definizione di un – modello di riferimento ARCHITETTURE DI PROTOCOLLI - 2 Architetture e protocolli • Al massimo livello di astrazione il modello di riferimento specifica una – architettura di rete ARCHITETTURE DI PROTOCOLLI - 3 Architetture di protocolli • Un’architettura di rete definisce gli oggetti usati per descrivere – il processo di comunicazione – le relazioni tra tali oggetti – le funzioni necessarie per la comunicazione – le modalità organizzative delle funzioni ARCHITETTURE DI PROTOCOLLI - 4 Architetture di protocolli • Si usano architetture stratificate – – – – semplicità di progetto facilità di gestione semplicità di standardizzazione separazione di funzioni ARCHITETTURE DI PROTOCOLLI - 5 Separazione di funzioni: Internet subnet 1 subnet 2 host 4 router 2 router 3 applicativi controllo errori host 1 host 3 instradamento subnet 4 router 1 subnet 3 host 2 trasferimento pacchetti ARCHITETTURE DI PROTOCOLLI - 6 OSI 7 Applicazione 6 Presentazione 5 Sessione 4 Trasporto 3 Rete 2 Collegamento 1 Fisico ARCHITETTURE DI PROTOCOLLI - 7 Architetture stratificate Application User Presentation Netw. Appl. Session Session Transport End to End Service Network Routing Internetwork Data Link Data Link Physical Physical OSI DECNET Application Network Transaction Service Presentation Service Data Flow Mana. Trans. Servi. Control Virtual Route Explicit Route Transm. Group Data Link Physical ARPA SNA ARCHITETTURE DI PROTOCOLLI - 8 half session path control OSI ed Internet OSI Application Presentation Session Internet Protocol Suite NFS Telnet FTP SMTP SNMP XDR RPC Transport Network TCP e UDP ICMP IP Arp e Rarp Data Link Physical Protocolli di routing Non Specificati ARCHITETTURE DI PROTOCOLLI - 9 B - ISDN Piano di gestione Piano di controllo Livelli alti Piano di utente Livelli alti AAL ATM Fisico ARCHITETTURE DI PROTOCOLLI - 10 Protocolli • Definizione CCITT – descrizione formale delle procedure adottate per assicurare la comunicazione tra due o più oggetti dello stesso livello gerarchico • Definizione di protocolli: – semantica • insieme di comandi e risposte – sintassi • struttura di comandi e risposte – temporizzazione • sequenze temporali di comandi e risposte ARCHITETTURE DI PROTOCOLLI - 11 Protocolli • I protocolli sono insiemi di regole: – semantiche • algoritmi – sintassi • formati – temporizzazione ARCHITETTURE DI PROTOCOLLI - 12 Modello di riferimento ISO/OSI • (Open System Interconnection) è recepito nei seguenti standard – ISO IS 7498 – CCITT X.200 • I principi fondamentali definiti dal modello di riferimento OSI sono oggi universalmente accettati. • Ciò non significa che tutte le architetture di protocolli siano conformi al modello OSI. ARCHITETTURE DI PROTOCOLLI - 13 Modello OSI Sistema 1 Sistema 2 mezzi trasmissivi Sistema 3 Sistema j Sistema n ARCHITETTURE DI PROTOCOLLI - 14 Modello OSI Sistema A Sistema B Sistema C Sistema D mezzi trasmissivi processi applicativi ARCHITETTURE DI PROTOCOLLI - 15 Strati o livelli strato più elevato (N + 1) - strato (N) - strato (N - 1) - strato strato più basso Sistema B Sistema A sottosistema mezzi trasmissivi ARCHITETTURE DI PROTOCOLLI - 16 Entità – elementi attivi di un sottosistema – svolgono le funzioni di strato – interagiscono all’interno di uno strato Sistema B Sistema A (N) - strato (N) - entità mezzi trasmissivi ARCHITETTURE DI PROTOCOLLI - 17 Stratificazione • Ogni strato (o livello) – fornisce servizi allo strato superiore – usando • i servizi dello strato inferiore • le proprie funzioni • Identificabili: – fornitori di servizio – utenti del servizio – punti di accesso al servizio: SAP (Service Access Point) ARCHITETTURE DI PROTOCOLLI - 18 Servizi • Gli utenti del livello N, le (N+1)-entità, cooperano e comunicano usando lo (N)-servizio fornito dallo (N)-fornitore di servizio usa (N + 1) - strato (N) - strato (N) - servizio fornisce ARCHITETTURE DI PROTOCOLLI - 19 Servizi (N) - servizio N+1 N N+1 (N) - fornitore di servizio N Black-Box per le (N + 1) - entità ARCHITETTURE DI PROTOCOLLI - 20 Servizi (N-1) - servizio N N-1 N (N-1) - fornitore di servizio N-1 Black-Box per le (N) - entità ARCHITETTURE DI PROTOCOLLI - 21 SAP (N) - livello (N - 1) - SAP (N) - entità (N-1) - entità (N-1) - entità (N-1) - livello ARCHITETTURE DI PROTOCOLLI - 22 Protocolli Sistema A Sistema B (N+1) - protocollo (N+1) - entità (N+1) - entità (N) - servizio (N) - SAP (N) - strato (N) - protocollo (N) - entità (N) - entità ARCHITETTURE DI PROTOCOLLI - 23 Indirizzi (N) - titolo (N) - Strato (N) - entità (N - 1) - SAP (N - 1) - Strato (N - 1) - entità (N - 1) indirizzo ARCHITETTURE DI PROTOCOLLI - 24 Funzioni di identificazione • (N) directory (N) - entità (N-1) - indirizzo (N) - titolo ARCHITETTURE DI PROTOCOLLI - 25 Funzioni di identificazione • (N)-mapping (N) - indirizzo (N) - SAP (N) - entità (N - 1) - SAP (N - 1) - indirizzo ARCHITETTURE DI PROTOCOLLI - 26 Tipologie di mapping F G H J K K C (N) - strato A B one-to-one hierarchical C L K D M L D D M E E tabular ARCHITETTURE DI PROTOCOLLI - 27 Connessioni (N) - entità A (N) - strato (N) - entità B (N) - entità C (N - 1) - SAP (N - 1) - strato (N-1) - connessioni ARCHITETTURE DI PROTOCOLLI - 28 Connessioni (N) - entità A (N) - strato (N) - entità C (N) - entità B (N - 1) - SAP (N - 1) - strato connessione punto - multipunto connessioni punto - punto ARCHITETTURE DI PROTOCOLLI - 29 Connessione (N) - entità A (N) - strato (N) - entità B (N) - entità C (N - 1) - SAP (N - 1) - strato (N - 1) - CEP ARCHITETTURE DI PROTOCOLLI - 30 Connessioni (N) - entità A (N) - strato (N) - entità B (N) - entità C (N - 1) - CEP (N - 1) - SAP (N - 1) - strato (N - 1) - CEP.id ARCHITETTURE DI PROTOCOLLI - 31 Accordo Accordo tra tre parti Le tre parti (N + 1) - entità (N + 1) - entità (N) - fornitore di servizio ARCHITETTURE DI PROTOCOLLI - 32 Accordo • Nel caso di trasferimento di informazioni senza connessione è sufficiente un accordo tra due parti Le due parti (N + 1) - entità (N + 1) - entità (N + 1) - entità (N + 1) - entità Le due parti Le due parti - fornitoredi di servizio servizio (N)(N) - fornitore ARCHITETTURE DI PROTOCOLLI - 33 Accordo • Nel caso di trasferimento di informazioni con connessione è necessario un accordo tra le tre parti Le tre parti (N + 1) - entità (N + 1) - entità (N + 1) - entità (N + 1) - entità - fornitoredi di servizio servizio (N)(N) - fornitore ARCHITETTURE DI PROTOCOLLI - 34 Connessioni • multiplazione di (N) - connessioni su una (N-1)-connessione (N+1) - strato (N) - CEP (N) - SAP (N) - strato ARCHITETTURE DI PROTOCOLLI - 35 Connessioni • suddivisione di una (N) - connessione su più (N - 1) - connessioni (N) - CEP (N) - SAP (N) - strato ARCHITETTURE DI PROTOCOLLI - 36 Creazione PDU (N) - PDU (N) - livello (N - 1) - SDU SAP interfaccia (N - 1) - PCI (N - 1) - SDU (N-1) - livello (N - 1) - PDU ARCHITETTURE DI PROTOCOLLI - 37 Creazione PDU • Sulle unità dati esiste la possibilità di – segmentazione – concatenazione • La segmentazione può avvenire sia costruendo più (N)-PDU da una (N)-SDU, sia generando più (N-1)-SDU da una (N)-PDU. • Analogamente per la concatenazione. ARCHITETTURE DI PROTOCOLLI - 38 Trasferimento informazioni Sistema A Sistema B Sistema C Sistema D mezzi trasmissivi percorso delle informazioni ARCHITETTURE DI PROTOCOLLI - 39 Trasferimento informazioni dati Trasmettitore Ricevitore APCI ASDU Applicazione Presentazione Sessione Trasporto Rete Collegamento Fisico PPCI SPCI TPCI NPCI DLPCI PSDU SSDU TSDU NSDU DLSDU bit o simboli Applicazione Presentazione Sessione Trasporto Rete Collegamento Fisico ARCHITETTURE DI PROTOCOLLI - 40 Primitive (N) - entità (N) - protocollo (N) - SAP RISPOSTA CONFERMA RICHIESTA (N) - SAP INDICAZIONE utente (N) - servizio utente (N) - servizio (N + 1) - strato (N) - strato (N) - entità fornitore dell’ (N) - servizio ARCHITETTURE DI PROTOCOLLI - 41 Uso di primitive Servizio confermato Utente del servizio Primitiva di richiesta Primitiva di conferma Fornitore del servizio Utente del servizio Primitiva di indicazione Primitiva di risposta ARCHITETTURE DI PROTOCOLLI - 42 Uso di primitive Servizio non confermato Utente del servizio Primitiva di richiesta Fornitore del servizio Utente del servizio Primitiva di indicazione ARCHITETTURE DI PROTOCOLLI - 43 Uso di primitive Servizio iniziato dal fornitore Utente del servizio Primitiva di indicazione Fornitore del servizio Utente del servizio Primitiva di indicazione ARCHITETTURE DI PROTOCOLLI - 44 Uso di primitive Apertura di connessione (N + 1) - entità (N) - CONNECT (N + 1) - entità (N) - fornitore di servizio (N) - CONNECT REQUEST INDICATION (N) - CONNECT (N) - CONNECT RESPONSE CONFIRM (N) - SAP (N) - SAP ARCHITETTURE DI PROTOCOLLI - 45 Uso di primitive Trasferimento dati (N + 1) - entità (N) - DATA (N) - fornitore di servizio (N + 1) - entità (N) - DATA REQUEST INDICATION (N) - SAP (N) - SAP ARCHITETTURE DI PROTOCOLLI - 46 Uso di primitive Chiusura di connessione iniziata dall’utente (N + 1) - entità (N) - DISCONNECT (N) - fornitore di servizio REQUEST (N + 1) - entità (N) - DISCONNECT INDICATION (N) - SAP (N) - SAP ARCHITETTURE DI PROTOCOLLI - 47 Setti strati OSI applicazione presentazione sessione trasporto rete collegamento fisico Protocollo di applicazione Protocollo di presentazione Protocollo di sessione Protocollo di trasporto Protocollo di rete applicazione presentazione sessione trasporto rete Protocollo di collegamento Protocollo di strato fisico collegamento fisico mezzi trasmissivi ARCHITETTURE DI PROTOCOLLI - 48 Sistemi • sistemi terminali • sistemi di rilegamento (relay) SISTEMA A Applicazione Presentazione Sessione Trasporto Rete Collegamento Fisico RELAY SYSTEM Rete Colleg. Fisico SISTEMA B Applicazione Presentazione Sessione Trasporto Rete Collegamento Fisico mezzi trasmissivi ARCHITETTURE DI PROTOCOLLI - 49 Reti pubbliche strati di utilizzazione protocolli di utilizzazione strati di trasferimento strati di trasferimento protocolli di accesso protocolli di rete nodo di accesso apparecchio terminale sezione di accesso strati di trasferimento nodo di transito sezione di rete interna ARCHITETTURE DI PROTOCOLLI - 50 Strato 1: fisico • Physical layer: – fornisce i mezzi meccanici, fisici, funzionali e procedurali per attivare, mantenere e disattivare le connessioni fisiche – ha il compito di effettuare il trasferimento delle cifre binarie scambiate dalle entità di livello di collegamento – le unità dati sono bit o simboli – definizione di codifiche di linea, connettori, livelli di tensione ARCHITETTURE DI PROTOCOLLI - 51 Strato 2: collegamento • Data link layer – fornisce i mezzi funzionali e procedurali per il trasferimento delle unità dati tra entità di livello rete e per fronteggiare malfunzionamenti del livello fisico – funzioni fondamentali: • rivelazione e recupero degli errori di trasmissione • controllo di flusso • delimitazione delle unità dati ARCHITETTURE DI PROTOCOLLI - 52 Strato 3: rete • Network layer – fornisce i mezzi per instaurare, mantenere e abbattere le connessioni di rete tra entità di livello trasporto – fornisce i mezzi funzionali e procedurali per lo scambio di informazioni tra entità di livello trasporto – funzioni fondamentali: • instradamento • controllo di flusso e congestione • tariffazione ARCHITETTURE DI PROTOCOLLI - 53 Strato 4: trasporto • Transport layer – fornisce alle entità di livello sessione le connessioni di livello trasporto – colma le deficienze della qualità di servizio delle connessioni di livello rete – ottimizza l’uso del servizio di livello rete – funzioni fondamentali: • controllo d’errore • controllo di sequenza • controllo di flusso ARCHITETTURE DI PROTOCOLLI - 54 Strato 4: trasporto – è il livello più basso con significato da estremo a estremo – esegue la multiplazione e la suddivisione di connessioni – permette la frammentazione di messaggi in pacchetti e la loro ricomposizione ARCHITETTURE DI PROTOCOLLI - 55 Strato 5: sessione • Session layer – assicura alle entità di presentazione una connessione di sessione – organizza il colloquio tra le entità di presentazione – struttura e sincronizza lo scambio di dati in modo da poterlo sospendere, riprendere e terminare ordinatamente – maschera le interruzioni del servizio trasporto ARCHITETTURE DI PROTOCOLLI - 56 Strato 6: presentazione • Presentation layer – risolve i problemi di compatibilità per quanto riguarda la rappresentazione dei dati da trasferire – risolve i problemi relativi alla trasformazione della sintassi dei dati – può fornire servizi di cifratura delle informazioni ARCHITETTURE DI PROTOCOLLI - 57 Strato 7: applicazione • Application layer – fornisce ai processi applicativi i mezzi per accedere all’ambiente OSI • Esempi di servizio – trasferimento di file - FTAM – terminale virtuale - VT – posta elettronica - X.400 ARCHITETTURE DI PROTOCOLLI - 58 Esempio • Rete semplicissima U1 N1 U2 ARCHITETTURE DI PROTOCOLLI - 59 Esempio • Supponiamo che una (4)-entità debba comunicare con una (4)-entità remota e seguiamo passo - passo – primitive – SDU – PDU ARCHITETTURE DI PROTOCOLLI - 60 Esempio U1 N1 U2 • servizio di livello 3 con connessione • servizio di livello 2 senza connessione • servizio di livello 1 senza connessione ARCHITETTURE DI PROTOCOLLI - 61 Esempio X X’ Z A H B D F I C E G J ARCHITETTURE DI PROTOCOLLI - 62 Esempio X,X’ Direttorio X A,H X’ Z A H B D F I C E G J ARCHITETTURE DI PROTOCOLLI - 63 Esempio N-CONNECT.request (H,A,...) X X’ Z A H B D F I C E G J ARCHITETTURE DI PROTOCOLLI - 64 Esempio N-PDU (H,A,VCid’,call request,...) X X’ Z A H B D F I C E G J ARCHITETTURE DI PROTOCOLLI - 65 Esempio A,H Instradamento X A,Z X’ Z A H B D F I C E G J ARCHITETTURE DI PROTOCOLLI - 66 Esempio A,Z Mapping X B,D X’ Z A H B D F I C E G J ARCHITETTURE DI PROTOCOLLI - 67 Esempio DL-DATA.request (D,B,DL-SDU,...) X X’ Z A H B D F I C E G J ARCHITETTURE DI PROTOCOLLI - 68 Esempio DL-PDU (D,B,DL-SDU,DL-PCI) X X’ Z A H B D F I C E G J ARCHITETTURE DI PROTOCOLLI - 69 Esempio B,D Mapping X C,E X’ Z A H B D F I C E G J ARCHITETTURE DI PROTOCOLLI - 70 Esempio PH-DATA.request (E,C,simbolo) X X’ Z A H B D F I C E G J ARCHITETTURE DI PROTOCOLLI - 71 Esempio X X’ Z A H B D F I C E G J 01100111 ARCHITETTURE DI PROTOCOLLI - 72 Esempio PH-DATA.indication (E,C,simbolo) X X’ Z A H B D F I C E G J ARCHITETTURE DI PROTOCOLLI - 73 Esempio DL-PDU (D,B,DL-SDU,DL-PCI) X X’ Z A H B D F I C E G J ARCHITETTURE DI PROTOCOLLI - 74 Esempio DL-DATA.indication (D,B,DL-SDU,...) X X’ Z A H B D F I C E G J ARCHITETTURE DI PROTOCOLLI - 75 Esempio N-PDU (H,A,VCid’,call request,...) X X’ Z A H B D F I C E G J ARCHITETTURE DI PROTOCOLLI - 76 Esempio A,H Instradamento X Z,H X’ Z A H B D F I C E G J ARCHITETTURE DI PROTOCOLLI - 77 Esempio Z,H Mapping X F,I X’ Z A H B D F I C E G J ARCHITETTURE DI PROTOCOLLI - 78 Esempio N-PDU (H,A,VCid’’,incoming call,...) X X’ Z A H B D F I C E G J ARCHITETTURE DI PROTOCOLLI - 79 Esempio DL-DATA.request (I,F,DL-SDU,...) X X’ Z A H B D F I C E G J ARCHITETTURE DI PROTOCOLLI - 80 Esempio DL-PDU (I,F,DL-SDU,DL-PCI) X X’ Z A H B D F I C E G J ARCHITETTURE DI PROTOCOLLI - 81 Esempio F,I Mapping X G,J X’ Z A H B D F I C E G J ARCHITETTURE DI PROTOCOLLI - 82 Esempio PH-DATA.request (J,G,simbolo) X X’ Z A H B D F I C E G J ARCHITETTURE DI PROTOCOLLI - 83 Esempio X X’ Z A H B D F I C E G J 01100111 ARCHITETTURE DI PROTOCOLLI - 84 Esempio PH-DATA.indication (J,G,simbolo) X X’ Z A H B D F I C E G J ARCHITETTURE DI PROTOCOLLI - 85 Esempio DL-PDU (I,F,DL-SDU,DL-PCI) X X’ Z A H B D F I C E G J ARCHITETTURE DI PROTOCOLLI - 86 Esempio DL-DATA.indication (I,F,DL-SDU,...) X X’ Z A H B D F I C E G J ARCHITETTURE DI PROTOCOLLI - 87 Esempio N-PDU (H,A,VCid’’,incoming call,...) X X’ Z A H B D F I C E G J ARCHITETTURE DI PROTOCOLLI - 88 Esempio N-CONNECT.indication (H,A,CEP.id’,...) X X’ Z A H B D F I C E G J ARCHITETTURE DI PROTOCOLLI - 89 Esempio N-CONNECT.response (CEP.id’,...) X X’ Z A H B D F I C E G J ARCHITETTURE DI PROTOCOLLI - 90 Esempio N-PDU (A,H,VCid’’,call accepted,...) X X’ Z A H B D F I C E G J ARCHITETTURE DI PROTOCOLLI - 91 Esempio N-PDU (A,H,VCid’’,call accepted,...) X X’ Z A H B D F I C E G J ARCHITETTURE DI PROTOCOLLI - 92 Esempio N-PDU (A,H,VCid’,call connected,...) X X’ Z A H B D F I C E G J ARCHITETTURE DI PROTOCOLLI - 93 Esempio N-PDU (A,H,VCid’,call connected,...) X X’ Z A H B D F I C E G J ARCHITETTURE DI PROTOCOLLI - 94 Esempio N-CONNECT.confirm (A,H,CEP.id’’,...) X X’ Z A H B D F I C E G J ARCHITETTURE DI PROTOCOLLI - 95 Esempio T-PDU (T-PCI,T-SDU) X X’ Z A H B D F I C E G J ARCHITETTURE DI PROTOCOLLI - 96 Esempio N-DATA.request (CEP.id’’,N-SDU,...) X X’ Z A H B D F I C E G J ARCHITETTURE DI PROTOCOLLI - 97 Esempio N-DATA.indication (CEP.id’,N-SDU,...) X X’ Z A H B D F I C E G J ARCHITETTURE DI PROTOCOLLI - 98 Esempio T-PDU (T-PCI,T-SDU) X X’ Z A H B D F I C E G J ARCHITETTURE DI PROTOCOLLI - 99 Esempio N-DISCONNECT.request (CEP.id’) X X’ Z A H B D F I C E G J ARCHITETTURE DI PROTOCOLLI - 100 Esempio N-DISCONNECT.indication (CEP.id’’) X X’ Z A H B D F I C E G J ARCHITETTURE DI PROTOCOLLI - 101