Очень часто пользователи жалуются на плохой отклик беспроводной сети. Как установить, где и почему происходит падение производительности? Для исследования или, в идеальном случае, полного предотвращения подобных проблем необходимы адекватные методы анализа и специализированные инструменты. В статье описывается подход к тестированию беспроводной сети стандартов 802.1a/b/g.
При анализе производительности речь идет не столько том, как увеличить скорость передачи еще на несколько бит в секунду, сколько о том, как обеспечить «здоровье» беспроводной локальной сети. Если она сконфигурирована корректно и внешние отрицательные воздействия отсутствуют, в частности источники помех или перекрывающиеся радиоканалы, это положительно отражается на производительности. Причина плохого отклика может заключаться в смежных, проводных сегментах сети, каналах глобальных сетей, или даже ее следует искать на уровне приложений (перегруженный сервер).
АНАЛИЗ ОШИБОК
Прежде чем проводить анализ конкретного случая падения производительности рабочей сети, вначале рекомендуется выполнить пассивный мониторинг ситуации в сети при помощи протокольного анализатора. Уже знакомые читателю технологии для мониторинга сайта посредством протокольных анализаторов для беспроводных сетей (см. статью автора «Мониторинг сети и проверка безопасности» в февральском номере «Журнала сетевых решений/LAN» за этот год) предоставляют сведения о том, сколько активных беспроводных узлов делят между собой имеющуюся полосу пропускания радиоячейки, какова типичная эффективная скорость передачи данных (см. Рисунок 1) и высок ли уровень ошибок или повторений.
Рисунок 1. Observer 8.3 от Network Instruments с ее Wireless Vital Signs позволяет быть в курсе активности внутри беспроводной ячейки. |
Как показали результаты тестирования (см. статью автора «На трудном пути к стандарту» в сентябрьском номере «Журнала сетевых решений/LAN» за 2003 г.), в среде 802.11g на производительность клиентов 11g в перегруженных сетях отрицательно могут влиять как активные, так и пассивные клиенты 11b. В таком случае устранить проблемы возможно лишь со значительными издержками, поместив клиентов соответствующего типа WLAN в отдельную беспроводную ячейку.
Сходное воздействие на передачу наблюдается также в беспроводных ячейках с однотипными клиентами (к примеру, на базе 802.11а), когда отдельные станции расположены на краю ячейки и передают данные с низкой скоростью. В зависимости от конкретной ситуации положительный эффект достигается путем перемещения точки доступа для лучшего покрытия реальной рабочей области. Кроме того, зоны покрытия можно расширить путем установки новых точек доступа.
Часто «пожирателями» пропускной способности в беспроводных инфраструктурах оказываются сеансы передачи данных между узлами WLAN в пределах одной и той же ячейки, когда каждый пакет данных дважды пересекает радиоэфир: от отправителя к точке доступа и от точки доступа к получателю. Так называемая «карта узлов», или «матрица пар», в анализаторе WLAN укажет на активных взаимодействующих партнеров в ячейке и позволит быстро вскрыть причину падения производительности. Большинство современных точек доступа при необходимости способно подавлять коммуникацию между равноправными узлами в пределах ячейки.
Использование нестандартных режимов работы, например «турборежима» 802.11а на базе набора микросхем от Atheros (они применяются в продуктах компаний Lancom Systems, Proxim и Netgear), в идеальном случае хотя и повышает пропускную способность ячейки, но усложняет поиск ошибок. Первые тесты в лаборатории LANline подтвердили увеличение скорости передачи в «турборежиме» до 60% (номинальная пропускная способность 108 Мбит/с) по сравнению со стандартом 802.11а (номинальная пропускная способность 54 Мбит/с). Из трех представленных в прошлый раз протокольных анализаторов — Observer 8.3 (от Network Instruments), Airopeek NX 2.01 (Wildpackets) и Wireless Sniffer 4.75 (Network Associates) — только Observer «видит» пакеты, пересылаемые в турборежиме.
Расширение набора микросхем от Atheros на самом нижнем уровне мультиплексирования с ортогональным разделением частоты (Orthogonal Division Frequency Multiplexing, ODFM) предусматривает объединение двух каналов («турбоканалы» 42, 50 или 58), при этом передача осуществляется по двум смежным каналам стандарта IEEE (40/44, 48/52 и 56/60). Точки доступа перед активированием «турбоканала» проверяют занятость эфира в целях соблюдения требований местных регулирующих органов. Если же для собственной работы точки доступа без поддержки турборежима выбирают канал в непосредственной близости от уже активного турбоканала, то две ячейки будут мешать друг другу, поскольку такие точки доступа не в состоянии распознать активный турбоканал.
В первых тестах из-за конфликтов между каналами со стороны 802.11а наблюдалось падение скорости передачи до 50%. При помощи Observer идентификация наложения каналов такого типа посредством Channel Surfing больше не представляется проблемой. Остальные анализаторы WLAN хоть и зафиксировали повышенный уровень ошибок, но не указали возможных причин.
АКТИВНЫЙ АНАЛИЗ ПРОИЗВОДИТЕЛЬНОСТИ
В большинстве случаев проблемы с производительностью в сети проявляются лишь спорадически, и воспроизвести их по описанию пользователей не всегда удается. Подобным свойством отличаются и беспроводные локальные сети. Перед вводом в нормальный режим эксплуатации опять-таки нужно проверить характеристики производительности, но обойтись одним только анализатором WLAN уже не удастся. Необходимо сгенерировать нацеленный сетевой трафик и на нем измерить скорость передачи. Важно, чтобы создание трафика по возможности не зависело от несетевых факторов — нагрузки на сервер или на клиента. Таким образом, требуются специализированные инструменты для измерения пропускной способности сети.
Рисунок 2. Вызов из командной строки и результаты измерений Netio (в данном случае в турборежиме 11а на 108 Мбит/с на основе компонентов от Lancom). |
Популярным и бесплатным (при условии некоммерческого использования) средством измерения пропускной способности сети является Netio от Кая Уве Роммеля (см. Рисунок 2). Последняя версия 1.21 этой простой программы на базе командной строки доступна в виде исходного кода по адресу: http://freshmeat.net/projects/netio/ для платформ Win32 (i386), Linux (i386) и OS/2. Netio по выбору генерирует трафик TCP или UDP между двумя сетевыми узлами и позволяет задавать величину блока от 1 до 32 Кбайт. Передача данных на прикладном уровне происходит попеременно в обоих направлениях. Если один узел расположен в локальной сети, а второй — в беспроводной, то в результате можно получить эффективную скорость передачи для прямого (от локальной к беспроводной сети) и обратного (от беспроводной к локальной сети) потока. Как показали различные тесты точек доступа, между передачей в прямом и обратном направлениях могут наблюдаться существенные различия, наличие которых может, например, указывать на ошибки во встроенном программном обеспечении точки доступа.
Выбор тестового трафика — на базе TCP или UDP — определяется используемыми приложениями и типом их передачи. Наиболее популярен TCP (в случае HTTP, FTP, SMB, Lotus Notes и т. д.), но и измерения на базе UDP имеют смысл, когда требуется добиться оптимальных значений для мультимедийных потоковых приложений или сетевой файловой системы NFS на базе UDP. В случае UDP внутренние протокольные механизмы для управления потоком данных (Data Flow Control, DFC) не задействуются, вследствие чего можно рассчитывать на более высокую фактическую скорость передачи. Если соотношение между TCP и UDP не соответствует ожидаемому, то это указывает на возможную ошибку в сетевых компонентах.
Когда посредством измерения пропускной способности сети предполагается выявить источники ошибок в сложных распределенных системах WLAN, Netio мало чем сможет помочь. Параллельные коммуникационные процессы между несколькими сетевыми узлами нельзя запускать синхронно (к примеру, параллельную передачу данных по стандарту 802.11g со скоростью 11 и 54 Мбит/с), а кроме того, нет возможности влиять на объем и длительность передачи данных. Смена различных коммуникационных партнеров в разных местах сетевой топологии для локализации источников ошибок требует реконфигурации на уровне командной строки, на что уходит много времени.
Для решения подобных задач компания Netiq выпустила коммерческий продукт Chariot. Он состоит из так называемых «конечных точек производительности» для всех широко распространенных операционных систем (Windows ME/NT/2000/XP, Linux или Sun Solaris Sparc/x86) и центральной консоли для управления измерениями. При измерении пропускной способности инсталлированные «конечные точки производительности» по всей сети могут объединяться в коммуникационные пары в любой комбинации. Каждой паре без ограничений назначается используемый коммуникационный протокол (TCP, UDP, RTP, в том числе в вариантах для IPv6, а также SPX, IPX и APPC) и опирающийся на него пользовательский протокол. Chariot по желанию моделирует коммуникационные процессы таких приложений, как Microsoft SQL, Lotus Notes или Netshow Streaming, при помощи собственного языка сценариев и тем самым помогает воспроизвести реальную ситуацию в сети.
Для анализа производительности беспроводной сети предназначены уже почти стандартизированные измерения посредством простого сценария Throughput — при стандартных параметрах он генерирует сравнимый с Netio сетевой трафик. Измерения производятся либо для четко определенного объема данных, либо в ограниченном временном интервале — при лабораторном тестировании LANline его длительность составляла 1 мин. Обусловленные средой передачи отклонения большей частью сглаживаются; кроме того, заодно можно произвести запись пакетов с анализатора WLAN для дальнейшего детального анализа.
Рисунок 3. Противопоставленные друг другу результаты измерений в Chariot 4.3 от Netiq: при перекрытии каналов двух радиоячеек производительность падает (турборежим 108 Мбит/с, кривая 1 — без конфликта и кривая 2 — с конфликтом; как и 54 Мбит/с 802.11а, кривая 3 — без конфликта и кривая 4 — с конфликтом). |
В качестве результатов измерений выдаются не только одни цифры (среднее значение эффективной пропускной способности, количество транкзакций в зависимости от приложения, время реакции и переданный объем данных) — изменение абсолютных значений с течением времени представлено также в графическом виде (см. Рисунок 3). Резкие отклонения значений легко выявляются, и при необходимости измерения можно повторить. Таким образом можно быстро увидеть влияние различных факторов на реальную пропускную способность. К примеру, с началом передачи данных клиента 802.11b в той же ячейке, которой пользуются клиенты 802.11g, кривая пропускной способности клиентов g резко идет вниз. Chariot облегчает моделирование подобной ситуации благодаря тому, что коммуникационные пары могут начинать передачу данных с произвольно задаваемой задержкой в рамках одного сеанса измерений.
ПРАКТИКА ИЗМЕРЕНИЙ
Эффективным оказалось применение ноутбука с двумя адаптерами WLAN (оптимальными на данный момент являются карты формата РС Card стандартов a/b/g с набором микросхем от Atheros, например Netgear WAG511 или Proxim Orinoko 11a/b/g ComboCard, а также второй многорежимный адаптер в исполнении Mini PCI). На первом адаптере анализатор в «режиме приема всех пакетов» прослушивает радиоэфир, а через вторую карту устанавливается активное беспроводное соединение, для которого посредством консоли Chariot производятся измерения пропускной способности и инициируется сетевой трафик. Ноутбук не должен быть составной частью измерений, поэтому его влияние на результат минимально, и анализатору предоставляется вся вычислительная мощность для обработки в оптимальной для измерений точке.
И последнее замечание: наряду с Chariot компания Netiq предлагает бесплатную утилиту под названием Qcheck (http://www.qcheck.net). Она позволяет проводить простые измерения пропускной способности и времени отклика по выбору для TCP, UDP, SPX или IPX между двумя «конечными точками производительности». Однако польза от применения Qcheck в быстрых беспроводных сетях невелика, поскольку для получения репрезентативных результатов измерений величина 1000 Кбайт — слишком небольшой объем. А повторные измерения дают сильные искажения.
Петер Мойзер — независимый консультант по информационным технологиям. С ним можно связаться по адресу: pmeuser@itlab.de.
? AWi Verlag