Telegram Group & Telegram Channel
🧵 Пишем свой сетевой стек с нуля: Ethernet и ARP на C

Хочешь разобраться, как работает TCP/IP на самом низком уровне?
В этой статье показано, как реализовать Ethernet и ARP в пользовательском пространстве Linux — на чистом C.

🔌 Что используется:
- TAP-устройство для приёма и отправки "сырых" Ethernet-кадров
- Структуры с __attribute__((packed)) для точного соответствия форматам
- Чтение и парсинг ARP-пакетов вручную

📦 Что реализуется:
- Создание ARP-запросов и обработка ответов
- Простейший ARP-кэш
- Парсинг и генерация Ethernet-фреймов
- Весь ввод-вывод — в user space

🧠 Зачем это нужно?
- Понимание, как работают сетевые интерфейсы на уровне байтов
- Практика системного программирования на C
- Основа для написания своего сетевого стека: IPv4, ICMP, UDP, TCP

📚 Статья:
https://www.saminiir.com/lets-code-tcp-ip-stack-1-ethernet-arp/

💻 Исходники на GitHub:
https://github.com/saminiir/level-ip

#Linux #Networking #C #TCPIP #ARP #Ethernet #DevLowLevel #СистемноеПрограммирование



tg-me.com/cpluspluc/1077
Create:
Last Update:

🧵 Пишем свой сетевой стек с нуля: Ethernet и ARP на C

Хочешь разобраться, как работает TCP/IP на самом низком уровне?
В этой статье показано, как реализовать Ethernet и ARP в пользовательском пространстве Linux — на чистом C.

🔌 Что используется:
- TAP-устройство для приёма и отправки "сырых" Ethernet-кадров
- Структуры с __attribute__((packed)) для точного соответствия форматам
- Чтение и парсинг ARP-пакетов вручную

📦 Что реализуется:
- Создание ARP-запросов и обработка ответов
- Простейший ARP-кэш
- Парсинг и генерация Ethernet-фреймов
- Весь ввод-вывод — в user space

🧠 Зачем это нужно?
- Понимание, как работают сетевые интерфейсы на уровне байтов
- Практика системного программирования на C
- Основа для написания своего сетевого стека: IPv4, ICMP, UDP, TCP

📚 Статья:
https://www.saminiir.com/lets-code-tcp-ip-stack-1-ethernet-arp/

💻 Исходники на GitHub:
https://github.com/saminiir/level-ip

#Linux #Networking #C #TCPIP #ARP #Ethernet #DevLowLevel #СистемноеПрограммирование

BY C++ Academy




Share with your friend now:
tg-me.com/cpluspluc/1077

View MORE
Open in Telegram


telegram Telegram | DID YOU KNOW?

Date: |

Mr. Durov launched Telegram in late 2013 with his brother, Nikolai, just months before he was pushed out of VK, the Russian social-media platform he founded. Mr. Durov pitched his new app—funded with the proceeds from the VK sale—less as a business than as a way for people to send messages while avoiding government surveillance and censorship.

A project of our size needs at least a few hundred million dollars per year to keep going,” Mr. Durov wrote in his public channel on Telegram late last year. “While doing that, we will remain independent and stay true to our values, redefining how a tech company should operate.

telegram from tw


Telegram C++ Academy
FROM USA