mercoledì, Maggio 8, 2024

Corso WireShark: terza lezione

AreaNetworking.it
AreaNetworking.ithttps://www.areanetworking.it
AreaNetworking.it è tra i principali e più storici media italiani del settore ICT. Nato nel 2003 per opera di Federico Lagni, l'attività del gruppo è sia online - con il portale rivolto a figure professionali ICT (IT Manager, CTO, Security Specialist, Datacenter Engineer, etc) - sia offline con l'organizzazione delle più importanti conferenze italiane su temi tecnologici.

Livello Rete

Il livello 3, detto Rete, è il livello dove i pacchetti sono ordinati in sequenza e ad ognuno di essi viene assegnato un indirizzamento logico. Questi indirizzi sono considerati instradabili perché includono schemi di indirizzamento che identificano la rete o le subnet dove si trovano gli host di origine e di destinazione.

L’instradamento, il routing, è quella operazione che consiste nello spedire i pacchetti da un host che si trova su una rete o subnet verso un altro host che si trova su una differente rete o subnet. Senza il routing, i computer possono comunicare solamente con computer che si trovano sulla stessa rete. Il routing è la chiave di funzionamento di Internet, ed è uno dei più importanti compiti che deve svolgere il livello Rete.

Questo livello determina la creazione di un circuito virtuale che è il percorso effettuato dai pacchetti di dati dal computer di origine a quello di destinazione. Il percorso di trasmissione dei dati viene determinato sulla base delle condizioni della rete, della priorità del servizio e di altri fattori. Il livello Rete gestisce inoltre i problemi legati al traffico quali l’interscambio, il routing e il controllo della congestione dei pacchetti di dati sulla rete.

Se la scheda di rete nel router non è in grado di trasmettere un blocco di dati inviato dal computer di origine perché di dimensioni eccessive, il livello Rete del router ovvierà a questo inconveniente frammentando i dati in unità più piccole. Sul computer di destinazione il livello Rete riassembla i dati.

Il più importante dei protocolli del livello Rete è il protocollo IP (Internet Protocol): attualmente di questo protocollo ne esistono due versioni, la IPv4 e la IPv6.

Il pacchetto IP

Il pacchetto IP si presenta graficamente in questa maniera:

Ovvero, un pacchetto IP, un datagramma IP ha un header IP che incapsula un segmento che è a sua volta composto da un header di livello Trasporto in questo esempio visivo dall’header TCP e dal Payload dei dati da trasportare.

Il formato dell’header IPv4

L’header IP contiene le informazioni necessarie per instradare il pacchetto

Il datagramma IPv4 si presenta in questa maniera:

Il formato dell’header IPv6

Il datagramma IPv6 si presenta in questa maniera:

Come possiamo notare dalle rappresentazioni grafiche degli header di questi protocolli, sono presenti due campi chiamati nell’IPv4 “Protocol” e nell’IPv6 “Next Header”.

Questi due campi, entrambi lunghi 8 bit nelle due versioni di IP versione 4 o versione 6, di differente hanno il solo nome, mentre la funzione che espletano è la stessa. Questo campo identifica l’header immediatamente seguente all’header IP (header di livello Trasporto) a cui il pacchetto deve essere passato per poter essere trattato. Un datagramma IP incapsula sempre al suo interno uno o più header/protocolli: questo campo è necessario per indicare al processore di destinazione il successivo header/protocollo da trattare.

Essendo questo campo limitato a soli 8 bit, è quindi possibile avere un numero di 256 valori differenti da 0 a 255. La possibilità di associare in maniera standard un numero ad un protocollo è perciò limitata a questi valori. Pertanto i numeri identificativi con cui vengono associati univocamente a questo campo i protocolli sono stati assegnati e standardizzati dallo IANA (Internet Assigned Numbers Autority). Questa autorità di Internet (www.iana.org) in precedenza manteneva e gestiva gli aggiornamenti di questo elenco con l’emanazione regolare di RFC (Request For Comment) di cui l’ultima, la RFC 1700, è divenuta obsoleta: adesso gestisce quest’elenco e lo tiene aggiornato in un database on-line (RFC 3232), chiamato “Assigned Numbers”. Ad esempio, in questo campo “Protocol”, il protocollo TCP ha avuto assegnato il valore 6, UDP valore 17, IP valore 4.

