4

Я пытаюсь понять различия между пакетами TCP и UDP при проверке ошибок. Я знаю, что UDP-пакеты без установления соединения и не заботятся о том, чтобы пакет благополучно прибыл в пункт назначения. А TCP-пакет является противоположностью UDP.

Мой вопрос: если пакет отправляется в закрытый порт удаленного хоста, какое действие произойдет с пакетами UDP и TCP?

UDP пакет - ответ с ICMP (код-3)? Пакет TCP - ответ с пакетом RST?

1 ответ1

7

В соответствии с правилами RFC 793 Reset Generation:

As a general rule, reset (RST) must be sent whenever a segment arrives
which apparently is not intended for the current connection.  A reset
must not be sent if it is not clear that this is the case.

There are three groups of states:

 1.  If the connection does not exist (CLOSED) then a reset is sent
 in response to any incoming segment except another reset.  In
 particular, SYNs addressed to a non-existent connection are rejected
 by this means.

Поскольку порт закрыт (не прослушивает и не осуществляет связь), соединения отсутствуют, и поэтому TCP должен отвечать пакетом RST.

RFC 768 для UDP не определяет никаких действий для закрытого порта, но ICMP RFC 792 определяет сообщение Тип 3 Код 3, пункт назначения недоступен: порт назначения недоступен, который может быть отправлен.

Однако порты фактически делают это только в том случае, если они не отфильтрованы. Отфильтрованные соединения не отвечают вообще и просто отбрасывают пакет. Фильтрация обычно выполняется любым брандмауэром, достойным этого названия, поскольку он усложняет работу злоумышленников, предоставляя меньше информации.

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