Jumbo frame
Nelle reti di computer, i jumbo frame sono frame Ethernet con più di 1500 byte di payload, il limite fissato dallo standard IEEE 802.3.[1] Comunemente, i jumbo frame possono trasportare fino a 9000 byte di payload, ma esistono varianti più piccole e occorre prestare attenzione nell'usare il termine in questi casi. Molti switch Gigabit Ethernet e schede di rete Gigabit supportano i jumbo frame. Alcuni switch Fast Ethernet e schede di rete Fast Ethernet possono supportare i jumbo frame.[2]
Introduzione
[modifica | modifica wikitesto]Ogni frame Ethernet deve essere elaborato mentre passa attraverso gli apparati di rete. L'elaborazione del contenuto di un singolo frame di grandi dimensioni è preferibile all'elaborazione dello stesso contenuto suddiviso in frame più piccoli, poiché ciò consente di utilizzare meglio il tempo di CPU disponibile riducendo gli interrupt. Ciò minimizza anche l'overhead e riduce il numero di frame che devono essere elaborati.[3] Questo è analogo a spedire fisicamente un pacchetto di fogli invece di diverse buste singole con un foglio ciascuna, risparmiando buste e riducendo i tempi di smistamento.
I jumbo frame hanno inizialmente acquisito importanza nel 1998, quando Alteon WebSystems li ha introdotti nelle proprie schede di rete ACEnic Gigabit Ethernet.[4] Anche molti altri fornitori hanno fatto altrettanto; tuttavia, i jumbo frame non fanno parte dello standard Ethernet IEEE 802.3 ufficialmente.
Uso
[modifica | modifica wikitesto]L'uso dei jumbo frame riducono l'overhead e il carico della CPU[5] e hanno un effetto migliorativo sulle prestazioni TCP.[6] La presenza di jumbo frame può avere un effetto negativo sulla latenza di rete, in particolare sui collegamenti a larghezza di banda ridotta.
La dimensione del frame utilizzata da una connessione end-to-end è generalmente limitata dalla dimensione più bassa del frame nei collegamenti intermedi. Token Ring 802.5 può supportare frame con MTU pari a 4464 byte, FDDI pari a 4352 byte, ATM di 9180 byte e 802.11 può trasportare MTU di 2304 bytes (MSDU maximun size) -MAC Header e Encryption Header esclusi- ( In caso di frame aggregation (A-MSDU) l'MTU può arrivare sino a 7935 byte).[7].
Lo standard Ethernet IEEE 802.3 originariamente imponeva la dimensione per frame MTU da 1500 byte, dimensioni frame totali 1518 byte (1522 byte se con tag VLAN / QoS IEEE 802.1Q). L'aggiornamento IEEE 802.3as ha integrato le dimensioni delle intestazioni, trailer e incapsulamenti comuni arrivando quindi fino a 482 byte di intestazione e trailer e il frame Ethernet supportato da IEEE 802.3 più grande è diventato 2000 byte. L'utilizzo di 9000 byte come dimensione del payload preferito per i jumbo frame è nato da discussioni all'interno del Joint Engineering Team di Internet2 e dalle rete del governo federale degli Stati Uniti.[8] La loro raccomandazione è stata adottata da tutti gli altri enti nazionali di ricerca e istruzione. Per soddisfare questo criterio obbligatorio di acquisto, i produttori hanno adottato a loro volta 9000 byte come dimensione MTU convenzionale, con una dimensione del frame jumbo di almeno 9018/9022 byte (senza o con IEEE 802.1Q). La maggior parte delle apparecchiature Ethernet può supportare jumbo frame fino a 9216 byte.[9]
IEEE 802.1AB -2009 e IEEE 802.3bc -2009 hanno aggiunto, nel protocollo LLDP per Ethernet, la lunghezza massima del frame (sottotipo TLV 4).[10] Consente il rilevamento della lunghezza del frame su una porta tramite un campo a due byte. A partire da IEEE 802.3-2015, i valori consentiti sono 1518 (solo frame di base), 1522 (frame con tag 802.1Q) e 2000 (frame multi-tagged, incapsulamento).[11]
Rilevamento degli errori
[modifica | modifica wikitesto]Semplici checksum aggiuntivi contenuti nei protocolli di trasporto UDP e TCP si sono dimostrati inefficaci nel rilevare errori di bit specifici del bus perché con semplici somme, questi errori tendono a compensarsi. Prima dell'adozione [rfc:3309 dell'RFC 3309], i test di simulazione con inserimento di errori, rispetto a dati reali, mostravano che fino al 2% di questi errori non veniva rilevato.
I frame più grandi hanno maggiori probabilità di subire errori non rilevati con il semplice rilevamento degli errori CRC32, utilizzato nei frame Ethernet: all'aumentare della dimensione del pacchetto diventa più probabile che più errori si annullino a vicenda.[12]
Un approccio IETF per l'adozione dei jumbo frame evita la riduzione dell'integrità della service data unit eseguendo un CRC aggiuntivo al livello del protocollo di rete successivo ad Ethernet. Il trasporto SCTP (Stream Control Transmission Protocol [rfc:4960) (RFC 4960]) e iSCSI (RFC 7143) utilizzano il polinomio Castagnoli CRC. Il polinomio di Castagnoli 0x1EDC6F41 raggiunge la distanza di Hamming HD = 6 oltre una MTU Ethernet (fino a una lunghezza di 16.360 bit) e HD = da 4 a 114.663 bit, che è più di 9 volte la lunghezza di una MTU Ethernet. Ciò fornisce due bit aggiuntivi di capacità di rilevamento degli errori su blocchi di dimensioni MTU rispetto al polinomio standard Ethernet CRC senza sacrificare la capacità HD = 4 per le dimensioni dati fino e oltre 72 kbit.[13] Il supporto del polinomio Castagnoli CRC all'interno di un trasporto generico è stato progettato per gestire blocchi di dati e all'interno di un trasporto TCP per trasportare dati SCSI, entrambi forniscono migliori tassi di rilevamento degli errori nonostante l'uso di jumbo frame dove un aumento della MTU Ethernet avrebbe altrimenti ha determinato una significativa riduzione del rilevamento degli errori.
Configurazione
[modifica | modifica wikitesto]Alcuni costruttori, non tutti, permettono l'impostazione della dimensione delle intestazioni, la dimensione massima del frame (comprese le intestazioni dei frame, la dimensione massima del pacchetto layer 2) o l'unità di trasmissione massima (dimensione massima del pacchetto layer 3 escluse le intestazioni dei frame). Pertanto, potrebbe essere necessario configurare valori diversi in apparecchiature di fornitori diversi per far corrispondere le impostazioni.
Combinare dispositivi configurati con jumbo frame e dispositivi non configurati con jumbo frame su una rete può causare problemi di prestazioni di rete.[14]
Efficienza di banda
[modifica | modifica wikitesto]I jumbo frame possono aumentare l'efficienza delle reti Ethernet e negli host riducendo l'overhead di protocollo, come mostrato nell'esempio seguente con TCP su IPv4. Il overhead di elaborazione degli host può potenzialmente diminuire in base al rapporto tra le dimensioni del carico utile (circa sei volte il miglioramento nell'esempio). Questo può essere significativo ma dipende da come i pacchetti vengono elaborati nell'host. Gli host che utilizzano la gestione del protocollo TCP a livello scheda di rete avranno meno vantaggi rispetto agli host che elaborano i frame con la CPU.
Tipo di frame | MTU | Overhead a livello 1 | Overhead a livello 2 | Overhead a livello 3 | Overhead a livello 4 | Dimensioni PDU | Totale trasmesso [alfa 1 superiore] | Efficienza [alfa 2 superiore] | |||
---|---|---|---|---|---|---|---|---|---|---|---|
Standard | 1500 | preambolo 8 byte | IPG 12 byte | intestazione frame 14 byte | FCS 4 byte | Intestazione IPv4 20 byte | Intestazione TCP 20 byte | 1460 byte | 1538 byte | 94,93% | |
Jumbo | 9000 | preambolo 8 byte | IPG 12 byte | intestazione frame 14 byte | FCS 4 byte | Intestazione IPv4 20 byte | Intestazione TCP 20 byte | 8960 byte | 9038 byte | 99,14% | |
Altre dimensioni del frame per riferimento | |||||||||||
IEEE 802.11[15][16] | 7935 | Preambolo e intestazione PLCP 24 byte | IPG variabile | frame header e ovhd di sicurezza 52 byte | FCS 4 byte | Intestazione IPv4 20 byte | Intestazione TCP 20 byte | 7895 byte | 8015 + IPG size byte | <98,5% | |
IEEE 802.11 con bridge su Ethernet | 1500 | Preambolo e intestazione PLCP 24 byte | IPG variabile | frame header e ovhd di sicurezza 52 byte | FCS 4 byte | Intestazione IPv4 20 byte | Intestazione TCP 20 byte | 1460 byte | 1580 + IPG size byte | <92,4% |
La scalabilità relativa del throughput dei dati di rete in funzione delle velocità di trasferimento dei pacchetti è correlata in modo complesso alla dimensione del payload del pacchetto.[17] Generalmente, all'aumentare della velocità di trasmissione della linea, la dimensione del payload del pacchetto dovrebbe aumentare in proporzione diretta per mantenere parametri di temporizzazione equivalenti. Ciò tuttavia implica il ridimensionamento di numerosi circuiti logici intermedi lungo il percorso di rete per adattarsi alla dimensione massima richiesta del frame.
Baby jumbo frame
[modifica | modifica wikitesto]I baby jumbo frame sono frame Ethernet che sono solo leggermente più grandi di quanto consentito dagli standard Ethernet IEEE.[2] I baby jumbo frame sono, ad esempio, necessari per l'implementazione di IP / MPLS su Ethernet mantenendo i servizi Ethernet con payload standard di 1500 byte. La maggior parte delle implementazioni richiederà che i frame utente non jumbo siano incapsulati nel formato di frame MPLS che a sua volta può essere incapsulato in un formato di frame Ethernet appropriato, con valori EtherType di 0x8847 e 0x8848.[18] Il maggiore overhead di header MPLS ed Ethernet aggiuntivi significa che il supporto per frame fino a 1600 byte è richiesto nelle reti Carrier Ethernet.[19]
Super jumbo frame
[modifica | modifica wikitesto]I super jumbo frame (SJF) sono frame con una dimensione del payload superiore a 9000 byte. Come è stato lungo e difficile il processo di adeguamento della dimensione MTU delle reti nazionali di ricerca e istruzione ad alte prestazioni da 1500 byte a 9000 byte circa, è ancora allo studio un ulteriore aumento possibilmente a 64.000 byte. Il fattore principale coinvolto con un aumento della dimensione massima del segmento (MSS) è un aumento della dimensione del buffer di memoria disponibile in ogni apparato di rete intermedio lungo il percorso.
Approccio alternativo
[modifica | modifica wikitesto]La gestione in scheda di rete di frame di grandi dimensioni in invio e ricezione di grandi dimensioni, libera il carico della CPU rendendolo indipendente dalle dimensioni del frame. È un modo per eliminare l'overhead per pacchetto che ha portato a progettare i jumbo frame.[20] I jumbo frame sono ancora utili dal punto di vista della larghezza di banda, poiché riducono la quantità di larghezza di banda utilizzata riducendo l'overhead di protocollo.
Note
[modifica | modifica wikitesto]- ^ ethernetalliance.org, http://www.ethernetalliance.org/wp-content/uploads/2011/10/EA-Ethernet-Jumbo-Frames-v0-1.pdf . URL consultato il 18 giugno 2015.
- ^ a b cisco.com, https://www.cisco.com/c/en/us/support/docs/switches/catalyst-6000-series-switches/24048-148.html . URL consultato il 22 agosto 2011.«Catalyst 3750/3560 Series switches support an MTU of 1998 bytes for all 10/100 interfaces»
- ^ EthernetAlliance.org, http://www.ethernetalliance.org/wp-content/uploads/2011/10/EA-Ethernet-Jumbo-Frames-v0-1.pdf . URL consultato il 28 aprile 2017.
- ^ Jeff Caruso, Alteon still stumping for Jumbo Frames, in Network World, 22 ottobre 1998. URL consultato il 4 luglio 2011 (archiviato dall'url originale il 15 ottobre 2012).
- ^ A Foong, T. Huff e H. Hum, TCP Performance Re-visited, in 2003 IEEE International Symposium on Performance Analysis of Systems and Software. ISPASS 2003, 2003, pp. 70–79, DOI:10.1109/ISPASS.2003.1190234, ISBN 978-0-7803-7756-1.
- ^ D Murray, T Koziniec e K Lee, Large MTUs and internet performance, in 2012 IEEE 13th International Conference on High Performance Switching and Routing, 2012, pp. 82–87, DOI:10.1109/HPSR.2012.6260832, ISBN 978-1-4577-0833-6.
- ^ Torvalds, https://github.com/torvalds/linux/blob/00e4db51259a5f936fec1424b884f029479d3981/include/linux/ieee80211.h#L207.«linux/include/linux/ieee80211.h Linux Kernel Headers»
- ^ Rick Summerhill, https://noc.net.internet2.edu/i2network/jumbo-frames/rrsum-almes-mtu.html.
- ^ Scott Hogg, https://www.networkworld.com/article/2224722/jumbo-frames.html.«Most network devices support a jumbo frame size of 9216 bytes.»
- ^ IEEE 802.3 79.3.4 Maximum Frame Size TLV
- ^ IEEE 802.3 3.2.7 MAC Client Data field
- ^ Matt Mathis, Arguments about Internet MTU, su web.archive.org, 8 ottobre 2016. URL consultato il 23 agosto 2019 (archiviato dall'url originale l'8 ottobre 2016).
- ^ Philip Koopman, users.ece.cmu.edu, http://users.ece.cmu.edu/~koopman/networks/dsn02/dsn02_koopman.pdf .
- ^ kb.netgear.com, https://kb.netgear.com/25091/Guidance-on-the-use-of-jumbo-frames . URL consultato il 21 marzo 2020.
- ^ Philip, Wireless Network Speed Tweaks, in speedguide.net, 20 ottobre 2016. URL consultato il 20 ottobre 2016.
- ^ IEEE 802.11-2012 8.2.3 General frame format
- ^ W. Rutherford, L. Jorgenson e M. Siegert, 16000–64000 B pMTU experiments with simulation: The case for super jumbo frames at Supercomputing '05, in Optical Switching and Networking, vol. 4, n. 2, 2007, pp. 121–130, DOI:10.1016/j.osn.2006.10.001.
- ^ RFC-3032, MPLS Label Stack Encoding.
- ^ Ceragon, Jumbo Frames: The Microwave Perspective, Technical brief Archiviato il 15 settembre 2012 in Internet Archive.
- ^ codingrelic.geekhold.com, https://codingrelic.geekhold.com/2011/12/requiem-for-jumbo-frames.html . URL consultato il 7 dicembre 2011.
Collegamenti esterni
[modifica | modifica wikitesto]- Jumbo Frames - Dove usarli?.
- Jumbo Frames? Yes!, di Selina Lo, Alteon Networks, 23/2/1998 in NetworkWorld.
- Pushing up the Internet MTU.
- IEEE 802.3as Frame Expansion Task Force.
- CRC a 32 bit per applicazioni Internet.
- Informazioni importanti: jumbo frame in reti di piccole dimensioni Archiviato il 17 giugno 2010 in Internet Archive..
- Jumbo Frame nel wiki di Arch Linux.