
Ethernet jest wszędzie, a dziesiątki tysięcy producentów wytwarza sprzęt z jego obsługą. Niemniej jednak prawie wszystkie te urządzenia mają jedną wspólną liczbę – :
$ ip l
1: lo: mtu 65536 state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp5s0: mtu 1500 state UP
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff MTU (Maximum Transmission Unit) [maksymalna jednostka transmisji] określa maksymalny rozmiar pojedynczej paczki danych. Zasadniczo, kiedy wymieniasz wiadomości z urządzeniami w swojej sieci LAN, MTU wynosi około 1500 bajtów, a cały internet w dużej mierze również działa z rozmiarem 1500 B. Jednak nie oznacza to, że technologie te nie mogą przesyłać paczek większego rozmiaru.
Na przykład w 802.11 (częściej znanym jako WiFi) MTU wynosi 2304 b, a jeśli twoja sieć korzysta z FDDI, wtedy twój MTU wynosi 4352 b. Ethernet ma koncepcję „gigantycznych ramek”, gdy MTU można ustawić na rozmiar do 9000 b (jeśli taki tryb obsługują NIC, przełączniki i routery).
Jednak w internecie nie jest to szczególnie potrzebne. Ponieważ główne magistrale internetu składają się głównie z połączeń Ethernet, de facto nieoficjalny maksymalny rozmiar paczki ustalony jest na 1500 B, aby uniknąć fragmentacji paczek 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ą oparte na potęgach dwójki, na przykład. Skąd więc wzięto 1500 B i dlaczego nadal ich używamy?
Magiczna liczba
Pierwszy duży przełom Ethernetu w świat miał miejsce w postaci standardów (cienki) i (gruby), liczby w których mówią o tym, ile setek metrów może pokrywać poszczególny 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 paczek miały swój wkład w pojawienie się magicznej liczby 1500:
Patrząc wstecz, staje się jasne, że maksimum większego rozmiaru mogłoby być lepszym rozwiązaniem, jednak gdybyśmy zwiększyli koszt NIC (kontrolerów sieciowych) na wczesnym etapie, Ethernet nie zdobyłby tak szerokiego zastosowania.
Jednak to nie cała historia. W „Ethernet: rozproszona komunikacja pakietów w lokalnych sieciach komputerowych“ z 1980 roku przedstawia jedno z wczesnych analiz efektywności użycia dużych pakietów w sieciach. Wówczas miało to szczególne znaczenie dla sieci Ethernet, ponieważ mogły one łączyć wszystkie systemy jednym kablem koncentrycznym lub składać się z hubów, które mogły w danym momencie wysyłać tylko jeden pakiet do wszystkich węzłów w jednym segmencie.
Należało wybrać liczbę, która nie powodowałaby zbyt dużych opóźnień przy przesyłaniu wiadomości w segmentach (czasami dość obciążonych), a jednocześnie nie zwiększałaby zbytnio liczby pakietów.
Z tego, co wiadomo, inżynierowie w tamtym czasie wybrali liczbę 1500 B (około 12000 bitów) jako najbardziej „bezpieczną” opcję.
Od tego czasu pojawiały się i znikały różne inne systemy przesyłania wiadomości, jednak wśród nich najniższa wartość MTU była w Ethernet, z jego 1500 B. Przekroczenie minimalnej wartości MTU w sieci oznacza, że albo wywołuje to fragmentację pakietów, albo wymaga zajmowania się PMTUD [wyszukiwanie maksymalnego rozmiaru pakietu dla wybranej ścieżki]. Oba te rozwiązania miały swoje specyficzne problemy. Nawet gdy czasami więksi producenci systemów operacyjnych obniżali wartość MTU jeszcze bardziej.
Czynnik efektywności
Teraz wiemy, że MTU w internecie jest ograniczone do 1500 B głównie z powodu starych wskaźników opóźnień i ograniczeń sprzętowych. Jak bardzo wpływa to na efektywność internetu?

Patrząc na dane z dużego węzła wymiany ruchu internetowego AMS-IX, widzimy, że co najmniej 20% przesyłanych pakietów ma maksymalny rozmiar. Można też spojrzeć na cały ruch LAN:

Łącząc oba wykresy, otrzymamy coś w rodzaju poniższego (szacowanie ruchu dla każdego zakresu rozmiarów pakietów):

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

Znaczna część przepustowości jest marnowana na nagłówki pakietów z największej klasy rozmiarów. Ponieważ w szczycie ruchu największe koszty wynoszą 246 Gb/s, można przypuszczać, że gdybyśmy wszyscy przeszli na „gigantyczne ramki”, kiedy taka możliwość jeszcze istniała, te koszty wyniosłyby tylko około 41 Gb/s.
Jednak myślę, że dla większości internetu ten pociąg już odjechał. I choć niektórzy dostawcy pracują z MTU równym 9000, większość z nich tego nie wspiera, a próby globalnej zmiany w internecie okazywały się z każdym razem niezwykle trudnym zadaniem.
Źródło: habr.com
