1

TCP заботится, изменяется ли порт на SYN/ACK, который возвращается по сравнению с запрашиваемым портом назначения?

IE Если у меня есть порт, перенаправляющий 80 в 8080, и клиент отправляет SYN на 80 и получает SYN/ACK от сервера:8080 отбросит этот пакет?

2 ответа2

1

Ответ - да. Если ответ SYN/ACK на пакет SYN на порт 80 возвращается с порта 8080 (а не с ожидаемого порта 80), то TCP отбросит ответный пакет. Причина в том, что если исходный порт в SYN/ACK не совпадает с исходным портом назначения SYN, то с точки зрения TCP входящий пакет SYN/ACK не связан с исходным отправленным пакетом SYN.

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

0

Это правило переадресации портов автоматически изменит отвечающий исходный порт на порт 80. Клиент никогда не узнает, что порт 8080 существует.

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