Автоматизация управления сетью кратко

Обновлено: 04.07.2024

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

Средства управления сетями: назначение и архитектура

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

Современные средства управления сетями могут выполнять следующие задачи:

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

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

В общем случае архитектура системы управления сетью имеет вид, представленный на рис. 1.

Современный рынок средств управления сетями

о данным IDC (International Data Corporation), в последние три года лидерами рынка средств управления корпоративными сетями в категории инструментов управления производительностью и доступностью являются BMC Software, Computer Associates, IBM и Hewlett-Packard (рис. 2).

Те же компании лидируют и на рынке средств обработки сетевых событий (рис. 3).

Что касается операционных систем, совместно с которыми применяется данная категория программного обеспечения, то подобные продукты наиболее широко используются совместно с мэйнфреймами, UNIX и Windows; а что касается Linux, иных операционных систем, платформенно-независимых средств, то применение средств управления корпоративными сетями в них ничтожно мало (рис. 4).

В соответствии с этими данными мы рассмотрим средства управления сетями IBM, Hewlett-Packard, Computer Associates и BMC Software. Помимо этого мы также кратко остановимся на некоторых продуктах компании Microsoft, относящихся к данной категории, поскольку они довольно активно используются в нашей стране.

Средства управления корпоративными сетями ведущих мировых производителей

Tivoli (IBM)

Семейство продуктов Tivoli, предназначенных для управления сетевой инфраструктурой предприятий различного масштаба, основано на наборе базовых компонентов. Главной отличительной особенностью данного семейства продуктов является так называемое упреждающее управление IT-инфраструктурой и целостный подход к среде управления, учитывающий тот факт, что в современных приложениях одна-единственная транзакция может затрагивать довольно много управляемых объектов, например несколько серверов баз данных и Web-серверов, сервер приложений и т.д. Подобный подход, по уверениям IBM, помогает выявлять и устранять неисправности еще до их возникновения и автоматизировать этот процесс.

Семейство продуктов Tivoli включает продукты для управления масштабируемостью, производительностью, безопасностью и хранением данных:

  • IBM Tivoli Service Level Advisor — обеспечивает упреждающее управление и предоставляет возможность прогнозировать отказы посредством количественного анализа производительности;
  • Tivoli Enterprise Data Warehouse — репозитарий данных о сети в масштабе предприятия, основанный на СУБД IBM DB2, выполняющий архивацию данных, которые поступают из разнородных систем и приложений, и облегчающий поиск и извлечение таких данных;
  • IBM Directory Server 4.1 — позволяет синхронизировать данные о безопасности в масштабах всех используемых приложений. Продукт основан на открытом стандарте LDAP и поставляется бесплатно в комплекте с другими продуктами Tivoli;
  • IBM Tivoli Switch Analyzer — автоматически выполняет обнаружение и заполнение всех коммутаторов сетевого уровня;
  • IBM Tivoli Enterprise Console, интегрированная с NetView, — средство многоуровнего поиска причин неисправностей и анализа событий;
  • IBM Tivoli Storage Manager 5.1 — решение для защиты данных, которое сочетает в себе средства резервного копирования данных и обеспечения непрерывности работы приложений одновременно с интегрированным и автоматически обновляемым планом аварийного восстановления;
  • IBM Tivoli Privacy Wizard — новый бесплатный программный инструмент, с помощью которого можно определять и стандартизировать политику конфиденциальности данных на основе правовых и организационных требований.

Продукты семейства Tivoli доступны для платформ AIX, HP-UX, Sun Solaris, Windows NT, Windows 2000, Novell NetWare, OS/2, AS/400, Linux, z/OS, OS/390.

Unicenter (Computer Associates)

Линейка продуктов Unicenter, доступных для платформ UNIX и Windows, предназначенных для централизации системного администрирования, а именно для управления вычислительными ресурсами предприятия (сетями, серверами, базами данных, приложениями и т.п.), также состоит из набора компонентов, которые можно приобретать как по отдельности, так и в комплекте, в зависимости от задач администрирования, стоящих перед компанией.

