МИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
КРАСНОЯРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
Математический факультет
Кафедра прикладной математики
═ ═ ═

Жучков Дмитрий Викторович

Управление и мониторинг в IP-сетях.

(выпускная квалификационная работа)

Допустить к защите

Зав. кафедрой

Доктор физико-математических наук, профессор Воробьев О.Ю.

Подпись:

Научный руководитель

Кандидат технических наук, Ноженкова Л.Ф.

Подпись:

Красноярск 1999

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

ГЛАВА 1. Управление и мониторинг в IP-сетях

1.1. Протокол SNMP

1.2. Управление IP-сетями с помощью SNMP

1.2.1. Общие положения

1.2.2. Безопасность управления с помощью SNMP

1.2.3. Использование MIB-II

1.2.4. Использование BRIDGE-MIB

1.3. Управляемые устройства в сети ИВМ СО РАН

ГЛАВА 2. Программа Diplom SNMP Manager (DSM)

2.1 Требования к программе

2.3. Особенности технологии JAVA

2.3. Структура готовой программы

СПИСОК ЛИТЕРАТУРЫ

ПРИЛОЖЕНИЯ

Введение.

С развитием современных локальных вычислительных сетей (ЛВС) проблема управления и мониторинга сетей становится всё более насущной. Всё больше денег приходится тратить организациям на поддержание нормального функционирования своих локальных сетей. Всё больше людей могут сказать, что их профессией является профессия системного администратора. В наши дни сложно представить современную организацию или компанию, в которой бы не было компьютеров, а компьютерная сеть является наиболее естественным продолжением персонального компьютера. Уже перестали быть редкостью и домашние сети, объединяющие жильцов одного подъезда или дома. Конечно, для управления миниатюрной домашней "сеткой" на 5-10 компьютеров не требуется специальных средств, однако, уже само появление такой "сетки" говорит о большом распространения компьютерных сетей и их росте.

Так вот, сети растут, а, следовательно, вместе с массой преимуществ несут с собой и массу проблем, которые связанны с управлением. Основной проблемой, несомненно, является обеспечение работоспособности сети. Ведь рядовому пользователю не так важна скорость, как постоянство и надёжность работы сети, именно за возможность в любой момент получить сводку новостей или отправить свою почту, пользователь и платит деньги.

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

Таким образом, мы и пришли к пониманию главных врагов системного администратора (ну, кроме кракеров и прочих хулиганов). Это оказались такие вещи как перегрузка, нехватка мощностей, проблемы административного управления и пр. Конечно, существуют также и различные трудности при настройке оборудования, конфигурации серверов и брэндмауеров и т.д., но эти проблемы относятся к сетевому уровню, а данная работа направлена на профилактику физического и канального уровней.

Именно профилактика призвана решить основную часть проблем. Постоянное наблюдение за сетевыми устройствами, приём тревожных сообщений и реакция на них, удобная возможность быстрой настройки - вот те вещи, которые позволят сисадмину спокойно спать и не подскакивать при каждом телефонном звонке. Может быть, кому-то устранять проблему проще когда таковая уже произошла и телефон раскаляется от звонков, однако, это означает потери рабочего времени пользователей и денег организации. А потерь никто не любит, и потому нужно не допустить краха системы. Разумеется, остановки абсолютно недопустимы в жизненно важных системах крупных организаций. В Америке "...организации, входящие в число 50 компаний с наибольшим уровнем доходов, тратят от 250 тысяч до 1 миллиона долларов на управление крупными сетями, объединяющими тысячи серверов. ...Крупным предприятиям зачастую приходится организовывать специальные отделы со значительным числом сотрудников, единственная задача которых - "управление платформой управления"."[3] Кстати, из Америки диктуются и цены на программное обеспечение для систем управления, именно поэтому хорошие системы стоят порядка 500-1000$ за лицензию на одну сеть (или один сервер) и, по понятным причинам, недоступны большинству отечественных государственных организаций, в том числе и образовательным учреждениям.

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

