Высокопроизводительные SSH/SCP - HPN-SSH
Original on www.psc.edu
Часто задаваемые вопросы
А вы используете HPN-SSH? Пожалуйста, дайте нам знать
5.8p1 Patch вышел. Опять наблюдается задержка в выпуске этого набора патчей. Основная проблема заключается в том, что у нас больше нет средств для этого проекта. Это означает, что команда (состоящая из одного человека) должна сфокусироваться на других проектах. Мы не смогли найти добровольцев для разработки кода, что тоже немного затянуло выход этого релиза. Если у вас есть возможность предоставить гранты для подобной работы, я с радостью поговорю с вами на эту тему. Важно отметить что AES CTR протокол шифрования был найден в «кухонной раковине» и не установлен должным образом, и работает неправильно. Если вы используете AES CTR шифры и устанавливаете эти обновления - ваши приложения зависнут. Конечно, мы хотели бы, чтобы эта проблема была решена, но: А) человек, который работал с протоколом шифрования, больше не работает с PSC и B) мы не имеем больше выделенных средств для работы с HPN-SSH патчами. Таким образом, мы не сможем исправить это, если кто- нибудь из добровольцев не сделает этого( пишите нам на hpn-ssh@psc.edu) или мы не получим финансирование для этого проекта( опять же, пишите нам на hpn-ssh@psc.edu)
Абстрактно
SCP и основной протокол SSH2 реализован в OpenSSH зависит от производительности сети, ограничивая статически определенные внутренние буферы при управлении потоком. Эти буферы часто заканчиваются, действуя как бы «узким местом» при использовании SCP, особенно на длинных и высоких нагрузках на пропускную способность сети. Необходимо изменение SSH кода, чтобы буферы, которые будут определены во время выполнения, устраняли это узкое место. Мы создали патч, который удалит узкие места в OpenSSH и полностью совместим с другими серверами и клиентами. Кроме того, HPN клиенты будут в состоянии загрузить быстрее не являющихся серверами HPN, и HPN серверы будут иметь возможность получать добавления быстрее, не являющихся клиентами HPN. Тем не менее, хозяин получает данные, для чего должен быть правильно настроен TCP / IP стек. Пожалуйста, обратитесь к этой странице настройки для получения дополнительной информации .
Количество каких- либо конкретных улучшений. которые пользователь увидит, зависит от ряда вопросов. Скорость передачи не может превышать ни пропускную способность сети, ни пропускную способность подсистемы ввода / вывода, включая диск и память скорости. Улучшение также сильно влияет на мощность процессора для выполнения шифрования и дешифрования. Менее дорогие вычислительные шифры часто обеспечивают лучшую пропускную способность, чем более сложные шифры.
Производительность Gap
Несмотря на высокую пропускную способность соединения, существует разрыв в производительности между тем, что SSH способен, и то, что сетевое соединение обладает способностью делать. Разница между этими двумя числами - разрыв в производительности или недостаточность вашего сетевого подключения. Этот разрыв, в большинстве случаев, является непосредственной причиной низкорослых буферов приема в механизме управления перегрузкой SSH. Приведенный ниже график показывает оптимальную нагрузку приемного буфера против эффективного канала SSH приемного буфера для различного времени приема по пути 100Mbps

Разница между красной и синей линией, по сути, впустую пропускает потенциал вдоль пути.
Нормальная против HPN SCP Performance
Влияние повышения размера буфера SSH можно увидеть в следующей таблице. Стандартной пропускной SSH, в виде красной колонны, точно соответствует ожидаемой пропускной способности для этого пути, если приемный буфер был ограничен 64 КБ. При увеличении размера канал SSH буферов приема пропускной способности, представлены синие колонны, улучшение на целых 1000%. Изменение настоящее время происходит из-за сложности шифра и пределов емкости жесткого диска.

Очевидно, что HPN патчи значительно увеличивают пропускную способность. Это усовершенствование появляется полностью от настройки размера буфера SSH.
Патчи
Все патчи должны быть применены к OpenSSH исходные файлы с помощью "патча" утилиты из командной строки. Строительство SSH из источника на самом деле довольно простой и рекомендуемый метод. Некоторые бинарные пакеты будут доступны для удобства, но не будут официально поддерживаться.
Solaris для пользователей: Некоторые версии Solaris используют старую версию патча и изменения команд, которые несовместимы с этим патчем. Пожалуйста, убедитесь, что вы используете последнюю версию патча GNU .
HPN-13
Это седьмой пересмотр 13-й основной версии набора исправлений HPN. Набор HPN12 патч остается доступным здесь Существуют два основных различия между HPN12 и HPN13 наборами патчей. Наиболее значительными из них является включение в многопоточных AES-CTR (МТ-AES-CTR) режима шифрования. Документы и презентации об этой работе имеются.
Этот режим шифрования вводит много поточность в OpenSSH, с тем, чтобы в полной мере использовать ресурсы процессора, доступные на многоядерных системах. Канонически распределенный OpenSSH не может использовать более одного ядра. И высокая производительность переводов может быть узким местом по накладным расходам. HPN12 занимались этим путем введения без переключения шифра. Однако этот метод ограничен для тех пользователей, которые хотят, чтобы их данные были переданы без шифрования. Он также был, по определению, ограничен объемом передачи данных, что еще больше ограничивает его ценность для некоторых пользователей. MT-AES-CTR режим позволит пользователям, на многоядерных платформах, достичь пропускной способности, сопоставимой или равной переводу незашифрованных данных. В обоих, и в условиях лаборатории, и в реальном мире, тесты пропускной способности по полным ставкам, линии GigE, с полным шифрованием, обычно были видны.

