Що таке вузьке місце IPsec у Linux?


19

Я намагаюся порівняти продуктивність декількох протоколів мережевої безпеки між двома хостами, підключеними в Gigabit Ethernet.

Моя мета тут - побачити, чи можу я наситити пропускну здатність, а якщо ні, то який обмежуючий фактор.

  • за допомогою SSL я можу досягти 981 Мбіт / с, тому посилання Ethernet очевидно є обмежуючим фактором;
  • із SSH я можу досягти всього 750 Мбіт / с, але одне з моїх ядер використовується на 100%. Оскільки SSH є однопоточним, CPU є обмежуючим фактором;
  • з IPsec я прочитав близько 500 Мбіт / с, але жодне з моїх ядер не на 100% (вони менше 50%).

Отже, моє питання: чому IPsec не може досягти більшої пропускної здатності?

Два хости працюють за допомогою Debian Wheezy та Strongswan для IPsec.


3
Вам потрібно буде забезпечити, щоб ваш процесор мав aesінструкцію про кращу розшифровку пакетів на обох сайтах intel.co.jp/content/dam/www/public/us/en/documents/white-papers/… , і будьте впевнені, що ви є зробити ipsec паралельним та використовувати Tunnel Mode + ESP - strongswan.org/docs/Steffen_Klassert_Parallelizing_IPsec.pdf . Це найкращий спосіб досягти продуктивності за допомогою цього протоколу.

На жаль, у мене є i3-процесори без підтримки AES-NI, і я працюю в тунельному режимі між двома хостами. Я розумію, як обидва ваші поради збільшуватимуть пропускну здатність у випадку, коли один процесор використовував 100% використання. Використання AES-NI дозволило б обробити більше пакетів і збільшило BW. Але тут процесор, здається, не є обмежуючим фактором.
user50228

3
Хм, це цікаво. Я б підозрював, що щось в ядрі сповільнює ситуацію. Ви б не хотіли поділитися своєю конфігурацією ipsec? Я хотів би встановити VM і подивитися, які результати я отримаю при різних налаштуваннях.
Lmwangi

Відповіді:


1

Є так багато факторів, які впадають у це. NIC вражає більше частин плати, ніж ви можете собі уявити. Будь-який набір, якщо вказівки можуть потрапити на дріт і потрапити на частину водійської системи та розгорнути її вниз. Ви можете взяти одноядерний одноядерний 1200 МГц і відточити обладнання, щоб підірвати двері і чотирьохядерний 3600 МГц. Це справді питання, яке стосується обладнання.

Як вони це роблять? з чимось подібним http://www.ixiacom.com/products/ixn2x Це пристрій у розмірі $ 165 тис. "Я зламаю тебе". тобто 2 концерти помилкового трафіку в трубу 1gig. Як тільки ви почнете бити систему і ламати речі, шийка пляшки "розкриє себе". Надайте свої навички GDB!

Кожна система має різний метод вирішення проблеми. Деякі дошки мають обмеження в технології, які можуть вас обмежити.

Відповідь неоднозначна, оскільки рішення неоднозначне. Я можу придумати 20 різних можливостей у верхній частині голови, включаючи пейджинг, який може змінюватись від версії ОС до версії.


0

Мені цікаво, чи це тому, що в крипту були вставлені штучні очікування чи сон. Це не дуже вірогідно іммо, але ...

http://www.tau.ac.il/~tromer/acoustic/

Не вдалося опублікувати це як коментар, було б краще підходити таким чином.


0

Можливо, у будь-який конкретний час насичено лише одне з двох ядер, але в середньому виглядає так, що вони обидва приблизно на 50% (оскільки ядро ​​випадково призначає однопотоковий процес IPsec обом ядрам; однак наскільки я помітили, що Linux (на відміну від Windows), як правило, намагається зберегти нитку на одній ядрі).

У деяких коротких періодах IPSec може також чекати мережі, що в поєднанні з повільною швидкістю передачі буде ознакою поганої буферизації.

Також стиснення (якщо є) та накладні витрати протоколу можуть вплинути на ваші тести.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.