venerdì, 5 luglio 2024

Articoli

ISO/OSI, TCP/IP, protocollo IP e soci: mini introduzione alle reti interconnesse

18/05/2011

Di Stefano Sacchini, Branch and product manager Dime Sicurezza

Ogni giorno una quantità infinita di dati attraversa i nostri computer, i nostri telefoni, le nostre automobili. Tutto è online e tutto ciò che utilizziamo, ogni singolo congegno connesso in rete, è parte di quell'universo che chiamiamo Internet. Per utilizzare un televisore, non dobbiamo certo conoscere il suo principio di funzionamento. Allo stesso modo, per usare un computer non dobbiamo essere dei programmatori. La tecnologia ci permette infatti di utilizzare le cose senza sapere nulla del loro funzionamento. Eppure ci sarà qualcuno che, seduto davanti al computer, si starà chiedendo come sia possibile che, nell'infinita complessità di Internet, ogni dato trasmesso raggiunga correttamente il suo destinatario. Ebbene, questi articoli sono dedicati proprio a chi ha la necessità, la curiosità o l'interesse professionale di sapere cosa succede quando apriamo Explorer e cominciamo a navigare. In ossequio alla fortunata catena di volumi "for dummies" per lettori di qualsiasi grado ed istruzione, A&S Italy inaugura una rubrica IP for dummies. Partendo dai fondamentali (anche i più banali e scontati) arriverete col tempo a costruire un vero "manuale TCP/IP per autostoppisti"...dove finisce un allarmista e dove inizia un informatico.

Cominciamo con un concetto fondamentale: qualsiasi dispositivo (PC, server, tv, cellulare..) che abbia un'interfaccia di comunicazione è connesso in rete, la quale è parte di una rete, che a sua volta è parte di una rete...e così via. Quello che noi comunemente chiamiamo internet, non è un network globale in cui orbitano milioni di macchine, bensì è un insieme di reti tutte interconnesse tra di loro e potenzialmente completamente diverse tra loro. Ma allora com'è possibile che computer diversi che si trovino in reti diverse possano comunicare tra loro? La risposta è che tutti utilizzano le stesse regole di comunicazione, cioè gli stessi protocolli.

Un po' di storia

L'unificazione dei protocolli di comunicazione risale agli inizi degli anni '60, agli albori della guerra fredda. Gli Stati Uniti crearono l'Advance Research Project Agency (ARPA), un'agenzia con l'incarico di sviluppare una rete di comunicazione a prova di attacco nucleare. La necessità era di creare un sistema di comunicazione ridondante in cui, quand'anche fosse stata distrutta una base militare o una città che rappresentava un nodo della rete di comunicazione, i dati e le informazioni avrebbero dovuto trovare un percorso alternativo per giungere a destinazione. Nel 1968 la BBN fu incaricata dall'ARPA di sviluppare tale tecnologia. Ciò che fu concepito era un sistema cosiddetto a commutazione di pacchetto (pocket switching). In tale sistema i dati vengono incapsulati in pacchetti e inoltrati in rete. Sarà quest'ultima a stabilire il percorso che essi dovranno compiere fino al destinatario. La rete fu denominata ARPANET. Inizialmente era di dominio militare e interconnetteva cinque nodi. Nel 1972 i nodi erano già diventati trentadue e i professori universitari utilizzavano dei supercomputer, grandi quanto un armadio a quattro ante, per scambiarsi delle Email con connessioni di qualche Kb/s. Nel 1973 fu definito il TCP/IP, lo stack di protocolli su cui ancora oggi si basa l'interconnessione di rete globale: Internet.

TCP/IP, l'illustre sconosciuto

