Jak maksymalną jednostką przesyłania informacji w Internecie było 1500 bajtów

Jak maksymalną jednostką przesyłania informacji w Internecie było 1500 bajtów

Ethernet jest wszędzie, a dziesiątki tysięcy producentów produkuje sprzęt, który go obsługuje. Jednak prawie wszystkie te urządzenia mają jedną wspólną cechę – 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) określa maksymalny rozmiar pojedynczego pakietu danych. Ogólnie rzecz biorąc, podczas wymiany wiadomości z urządzeniami w sieci LAN, MTU będzie rzędu 1500 bajtów, a prawie cały Internet działa na poziomie 1500. Nie oznacza to jednak, że te technologie komunikacyjne nie mogą przesyłać większych pakietów.

Na przykład standard 802.11 (powszechnie znany jako Wi-Fi) ma MTU wynoszący 2304 bajty, a jeśli Twoja sieć korzysta z FDDI, Twoje MTU wynosi 4352 bajty. Sam Ethernet ma koncepcję „gigantycznych ramek”, w których jednostce MTU można przypisać rozmiar do 9000 bajtów (z obsługą tego trybu przez karty sieciowe, przełączniki i routery).

Jednak w Internecie nie jest to szczególnie konieczne. Ponieważ główna sieć szkieletowa Internetu składa się głównie z połączeń Ethernet, de facto nieoficjalny maksymalny rozmiar pakietu jest ustawiony na 1500B, aby uniknąć fragmentacji pakietów na innych urządzeniach.

Liczba 1500 sama w sobie jest dziwna – można by się spodziewać, że stałe w świecie komputerów będą opierać się na przykład na potędze dwójki. Skąd więc wziął się 1500B i dlaczego nadal go używamy?

magiczny numer

Pierwszy wielki przełom w sieci Ethernet nastąpił w postaci standardów. 10BAZA-2 (cienki) i 10BAZA-5 (gruby), liczby wskazujące, ile setek metrów może pokryć dany segment sieci.

Ponieważ w tamtym czasie istniało wiele konkurencyjnych protokołów, a sprzęt miał swoje ograniczenia, twórca formatu przyznaje, że wymagania dotyczące pamięci bufora pakietów odegrały rolę w pojawieniu się magicznej liczby 1500:

Z perspektywy czasu jasne jest, że większe maksimum mogłoby być lepszym rozwiązaniem, ale gdybyśmy na początku zwiększyli koszt kart sieciowych, zapobiegłoby to upowszechnieniu się sieci Ethernet.

Jednak to nie jest cała historia. W praca „Ethernet: Distributed Packet Switching in Local Computer Networks” z 1980 r. zawiera jedną z najwcześniejszych analiz efektywności wykorzystania dużych pakietów w sieciach. W tamtym czasie było to szczególnie ważne w przypadku sieci Ethernet, ponieważ mogły one albo łączyć wszystkie systemy jednym kablem koncentrycznym, albo składać się z koncentratorów zdolnych do jednoczesnego wysyłania jednego pakietu do wszystkich węzłów w tym samym segmencie.

Należało wybrać taką liczbę, która nie będzie powodowała zbyt dużych opóźnień przy przesyłaniu wiadomości segmentami (czasami dość obciążonymi), a jednocześnie nie zwiększała zbytnio liczby pakietów.

Najwyraźniej inżynierowie w tamtym czasie wybrali liczbę 1500 B (około 12000 XNUMX bitów) jako najbardziej „bezpieczną” opcję.

Od tego czasu pojawiło się i zniknęło wiele innych systemów przesyłania wiadomości, ale wśród nich Ethernet miał najniższą wartość MTU wynoszącą 1500 bajtów. Przekroczenie minimalnej wartości MTU w sieci oznacza albo spowodowanie fragmentacji pakietów, albo zaangażowanie się w PMTUD [znalezienie maksymalnego rozmiaru pakietu dla wybranej ścieżki]. Obie opcje miały swoje własne, szczególne problemy. Nawet jeśli czasami duzi producenci systemów operacyjnych obniżali wartość MTU jeszcze niżej.

Współczynnik wydajności

Wiemy teraz, że MTU Internetu jest ograniczone do 1500B, głównie ze względu na starsze wskaźniki opóźnień i ograniczenia sprzętowe. Jak bardzo wpływa to na wydajność Internetu?

Jak maksymalną jednostką przesyłania informacji w Internecie było 1500 bajtów

Jeśli spojrzymy na dane z dużego internetowego punktu wymiany danych AMS-IX, zobaczymy, że co najmniej 20% przesyłanych pakietów ma rozmiar maksymalny. Możesz także sprawdzić całkowity ruch w sieci LAN:

Jak maksymalną jednostką przesyłania informacji w Internecie było 1500 bajtów

Jeśli połączysz oba wykresy, otrzymasz mniej więcej coś takiego (szacunki ruchu dla każdego zakresu wielkości pakietów):

Jak maksymalną jednostką przesyłania informacji w Internecie było 1500 bajtów

Lub, jeśli spojrzymy na ruch wszystkich tych nagłówków i innych informacji o usługach, otrzymamy ten sam wykres w innej skali:

Jak maksymalną jednostką przesyłania informacji w Internecie było 1500 bajtów

Dość duża część przepustowości jest wydawana na nagłówki pakietów w największej klasie wielkości. Ponieważ najwyższy narzut w szczytowym ruchu wynosi 246 GB/s, można założyć, że gdybyśmy wszyscy przeszli na „ramki jumbo”, gdy taka opcja nadal istniała, narzut ten wyniósłby tylko około 41 GB/s.

Ale myślę, że dzisiaj dla większości Internetu ten pociąg już odjechał. I chociaż niektórzy dostawcy pracują z MTU na poziomie 9000, większość tego nie obsługuje, a próba zmiany czegoś globalnie w Internecie okazywała się wielokrotnie niezwykle trudna.

Źródło: www.habr.com

Dodaj komentarz