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
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
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
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)
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
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
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
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
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 amazon.com.com google.com princeton.edu.edu washington.edu repubblica.it.it scienze.unipd.it unipd.it jpl.washington.edu dei.unipd.it
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 amazon.com.com google.com princeton.edu.edu washington.edu repubblica.it.it scienze.unipd.it unipd.it jpl.washington.edu dei.unipd.it
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)
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
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
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