Постановка задачи.

Итак, основной задачей данной работы является написание программы, которая будет давать возможность мониторинга и управления устройствами в IP-сетях. IP-сети или сети на основе стека протоколов TCP/IP являются сегодня основой глобальной сети Internet. Такая распространенность данного типа сетей делает данную работу особенно ценной.

Программа, составляющая основную часть работы, призвана обеспечить минимальные возможности по контролю и управлению любым сетевым устройством, а для некоторых устройств (мостов и переключателей) предоставляет расширенные возможности. Мощным профилактическим средством является использование статистических данных о работе сети. Знание таких параметров как количество возникших коллизий, переданных байтов, принятых и переданных пакетов позволяет вычислять показатели, важные при определении качества работы сети. Более подробно о этих показателях будет сказано далее.

ГЛАВА 1. Управление и мониторинг в IP-сетях.

1.1. Протокол SNMP.

Для получения данных о работе сетевого устройства традиционно используется один из стандартных Internet протоколов - простой протокол управления сетью (Simple Network Management Protocol - SNMP).

SNMP как протокол связи с устройствами и стандарт для определения объектов данных был предложен в 1988 году IAB (Internet Activities Board - комиссия по деятельности в Internet). Первый документ, описывающий протокол SNMP, назывался RFC 1067 (RFC - серия документов, публикуемая IAB, которая предлагает и утверждает стандарты Internet). Затем были выпущены новые версии этого документа - RFC 1098 и RFC 1157. Комиссия IAB определила также и метод описания данных под названием формат ASN.1 (Abstract Syntax Notation 1 - абстрактное описание синтаксиса один).

SNMP является открытым стандартным протоколом и используется при сборе информации с устройств сети. Его можно также использовать для передачи информации устройствам. Это протокол прикладного уровня, запускается обычно поверю протокола IP, однако его можно использовать совместно с IPX и другими протоколами сетевого уровня.

Протокол SNMP действительно прост. Он состоит из команд и реакций. Управляющая программа посылает устройству команду, а устройство реагирует на неё (см. рис ╧1). Протокол SNMP поддерживает команды всего трёх типов:

Рис.1

Объекты и структуры данных в сетевом устройстве или его компоненте описываются с использованием формата ASN.1. Эти описания хранятся в обычных текстовых файлах формата ASCII, каждый из которых описывает одну из MIB (Management Information Base - база управляющей информации). MIB описывает объекты и структуры данных, которые могут быть прочитаны и/или изменены с использованием протокола SNMP.

Что касается ASN.1, то "...язык описания данных определен в стандарте Международной организации по стандартизации (International Standard Organization, ISO) за номером 8824 под названием "Спецификация абстрактного описания синтаксиса, один", а правила кодирования закреплены в стандарте 8825 под названием "Спецификация базовых правил кодирования для ASN.1". Абстрактный синтаксис ASN.1 позволяет определять базовые объекты и затем объединять их в более сложные. Декларации в ASN.1 с функциональной точки зрения схожи с декларациями из файлов-заголовков для программ на С."[4].

При использовании в MIB'ах ASN.1 используется для построения иерархической структуры данных. В этой структуре одни узлы являются "потомками" или "детьми" других узлов, а в конечных узлах содержаться данные. Для доступа к какой-либо переменной MIB необходимо указать полный путь по дереву до этой переменной. Верхний уровень дерева составляют наиболее важные в мире (с точки зрения ISO) организации, а именно ISO и CCITT (теперь ITU), а также их объединение. Нас интересует прежде всего четвертая ветвь ISO с идентификатором identified-organization(3) (признанные организации по стандартизации), далее dod(6) (Министерство обороны США), а затем internet(1). Ветвь internet содержит четыре ветви. Объекты базы управляющей информации находятся под ветвью mgmt (см. Рис. 2). Помимо текстового идентификатора (label) каждая ветвь имеет свой числовой идентификатор (number). Объект может записываться с использованием текстовых или числовых идентификаторов в любой их комбинации. Как видно из описанной структуры, все объекты базы управляющей информации имеют общий префикс iso.identified-organization.dod.internet.mgmt.mib-2 или {1 3 6 1 2 1} или {internet(1) 2 1} и т. п.

Таким образом, любой объект может быть представлен с помощью идентификатора объекта (OID - Object IDentifier).

SNMP использует 13 простых типов:

и 3 составных:

"Несмотря на некоторую громоздкость, абстрактное описание синтаксиса, а точнее, его конкретная форма, используемая в SNMP, позволяет сетевым устройствам различных производителей представлять и сообщать управляющую информацию в стандартном виде."[4]

1.2. Управление IP-сетями с помощью SNMP.

1.2.1 Общие положения

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

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

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

Осуществлять управление сетевым устройством позволяет некая программа, которая работает на его контроллере, называемая агентом SNMP или просто агентом. Агент устройства взаимодействует с оборудованием, управляет его объектами данных и отвечает на запросы протокола SNMP на чтение или модификацию объектов. Заметим, что агент не использует напрямую содержимое файла MIB.

Агенты не обязательно содержаться только в сложных сетевых устройствах типа повторителя или переключателя; сетевые операционные системы для рабочих станций и серверов, такие как UNIX, Windows NT, Windows 95-98, NetWare, поддерживают агентов SNMP. При разработке MIB для своих операционных систем фирмы-производители, а особенно Novell, проявили большую изобретательность. В последние годы идут разработки MIB'ов для серверов, они призваны обеспечить управление сервером по SNMP.

Другой стороной системы управления сетью стандартно является NMS (Network Management Station - станция управления сетью). Она часто называется просто консолью. NMS обычно представляет собой пакет прикладных программ, запущенный на рабочей станции. Программы NMS применяют SNMP для связи с управляемыми устройствами и предоставляют пользователю интерфейс который даёт возможность легко читать и интерпретировать полученные данные, а также управлять устройствами.

Именно реализация собственной NMS и является логическим завершением данной работы. Ключевым моментом работы является то, что, в связи с мировым развитием Java-технологий NMS, реализована в виде Java-приложения. В пункте 2.1. приведена мотивация данного выбора и описаны основные достоинства технологии Java.

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

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

Управляемые устройства часто поддерживают много различных MIB. Часть этих MIB определена в стандартах IETF. Большинство устройств поддерживают также MIB предприятия или патентованные MIB для обеспечения дополнительной информации и возможностей управления. Двумя наиболее важными базами управляющей информации для узлов, переключателей и повторителей Ethernet являются MIB-II, описанная в документе RFC-1213, и RMON MIB, заданная документом RFC-1757. Существуют также MIB для специальных типов устройств: например для переключателей есть BRIDGE MIB (RFC-1493).

1.2.2. Безопасность управления с помощью SNMP.

Как уже было сказано, в мире доступно довольно большое количество средств управления по протоколу SNMP. Из-за такой доступности средств управления возникают вопросы, связанные с безопасностью управления, ведь получается, что устройством может управлять любой пользователь Internet, знающий IP-адрес устройства. Злоумышленник может занести вредоносное программное обеспечение на ваш переключатель или маршрутизатор, он может просто вывести его из строя постоянными перезагрузками или неверными настройками. В начальных стандартах протокола SNMP была лишь слабая защита по принадлежности к группе, название которой открытым текстом передавалось по сети. Но создатели SNMP и не задавались целью создать безопасный протокол, они создавали простой протокол. Столь очевидная уязвимость протокола позволила людям раскрыть аббревиатуру SNMP как Security is Not My Problem (Секретность Не Моя Проблема). Конечно, такая проблема не могла быть обойдена создателями последующих версий протокола. В современной, третьей версии протокола существуют средства защищённой передачи паролей доступа к управляемым устройствам. Они обеспечивают относительную безопасность управления. Но, несмотря на усовершенствования протокола, он оставляет значительные бреши в системе безопасности сети и не рекомендуется к использованию в системах с повышенными требованиями к секретности.

