К соединениям через глобальные сети предъявляется одно общее требование: как и в случае с локальными сетями, пользователи хотят, чтобы при доступе к централизованным приложениям им обеспечивалась хорошая производительность и короткое время отклика. Перевод систем из внешних филиалов в единый ЦОД хоть и повышает эффективность ИТ и снижает затраты на предоставление приложений для удаленных пользователей, но консолидация настольных систем посредством централизованного хостинга виртуализированных десктопов (другие названия? Virtual Desktop Infrastructure, VDI, Hosted Virtual Desktops, HVD, или Server-Hosted Virtual Desktops, SHVD) может привести к проблемам, которые сведут на нет все эти преимущества. В их число входят чувствительность к сбоям в глобальной сети, зависимость от подключения к центральным системам, повышенная потребность в пропускной способности и более продолжительное время отклика из-за задержек. Вне зависимости от скорости соединения с глобальной сетью по мере увеличения расстояния пропускная способность снижается. Одним лишь расширением канала проблемы с производительностью не решить.

Оптимизация на уровне протокола передачи позволяет достичь значительных результатов. В качестве примера мы рассмотрим алгоритм доступа, предложенный компанией Citrix, поскольку этот производитель использует хорошо зарекомендовавший себя оптимизированный протокол удаленного доступа Independent Computing Architecture (ICA). Несколько месяцев назад при помощи так называемых технологий High-Definition User Experience (HDX) удалось расширить протокол ICA в плане возможностей применения централизованно хостируемых виртуализированных десктопов и приложений в системах Xendesktop и Xenapp, выпускаемых Citrix (см. Рисунок 1).

 

Рисунок 1. Citrix предлагает различные функции для оптимизации удаленного доступа к виртуальным десктопам через протокол HDX. Контроллер WOC Branch Repeater обеспечит кэширование данных для филиалов.

 

ВОПРОС ВЫБОРА ПРОТОКОЛА

Протокол ICA от Citrix представляет собой протокол удаленного доступа на базе TCP, использующий различные внутренние виртуальные каналы, в соответствие которым ставятся операции взаимодействия между сервером и конечной точкой, к примеру, обновления изображения на экране, мультимедийное содержимое (аудио- и видеоданные), а также другие типы коммуникации (потоки данных для вывода на печать и др.) и перенаправление трафика данных на порты USB. C помощью таких методов, как определение приоритета действий, протокол ICA улучшает и оптимизирует производительность хостируемых виртуальных десктопов и приложений. Для различных ситуаций в глобальной сети администратор может провести настройку функций постепенного отображения (Progressive Display), ускорения изображений (Image Acceleration) и супер-кэша (Super Cache) путем задания соответствующих директив. Эти механизмы хоть и способны привести к потере качества в результате компрессии данных, однако благодаря им ускоряется передача данных для отображения на экране.

Для определения пропускной способности и задержек в сеансе HDX служит так называемый монитор HDX. Этот инструмент предлагается по адресу http://hdx.citrix.com/hdxmonitor. Когда известны необходимые значения, можно задать оптимизированные параметры для соединения между клиентом и сервером. В Xendesktop базовый размер окна для передачи данных по локальной сети равен 64 Кбайт. В случае более продолжительных задержек, к примеру 100, 200 или 300 мс, администратор может высчитать и установить новые значения: оптимальное окно TCP в байтах = пропускная способность (в Кбит/с): 8 х задержка (в мс). В связи с этим может потребоваться и настройка числа буферов: количество буферов = окно TCP: максимальный размер сегмента TCP. Максимальный размер сегмента (Maximum Segment Size, MSS) представляет собой максимальный размер пакета, который может использоваться для HDX в качестве полезных данных TCP.

Поддержка видео в ICA/HDX имеет несколько подвидов: потоковая передача медийных данных (Media Streaming) для видеофайлов Windows Media Video стандартного и высокого разрешения, а также Flash-видео с рендерингом на стороне сервера и на стороне клиента. Xendesktop с поддержкой HDX преднастроен для мультимедийных файлов с частотой 24 кадра в секунду (Frames per Second, FPS). Кадры подвергаются рендерингу на виртуальном десктопе и передаются клиенту с помощью ThinWire. В зависимости от требований частоту кадров можно менять в Citrix Registry Hive [HKEY_LOCAL_MACHINE\Software\Citrix\Port ICA\Thinwire MaxFrames-PerSecond]. К примеру, при локальных соединениях задать частоту 30 кадров в секунду для видеофайлов высокого разрешения (High-Definition Windows Media Videos), а пользователям, подключенным через глобальную сеть, хватает и 15 FPS. Кроме того, функция Dynamic Frame Rate Capping поддерживает автоматическое снижение частоты смены кадров, если пропускной способности сети оказывается недостаточно. HDX Media Stream для файлов Windows Media и Flash определяет круговую задержку (Round-Trip Latency, RTL) для пользовательского сеанса, чтобы осуществить соответствующий рендеринг на стороне клиента или на стороне сервера. Стандартное значение круговой задержки для рендеринга на стороне клиента — 30 мс, при необходимости администратор изменяет его с помощью групповых директив. Таким образом, для рендеринга файлов Flash на стороне клиента клиентскому устройству требуется прямой сетевой доступ к содержимому Flash. Если таковой отсутствует или не разрешен директивами безопасности ИТ, клиент не сможет воспроизвести это содержимое.