Sempre nella rappresentazione grafica nelle due versioni di IP sono presenti due campi che indipendentemente dalla lunghezza, 32 bit nella IPv4 e 128 bit nella IPv6, indicano l’indirizzo IP sorgente e destinazione.

Il livello Rete gestisce l’indirizzamento logico dei computer. L’indirizzo IP può essere considerato esattamente come l’indirizzo di un edificio. Nel protocollo IP è sempre presente l’indirizzo sorgente e l’indirizzo di destinazione.

Le Apparecchiature di rete che operano a questo livello sono: i routers e gli switch di livello 3.

Livello Collegamento Dati

Il livello 2, detto Collegamento Dati, invia frame di dati dal livello Rete al livello Fisico. Controlla gli impulsi elettrici in ingresso ed in uscita sul media di rete. Sul computer ricevente, il livello Collegamento Dati compone la serie di bit del livello Fisico in Frame di dati. Un Frame (cornice) di dati è un struttura logica organizzata che ordina i bit di dati in pacchetti strutturati per poter spedire i bit attraverso il media. Senza questa strutturazione, i dati sarebbero spediti in modo casuale dalla fine trasmittente e non potrebbero essere decodificati dalla fine ricevente. La rappresentazione elettrica dei dati è nota solo a questo livello.

Il livello Collegamento dati è responsabile del corretto trasferimento di questi Frame e della conservazione del collegamento dei dati tra due computer comunemente chiamati host o nodi. Questo permette al livello rete di supporre sempre che le trasmissioni sulla connessione di rete siano praticamente prive di errori.

Il livello è anche responsabile per il controllo di flusso e la notificazione degli errori sul livello fisico. Il Controllo di flusso è il processo atto a gestire il tempo di spedizione e ricevimento dei dati in modo da non eccedere la capacità (la velocità, la memoria e così via) del collegamento fisico. Quando il livello Collegamento Dati invia un Frame, attende da parte del destinatario, una accusa di ricevuta (ack). Il livello Collegamento Dati del destinatario individua eventuali problemi del Frame verificatisi durante la trasmissione e gestisce il ricevimento di messaggi di errore relativi alla consegna fisica dei pacchetti. I Frame danneggiati durante la trasmissione o di cui non viene riconosciuta la ricezione vengono spediti nuovamente.

Lo strato di Collegamento dati gestisce l’indirizzamento fisico e la sincronizzazione dei pacchetti di dati.

Le apparecchiature di rete che operano a questo livello includono gli switch di livello 2 e i bridge. Uno switch di livello 2 serve a diminuire la congestione di rete, inviando i dati solamente alla porta alla quale il computer di destinazione è collegato, invece di mandarlo a tutte le porte.

I bridge forniscono un modo di segmentare una rete in due parti e di filtrare il traffico, costruendo tabelle che definiscono quali computer sono localizzati su che lato del bridge, basato sui loro indirizzi MAC.

Lo strato di Collegamento dati è diviso in due sottolivelli: il sottolivello Logical Link Control (LLC) ed il sottolivello Media Access Control (MAC).

Il Sottolivello MAC

Il sottolivello MAC (Media Access Control) fornisce un controllo per accedere al mezzo di trasmissione. È responsabile nella trasmissione dei pacchetti di dati da una NIC ad un’altra, attraverso un mezzo di trasmissione condiviso come Ethernet o un cavo di fibra ottica. L’indirizzamento fisico è inviato al sottolivello MAC. Ogni NIC ha un MAC address unico (questo viene anche chiamato indirizzo fisico), il quale identifica quella specifica NIC sulla rete. I MAC address di una Nic si trovano di solito su una memoria a sola lettura (ROM) che si trova sulla NIC. Ad ogni fabbricante di schede di rete è stato assegnato un set unico di indirizzi MAC, così che teoricamente ogni NIC che viene costruita ha un indirizzo MAC unico. Per evitare ogni tipo di confusione, gli indirizzi MAC sono scritti in maniera permanente nella memoria della NIC.

Su una NIC di tipo Ethernet, l’indirizzo fisico o MAC address (anche chiamato indirizzo hardware) viene espresso come 12 cifre esadecimali sistemate in coppie con due punti che separano ogni coppia (ad esempio, 12:3A:4D:66:3A:1C). I tre set iniziali di coppie di numeri rappresentano il codice del fabbricante, mentre gli ultimi tre set rappresentano un numero che identifica univocamente la NIC, realizzata da quello specifico fabbricante.

