5. Architettura di rete

1. Il modello ISO/OSI

I dispositivi prodotti negli anni scorsi erano costruiti da aziende diverse che non si preoccupano di integrazione con sistemi di comunicazione con dispositivi di altre aziende. Questo produceva un disagio nella connettività tra i vari sistemi chiusi in quanto non potevano comunicare e scambiare dati avendo sistemi diversi.

L’ISO (International Organization for Standardization), l’ente nazionale degli standard, per abbattere questi problemi di comunicazione tra sistemi diversi, istituì un modello chiamato standard OSI (Open System Interconnection).

Da qui nacque il modello ISO/OSI, un modello strutturato a layer (livelli) che ognuno di essi deve rispettare le seguenti regole:

  • a funzioni diverse per struttura logica o per tecnologia realizzativa devono corrispondere strati diversi e funzioni simile devono possibilmente essere inglobate nel medesimo strato;
  • le frontiere devono essere scelte in modo tale che sia possibile riprogettare la realizzazione dei singoli strati senza che vi sia la necessità di modificare gli strati adiacenti;
  • gli strati devono essere tali che le uniche iterazioni richieste avvengano soltanto con gli strati immediatamente adiacenti.

Ogni livello ISO/OSI ha una specifica funzione e comunica e lavora con il livello al di sotto e al di sopra di esso. Il modello OSI è concettuale, ma esso consente la comunicazione sia fisica che virtuale attraverso una rete. I 7 livelli del modello vengono divisi in 2 macro-livelli maggiori: livelli bassi e livelli alti. I livelli bassi sono i livelli dal 1 al 3 compresi, mentre dal 4 al 7 compresi sono i livelli alti.

architettura di rete

1.1. Livello fisico (livello 1)

Il primo livello più basso è il livello fisico, ovvero si occupa della strumentazione che consente il trasferimento dei dati al livello hardware, come cavi, router e qualsiasi strumento hardware necessario per la comunicazione.

Qua vengono definite le funzioni basilari della connessione fisica e si parla di trasferimento dei singoli bit tramite doppino telefonico, antenne, cavo coassiale, fibre ottiche ecc. La comunicazione può avvenire principalmente in due direzioni: in un verso, detto simplex, oppure in più versi, detto duplex. Nel dettaglio, una comunicazione di tipo simplex è una comunicazione dove le informazioni possono viaggiare soltanto in un solo verso invece, una comunicazione di tipo duplex le informazioni viaggiano in entrambe le direzioni. Una comunicazione di tipo duplex può avvenire in due modi: le informazioni viaggiano in entrambe le direzioni ma che viaggiano in un senso alla volta, così facendo la comunicazione è di tipo half duplex; oppure le informazioni possono viaggiare in entrambe le direzioni in contemporanea, così la comunicazione è di tipo full-duplex.

1.2. Livello Data Link (livello 2)

Il livello 2 Data Link si occupa di gestire il collegamento di dispositivi sulla stessa rete, anche se facilita la comunicazione tra dispositivi su reti differenti. Questo livello controlla la correttezza della trasmissione dei dati e della sincronizzazione dei messaggi; infatti, controlla i possibili errori e li corregge tramite la ritrasmissione. Il secondo livello forma dei pacchetti dati, detti frame o trama, da far viaggiare lungo la dorsale di comunicazione. Il frame e’ l’unita’ dati fondamentale di questo livello. Il livello DataLink incapsula il pacchetto proveniente dallo strato superiore (livello 3) in un nuovo pacchetto detto frame (o trama) al quale aggiunge un header (intestazione) e un tail (coda). Ethernet, Token Ring, FDDI, IEEE 802.11 (WLAN), ATM, TCP/IP Serial Link Interface Protocol (SLIP) e Point-To-Point Protocol (PPP) sono alcune tecnologie e protocolli associati al livello 2. Anche il protocollo ARP che permette di conoscere l’indirizzo fisico di una scheda di rete corrispondente ad un indirizzo IP, appartiene a questo livello. 

Gli elementi del secondo livello sono gli switch che rendono possibile l’invio a porte specifiche come indicato negli header dei messaggi, e i bridge che sono elementi di interconnessione di due LAN.

1.3. Livello di rete (livello 3)

A questo livello appartengono funzioni tipicamente di rete. È il primo livello che si occupa di instradamento dei pacchetti, per cui ogni pacchetto può essere instradato in cammini differenti. È molto importante quindi il messaggio che c’è all’interno dei pacchetti, ciascuno dei quali ha oltre al campo dei dati anche l’indirizzo del mittente e del destinatario.

Il percorso, attraverso altri nodi della rete, può essere definito staticamente, cioè rimane fisso per l’intera durata della sessione di comunicazione, oppure può variare dinamicamente, ovvero invia pacchetti su percorsi diversi secondo necessità. Questo livello è responsabile della gestione della comunicazione. Controllare il flusso di dati per evitare la congestione della rete. I dati ricevuti dal livello sopra sono organizzati in pacchetti datagrammi, che contengono l’intestazione di rete con l’indirizzo logico dell’host di origine e dell’host di ricezione. 

Prevede anche la commutazione dei singoli pacchetti che compongono il messaggio e ogni pacchetto è dotato di un numero progressivo (consentendo la ricostruzione dell’intero messaggio) e determina se il percorso deve essere lo stesso per tutti i pacchetti o se i pacchetti possono seguire percorsi diversi. Livello definisce anche come dovrebbero funzionare le reti interconnesse (Internetworks) e fornisce al 4° livello una connessione End to End tra i due processori coinvolti nello scambio di dati.

Il livello di rete deve inviare messaggi al livello sottostante Datalink. Alcune tecnologie associate al livello Datalink hanno dei limiti sulla lunghezza del frame (Maximum Transmission Unit) che possono spedire. Se il pacchetto del livello di rete è troppo grande questo deve essere diviso in “pezzi”(frammentazione) in modo che possa adattarsi alla grandezza del frame. Analogamente quando riceve diversi frame relativi allo stesso messaggio, il Network Layer deve occuparsi di ri-assemblarli. Inoltre, questo livello si deve occupare della conversione dei dati nel passaggio fra un tipo di rete fisica ed un altro tipo di rete con diverse caratteristiche fisiche.

I dispositivi utilizzati sono: router gateway.

1.4. Livello di trasporto (livello 4)

Questo livello si occupa della gestione del trasporto dei pacchetti senza che vi siano errori o duplicazione di dati, prescindendo dalle caratteristiche fisiche dei livelli inferiori della rete.

Lo scopo del livello di trasporto è fornire un canale logico e affidabile di comunicazione end-to-end per “pacchetti“.

Il nome trasporto per tale livello può quindi trarre in inganno in quanto, non implementa alcun meccanismo di trasferimento logico e fisico dei dati sul canale quali accesso multiplo, indirizzamento e commutazione; inoltre, si occupa di supplire alle mancanze delle funzionalità del trasferimento in termini di affidabilità, implementando le suddette funzioni come garanzie sul trasporto stesso, cioè chiudendo il cerchio su tutto ciò che il trasporto in toto dovrebbe fare e garantire.

1.5. Livello di sessione (livello 5)

Per comunicare da un dispositivo all’altro, un’applicazione deve prima creare una sessione. La sessione è unica per utente e serve per identificare l’utente del server remoto. La sessione deve aprire immediatamente una fornitura per la durata del poter consentire il trasferimento di tali dati, ma richiedere immediatamente un completo ritorno al trasferimento.

Gestisce la sincronizzazione della corrispondenza dei dati instaurando una sessione, collegamento logico e diretto tra due dispositivi in modalità full duplex, half duplex o simplex.

Il ciclo di sessione avviene in 3 fasi:

  • apertura in cui si avvia uno scambio di informazioni tra client e server;
  • lavoro in sessione in cui la comunicazione prosegue;
  • chiusura richiesta dal client o server, cancellando le informazioni di sessione.

1.6. Livello di presentazione (livello 6)

È comune per due applicazioni differenti utilizzare la codifica. Ad esempio, la comunicazione con un web server tramite HTTPS utilizza informazioni crittografate. Il livello presentazione è responsabile per la codifica e decodifica delle informazioni affinché possano essere mostrate in chiaro. Il livello presentazione è anche responsabile per la compressione e decompressione dei dati quando si spostano da un dispositivo a un altro.

In questo livello si presentano vari standard, come:

  • ASCII ed EBCDIC (per file di testo);
  • GIF (Graphic Interchange Format);
  • JPEG (Joint Photographic Experts Group);
  • TIFF (Tagged Image File Format);
  • MPEG (Motion Picture Experts Group);
  • MIDI (Musical Instrument Digital Interface);
  • QUICK TIME (per i file con video ed audio).

In questo livello viene implementata la crittografia dei testi nelle comunicazioni, ovvero i testi inviati verranno cifrati per mantenere segretezza e riservatezza tra la comunicazione. 

Un’altra importante funzionalità del livello è quella della compressione dei bit che può avvenire Lossy oppure Lossless. Nel primo caso si utilizzano processi con perdita di informazione (Es. MP3), mentre nel secondo caso si utilizzano processi senza perdita di informazione (Es. ZIP).

1.7. Livello di applicazione (livello 7)

Il livello 7 è ciò che la maggior parte delle persone conosce perché comunica direttamente con l’utente. Un’applicazione in esecuzione su un dispositivo può comunicare con altri livelli OSI, ma l’interfaccia viene eseguita al livello 7. Quando il client riceve un messaggio, è il livello dell’applicazione che lo presenta all’utente. I protocolli applicativi includono Simple Mail Transfer Protocol (SMTP) e HTTP, che è il protocollo per la comunicazione tra il browser e il server web.

Quindi il livello dell’applicazione si occupa di fornire agli utenti un’interfaccia per accedere alle reti.

Il livello dell’applicazione include i protocolli richiesti dagli utenti.

Esempio di servizio:

Come il principale sistema di trasmissione delle informazioni sul web, con il livello applicativo che utilizziamo il protocollo HTTP (Hyper Text Transfer Protocol) che applica la tipica architettura client-server. HTTP funziona su un meccanismo di richiesta/risposta (client/server): il client effettua una richiesta e il server restituisce la risposta. Nell’uso comune, il client corrisponde al browser e il server alla macchina in cui risiede il sito web. Pertanto, esistono due tipi di messaggi HTTP: messaggi di richiesta e messaggi di risposta.

Con questo livello è possibile scambiare e-mail tramite i protocolli POP3 o SMTP, fare trasferimento di file tramite il protocollo FTP, accedere ai siti web con il protocollo HTTP.

Un utente accede attraverso un insieme di interfacce e protocolli di alto livello che vengono forniti da quest’ultimo strato del modello, sempre a questo livello sono implementate le procedure utilizzate dalle applicazioni scritte dai programmatori, tipo risorse che devono essere condivise tra utenti della rete come basi di dati e periferiche output.

2. Il protocollo TCP/IP

TCP / IP è l’acronimo di Transmission Control Protocol / Internet Protocol ed è una suite di protocolli di comunicazione utilizzati per interconnettere i dispositivi di rete su Internet. TCP/IP viene utilizzato anche come protocollo di comunicazione in una rete di computer privata.

L’intera suite IP, un insieme di regole e procedure, viene comunemente definita TCP/IP. TCP e IP sono i due protocolli principali, anche se altri sono inclusi nella suite. La suite di protocolli TCP/IP funziona come un livello di astrazione tra le applicazioni Internet e l’infrastruttura di routing e commutazione.

TCP/IP specifica come i dati vengono scambiati su Internet fornendo comunicazioni end-to-end che identificano come devono essere suddivisi in pacchetti, indirizzati, trasmessi, instradati e ricevuti a destinazione. TCP/IP richiede poca gestione centrale ed è progettato per rendere le reti affidabili con la capacità di ripristinare automaticamente dal guasto di qualsiasi dispositivo sulla rete.

