Если вы заблокируете все входящие соединения, как вы сможете пользоваться Интернетом?

Если вы заблокируете все входящие соединения, как вы сможете пользоваться Интернетом?

Если ваш интернет-провайдер или брандмауэр блокирует все входящие соединения, как веб-серверы могут по-прежнему отправлять вам данные на ваш браузер? Вы отправляете запрос (исходящий), а сервер отправляет данные (входящие). Если вы блокируете все входящие, как веб-сервер может ответить?

А как насчет потокового видео и многопользовательских игр, где используется UDP? UDP не требует установления соединения, поэтому соединение не устанавливается, так как же с этим справится брандмауэр или интернет-провайдер?

решение1

«Входящий блок» означает, что входящийновые связизаблокированы, ноучредилТрафик разрешен. Так что если исходящийновые связиразрешены, то входящая часть этого разговора допустима.

Брандмауэр управляет этим, отслеживая состояние соединений (такой брандмауэр часто называют «брандмауэром с отслеживанием состояния»). Он видит исходящий TCP SYN и разрешает его. Он видит входящий SYN/ACK и может проверить, соответствует ли он исходящему SYN, который он видел, и пропускает его и т. д. Если он разрешает трехстороннее рукопожатие (например, это разрешено правилами брандмауэра), он разрешит этот разговор. И когда он увидит конец этого разговора (FIN или RST), он исключит это соединение из списка пакетов, которые можно разрешить.

UDP работает аналогичным образом, хотя при этом брандмауэр запоминает достаточно информации, чтобы сделать вид, что у UDP есть соединение или сеанс (чего у UDP нет).

решение2

@gowenfawr выложил общую картину. Однако я подумал, что стоит добавить некоторые подробности о том, как выполняется «сопоставление» для отслеживания соединения, так как для непосвященных это может показаться магией.

Каждое TCP-соединение имеет номер порта с каждой стороны. Как известно большинству технарей, HTTP-серверы работают на порту 80. Когда ваш браузер подключается к веб-серверу, он просит операционную систему сгенерировать «локальный» номер порта, который будет чем-то случайным, например 29672, который не используется никаким другим TCP-соединением с этого компьютера (и ОС может это сделать, потому что она знает обо всех активных TCP-соединениях). Затем начальный пакет настройки TCP будет отправлен с IP-адреса вашего компьютера (IP_YOURS) и номера порта 29672 на IP-адрес веб-сервера (IP_WEBSERVER) и номер порта 80. В этот момент брандмауэр с отслеживанием состояния скажет: «Ага, будущие пакеты с порта 80 IP_WEBSERVER, идущие на порт 29672 IP_YOURS, не являются новыми соединениями, они являются ответами на существующее соединение и должны быть разрешены». Межсетевые экраны с отслеживанием состояния ведут таблицу, и все данные в этой таблице со временем удаляются, если в течение длительного времени не наблюдается никаких пакетов, идущих в каком-либо направлении.

решение3

Я полагаю, что брандмауэр просто блокирует несанкционированное входящее соединение. Когда вы отправляете запрос в DNS, DNS отвечает, что это не несанкционированное входящее соединение.

решение4

Я не запускаю сервер, я обращаюсь к определенным серверам. Я хочу, чтобы соединения были более безопасными. Моя идея — всегда вызывать сервер через тот порт, который вам дали. Никогда не позволяйте серверу вызывать вас

Связанный контент