Одной из основных в практическом плане задач администрирования вычислительных сетей является мониторинг сетевой топологии, т.е. отслеживание соединений между узлами сети и определение характеристик этих соединений. Данная информация, представленная в графическом виде, позволяет практически мгновенно осуществлять оценку общего состояния вычислительной сети и, при необходимости, быстро локализовать ее сбойные участки. Таким образом, визуализация сетевой топологии представляет собой важнейший инструмент сетевого администрирования, который в силу своей наглядности и удобства практического применения значительно снижает трудозатраты на поиск и устранение проблем в сетях.
Вместе с тем следует отметить, что задача автоматизации графического представления топологий вычислительных сетей, особенно имеющих сложную структуру, в общем случае является достаточно нетривиальной и требует определенных знаний из теории графов и сопряженных с этим математических дисциплин. В этой связи на практике графическое изображение сетевой топологии осуществляется, как правило, вручную теми или иными способами, начиная от самых примитивных вроде рисования схемы сети от руки на бумаге и заканчивая применением специализированных графических редакторов, таких как Microsoft Visio или AutoCAD, обеспечивающих лишь частичную автоматизацию данного процесса. Преимущество такого подхода заключается в его относительной простоте и сравнительно невысоких требованиях к квалификации исполнителя. Однако его радикальным недостатком является сложность поддержки схем практически любой более или менее разветвленной сети даже с небольшим количеством узлов, так как любые изменения в такой схеме должны отслеживаться администратором сети самостоятельно и вручную отображаться в графическом представлении сети по мере их возникновения. Очевидно, что при таких процессах как развертывание, переконфигурирование или миграция сетевого пространства, сопровождающихся интенсивными изменениями топологии, а также в случае изменений топологии в больших сетях со сложной архитектурой сопровождение графических схем без применения средств автоматизации фактически теряет всякий смысл. Также следует особо отметить нюанс, связанный с разницей в физической и логической топологиях. Так, например, при изображении схемы маршрутизации трафика с использованием протоколов, основанных на вычислении «стоимости» маршрутов, логический «путь» от одного узла к другому может принципиально отличаться от их физического соединения, а такие технологии как Link Aggregation или Etherchannel по самой своей сути предназначены для создания логического соединения узлов, использующего несколько физических каналов, что, естественно, по-разному изображается на схемах. Подобного рода особенности работы вычислительных сетей зачастую диктуют необходимость одновременного сопровождения нескольких различных схем для одной и той же сети, что еще более затрудняет их ручное ведение. Таким образом можно констатировать тот факт, что мониторинг сетевых топологий без применения средств автоматизации этого процесса может эффективно осуществляться только в случае небольших сетей, либо сетей с очень стабильной архитектурой, в минимальной степени подверженной изменениям.
В настоящее время на рынке представлено большое количество систем мониторинга вычислительных сетей, отличающихся по своему функционалу, сфере применения и требованиям к квалификации специалистов, использующих эти системы (CiscoWorks, LANDesk и другие). Однако по причине своей технической сложности системы мониторинга отличаются высокой стоимостью, которая практически исключает их применение в сетях класса SOHO или других сетях небольшого масштаба. В этой связи разработка технологии, позволяющей автоматизировать процесс создания и мониторинга топологий небольших сетей, и дальнейшее создание на ее основе свободно распространяемых систем мониторинга представляется весьма актуальной задачей, обладающей большим практическим потенциалом.
Основные этапы и ожидаемые результаты
Целью данного проекта является разработка технологии автоматизированного построения топологий локальных вычислительных сетей. В рамках выполняемой работы предполагается выполнение следующих задач:
1. Анализ существующих подходов.
2. Математическое обоснование предложенных в рамках работы решений.
3. Разработка алгоритмов автоматизированного построения сетевой топологии на основе предложенных решений.
4. Реализация алгоритмов для целей тестирования и демонстрации применения технологии в практических задачах.
Математическая основа исследования тесно связана с теоретическими аспектами построения компьютерных сетей на базе теории графов. Узлы компьютерной сети представляются в виде вершин графов, а связи между узлами - в виде ребер. Учитывая, что взаимодействие узлов носит, как правило, двухсторонний характер, для его математического описания используются неориентированные графы и связанный с ними набор понятий и методов. Таким образом, в рамках первых двух этапов работы предполагается детальное изучение тех аспектов теории графов, которые напрямую связаны с отображением сетей на плоскости. При этом следует особо отметить, что практическая реализации технологии предполагает не только первичное построение сетевой топологии на основе информации об узлах сети и характеристиках соединений между ними, но и собственно отслеживание состояний этих соединений и их изменение во времени, что предполагает разработку соответствующего математического аппарата, являющегося, в свою очередь, основой для создания соответствующих алгоритмов.
Практическая составляющая работы включает в себя интеграцию собственных разработок с существующими на сегодняшний день подходами к визуализации данных посредством библиотеки OpenGL и известными методами получения информации о сетевых устройствах в реальном времени, что позволит создать законченный программный продукт для демонстрации возможностей предлагаемой технологии и определения путей ее дальнейшего развития и совершенствования.
Заключение
Предлагаемый проект носит исследовательский характер и направлен на создание новых подходов к автоматизации работы с топологиями вычислительных сетей малого и среднего масштаба. Результаты исследования должны послужить прочным фундаментом для разработки программных систем мониторинга сетевых топологий, схожих по ряду характеристик с коммерческими системами, что позволит широко применять их для решения многих практических задач сетевого администрирования.