Новости Статьи VMware Veeam StarWind vStack Microsoft Nakivo Citrix Symantec События Релизы Видео Контакты Авторы RSS
Виртуализация и виртуальные машины

Все самое нужное о виртуализации и облаках

Более 6300 заметок о VMware, AWS, Azure, Veeam, Kubernetes и других

VM Guru / News / Что такое и как работает Blast Extreme Network Intelligent Transport (BENIT) в решении VMware Horizon View.

Что такое и как работает Blast Extreme Network Intelligent Transport (BENIT) в решении VMware Horizon View.

20/08/2018

Поддержите VM Guru!

USDT / TRC20, адрес: TCDP7d9hBM4dhU2mBt5oX2x5REPtq9QdU1




Пост:

Как многие уже знают, не так давно VMware выпустила обновленную версию решения для виртуализации и доставки рабочих окружений пользователей VMware Horizon 7.5. Среди новых возможностей клиентов Horizon View была такая фича: "VMware Blast выбирает оптимальный транспорт автоматически (UDP или TCP) для предоставления лучшего качества обслуживания пользователю (ранее нужно было делать это вручную)".

Оказывается, это очень важная штука, и называется она Blast Extreme Network Intelligent Transport (BENIT). Ранее компания VMware анонсировала механизм Blast Extreme Adaptive Transport (BEAT), который позволял переходить на UDP-протокол в сетях с плохим качеством связи, предоставляя пользователю выбор типа соединения:

Blast Extreme автоматически подстраивается под параметры Bandwidth, Latency и Packet Loss в различных сетях и выбирает наиболее эффективный транспорт: TCP или UDP. Работало это так:

  • Excellent - предназначен для LAN-сетей с хорошим качеством (высокая скорость и низкие потери пакетов). В этом случае используется только TCP протокол - и для управления передачей, и для отправки самих данных.
  • В случае выбора Poor протокол Blast Extreme использует только UDP для управления передачей и отсылки данных. Это оптимально для WAN-сетей с большими задержками и коэффициентом потерь пакетов 20% и более.
  • Дефолтный пункт - Typical - это оптимальный выбор для 99% пользователей. В этом случае будет использоваться TCP для управления передачей, а UDP для основной отправки данных, с учетом адаптивного алгоритма. Если по каким-то причинам UDP будет недоступен (например, заблокирован политикой на сетевом экране), то произойдет незаметное для пользователя переключение на TCP.

Далее в версии VMware Horizon 7.3.1 появились отдельные каналы для для USB и CDR внутри протокола Blast. Это позволило инкапсулировать весь трафик в рамках одного протокола, что удобно с точки зрения управления каналом.

Между тем, некоторые недостатки такого механизма еще оставались, особенно при использовании UDP:

  • UDP часто заблокирован в корпоративной инфраструктуре или сильно зажат по ширине канала.
  • Маршрутизация на основе политик может вести TCP и UDP трафик через совершенно разные пути.
  • Некоторым приложениям (например, копированию файлов) гораздо важнее сырая пропускная способность, чем уровень отклика для пользователя, с чем отлично справляется TCP.
  • При использовании TCP в протоколе Blast нагрузка на CPU является несколько повышенной, если сравнивать с собственными механизмами оптимизации TCP в операционных системах.

Ну и главным недостатком BEAT было то, что условия соединения пользователя могли меняться в процессе работы - проявлялось влияние разных типов трафика, изменение параметров канала и прочее. Ну и сам пользователь не всегда был в курсе, какую политику BEAT нужно выбрать при работе с тем или иным приложением.

Еще одной проблемой является использование мобильных клиентов - протоколы TCP или Adaptive Transport предоставляют надежное соединение только когда постоянно доступно. Но мобильное устройство может переключиться с Wi-Fi на 3G/LTE, при этом, например, копирование файлов в гостевой ОС не должно прерываться.

Как следствие, VMware разработала протокол сеансового уровня для Blast, который появился в VMware Horizon View 7.5.0 и Horizon Clients 4.8.0 - Blast Extreme Network Intelligent Transport (BENIT).

Этот протокол предоставляет следующие характеристики:

  • Надежность - гарантия последовательной доставки данных в условиях прерывания сетевого соединения / переключения сетевых адаптеров.
  • Переключение транспорта для отдельного приложения на основе отклика приложения в сети.
  • Балансировка нагрузки за счет одновременного использования обоих транспортов для различных приложений, а также за счет выбора конкретного транспорта для определенного класса трафика (например, File Copy).

Так это выглядит наглядно:

Привязка нужного типа протокола происходит динамически на уровне сессии для каждого приложения или типа трафика через компонент мультиплексор.

Давайте посмотрим на некоторые аспекты такого решения:

Надежность

Тут возникает 2 основных проблемы:

  • Потеря соединения для транспортного протокола, когда данные были отосланы и, возможно, получены получателем, но источник не получил подтверждение этого. Для протокола BENIT это решается повторной отправкой данных только в случае переключения транспорта для приложения.
  • Эффект Race condition - когда приложение отправило пакет под одному каналу, а потом произошло переключение транспорта, и оно отправило другой пакет по другому каналу, а ответ для них может прийти в обратном порядке. Эта проблема решается механизмом обнаружения и коррекции ошибок.

Переключение транспорта

Для того, чтобы механизм BENIT работал эффективно, нужна возможность смотреть на производительность транспорта для определенных приложений, которая и реализована в протоколе. Решение по переключению может приниматься на основе заранее заданной политики (дефолтно это потери пакетов > 1%, задержка > 50 мс и пропускная способность < 200 Мб/с), либо с помощью интеллектуального алгоритма, который сам понимает необходимость переключения. Статические политики вы можете задать самостоятельно, на основе эмпирических результатов производительности для отдельных приложений или инфраструктуры в целом.

При работе с соединениями BENIT будет периодически тестировать их характеристики и производить необходимые переключения транспорта для приложений. Это снимает с администраторов и пользователей обязанность самостоятельно производить выбор типа соединения.

Кстати, надо понимать, что переключение транспорта происходит независимо на клиенте и на удаленном десктопе, то есть если на клиенте что-то меняется (например, параметры адаптера), то именно там происходит переключение транспорта, а на десктопе все остается как и было.

Аналитика при переключении транспорта

Здесь все работает таким образом: при использовании одного транспорта и несоблюдении параметров политики по его производительности происходит тестирование сгенерированным трафиком другого канала. Если его характеристики оказываются лучше, происходит переключение на другой транспорт. Но это рождает проблему загрузки сети трафиком тестирования.

Поэтому здесь есть механизм обучения - если, например, произошла серия "плохих" переключений с BEAT на TCP и обратно, то BENIT запомнит эту связь и будет поддерживать TCP-соединение, даже если все требования по переключению будут выполнены.

С точки зрения эффективности переключения на другой транспорт, тут тоже есть 2 механизма:

  • Lazy switching - если одна порция трафика пока еще целиком не послалась через транспорт, то следующая посылается уже через новый канал, при этом на старом еще некоторое время ожидается квитанция о приеме, и если ее не приходит - то сообщение перепосылается уже через новый канал. Это вызывает некоторую задержку времени переключения, но зато эффективно с точки зрения использования канала.
  • Rollback and switch - в этом случае недопосланное сообщение аннулируется, происходит мгновенное переключение и перепосылка этого сообщения по новому каналу. Это приводит к максимально быстрому переключению, но часть трафика в канале дублируется.

Некоторые результаты тестирования

Вот так выглядят результаты по FPS при просмотре видео на виртуальном десктопе при использовании протоколов TCP и BENIT в условиях различных сетевых соединений:

Network Profile BENIT TCP Blast Extreme Adaptive Transport
10 Mbps, 20% Loss, 200 ms RTT 13.40 fps 00.65 fps 13.38 fps
10 Mbps, 10% Loss, 200 ms RTT 16.52 fps 02.25 fps 16.52 fps
100 Mbps, 0% Loss, 200 ms RTT 27.52 fps 27.53 fps 25.68 fps
200 Mbps, 0% Loss, 200 ms RTT 28.23 fps 28.25 fps 27.92 fps

А вот результаты по копированию файлов через механизм Drive Redirection:

Network Profile BENIT TCP Blast Extreme Adaptive Transport
10 Mbps, 1% Loss, 50 ms RTT 8.32 Mbps 2.38 Mbps 8.32 Mbps
100 Mbps, 0% Loss, 0 ms RTT 98.8 Mbps 98.8 Mbps 91.28 Mbps

Ну и главное - BENIT позволяет сохранить поток копирования файлов при переключении между соединениями Wi-Fi и 3G/LTE на мобильном интернете или при потере сетевого соединения (по умолчанию настроено время ожидания 120 секунд, его можно изменять):

Интересное:





Зал Славы Рекламодателя
Ближайшие события в области виртуализации:

Быстрый переход:
VMware Broadcom Offtopic Microsoft Veeam Cloud StarWind VMachines NAKIVO vStack Gartner Vinchin Nakivo IT-Grad Teradici VeeamON VMworld PowerCLI Citrix VSAN GDPR 5nine Hardware Nutanix vSphere RVTools Enterprise Security Code Cisco vGate SDRS Parallels IaaS HP VMFS VM Guru Oracle Red Hat Azure KVM VeeamOn 1cloud DevOps Docker Storage NVIDIA Partnership Dell Virtual SAN Virtualization VMTurbo vRealize VirtualBox Symantec Softline EMC Login VSI Xen Amazon NetApp VDI Linux Hyper-V IBM Google VSI Security Windows vCenter Webinar View VKernel Events Windows 7 Caravan Apple TPS Hyper9 Nicira Blogs IDC Sun VMC Xtravirt Novell IntelVT Сравнение VirtualIron XenServer CitrixXen ESXi ESX ThinApp Books P2V HCX vSAN Private AI VCPP VCF Workstation Labs Backup Explore vDefend Data Protection ONE Tanzu AI Intel Live Recovery VCP V2V Aria NSX DPU Update EUC Avi Community Skyline Host Client Chargeback Horizon SASE Workspace ONE Networking Ransomware Tools Performance Lifecycle Network AWS API USB SDDC Fusion Whitepaper SD-WAN Mobile VMUG SRM ARM HCI Converter Photon OS Operations VEBA App Volumes Certification VMConAWS Workspace Imager SplinterDB DRS SAN vMotion Open Source iSCSI Partners HA Monterey Kubernetes vForum Learning vRNI UAG Support Log Insight AMD vCSA NSX-T Graphics NVMe HCIBench SureBackup Docs Carbon Black vCloud Обучение Web Client vExpert OpenStack UEM CPU PKS vROPs Stencils Bug VTL Forum Video Update Manager VVols DR Cache Storage DRS Visio Manager Virtual Appliance PowerShell LSFS Client Datacenter Agent esxtop Book Photon Cloud Computing SSD Comparison Blast Encryption Nested XenDesktop VSA vNetwork SSO VMDK Appliance VUM HoL Automation Replication Desktop Fault Tolerance Vanguard SaaS Connector Event Free SQL Sponsorship Finance FT Containers XenApp Snapshots vGPU Auto Deploy SMB RDM Mirage XenClient MP iOS SC VMM VDP PCoIP RHEV vMA Award Licensing Logs Server Demo vCHS Calculator Бесплатно Beta Exchange MAP DaaS Hybrid Monitoring VPLEX UCS GPU SDK Poster VSPP Receiver VDI-in-a-Box Deduplication Reporter vShield ACE Go nworks iPad XCP Data Recovery Documentation Sizing Pricing VMotion Snapshot FlexPod VMsafe Enteprise Monitor vStorage Essentials Live Migration SCVMM TCO Studio AMD-V KB VirtualCenter NFS ThinPrint Director Memory SIOC Troubleshooting Stretched Bugs ESA Android Python Upgrade ML Hub Guardrails CLI Driver Foundation HPC Orchestrator Optimization SVMotion Diagram Ports Plugin Helpdesk VIC VDS Migration Air DPM Flex Mac SSH VAAI Heartbeat MSCS Composer
Полезные постеры:

Постер VMware vSphere PowerCLI 10

Постер VMware Cloud Foundation 4 Architecture

Постер VMware vCloud Networking

Постер VMware Cloud on AWS Logical Design Poster for Workload Mobility

Постер Azure VMware Solution Logical Design

Постер Google Cloud VMware Engine Logical Design

Постер Multi-Cloud Application Mobility

Постер VMware NSX (референсный):

Постер VMware vCloud SDK:

Постер VMware vCloud Suite:

Управление памятью в VMware vSphere 5:

Как работает кластер VMware High Availability:

Постер VMware vSphere 5.5 ESXTOP (обзорный):

 

Популярные статьи:
Как установить VMware ESXi. Инструкция по установке сервера ESXi 4 из состава vSphere.

Включение поддержки технологии Intel VT на ноутбуках Sony VAIO, Toshiba, Lenovo и других.

Типы виртуальных дисков vmdk виртуальных машин на VMware vSphere / ESX 4.

Как работают виртуальные сети VLAN на хостах VMware ESX / ESXi.

Как настроить запуск виртуальных машин VMware Workstation и Server при старте Windows

Сравнение Oracle VirtualBox и VMware Workstation.

Что такое и как работает виртуальная машина Windows XP Mode в Windows 7.

Диски RDM (Raw Device Mapping) для виртуальных машин VMware vSphere и серверов ESX.

Работа с дисками виртуальных машин VMware.

Где скачать последнюю версию VMware Tools для виртуальных машин на VMware ESXi.

Подключение локальных SATA-дисков сервера VMware ESXi в качестве хранилищ RDM для виртуальных машин.

Как перенести виртуальную машину VirtualBox в VMware Workstation и обратно

Инфраструктура виртуальных десктопов VMware View 3 (VDI)

Как использовать возможности VMware vSphere Management Assistant (vMA).

Бесплатные утилиты для виртуальных машин на базе VMware ESX / ESXi.

Интервью:

Alessandro Perilli
virtualization.info
Основатель

Ратмир Тимашев
Veeam Software
Президент


Полезные ресурсы:

Последние 100 утилит VMware Labs

Новые возможности VMware vSphere 8.0 Update 1

Новые возможности VMware vSAN 8.0 Update 1

Новые документы от VMware

Новые технологии и продукты на VMware Explore 2022

Анонсы VMware весной 2021 года

Новые технологии и продукты на VMware VMworld 2021

Новые технологии и продукты на VMware VMworld 2020

Новые технологии и продукты на VMware VMworld Europe 2019

Новые технологии и продукты на VMware VMworld US 2019

Новые технологии и продукты на VMware VMworld 2019

Новые технологии и продукты на VMware VMworld 2018

Новые технологии и продукты на VMware VMworld 2017



Copyright VM Guru 2006 - 2025, Александр Самойленко. Правила перепечатки материалов.
vExpert Badge