Обмен данными поверх ethernet(mac2mac), как реализовать?
Всем доброго дня. Имеется задание по написанию программы передачи данных между двумя хостами, используя протокол передачи ethernet. Суть вопроса в том, каким образом происходит работа с канальным уровнем в языке, в моем случае C, и какие вообще есть API для этих целей. Долгое время не могу найти ничего на эту тему в интернете(и на русском и на англ), поэтому задаю вопрос сюдэмана. Заранее всем спасибо.
Для работы на канальном уровне, обычно, нужно как-то вкорячиваться на уровень ядра.
Почему нельзя использовать какой-нибудь более-менее стандартный TCP?
функциональность для работы с ethernet кадрами "ужо есть" в ядре. и очень-на давно.
ни каких моднючих дополнительных апи не нужно :)
нужно изучить нужную функциональность ядра.
API? На C? На уровне пакетов ethernet? Ну, какие-то либы наверняка найдутся, позволяющие формировать пакеты, но я бы на месте твоего препода добавил условие "и без использования библиотек".
Берется RFC, читается, формируется пакет вручную и вручную же отправляется в сетевой стек на нужном уровне.