Lezione 3 Introduzione allo stack protocollare TCP/IP. Prof.ssa Gaia Maselli

Documenti analoghi
Architetture di rete. 4. Le applicazioni di rete

Reti di Calcolatori Servizi di Rete Laboratorio di Didattica in Rete

Protocolli e Architetture. Dr. Greco Polito Silvana

Internet (- working). Le basi.

Mariarosaria Napolitano. Architettura TCP/IP. Corso di: Laboratorio di tecnologie informatiche e telematiche

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

Fondamenti di Internet e Reti. Antonio Capone, Matteo Cesana, Ilario Filippini, Guido Maier

Introduzione. Livello applicativo Principi delle applicazioni di rete. Stack protocollare Gerarchia di protocolli Servizi e primitive di servizio 2-1

LE RETI DI COMPUTER. Il modello ISO/OSI Prima parte

Protocolli di rete. Vittorio Maniezzo Università di Bologna. Vittorio Maniezzo Università di Bologna 02 Protocolli - 2/30

Internet protocol stack

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Protocolli multimediali

Le Reti Informatiche

Architettura a strati dei protocolli di comunicazione

INFORMATICA. Prof. MARCO CASTIGLIONE. Istituto Tecnico Statale Tito Acerbo - PESCARA

Una definizione di rete

