3

Мне любопытно: насколько велика нагрузка на SSH по сравнению с telnet?

Очевидно, здесь есть разные части:

  1. Первоначальные затраты времени на соединение из-за дополнительных циклов обмена данными для шифрования
  2. Есть ли пропускная способность?
    • Есть ли издержки в каждом передаваемом пакете
    • или у нас есть только некоторые отступы в конце?
  3. Загрузка ЦП на стороне клиента
  4. Загрузка ЦП на стороне сервера
    • Насколько он большой?
    • Как насчет более новых процессоров, которые имеют модули AES?
    • А как насчет серверов с десятками или сотнями соединений SSH?
    • является ли нагрузка на ЦП для каждого клиента и серверов симметричной?
  5. Есть ли накладные расходы памяти?
  6. Я что-то забыл?

Это больше теоретический вопрос. Я полностью осознаю, что практически нет разницы в типичных сценариях, когда сервер поддерживает только несколько соединений ssh.

1 ответ1

4

Я дам вам быстрый ответ, так как длинное объяснение легко заполнило бы 90-минутную лекцию или буксировку. Это немного больше, чем оценки, поскольку они очень сильно зависят от нагрузки на систему, типа соединений, которые вы устанавливаете на сервере, и, конечно, используемого оборудования.

  1. И да и нет. После 1 ГБ данных или 1 часа времени соединения происходит повторный ввод. Также может зависеть, используются ли ключи для аутентификации. Диффи-Хеллман, как правило, дороже, чем обмен ключами RSA, но так как это происходит только один раз (иш), не имеет большого значения.
  2. Да, это накладные расходы: вы должны добавить случайное заполнение как минимум 4 байта (SSH2), и каждый пакет данных получает HMAC своего рода. В зависимости от того, что используется. Я не знаю, сколько именно, но это меньше при макс. 33 байтах (Full sha2 lengt). Макс. Полезная нагрузка составляет 35000 - заполнение 4 байта. Вы получаете около 37/34996 = 0,001% накладных расходов или меньше.
  3. Загрузка процессора минимальна. Это было одной из целей стандарта AES.
  4. Тоже самое. Это примерно симметрично, поскольку криптографические операции симметричны (аналогично умножению и делению симметричны), конечно, для этого необходимо знать ключи. Сколько соединений может обработать сервер? Зависит от связей. Если у вас простые терминальные сессии: много. Если кто-то использует для вас соединение 1 Гбит и копирует 10 ГБ данных через scp: используя стандартный Intel i7, вероятно, по два или три одновременно. Вполне вероятно, что ваша сетевая карта или шейка для бутылочек в первую очередь
  5. Точно сказать не могу. Возможно, немного. Я бы сказал, что не более чем вдвое больше памяти, чем при обычной сессии telnet.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .