Tcp / Ip parte 2
25 Marzo 2020Tcp / Ip parte 4
26 Marzo 2020
Tcp / Ip parte 3
La connessione tra due reti avviene attraverso macchine opportune che sono collegate fisicamente a entrambe le reti, e hanno la responsabilità di far passare i vari pacchetti da una rete all’altra e viceversa.
Gli apparati detti internet gateway, o IP router. Sono l’ elemento portante di Internet.
Ogni router non solo deve sapere che determinati pacchetti vanno passati da una rete a un’altra, ma deve passare dall’altra parte anche pacchetti destinati a ulteriori reti connesse attraverso altri router.
Essi però ragionano solo in termini di reti, non di destinazione finale. A un router non interessa chi è effettivamente il destinatario di un pacchetto, ma solo a quale rete appartiene.
Alla base del meccanismo dei router c’è l’indirizzo IP, o IP address.
Ogni cosa che conosciamo ha un nome. cane, casa, auto, e via dicendo.
Se ci interessa specificare meglio l’argomento di cui parliamo possiamo assegnare un nome anche a un sottogruppo di cose.
Eccovi un esempio :

Cani e Case
Se osservate l’esempio un Bassotto e un Terranova o una catapecchia e una villa anche se appartengono al sottogruppo specifico sono molto diversi l’uno dall’altro.
Se vogliamo identificare una cosa in modo chiaro e univoco, è necessario assegnarle un nome che solo quella cosa ha.
Ecco allora le targhe per le automobili, i codici fiscali per le persone, i numeri di telefono, e via dicendo.
Ognuno di questi nomi ha tre caratteristiche. La prima è che esiste un organo competente centrale che li assegna, proprio per garantirne l’univocità.
La seconda, è che hanno una struttura a sottogruppi. Esistono cioè degli elementi che garantiscono l’univocità a un certo livello, all’interno del quale esiste una certa libertà di scelta, e così via, livello dopo livello.
Per esempio, il codice fiscale viene costruito in modo che un uomo e una donna non possano mai avere lo stesso codice, anche se fossero nati lo stesso giorno, nella stessa città e si chiamassero nello stesso modo.
Similmente, i numeri di telefono di due città diverse si distinguono per il prefisso e se queste si trovano anche in stati diversi, per il prefisso internazionale.
Affinché internet possa rappresentare un sistema universale di comunicazionè necessario fornire ogni macchina di un nome unico a livello globale.
Internet fornisce ogni sistema di un nome, che identifica il sistema stesso, di un indirizzo, che mi dice dove si trova il sistema, e di un cammino, che mi dice come raggiungere il sistema.
Ogni macchina connessa a una rete è detta host, nella terminologia internet.
Lo stesso termine ha significati differenti in altri contesti informatici, come per esempio in quello client/server, o nel caso di mainframe.
L’indirizzo, o IP address, è un campo composto da 32 bit. I primi bit permettono di distinguere 5 forme standard identificate da una lettera del alfabeto, e dette classi.
Le prime tre classi dell’IP address contengono sia l’indirizzo di una rete (netid), sia quello di una macchina nella stessa (hostid). L’indirizzo identifica una connessione alla rete.
Un router ha almeno due indirizzi, avendo connessioni ad almeno due reti. Questo in quanto un router appartiene a entrambe le reti, e quindi sono necessari due indirizzi dato che un IP address ha posto per un solo indirizzo di rete. Se l’indirizzo dell’host è 0, allora l’IP address si riferisce alla rete stessa.
Se viceversa tutti i bit riservati all’indirizzo dell’host sono 1, allora l’indirizzo viene utilizzato per identificare tutti gli host della rete (broadcasting).
Uno speciale indirizzo formato da 32 bit posti a uno è chiamato local network broadcast address e serve solo in casi molto particolari.
Internet interpreta i campi formati da tutti uno come all, cioè “tutti”, mentre quelli formati da tutti zero come this, cioè “questo”, “qui”. Questo per quanto riguarda le classi A, B e C.
La classe D è usata per un particolare tipo di distribuzione dei dati detto multicasting.
La classe E è riservata a usi futuri.
Specificare ogni singolo bit di un indirizzo IP sarebbe poco pratico e di scarsa leggibilità, la convenzione è quella di leggere ogni ottetto, cioè ogni gruppo di 8 bit, come un intero, e di separare i quattro ottetti con un punto.
L’indirizzo di classe A 127.0.0.0 è riservato per un particolare processo di test che rimanda indietro i dati al mittente senza propagarli nella rete.
Uno dei vantaggi di questo schema è la possibilità da parte dell’organismo centrale che assegna gli indirizzi (Network Information Center) di delegare ai responsabili delle singole reti l’assegnazione di una parte dell’indirizzo all’interno della rete stessa
I numeri di classe C sono assegnati alla piccole reti, quelle cioè con meno di 256 host, quelli di classe B alle reti con al massimo 65536 host, e quelli di classe A alle reti con oltre 16 milioni di host. Ogni rete decide poi come suddividere gli indirizzi che gli sono stati riservati al suo interno come meglio crede.
Ovviamente, una internet privata non ha la necessità di seguire queste regole, né a utilizzare indirizzi assegnati dal NIC, ma il non farlo potrebbe impedire in futuro la connessione alla TCP/IP Internet.
Dato che l’indirizzo può essere a volte abbastanza ostico da ricordare, è possibile associare da ogni host anche un nome, la cui risoluzione è responsabilità di particolari macchine chiamate name server.
Il name server è un programma software che può girare in qualunque macchina connessa alla rete, e che mantiene l’associazione tra nomi e indirizzi IP, fornendo tali corrispondenze quando richiesto da un altro programma chiamato name resolver.
Potete pensare al name server come a una agenda telefonica elettronica, che contiene una lista parziale di nomi e numeri telefonici. In internet infatti, non esiste un singolo elenco telefonico, ma tanti name server che cooperano per fornire quello che è un vero e proprio elenco distribuito.
In realtà il sistema funziona in modo gerarchico, un po’ come se una certa agenda contenesse solo i prefissi internazionali e il puntatore alle agende di ogni singolo stato, le quali a loro volta contengono i prefissi regionali e i puntatori agli elenchi regionali, e così via, fino ad arrivare all’agenda che contiene solo le estensioni telefoniche di un singolo edificio.
I nomi Internet sono basati su una serie di regole dette Domain Name System (DNS), che si basa appunto su uno schema gerarchico in cui il nome è suddiviso in varie parti separate fra loro da punti. Per esempio, vnet.ibm.com. Ogni suffisso è a sua volta un dominio. Quindi, nel nostro esempio, ibm.com è un dominio di secondo livello, mentre com è un dominio di terzo livello. I domini ufficiali riconosciuti dal NIC, una rete può richiedere di essere registrata come categoria, oppure usando il dominio geografico.
Esiste una piccola complicazione. Ogni oggetto connesso alla rete ha un tipo.
Oggetti di tipo diverso possono avere lo stesso nome.
Per cui, per poter risolvere un nome e ottenere indietro l’indirizzo IP, è necessario anche specificare il tipo di oggetto: macchina, utente, casella postale, e via dicendo. Dal solo nome non è possibile evincere il tipo di oggetto.
Il DNS definisce anche come associare i nomi agli indirizzi IP, e come ottenere quest’ultimi dal nome. In realtà lo schema è ancora più generale di quanto può sembrare, in quanto permette di estendere la sintassi del nome per usi specifici, sfruttando anche il concetto di tipo. Per esempio, nel caso di una casella postale (tipo MX), il nome sarà del tipo utente@dominio.
Internet è un sistema di interconnessione fra reti differenti che utilizza sia sistemi dedicati per la connessione, detti gateway, sia uno strato (layer) di protocolli che mostrano alle applicazioni una visione omogenea di una rete virtuale e che sono basati sulla trasmissione di piccoli pacchetti di dati.
Ogni pacchetto si compone da:
Indirizzo del destinatario, Rete di destinazione, Pacchetto dati
Un sistema connesso a più reti della stessa internet avrà quindi più indirizzi IP.
Internet è la maggior rete interconessa esistente
Qualunque trasferimento di dati implica la trasmissione di bit da un sistema a un altro. Tali dati devono essere correttamente interpretati dai vari sistemi connessi alla rete.
Nei protocolli di trasmissione i bit vengono convenzionalmente raggruppati per multipli di otto, detti ottetti.
Una volta questo corrispondeva al bus da 8 bit, cioè un byte, tipico dei computer. Oggi la maggior parte dei computer usa parole di almeno 32 bit. Tuttavia non tutte le macchine memorizzano tali parole nello stesso modo. Esistono vari modi per memorizzare un intero rappresentato da 32 bit.
Little Endian, la posizione più bassa in memoria contiene il byte di ordine più basso dell’intero.
Big Endian avviene esattamente il contrario, cioè la posizione più bassa in memoria contiene il byte di ordine più elevato.
In altri sistemi ancora il raggruppamento viene fatto con parole da 16 bit, in cui la parola meno significativa viene appunto prima. Il risultato è lo stesso del Little Endian ma con i byte invertiti all’interno di ogni singola parola.
Avete perso la puntata precedente la trovate qui:
La nuova puntata;
