Проверка пропускной способности VPN в виртуальной сети

Сводка

Подключение VPN-шлюза позволяет установить безопасное, локальное подключение между виртуальная сеть в #REF! и локальной ИТ-инфраструктурой.

В этой статье показано, как проверить пропускную способность сети из локальных ресурсов на виртуальную машину #REF!.

Замечание

Эта статья предназначена для диагностики и устранения распространенных проблем. Если вам не удается решить проблему, используя следующие сведения, обратитесь в службу поддержки.

Обзор

Подключение VPN-шлюза включает следующие компоненты:

  • Локальное VPN-устройство (просмотр списка проверенных VPN-устройств.)
  • Общедоступный Интернет
  • VPN-шлюз #REF!
  • виртуальная машина #REF!

На следующей схеме показано логическое подключение локальной сети к #REF! виртуальной сети через VPN.

Логическое подключение клиентской сети к сети MSFT с помощью VPN

Вычисление максимального ожидаемого входящего трафика/исходящего трафика

  1. Определите базовые требования к пропускной способности приложения.
  2. Определите ограничения пропускной способности VPN-шлюза #REF!. Дополнительные сведения см. в разделе "Номера SKU шлюза" About VPN-шлюз.
  3. Определите рекомендации по пропускной способности виртуальных машин #REF! для размера виртуальной машины.
  4. Определите пропускную способность поставщика услуг Интернета (ISP).
  5. Вычислите ожидаемую пропускную способность, используя минимальную пропускную способность виртуальной машины, VPN-шлюза или Интернет-провайдера (ISP), которая измеряется в Мегабитах в секунду и делится на восемь. Это вычисление дает вам мегабайты в секунду.

Если вычисленная пропускная способность не соответствует базовым требованиям к пропускной способности приложения, необходимо увеличить пропускную способность ресурса, который вы определили в качестве узких мест. Чтобы обновить #REF!, обратитесь к статье Обновление SKU шлюза. Сведения об изменении размера виртуальной машины см. в разделе "Изменение размера виртуальной машины". Если вы сталкиваетесь с проблемами с доступной пропускной способностью Интернета, вы можете также связаться с вашим ISP.

Замечание

Пропускная способность VPN-шлюз является агрегатом всех подключений типа "сайт-сайт/VNET-сеть" или "точка-сайт".

Проверка пропускной способности сети с помощью средств производительности

Эта проверка должна выполняться в непиковые часы, так как перегрузка пропускной способности VPN-туннеля во время тестирования не дает точных результатов.

Средство, которое мы используем для этого теста, — iPerf, который работает как на #REF!, так и в Linux и имеет режимы клиента и сервера. Оно ограничено 3 Гбит/с для виртуальных машин #REF!.

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

Скачивание iPerf

Скачайте iPerf. Дополнительные сведения см. в документации по iPerf.

Замечание

Сторонние продукты, рассмотренные в этой статье, производятся компаниями, которые не зависят от Корпорации Майкрософт. Корпорация Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, о надежности или производительности этих продуктов.

