reti di calcolatori - unipa.itlenzitti/masterbioinf/lezione4.pdfi protocolli d’instradamento...
TRANSCRIPT
Reti di Calcolatori
Master "Bio Info" Reti e Basi di Dati Lezione 4
Master "Bio Info" Reti e Basi di Dati Lezione 4
Sommario Software di rete
Livello Trasporto (TCP)
Livello Rete (IP, Routing, ICMP)
Livello di Collegamento (Data-Link)
Master "Bio Info" Reti e Basi di Dati Lezione 2
Software di rete Livello Rete (IP, Routing, ICMP)
Se i protocolli del livello di trasporto forniscono una comunicazione
logica tra processi applicativi di host differenti, un protocollo a livello di
rete si occupa del trasporto di pacchetti in ogni host e router
I protocolli di rete sono eseguiti nei sistemi terminali (end system) ma
anche sui router. In particolare
Il sender: incapsula i segmenti nei datagrammi e li passa al livello di
collegamento
lato receiver: estrae i segmenti e li consegna al livello di trasporto
Il router esamina l’intestazione (header) di tutti i datagram IP che lo
attraversano.
Master "Bio Info" Reti e Basi di Dati Lezione 2
Software di rete Livello Rete (IP, Routing, ICMP)
Master "Bio Info" Reti e Basi di Dati Lezione 2
Il Livello Rete di TCP/IP detto IP (Internet Protocol) è composto da:
Il protocollo IP (V4, V6) che definisce l'indirizzamento
Il protocollo ICMP per il controllo degli errori.
I protocolli d’instradamento (RIP,OSPF,BGP)
Software di rete Livello Rete (IP, Routing, ICMP)
Master "Bio Info" Reti e Basi di Dati Lezione 4
Software di rete Livello Rete (IP V4)
Il formato del datagramma IP Versione 4 è il seguente
Master "Bio Info" Reti e Basi di Dati Lezione 4
Software di rete Livello Rete (IP V4)
Uno dei campi principali del protocollo IPV4 è il TTL(16 bit) campo che
viene settato ad un valore elevato da chi genera il pacchetto e viene
decrementato da ogni router attraversato.
Se un router decrementa il valore e questo va a zero, il pacchetto viene
scartato e viene generato un messaggio di errore verso la sorgente,
una sorta di time-out sulla validità di un pacchetto.
Master "Bio Info" Reti e Basi di Dati Lezione 4
Software di rete Livello Rete (IP V4)
Il campo principale del protocollo IPV4 è l'Indirizzo IP un identificatore a
32 bit per le interfacce degli host e dei router.
Con Interfaccia si intende una connessione tra host/router e link fisico,
router tipicamente hanno molte interfacce, ed un host ne può avere più di
una, ma l'IP è associato ad una ed una sola interfaccia.
Di solito sono scritti in notazione decimale puntata, ad esempio
223.1.1.1 => 11011111 00000001 00000001 00000001
Gli Indirizzo IP sono composti da:
parte rete (bit più significativi)
parte host (bit meno significativi)
La parte rete e parte host hanno lunghezza variabile.
Master "Bio Info" Reti e Basi di Dati Lezione 3
Software di rete Livello Rete (IP V4)
Per rete IP o sottorete si intendono le interfacce dei dispositivi che
hanno la parte rete dell'IP uguale che quindi possono raggiungersi a
vicenda senza l'intervento di un router.
Master "Bio Info" Reti e Basi di Dati Lezione 4
Secondo la CIDR (Classless Inter Domain Routing) la parte rete
dell'indirizzo è di lunghezza arbitraria. Il formato dell'indirizzo e di
questo tipo a.b.c.d/x dove x è il numero di bit della parte rete
dell'indirizzo.
Ad esempio l'indirizzo 200.23.16.0/25 ha 25 bit di indirizzo di rete ossia
in bit 11001000 00010111 00010000 00000000 la parte verde è la
parte di rete e la parte arancio è la parte variabile degli host.
Il range degli indirizzi vanno da
11001000 00010111 00010000 000000000 (200.23.16.0) a
11001000 00010111 00010000 011111111 (200.23.16.127)
Software di rete Livello Rete (IP V4)
Master "Bio Info" Reti e Basi di Dati Lezione 4
Infine gli indirizzi IP si dividono in
indirizzi pubblici
un host collegato direttamente ad Internet ha necessariamente
un indirizzo IP pubblico
indirizzi privati
si intendono alcune classi di indirizzi IPv4 riservate alle reti locali
allo scopo di ridurre le richieste di indirizzi pubblici.
chiunque può utilizzare questi indirizzi, perché i pacchetti relativi
a tali reti non vengono instradati dai router internet, e quindi essi
non entreranno in conflitto con analoghi indirizzi posti su altre reti locali.
Software di rete Livello Rete (IP V4)
Master "Bio Info" Reti e Basi di Dati Lezione 3
Software di rete Livello Rete (Algoritmi di Routing)
L’obbiettivo principale degli algoritmi di routing è velocizzare la
commutazione ottimizzando i percorsi evitando cicli e buchi neri
Si utilizza la teoria dei grafi per rappresentare la rete con un grafo in
cui i nodi sono i router, gli archi i link, il costo la distanza la banda,
livello di congestione, ect. Un “buon” percorso tipicamente significa un
camino nel grafo a costo minimo.
Master "Bio Info" Reti e Basi di Dati Lezione 4
Software di rete Livello Rete (Algoritmi di Routing)
Una prima classificazione algoritmi di routing è la seguente:
Algoritmi basati su informazioni globali o locali
Globale tutti i router hanno una completa informazione sulla
topologia e sui costi dei link, ad esempio “link state” basato
sull’algoritmo di Dijkstra
Decentralizzata i router conoscono informazioni sulla topologia e
sui costi dei link solo dei vicini fisicamente connessi, ed Il
processo di calcolo avviene attraverso lo scambio d’informazioni
con i vicini, ad esempio “distance vector” basato sull‘algoritmo di
Bellman-Ford
Algoritmi statici o dinamici
Statico I percorsi non cambiano, o cambiano poco nel tempo
Dinamico I percorsi cambiano più velocemente con un
aggiornamento periodico in risposta ai cambi di costo dei link
Master "Bio Info" Reti e Basi di Dati Lezione 4
Software di rete Livello Rete (Algoritmi di Routing)
Link-State (Algoritmo di Dijkstra)
Il primo algoritmo di routing che vedremo è il Link-State basato
sull’Algoritmo di Dijkstra.
In questo algoritmo la topologia della rete e costi dei link sono conosciuti
per tutti i nodi e queste conoscenze si realizzano attraverso “link state
broadcast” quindi tutti i nodi hanno le stesse informazioni.
Si calcolano i percorsi a costo minore da un nodo (sorgente) a tutti gli
altri nodi costruendo la routing table per quel nodo.
Master "Bio Info" Reti e Basi di Dati Lezione 4
Software di rete Livello Rete (Algoritmi di Routing)
Link-State (Algoritmo di Dijkstra)
Master "Bio Info" Reti e Basi di Dati Lezione 4
Software di rete Livello Rete (Algoritmi di Routing)
Distance Vector (Algoritmo di Bellman-Ford)
Il Distance Vector è basato sull'Algoritmo di Bellman-Ford
Definiamo dx(y) = costo minimo da x a y, calcolato mediante la seguente
formula:
dx(y) = min {c(x,v) + dv(y) } dove min è calcolato su tutti i vicini v di x.
Ad esempio consideriamo il seguente grafo:
Poiché dv(z)=5, dx(z)=3, dw(z)=3
: allora l'equazione B-F dice:
du(z) =
min {c(u,v) +dv(z),c(u,x)+dx(z),c(u,w)+dw(z) }
=min {2 + 5,1 + 3 ,5 + 3} = 4
Master "Bio Info" Reti e Basi di Dati Lezione 4
Software di rete Livello Rete (ICMP)
Internet Control Message Protocol(ICMP)
ICMP è un protocollo per messaggi di servizio fra host e router per
informazioni su errori e fasi di attraversamento della rete.
I principali errori che può rilevare sono:
Errori di checksum (solo per gli header)
TTL ( time-to-live = tempo di vita) spirato
Mancanza di router per la rete destinazione
Impossibilità di consegnare il pacchetto al destinatario
Generalmente IP scarta tutti i datagrammi che presentano qualcuno di
questi problemi.
Master "Bio Info" Reti e Basi di Dati Lezione 4
Software di rete Livello Rete (ICMP)
Alcuni comandi fanno uso del protocollo ICMP
• ping che invia una successione di pacchetti ad un host per verificarne
la raggiungibilità ricorre al protocollo ICMP.Infatti il programma manda
una serie di messaggi ICMP ECHO_REQUEST (generalmente uno al
secondo), e quando l'host riceve un pacchetto ECHO_REQUEST,
rispondere con un nuovo datagramma ICMP ECHO_REPLY.
• traceroute che segnala quali siano le macchine attraversate dai
pacchetti per giungere ad una determinata destinazione. Per far
questo traceroute invia una successione di pacchetti, incrementando
di volta in volta il valore del TTL, ed attende le notifiche ICMP del tipo
TIME_EXCEEDED, mandate indietro dai router lungo il percorso del
pacchetto.
Master "Bio Info" Reti e Basi di Dati Lezione 4
Software di rete Livello di Collegamento (Data-Link)
Nel livello di collegamento:
Host e router sono definiti come nodi.
I mezzi di comunicazione che connettono nodi adiacenti sono
definiti link e possono essere
Wired (cablata)
Wireless (senza cavi)
Il compito del livello data-link è di trasferire i datagram da un
nodo ad un altro adiacente attraverso un link.
Un pacchetto a livello di Collegamento viene detto frame ed
incapsula un datagram.
Il livello di collegamento è implementato nelle schede di rete NIC
Network Interface Card di tutti i nodi, quindi il livello di collegamento
è una combinazione di hardware, software e firmware
Master "Bio Info" Reti e Basi di Dati Lezione 4
Software di rete Livello di Collegamento (Data-Link)
Master "Bio Info" Reti e Basi di Dati Lezione 4
Software di rete Livello di Collegamento (Data-Link)
Esistono due tipi di collegamenti di rete:
Collegamento broadcast (cavo o canale condiviso) in cui si utilizzano i
protocolli ad accesso multiplo il cui problema principale è quello di
regolare l'accesso al singolo mezzo trasmissivo condiviso
Ethernet tradizionale
Wireless LAN 802.11
Collegamento punto-punto (PPP) dove si hanno un solo sender e un
solo receiver, e quindi un solo link, quindi molto più semplice di una
rete broadcast.
Impiegato per connessioni telefoniche
Collegamenti punto-punto tra Ethernet e host.
Master "Bio Info" Reti e Basi di Dati Lezione 4
Software di rete Livello di Collegamento (Data-Link) Collegamento broadcast
I protocolli ad accesso multiplo si dividono in
Protocolli ad accesso casuale (random access)
CSMA(Carrier Sense Multiple Access), CSMA/CD (Collision
Detection) ,CSMA/CA (Collision Avoidance)
Protocolli a suddivisione del canale (channel partitioning) access)
divisione di tempo (TDM) e divisione di frequenza FDM
CDMA (Code-Division Multiple Access) a divisione di codice dove
si assegna ad ogni nodo un codice scelto opportunamente in modo
che i nodi possono trasmettere contemporaneamente
Protocolli a rotazione (“taking-turn protocol”)
Protocollo polling
Protocollo token
Master "Bio Info" Reti e Basi di Dati Lezione 4
Software di rete Indirizzamento LAN e ARP
I protocolli ad accesso multiplo sono utilizzati con svariati tipi di link, cavi
coassiali, wireless e satellitari,attualmente impiegati nelle reti LAN(Local
Area Network).
I nodi di una LAN hanno degli indirizzi a livello link detti indirizzi LAN (o
MAC o fisico o Ethernet) usati per inoltrare un frame da un'interfaccia di
rete ad un'altra, fisicamente connessa (stessa rete).
L'indirizzo MAC è a 48 bit (per la maggioranza delle LAN) ed è Hard-
coded nella ROM della scheda di rete.
Ogni NIC nella LAN ha un unico indirizzo LAN, e l'allocazione di questi
indirizzi è gestita da IEEE.
Ogni nodo IP (host o router) nella LAN ha una tabella detta ARP che
contiene la corrispondenza tra indirizzi IP e MAC così composta:
< Indirizzo IP; Indirizzo MAC; TTL>