5

когда TCP-клиент инициирует TCP-соединение с удаленным TCP-сервером, он объявляет свой MSS в опции TCP.

Я в недоумении, как TCP знает значение MSS пути. Это значение зависит от пути между клиентом и сервером, и, вообще говоря, определение MTU пути может использоваться для получения значения, но это произойдет до отправки пакета TCP SYN и вызовет некоторую задержку.

Итак, на практике, как TCP получает значения MSS для определенного пути?

1 ответ1

4

TCP должен сделать начальное предположение на MSS, который будет MTU локального интерфейса, через который собирается отправляться SYN, минус соответствующая константа для учета заголовка IP.

После этого он может узнать меньшее значение MSS одним из следующих способов:

  • Меньше MSS объявлено другим пэром
  • определение MTU пути (сообщения ICMP о слишком больших пакетах)

Как только он узнает такое уменьшенное значение, он может некоторое время кэшировать его и использовать в качестве начального MSS для будущих подключений к тому же удаленному адресу.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .