Upload
nguyendiep
View
218
Download
0
Embed Size (px)
Citation preview
Capitolo 1 - parte 1
Corso Reti ed ApplicazioniMauro Campanella
Como 2004
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap1-2 pag. 2
Precisazione
Noi ci occuperemo solo dellatrasmissione di informazione informato digitale.
Un segnale analogico è basato suuna variazione continua, mentreun segnale digitale può assumeresolo valori discreti di un insiemefinito.
Ma molto di quanto diremo èapplicabile anche a retianalogiche
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap1-2 pag. 3
Elementi della comunicazione
SSSSaaaallllvvvveeee
- Sorgente ed una destinazione
- Mezzo trasmissivo
- linguaggio comune
- Sistema di emissione e ricezione compatibili
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap1-2 pag. 4
La complessità
Le reti sono apparentementecomplesse, cioè composte dimolti “mattoni”:
– linee su mezzi diversi– calcolatori ai bordi– routers “nella” rete– applicazioni– software di trasmissione
router workstationserver
portatile
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap1-2 pag. 5
Problema
Come trovare un modo di trovareuna struttura logica in una rete ?
Come trovare una astrazione che aiuti aprogettare e discutere delle reti ?
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap1-2 pag. 6
Un esempio diverso:acquisto e consegna merci fra ditte
Ufficio Vendite Una serie di passi abbastanzaprecisi e ben distinti, dalmomento dell’ordine almomento in cui la merceviene consegnata.
Scendiamo ancora più neldettaglio
Magazzino
Ditta di trasporti
Mezzo di Trasporto
Consegna
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap1-2 pag. 7
Acquisto e consegna merci: i dipartimenti
Ditta di trasporti
Ufficio Vendite 1
Magazzino
Camion
Ogni “strato” ha un compito precisoe fornisce “un servizio”
Ha procedure interne che non sononote (ne hanno interesse) agli altristrati
La comunicazione fra strati avvienesecondo precise regole
Non avvengono comunicazioni frastrati non contigui (di solito…)
Ogni strato si affida ai servizi diquello sottostante
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap1-2 pag. 8
La sequenza completa è:
Ditta di trasporti
Ufficio Vendite 1
Magazzino
Camion
Strade
Ufficio Acquisti 2
Camioncino
Ditta di trasporti 2
Magazzino 2
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap1-2 pag. 9
La struttura logica è orizzontale !
Ditta di trasporti
Ufficio Vendite 1
Magazzino
Camion
Strade
Ufficio Acquisti 2
Camioncino
Ditta di trasporti 2
Magazzino 2
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap1-2 pag. 10
La struttura logica
Ogni strato (layer in inglese) parla solo con lo stratocorrispondente nell’altra ditta, con un linguaggio(protocollo) specifico, che l’altro strato remoto capisceperfettamente.
Ogni strato si affida ai servizi dei propri strati sottostanti,che a loro volta parlano orizzontalmente con un proprioprotocollo diverso.
Le due ditte trasporti, per esempio, possono decidere discambiarsi la merce a metà strada, senza neancheconoscere il contenuto dei pacchi, ma conoscendo bene lestrade.
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap1-2 pag. 11
Pile di strati o gerarchie di protocolli
Diamo una definizionepiù precisa di:
- protocollo- servizio (interfaccia)
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap1-2 pag. 12
Protocollo
Un esempio di protocollo umano ed uno legato a TCP:
Ciao
Ciao
Che ore sonoper favore ?
le 14:00
TCP SYN
SYN ACKACK +<Get http://www.garr.it>
ACK + <Pagina html>
tempo
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap1-2 pag. 13
Protocollo
Un protocollo definisce il formato e l’ordine di messaggiscambiati tra due o più entità comunicanti e definisce anchele azioni da intraprendere all’atto della ricezione otrasmissione di un messaggio o di un altro evento
Interfaccia e Servizi
L’interfaccia specifica quali operazioni primitive e servizi unostrato mette a disposizione. Un servizio è formalmentedefinita come un insieme di primitive (system calls in unsistema operativo)
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap1-2 pag. 14
La differenza tra Protocollo e Servizio
Un servizio equivale alla definizione delle operazioni che unostrato è in grado di compiere per un altro strato, ma nondefinisce come queste operazioni verranno eseguite.
Il protocollo definisce la realizzazione dei servizi.
Un protocollo è interno ad uno strato e potrebbe esseremodificato senza che i servizi che lo strato offre cambino esenza che lo strato che li usa se ne accorga
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap1-2 pag. 15
Perché usare gli strati ?
Permette di ridurre la complessità dei sistemi, permettendol’identificazione delle parti e delle relazioni fra di essi.
Permette di rendere modulare la realizzazione e lamanutenzione del sistema, sganciando le parti unadall’altra.
Nel caso delle reti, l’insieme degli strati e dei protocolli èl’architettura della rete, mentre l’insieme dei protocolli èdetta la pila dei protocolli della rete
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap1-2 pag. 16
Semplicità
Nella progettazione di una architettura basata su strati èimportante:- definire un numero di strati limitato e ciscun strato deve fornire un “salto” nell’astrazione del servizio- semplificare le interfacce- avere un passaggio minimo di informazione fra gli strati- non mescolarne le funzioni- ogni strato svolge un funzione precisa
“La perfezione non è quando non c’e più nulla daaggiungere, ma quando non vi è più nulla da togliere”
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap1-2 pag. 17
I modelli a strati per le reti
Vi sono due modelli principali di riferimento perl’architettura di una rete:
• Il modello ISO/OSI (International Organisationfor Standardisation / Open Systems Interconnection)
• Internet
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap1-2 pag. 18
Il modello OSI
7 strati, sviluppato dalleditte di telecomunicazione(ITU-T)
Non definisce i servizi ed iprotocolli, ma solo lefunzioni (lo scopo) di ognistrato
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap1-2 pag. 19
Il modello OSI
Protocolli per scambio di file, login remota, postaelettronica, applicazioni che usano la rete
Relativo alla sintassi ed alla semantica dell’informazionetrasmessa
Controlla la creazione delle sessioni fra hosts, la lorosincronizzazione e gestione dell’interazione
Accetta dati dal livello superiore, eventualmente li riducein pacchetti (con / senza garanzia / “multicast”) e2e
Smista i pacchetti fino a destinazione
Fornisce una struttura da una sequenza di bit e negarantisce la consegna. In caso frammenta i pacchetti
Si occupa solo di come trasmettere segnali in forma disequenza di bit su un mezzo di comunicazione
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap1-2 pag. 20
Il modello originale Internet
application
transport
internet
host tonetwork
Le applicazioni: login remota (telnet), posta elettronica(smtp), trasferimento di files (ftp), la risoluzione di nomiin indirizzi (DNS), HTTP per trasferimento dati web, ...
Fornisce il trasporto dei dati. Sono definiti TCP ed UDP
Internet Protocol (IP) si occupa della consegna deipacchetti (routing)
Non definito, viene solo richiesto che si occupi dellaspedizione dei pacchetti IP verso il mezzo trasmissivo
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap1-2 pag. 21
Il confronto
Entrambi sono basati su pile di strati e protocolliindipendenti e le funzionalità sono simili nei due modelli.
In entrambi lo strato di trasporto fornisce un servizio dallasorgente alla destinazione (end to end o e2e in breve),mentre gli altri sono relativi solo al primo tratto delcollegamento.
OSI ha contribuito a chiarire la distinzione fra protocollo eservizio ed il modello è stato ideato prima della creazionedei protocolli, creando problemi di confronto con la realtà.Inoltre è basato su una visione “telefonica” delle reti.
Internet ha prima creato i protocolli e quindi il modello, maè semplice !
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap1-2 pag. 22
Il modello che useremo
applicazione
trasporto
network
data link
fisico
Unisce i punti forti di entrambi imodelli e si adatta molto benealla comprensione, progettazionee gestione della maggior partedelle reti moderne di trasmissionedati.
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap1-2 pag. 23
Esempi:
applicazione
trasporto
network
data link
fisico
HTTP
TCP
IP
Ethernet
Fibra ottica
disk sharing
Appletalk
Localtalk
cavo seriale
Appletalk
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap1-2 pag. 24
Applichiamo il modello ad Internet
applicationtransportnetwork
linkphysical
applicationtransportnetwork
linkphysical
applicationtransportnetwork
linkphysical
applicationtransportnetwork
linkphysical
networklink
physical
Un sistema altamentodistribuito, fatto di“entità” indipendenti.
Ogni “entità”implementa le funzionidei vari strati, anchenon tutte.
Ogni strato scambiamessaggi con lo stratoanalogo di un’altraentità utilizzando unprotocollo.
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap1-2 pag. 25
La comunicazione “logica”
applicationtransportnetwork
linkphysical
applicationtransportnetwork
linkphysical
applicationtransportnetwork
linkphysical
applicationtransportnetwork
linkphysical
networklink
physical
datiPer esempio lo strato diTrasporto:
riceve dati daun’applicazione,l’indirizzo di destinazionee forma in “datagramma”da inviare al destinatario.
Sceglie un trasporto ditipo affidabile, che negarantisca la consegna
dati
transport
transport
dati
ack
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap1-2 pag. 26
Il percorso fisico dei dati
applicationtransportnetwork
linkphysical
applicationtransportnetwork
linkphysical
applicationtransportnetwork
linkphysical
applicationtransportnetwork
linkphysical
networklink
physical
dati
dati
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap1-2 pag. 27
Gli strati ed i datiOgni strato riceve dei dati da spedire dallo strato adiacente.Aggiunge (toglie) informazione specifica nella forma di un“header” e crea una nuova unità di informazione da trasmettereallo strato successivo (bamboline russe…)
applicazionetrasporto
retedata link
fisico
applicazionetrasporto
retedata link
fisico
sorgente destinazione
M
M
M
M
H t
H tH n
H tH nH l
M
M
M
M
Ht
HtHn
HtHnHl
messaggio
segmento
datagramma
frame
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap1-2 pag. 28
Gli strati ed i dati
La frammentazione e de-frammentazione sono possibili fra strati
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap1-2 pag. 29
Messaggi interi o pacchetti?
Perché spezzare un blocco di dati in pacchetti ?
- si trasmette più velocemente il blocco (vedi esercizi nel libro)- in caso di ritrasmissione, se ne ritrasmette solo il frammento andato perso (livello di trasporto)- si possono instradare i pacchetti su strade diverse in caso di emergenza (rete)- si semplifica l’operazione di “store and forward” delle apparecchiature nel cuore della rete (rete e data link)- si garantisce una minor probabilità di errore in trasmissione sull’intero blocco (fisico)
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap1-2 pag. 30
Servizi fra strati
I servizi di inoltro che uno strato può offrire a quello superioresono essenzialmente due:
- orientato alla connessione, simile al sistema telefonico, in cui prima di far transitare la voce viene creato un canale fra le due entità
- senza connessione, simile al sistema postale, in cui una lettera viene inviata senza certezza che sia recapitata o del tempo necessario
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap1-2 pag. 31
Servizio orientato alla connessione
Scopo: Trasferire in modoaffidabile dati fra sistemi
Richiede una fase di handshaking(accordo) iniziale, in cui
- vengono definiti dal protocollo i parametri della connessione se necessario
- viene creato uno “stato” per la connessione in entrambi i nodi
TCP [RFC 793]fornisce un trasferimento affidabile diuna sequenza (stream) di bytes
– per eliminare le perdita:acknowledgements eritrasmissioni
controllo di flusso:– il mittente è in grado di modulare
la velocità di emissionecontrollo di congestione:
– mittente diminuisce la velocità ditrasmissione se si accorge di unaperdita di pachetti
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap1-2 pag. 32
Servizio senza connessione
Scopo: trasferire dati fra sistemi
UDPUser Datagram Protocol [RFC 768]:
– non stabilisce una connessione(ovviamente)
– non garantisce il trasferimentosenza perdita di dati
– non ha controllo di flusso– non ha controllo della
congestione
Applicazioni che usano TCP:HTTP (Web), FTP (file transfer),Telnet (terminale alfanumericoremoto), SMTP (e-mail)
Applicazioni che usano UDP:video e streaming media,teleconferenza, DNS, Voce su IP(Internet telephony)
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap1-2 pag. 33
L’indirizzamento fra strati
Ogni strato deve avere unmeccanismo per identificare(gli strati corrispondenti dei)mittenti e riceventi.
Dato che una rete è compostada molti nodi, è necessarioavere una forma diindirizzamento. Tale indirizzopuò essere specifico di unsingolo strato e a volte deveessere univoco a livellomondiale.
Italia
20133 Milano
Via Celoria 16I/T/3
Rossi
Filippo
Pianeta Terra...
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap1-2 pag. 34
Indirizzamento - Esempio
HTTP
TCP
IP
Ethernet
Fibra ottica
Corrisponde ad una numero preciso di porta (80) delservizio, ma puo’ sceglierne anche una diversa. Usaanche il nome del destinatario o l’indirizzo IP numerico
L’header specifico indica che è TCP (non UDP)
L’indirizzo univoco a livello mondiale dell’interfaccia,(intero, 32 bit, unsigned) scritto nella forma 111.22.333.4
Un indirizzo univoco a livello mondiale per il data link,detto MAC (Medium Access Control) nella forma08:00:2B:AF:2C:16 (esadecimale - 6 bytes)
Nulla, non ha semantica !
M. Campanella Corso Reti ed Applicazioni - Como 2004 Cap1-2 pag. 35
Termine Capitolo 1 parte 1
(Ri)-Leggere sempre Kurose Capitolo 1per le prossime lezioni
I volenterosi possono leggere anche ilCapitolo 1 di Tanenbaum