Linee Commutate
• Comunicazione telefonica:
– Un utente compone il numero del destinatario (richiesta di
connessione)
– Il centralino (umano od elettronico), verifica se il numero
desiderato esiste e se è libero, nel qual caso unisce fisicamente le
linee in un circuito
– Le comunicazioni dipendono al funzionamento di uno o più
centralini
• Questo modo per collegare di utenti si chiama
commutazione di linea (circuit switching), in quanto una
linea deve essere attivata e poi disattivata per
instaurare/finire una comunicazione
DEI - Univ. Padova (Italia)
Internet: un po’ di storia
• All’inizio degli anni ’60 un gruppo di scienziati del MIT
immaginarono di interconnettere tra loro computer
• L’ARPA (Advanced Research Project Agency) era
interessata a sviluppare dei sistemi di comunicazioni
robusti a guasti
• Nell’Ottobre del ’69 il primo messagio fu inviato tra un
computer della UCLA ed uno dello Stanford Research
Institute.
DEI - Univ. Padova (Italia)
Internet: un po’ di storia
• Nel ’72 fu sviluppata la posta elettronica
• Si cominciano a creare reti scientifiche e proprietarie
(HEPNet, CSNET, SNA di IBM e DECNet della DEC)
• Nasce il problema di dover interfacciare tra loro reti
differenti: necessità di regole condivise (protocolli)
DEI - Univ. Padova (Italia)
Trasmissione: linee commutate
• Nelle comunicazioni che utilizzano linee commutate, una
volta che il circuito sia stabilito fra i due apparecchi (ad es.
i telefoni), la linea è interamente ed esclusivamente
dedicata a quella comunicazione, sia che ci sia un
effettivo scambio di messaggi che non ci sia.
Inefficienza nella gestione della occupazione delle risorse
• Se parte del messaggio viene persa o distorta durante a
comunicazione, l’intero messaggio deve essere ripetuto
Scarsa robustezza
DEI - Univ. Padova (Italia)
Trasmissione: commutazione di pacchetti
• I messaggi digitali si prestano ad essere spezzettati in
pacchetti, ognuno dei quali viene inviato al destinatario
indipendentemente
La risorsa scarsa (possibilità di utilizzare il mezzo di
trasmissione) viene utilizzata solo quando è necessario
• Solo la parte del messaggio che non arriva al destinatario
correttamente deve essere ritrasmessa
Maggiore efficienza
DEI - Univ. Padova (Italia)
Trasmissione
• Per poter trasmettere i pacchetti di dati (binari) su una
linea telefonica, è necessario convertirli
• Il MODEM (MODulatore/DEModulatore) modula o altera
un segnale standard, la portante, per codificare il
messaggio in modo che possa essere trasmesso
DEI - Univ. Padova (Italia)
Mezzi di trasmissione
• Per creare una rete è necessario stabilire un
collegamento fra (almeno) due dispositivi)
• E’ possibile attuare il collegamento tramite:
– Cavo telefonico
– Fibra ottica
– Cavo coassiale
– Cavo Ethernet
DEI - Univ. Padova (Italia)
Reti LAN
• Quando i dispositivi che sono connessi a formar una rete
sono vicini tra loro i parla di rete locale (Local Area
Network).
• In genere il proprietario dei dispositivi è anche proprietario
dei mezzi (ad es. cavi) di comunicazione
• Le strategie di connessione per le LAN sono: bus, anello,
stella
DEI - Univ. Padova (Italia)
Topologie della rete: bus, anello, stella
• Nella topologia a bus tutti i
dispositivi (nodi della rete)
sono connessi ad una
singola linea di
comunicazione condivisa
• L’anello connette i nodi
della rete in modo circolare
• Nella stella si ha un singolo
nodo centrale a cui sono
collegati tutti gli altri
DEI - Univ. Padova (Italia)
Accesso alla trasmissione
• Come è possibile regolare l’accesso alla trasmissione di
messaggi senza che tutti i dispositivi cerchino di inviare
messaggi contemporaneamente, rendendo impossibile
ogni comunicazione?
(Pensate a quado provate a parlare contemporaneamente
durante una conversazione ...)
• Strategie:
– Round robin
– Token ring
– CSMA/CD
DEI - Univ. Padova (Italia)
Round-robin
• Ad ogni dispositivo è assegnato un turno durante il quale
può inviare una messaggio
• Al di fuori del proprio turno può solo ascoltare i messaggi
che inviano gli altri dispositivi e leggere i messaggi
indirizzati a sé stesso
• Uno dei dispositivi presenti nella rete funge da “arbitro”,
assegnando equamente i turni
DEI - Univ. Padova (Italia)
Token ring
• Un gettone (token), gira nella rete e deve essere catturato
da un dispositivo che voglia trasmettere
• Una volta che sia catturato, il dispositivo accoda a tale
gettone il messaggio: questo rende il gettone non
cattuabile se non dal destinatario del mesaggio
• Il destinatario, dopo aver estratto dalla rete il token col
messaggio, riniserisce nella rete il gettone, privato del
messaggio. Questo lo rende disponibile alla cattura.
DEI - Univ. Padova (Italia)
Token ring
• Il token gira nella rete ad anello segnalando che l’invio di un
messaggio è possibile
1
2
3
6
5
DEI - Univ. Padova (Italia)
4
Token ring
• Il dispositivo 1 vuole inviare un messaggio a 4 , e cattura il
token quando gli arriva senza un messaggio allegato
1
2
3
6
5
DEI - Univ. Padova (Italia)
4
Token ring
• Allega al token un messaggio, rendendolo occupato, e quindi
lo riimmette nella rete
1
Dati
2
3
6
5
DEI - Univ. Padova (Italia)
4
Token ring
• Nessun dispositivo può catturare il token fino a che esso non
raggiunga le destinazione
1
2
3
6
5
DEI - Univ. Padova (Italia)
4
Token ring
• Il dispositivo 4 è il destinatario del messaggio, lo estrae dalla
rete e poi riimmette il token pronto per una nuova
comunicazione
1
2
3
6
5
4
Dati
DEI - Univ. Padova (Italia)
CSMA/CD
• Nel caso di bus condiviso, la strategia di accesso è basato
sulla competizione
• Sulla linea condivisa è presente un segnale di libero
(carrier), che permette ai dispositivi di trasmettere
• Il dispositivo più veloce inserisce il messaggio sulla linea,
rendendola occupata: nessun altro può trasmettere fino a
che la linea non sia di nuovo libera
• Tutti i dispositivi sulla rete vedono il messaggio
trasmesso, ma lo ignorano a meno di non esserne il
destinatario
DEI - Univ. Padova (Italia)
CSMA/CD
• Se due dispositivi che sono in attesa di trasmettere sono
ugualmente veloci nel percepire il segnale di libero e
trasmettere il loro messaggio si genera una collisione
• Tale evento deve essere identificato perchè rende
entrambi i messaggi inintelleggibili
• In caso di collisione, il segnale torna libero ed i dispositivi
che l’hanno generata devono attendere un tempo casuale
per provare a ri-trasmettere, in tal modo si cerca di
minimizzare collisioni multiple successive
DEI - Univ. Padova (Italia)
CSMA/CD
• I dispositivi devono essere in grado di:
– Percepire il segnale di libero (Carrier Sense - CS)
– Accedere contemporaneamente alla linea (Multiple Access
- MA)
– Identificare le collisioni (Collision Detection - CD)
• Il controllo è distribuito:
– Ogni nodo decide quando ascoltare, quando inviare e
quando attendere
– Un problema ad un nodo non influenza le attività degli altri
nodi
DEI - Univ. Padova (Italia)
Ripetitori e bridge
• Ogni segnale trasmesso in un mezzo si attenua, si
distorce, ed è soggetto a rumore mano a mano che si
propaga sempre più lontano
• Limite fisico alla lunghezza massima dei cavi per avere
trasmissioni affidabili
• Più tratte devono essere interconnesse
DEI - Univ. Padova (Italia)
Ripetitori
• Un ripetitore inoltra un segnale (messaggio) tra due reti
cercandi di ripristinare il segnale che presenta alla rete
destinataria alla sua forma originale. Nel caso più
semplice funziona da amplificatore
Ripetitore
DEI - Univ. Padova (Italia)
Bridge (o switch)
• Un bridge è un dispositivo che conosce quali nodi si
trovino in ciascuna delle sotto-reti connesse ad esso, e
inoltra solo i messaggi che devono andare da una rete
all’altra
Messaggio dalla LAN1
per un nodo nella
LAN1
LAN 2
LAN 1
Bridge
Messaggio dalla
LAN1 per un nodo
nella LAN2
DEI - Univ. Padova (Italia)
Un primo protocollo: ARQ
• Una volta che si abbia accesso ad un mezzo di
trasmissione, con delle regole per accedervi, è necessario
fare in modo che il messaggio trasmesso arrivi
correttamente a destinazione
• Non potendo eliminare gli errori, l’idea è di rilevarli e
ritrasmettere i messaggi che sono andat perduti o distorti.
• L’algoritmo ARQ (Automatic Repeat reQuest), è la base di
tutte le procedure (protocolli) di controllo del collegamento
DEI - Univ. Padova (Italia)
Un primo protocollo: ARQ
• L’idea di base è che ogni volta che viene trasmesso un
pacchetto, il destinatario deve inviare un avviso di
ricezione (acknowlegement) al mittente una volta che
l’abbia ricevuto
• Per fare ciò è necessario che:
– Ogni pacchetto sia univocamente identificato, e questo avviene
tramite un numero sequenziale
– Ogni pacchetto abbia un codice per controllarne la correttezza
– L’inizio e la fine di ogni pacchetto sono delimitati da segnali
speciali (Start of Packet - SOP, ed End of Packet - EOP)
DEI - Univ. Padova (Italia)
Trasmissione con ARQ
Destinatario
Mittente
Invia il pacchetto
con numero sequenziale 1
X=1
ACK X+1
Riceve l’ACK per il pacchetto 1
ed invia il pacchetto
con numero sequenziale 2 che
non raggiunge il destinatario
Dopo un periodo di attesa
(timeout) dell’ACK per il
pacchetto 2, lo assume perso e
lo ri-invia
DEI - Univ. Padova (Italia)
X=2
X=2
Riceve correttamente il
pacchetto 1 ed invia l’avviso
di ricezione con numero
sequenziale x+1
Trasmissione con ARQ
Destinatario
Mittente
Invia il pacchetto con numero
sequenziale 2 è ri-inviato
X=2
ACK X+1
Dopo un periodo di attesa
(timeout) dell’ACK per il
pacchetto 2, lo assume perso e
lo ri-invia
X=2
ACK X+1
Riceve l’avviso di ricezione per
il pacchetto 2 e invia il
pacchetto 3
DEI - Univ. Padova (Italia)
Invia l’avviso di ricezione con
numero sequenziale x+1, ma
l’avviso non arriva
X=3
Riceve correttamente il
pacchetto 2, ma si accorge di
averlo già ricevuto.
Lo scarta ed invia l’avviso di
ricezione con numero
sequenziale x+1
Dalle applicazioni alla trasmissione
• La funzione fattoriale, molto usata nel calcolo
combinatorio, è così definita
dove n è un numero intero non negativo
DEI - Univ. Padova (Italia)
Reti diverse: la soluzione “nativa”
• Quando si deve trasmettere un messaggio attraverso reti
diverse, per il mezzo fisico, per il protocollo di accesso o
altro, a che livello si colloca la procedura di traduzione da
una regola (protocollo) all’altra?
• Una strategia potrebbe essere quella di affidare alle
singole applicazioni l’onere di capire attraverso quali reti
stiano trasmettendo dati, e di far provvedere ad esse la
compatibilità
• Questo provocherebbe un inutile difficoltà nel gestire le
compatibilità e nel mantenere il codice delle applicazioni
aggiornato
DEI - Univ. Padova (Italia)
Il modello a livelli
• Si è scelto di organizzare i protocolli in una gerarchia a più
livelli, in cui ciascun livello si occupa di un aspetto limitato
delle comunicazioni complessive.
• Ogni livello comunica solo con il livello sovrastante e
quello sottostante
• Questa organizzazione in livelli fa sì che una modifica ad
un livello non influenzi gli altri, semplificando la gestione di
Internet
DEI - Univ. Padova (Italia)
Il modello OSI/ISO
• Il modello Open System Interconnect, dell’ International
Standard Organization, una gerarchia di 7 livelli, di cui a
noi interessano solo 4:
Applicazione
Controllo di Trasporto
Rete
Fisico
DEI - Univ. Padova (Italia)
Livello di Applicazione
• I protocolli del livello di applicazione sono le regole per
implementare i servizi all’utente forniti da una rete
(browsing di pagine web, posta elettronica, trasferimento
file)
DEI - Univ. Padova (Italia)
Transmission contro protocol: TCP
• Il livello del controllo del trasporto deve prendere i
messaggi che il livello di applicazione richiede di inviare in
rete e li deve preparare all’invio:
– Divide il messaggio in pacchetti
– Assegna un numero sequenziale ai pacchetti in modo da rendere
possibile la ricostruzione del mesaggio originale
– Gestisce il protocollo ARQ (invio, invio dell’avviso di ricezione, riinvio di pacchetti perduti)
– Individua l’applicazione (porta) che ha richiesto ed a cui è
destinato il messaggio
DEI - Univ. Padova (Italia)
Transmission contro protocol: TCP
• Tutte quest informazioni vengono anteposte al pacchetto
di dati in una intestazione (header) TCP
Messaggio
DEI - Univ. Padova (Italia)
TCP Header
Pacchetto
TCP Header
Pacchetto
TCP Header
Pacchetto
TCP Header
Pacchetto
Transmission contro protocol: TCP
Porta mittente
Porta destinazione
Numero sequenziale del pacchetto
Numero del ACK
Altre informazioni opzionali
Dati del pacchetto
DEI - Univ. Padova (Italia)
TCP: three way handshake
• Il protocollo TCP fornisce anche le regole per instaurare una
connessione, mandando dei messaggi di richiesta si
sincronozzazione (SYN) al destinatario
Mittente
Manda una richiesta di
connessione (SYN), ed un
pacchetto di dati con numero
sequenzale SEQ=x
SYN, SEQ=X
SYN, ACK=x+1, SEQ=y
Riceve l’ok alla connessione
(SYN), ed un pacchetto di
dati con numero sequenzale
SEQ=y.
Manda l’avviso di ricezione
del pacchetto SEQ=y+1
DEI - Univ. Padova (Italia)
SYN, ACK=y+1
Destinatario
Riceve la richiesta di
connessione (SYN), ed un
pacchetto di dati con
numero sequenzale SEQ=x.
Manda l’avviso di ricezione
del SYN, e del pacchetto
SEQ=x+1, inoltre manda un
pacchetto con numero
SEQ=y
Riceve l’avviso di ricezione
del pacchetto SEQ=y, la
connessione è stabilita
TCP: three way handshake
• Stabilire la connessione con lo scambio di strette di mano
triplice serve in modo che i due dispositivi possano
stimare i tempi di attesa (timeout) del riinvio dei pacchetti,
a seconda della situazione della rete.
DEI - Univ. Padova (Italia)
Internet Protocol: IP
• La funzione fattoriale, molto usata nel calcolo
combinatorio, è così definita
dove n è un numero intero non negativo
DEI - Univ. Padova (Italia)
Indirizzi IP
• I livelli di applicazione e TCP della gerarchia di protocolli
rendono possibile lo scambio di messaggi una volta che si
sia in grado di identificare il destinatario
• I protocolli del livello di rete (IP – Internet Protocol) hanno
il compito di recapitare il messaggio dal mittente la
destinatario
• E’ necessario uno schema di indirizzamento valido per
tutti i nodi della rete
DEI - Univ. Padova (Italia)
Indirizzi IP
• Un indirizzo IP identifica univocamente ogni nodo della
rete tramite un numero di 32 bit, spesso scritto come
quattro numeri a 8 bit (0-255):
un indirizzo può essere:
147.162.98.137
che rappresenta uno dei computer del Dipartimento di
Ingegneria dell’Informazione
DEI - Univ. Padova (Italia)
DNS
• Gli indirizzi IP a 32 bit non forniscono un sitema facile per
associare un indirizzo ad una risorsa
• Lo Internet Domain Name System (DNS) fornisce un
sistema di corrispondenza tra un sistema di indirizzi
orientato all’utente con quello utilizzato dal protocollo IP
In tal modo un indirizzo simbolico come
ironbark.bandigo.latrobe.edu.au si traduce in
149.144.21.60
• Il DNS è un enorme database distribuito su migliaia di
computer che contiene le corrispondenze fra nomi
simbolici e indirizzi IP
DEI - Univ. Padova (Italia)
DNS
• La struttura del DNS è gerarchica ed organizzata in un
albero.
• Ogni nodo dell’albero si chiama dominio
• Ogni dominio ha un server di nomi (nameserver) che
fornisce la traduzione dominio-IP per i sottoalberi del suo
dominio
.gov
radice
.it
.com
.edu
repubblica.it
amazon.com
unipd.it
princeton.edu
google.com
washington.edu
scienze.unipd.it
dei.unipd.it
jpl.washington.edu
DEI - Univ. Padova (Italia)
DNS
• Se dalla rete dei.unipd.it voglio accedere a repubblica.it, la richiesta
viene prima inoltrata al nameserver del dominio dei.unipd.it. Se tale
dominio non conosce la traduzione del dominio richiesto nel
corripondente IP, passa la richiesta al nameserver del livello superiore
(unipd.it), ed eventualmente a quello del dominio .it, che conosce
sicuramente l’indirizzo IP di repubblica.it, essendo quest’ultimo un suo
sottoalbero.
.gov
radice
.it
.com
.edu
repubblica.it
amazon.com
unipd.it
princeton.edu
google.com
washington.edu
scienze.unipd.it
dei.unipd.it
jpl.washington.edu
DEI - Univ. Padova (Italia)
Protocollo IP
• Una volta che sia noto l’inidirizzo IP del detinatario di un messaggio, ai vari
pacchetti in arrivo dal livello del trasporto, il livello di rete aggiunge una
intestazione (header) IP, contenete l’indirizzo del mittente, del destinatario, e
quello di eventuali nodi di “scalo”.
Messaggio
DEI - Univ. Padova (Italia)
IP Header TCP Header
Pacchetto
IP Header TCP Header
Pacchetto
IP Header TCP Header
Pacchetto
IP Header TCP Header
Pacchetto
IP routing
• In una rete spesso non si hanno tragitti diretti fra un nodo
mittente ed il nodo destinatario, ma è necessario passare
per nodi intermedi
• Inoltre è possibile che vi siano più tragitti posibili: quale
scegliere?
• Il processo di scelta del percorso di ogni pacchetto è detto
routing (da route = rotta)
DEI - Univ. Padova (Italia)
IP routing: smistamento locale
• Quando si richiede la consegna di un pacchetto IP, per
prima cosa si controlla se il destinatario è sulla rete a cui
la richiesta di consegna è arrivata.
• In caso affermativo, il pacchetto è comsegnato alla rete
fisica che gestisce la consegna diretta
DEI - Univ. Padova (Italia)
IP routing: internet
• Se la destinazione è in una rete differente da quella in cui
si trova il pacchetto, esso è consegnato ad un
“instradatore” (router) connesso alla rete e da questo è
inoltrato di router in router fino a che non raggiunge la rete
desiderata.
• E’ la stessa cosa che avviene quando si compra un
biglietto aereo per una destinazione per cui non è
possibile avere un volo diretto. Ogni scalo è la sosta di un
pacchetto in un router che lo indirizza verso la
destinazione
DEI - Univ. Padova (Italia)
Routing tables
• Ogni router mantiene al suo interno un database di
percorsi ottimali (routing tables) per raggiungere
determinate destinazioni,cosicché può inoltrare nel modo
migliore ogni pacchetto che gli giunga da smistare
• La rete è dinamica, per cui la sua topologia si modifica
continuamente.
• Alto volume di traffico locale o guasti possono
compromettere quello che sembrava il percorso migliore
per un pacchetto
• I router devono aggiornare continuamente le routing
tables
DEI - Univ. Padova (Italia)
Scarica

Lezione11