Contrariamente a quanto si possa pensare,TCP/IP non è un protocollo di rete, ma un insieme di protocolli, ognuno dei quali opera indipendentemente e su livelli diversi. Ogni architettura di comunicazione ha almeno due interlocutori, mittente e destinatario, che sono denominati host, e una struttura di tipo gerarchico, dove i dati passano da un livello a un altro attraverso delle interfacce denominate Gateway. Immaginiamo che due direttori di due grandi aziende si trovino all'ultimo piano dei loro grattacieli. Il direttore A manda una lettera al direttore B. La lettera rappresenta il dato che vogliamo trasmettere e la procedura per spedire la lettera rappresenta il nostro protocollo di comunicazione. La lettera viene scritta dal direttore che la consegna alla segretaria (il suo gateway), che imbusta la lettera e inserisce la scritta "riservato". Poi la lettera viene passata all'ufficio corrispondenza, un altro gateway che vi appone sopra il mittente e il destinatario. Passa poi alla contabilità che la vidima e la consegna al postino. Come notate, la nostra lettera è scesa di livello in livello fino a toccare quello più basso, il postino, per poi compiere lo stesso tragitto nel palazzo accanto, ma questa volta seguendo un percorso inverso. L'informazione digitale si muove su livelli che formano una struttura denominata ISO/OSI. I livelli sono sette: Fisico, Dati, Rete, Trasporto, Sessione, Presentazione, Applicazione (vedi tabella). TCP/IP occupa tre livelli della nostra torre: IP (internet protocol) si trova al livello più basso, quello della rete, il suo compito è di trovare la strada per arrivare a destinazione. TCP (trasmission control protocol) si trova a un livello superiore, quello del trasporto, ed ha un compito più "nobile": assicurare che l'informazione arrivi sana e salva. Infine troviamo i protocolli applicativi, quelli che si occupano di gestire una pagina web, un'Email o il download di un file.

Il Protocollo IP

Passiamo ora a parlare del livello più basso della nostra torre, in cui troviamo il protocollo IP. Affinché internet funzioni, ogni singolo PC connesso richiede un nome unico, in modo da non generare equivoci. Per fare in modo che ciò avvenga, il nome deve avere una struttura a gruppi e sottogruppi. Pensiamo agli stati, alle regioni, alle province e ai comuni. Posso identificare ogni singolo posto per via di un nome, e, quand'anche trovassi due vie con lo stesso nome, saprei che esse appartengono a due città differenti. La struttura di un indirizzo IP ricalca la stessa filosofia: è composto da quattro gruppi di otto bit; ogni gruppo può contenere 254 sottogruppi, e nel suo insieme identifica sia l'host, ovvero un computer connesso, che la sua rete di appartenenza. In base alla struttura che un indirizzo assume, esso viene associato a delle classi, che generalmente vanno da A a C. Ne deriva che in Internet ci sono 254 x 254 x 254 x254 indirizzi. In realtà non è così perché in ognuno di questi è possibile creare un numero indefinito di sottoreti. Questo significa che l'indirizzo non identifica un host, ma una connessione alla rete e noi non possiamo sapere (anzi, IP non sa e non è tenuto a saperlo) cosa si nasconde dietro quell'indirizzo.

Ad esempio

Immaginiamo la struttura di un indirizzo IP: xxx.xxx.xxx.xx1. Se io sono xx1 e devo inviare dati ad un host, compilo la mia richiesta con il nome del destinatario e la lancio in rete. A quel punto IP controllerà se l'host destinatario si trova nel mio stesso segmento di rete. Se sì, il dato verrà inviato direttamente. Se invece il destinatario si trova in un diverso segmento, IP consegnerà la richiesta al suo gateway, il fatidico Router, affidando a lui il compito di trovare la rete di appartenenza. Ne derivano due considerazioni: la prima è che il protocollo IP non conosce il tragitto completo per giungere a destinazione (routing table) e deve solo sapere se il destinatario si trova nella sua sottorete. E indovinate chi dà questa informazione? La famosa quanto misconosciuta Subnet Mask. La seconda considerazione è che IP non ci dà alcuna garanzia che i dati arrivino a destinazione. Infatti spetterà al suo gateway cercare il destinatario, e non è detto che questo lo trovi. In tal caso, il router trasmetterà la richiesta a un altro gateway e così via. Ognuno conosce solo una parte del tragitto e nessuno dà garanzia della ricezione del destinatario. Si parla di Connectionless Pocket Delivery Service perché non è sempre possibile stabilire una connessione diretta tra host mittente e host destinatario. E' come mettere un messaggio in una bottiglia e gettarlo in mare sperando che le onde facciano il resto. Per sapere come viene garantita l'affidabilità delle comunicazioni dovremo aspettare di parlare del TCP, un protocollo che si trova ad un livello superiore e che gestisce l'integrità dei dati. Nella prossima puntata vedremo come IP agisce sui nostri dati per adempiere alla sua funzione.


Tag:   IP internet

Tutti gli articoli