(1) (2) (3) (4) 11 nessuno/a (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B

Reti locati e reti globali. Tecnologie: Reti e Protocolli. Topologia reti. Server e client di rete. Server hardware e server software.

Modulo 1 Software e Reti. Prof.ssa Francesca Rammairone

Esame Laboratorio di Sistemi Operativi Cognome Nome Mat.

Stratificazione protocollare (Protocol Layering )

Reti di Telecomunicazione Lezione 8

MODELLI ISO/OSI e TCP/IP

Programmazione in Rete

Alcune idee sui sistemi software e la loro architettura

INTRODUZIONE A RETI E PROTOCOLLI

Reti di Calcolatori:

Introduzione alla rete Internet

Introduzione. Il routing permette la comunicazione tra due nodi differenti anche se non sono collegati direttamente

Appello Esempio d esame. Es1 (6 pt) Es2 (6 pt) Es3 (6 pt) Ques (9 pt) Lab (6pt)

Reti di Telecomunicazioni LB Introduzione al corso

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI

Le reti e Internet. Struttura e protocolli

Reti di Calcolatori ed Internet. Reti di Calcolatori ed Internet. Reti di Calcolatori. Reti di Calcolatori. Architettura dei Servizi di Rete

AURORA WebDOC Document Management System

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori

Concetti Introduttivi. Il Computer

Capitolo 1 - parte 1. Corso Reti ed Applicazioni Mauro Campanella

Reti di Calcolatori:

Fac-simile TVI Informatica Facoltà di Economia Università degli studi di Bergamo

Le aree dell informatica

Internet e protocollo TCP/IP

I sistemi operativi (prima parte) Agostino Lorenzi I sistemi operativi - Atlas

Introduzione alla rete Internet

Internet Protocol Versione 4: instradamento e routing. Aspetti di forwarding e routing del protocollo IPv4

PARTE 1 richiami. SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

Introduzione alla rete Internet

Reti di computer. Agostino Lorenzi - Reti di computer

Our focus is: accesso e controllo della telecamera da remoto 24/7. Dynamic Transcoding

Un semplice commutatore a pacchetto

SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

Reti: cenni storici. Who s who

I modelli di riferimento ISO OSI e TCP-IP

Hardware, software e periferiche. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre

L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software:

WINDOWS TERMINAL SERVER PER L ACCESSO REMOTO AL SISTEMA DI PROTOCOLLO INFORMATICO

Reti di calcolatori. Lezione del 17 giugno 2004

ISTITUTO CERTIFICATO EN UNI ISO

INTERNET Ing. Giovanni Pozzi

Topologie delle reti di telecomunicazione

Capitolo 16 I servizi Internet

ECDL CORE 5.0. Modulo 1 Concetti di base dell ICT 1.6 Aspetti giuridici. Docente: Stefania De Martino Liceo G. Leopardi Recanati a.s.

Architettura degli elaboratori Docente:

SISTEMI OPERATIVI. Nucleo di un SO. Il Nucleo. Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher. 06.

Reti - Concetti di base

ARRIVI A DESTINAZIONE PIÙ

Elementi di Informatica e Programmazione

Caratteristiche di un PC

INDIRIZZI IP SUBNETTING

Generalità sui protocolli Tecniche di multiplazione Tecniche di accesso Tecniche di commutazione

Laboratorio di Informatica

Packet Tracer: simulare utility PING

La nascita di Internet

Introduzione alla programmazione Object Oriented. Luca Lista

Procedura tecnica di accreditamento dei Registrar

La rete di reti: Internet

Ministero della Salute

Introduzione a Internet

SISTEMA DI CONTROLLO E GESTIONE STAZIONI DI RICARICA E-CORNER PER VEICOLI ELETTRICI

Proteggere la rete I FIREWALL (seconda parte)

Corso di Sistemi di Elaborazione delle informazioni

Laboratorio di Informatica Corso di laurea in Lingue e Studi interculturali. AA Paola Zamperlin. Internet. Parte prima

Elementi di Informatica e Programmazione

Reti di Calcolatori. Telematica: Si occupa della trasmissione di informazioni a distanza tra sistemi informatici, attraverso reti di computer

La rete è una componente fondamentale della

Tecnologie per il web e lo sviluppo multimediale. Reti di Calcolatori e Internet

Regole e modalità di utilizzo della PEC e della PEO istituzionale

Che cos e l Informatica. Informatica generale. Caratteristiche fondamentali degli algoritmi. Esempi di algoritmi. Introduzione

I MODULI SOFTWARE. Wireless Network. Internet

Laboratorio di Reti Locali e Geografiche

Disciplina: Sistemi e reti Classe: 5A Informatica A.S. 2015/16 Docente: Barbara Zannol ITP: Alessandro Solazzo

Fondamenti VBA. Che cos è VBA

Internet e Reti di Calcolatori

CONNESSIONE DI UN PC ALLA RETE INTERNET

Manuale Sito Videotrend

Ottimizziamo il flusso di lavoro aziendale ed abbattiamo i costi di gestione mediante l uso di tecnologie adeguate.

2001 Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1

INTRODUZIONE ALLE BASI DATI RELAZIONALI

Transcript:

Lezione 3 Introduzione allo stack protocollare TCP/IP Prof.ssa Gaia Maselli maselli@di.uniroma1.it

Hardware e software Si è fornita una panoramica della struttura e delle prestazioni di Internet, che è costituita da numerose reti di varie dimensioni interconnesse tramite opportuni dispositivi di comunicazione. Tuttavia per poter comunicare non è sufficiente assicurare questi collegamenti, ma è necessario utilizzare sia dell hardware che del software! Hardware e software devono essere coordinati

Esempio di comunicazione Due interlocutori rispettano un protocollo di conversazione (interazione) Si inizia con un saluto Si adotta un linguaggio appropriato al livello di conoscenza Si tace mentre l altro parla La conversazione si sviluppa come dialogo piuttosto che un monologo Si termina con un saluto

Protocollo Un protocollo definisce le regole che il mittente e il destinatario, così come tutti i sistemi intermedi coinvolti, devono rispettare per essere in grado di comunicare. In situazioni particolarmente semplici potrebbe essere sufficiente un solo protocollo, in situazioni più complesse potrebbe essere opportuno suddividere i compiti fra più livelli (layer), nel qual caso è richiesto un protocollo per ciascun livello: si parla dunque di layering di protocolli.

Organizzazione a più livelli Anna viene trasferita e le due amiche continuano a sentirsi via posta. Poiché hanno in mente un progetto innovativo vogliono rendere sicura la conversazione mediante un meccanismo di crittografia Il mittente di una lettera la cripta per renderla incomprensibile a un eventuale intruso, il destinatario la decripta per recuperare il messaggio originale

Esempio: Organizzazione a tre livelli Si ipotizza che le due amiche abbiano tre macchine ciascuna per portare a termine i compiti di ciascun livello Supponiamo che Maria invii la prima lettera. Maria comunica con la macchina al terzo livello come se fosse Anna e la potesse ascoltare

Strutturazione a livelli La strutturazione dei protocolli in livelli consente di suddividere un compito complesso in compiti più semplici Si potrebbe usare una sola macchina ma cosa accadrebbe se le due amiche decidessero di cambiare tecnica di crittografia? Nel caso delle 3 macchine verrebbe sostituita solo quella intermedia è Modularizzazione (indipendenza dei livelli) Un modulo (livello) può essere considerato come un black box con opportuni ingressi e uscite, senza preoccuparsi delle modalità con cui i dati in ingresso vengano trasformati nei dati di uscita Se due macchine forniscono lo stesso output dato il medesimo input allora possono essere considerate equivalenti è Le macchine possono essere acquistate da fornitori diversi Separazione tra servizi e implementazione: un livello usa servizi dal livello inferiore e offre servizi al livello superiore indipendentemente da come sia implementato

Principi della strutturazione a livelli Quando è richiesta una comunicazione bidirezionale, ciascun livello deve essere capace di effettuare i due compiti opposti, uno per ciascuna direzione (es., crittografare, decrittografare) Gli oggetti in input/output sotto ciascun livello di entrambi i lati devono essere identici (es. sotto il livello 2 c è una una lettera cifrata)

Collegamento logico fra i livelli Collegamento logico: i livelli logicamente sono direttamente collegati, ovvero il protocollo implementato a ciascun livello specifica una comunicazione diretta fra i pari livelli delle due parti

E in Internet? La rete esegue molti compiti Crea e rimuove connessioni Trova percorsi tra nodi Trasferisce informazioni in modo affidabile Trasferisce quantità arbitrarie di informazioni Permette la condivione di banda tra utenti Garantisce sicurezza della comunicazione E molto altro

Lo stack protocollare TCP/IP TCP/IP è una famiglia di protocolli attualmente utilizzata in Internet. Si tratta di una gerarchia di protocolli costituita da moduli interagenti, ciascuno dei quali fornisce funzionalità specifiche. Il termine gerarchia significa che ciascun protocollo di livello superiore è supportato dai servizi forniti dai protocolli di livello inferiore. Definita in origine in termini di quattro livelli software soprastanti a un livello hardware, la pila TCP/IP è oggi intesa come composta di cinque livelli.

I livelli nello stack protocollare TCP/IP

Pila di protocolli TCP/IP (stack protocollare, protocol stack) Applicazione: è la sede delle applicazioni di rete HTTP, SMTP, FTP, DNS I pacchetti sono denominati messaggi Trasporto: trasferimento dei messaggi a livello di applicazione tra il modulo client e server di un applicazione TCP, UDP I pacchetti sono denominati segmenti applicazione trasporto rete link fisico

Pila di protocolli TCP/IP Rete: instradamento dei segmenti dall origine alla destinazione IP, protocolli di instradamento I pacchetti sono denominati datagrammi Link (collegamento): trasmettere datagrammi da un nodo a quello successivo sul percorso Ethernet, Wi-Fi, PPP Lungo un percorso sorgente-destinazione un datagramma può essere gestito da protocolli diversi I pacchetti sono denominati frame fisico: trasferimento dei singoli bit applicazione trasporto rete link fisico Software Hardware 5 4 3 2 1

Dove si trova il software di rete? IP Networking SW

Gerarchia di protocolli La rete è organizzata come pila di strati (layer) o livelli, costruiti l uno sull altro Lo scopo di ogni strato è quello di offrire determinati servizi agli strati di livello superiore, nascondendo i dettagli di implementazione Lo strato N di un computer è in comunicazione con lo strato N di un altro computer Le regole e le convenzioni usate in questa comunicazione sono globalmente note come i protocolli dello strato N Le entità che formano gli strati sono chiamati pari (peer) I pari comunicano usando il protocollo I dati non sono trasferiti direttamente dallo strato N di un computer allo strato N di un altro computer!!!

Servizi e protocolli Sono concetti ben distinti Un servizio è un insieme di primitive che uno strato offre a quello superiore Definisce quali operazioni lo strato è in grado di offrire, ma non dice nulla di come queste operazioni sono implementate E correlato all interfaccia tra due strati, dove quello inferiore è il provider del servizio, mentre quello superiore è l utente Un protocollo è un insieme di regole che controllano il formato e il significato dei pacchetti, o messaggi scambiati tra le entità pari all interno di uno strato

Architettura di rete Ogni strato passa dati e informazioni di controllo allo strato immediatamente sottostante, fino a raggiungere quello più basso Comunicazione reale Comunicazione virtuale ESEMPIO: I processi dello strato 4 modellano la loro comunicazione come se fosse orizzontale : - SendToOtherSide -GetFromOtherSide Interfacce: definiscono le operazioni elementari e i servizi che lo strato inferiore rende disponibili a quello soprastante In realtà queste procedure comunicano mediante strati inferiori livello fisico attraverso cui avviene la comunicazione vera e propria 2-8

Layering: real communication data application transport network link physical application transport network link physical application transport network link physical network link physical data application transport network link physical

Comunicazione in una internet n livelli fisico-collegamento, dove n e il numero di link a cui è collegato I sistemi intermedi richiedono solo alcuni livelli Grazie al layering tali sistemi implementano solo i livelli necessari, riducendo la complessità

Incapsulamento e decapsulamento La sorgente effettua l incapsulamento (prende il pacchetto dal livello superiore, lo considera come carico dati o payload e aggiunge un header o intestazione). Messaggio (nessuna intestazione) Segmento o datagramma utente = header trasporto + messaggio Datagramma = header rete + segmento Frame = header collegamento + datagramma Il router effettua sia incapsulamento che decapsulamento perché collegato a due link Il destinatario effettua il decapsulamento

Indirizzamento nel modello TCP/IP Qualsiasi comunicazione che coinvolge due parti richiede due indirizzi (sorgente e destinazione) Poiché il modello prevede una comunicazione logica fra coppie di livelli, è necessario un indirizzamento a ogni livello Esempio: nome sito web o indirizzo posta elettronica Programmi sorgente e destinazione (processi) Indirizzi IP Indirizzi MAC

Multiplexing e demultiplexing Dato che lo stack protocollare TCP/IP prevede più protocolli nello stesso livello, è necessario eseguire il multiplexing alla sorgente e il demultiplexing alla destinazione Multiplexing: un protocollo può incapsulare (uno alla volta) i pacchetti ottenuti da più protocolli del livello superiore Demultiplexing: un protocollo può decapsulare e consegnare i pacchetti a più protocolli del livello superiore E` necessario un campo nel proprio header per identificare a quale protocollo appartengano i pacchetti incapsulati

Demultiplexing

Layering: vantaggi Modularità Semplicità di design Possibilità di modificare un modulo in modo trasparente se le interfacce con gli altri livelli rimangono le stesse Possibilità per ciascun costruttore di adottare la propria implementazione di un livello purchè requisiti su interfacce soddisfatti

Layering: vantaggi Riuso per gestire eterogeinità Browser Server Browser Server HTTP HTTP HTTP HTTP TCP IP TCP IP or TCP IP TCP IP 802.11 802.11 Ethernet Ethernet

Layering: svantaggi A volte necessario scambio di informazioni tra livelli non adiacenti (esempio: per ottimizzare app funzionante su wireless) non rispettando principio della stratificazione

Modello OSI L ISO (International Organization for Standardization) organizzazione dedicata alla definizione di standard universalmente accettati ha definito il modello OSI (Open System Interconnection) come modello alternativo al TCP/IP Framework stratificato per il progetto di sistemi di rete che consentono la comunicazione fra qualsiasi tipo di dispositivo

Confronto tra OSI e TCP/IP

Insuccesso del modello OSI L OSI venne pubblicato quando il TCP/IP era già ampiamente diffuso e gli erano state dedicate parecchie risorse: un eventuale sostituzione avrebbe comportatoun costo notevole Alcuni livelli, come presentazione e sessione non sono mai stati completamente specificati (software corrispondente mai stato completamente sviluppato) Non riuscirono a dimostrare delle prestazioni tali da convincere le autorità di Internet a sostituire il TCP/IP

MODELLO TCP/IP

Livello applicazione Principi delle applicazioni di rete Web e HTTP FTP Posta elettronica DNS SMTP, POP3, IMAP Applicazioni P2P Programmazione delle socket con TCP Programmazione delle socket con UDP applicazione applicazione trasporto rete link fisico

Introduzione Il livello applicazione fornisce servizi all utente. La comunicazione è fornita per mezzo di una connessione logica: questo significa che i livelli applicazione nei due lati della comunicazione agiscono come se esistesse un collegamento diretto attraverso il quale poter inviare e ricevere messaggi.

Connessione logica a livello applicazione I due utenti possono immaginare che tra di essi esista un canale logico bidirezionale attraverso il quale si possono inviare messaggi La comunicazione reale avviene attraverso più livelli e più dispositivi, e vari canali fisici

L offerta di servizi Internet è stata progettata per fornire servizi ai suoi utenti. Dato che il livello applicazione è l unico che fornisce servizi agli utenti di Internet, la sua flessibilità consente di aggiungere nuovi protocolli con estrema facilità, così come si è verificato nella storia di Internet e sta tuttora avvenendo. Alla nascita di Internet solo alcuni protocolli di livello applicazione erano disponibili per gli utenti; oggi non è più possibile indicare il numero dei protocolli esistenti poiché ne vengono costantemente aggiunti di nuovi. Un protocollo che viene aggiunto a un dato livello deve essere progettato in modo da usare i servizi del livello inferiore Aggiungere o eliminare protocolli dal livello applicazione è relativamente facile perché non comporta modifiche agli altri livelli

L offerta di servizi q q Protocolli standard q Esistono diversi protocolli di livello applicazione che sono standardizzati e documentati dagli enti responsabili della gestione di Internet q Ogni protocollo standard è costituito da una coppia di programmi che interagiscono con l utente e con il livello di trasporto per fornire uno specifico servizio q Es. Applicazione Web specificata dal protocollo di comunicazione HTTP Protocolli non standard q E possibile creare un applicazione non standard scrivendo due programmi che forniscono servizi agli utenti, facendo uso dei servizi di trasporto q Non è necessario chiedere autorizzazioni: un azienda può sviluppare il proprio protocollo di livello applicazione per far comunicare i propri uffici sparsi nel mondo

Alcune applicazioni di rete Posta elettronica Web Messaggistica istantanea Autenticazione in un calcolatore remoto Condivisione di file P2P Giochi multiutente via rete Streaming di video-clip memorizzati Telefonia via Internet Videoconferenza in tempo reale

Creare un applicazione di rete Scrivere programmi che girano su sistemi terminali diversi comunicano attraverso la rete Ad es. il software di un server Web comunica con il software di un browser software in grado di funzionare su più macchine non occorre predisporre programmi per i dispositivi del nucleo della rete, quali router o commutatori Ethernet I programmi applicativi sono indipendenti dalla tecnologia che c è sotto Applicazione trasporto rete collegamento fisico Applicazione trasporto rete collegamento fisico Esempio: email Applicazione trasporto rete collegamento fisico 2-14

Una nuova applicazione di rete Supponiamo di voler creare una nuova applicazione di rete, allora è necessario avere un piano architetturale: Che tipo di architettura si vuole creare (client-server, peer-to-peer)? Come comunicano i processi dell applicazione? Che tipo di servizi (di rete) richiede l applicazione (affidabilità, banda)?

Architettura dell applicazione n I due programmi applicativi devono essere entrambi in grado di richiedere e offrire servizi, oppure ciascuno deve occuparsi di uno dei due compiti? Paradigma: Client-server Peer-to-peer (P2P) Architetture ibride (client-server e P2P)

Paradigma client-server n Client n Server n Richiedente il servizio n fornitore di servizi n In esecuzione solo quando è necessario il servizio n Sempre in esecuzione, in attesa di richieste dal client n Numerosi client che richiedono il servizi n Numero limitato di processi server pronti a offrire uno specifico servizio n Il ruolo delle due entità è totalmente differente: non è possibile eseguire un client come programma server e viceversa

Client/Server Client: initiates contact with server ( speaks first ) typically requests service from server, Web: client implemented in browser; e-mail: in mail reader Server: provides requested service to client e.g., Web server sends requested Web page, mail server delivers e-mail application transport network data link physical request reply application transport network data link physical

Paradigma client/server Svantaggi: Carico di comunicazione risulta concentrato sul server (che deve essere molto potente) Server farm per creare un potente server virtuale Costi di gestione per offrire servizio Applicazioni tipiche WWW, posta elettronica, FTP, SSH