Dlaczego pakiety wysyłane są w mniejszych paczkach, niż MTU?

Dlaczego pakiety wysyłane są w mniejszych paczkach, niż MTU?
KM
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 473
0
Kopiuj
m@m-X555LJ $ tracepath localhost
 1:  localhost                                             0.078ms reached
     Resume: pmtu 65535 hops 1 back 1 

Aha, czyli mogę wysyłać bz fragmentacji pakiety do rozmiaru 65535, tak?

No to próbuję, wysyłać z localhost do localhost po UDP. Ale dochodzą pofragmentowane, w paczkach po 2048 bajtów.

Czemu?

nalik
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1039
1

Niekoniecznie. Path MTU mówi jakie jest MTU dla ścieżki.
Maksymalny rozmiar segmentu tcp to: MSS = MTU - sizeof(TCPHDR) - sizeof(IPHDR). Zauważ słowo maksymalny. Kwestia implementacji.

Jeśli to UDP to możesz sprawdzić czy ustawienie opcji don't frgment pomoże (dla socketów IP_DONTFRAG).

Inna sprawa, czy to segmenty są pofragmentowane na parę fragmentów wewnątrz jednego pakietu ip czy paylaod został rozdzielelony na parę segemntów by każdy mieścił się w pojedyńczym pakiecie ip. Jak sprwdziłeś, że są pofragmentowane?

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.