Почему флаг «не фрагментировать» установлен в протоколах 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.)
Это одна из тех вещей, с которыми серверные и сетевые миры никогда не согласятся.
Смитерс