I due protocolli principali della suite IP svolgono funzioni specifiche. 

TCP definisce il modo in cui le applicazioni possono creare canali di comunicazione attraverso una rete. Gestisce anche il modo in cui un messaggio viene assemblato in pacchetti più piccoli prima che vengano trasmessi su Internet e riassemblati nell’ordine corretto all’indirizzo di destinazione. IPdefinisce come indirizzare e instradare ogni pacchetto per assicurarsi che raggiunga la destinazione corretta. Ogni computer gateway sulla rete controlla questo indirizzo IP per determinare dove inoltrare il messaggio. Una subnet mask indica a un computer o a un altro dispositivo di rete quale parte dell’indirizzo IP viene utilizzata per rappresentare la rete e quale parte viene utilizzata per rappresentare gli host o altri computer sulla rete.

NAT (Network Address Translation) è la virtualizzazione degli indirizzi IP. NAT aiuta a migliorare la sicurezza e a ridurre il numero di indirizzi IP necessari a un’organizzazione. I protocolli TCP/IP comuni includono quanto segue:

  • HTTP (Hypertext Transfer Protocol) gestisce la comunicazione tra un server Web e un browser Web;
  • HTTP Secure gestisce la comunicazione protetta tra un server Web e un browser Web;
  • File Transfer Protocol gestisce la trasmissione di file tra computer.

TCP/IP utilizza il modello di comunicazione clientserver in cui a un utente o a una macchina (un client) viene fornito un servizio, come l’invio di una pagina Web, da un altro computer (un server) nella rete. Collettivamente, la suite di protocolli TCP/IP è classificata come stateless, il che significa che ogni richiesta client è considerata nuova perché non correlata alle richieste precedenti. Essere senza stato libera i percorsi di rete in modo che possano essere utilizzati continuamente.

Il livello di trasporto stesso, tuttavia, è stateful. Trasmette un singolo messaggio e la sua connessione rimane attiva fino a quando tutti i pacchetti in un messaggio non sono stati ricevuti e riassemblati a destinazione. Il modello TCP/IP differisce leggermente dal modello di rete OSI a sette livelli progettato successivamente. Il modello di riferimento OSI definisce il modo in cui le applicazioni possono comunicare su una rete come abbiamo visto nei precedenti appunti.

TCP/IP non è proprietario e, di conseguenza, non è controllato da una singola società. Pertanto, la suite IP può essere modificata facilmente. 

È compatibile con tutti i sistemi operativi (OS), quindi può comunicare con qualsiasi altro sistema. La suite IP è anche compatibile con tutti i tipi di hardware e reti di computer. TCP/IP è altamente scalabile e, come protocollo instradabile, può determinare il percorso più efficiente attraverso la rete. È ampiamente usato nell’attuale architettura Internet.

2.1. I livelli del protocollo TCP/IP

La funzionalità TCP/IP è suddivisa in quattro livelli, ognuno dei quali include protocolli specifici:

  1. il livello applicativo fornisce alle applicazioni uno scambio di dati standardizzato. I suoi protocolli includono HTTP, FTP, Post Office Protocol 3, Simple Mail Transfer Protocol e Simple Network Management Protocol. A livello di applicazione, il payload sono i dati effettivi dell’applicazione;
  2. il livello di trasporto è responsabile della manutenzione delle comunicazioni end-to-end attraverso la rete. TCP gestisce le comunicazioni tra host e fornisce controllo di flusso, multiplexing e affidabilità. I protocolli di trasporto includono TCP e User Datagram Protocol, che a volte viene utilizzato al posto di TCP per scopi speciali;
  3. il livello di rete, chiamato anche livello Internet, si occupa dei pacchetti e collega reti indipendenti per trasportare i pacchetti attraverso i confini della rete. I protocolli a livello di rete sono IP e Internet Control Message Protocol, utilizzato per la segnalazione degli errori;
  4. il livello fisico, noto anche come livello di interfaccia di rete o livello di collegamento dati, è costituito da protocolli che operano solo su un collegamento, il componente di rete che interconnette nodi o host nella rete. I protocolli in questo livello più basso includono Ethernet per reti locali e Address Resolution Protocol.

