Интересный блог Виталия Пискарева

Что такое сетевой сокет?

Сетевой сокет — это конечная точка для обмена данными по сети. Представьте себе сокет как физический адрес: информация, проходящая через сеть компьютера, направляется в определенный сокет в самом компьютере.

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

Основное преимущество использования обработки сети RAW SOCKET заключается в том, что он отделяет посредника. В виду того что операционная система не регулирует данные специфически, она уменьшает накладные расходы на сети, сохраняя циклы центрального устройства обработки данных (CPU) и уменьшая усилие на оборудовании системы.

Сокет предоставляет экспресс-туннель между приложением и внешним источником. Ни операционная система, ни любая другая программа на компьютере не имеет возможности вмешиваться в необработанное соединение.

Необработанные сетевые интерфейсы сокета имеют обратную сторону. Хакеры обычно используют необработанные соединения сокетов для атаки протокола TCP в сети. Во время TCP-атаки хакер отправляет поддельный бит данных в сеть через необработанное соединение сокета. Эти поддельные данные содержат сигнал сброса для TCP-подключения, который, в свою очередь, прерывает и аварийно завершает работу текущих сетевых подключений на компьютере.

По этой причине, некоторые операционные системы уже отказались от поддержки сокетов. Это объясняется тем, что он может помочь обеспечить безопасность сети.

Компании-разработчики программного обеспечения могут ограничить возможность пользователей использовать необработанные сокеты, используя так называемое «исправление», постоянное обновление операционной системы.

Эти обновления не оказали существенного негативного влияния на работу пользователей, поскольку преимущества необработанных сокетов уменьшились по мере совершенствования технологии.

Для современных компьютеров объем дополнительной обработки, необходимой для обработки обычных соединений сокетов, в отличие от необработанных сокетов, настолько минимален, что в значительной степени не имеет значения.

С современными процессорами, входящими в двух-, четырех-и даже шестиядерных сортов, шансы регулярных сетевых соединений сокетов отставание компьютера ничтожно малы.

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