Sistemi e Tecnologie della Comunicazione Lezione 3: Architettura TCP/IP
Commutazione di circuito Una rete estesa, a topologia irregolare, deve occuparsi di come fare a realizzare una comunicazione tra nodi distanti La tecnologia a commutazione di circuito prevede che si stabilisca a priori un percorso dedicato alla trasmissione dei dati, definendo la sequenza di linee punto punto che costituiranno il cammino verso la destinazione Le risorse dedicate alla trasmissione vengono allocate e dedicate a quella specifica trasmissione, e vengono rilasciate alla fine della trasmissione dati Una volta stabilito il circuito, i dati vengono instradati da ogni nodo intermedio verso il canale di uscita predisposto, senza introdurre ritardi
Schema di commutazione di circuito
Commutazione di pacchetto La tecnologia a commutazione di pacchetto segue una logica completamente differente nessuna risorsa viene preventivamente allocata per la trasmissione dei dati i dati vengono separati in pacchetti, ciascuno dei quali viene inviato indipendentemente dagli altri i pacchetti possono arrivare a destinazione in tempi diversi, con ritardi e perdite, lungo cammini potenzialmente differenti ogni nodo della rete riceve il pacchetto, lo memorizza, prende una decisione su dove instrararlo e lo invia
Schema di commutazione di pacchetto
Considerazioni sulla commutazione La commutazione di circuito ha le caratteristiche preallocazione risorse, quindi non c’e’ congestione predefinizione del circuito, quindi non c’e’ ritardo per la trasmissione La commutazione di pacchetto e’ caratterizzata da maggiore efficienza perche’ le risorse inutilizzate sono disponibili per altri maggiore flessibilita’ per guasti sulla rete: i pacchetti successivi al guasto possono trovare un’altra strada
Modello TCP/IP Il modello nasce da un progetto del Dipartimento della Difesa USA per la realizzazione di una rete di trasmissione solida per le necessita’ del DoD (Advanced Research Project Agency) Lo scopo era quello di realizzare una rete di trasmissione dati dotata delle caratteristiche: Solidita’ rispetto a potenziali eventi distruttivi di una parte della rete Possibilita’ di mettere in comunicazione reti differenti sparse sul territorio L’ARPA decise di progettare e sviluppare una rete a commutazione di pacchetto
Architettura del TCP/IP Il TCP/IP e’ nato come realizzazione di un insieme di pezzi che svolgessero determinate funzioni Questi pezzi sono stati sviluppati talvolta per risolvere problemi circostanziati, senza un disegno architetturale a priori Solo dopo la sua realizzazione si e’ tentato di fornire una descrizione in termini di architettura stratificata, in modo analogo al modello OSI La stratificazione risulta tuttavia meno precisa e meno vincolante rispetto al modello OSI (ad esempio, non e’ rigoroso l’impiego di tutti i livelli)
Strati del TCP/IP TCP/IP ha una architettura stratificata, come OSI, ma a soli 3 livelli: Application: livello che si occupa di fornire un accesso alla rete alle applicazioni. E’ un livello che equivale ai livelli 5, 6 e 7 di OSI. Transport: livello di trasporto end-to-end, equivalente al livello 4 di OSI Internet: livello di interconnessione di reti, sostanzialmente equivalente nelle funzioni al livello 3 di OSI Sotto al livello internet, non viene specificato nulla se non che deve esistere un modo per recapitare i pacchetti del livello internet; questo talvolta e’ indicato come ulteriore livello, detto di accesso alla rete (host to network)
Il livello internet Il livello internet si occupa di come recapitare i dati nella sottorete (routing), e di inviarli infine nella rete di destinazione. E’ specificato un protocollo non orientato alla connessione: IP (Internet Protocol) Il protocollo richiede che per ogni computer connesso alla rete sia definito un indirizzo univoco (indirizzo IP) Questo protocollo suddivide i dati in pacchetti e li instrada utilizzando tabelle che fanno corrispondere ad ogni indirizzo IP un canale in uscita Funzione di questo livello e’ anche la costruzione ed il mantenimento dinamico delle tabelle; sono definiti per questa funzione protocolli che possono essere inseriti in questo strato, anche se utilizzano IP come se fosse un sottolivello
Il livello di trasporto Il modello definisce due protocolli differenti per il trasporto: TCP (Transmission Control Protocol) che realizza un servizio di trasporto end-to-end affidabile orientato alla connessione. Questo protocollo si occupa di tutte le questioni caratteristiche del livello di trasporto di OSI UDP (User Datagram Protocol) che realizza un servizio inaffidabile connection less Le applicazioni accedono a questi protocolli tramite i punti di accesso al servizio, che nel modello si chiamano porte (port) Entrambi i protocolli segmentano i dati del livello di applicazione, aggiungono un header, e passano i segmenti al livello di internet
Livello di applicazione Originariamente le applicazioni disponibili erano terminale remoto, file transfer e posta elettronica Esistono oggi innumerevoli applicazioni basate su TCP/IP terminale remoto: telnet, rsh, ssh file transfer: ftp, sftp trasferimento pagine di ipertesto: http trasferimento messaggi: smtp, nntp controllo remoto dei nodi della rete: snmp trasporto di interfacce grafiche: X conversione nomi-indirizzi: dns sincronizzazione tra computer: ntp …
Flusso dei dati in TCP/IP
Schema dei livelli del TCP/IP
Considerazioni sui modelli Il modello OSI e’ stato pensato a lungo, ed architettato con cura, ed e’ stato realizzato con una chiara definizione delle funzionalita’ e dei confini tra le sue componenti Tuttavia la complessita’ e la mancanza di esperienza sul campo hanno reso difficile la implementazione pratica funzionale del protocollo Lo standard e’ arrivato troppo tardi: il mondo aveva gia’ preso un’altra strada Alcuni strati sono sostanzialmente inutili, altri molto pesanti Molte funzionalita’ vengono ripetute in modo inefficiente in strati differenti, e mancano funzionalita’ utili (un servizio connection less a livello di trasporto) E’ stata realizzata una implementazione che ha avuto una certa diffusione: Decnet/OSI (dalla DEC): questa e’ stata utilizzata per alcuni anni nella rete di ricerca internazionale, ed in seguito abbandonata Nonostante dichiarazioni di intenti (il DoD affermo’ che avrebbe pensionato i protocolli TCP/IP per una migrazione verso OSI) questa architettura non ha sfondato
Considerazioni sui modelli (2) Il modello TCP/IP gode i frutti di una solida esperienza sul campo Il suo utilizzo, diffuso anche grazie alla diffusione del sistema operativo Unix che utilizza TCP/IP come protocollo di rete nativo, si e’ ampliato fino a sbaragliare la concorrenza La sua architettura non e’ ben definita nelle separazioni delle funzioni, e il concetto di stratificazione e’ violato (o violabile) in molte circostanze Il modello e’ inadatto a descrivere protocolli differenti dal TCP/IP, quindi e’ legato alla implementazione specifica Manca totalmente una definizione di come si debba fare per accedere al mezzo fisico (in pratica e’ incompleto)
Confronto tra i modelli
Apocalisse dei due elefanti
Modello ibrido Spesso per parlare di reti si prende come punto di riferimento l’architettura OSI, ma si prende atto che i livelli di session e presentation sono sostanzialmente inutili, e si adotta una struttura a 5 livelli: applicazione trasporto rete data link strato fisico In questo modo si puo’ parlare delle architetture OSI e TCP/IP disponendo di una corrispondenza uno a uno tra gli strati, assumendo che il modello TCP/IP raggruppi nello strato di accesso alla rete i primi due strati OSI (che poi e’ quello che accade in pratica) Nel corso adotteremo questa struttura, fermandoci al livello di trasporto