vantaggi dell’utilizzo del modello TCP/IP includono quanto segue:

  • aiuta a stabilire una connessione tra diversi tipi di computer;
  • funziona indipendentemente dal sistema operativo;
  • supporta molti protocolli di routing;
  • utilizza un’architettura client-server altamente scalabile;
  • può essere gestito in modo indipendente;
  • supporta diversi protocolli di routing; e
  • è leggero e non mette a dura prova una rete o un computer.

Gli svantaggi di TCP/IP includono quanto segue:

  • è complicato da configurare e gestire;
  • Transport Layer non garantisce la consegna dei pacchetti;
  • non è facile sostituire i protocolli in TCP/IP;
  • non separa chiaramente i concetti di servizi, interfacce e protocolli; quindi, non è adatto a descrivere nuove tecnologie in nuove reti; e
  • è particolarmente vulnerabile a un attacco di sincronizzazione, ovvero un tipo di attacco Denial of Service in cui un utente malintenzionato utilizza TCP/IP.

2.2. Gestione degli indirizzi IP

Esistono numerose differenze tra TCP/IP e IP. Ad esempio, IP è un protocollo Internet di basso livello che facilita le comunicazioni di dati su Internet. Il suo scopo è quello di fornire pacchetti di dati costituiti da un’intestazione, che contiene informazioni di routing, come l’origine e la destinazione dei dati e il payload dei dati stesso. L’IP è limitato dalla quantità di dati che può inviare. La dimensione massima di un singolo pacchetto di dati IP, che contiene sia l’intestazione che i dati, è compresa tra 20 e 24 byte. Ciò significa che stringhe di dati più lunghe devono essere suddivise in più pacchetti di dati che devono essere inviati in modo indipendente e quindi riorganizzati nell’ordine corretto dopo l’invio.

Poiché IP è strettamente un protocollo di invio/ricezione dei dati, non esiste un controllo integrato che verifichi se i pacchetti di dati inviati sono stati effettivamente ricevuti. A differenza di IP, TCP / IP è un protocollo di comunicazione intelligente di livello superiore che può fare più cose. TCP/IP utilizza ancora IP come mezzo per trasportare pacchetti di dati, ma collega anche computer, applicazioni, pagine Web e server Web. TCP comprende in modo olistico l’intero flusso di dati che queste risorse richiedono per funzionare e si assicura che l’intero volume di dati necessari venga inviato la prima volta. TCP esegue anche controlli che assicurano che i dati vengano consegnati. Mentre fa il suo lavoro, TCP può anche controllare la dimensione e la portata dei dati. Garantisce che le reti siano prive di qualsiasi congestione che potrebbe bloccare la ricezione dei dati.

Un esempio è un’applicazione che vuole inviare una grande quantità di dati su Internet. Se l’applicazione utilizzasse solo IP, i dati dovrebbero essere suddivisi in più pacchetti IP. Ciò richiederebbe più richieste per inviare e ricevere dati, poiché le richieste IP vengono emesse per pacchetto. Con TCP, è necessaria una sola richiesta per inviare un intero flusso di dati; TCP gestisce il resto. A differenza dell’IP, TCP è in grado di rilevare i problemi che si verificano nell’IP e richiedere la ritrasmissione di eventuali pacchetti di dati persi. TCP può anche organizzare i pacchetti in modo che vengano trasmessi nell’ordine corretto e può ridurre al minimo la congestione della rete. TCP/IP semplifica il trasferimento dei dati su Internet.

Hai qualche segnalazione da farci sull'appunto?

Accedi

[mepr-login-form use_redirect="true"]

Registrati

Accedi o Registrati

Il manuale di sopravvivenza alla MATURITÀ 2024

Dalla prima prova al colloquio orale, tutto ciò di cui hai bisogno è qui!

PRE-Vendita disponibile fino alle 23:59 del 27 Novembre!