Приветсвую!
Нужен высокопроизвоительный гигабит интерфейс (точнее 2), способный принимать/передавать 1Mpps (1 миллион пакетов в секунду) full duplex и не умират при этом от прерываний, а за одно не убивать процессор :crying: . Физика не имеет значения, но в идеале была бы совмещенной медь/sfp.
Хочется сделать высокопроизводительный анализатор/генератор трафика с возможностью этого самого трафика изменять на лету (например изменять поля с приоритетами, менять MAC, или работать в качестве транслятора адресов,т.е. изменять входящий адрес адрес при прохождении пакета через устройства на другой и обратно NAT). Обычные писюки умирают от прерываний при таком большой количестве пакетов и в итоге большенство теряется. Флюков на каждый узел тоже не напасешься, да и удаленно они не рулятся. Грубо говоря в итоге хочется получить маршрутизатор с сильно заточенными/обрезанными функциями.
Исходя из того что это будет недо маршрутизатор пытаюсь выбрать архитектура для него. Если класическую схему при которой прерываниями контроллера и обработкой принятых пакетов занимается один и тотже процессор, то скорее всего получу такие же проблемы как с PC. Исходя из этого думаю разделить функции приема/передачи, обработки пакетов и управления устройсва разными процессорами. Один из вариантов сделать специализированную плату под эту задачу для высокоскоростной шины например PCI Express, которую воткнуть в PC для управления ею. Плата на борту будет иметь свой гигабитный интерфейс PHY+MAC, процессор для обработки и большая быстрая память. А с помощью PC будет осуществляться инициализация и конфигурирование, снятие статистики для анализа и подготовка правил для изменения или генерации пакетов.
Меня интересуют в первую очередь существующие PHY+MAC которые без проблем переварят поток до 1Mpps full duplex. Микропроцессоры заточенные под такого рода задачи. Возможно есть готовые IP процессоры? Тестовые платы на которых можно собрать нечто подобное без больших затрат на самостоятельную разработку. Методы высокоскоростной обработки большого потока информации. Архитектуры такого рода устройств. Ключевые слова для грамотного поиска по данной теме (искал, но так и ненашел ничего похожего, либо 100Мбит/с интерфейс со всеми вытекающими ограничениями либо все наглухо закрыто без публичной информации :twak: ). А так же ссылки на тематические форумы и сайты. Возможно есть похожий open source проект? С удовольствием бы к нему присоединился.
Вобщем сильно буду рад любого рода информации и мнений по этому вопросу. :beer: