MTU
MTU oznacza "Max Transmission Unit" (Maksymalna Jednostka Transmisyjna) i odnosi się do maksymalnego rozmiaru pakietu, jaki może być przesłany w sieci, mierzonego w bajtach. Często kojarzony jest z interfejsami komunikacyjnymi, takimi jak karty sieciowe. Jeśli pakiet jest większy niż MTU łącza, zostanie podzielony na mniejsze fragmenty, przez które przejdzie, co nazywa się "shardingiem". Wielkość MTU wymaga kompromisu między efektywnością transmisji a opóźnieniami.
W sieci maksymalna jednostka transmisji (MTU) odnosi się do wartości maksymalnej liczby pakietów, które można odebrać przez urządzenie sieciowe. Pomyśl o MTU jako o ograniczeniu wysokości dla przejścia podziemnego lub tunelu autostradowego: samochody i ciężarówki powyżej limitu wysokości nie mogą przez niego przechodzić, tak jak pakiety przekraczające MTU sieci nie mogą przejść przez tę sieć.
Jednak w przeciwieństwie do samochodów i ciężarówek, pakiety przekraczające MTU mogą być rozbite na mniejsze fragmenty, które mogą przechodzić przez sieć. Ten proces nazywa się shardingiem. Pakiety odłamków są składane ponownie zaraz po dotarciu do celu.
MTU mierzy się w bajtach, a jeden "bajt" odpowiada 8 bitom informacji, czyli 8 jedynek i zer. Maksymalny rozmiar MTU to 1 500 bajtów.
Użyj PowerShell, aby zobaczyć wartość MTU aktualnego interfejsu sieciowego za pomocą następującego polecenia:
Jak pokazano poniżej:
Wartość MTU dla WireGuard
Mówiąc prosto,Domyślny rozmiar MTU dla WireGuard to 1420。 Zazwyczaj ta wartość dotyczy 95% przypadków użycia. Jednak istnieje kilka czynników, które należy wziąć pod uwagę, gdy środowisko jest bardziej złożone i wymaga transmisji wieloskokowej. Więc jak poprawnie obliczyć MTU? To trudny problem, ponieważ każdy musi podjąć decyzję zgodnie ze swoją sytuacją. Czytaj dalej.
Informacje techniczne o kompozycji MTU
Najpierw musimy ustalić, jakiego rodzaju połączenia internetowego używamy: DSL, VDSL czy przewodowo? Oto podstawowe informacje:
DSL i VDSL mają maksymalną MTU 1492; Maksymalna MTU dla internetu przewodowego to 1500.
To są wymagania naszego niemieckiego dostawcy usług sieciowych. ISP i tak nie przyjmują większych pakietów. Teraz wymienię rozmiary nagłówków pakietów wymagane dla WireGuard i VPN.
VPN IPv4 – 20 bajtów; VPN IPv6 – 40 bajtów; UDP – 8 bajtów; WireGuard – 32 bajty
Na podstawie tych informacji możesz obliczyć odpowiedni rozmiar MTU. Podam typowy i rzadki przykład.
Przykład 1:
Punktem wyjścia jest połączenie kablowe o maksymalnej mocy MTU 1500, wyposażone w połączenie IPv4.
1500 – 20 bajtów (IPv4) – 8 bajtów (UDP) – 32 bajty (WG) = 1440 bajtów
Pozostawia to 1440 bajtów dla obszaru danych, a domyślna wartość 1420 jest bardzo odpowiednia.
Przykład 2:
Punktem wyjścia jest połączenie DSL o maksymalnej mocy MTU 1492, wyposażone w połączenie IPv6.
1492 – 40 bajtów (IPv6) – 8 bajtów (UDP) – 32 bajty (WG) = 1412 bajtów
W rezultacie obszar danych będzie miał 1412 bajtów, a domyślna wartość 1420 nie jest odpowiednia.
W przykładzie 2 pakiet zostanie odłączony, co skutkuje fragmentem (sharding). Może to zużywać zasoby, co skutkuje znacznie wolniejszym połączeniem. Jednak w IPv6 prędkość połączenia staje się bardzo szybka.
Podczas korzystania z IPv6 niektóre routery wymagają minimalnego rozmiaru MTU 1280 bajtów. ZatemJeśli używasz IPv6, nie ustawiaj MTU poniżej 1280 bajtów。
Jeśli pracujesz w złożonym środowisku obejmującym wiele NAT i/lub routerów, do pakietu mogą zostać dodane dodatkowe informacje z nagłówka. To z pewnością skomplikuje obliczenia. Wireshark bardzo pomaga, bo pozwala sprawdzić, czy pakiety są rozdzielane.
Dlaczego nie zacząć od rozmiaru MTU 1300 bajtów i stopniowo przejść do 1420 bajtów?Wielu użytkowników zgłasza, że 1380 bajtów jest dla nich idealne。
Windows testuje polecenie MTU z pingem:
Jak pokazano poniżej:
WireGuard konfiguruje wartości dla MTU w następujący sposób:
Odniesienie:
Logowanie do linku jest widoczne.
Logowanie do linku jest widoczne.
Logowanie do linku jest widoczne.
Logowanie do linku jest widoczne.
Logowanie do linku jest widoczne. |