1.2.2. Использование MIB-II.

MIB-II была определена в мае 1990 года и поддерживается почти всеми управляемыми устройствами. MIB-II общепринята, поскольку она определяет объекты данных, специфичные для одного или нескольких сетевых интерфейсов. Т.е. если устройство имеет хотя бы один сетевой интерфейс, то оно должно поддерживать MIB-II. В самой MIB-II данные делятся на 8 групп:

Системная(System) - Общая информация об устройстве: название, место расположения, имя владельца и прочее.

Интерфейсов(Interface) - Данные о каждом интерфейсе устройства.

Трансляции адресов(AT) - Существует только для обеспечения совместимости с MIB-I, предшественницей MIB-II. Эта информация имеется и в других группах MIB-II и часто эта группа не доступна на конкретных устройствах.

IP - Содержит сведения о функционировании протокола IP на данном устройстве и его интерфейсах.

ICMP - Информация о сообщениях ICMP, переданных и полученных интерфейсом.

TCP - Содержит сведения о функционировании протокола TCP на данном устройстве и его интерфейсах.

UDP - Содержит сведения о функционировании протокола UDP на данном устройстве и его интерфейсах.

Передачи(Transmission) - Объединяет подбазы MIB, в которых хранится информация относящаяся к специфическим сетевым технологиям, таким как Ethernet, Fast Ethernet, Token Ring.

SNMP - Содержит информацию о протоколе SNMP, используемую для управления данным устройством.

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

Обычно данные MIB-II , собранные устройством типа сервера или рабочей станции, отражают статистику только для одного сетевого интерфейса. Самого по себе этого недостаточно для вычисления значения показателя использования сети и других интересующих нас параметров. Например, вы не можете применить для этой цели данные MIB-II, собранные на сетевом интерфейсе сервера.

Однако порт переключателя (или моста) - это совсем другое дело! Благодаря специфики своего положения и устройства, он видит весь трафик каждой области коллизий, с которыми связан. Поэтому производительность сети может быть легко рассчитана с использованием статистики MIB-II, полученной с портов переключателя.

MIB-II содержит много различных объектов, однако для вычисления значения показателя использования сети, нам нужны следующие данные, собранные с портов переключателя:

SysUpTime(.1.3.6.1.2.1.1.3.0) - время (в сотых долях секунды) прошедшее от последнего запуска системы.

IfSpeed(.1.3.6.1.2.1.2.2.1.5) - Номинальное (или оценочное) значение текущей полосы пропускания интерфейса (в битах в секунду).

IfInOctets(.1.3.6.1.2.1.2.2.1.10) - Общее количество октетов (байт), полученных интерфейсом, включая символы кадровой синхронизации.

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

IfInNUcastPkts(.1.3.6.1.2.1.2.2.1.12) - Количество неоднопунктовых (т.е. широковещательных или многопунктовых) пакетов подсети, переданных протоколам более высокого уровня.

IfInDiscards(.1.3.6.1.2.1.2.2.1.13) - Количество отброшенных входных пакетов, в том числе и тех, в которых не были обнаружены ошибки. Т.е. количество кадров потерянных из-за нехватки мощностей или перегрузок.

IfOutOctets(.1.3.6.1.2.1.2.2.1.16) - Общее количество октетов (байт), переданных интерфейсом, включая символы кадровой синхронизации.

IfOutUcastPkts(.1.3.6.1.2.1.2.2.1.17) - Количество однопунктовых пакетов подсети, переданных протоколами более высокого уровня наружу. В том числе и отброшенные и непереданные пакеты.

IfOutNUcastPkts(.1.3.6.1.2.1.2.2.1.18) - Количество неоднопунктовых (т.е. широковещательных или многопунктовых) пакетов подсети, переданных протоколами более высокого уровня наружу. В том числе и отброшенные и непереданные пакеты.

