Introduzione
Conosciamo tutti il principio di classificazione e non classificazione dell'IP e la sua applicazione nelle comunicazioni di rete. La frammentazione e il riassemblaggio dell'IP sono meccanismi chiave nel processo di trasmissione dei pacchetti. Quando la dimensione di un pacchetto supera il limite massimo di unità di trasmissione (MTU) di un collegamento di rete, la frammentazione dell'IP suddivide il pacchetto in più frammenti più piccoli per la trasmissione. Questi frammenti vengono trasmessi indipendentemente nella rete e, una volta arrivati a destinazione, vengono riassemblati in pacchetti completi dal meccanismo di riassemblaggio dell'IP. Questo processo di frammentazione e riassemblaggio garantisce la trasmissione di pacchetti di grandi dimensioni nella rete, garantendo al contempo l'integrità e l'affidabilità dei dati. In questa sezione, analizzeremo più approfonditamente il funzionamento della frammentazione e del riassemblaggio dell'IP.
Frammentazione e riassemblaggio IP
Diversi collegamenti dati hanno diverse unità massime di trasmissione (MTU); ad esempio, il collegamento dati FDDI ha un MTU di 4352 byte e quello Ethernet di 1500 byte. MTU sta per Maximum Transmission Unit e si riferisce alla dimensione massima del pacchetto che può essere trasmesso sulla rete.
FDDI (Fiber Distributed Data Interface) è uno standard per reti locali (LAN) ad alta velocità che utilizza la fibra ottica come mezzo di trasmissione. La Maximum Transmission Unit (MTU) è la dimensione massima del pacchetto che può essere trasmessa da un protocollo di livello di collegamento dati. Nelle reti FDDI, la dimensione della MTU è di 4352 byte. Ciò significa che la dimensione massima del pacchetto che può essere trasmessa dal protocollo di livello di collegamento dati in una rete FDDI è di 4352 byte. Se il pacchetto da trasmettere supera questa dimensione, deve essere frammentato per suddividerlo in più frammenti adatti alla dimensione della MTU per la trasmissione e il riassemblaggio al ricevitore.
Per Ethernet, la MTU è in genere di 1500 byte. Ciò significa che Ethernet può trasmettere pacchetti fino a 1500 byte. Se la dimensione del pacchetto supera il limite della MTU, il pacchetto viene frammentato in frammenti più piccoli per la trasmissione e riassemblato a destinazione. Il riassemblaggio del datagramma IP frammentato può essere eseguito solo dall'host di destinazione e il router non eseguirà alcuna operazione di riassemblaggio.
Abbiamo parlato anche dei segmenti TCP in precedenza, ma MSS sta per Maximum Segment Size (Dimensione Massima del Segmento) e svolge un ruolo importante nel protocollo TCP. MSS si riferisce alla dimensione massima del segmento di dati che può essere inviato in una connessione TCP. Analogamente a MTU, MSS viene utilizzato per limitare la dimensione dei pacchetti, ma lo fa a livello di trasporto, ovvero a livello del protocollo TCP. Il protocollo TCP trasmette i dati del livello applicativo suddividendoli in più segmenti, la cui dimensione è limitata da MSS.
L'MTU di ogni collegamento dati è diverso perché ogni tipo di collegamento dati viene utilizzato per scopi diversi. A seconda dello scopo d'uso, possono essere ospitati diversi valori di MTU.
Supponiamo che il mittente voglia inviare un datagramma di grandi dimensioni da 4000 byte per la trasmissione tramite una connessione Ethernet, quindi il datagramma deve essere suddiviso in tre datagrammi più piccoli per la trasmissione. Questo perché la dimensione di ogni datagramma piccolo non può superare il limite MTU, che è di 1500 byte. Dopo aver ricevuto i tre datagrammi piccoli, il destinatario li riassembla nel datagramma originale di grandi dimensioni da 4000 byte in base al numero di sequenza e all'offset di ciascun datagramma.
Nella trasmissione frammentata, la perdita di un frammento invalida l'intero datagramma IP. Per evitare ciò, TCP ha introdotto MSS, in cui la frammentazione viene eseguita a livello TCP anziché a livello IP. Il vantaggio di questo approccio è che TCP ha un controllo più preciso sulla dimensione di ciascun segmento, evitando i problemi associati alla frammentazione a livello IP.
Per UDP, cerchiamo di non inviare un pacchetto dati più grande dell'MTU. Questo perché UDP è un protocollo di trasporto orientato alla connessione, che non fornisce meccanismi di affidabilità e ritrasmissione come TCP. Se inviamo un pacchetto dati UDP più grande dell'MTU, questo verrà frammentato dal livello IP per la trasmissione. Una volta perso uno dei frammenti, il protocollo UDP non può ritrasmetterlo, con conseguente perdita di dati. Pertanto, per garantire una trasmissione dati affidabile, dovremmo cercare di controllare la dimensione dei pacchetti dati UDP all'interno dell'MTU ed evitare trasmissioni frammentate.
Broker di pacchetti di rete Mylinking™può identificare automaticamente vari tipi di protocollo tunnel VxLAN/NVGRE/IPoverIP/MPLS/GRE, ecc., può essere determinato in base al profilo utente in base all'output del flusso tunnel delle caratteristiche interne o esterne.
○ Può riconoscere pacchetti di etichette VLAN, QinQ e MPLS
○ Può identificare la VLAN interna ed esterna
○ I pacchetti IPv4/IPv6 possono essere identificati
○ Può identificare pacchetti tunnel VxLAN, NVGRE, GRE, IPoverIP, GENEVE, MPLS
○ I pacchetti IP frammentati possono essere identificati (supporta l'identificazione della frammentazione IP e supporta il riassemblaggio della frammentazione IP in modo da implementare il filtraggio delle funzionalità L4 su tutti i pacchetti di frammentazione IP. Implementa la politica di output del traffico.)
Perché l'IP e il TCP sono frammentati?
Poiché nella trasmissione di rete, il livello IP frammenterà automaticamente il pacchetto dati, anche se il livello TCP non segmenta i dati, il pacchetto verrà automaticamente frammentato dal livello IP e trasmesso normalmente. Quindi, perché il TCP ha bisogno della frammentazione? Non è forse eccessivo?
Supponiamo che ci sia un pacchetto di grandi dimensioni che non è segmentato a livello TCP e si perde durante il transito; TCP lo ritrasmetterà, ma solo nell'intero pacchetto di grandi dimensioni (sebbene il livello IP divida i dati in pacchetti più piccoli, ognuno dei quali ha una lunghezza MTU). Questo perché il livello IP non si preoccupa dell'affidabilità della trasmissione dei dati.
In altre parole, durante il trasporto di una macchina verso il collegamento di rete, se il livello di trasporto frammenta i dati, il livello IP non li frammenta. Se la frammentazione non viene eseguita a livello di trasporto, è possibile che venga eseguita a livello IP.
In parole povere, il protocollo TCP segmenta i dati in modo che il livello IP non sia più frammentato e, quando si verificano ritrasmissioni, solo piccole porzioni dei dati frammentati vengono ritrasmesse. In questo modo, è possibile migliorare l'efficienza e l'affidabilità della trasmissione.
Se il TCP è frammentato, il livello IP non è frammentato?
Nella discussione precedente, abbiamo accennato al fatto che, dopo la frammentazione TCP al mittente, non si verifica alcuna frammentazione a livello IP. Tuttavia, potrebbero esserci altri dispositivi a livello di rete lungo il collegamento di trasporto che potrebbero avere un'unità di trasmissione massima (MTU) inferiore a quella del mittente. Pertanto, anche se il pacchetto è stato frammentato al mittente, viene nuovamente frammentato durante il passaggio attraverso il livello IP di questi dispositivi. Alla fine, tutti i frammenti verranno assemblati al ricevitore.
Se riusciamo a determinare l'MTU minimo sull'intero collegamento e a inviare dati a quella lunghezza, non si verificherà alcuna frammentazione, indipendentemente dal nodo a cui vengono trasmessi i dati. Questo MTU minimo sull'intero collegamento è chiamato MTU del percorso (PMTU). Quando un pacchetto IP arriva a un router, se l'MTU del router è inferiore alla lunghezza del pacchetto e il flag DF (Do Not Fragment) è impostato su 1, il router non sarà in grado di frammentare il pacchetto e potrà solo ignorarlo. In questo caso, il router genera un messaggio di errore ICMP (Internet Control Message Protocol) denominato "Fragmentation Needed But DF Set". Questo messaggio di errore ICMP verrà inviato all'indirizzo sorgente con il valore MTU del router. Quando il mittente riceve il messaggio di errore ICMP, può regolare la dimensione del pacchetto in base al valore MTU per evitare nuovamente la situazione di frammentazione proibita.
La frammentazione IP è una necessità e dovrebbe essere evitata a livello IP, soprattutto sui dispositivi intermedi nel collegamento. Pertanto, in IPv6, la frammentazione dei pacchetti IP da parte dei dispositivi intermedi è stata vietata e può essere eseguita solo all'inizio e alla fine del collegamento.
Nozioni di base su IPv6
IPv6 è la versione 6 del protocollo Internet, successore di IPv4. IPv6 utilizza una lunghezza di indirizzamento di 128 bit, che può fornire più indirizzi IP rispetto alla lunghezza di indirizzamento di 32 bit di IPv4. Questo perché lo spazio di indirizzamento IPv4 si sta gradualmente esaurendo, mentre lo spazio di indirizzamento IPv6 è molto ampio e può soddisfare le esigenze dell'Internet del futuro.
Parlando di IPv6, oltre a un maggiore spazio di indirizzamento, esso offre anche maggiore sicurezza e scalabilità, il che significa che IPv6 può fornire un'esperienza di rete migliore rispetto a IPv4.
Sebbene IPv6 sia in circolazione da molto tempo, la sua diffusione globale è ancora relativamente lenta. Ciò è dovuto principalmente alla necessità di compatibilità con la rete IPv4 esistente, che richiede transizione e migrazione. Tuttavia, con l'esaurimento degli indirizzi IPv4 e la crescente domanda di IPv6, sempre più provider di servizi Internet e organizzazioni stanno gradualmente adottando IPv6, realizzando gradualmente il funzionamento dual-stack di IPv6 e IPv4.
Riepilogo
In questo capitolo, abbiamo approfondito il funzionamento della frammentazione e del riassemblaggio IP. Diversi collegamenti dati hanno diverse Unità Massime di Trasmissione (MTU). Quando la dimensione di un pacchetto supera il limite MTU, la frammentazione IP lo suddivide in più frammenti più piccoli per la trasmissione e li riassembla in un pacchetto completo tramite il meccanismo di riassemblaggio IP una volta arrivati a destinazione. Lo scopo della frammentazione TCP è impedire la frammentazione del livello IP e ritrasmettere solo i dati di piccole dimensioni che sono stati frammentati al momento della ritrasmissione, in modo da migliorare l'efficienza e l'affidabilità della trasmissione. Tuttavia, potrebbero esserci altri dispositivi a livello di rete lungo il collegamento di trasporto il cui MTU potrebbe essere inferiore a quello del mittente, quindi il pacchetto verrà comunque frammentato nuovamente a livello IP di questi dispositivi. La frammentazione a livello IP dovrebbe essere evitata il più possibile, soprattutto sui dispositivi intermedi nel collegamento.
Data di pubblicazione: 07-08-2025