Базовым компонентом этого семейства является Unicenter 3.0 Network and Systems Management (NSM), который представляет собой средство для управления производительностью и доступностью сетевых ресурсов. Данный продукт обладает современными и простыми в применении средствами визуализации данных, порталами управления, а также средствами поиска зависимостей между событиями и данными о сетевых устройствах, применяемых для анализа причин возникновения проблем. В состав продукта входят также SDK (Software Development Kit) для Java-разработчиков и компоненты интеграции Unicenter 3.0 NSM со всеми другими решениями компании CA по управлению инфраструктурой. Продукт поддерживает управление кластерами всех популярных серверов, включая решения Compaq, Microsoft, поставщиков платформ Linux и UNIX. Агенты, используемые в данном продукте, носят название нейроагентов и обладают способностью к самообучению. Можно создавать свои собственные расширения к Unicenter 3.0 с помощью Java, Visual Basic, C++ и других средств разработки, а также интегрировать с этим продуктом другие приложения.

Кроме того, CA поставляет новые версии других решений, включая Unicenter Service Level Management и Unicenter Web Infrastructure Management, расширяющих достигнутое лидерство компании на быстрорастущих рынках e-Business.

Unicenter Service Level Management 2.0 — еще один продукт из семейства Unicenter — позволяет преобразовывать информацию о состоянии систем, а также данные о производительности, собранные от большого количества разнородных источников данных, в данные о работе различных сервисов, включая время отклика на запросы и уровни затребованной пользователем поддержки, а также для генерации отчетов по этим данным.

Unicenter Management for WebLogic и Unicenter Management for WebSphere предназначены для помощи IT-администраторам в управлении ресурсами серверов приложений. Эти решения гарантируют обеспечение производительности и доступности J2EE-приложений, в том числе и EJB-приложений, осуществляя мониторинг и тестирование бизнес-логики EJB, автоматизированное обнаружение развернутых сервлетов, мониторинг производительности серверных компонентов EJB, автоматизированное управление решения проблем при эксплуатации J2EE-приложений.

PATROL (BMC Software)

Компания BMC Software — всемирно известный разработчик и поставщик более 160 средств администрирования сетей, приложений, баз данных, ERP- и CRM-систем, которые повышают доступность, производительность и восстанавливаемость критических бизнес-приложений и данных. Одним из наиболее известных ее решений является семейство продуктов PATROL, предназначенных для управления различными приложениями, СУБД, связующим ПО, сервисами Internet и операционными системами, для автоматизации процедур администрирования, для оценки производительности серверов и приложений, для автоматического устранения проблем до того, как они окажут влияние на работу пользователей, для предоставления централизованного управления для информационных систем, обладающих при этом открытой архитектурой и единым пользовательским интерфейсом.

PATROL работает на широком спектре платформ, включая различные реализации UNIX, Windows NT, OS/2, OS/390, OpenVMS и NetWare. Это семейство продуктов интегрируется со средствами управления сетевой инфраструктурой других ведущих производителей. Для разработчиков приложений имеются документированный API и средства разработки.

Компоненты, составляющие архитектуру PATROL, включают:

Приложения семейства PATROL обладают скриптовым языком, используемым для настройки продукта.

OpenView (Hewlett-Packard)

HP OpenView — это комплекс программных продуктов, ориентированных на управление корпоративными информационными технологиями любого масштаба, от небольших систем на базе NT-серверов до крупных распределенных систем на базе HP-UX, Solaris, других версий UNIX и Linux, Windows NT/2000, содержащих несколько тысяч компьютеров. В данный комплекс входят средства управления сетями, операционными системами, приложениями, а также их производительностью, копированием и хранением данных, сервисами.

HP OpenView Operations for Windows представляет собой решение для управления бизнес-процессами и производительностью приложений, позволяя осуществлять контроль событий в сети и приложениях. Развертывание системы и построение графических представлений сервисов происходит после установки базового агента HP OpenView Operations for Windows автоматически на основании поиска и обнаружения приложений, баз данных и сервисов. HP OpenView Operations for Windows интегрируется со средством управления HP OpenView Network Node Manager, что позволяет производить автоматический поиск новых серверов, добавленных в сеть, а затем выполнять автоматическое развертывание требующихся компонентов и политик на основе результатов поиска сервисов.