Когда используется механизм Server-side Content Fetching, Xendesktop скачивает содержимое Flash на пользовательское устройство и воспроизводит его оттуда. Для этого рендеринг мультимедийного содержимого выполняется не на стороне сервера, а передается с помощью специально выделенного виртуального канала на конечное устройство. Обязательное условие? наличие соответствующего плеера или подключаемого модуля для Windows Media или Adobe Flash на этом конечном устройстве. Данный метод может применяться только на системах Windows.

Функция HDX Real Time позволяет улучшить коммуникацию в реальном времени с поддержкой аудио и видео при использовании программных IP-телефонов или голосовых чатов. Новые аудиокодеки снижают требования к пропускной способности сети, не оказывая при этом отрицательного влияния на качество связи. Настройки сжатия файлов в директивах Citrix тоже позволяют оптимизировать как потребность в ширине канала, так и качество передачи.

 

УСКОРЕНИЕ ГЛОБАЛЬНОЙ СЕТИ

В глобальной сетевой инфраструктуре предприятия приходится распределять доступную ширину канала между множеством служб и протоколов. Несмотря на использование для оптимизации трафика упомянутых функций ICA и HDX, возможно замедление работы, к примеру, при заданиях печати из центрального офиса или в процессе сохранения данных, для которого требуется передача больших объемов информации через глобальную сеть. Так называемые контроллеры оптимизации глобальной сети (WAN Optimization Controller, WOC) стараются обеспечить требуемую производительность с помощью различных технологий оптимизации, позволяющих минимизировать влияние специфических слабых мест протоколов, или посредством управления качеством сервиса (Quality of Service, QoS) с целью предоставления высокого приоритета приложениям, имеющим критическую важность для деятельности предприятия.

В продуктовом портфеле Citrix имеется классический контроллер WOC — устройство Branch Repeater, предназначенное для улучшения всех процессов передачи данных через TCP специально для сетевых соединений с высокими значениями задержек и перегрузок (Congestion). Кроме того, методы подавления (Suppression; при первом и втором проходе) и кэширования тоже сокращают время передачи и позволяют избежать перемещения лишних объектов через глобальную сеть. К примеру, вместо того чтобы повторно отправлять в филиал уже переданные однажды видеоданные, WOC отправляет запрашивающей станции небольшой пакет-токен с сообщением о том, что необходимые данные уже имеются в наличии и доступны пользователям из локального кэша ускорителя в филиале. Помимо этого, дополнительно используемые методы сжатия и дедупликации данных (у Citrix они называются Data Redundancy Elimination, DRE) помогают сократить объемы данных, предназначенных для передачи через глобальную сеть.

QoS — еще одна важная функция для администрирования пропускной способности сети и установки приоритетности важных приложений. Сетевой трафик распределяется между пятью настраиваемыми очередями, каждой из которых можно присвоить разную долю доступной пропускной способности. Контроллеры WOC устанавливают приоритет этих очередей с помощью функции Weighted Fair Queuing. К этому добавляются дополнительные функции для протокола ICA: правила для классов сервиса (Service Class Policies) динамично распределяют приоритеты ICA. Устройства Branch Repeater тоже поддерживают возможность оптимизации трафика данных ICA с шифрованием 40, 56 или 128 бит, а некоторые производители контроллеров WOC обеспечивают поддержку лишь незашифрованных потоков данных или базового шифрования (Basic Encryption).

 

ТОЧНОЕ ПЛАНИРОВАНИЕ ИСПОЛЬЗОВАНИЯ ГЛОБАЛЬНОЙ СЕТИ

Как было показано на примере Citrix ICA и HDX, существует множество функций для оптимизированного предоставления централизованно управляемых виртуальных десктопов и приложений через глобальную сеть. Доступных технологий немало, поэтому выполнить требования, связанные с обеспечением производительности, вполне возможно. Надо лишь учитывать эти параметры еще на этапе планирования и комплексного проектирования решения.

Андре Даннбахер — технический консультант/менеджер по продажам в компании Arrow ECS.