Запуск iPerf (iperf3.exe)

  1. Включите правило NSG/ACL, разрешающее трафик (для тестирования общедоступных IP-адресов на виртуальной машине #REF!).

  2. На обоих узлах включите исключение брандмауэра для порта 5001.

    #REF!: выполните следующую команду от имени администратора:

    netsh advfirewall firewall add rule name="Open Port 5001" dir=in action=allow protocol=TCP localport=5001
    

    Чтобы удалить правило при завершении тестирования, выполните следующую команду:

    netsh advfirewall firewall delete rule name="Open Port 5001" protocol=TCP localport=5001
    

    Образы #REF! Linux: Образы #REF! Linux имеют разрешающие брандмауэры. Если приложение прослушивает порт, трафик разрешается проходить через него. Пользовательские защищенные образы могут потребовать явного открытия портов. К общим брандмауэрам уровня ОС Linux относятся , или .

  3. На узле сервера перейдите в каталог, в котором извлекается iperf3.exe. Затем запустите iPerf в режиме сервера и задайте для него прослушивание порта 5001 в качестве следующих команд:

    cd c:\iperf-3.1.2-win65
    
    iperf3.exe -s -p 5001
    

    Замечание

    Порт 5001 настраивается для учета определенных ограничений брандмауэра в вашей среде.

  4. На клиентском узле перейдите в каталог, в котором извлекается средство iperf, а затем выполните следующую команду:

    iperf3.exe -c <IP of the iperf Server> -t 30 -p 5001 -P 32
    

    Клиент направляет 30 секунд трафика через порт 5001 на сервер. Флаг "-P" указывает, что мы делаем 32 одновременных подключений к узлу сервера.

    На следующем экране показаны выходные данные из этого примера:

    Выход

  5. (НЕОБЯЗАТЕЛЬНО) Чтобы сохранить результаты тестирования, выполните следующую команду:

    iperf3.exe -c IPofTheServerToReach -t 30 -p 5001 -P 32  >> output.txt
    
  6. После выполнения предыдущих шагов выполните те же действия с поменявшимися ролями, чтобы узел сервера стал клиентским узлом и наоборот.

Замечание

Iperf — это не единственное средство. NTTTCP — это альтернативное решение для тестирования.

Тестирование виртуальных машин под управлением #REF!

Загрузка Latte.exe на виртуальные машины

Скачайте последнюю версию Latte.exe

Рекомендуется поместить Latte.exe в отдельную папку, например

Разрешить Latte.exe через брандмауэр #REF!

На приемнике создайте правило allow в брандмауэре #REF!, чтобы разрешить поступление Latte.exe трафика. Проще всего разрешить всю программу Latte.exe по имени, а не разрешать входящий трафик через отдельные TCP-порты.

Разрешить Latte.exe через брандмауэр #REF!, как показано ниже.

netsh advfirewall firewall add rule program=<PATH>\latte.exe name="Latte" protocol=any dir=in action=allow enable=yes profile=ANY

Например, если вы скопировали latte.exe в папку c:\tools, это будет команда.

netsh advfirewall firewall add rule program=c:\tools\latte.exe name="Latte" protocol=any dir=in action=allow enable=yes profile=ANY

Выполнение тестов задержки

Запустите latte.exe на приемнике (запуск из CMD, а не из PowerShell):

latte -a <Receiver IP address>:<port> -i <iterations>

Около 65 тысяч итераций достаточно, чтобы получить репрезентативные результаты.

Любой доступный номер порта подойдет.

Если у виртуальной машины есть IP-адрес 10.0.0.4, он будет выглядеть следующим образом.

latte -c -a 10.0.0.4:5005 -i 65100

Запустите latte.exe на отправителе (в командной строке CMD, а не в PowerShell)

latte -c -a <Receiver IP address>:<port> -i <iterations>

Полученная команда такая же, как на принимающей стороне, за исключением того, что к ней добавляется "-c", чтобы указать, что это "клиент" или отправитель.

latte -c -a 10.0.0.4:5005 -i 65100

Дождитесь результатов. В зависимости от удалённости виртуальных машин друг от друга, их соединение может занять несколько минут. Рекомендуется начать с меньшего количества итераций для проверки успешности перед выполнением длительных тестов.

Тестирование виртуальных машин под управлением Linux

Используйте SockPerf для тестирования виртуальных машин.

Установка SockPerf на виртуальных машинах

На виртуальных машинах Linux (ОТПРАВитель и ПРИЕМНИК) выполните следующие команды, чтобы подготовить SockPerf на виртуальных машинах:

RHEL — установка GIT и других полезных средств

sudo yum install gcc -y -q sudo yum install git -y -q sudo yum install gcc-c++ -y sudo yum install ncurses-devel -y sudo yum install -y automake

Ubuntu — установка GIT и других полезных средств

sudo apt-get install build-essential -y sudo apt-get install git -y -q sudo apt-get install -y autotools-dev sudo apt-get install -y automake

Bash - все

Из командной строки bash (предполагается, что установлен Git)

git clone https://github.com/mellanox/sockperf cd sockperf/ ./autogen.sh ./configure --prefix=

Сделать медленнее, и может занять несколько минут

make

Команда make install выполняется быстро

sudo make install

Запуск SockPerf на виртуальных машинах

Примеры команд после установки. Server/Receiver — предполагает, что IP-адрес сервера равен 10.0.0.4

sudo sockperf sr --tcp -i 10.0.0.4 -p 12345 --full-rtt

Клиент — предполагает, что IP-адрес сервера равен 10.0.0.4

sockperf ping-pong -i 10.0.0.4 --tcp -m 1400 -t 101 -p 12345 --full-rtt

Замечание

Убедитесь, что во время тестирования пропускной способности между виртуальной машиной и шлюзом нет промежуточных прыжков (например, виртуального устройства). Если результаты тестов iPERF/NTTTCP, упомянутые выше, показывают низкую общую пропускную способность, обратитесь к разделу Настройка производительности TCP/IP для виртуальных машин #REF!, чтобы понять ключевые факторы возможных причин этой проблемы.

В частности, анализ трассировок отслеживания пакетов (Wireshark/Network Monitor), собранных параллельно с клиента и сервера во время этих тестов, помогает оценить плохую производительность. Эти трассировки могут включать потерю пакетов, высокую задержку, размер MTU. Фрагментация, окно TCP 0, фрагменты вне порядка и т. д.

Устранение проблем с медленным копированием файлов

Даже если общая пропускная способность, оцененная с помощью предыдущих шагов (iPERF/NTTTCP/etc.), была хорошей, возможно, вы столкнетесь с замедлением при копировании файлов, используя #REF! Explorer или перетаскивании через сеанс RDP. Эта проблема обычно возникает из-за одного или обоих следующих факторов:

  • Приложения копирования файлов, такие как обозреватель #REF! и RDP, не используют несколько потоков при копировании файлов. Для повышения производительности используйте многопоточное приложение копирования файлов, например Richcopy , для копирования файлов с помощью 16 или 32 потоков. Чтобы изменить номер потока для копирования файлов в Richcopy, выберите Action, затем Параметры копирования, и далее Копирование файлов.

    Проблемы с медленным копированием файлов

    Замечание

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

  • Недостаточно скорости чтения и записи диска виртуальной машины. Дополнительные сведения см. в разделе служба хранилища Azure Устранение неполадок.

Внешний интерфейс устройства в локальной сети

Укажите подсети локальных диапазонов, к которым вы хотите, чтобы #REF! получил доступ через VPN на шлюзе локальной сети. Одновременно определите адресное пространство виртуальной сети в #REF! локальному устройству.

  • Шлюз на основе маршрутов: политика или селектор трафика для виртуальных сетей на основе маршрутов настраиваются как любые (или подстановочные карточки).

  • Policy Based Gateway: VPN, основанные на политике, шифруют и направляют пакеты через туннели IPsec на основе комбинаций префиксов адресов между вашей локальной сетью и виртуальной сетью #REF!. Политика (или селектор трафика) обычно определяется как список доступа в конфигурации VPN.

  • UsePolicyBasedTrafficSelector подключения: установка "UsePolicyBasedTrafficSelectors" в значение $True в конфигурации подключения настраивает шлюз #REF! VPN для подключения к локальному брандмауэру VPN на основе политики. Если вы включаете PolicyBasedTrafficSelectors, необходимо убедиться, что ваше VPN-устройство имеет соответствующие селекторы трафика, определенные со всеми комбинациями префиксов вашей локальной сети (шлюза локальной сети) для и из префиксов виртуальной сети #REF!, а не селекторы типа "любой-ко-всем".

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

Проверка задержки

Вы можете проверить задержку с помощью следующих средств:

  • WinMTR
  • TCPTraceroute
  • и (Эти средства могут обеспечить хорошую оценку RTT, но их нельзя использовать во всех случаях.)

Проверка задержки

Если вы заметили высокий всплеск задержки на любом из узлов перед вводом в основную сеть MS Network, вы можете продолжить дальнейшее исследование с вашим поставщиком интернет-услуг.

Если замечен большой необычный всплеск задержки на узлах в пределах "msn.net", обратитесь в службу поддержки MS для дальнейшего расследования.

Дальнейшие шаги

Дополнительные сведения или справку см. по следующей ссылке: