RMON позволяет видеть всю картину трафика в сети не сходя с рабочего места.
RMON, или база управляющей информации для удаленного мониторинга (Remote MONitoring MIB), был разработан IETF для поддержки мониторинга и анализа протоколов в локальных сетях Ethernet и Token Ring. Эта стандартная спецификация обеспечивает во многом те же функциональные возможности, что и нестандартные сетевые и протокольные анализаторы.
Начало работ над RMON-1 MIB было положено созданием IETF рабочей группы RMON в 1990 году. Предложение по стандарту было опубликовано в RFC 1271 в ноябре 1991 года, причем оно касалось исключительно Ethernet (см. Таблицу 1). Дополнительная группа для Token Ring была предложена в RFC 1513 в 1993 году. С появлением совместимых реализаций RMON-1 MIB был присвоен статус проекта по стандарту в RFC 1757 в 1994 году. Летом того же года рабочая группа RMON-2 занялась подготовкой стандарта для расширения RMON-1. Ее усилия нашли впоследствии свое отражение в RFC 2021 и 2074.
RMON В СРАВНЕНИИ С SNMP
При всех своих неоспоримых достоинствах инфраструктура SNMP имеет ряд существенных недостатков с точки зрения ее применения в крупных корпоративных сетях. В соответствии с принятой моделью станция управления сетью через регулярные интервалы времени опрашивает своих агентов о значениях всех счетчиков. Объем управляющего трафика таков, что он сам по себе может вызвать заторы, особенно если передается по каналам глобальной сети. Кроме того, вся тяжесть сбора и обработки информации возлагается на станцию управления, причем сложность возрастает пропорционально увеличению числа управляемых устройств. Однако наиболее серьезный недостаток исходной спецификации SNMP состоит в том, что базы управляющей информации MIB-1 и MIB-2 предоставляют данные только по каждой наблюдаемой системе в отдельности. Так, менеджеры SNMP могут предоставить данные об объеме входящего и исходящего трафика для конкретного устройства, но не картину трафика во всем сегменте, а тем более во всей сети (во всяком случае они не могут получить эту информацию непосредственно от своих агентов).
RMON создавался таким образом, что сбор и обработка данных осуществляются удаленными зондами. Это позволяет сократить трафик SNMP в сети и нагрузку на станцию управления, причем информация передается на станцию, только когда это необходимо. Расположенные в различных частях сети приложения RMON могут одновременно взаимодействовать и получать информацию от одного и того же зонда.
Исследование McConnel Consulting показывает, что, по сравнению с традиционными инструментами управления, применение RMON позволяет тому же административному персоналу поддерживать в два с половиной раза большее число пользователей и сегментов (правда, такой выигрыш достигается лишь в относительно крупных сетях).
АРХИТЕКТУРА RMON
Как и SNMP, инфраструктура RMON опирается на клиент-серверную архитектуру. При этом в роли "клиента" выступает приложение, выполняемое на станции управления сетью, а в роли "сервера" — устройства мониторинга, распределенные по сети и занятые сбором информации. Устройства мониторинга называются "зондами", а выполняемое ими программное обеспечение — "агентами". Агенты RMON могут как размещаться на автономных устройствах, так и встраиваться в концентраторы, коммутаторы, маршрутизаторы и другие сетевые устройства. Станция управления сетью и распределенные зонды RMON взаимодействуют по сети по протоколу SNMP.
СТРАТЕГИЯ ИСПОЛЬЗОВАНИЯ
Диагностировать проблему после того, как она возникла, может быть проще, чем ее предупредить, но это означает напрасную потерю пользователями рабочего времени. С помощью RMON администратор может реализовать превентивное управление своей сетью, т. е. выявлять проблемы до их возникновения. Ключом к реализации такой стратегии является установление типичной картины трафика и задание порогов для предупреждения об отклонении трафика в сети от стандартных шаблонов.
Таблица 1. Группы RMON для Ethernet | |
Название | Описание |
Statictics | Статистика по числу октетов и пакетов (в том числе многоадресных и широковещательных), об ошибках и размере пакетов. |
History | Распределение переменных первой группы за определенный период через заданные интервалы. |
Host | Информация о трафике по каждому хосту в сегменте. |
Host TopN | Отсортированные данные по указанному числу хостов в порядке убывания. |
Matrix | Статистика по диалогам между парами хостов, в том числе о величине трафика и количестве ошибок в обоих направлениях. |
Filter | Определения шаблонов для сбора пакетов. |
Packet Capture | Сбор заданного числа пакетов, отвечающих указанному шаблону. |
Alarm | Пороги для счетчиков для сигнализации об изменениях в функционировании сети. |
Event | Протоколирование событий и определение действий при их наступлении. |
Прежде всего администратору требуется в течение определенного времени собрать данные относительно производительности и использования сети, на которые он мог бы опираться в качестве исходных. Такими данными могут быть, например, сведения о количестве широковещательных, многоадресных и ошибочных пакетов. Затем полученные значения можно усреднить и найти типичные отклонения от этих значений. Найденные отклонения могут служить в качестве ориентиров для задания порогов.
Задание порогов — это целое искусство, и тут администратору может помочь только опыт. Если пороги заданы слишком низкими, то администратор будет получать неоправданно большое количество предупреждений; если же пороги установлены на чересчур высоком уровне, то он может пропустить момент накопления отрицательных тенденций в работе сети. Кроме того, кратковременное отклонение от привычной картины трафика зачастую никак не сказывается на общей работе сети, поэтому задавать пороги следует так, чтобы администратору не приходилось потом отвлекаться на временные самоликвидирующиеся проблемы.
Вместе с тем ни одна сеть не является статичной, поэтому картина трафика со временем изменяется. Анализ тенденций с помощью групп History и Statistics позволяет, например, выявить момент, когда сеть перестает справляться с предлагаемой нагрузкой, т. е. когда ее пропускную способность требуется увеличить.
МОНИТОРИНГ КОММУТИРУЕМЫХ СЕТЕЙ
В разделяемых локальных сетях каждый сегмент должен иметь свой зонд RMON, если администратор хочет знать о трафике в нем. То же справедливо и для коммутируемых локальных сетей, но в них количество сегментов намного больше. Подключение отдельного автономного зонда к каждому порту коммутатора было бы решением, но очень дорогостоящим. К счастью, это далеко не единственный возможный подход.
Одно из паллиативных решений состоит в подключении к каждому порту коммутатора вместо автономного агента концентратора с его собственным встроенным агентом, тем более что по своим функциональным возможностям он зачастую ничем не отличается. Однако такое решение не всегда осуществимо и целесообразно, в частности иногда порт коммутатора рассчитан на подключение только одной станции или сервера.
Многие производители встраивают теперь поддержку удаленного мониторинга непосредственно в свои коммутаторы, но делают это по-разному. Одно из решений состоит в предусмотрении порта для мониторинга на коммутаторе, на который копируется весь трафик с указанного порта. Недостаток такого подхода очевиден — подключенный зонд может следить только за одним портом коммутатора единовременно и не видит общей картины трафика через коммутатор. Другое решение состоит в реализации встроенных агентов на каждом из портов, но при этом производители, как правило, ограничиваются всего несколькими группами RMON.
Оригинальный подход был предложен компанией 3Com в ее Desktop RMON — программные агенты устанавливаются непосредственно на рабочую станцию и используют ее ресурсы для сбора статистики (при этом сетевая плата должна работать в режиме приема всех пакетов). Такое решение позволяет разгрузить коммутатор и собирать статистику об его работе в полном объеме — для этого программное обеспечение достаточ-но установить хотя бы на одну станцию в сегменте.
RMON-2 В СРАВНЕНИИ С RMON-1
Однако RMON-1 имел свои ограничения. В частности, из-за того, что он функционировал на уровне MAC, зонд RMON не мог определить действительного отправителя пакета, попавшего в локальный сегмент через маршрутизатор. Образно говоря, кругозор RMON-1 ограничивался одним сегментом на уровне МАС. Чтобы иметь возможность определить отправителя (или получателя) трафика по другую сторону маршрутизатора, зонд или агент должен уметь идентифицировать трафик на сетевом уровне. Это позволило бы ему предоставлять статистику по всем хостам, кто только обращается в сегмент, независимо от их местонахождения. С этой целью стандарт RMON-2 определяет спецификацию для мониторинга сетевого трафика на сетевом уровне и выше.
RMON-2 не является надмножеством или заменой для RMON-1 — они логически дополняют друг друга (см. Рисунок 1). Так, наиболее предпочтительное место для зондов RMON-1 — сегмент, где они будут полезнее всего для выявления физических ошибок, сбора статистики по станциям и т. п.; а для зондов RMON-2 — магистраль, где они находятся в наилучшем положении для сбора статистики о картине трафике на сетевом и прикладном уровнях.
Рисунок 1. Вместе базы управляющей информации RMON-1 и RMON-2 позволяют собирать статистику о трафике на всех уровнях модели OSI.
RMON-2 обладает гораздо более мощными возможностями фильтрации, так как ему приходится работать с трафиком гораздо большего числа протоколов и на более высоких уровнях.
ЧТО МОЖЕТ RMON-2?
Наиболее очевидная и привлекательная возможность RMON-2 — это мониторинг трафика на сетевом и прикладном уровнях. Стандарт определяет еще девять групп (см. Таблицу 2). Ниже мы кратко рассмотрим, зачем каждая из них нужна и какую информацию администратор может извлечь из содержащихся в них данных.
Группа Protocol Directory позволяет управляющему приложению узнать, какой протокол (или протоколы) реализует конкретный агент. Такая информация просто необходима, если приложение и агент написаны разными разработчиками.
Таблица 2. Группы RMON-2 | |
Название | Описание |
Protocol Directory | Список протоколов, мониторинг пакетов которых зонд может осуществлять. |
Protocol Distribution | Статистика трафика для каждого протокола с информацией о распределении и тенденциях в использовании протоколов. |
Address Mapping | Соответствие между адресами сетевого и MAC-уровней. |
Network-Layer Host | Статистика трафика от и к каждому обнаруженному хосту. |
Network-Layer Matrix | Статистика трафика о диалогах между парами хостов. |
Application-Layer Host | Статистика трафика от и к каждому хосту по протоколам. |
Application-Layer Host | Статистика трафика о диалогах между парами хостов по протоколам. |
User History Collection | Периодические выборки для определенных пользователем переменных. |
Probe Configuration | Удаленная конфигурация параметров зонда. |
Группа Address Translation устанавливает связь между адресами сетевого и MAC-уровней. На основании этих данных администратор может, например, выявить, какие станции имеют одинаковые IP-адреса.
Группы Network-Layer Host, Network-Layer Matrix, Application-Layer Host и Application-Layer Matrix предназначены для сбора статистики о трафике хостов и пар хостов на сетевом и прикладном уровнях. На основании этой статистики администратор может установить, какие клиенты с какими серверами общаются, так что системы могут быть перераспределены между сегментами сети для оптимизации потоков трафика.
Группа User History Collection позволяет администратору самому настроить сбор статистики за определенный период времени по любому из имеющихся счетчиков, например для файлового сервера или соединения между маршрутизаторами (в RMON-1 это можно было сделать только для предопределенных счетчиков), а группа Probe Configuration — удаленно конфигурировать зонд другого разработчика.
ПРАКТИЧЕСКИЙ ПРИМЕР
В своем исследовании "Методология RMON. На пути к успешному внедрению распределенного управления" Джон МакКоннел, глава McConnel Consulting, приводит ряд любопытных примеров применения RMON на практике.
Муниципалитет одного американского города столкнулся с тем, что периодически время отклика серверов возрастало до недопустимых пределов. Сначала пользователи сообщали о невозможности доступа к серверам UNIX по TCP/IP. По истечении часа или около того подобные проблемы начинали возникать с другими протоколами и сервисами. В конце концов, администратор вынужден был перегружать серверы. Однако по прошествии какого-то времени проблема возникала снова.
В результате администратор решил установить в локальной сети несколько зондов RMON. Он тут же обнаружил, что доля широковещательных пакетов составляла свыше 40% от всего трафика. Исходя из этого администратор настроил фильтры на зондах для сбора только широковещательных пакетов. Это позволило установить, что несколько серверов посылают запросы ARP неоправданно часто. Настроив фильтры на сбор пакетов в процессе диалогов между конкретными парами серверов и клиентов, он установил, что на каждый запрос клиента сервер посылает не ответ, а запрос ARP.
Проанализировав полученную информацию, администратор понял, что сервер теряет информацию об адресе клиента сразу же, как только ее получает (иными словами, что кэш ARP непрерывно обновлялся). Проверив конфигурацию одного из серверов, он обнаружил, что тайм-аут для кэша ARP был ошибочно задан в миллисекундах. Изменение значения тайм-аута позволило решить проблему.
ВМЕСТО ЗАКЛЮЧЕНИЯ
Достоинства RMON очевидны. Не покидая свое рабочее место, администратор может видеть весь трафик в локальном сегменте независимо от его реального физического местонахождения — в той же комнате или по другую сторону земного шара. Зная картину трафика, администратор может выявить тенденции, узкие места и проблемные ситуации. При возникновении какой-либо проблемы администратору не надо мчаться по вызову и устанавливать анализатор протоколов, так как он уже имеет в своем распоряжении мощный распределенный диагностический инструментарий — зонд готов передать накопленные за время его работы данные о трафике на консоль по первому требованию.
Дмитрий Ганьжа — ответственный редактор LAN. С ним можно связаться по адресу: diga@lanmag.ru.