Решение HP OpenView Operations for Windows содержит простой в эксплуатации графический редактор, который позволяет конфигурировать сервисы и приложения, а также редакторы политик и средства управления их версиями. В состав продукта входят также политики и инструменты, предназначенные для управления службами операционных систем Windows NT/2000, HP-UX и Sun Solaris.

HP OpenView Operations for Windows осуществляет мониторинг собранных данных для выявления нестандартных ситуаций. Механизм динамического измерения, реализованный в HP OpenView Operations for Windows, позволяет изменять частоту и интенсивность сбора данных на основе статуса управляемой службы.

HP OpenView Operations for Windows также содержит функции автоматической коррекции — автономные интеллектуальные агенты могут запустить необходимые инструменты автоматически.

Этот комплекс базируется на современных отраслевых стандартах, в том числе на WMI (Windows Management Instrumentation), MMC (Microsoft Management Console) и WBEM (Web Based Enterprise Management).

Помимо семейства продуктов HP OpenView Operations for Windows, Hewlett-Packard предлагает набор продуктов сходного назначения для всех основных операционных систем семейства UNIX, Novell NetWare, Linux, а также для ряда более ранних операционных систем.

Application Center 2000 (Microsoft)

Такую компанию, как Microsoft, не стоит забывать даже в том случае, когда ее название не присутствует в списке лидеров того или иного сегмента рынка программного обеспечения — способность этой компании быстро завоевывать лидирующие позиции в областях, где еще недавно о ней никто не слышал, общеизвестна. Согласно прогнозам Gartner Group, к 2006 году Microsoft войдет в четверку лидеров на рынке средств управления сетями и операционными системами и займет большую часть рынка средств управления сетями, основанными на платформе Windows (см. R. Colville, C. Haight, Microsoft Is Positioned to Dominate Windows Management — Research Note, Strategic Planning Assumption, 22 May 2002). Основанием для такого утверждения является наличие в арсенале Microsoft средств конфигурационного управления, таких как Systems Management Server (SMS) для управления рабочими станциями и Application Center для осуществления управления кластерами серверных продуктов Microsoft.

Microsoft Application Center 2000 представляет собой набор инструментов для развертывания и администрирования приложений, работающих под управлением операционной системы Microsoft Windows 2000. Этот продукт позволяет осуществить так называемое горизонтальное масштабирование — архитектуру, в которой в качестве единого ресурса применяется несколько стандартных серверов. В случае применения Application Center пользователи создают описание для каждого приложения, в котором документируются его компоненты и конфигурационные настройки. В дальнейшем это описание используется при развертывании приложений и управлении ими. С помощью консоли Application Center можно управлять функциональностью отдельных серверов или групп серверов в кластере, развертыванием, синхронизацией, балансом загрузки приложений, анализировать производительность приложений, соединяться с серверами и кластерами, создавать кластеры, перезапускать серверы и сервисы, управлять приложениями, функционирующими в кластерах, заменять компьютер, управляющий кластером. При этом администрирование может быть удаленным.

Следующая версия Application Center ожидается в конце этого года и будет включать интеграцию с Active Directory и поддержку мобильных устройств.

Отметим, что, помимо выпуска Application Center, Microsoft встраивает средства управления (в частности, средства распространения приложений, такие как IntelliMirror и Windows Installer) и средства удаленного управления (такие как Windows Terminal Server). Кроме этого среди продуктов Microsoft также имеется продукт Microsoft Operations Manager, исходный код которого был лицензирован у компании NetIQ в октябре 2000 года. Этот продукт реализует применение агентов для контроля за поведением операционной системы и приложений, таких как Exchange и SQL Server. Сходная функциональность включена и в такие средства администрирования, как Exchange System Manager и SQL Server Enterprise Manager. Кроме того, у Microsoft имеется ряд дополнительных продуктов, например Visio Enterprise Network Tools (дополнительный модуль к Visio), предназначенный для поиска сетевых устройств) и Application Center Test, предназначенный для тестирования загрузки Web-серверов (он доступен в составе Visual Studio Enterprise Architect).

Заключение

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

Автоматизированная информационная система (Automated information system, AIS) – совокупность программных и аппаратных средств, предназначенных для хранения и (или) управления данными и информацией и производства вычислений. Следовательно, автоматизированная информационная система (АИС) является частью любого административного механизма – платформой управления и сетевой службой.

Платформа управления сетью (Network management platform) – комплекс программ, предназначенных для управления сетью и входящими в неё системами.

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

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

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

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

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

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

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

МНОГОПОЛЬЗОВАТЕЛЬСКИЕ ИНФОРМАЦИОННЫЕ СИСТЕМЫ
И СРЕДЫ. ПРИНЦИПЫ И ПРИМЕРЫ ПОСТРОЕНИЯ

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

Многопользовательская среда – компьютерная сетевая программа, создающая среду для реализации различных типов поведения различных пользователей.

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

Повторители – самые простые устройства для соединения сетей (в т.ч. ЛВС), предназначенные для увеличение длины сегмента сети (сетевого кабеля). Так как повторители ретранслируют в другую сеть все принимаемые пакеты или кадры, то загрузка общей сети аддитивно возрастает.

Мосты – достаточно эффективное средство объединения разных сетей в простой сетевой структуре.

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

Маршрутизатор – специальный компьютер, распознающий различные протоколы и способный правильно направлять пакеты информации из одной сети в другую.

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

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

Существуют устройства, совмещающие функции мостов и маршрутизаторов.

Мосты-маршрутизаторы (bridge/router) – устройства, позволяющие совместить преимущества мостов и маршрутизаторов. Как правило, мост-маршрутизатор реализует полные функции маршрутизации согласно одному или нескольким протоколам и действует как мост для всех других протоколов. Для повышения скорости передачи информации по межсетевому соединению многие мосты и маршрутизаторы используют алгоритмы сжатия данных, дающие выигрыш в случае использования низкоскоростных или сильно загруженных линий связи. При этом скорость передачи данных в межсетевом соединении более 64 Кбит/с не приносит выгод от сжатия данных, так как в этом случае может потребовать больше времени, чем простая передача данных без сжатия.

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

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

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

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

История возникновения и теория

Программно-конфигурируемая сеть или Software Defined Networking – сеть передачи данных, в которой уровень управления сетью отделен от уровня передачи данных и реализуется программно.

Идея о создании подобных систем возникла еще в 2006 году, инициаторами выступили специалисты университета Стэнфорда и Беркли. Данное предложение активно поддержали крупные IT-компании: Google, Facebook, Microsoft, Oracle, Dell и др.

Потребность в разработке новых видов сетей была связана с увеличением общего объема трафика, что было вызвано ростом числа активных абонентов по всему миру. Начиная с 2007 года ежегодные темпы роста пропускной способности сетей во всем мире составляли около 60%, однако исследования специалистов IEEE показывают, что пропускную способность каналов связи требуется увеличивать вдвое раз в два года.

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

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


В работe сетевого устройства можно выделить три абстрактных уровня: уровень передачи (Data Plane), уровень управления трафиком (Control Plane) и уровень администрирования (Management Plane):

Автоматизация работы сетевого администратора

  1. Уровень передачи отвечает за физическую отправку трафика через сетевое устройство с использованием набора микросхем.
  2. Уровень управления служит для организации логики распределения маршрутов сетевого устройства. Благодаря нему выбираются оптимальные пути, согласно сетевому протоколу, что позволяет обмениваться трафиком между узлами.
  3. Уровень администрирования предназначен для управления оборудованием, к нему относится: конфигурирование, передача настроек, сбор данных.

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

