Ethernet è ovunque e decine di migliaia di produttori producono apparecchiature che la supportano. Tuttavia, quasi tutti questi dispositivi hanno una cosa in comune:
$ ip l
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
MTU (Maximum Transmission Unit) definisce la dimensione massima di un singolo pacchetto di dati. In generale, quando si scambiano messaggi con i dispositivi sulla propria LAN, la MTU sarà dell'ordine di 1500 byte e quasi tutta Internet funziona a 1500 byte. Tuttavia, ciò non significa che queste tecnologie di comunicazione non possano trasmettere pacchetti di dimensioni maggiori .
Ad esempio, 802.11 (comunemente noto come WiFi) ha una MTU di 2304 byte e se la tua rete utilizza FDDI, la tua MTU è di 4352 byte. La stessa Ethernet utilizza il concetto di "frame giganti", in cui alla MTU può essere assegnata una dimensione fino a 9000 byte (con supporto per questa modalità da parte di NIC, switch e router).
Tuttavia, su Internet ciò non è particolarmente necessario. Poiché le principali dorsali di Internet sono costituite principalmente da connessioni Ethernet, la dimensione massima non ufficiale dei pacchetti è di fatto impostata su 1500B per evitare la frammentazione dei pacchetti su altri dispositivi.
Il numero 1500 in sé è strano: nel mondo dei computer ci si aspetterebbe che le costanti siano basate su potenze di due, ad esempio. Allora da dove viene il 1500B e perché lo usiamo ancora?
numero magico
La prima grande svolta di Ethernet nel mondo è arrivata sotto forma di standard.
Poiché all'epoca esistevano molti protocolli concorrenti e l'hardware aveva i suoi limiti, il creatore del formato ammette che i requisiti di memoria del buffer dei pacchetti hanno avuto un ruolo nella nascita del numero magico 1500:
Col senno di poi, è chiaro che un limite massimo più elevato avrebbe potuto essere una soluzione migliore, ma se avessimo aumentato sin dall'inizio il costo delle schede NIC, ciò avrebbe impedito a Ethernet di diffondersi altrettanto.
Tuttavia, questa non è tutta la storia. IN
Era necessario scegliere un numero che non provocasse ritardi troppo elevati nella trasmissione dei messaggi in segmenti (a volte piuttosto occupati), e allo stesso tempo non aumentasse troppo il numero di pacchetti.
Apparentemente gli ingegneri dell'epoca scelsero il numero 1500 B (circa 12000 bit) come l'opzione più “sicura”.
Da allora, vari altri sistemi di messaggistica si sono avvicendati, ma tra questi, Ethernet ha avuto il valore MTU più basso con i suoi byte 1500. Superare il valore MTU minimo in una rete significa causare la frammentazione dei pacchetti o impegnarsi in PMTUD [trovare la dimensione massima del pacchetto per il percorso selezionato]. Entrambe le opzioni avevano i loro problemi particolari. Anche se a volte i grandi produttori di sistemi operativi hanno abbassato ulteriormente il valore MTU.
Fattore di efficienza
Ora sappiamo che la MTU di Internet è limitata a 1500 B, in gran parte a causa dei parametri di latenza legacy e delle limitazioni hardware. Quanto incide tutto ciò sull’efficienza di Internet?
Se osserviamo i dati provenienti da un grande punto di scambio di traffico Internet AMS-IX, vediamo che almeno il 20% dei pacchetti trasmessi ha una dimensione massima. Puoi anche vedere il traffico LAN totale:
Se combini entrambi i grafici, otterrai qualcosa di simile al seguente (stime del traffico per ciascun intervallo di dimensioni del pacchetto):
Oppure, se osserviamo il traffico di tutte queste intestazioni e altre informazioni sul servizio, otteniamo lo stesso grafico con una scala diversa:
Gran parte della larghezza di banda viene spesa per le intestazioni dei pacchetti nella classe di dimensioni più grandi. Dato che il sovraccarico massimo nei picchi di traffico è di 246 GB/s, si può supporre che se tutti fossimo passati ai "jumboframe" quando esisteva ancora tale opzione, questo sovraccarico sarebbe solo di circa 41 GB/s.
Ma penso che oggi per la maggior parte di Internet quel treno sia già partito. E sebbene alcuni provider lavorino con una MTU di 9000, la maggior parte non la supporta e provare a cambiare qualcosa a livello globale su Internet si è rivelato estremamente difficile ancora e ancora.
Fonte: habr.com