Очевидно, что в МТ AES-CTR режиме шифр прорывается через узкое место одного ядра.
MT-AES-CTR производит шифрованный поток, который не отличается от распределенного однопоточного AES-CTR (ST-AES-CTR) режима шифра и, насколько нам известно, полностью совместимы со всеми другими AES-CTR реализациями режима. Другими словами, полностью обратно совместима и будет функционировать в гетерогенных соединениях без проблем. Тем не менее, важно отметить, МТ-AES-CTR накладывает дополнительную нагрузку и может наложить ограничения на производительность ядра отдельных машин. Кроме того, в МТ-AES-CTR режиме шифр заменяет по умолчанию ST-AES-CTR режим шифрования. Этот вопрос будет решен как можно скорее. Кроме того, это действительно темы POSIX, так что вы должны быть уверены, что они должным образом поддерживаются в целевой ОС.
Второе существенное отличие заключается в способе, в котором множество HPN патчей будут доступны. HPN13 будет предоставляться, как и «кухонная раковина» и распространение "а ля карт». Распределение «кухонная раковина» будет включать динамические патчи окна, переключение шифра, МТ-AES-CTR шифры в режиме отображения пика пропускной способности в ПКПП, и продлил регистрацию на стороне сервера. Распределение «а -ля карт» сделает каждый из них доступными в качестве отдельных патчей, которые можно использовать независимо друг от друга.
HPN-13 «Кухонная раковина»
Примечание: Этот патч был сжат. Вы должны распаковать его перед его применением.
HPN-13-а-ля карт
Это «порционные» патчи и некоторые номера версии могут привести к искажению время от времени. Например, если пик пропускной способности не должен быть обновлен для различных релизов OpenSSH и номер патча не будет обновляться. Не все патчи доступны, только все же, как переключение NONE шифр все еще нуждается в наборе исправлений HPN12.
Участок |
Описание |
Источник |
Окна динамические нешифрованные |
Это основной HPN-SSH набор патчей. Он обеспечивает динамическое окно в SSH и возможность переключения в сообщение аутентификации шифр NONE. На основе патча HPN12 V20. Этот патч сжат. |
|
Шифрованные протоколы в CTR режиме |
Этот патч добавляет потоки в режиме CTR блока для АЭС и других поддерживаемых шифров. Это может позволить SSH использовать несколько ядер / процессоров во время передачи и значительно увеличить пропускную способность. Этот патч следует считать экспериментальным в это время. |
|
Максимальная производительность |
Этот патч изменил индикатор для отображения 1 секунды средней пропускной способности. По окончании передачи он будет показывать пиковую пропускную способность в течение всего срока подключения. |
|
Сервер регистрации |
Этот патч добавляет дополнительную регистрацию для SSHD сервера, включая шифрование, используется удаленный адрес и порт, имя пользователя, удаленное информацию о версии, общий объем переданных байт, и средняя пропускная способность. Для того, чтобы использовать этот патч, Вы * должны * прямой Syslogd использовать дополнительный разъем . Этот сокет будет расположен в SSHD изолированной, как правило, / VAR / пуст. Также Вы должны будете создать: / VAR / пустой / разработчика и добавить '-/ VAR / пустой / Dev / Журнал' в ваш Syslogd конфигурации. Пример результата можно посмотреть здесь для 4.7p1 OpenSSH. |
|
Как применять патчи.
1. Получить OpenSSH исходным кодом от компании OpenSSH.org.
2. Распакуйте OpenSSH источник.
3. Перейдите в каталог OpenSSH
4. Если патч сжатый, типа 'zcat pathtopatch / патч | патча "
В противном случае "патч <pathtopatch / патч"
5. типа "настроить & & сделать '
6. типа "сделать установку"
Последние проблемы с buffer_append_space в HPN-SSH. Если у вас возникли проблемы с отключением из-за сбоя в buffer_append_space пожалуйста, сообщите нам. Мы в настоящее время отслеживает некоторые проблемы с этим, и мы пытаемся собрать больше информации, чтобы помочь решить ее. Вы можете попробовать использовать -oHPNBufferSize = 16384 и ограничить рост буфера. Дайте нам знать, если это помогает.
|