Автоматизация работы сетевого администратора

  1. Протокол управления OpenFlow, который обеспечивает передачу служебного трафика (таблицы маршрутизации, информация о топологии сети).
  2. Виртуализация, позволяющая перенести сетевые функции в программную среду, тем самым заменяя аппаратные решения.
  3. Автоматизация, позволяющая с помощью программных средств реализовать реконфигурацию, запрос данных и мониторинг узлов сети.
  4. Сетевые фабрики представлены в виде комплексной системы, которая позиционирует набор сетевого оборудования, как единое целое.
  5. Software-Defined Networking in a wide area network (SD-WAN) осуществляющая интеллектуальное управление потоками трафика учитывая его род и назначение.


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

Сбор данных и конфигурирование сетевого оборудования

За долгие годы развития ИТ-индустрии способ управления сетями оставался не изменчив. В это же время появлялись новые протоколы для взаимодействия, расширялись возможности самих сетевых устройств. Тем не менее Command Line Interface (CLI) остался широко распространенным и популярным среди сетевых администраторов.

Данный метод в основном используется по умолчанию при первичной настройке сетевого оборудования, он поддерживает различные типы подключения (Telnet, SSH и другие). Администратор сети взаимодействует с программной оболочкой устройства, которая передает команды в ядро ОС и тем самым вносит изменения в конфигурационный файл.

Файл конфигурации – текстовый файл, содержащий настройки системы или ее части (утилиты, демона и т. п.). Обычно инициализируется при запуске ОС и доступен для резервного копирования.

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

Развитие языков программирования способствовало автоматизации управления и администрирования сетевых устройств. Алгоритм по автоматической отправке команд до оборудования состоит из двух шагов: формирование списка команд или конфигурационного файла, далее его доставка.

Автоматизация работы сетевого администратора

Command Line Interface (СLI)

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

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


Как правило, при работе через CLI существует несколько режимов доступа, заранее запрограммированных в сетевом ПО: режим без привилегий (первичное подключение к устройству), привилегированный режим (просмотр конфигурации устройства, базовые команды), режим конфигурации (внесение изменений, осуществление настроек).

Автоматизация работы сетевого администратора

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

Python для сетевого администратора

Автоматизация процесса обслуживания сетевых устройств невозможна без использования одного из языков программирования.

Для 2021 года базовое знание Python это уже не преимущество кандидата (системного администратора, сетевого инженера) , а одно из требований при трудоустройстве на работу. В рамках наших статей мы не будем обучать вас основам языка, потому что в Интернете большое количество ресурсов на эту тему и вы сможете подготовиться самостоятельно.

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

    - встроенная библиотека, она используется для обеспечения доступа к сетевому устройству и отправке команд по Telnet протоколу (не является безопасным). - внешняя библиотека работает для передачи данных по протоколам: ssh, telnet, sftp и др. Считается универсальным инструментом для передачи команд как в ОС, так и на сетевое оборудование. Логика работы основана на ожидании получения соответствующей строки от устройства и дальнейшей отправки команды. - внешняя библиотека, обеспечивающая организацию SSH-соединения. Работает в режиме клиента и сервера, соответственно в качестве передачи данных может использоваться только протокол SSH. - внешняя библиотека от сообщества сетевых инженеров и администраторов, была разработана специально для взаимодействия с сетевым оборудованием различных производителей (адаптация под сетевую ОС). Netmiko включает в себя paramiko, описанный раннее.


Пример с telnetlib

В рамках сегодняшней статьи мы рассмотрим лишь библиотеку telnetlib языка Python3. Мы будем подключаться по Telnet к маршрутизатору Cisco (IOS15), вы же можете использовать оборудование другого производителя.

Наша задача: сконфигурировать два сетевых интерфейса (задать ip-адресацию), включить поддержку динамического протокола маршрутизации OSPF.

"ЕСЛИ требуется пароль, то передать"
if password:
tn.read_until(b"Password: ")
tn.write(password.encode("ascii") + b"\n")

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

Таким образом, сегодня мы познакомились с понятием "автоматизация при работе с сетевым оборудованием", рассмотрели основные концепции и начали изучать инструменты работы с сетью на языке Python. Мы написали скрипт, позволяющий вам взаимодействовать с оборудованием и получать предсказуемый результат. Далее будет более подробное знакомство с различными инструментами, приведем практические примеры использования, оставайтесь на связи!

Создание компьютерной программы для администраторов локальных сетей, которая могла бы в режиме реального времени осуществлять централизованный контроль за приложениями, запущенными на компьютерах в локальной сети. Реализация в среде C++ Builder.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 23.06.2016
Размер файла 64,9 K

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ

«Гомельский государственный университет

Математический факультет

Кафедра вычислительной математики и программирования

Автоматизация управления процессами в локальных сетях

студент группы ПО-32 Игнатенко А.О.

Кандидат физико-математических наук Родионов А.А.

Гомель 2015

Ключевые слова: Сеть, ICMP пакет, функция ShellExecute, Командная строка, язык С++

Объект исследования: Автоматизация управления процессами в локальных сетях.

Предмет исследования: способы автоматизации управления процессами в локальных сетях.

Методы исследования: Изучение теоритических сведений и рассмотрение алгоритмов решения поставленных задач в С++ Builder.

Цель курсовой работы: создание в среде С++ Builder приложения, выполняющего функции удалённого диспетчера задач.

Задачами курсовой работы являются: Просмотр и удаление запущенных процессов на удалённом компьютере. Автоматическое завершение указанных процессов на удалённом компьютере. Проверка состояние удалённого компьютера.

Вывод: С++ Builder является универсальной средой для создания программ под WINDOWS. За счет своей универсальности среда С++ Builder может быть использована для написания самых разных программ под WINDOWS.

Создана программа позволяющая проводить мониторинг запущенных процессов на компьютерах в некоторой локальной сети. Программа является удобной в использовании и легкой в освоении.

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

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

В результате проектирования и программной реализации в среде программирования C++ Builder была создана соответствующая программа.

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

Бесплатных аналогов данной программы в сети Интернет найдено не было.

Требования программы к локальной сети

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

Для использования функции ShellExecute в модуль надо добавить директиву препроцессора подключающую модуль ShellAPI, в котором описана функция:

Параметр FileName указывает на строку с нулевым символом в конце, которая определяет имя открываемого файла или имя открываемой папки.
Параметр Parameters указывает на строку с нулевым символом в конце, которая определяет передаваемые в приложение параметры, если FileName определяет выполняемый файл. Если FileName указывает на строку, определяющую открываемый документ или папку, то этот параметр задается равнымNULL.

Параметр Directory указывает на строку с нулевым символом в конце, которая определяет каталог по умолчанию.
Параметр ShowCmd определяет режим открытия указанного файла. Этот параметр может иметь множество различных значений. Обычно, как и для функции WinExec, используется значение SW_RESTORE, при котором окно запускаемого приложения активизируется и отображается на экране. Если это окно в данный момент свернуто или развернуто, то оно восстанавливается до своих первоначальных размеров и отображается в первоначальной позиции. Для приложений не Windows, для файлов PIF и т.д. состояние окна определяет само приложение.

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

Командная строкаWindows использует интерпретатор команд cmd.exe, который позволяет загружать приложения и направляет поток данных между ними, проще говоря переводит команды пользователя, в понятный системе вид. Консоль командной строки интегрирована во все версии ОС Windows. На первый взгляд коммандный интерфейс пугает пользователя избалованных графическим интерфейсом того-же Windows, но как правило командный интерфейс, намного быстрее и имеет массу дополнительных возможностей, которые не могут быть осуществлены в граффическом интерфейсе.

Taskkill: завершает одно или несколько заданий или процессов. Процессы могут быть уничтожены кодом процесса или именем образа.

taskkill [/sкомпьютер] [/uдомен\пользователь [/pпароль]]] [/fiимя_фильтра] [/pidкод_процесса]|[/imимя_образа] [/f][/t]

/sкомпьютер- Указывает имя или IP-адрес удаленного компьютера (не используйте обратную косую черту). По умолчанию используется локальный компьютер.

/uдомен\пользователь- Выполнение команды с разрешениями учетной записи пользователя, который указан как пользователь или домен\пользователь. По умолчанию используются разрешения текущего вошедшего пользователя компьютера, с которого поступила эта команда.

/pпароль- Определяет пароль учетной записи пользователя, заданной параметром /u.

/fiимя_фильтра- Задает типы процессов, которые следует завершить и не следует. Допустимыми именами фильтров, операторами и значениями являются следующие.

/pidкод_процесса- Указывает код процесса, который необходимо завершить.

/imимя_образа- Указывает имя образа процесса, который необходимо завершить. Используйте подстановочный знак (*) для указания всех имен образа.

/f- Указывает, что процесс(ы) должен быть принудительно завершен. Этот параметр не действует для удаленных процессов, все удаленные процессы завершаются принудительно.

/t - Задает завершение всех дочерних процессов вместе с родительским, такое действие обычно известно как уничтожение дерева.

/?- Отображает справку в командной строке.

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

tasklist[.exe] [/sкомпьютер] [/uдомен\пользователь [/pпароль]] [/fo ] [/nh] [/fiфильтр [/fiфильтр2 [ . ]]] [/m [модуль] | /svc | /v]

/sкомпьютер - Указывает имя или IP-адрес удаленного компьютера (не используйте обратную косую черту). По умолчанию используется локальный компьютер.

/uдомен\пользователь - Выполняет команду с разрешениями учетной записи пользователя, который указан как пользователь или домен\пользователь. По умолчанию используются разрешения текущего вошедшего пользователя компьютера, с которого поступила эта команда.

/pпароль - Определяет пароль учетной записи пользователя, заданной параметром /u.

/fo - Задает формат выходных данных. Допустимые значения: TABLE, LIST и CSV. По умолчанию для выходных данных используется формат TABLE.

/nh - Запрещает вывод заголовков столбцов. Данный параметр является допустимым, если параметр /fo имеет значение TABLE или CSV.

/fiимя_фильтра - Задает типы процессов, которые следует завершить или не следует. Допустимыми именами фильтров, операторами и значениями являются следующие.

/m [модуль] - Задает вывод сведений о модулях для каждого процесса. При указании модуля отображаются все процессы, использующие этот модуль. Если модуль не определен, выводятся на экран все процессы для всех модулей. Нельзя использовать совместно с параметрами /svc и /v

/svc- Отображает без обрезки сведения о всех службах для каждого процесса. Данный параметр является допустимым, если параметр /fo имеет значение TABLE. Нельзя использовать совместно с параметрами /m и /v

/v- Задает отображение подробных сведений о задании в выходных данных. Нельзя использовать совместно с параметрами /svc и /m.

/?- Отображает справку в командной строке.

Протокол ICMP описан в RFC 792 (с дополнениями в RFC 950) и является стандартом Интернета (входит в стандарт STD 5 вместе с IP). Хотя формально ICMP использует IP (ICMP-пакеты инкапсулируются в IP пакеты), он является неотъемлемой частью IP и обязателен при реализации стека TCP/IP. Текущая версия ICMP для IPv4 называется ICMPv4. В IPv6 существует аналогичный протокол ICMPv6.

ICMP основан на протоколе IP. Его цели отличны от целей транспортных протоколов, таких как TCP и UDP: он, как правило, не используется для передачи и приема данных между конечными системами. ICMP не используется непосредственно в приложениях пользователей сети (исключение составляют инструменты Ping и Traceroute).

При потере ICMP-пакета никогда не генерируется новый.

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

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

Завершение процесса выполняется при помощи командной строки. При помощи функции Shellexecute() вызывается команда taskkill,в которую передаются имя компьютера, удаляемого процесса, и иные параметры.

Получение списка процессов для выбранного компьютера происходит при помощи команды Tasklist.Результат её работы сохраняется в текстовый файл с последующим чтением из него программой. При заполнении списка процессов игнорируется процесс “cmd.exe”.

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

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

Список использованных источников

1.Роберт Элсенпитер, Тоби Дж. Велт - Windows XP Professional. Администрирование сетей.

2.Архангельский А.Я. - Программирование в C++ Builder, 7 издание

3.Архангельский А. Я. - C++Builder 6. Справочное пособие. Книга 1. Язык С++

Читайте также: