@kely_111

Обмен данными поверх ethernet(mac2mac), как реализовать?

Всем доброго дня. Имеется задание по написанию программы передачи данных между двумя хостами, используя протокол передачи ethernet. Суть вопроса в том, каким образом происходит работа с канальным уровнем в языке, в моем случае C, и какие вообще есть API для этих целей. Долгое время не могу найти ничего на эту тему в интернете(и на русском и на англ), поэтому задаю вопрос сюдэмана. Заранее всем спасибо.
  • Вопрос задан
  • 289 просмотров
Решения вопроса 1
hint000
@hint000
у админа три руки
Прямо из репозитория самого автора Linux:
https://github.com/torvalds/linux/blob/master/net/...
Кстати, там в комментариях дата, этому коду 29 лет, а он до сих пор актуален.
Ещё для примера можно это глянуть:
https://github.com/iputils/iputils/blob/master/arping.c

и какие вообще есть API для этих целей
Вероятно, никаких.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
CityCat4
@CityCat4 Куратор тега C
//COPY01 EXEC PGM=IEBGENER
API? На C? На уровне пакетов ethernet? Ну, какие-то либы наверняка найдутся, позволяющие формировать пакеты, но я бы на месте твоего препода добавил условие "и без использования библиотек".
Берется RFC, читается, формируется пакет вручную и вручную же отправляется в сетевой стек на нужном уровне.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы