TCP полуоткрытый

редактировать

Термин полуоткрытый относится к TCP соединения, состояние которых не синхронизировано между двумя взаимодействующими хостами, возможно, из-за сбоя на одной стороне. Соединение, которое находится в процессе установления, также известно как эмбриональное соединение . Отсутствие синхронизации может быть связано с злым умыслом.

Содержание
  • 1 RFC 793
  • 2 Эмбриональное соединение
  • 3 См. Также
  • 4 Внешние ссылки
RFC 793

Согласно RFC 793, TCP-соединение называется полуоткрытым, когда хост на одном конце этого TCP-соединения вышел из строя или иным образом удалил сокет без уведомления другого конца. Если оставшийся конец неактивен, соединение может оставаться в полуоткрытом состоянии неограниченное время.

Эмбриональное соединение

Однако в настоящее время термин полуоткрытое соединение чаще всего используется для описания зародышевого соединения, то есть TCP соединения. который находится в процессе создания.

TCP имеет трехуровневую систему для открытия соединения. Сначала исходящая конечная точка (A) отправляет SYN-пакет в пункт назначения (B). A сейчас находится в зачаточном состоянии (в частности, SYN_SENT) и ожидает ответа. Теперь B обновляет информацию о своем ядре, чтобы указать входящее соединение от A, и отправляет запрос на открытие канала обратно (пакет SYN / ACK ).

В этот момент B также находится в эмбриональном состоянии (в частности, SYN_RCVD). Обратите внимание, что B был переведен в это состояние другой машиной, не контролируемой B.

При нормальных обстоятельствах (см. атака отказа в обслуживании для случаев преднамеренного отказа), A получит SYN / ACK от B, обновит свои таблицы (которые теперь содержат достаточно информации для A как для отправки, так и для приема) и отправить последний ACK обратно в B.

Как только B получит этот последний ACK, он также будет иметь достаточно информации для двусторонней связи, и соединение полностью открыто. Обе конечные точки теперь находятся в установленном состоянии.

См. Также
Внешние ссылки

.

Последняя правка сделана 2021-06-09 05:40:54
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте