TCP Fast Open - TCP Fast Open

В компьютерная сеть, TCP Fast Open (TFO) - расширение для ускорения открытия следующих друг за другом Протокол управления передачей (TCP) соединения между двумя конечными точками. Он работает с использованием TFO cookie (вариант TCP), который является криптографический cookie хранится на клиенте и устанавливается при первоначальном соединении с сервером.[1] Когда клиент позже повторно подключается, он отправляет начальный SYN-пакет вместе с данными cookie TFO для аутентификации. В случае успеха сервер может начать отправку данных клиенту еще до приема последнего пакета ACK. трехстороннее рукопожатие, таким образом пропуская задержку приема-передачи и снижая задержка в начале передачи данных.

Файл cookie создается путем применения блочный шифр с ключом, который хранится в секрете сервером от клиентского айпи адрес, генерирующий тег аутентификации, который третьим сторонам сложно подделать, даже если они могут подделать исходный IP-адрес или установить двусторонние соединения с одним и тем же сервером с других IP-адресов. Хотя TFO использует криптографические методы для создания файла cookie, он не предназначен для обеспечения большей безопасности, чем заменяемое им трехстороннее рукопожатие, и не обеспечивает какой-либо криптографической защиты результирующего TCP-соединения и не обеспечивает удостоверение личности для любой конечной точки. Он также не предназначен для устойчивости к Атаки посредника. Если требуется такое сопротивление, его можно использовать в сочетании с криптографическим протоколом, таким как TLS или же IPsec.

История

Предложение TFO было первоначально представлено в 2011 году.[2]и был опубликован как экспериментальный RFC 7413 в декабре 2014 г.[3] TCP Fast Open разделяет цель обхода трехстороннего рукопожатия TCP с более ранним предложением от 1994 года, называемым T / TCP (RFC 1644 ). В отличие от TCP Fast Open, T / TCP не уделяет внимания безопасности,[3] открывая путь уязвимостям и не набирая обороты.

Характеристики

Реализации TFO включают следующее:

Смотрите также

Рекомендации

  1. ^ Керриск, Майкл (2012-08-01). «TCP Fast Open: ускорение работы веб-служб». LWN.net.
  2. ^ Радхакришнан С., Ченг Й, Чу Дж, Джайн А., Рагхаван Б. (2011-12-06). «TCP Fast Open» (PDF). ACM CONEXT.
  3. ^ а б Ючунг Ченг; Джерри Чу; Шивасанкар Радхакришнан и Арвинд Джайн (декабрь 2014 г.). «TCP Fast Open». IETF. Получено 10 января 2015.
  4. ^ Керриск, Майкл (2012-08-01). «TCP Fast Open: ускорение работы веб-служб». LWN.net. Поддержка на стороне клиента была объединена для Linux 3.6.
  5. ^ Воан-Николс, Стивен Дж (2012-12-11). «Linux 3.7 приходит, разработчики ARM радуются». Linux и открытый исходный код. ZDNet. Linux 3.7. TCP Fast Open теперь будет поддерживаться на серверах
  6. ^ «Ядро Linux 3.13, раздел 1.10. TCP Fast Open включен по умолчанию». kernelnewbies.org. 19 января 2014 г.. Получено 11 февраля 2014.
  7. ^ «Ядро Linux 3.16, раздел 1.4. Режим TCP Fast Open server с поддержкой IPv6». kernelnewbies.org. 3 августа 2014 г.. Получено 14 сентября 2014.
  8. ^ «Внедрение серверного TCP Fast Open (TFO) [RFC7413]: MFC в стабильную ветку / 10». 2015-12-28.
  9. ^ «Это реализация клиентской части TCP Fast Open (TFO) [RFC7413]». 2018-02-26.
  10. ^ "Включить TCP_FASTOPEN по умолчанию для FreeBSD 12". 2018-06-24.
  11. ^ «1188435 - Поддержка TCP Fast Open». 2017-05-05.
  12. ^ «1398201 - Отключить TCP Fast Open для 57». 2017-09-10.
  13. ^ "Exim 4.88 выпущен". 2016-12-25.
  14. ^ "Несвязанный 1.5.10". Получено 2017-12-05.
  15. ^ «Примечания к выпуску для BIND версии 9.11.0». 2016-10-05.
  16. ^ «Узел DNS 2.6.0». 2017-09-29.
  17. ^ «Ваше приложение и сети нового поколения». Apple Inc., 2015 г.
  18. ^ «Windows 10 build 14352 - Новые возможности веб-платформы». Microsoft. Получено 2016-05-27.
  19. ^ "Журналы изменений для 4.1.x". PowerDNS. 2017-12-04.
  20. ^ Келли, Саймон (2019-03-10). «Поддержка TCP fastopen для входящих и исходящих соединений».

внешняя ссылка

  • RFC 7413 Технические характеристики