Может ли кто-нибудь порекомендовать хорошее программное обеспечение IPSec, которое может использовать несколько ядер ЦП для достижения производительности ~ 2 Гбит / с на Двухъядерный четырехъядерный процессор Linux E5620 Xeon настройка (всего 16HT ядер)?
Я пробовал OpenSwan и StrongSwan. Стек OpenSwan KLIPS работает только на одном ядре ЦП. И крипторазгрузка KLIPS + OCF также кажется очень плохо реализованной, потому что она потребляет все 16 ядер ЦП на 70%, обеспечивая только ~ 600 Мбит / с. И как побочный продукт, он также переупорядочивает пакеты TCP.
Пока с OpenVPN который использует другой протокол, мы смогли без проблем достичь ~ 2 Гбит / с на том же оборудовании с балансировкой нагрузки. Только 4 ядра из 16 были загружены на 100%. Пришло время сделать то же самое с Ipsec. Желательно, чтобы это было решение IPsec с открытым исходным кодом.
Обновить:
Мои последние результаты показывают, что стек IPsec NETKEY может без проблем обрабатывать два гигабайта трафика (но только на сетевых адаптерах с несколькими очередями). Я не смог убедиться в этом наверняка, потому что похоже, что NAPI переключает драйверы сетевых адаптеров в режим опроса при высокой нагрузке, и тогда вся производительность падает с 1,7 Гбит / с до 500 Мбит / с. Также кажется, что ubuntu 10.04 не учитывает время для некоторых потоков ядра, и из-за этого я не вижу, как рабочая нагрузка распределяется по всем ядрам процессора.
hifn
аппаратное обеспечение на основе криптоускорителя уже используется в BSD; Google также показывает драйверы для Linux. В Экспресс DX 1845 card может похвастаться пропускной способностью 25 Гбит / с в своей брошюре, но YMMV, и, очевидно, я бы сначала хотел поговорить с инженером по продукту / продажам, чтобы узнать, подойдет ли он для ваших целей.