Hoe de maximale eenheid voor informatieoverdracht op internet 1500 bytes werd

Hoe de maximale eenheid voor informatieoverdracht op internet 1500 bytes werd

Ethernet is overal en tienduizenden fabrikanten produceren apparatuur die dit ondersteunt. Bijna al deze apparaten hebben echter één ding gemeen: MTU:

$ 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) definieert de maximale grootte van een enkel datapakket. Wanneer u berichten uitwisselt met apparaten op uw LAN, zal de MTU over het algemeen in de orde van 1500 bytes liggen, en bijna het hele internet werkt op 1500 bytes. Dit betekent echter niet dat deze communicatietechnologieën geen grotere pakketgroottes kunnen verzenden.

802.11 (algemeen bekend als WiFi) heeft bijvoorbeeld een MTU van 2304 bytes, en als uw netwerk FDDI gebruikt, is uw MTU 4352 bytes. Ethernet zelf heeft het concept van “gigantische frames”, waarbij aan de MTU een grootte van maximaal 9000 bytes kan worden toegewezen (met ondersteuning voor deze modus door NIC’s, switches en routers).

Op internet is dit echter niet bijzonder noodzakelijk. Omdat de belangrijkste backbones van het internet voornamelijk uit Ethernet-verbindingen bestaan, is de de facto onofficiële maximale pakketgrootte ingesteld op 1500B om pakketfragmentatie op andere apparaten te voorkomen.

Het getal 1500 op zichzelf is vreemd; je zou verwachten dat constanten in de computerwereld bijvoorbeeld gebaseerd zijn op machten van twee. Dus waar komt 1500 miljard vandaan en waarom gebruiken we het nog steeds?

magisch nummer

De eerste grote doorbraak van Ethernet ter wereld kwam in de vorm van standaarden. 10BASIS-2 (dun) en 10BASIS-5 (dik), de cijfers geven aan hoeveel honderden meters een bepaald netwerksegment kan bestrijken.

Omdat er destijds veel concurrerende protocollen waren en hardware zijn beperkingen had, geeft de maker van het formaat toe dat de geheugenvereisten van de pakketbuffer een rol speelden bij de opkomst van het magische getal 1500:

Achteraf gezien is het duidelijk dat een groter maximum wellicht een betere oplossing was geweest, maar als we de kosten van NIC's in een vroeg stadium hadden verhoogd, zou dit hebben voorkomen dat Ethernet zo wijdverspreid werd.

Dit is echter niet het hele verhaal. IN werk “Ethernet: Distributed Packet Switching in Local Computer Networks”, 1980, biedt een van de eerste analyses van de effectiviteit van het gebruik van grote pakketten in netwerken. In die tijd was dit vooral belangrijk voor Ethernet-netwerken, omdat ze ofwel alle systemen met één enkele coaxkabel konden verbinden, ofwel konden bestaan ​​uit hubs die in staat waren één pakket tegelijk naar alle knooppunten in hetzelfde segment te sturen.

Het was noodzakelijk om een ​​nummer te kiezen dat niet zou resulteren in te grote vertragingen bij het verzenden van berichten in segmenten (soms behoorlijk druk), en tegelijkertijd het aantal pakketten niet te veel zou vergroten.

Blijkbaar kozen ingenieurs destijds het getal 1500 B (ongeveer 12000 bits) als de meest “veilige” optie.

Sindsdien zijn er verschillende andere berichtensystemen gekomen en gegaan, maar onder hen had Ethernet de laagste MTU-waarde met zijn 1500 bytes. Het overschrijden van de minimale MTU-waarde in een netwerk betekent pakketfragmentatie veroorzaken of zich bezighouden met PMTUD [het vinden van de maximale pakketgrootte voor geselecteerd pad]. Beide opties hadden hun eigen speciale problemen. Ook al hebben grote besturingssysteemfabrikanten soms de MTU-waarde nog lager verlaagd.

Efficiëntiefactor

We weten nu dat de internet-MTU beperkt is tot 1500 miljard, grotendeels als gevolg van verouderde latentiestatistieken en hardwarebeperkingen. Hoeveel invloed heeft dit op de efficiëntie van internet?

Hoe de maximale eenheid voor informatieoverdracht op internet 1500 bytes werd

Als we kijken naar de gegevens van een groot internetknooppunt AMS-IX, zien we dat minimaal 20% van de verzonden pakketten een maximale grootte heeft. Je kunt ook naar het totale LAN-verkeer kijken:

Hoe de maximale eenheid voor informatieoverdracht op internet 1500 bytes werd

Als u beide grafieken combineert, krijgt u ongeveer het volgende (verkeersschattingen voor elk pakketgroottebereik):

Hoe de maximale eenheid voor informatieoverdracht op internet 1500 bytes werd

Of als we naar het verkeer van al deze headers en andere service-informatie kijken, krijgen we dezelfde grafiek met een andere schaal:

Hoe de maximale eenheid voor informatieoverdracht op internet 1500 bytes werd

Een behoorlijk groot deel van de bandbreedte wordt besteed aan headers voor pakketten in de grootste grootteklasse. Aangezien de hoogste overhead bij piekverkeer 246 GB/s bedraagt, kan worden aangenomen dat als we allemaal waren overgestapt op "jumboframes" toen een dergelijke optie nog bestond, deze overhead slechts ongeveer 41 GB/s zou bedragen.

Maar ik denk dat vandaag de dag voor het grootste deel van het internet die trein al vertrokken is. En hoewel sommige providers met een MTU van 9000 werken, ondersteunen de meeste dit niet, en het is keer op keer uiterst moeilijk gebleken om wereldwijd iets op internet te veranderen.

Bron: www.habr.com

Voeg een reactie