Dlaczego flaga „nie fragmentuj” jest ustawiona w protokołach https i ssh?

Odpowiedzi:

13

Flaga DF instruuje routery, które normalnie fragmentują pakiet ze względu na to, że jest on zbyt duży dla MTU łącza (i potencjalnie dostarcza go poza kolejnością z powodu tej fragmentacji), aby zamiast tego upuścił pakiet i zwrócił pakiet wymagający fragmentacji ICMP, umożliwiając wysyłanie host, aby uwzględnić niższą MTU na ścieżce do hosta docelowego. Ten proces nazywa się „ wykrywaniem ścieżki MTU ”.

Zasadniczo lepiej pozostawić PMTUD w spokoju i pozwolić mu działać, w przeciwieństwie do sytuacji, w której stos TCP radzi sobie z fragmentami poza kolejnością. Jednak w niektórych przypadkach (głównie gdy niezbędny ICMP jest zablokowany) PMTUD nie działa, a połączenie zostaje zerwane.

Wtedy będziesz chciał, aby flaga DF była rozbrojona - gdy PMTUD nie działa poprawnie i wynikają problemy z połączeniem.

Shane Madden
źródło
1
Czy istnieje powód szyfrowania ruchu, tj. Nie należy fragmentować ruchu ssh i https?
Aiden Thompson
1
@AidenThompson Ogólnie rzecz biorąc, pozwolenie PMTUD na zrobienie czegoś zamiast pozwolić na fragmentację jest lepsze dla wydajności wszystkich połączeń TCP, w tym SSH i HTTPS.
Shane Madden
2
(Tj. Nie ma to nic wspólnego z szyfrowaniem, a wszystko z TCP).
Jest to jedna z tych rzeczy, na których świat serwerów i sieci nigdy się nie zgodzi.
Smithers