IfOutDiscards(.1.3.6.1.2.1.2.2.1.19) - Количество отброшенных выходных пакетов, в том числе и тех, в которых не были обнаружены ошибки. Т.е. количество кадров потерянных из-за нехватки мощностей или перегрузок.

По-видимому, самым важным параметром MIB-II, используемым для вычисления различных параметров, является sysUpTime. Этот параметр показывает как устройство измеряет время, и без него нельзя сделать какие-либо выводы. Причина в том, что все счётчики в MIB-II являются всего лишь счётчиками и сказать, что означает интригующий факт равенства IfInOctets числу 2536794, очень затруднительно. Это может быть значение количества принятых байт за один день, один год, три минуты, а вот sysUpTime как раз и сообщает, а сколько же работает устройство или, что более важно, сколько времени прошло от последнего измерения. Ведь другой особенностью счетчиков MIB-II является их 32-разрядность, т.е. максимальное значение в счётчике может быть 4294967296 (примерно 4.3 миллиарда). А это значит, что при полной загрузке сети Ethernet со скоростью 10 Мб/сек счетчик принятых (или отправленных) октетов переполнится примерно через 58 минут.

От этих проблем можно избавится при помощи приёма называемого дискретизацией. Т.е. измерение показателей счётчиков учитывается с постоянной оглядкой на значение переменной sysUpTime. Например, при вычислении показателя использовния сети требуется считывать значения счётчика IfInUcastPkts. Пусть измерения производятся с периодичностью в 5 секунд или 30000 единиц sysUpTime. Если при очередном замере оказывается, что значение счётчика IfInUcastPkts меньше чем в прошлом замере, значит счётчик переполнился и это нужно учесть при подсчёте прироста значения.

Пример:

Пусть первое значение счётчика V1 = 4292824677,

а второе значение счётчика V2 = 2785.

Тогда прирост счётчика составит:

Количество = (2^32 - V1) + V2

2145404 = (4294967296 - 4292824677) + 2785

1.2.3. Использование BRIDGE-MIB.

1.3. Управляемые устройства в сети ИВМ СО РАН.

Результатом данной работы является программа позволяющая изучать статистическую информацию, поступающую с сетевых устройств. Кроме возможности минимального управления практически любым сетевым оборудованием, в программу вложены сведения о некоторых специальных устройствах. Для этих устройств предусмотрены особые наборы MIB'ов и, следовательно, особые возможности управления. В данном случае такими "счастливчиками" являются два устройства, работающие в ИВМ СО РАН и обеспечивающие функционирование локальной сети Красноярского Научного Центра:

1. Мост ELS10-26.

2. Переключатель SmartSwitch 6000 (6H122-08 SS 6000 Module, 6C105 SS 6000 Chassis).

Оба они произведены фирмой Cabletron System. Именно на эти устройства, в первую очередь, настроена программа и изначально только для них существуют возможности расширенного управления. Поясним смысл названий устройств:

Мост (Bridge) - "устройство, соединяющее две или несколько физических сетей и передающее пакеты из одной сети в другую. Мосты могут фильтровать пакеты, т.е. передавать в другие сегменты или сети только часть трафика, на основе информации канального уровня (MAC-адрес). Если адрес получателя присутствует в таблице адресов моста, кадр передается только в тот сегмент или сеть, где находится получатель. Похожими устройствами являются повторители (repeater), которые просто передают электрические сигналы из одного кабеля в другой и маршрутизаторы (router), которые принимают решение о передаче пакетов на основе различных критериев, основанных на информации сетевого уровня. В терминологии OSI мост является промежуточной системой на уровне канала передачи данных (Data Link Layer)."[7]

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

Оба этих устройства принадлежат к самому дорогостоящему типу сетевого оборудования. Для примера стоимость переключателей может достигать до 1000$ в расчёте на один порт (у ELS10-26 их 26 штук, правда, он не переключатель, а мост). К сожалению, управляющее программное обеспечение для этих устройств имеет соответствующую стоимость (сотни $), что также является одним из побуждающих факторов для выполнения данной работы.

