Groups | Search | Server Info | Keyboard shortcuts | Login | Register
Groups > pl.comp.os.linux > #47109
| From | Mateusz Viste <mateusz@xyz.invalid> |
|---|---|
| Newsgroups | pl.comp.os.linux |
| Subject | Re: Pakiety IP z nadwagą |
| Date | 2021-09-24 15:23 +0200 |
| Organization | . . . |
| Message-ID | <20210924152340.2d76c7e0@mateusz.lan> (permalink) |
| References | <20210923182520.6d6d4638@mateusz.lan> <20210923225053.6b0fca21@mateusz.lan> <614cfcfb$0$24051$65785112@news.neostrada.pl> <20210924085012.56367b6f@mateusz.lan> <614dc00d$0$526$65785112@news.neostrada.pl> |
2021-09-24 o 14:09 +0200, marrgol napisał: > On 24/09/2021 at 08.50, Mateusz Viste wrote: > > Tak, ale skąd karta wie, że gdzieś po drodze nie ma zmniejszonego > > MTU? > > Negocjuje MTU. Wysyła największą ramkę (...) To się nazywa Path MTU discovery, pisałem już o tym. To pierwsza rzecz, którą wyłączyłem (sycctl net.ipv4.ip_no_pmtu_disc=1). > Daję głowę, że 'ethtool -k' raportuje, a 'ethtool -K' zmienia te > ustawienia, ale dlaczego to nie działa nie mam pojęcia… Tak, to było to. Głupio szukałem (grepowałem) po "tso", a opcja nazywa się "tcp-segmentation-offload". Wyłączyłem ją zatem tak: # ethtool -K enp0s3 tcp-segmentation-offload off I już pakiety są "normalne" (mniejsze lub równe MTU). Ale tak naprawdę, to były normalne cały czas, a te bezbożne wielkości były zwyczajnym przekłamaniem tcpdumpa. Tłumaczy to brak reakcji na moje zmiany opcji MSS - segmenty "na kablach" po prostu cały czas miały normalne rozmiary, nie ma i nie było tu żadnych wirtualnych jumbo frames (ani żadnego Path MTU discovery). Teraz dwie ciekawostki: 1. tcpdump pokazuje wielkie pakiety za sprawą optymalizacji: OS przekazuje stream TCP karcie sieciowej, i dopiero ona go sobie segmentuje. I to jest fajne i zrozumiałe. Ale te same "wielkie" pakiety widać też na routerach po drodze, co zupełnie mnie zmyliło w moich poszukiwaniach. Sądziłem, że host tylko routujący (czyli nie biorący udziału w dialogu TCP) pokaże te faktyczne, prawdziwe pakiety. A wcale nie. Dopiero wyłączenie tso na routerze pozwala zobaczyć rzeczywiste pakiety. 2. Łapanie pakietów za pomocą socketu "raw" ustawionego na routerze po drodze prowadzi do łapania tych ogromnych niby-pakietów, przez co aplikacja widzi sfałszowane nagłówki TCP/IP. Jest to poniekąd pokłosie punktu pierwszego - router (ip_forward=1) nie tylko routuje, ale też segmentuje/desegmentuje wszystkie przechodzące przez niego pakiety zawierające segmenty TCP. Kupa niepotrzebnej roboty. Mateusz
Back to pl.comp.os.linux | Previous | Next — Previous in thread | Find similar
Pakiety IP z nadwagą Mateusz Viste <mateusz@xyz.invalid> - 2021-09-23 18:25 +0200
Re: Pakiety IP z nadwagą Mateusz Viste <mateusz@xyz.invalid> - 2021-09-23 22:50 +0200
Re: Pakiety IP z nadwagą marrgol <marrgol@address.invalid> - 2021-09-24 00:17 +0200
Re: Pakiety IP z nadwagą Mateusz Viste <mateusz@xyz.invalid> - 2021-09-24 08:50 +0200
Re: Pakiety IP z nadwagą marrgol <marrgol@address.invalid> - 2021-09-24 14:09 +0200
Re: Pakiety IP z nadwagą Mateusz Viste <mateusz@xyz.invalid> - 2021-09-24 15:23 +0200
csiph-web