Il sottolivello MAC offre anche il servizio che si riferisce al metodo usato per permettere l’accesso alla rete dei computer, mentre impedisce loro di trasmettere allo stesso tempo, perché la cosa può causare collisioni. Metodi di MAC comuni includono CSMA/CD (Carrier Sense Multiple Access/Collision Detection) usati dalle reti Ethernet, CSMA/CA (Carrier Sense Multiple Access/Collision Avoidance) usato dalle reti tipo AppleTalk, e Token passing, usate delle reti tipo Token Ring e FDDI (Fiber Distributed Data Interface).

Il Sottolivello LLC

Il sottolivello LLC offre la logica per il collegamento dati: così controlla la sincronizzazione, il controllo di flusso e le funzioni di controllo errore dello strato di Collegamento dati. Questo livello gestisce le trasmissioni connection-oriented; comunque i servizi connectionless possono anche essere offerti da questo livello. Le operazioni Connectionless sono note come Class I LLC, mentre le operazioni Class II possono occuparsi indifferentemente di operazioni connectionless o connection-oriented.

Con le comunicazioni connection-oriented ogni Frame LLC inviato è sottoposto ad un controllo chiamato “ack”. Il sottolivello LLC alla fine ricevente si tiene al corrente delle cornici LLC ricevute (chiamate anche Protocol Data Units [PDU]); perciò, se scopre che un Frame è andato perduto durante la trasmissione, può spedire una richiesta al computer mittente per ricominciare di nuovo la trasmissione, a partire dal PDU che non è mai arrivato. Il sottolivello LLC siede sopra il sottolivello MAC.

Livello Fisico

Il livello 1, detto Fisico, è il livello più basso del modello OSI. Questo livello è totalmente orientato all’hardware e specifica tutti gli aspetti e i requisiti elettrici e meccanici per trasmettere, ricevere e gestire i bit di dati attraverso il media di trasmissione. Il dati a questo livello non sono strutturati e sono gestiti dal livello Fisico in bit di 1 (uno) e 0 (zero), i quali sono rappresentati da pulsazioni di luce o cambiamenti di tensione dell’elettricità, dipendendo questo dal media di trasmissione. Questo livello deve garantire che quando un host trasmette un bit con valore 1, venga ricevuto come tale e non come valore 0.

Poiché tipi di supporti diversi trasmettono i bit con modalità fisicamente diverse (segnali luminosi o impulsi elettrici), il livello Fisico definisce anche la durata di ogni impulso, nonché la modalità di conversione di ogni bit nell’impulso elettrico, oppure ottico, adatto al cavo di rete specifico. Le specifiche dei segnali di livello fisico includono: la sincronizzazione dei bit, i cambiamenti di tensione, il tempismo/sincronismo dei cambiamenti di tensione, le distanze di massima trasmissione, il tipo di topologia della rete, la percentuale di dati, il tipo di codifica.

Questo livello definisce anche la modalità di collegamento dal media alla scheda di rete. Ad esempio, stabilisce il numero di pin del connettore (plug) e la funzione di ognuno. Definisce, inoltre, quale tecnica di trasmissione verrà adottata per l’invio di dati sul cavo di rete.

Molto della complessità della trasmissione dei dati è risolta a livello Fisico, incluso il tipo di segnale utilizzato, che sia digitale o analogico, segnale baseband o broadband, quando i dati sono trasmessi sincronicamente o asincronicamente, e la modalità con cui i segnali sono divisi in canali (multiplexing).

Le Apparecchiature che operano al livello Fisico sono: NIC (Network Interface Card), repeater, hub, ed i connettori che uniscono segmenti di cavo.

Al termine di questa terza lezione di questo corso su Wireshark, invitiamo tutti gli utenti a verificare il proprio grado di apprendimento effettuando il seguente test e ad eseguire le esercitazioni consigliate.

Continua a leggere, clicca sotto sulle pagine seguenti.

Articoli correlati

Non perdere il lancio online della Community GDPR Day: 26 marzo 2024

La sicurezza dei dati e delle informazioni non è più un'opzione, ma una necessità imprescindibile. Lo dimostrano i tanti attacchi informatici che, con frequenza...

Digital Transformation


 

Noleggia una Tesla per il tuo evento ICT!

Categorie