Компьютерные сети «под капотом»: детальный разбор по уровням OSI и TCP/IP

На собеседованиях часто задают знаменитый вопрос, узнаваемость которому по большей части дал facebook*: «Что происходит после того, как вы вводите URL сайта в адресную строку браузера и нажимаете Enter?» . Несмотря на кажущуюся простоту, этот вопрос покрывает широкий спектр тем – DNS, TCP/IP, HTTP, и даже работу браузера. Разработчики разных уровней иногда теряются в деталях ответа. Понимание этого процесса важно для инженеров – оно показывает, как взаимодействуют между собой различные сетевые протоколы и уровни. Ниже мы шаг за шагом рассмотрим, как данные проходят через каждый слой сетевого стека, и проиллюстрируем это примерами.

https://habr.com/ru/articles/906802/

#http #tcp #udp #osi #ip #программирование #сокеты #сети_и_протоколы #сети_администрирование #сети

Компьютерные сети «под капотом»: детальный разбор по уровням OSI и TCP/IP

На собеседованиях по часто задают знаменитый вопрос, узнаваемость которому по большей части дал facebook*:  «Что происходит после того, как вы вводите URL сайта в адресную строку браузера и...

Хабр

[Перевод] Пишем стек TCP/IP с нуля: поток данных TCP, Socket API, повторная передача

Первая часть: Ethernet, ARP, IPv4 и ICMPv4 Вторая часть: основы TCP и Handshake В прошлом посте мы узнали о заголовках TCP и о том, как устанавливается соединение между двумя сторонами. В этом посте мы изучим передачу данных по TCP и способ управления ею. Также мы создадим интерфейс сетевого стека, который приложения смогут использовать для передачи данных по сети. Потом этот Socket API мы применим, чтобы наш пример приложения смог отправить простой HTTP-запрос веб-сайту.

https://habr.com/ru/articles/891702/

#tcp #сетевые_протоколы #передача_данных #сетевой_стек #сокеты

Пишем стек TCP/IP с нуля: поток данных TCP, Socket API, повторная передача

Первая часть: Ethernet, ARP, IPv4 и ICMPv4 Вторая часть: основы TCP и Handshake В прошлом посте мы узнали о заголовках TCP и о том, как устанавливается соединение между двумя сторонами. В этом посте...

Хабр

[Перевод] Пишем стек TCP/IP с нуля: основы TCP и Handshake

Первая часть: Ethernet, ARP, IPv4 и ICMPv4 Пока наш стек TCP/IP пользовательского пространства содержит минимальные реализации Ethernet и IPv4. Настало время заняться пугающим Transmission Control Protocol (TCP). TCP, работающий на четвёртом (транспортном) сетевом слое OSI1, отвечает за починку ошибочных подключений и сбоев в доставке пакетов. TCP — «рабочая лошадка» Интернета, обеспечивающая надёжную связь практически во всех компьютерных сетях. TCP — не особо новый протокол, первая его спецификация вышла в 1974 году2. С тех пор многое поменялось, TCP дополнился множеством расширений и исправлений3. В этом посте мы изучим базовую теорию TCP, а также рассмотрим заголовок TCP и поговорим об установке соединения (TCP handshaking). Под конец мы продемонстрируем первую функциональность TCP в нашем сетевом стеке.

https://habr.com/ru/articles/891682/

#tcp #handshake #tcp_window_size #tcpip #сетевой_стек #сокеты

Пишем стек TCP/IP с нуля: основы TCP и Handshake

Первая часть: Ethernet, ARP, IPv4 и ICMPv4 Пока наш стек TCP/IP пользовательского пространства содержит минимальные реализации Ethernet и IPv4. Настало время заняться пугающим Transmission Control...

Хабр

Как я запилил Branzy — легкий и быстрый таск-трекер на WebSocket

Привет, Хабр! Меня зовут Максим Пухальский, я главный по маркетингу и развитию экосистемы МТС. Особенность моей работы — большое количество задач, которые надо постоянно мониторить. Иногда нужно быстро найти и погрузиться в какую-то из них. Как инструмент мне всегда безумно нравился Trello. Еще до эпопеи с блокировками у него был только один недостаток: если в проекте более 500 задач, он умирает и грузится целую вечность. В Jira хорошее распределение ролей, но она отнимает много времени на ведение и не подходит для динамичных задач. Мириться с нехваткой важного рабочего инструмента было никак нельзя. Еще во времена, когда я курировал вовлечение клиентов в экосистему, я начал пилить Branzy — таск-трекер, где хотел реализовать все нужные мне функции. Получился шустрый инструмент для управления, выдерживающий проекты и в тысячу, и в десять тысяч задач. Плюс я могу добавлять в него именно те вещи, которые считаю важными и вижу в других приложениях. В Branzy я реализовал свой опыт управления тысячей сотрудников. Мне этот инструмент дает возможность верхнеуровневого планирования, понимания работы разных команд и погружения в конкретные задачи. Я открыл его облачную версию для всех желающих и в этом посте расскажу, какие принципы управления заложил и какие реализовал функции и возможности.

https://habr.com/ru/companies/ru_mts/articles/866922/

#тасктрекер #система_управления_задачами #Branzyclub #Сокеты #api #работа_в_команде

Как я запилил Branzy — легкий и быстрый таск-трекер на WebSocket

Привет, Хабр! Меня зовут Максим Пухальский, я главный по маркетингу и развитию экосистемы МТС. Особенность моей работы — большое количество задач, которые надо постоянно мониторить. Иногда нужно...

Хабр

[Перевод] Как Linux создаёт и подсчитывает сокеты

Подробно о том, что происходит под капотом в ядре Linux, когда вы выполняете очередной системный вызов при работе с сокетами.

https://habr.com/ru/companies/timeweb/articles/841462/

#timeweb_статьи_перевод #linux #сокеты #ядро #вебсервер #unix #сетевые_технологии #tcp #udp #цп

Как Linux создаёт и подсчитывает сокеты

Привет! Если у вас уже есть некоторый опыт работы с веб-серверами, то вам наверняка доводилось попадать в классическую ситуацию « адрес уже используется »‬ (EADDRINUSE). В этой статье будут подробно...

Хабр

Реверс алгоритма поиска устройств в сети

При создании оконного клиента под MS-Windows для удалённого взаимодействия с LED-матрицами стояла задача сделать автоматический поиск всех табло в сети. Моей первой идеей было перебирать все существующие IP-адреса конкретной подсети, по очереди посылая на них запросы и ожидая что одно или несколько устройств отправят соответствующий ответ. Я быстро отказался от этой задумки, ведь подобный брутфорс будет сильно нагружать сеть, да и сам алгоритм не самый быстрый. Других идей по реализации на тот момент у меня не было. Мне предоставили копию другого клиента, где поиск осуществляется моментально по нажатию одноимённой кнопки, а приложение в табличном виде выводит IP и MAC-адреса с рядом другой информации об обнаруженных матрицах, если таковые нашлись. Эти данные затем могут быть использованы для подключения, конфигурации и отправки команд на найденные устройства. Не имея исходного кода, я подготовил дизассемблеры, отладчики и hex-редакторы, готовясь к глубокому анализу и разбору проприетарного алгоритма поиска, чтобы реализовать что-то подобное уже в своей программе.

https://habr.com/ru/articles/830582/

#декомпиляция #дизассемблирование #обратная_разработка #winapi #сокеты #сетевое_программирование #низкоуровневое_программирование #ida_pro #x64dbg

Реверс алгоритма поиска устройств в сети

При создании оконного клиента под MS-Windows для удалённого взаимодействия с LED-матрицами стояла задача сделать автоматический поиск всех табло в сети. Моей первой идеей было перебирать все...

Хабр

Начинаем утреннюю зарядку для тех, кто смотрит нас вечером, или основы сбора логов в ОС Astra Linux Special Edition

Всем привет! Меня зовут Михаил, я разработчик в команде, которая создает ОС Astra Linux. Тема логирования в дистрибутивах Linux всегда живо обсуждается как среди наших клиентов и партнёров, так и внутри компании. Практика показывает, что начинающие разработчики и инженеры часто не видят цельную картину, по которым в нашей ОС проходят логи. Не всегда есть понимание, какой именно компонент формирует тот или иной лог, какие именно настройки относятся к тому или иному компоненту. Например, под термином «аудит» может пониматься как подсистема аудита Linux, так и другие компоненты ОС, участвующие в формировании и обработке логов. Описанные выше пробелы в знаниях сообщества побудили меня подумать над тем, как помочь коллегам сориентироваться в непростом хитросплетении путей, по которым запись лога проходит от исходной программы до конечного файла. Так мне пришла идея написать цикл статей, посвященный логированию в операционной системе Astra Linux Special Edition.

https://habr.com/ru/companies/astralinux/articles/821877/

#логирование #syslogng #служба_логирования #auditd #сокеты #утилиты #безопасность_системы #системный_вызов

Начинаем утреннюю зарядку для тех, кто смотрит нас вечером, или основы сбора логов в ОС Astra Linux Special Edition

Всем привет! Меня зовут Михаил, я разработчик в команде, которая занимается созданием ОС Astra Linux. Тема логирования в дистрибутивах Linux всегда живо обсуждается как среди наших клиентов и...

Хабр

Сокеты в C++ под Unix: простой сервер

Всем привет! Знание работы сокетов - одно из базовых знаний в программировании. В этом туториале я разберу, что такое TCP/IP, сокеты, и даже напишем свое серверное-клиентское приложение на C++

https://habr.com/ru/articles/776362/

#сеть #tcp/ip #сокеты #C++ #туториал #linux #unix #nix #сетевые_протоколы

Сокеты в C++ под Unix: простой сервер

В этом гайде мы займемся созданием простого сервера и клиента с нуля, на сокетах на языке программирования C++. Компьютерная сеть — это множество вычислительных устройств, взаимодействующих между...

Хабр