Возможно в дальнейшем понадобится более подробное описание идеологии и техники функционирования этих устройств, однако сейчас должно хватить и приведённого выше короткого определения. В силу небольшой функциональной разницы между этими устройствами в дальнейшем повествовании термины "мост" и "переключатель" будут использоваться взаимозаменяемо, однако, строго говоря, эти устройства различны и этого не следует забывать. В случае существенной разницы между переключателем и мостом это будет явно указано.

Кроме того, что эти два устройства являются управляющими, т.е. управляют работой сети, они также являются и управляемыми, т.е. предоставляют возможность управлять собой при помощи протокола SNMP. Естественно, что оба эти переключателя поддерживают как стандартные MIB, так и MIB производителя (enterprise MIB). Используя доступ к переключателям по протоколу SNMP можно получать информацию о работе самих устройств и о работе всей сети. В силу своего логически центрального расположения переключатели (как и мосты) имеют выгодную позицию с точки зрения мониторинга сети и сетевого трафика. Именно это позволяет на основании анализа данных, полученных с переключателя, делать наиболее точные выводы о функционировании сети.

ГЛАВА 2. Программа Diplom SNMP Manager (DSM)

2.1. Требования к программе:

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

Основные требования к программе:

  1. Возможность считывания параметров с устройств.
  2. Возможность записи параметров на устройства.

2.2. Особенности технологии Java:

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

а) Переносимость:

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

б) Внутренняя безопасность:

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

в) Расширяемость:

Как и каждый объектно-ориентированный язык программирования Java позволяет расширять созданные программы без исправления уже работающего кода. Технология Java Beans позволяет создавать на Java компоненты подобные ActiveX и интегрировать их в новые приложения.

В настоящее время многие крупные производители делают ставку на технологию Java. В компании Novell разрабатываются новые версии программы сетевого управления ManageWise на основе технологии Java. Последняя версия сетевой ОС NetWare 5.0 имеет инструментарий управления на основе Java. Надо отметить, что этот инструментарий пока не удовлетворяет требованиям к быстродействию, однако это только первая попытка такого широкого использования Java. "Виртуальная машина Java в составе NetWare полностью соответствует спецификации JDK 1.1.5. Базовый комплект NetWare включает несколько приложений Java, в том числе графический интерфейс консоли, единую консоль управления сетью ConsoleOne, удаленную консоль сервера RConsoleJ и др." [2]

2.3. Структура готовой программы

В основе всей данной работы лежит библиотека Java-классов AdventNet SNMPv2c Package version 1.3.1 производства фирмы AdventNet. Данная библиотека классов реализует базовую часть работы с протоколом SNMP. Такие классы как SnmpAPI, SnmpOID, MibModule и пр. обеспечивают низкоуровневое взаимодействие устройств. Наличие этой библиотеки позволило не разрабатывать заново низкоуровневой части, а, после изучения библиотеки, сосредоточиться на построении приложения с требуемыми свойствами. Следует сказать, что данная библиотека является свободно распространяемым программным продуктом и этим выгодно отличается от себе подобных.

Готовая программа является GUI-приложением, т.е. рассчитана на графический оконный интерфейс.

Логически программ состоит из двух независимых частей:

  1. Собственно Diplom SNMP Manager - программа, реализующая все заявленные в требованиях возможности.
  2. Просмотрщик MIB (MIB Browser) - отдельная, самостоятельная часть программы, обеспечивающая просмотр и модификацию переменных MIB. Дополнительной возможностью MIB Brrowser'а является получение справки о конкретных переменных MIB.

Дополнительную информацию о порядке работы с программой, её возможностях, особенностях и ограничениях можно получить из Приложения 1, в котором приведён текст файла Readme.txt входящего в стандартный набор распространения программы.

Заключение

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

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

Текущая версия программы всегда доступна на домашней Web-странице автора по адресу http://home.kts.ru/Dimkas.

Хочется выразить благодарность своему научному руководителю Ноженковой Людмиле Фёдоровне за содействие в реализации данной идеи, не имеющей прямого отношения к деятельности лаборатории, а также аспиранту ИВМ СО РАН Муравьёву Дмитрию за идею и помощь.

Список литературы

  1. Fast Ehternet. Лаем Куин, Ричард Рассел. "BHV". 1998г. 445стр.
  2. Журнал сетевых решений LAN, (декабрь 1998, том 4, номер 12, стр.71).
  3. Lan Magazine/Русское Издание, (январь 1997, том 3, номер 1, стр.34).
  4. LAN/Журнал сетевых решений (октябрь 1998, том 4, номер 10 ).
  5. ELS10-26 MIB Reference Guide. Cabletron System.
  6. AdventNet SNMP-v2c Package version 1.3.1 Documentation.
  7. Глоссарий сетевых терминов на сервере Центра Информационных Технологий. HTTP://WWW.CITFORUM.RU
  8. Язык программирования Java. КенАрнольд, Джеймс Гослинг. "Питер Пресс". 1997г. 305стр.
  9. Технология Java в подлиннике. Дж.Вебер. "BHV" 1997г. 1106стр.


Приложение 1

Diplom SNMP Manager (DSM). ~~~~~~ ~~~~ ~~~~~~~ ~~~~~~

Программа Diplomik предназначена для управления сетевыми устройствами

по протоколу SNMP.

Основные возможности.

~~~~~~~~ ~~~~~~~~~~~~

- Просмотр MIB'ов устройств - операция GET.

- Модификация MIB'ов устройств - операция SET.

Установка и работа.

~~~~~~~~~ ~ ~~~~~~~

Программа написана на Java и поэтому программные файлы должны быть

явно видны для системы. Иначе ничего не будет работать.

Для этого распакованный каталог \DSM поместите в одно из указанных

в переменной CLASSPATH мест или пропишите его путь в переменной CLASSPATH.

Пример: CLASSPATH = %CLASSPATH%;C:\Progra~1\DSM;

После этого можно запускать программу:

1) С помощью средств Windows:

C:\Program Files\DSM>jview Diplomik

2) Если у Вас установлен JDK 1.4 или выше:

C:\Program Files\DSM>java Diplomik

3) Отдельно можно запускать MIB Browser:

C:\Program Files\DSM>java Diplom.MibBrowser

C:\Program Files\DSM>jview Diplom.MibBrowser

Замечание.

~~~~~~~~~~

Имейте ввиду что эта штука различает большие и маленькие буквы даже

в командной строке.

Bugs & Features.

~~~~ ~ ~~~~~~~~~

- Перед подачей команды SET добавьте руками к OID'у ".0" (точка ноль),

если он сам уже не добавил.

- Вся работа пока ведётся в пределах RFC1213-MIB (MIB-2) и только для

устройств типа МОСТ подключается RFC1286-MIB (BRIDGE-MIB).

- Часто простого нажатия мышкой не хватает и нужно нажать два раза.

Ну это уже в чистом виде фичи :-))

- При запуске с помощью jview.exe не всегда происходит загрузка

сохранённой конфигурации.

Заключение.

~~~~~~~~~~~

Это первая версия дипломной работы. Работа над ней ведётся только

2 месяца. Но впереди ещё много времени. Так что сообщения об ошибках

принимаются с благодарностью. Пишите, иначе полная версия может и не появится.

Её появление зависит от интереса проявленного Вами.

Могу привести примерные возможности полной версии:

- Построение карты сети с мостами и переключателями (и без них:).

- Приём сообщений от устройств (SNMP Trap).

- Хранение и обработка статистики о работе устройств.

- Загрузка и работа с произвольными MIB'ами.

- Динамический опрос устройств с построением графиков.

- и т.д.

Предлагайте свои идеи. Авторство забыто не будет.

Дмитрий Жучков

dimkas@krasu.ru