Если все входящие подключения к вашему компьютеру заблокированы, то как вы все еще можете получать данные и/или иметь активное соединение? Сегодняшнее сообщение SuperUser Q & A содержит ответ на запутанный вопрос читателя.
Сегодняшняя сессия вопросов и ответов приходит к нам благодаря SuperUser – подразделению Stack Exchange, группы веб-сайтов вопросов и ответов, управляемой сообществом.
Снимок экрана предоставлен Linux Screenshots (Flickr).
Вопрос
Читатель SuperUser Кунал Чопра хочет знать, как его компьютер все еще может получать данные, если все входящие соединения были заблокированы:
Если ваш интернет-провайдер или брандмауэр блокирует все входящие соединения, как веб-серверы могут отправлять данные в ваш браузер? Вы отправляете запрос (исходящий), а сервер отправляет данные (входящий). Если вы заблокируете все входящие соединения, как веб-сервер может ответить?
Как насчет потокового видео и многопользовательских игр, в которых используется UDP? UDP не имеет соединения, поэтому не нужно устанавливать соединение, так как брандмауэр или провайдер справляется с этим?
Как данные все еще могут попасть на компьютер Кунала, если все входящие соединения были заблокированы?
Ответ
Участник SuperUser gowenfawr имеет ответ для нас:
«Входящий блок» означает, что входящие новые соединения блокируются, но установленный трафик разрешен. Так что если разрешены новые исходящие соединения, то входящая половина этого обмена в порядке.
Брандмауэр управляет этим, отслеживая состояние соединений (такой брандмауэр часто называют Stateful Firewall ). Он видит исходящий TCP/SYN и разрешает его. Он видит входящий SYN/ACK, проверяет, совпадает ли он с исходящим SYN, который он видел, пропускает и так далее. Если он разрешает трехстороннее рукопожатие (т.е. это разрешено правилами брандмауэра), он разрешает этот обмен. И когда он видит конец этого обмена (FIN или RST), он удалит это соединение из списка разрешенных пакетов.
UDP выполняется аналогичным образом, хотя он включает в себя брандмауэр, запоминающий достаточно, чтобы притвориться, что UDP имеет соединение или сеанс (чего нет у UDP).
Есть что добавить к объяснению? Отключить звук в комментариях. Хотите узнать больше ответов от других опытных пользователей Stack Exchange? Ознакомьтесь с полной веткой обсуждения здесь.