Выглядит это довольно просто - просто отправьте пакет в другой порт. Я задаюсь вопросом, возможно ли построить это на каком-то обычном ARM SOC. Не нужно заботиться о скорости или продвинутой функции.
networking
switch
fkpwolf
источник
источник
Ответы:
Боюсь, это не так просто. Во-первых, вам необходимо полностью реализовать 802,3 до желаемого уровня, для работы с другим сетевым оборудованием, даже с сетевыми рабочими станциями Если вы используете существующий сетевой стек ОС, вам не нужно реализовывать его самостоятельно. возможно что-то подобное будет работать http://www.pica8.com/open-switching/open-switching-overview.php
Что еще более важно, коммерческие коммутаторы работают аппаратно с использованием Специализированные интегральные схемы которые обрабатывают данные с гораздо более высокими скоростями, чем может поддерживать программное обеспечение, и расположены для нескольких потоков параллельно, чтобы уменьшить общую нагрузку на коммутатор Обязательна объединительная плата высокой емкости и соответствующие буферы ввода-вывода.
Эта работа потребует некоторой аппаратной инженерии как минимум, и если вы действительно не хотите тратить на нее много времени, результат не стоит использовать. если вы просто хотите посмотреть, сможете ли вы, во что бы то ни стало, попробуйте и дайте нам знать, как это работает.
источник