Почему флаг «не фрагментировать» установлен в протоколах https и ssh?


Ответы:


13

Флаг DF указывает маршрутизаторам, которые обычно должны фрагментировать пакет из-за его слишком большого размера для MTU канала (и, возможно, доставить его из строя из-за этой фрагментации), вместо этого отбросить пакет и вернуть пакет ICMP Fragmentation Needed, что позволяет отправлять хост для учета нижнего MTU на пути к хосту назначения. Этот процесс называется « Path MTU discovery ».

Как правило, лучше оставить PMTUD в покое и позволить ему выполнять свою работу, в отличие от того, чтобы ваш стек TCP работал с неупорядоченными фрагментами. Однако в некоторых случаях (в основном, когда необходимый ICMP заблокирован) PMTUD не работает, и соединение разрывается.

Именно тогда вы захотите, чтобы флаг DF был снят - когда PMTUD не может функционировать должным образом и возникают проблемы с подключением.


1
Есть ли причина, по которой зашифрован трафик, т.е. Трафик ssh и https не должен быть фрагментирован?
Эйден Томпсон


1
@AidenThompson В общем, позволить PMTUD делать свое дело вместо того, чтобы допустить фрагментацию, лучше для производительности всех соединений TCP, включая SSH и HTTPS.
Шейн Мэдден

2
(То есть это не имеет ничего общего с шифрованием, и все, что связано с TCP.)

Это одна из тех вещей, с которыми серверные и сетевые миры никогда не согласятся.
Смитерс
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.