УДК 622:681.38 Захаров Сергей Геннадьевич Андреев Антон Глебович магистранты группы АСП-1-М-09

advertisement
УДК 622:681.38
Захаров Сергей Геннадьевич
Андреев Антон Глебович
магистранты группы АСП-1-М-09
Научные руководители: Калитин Денис Владимирович
доц., к.т.н.
Яковлев Владимир Игоревич
доц., к.ф.-м.н.
Московский государственный горный университет
САПР КОНФИГУРАЦИИ СЕТЕЙ, НА ОСНОВЕ ИСПОЛЬЗОВАНИЯ
НЕЙРОСЕТЕВЫХ ТЕХНОЛОГИЙ
CAD NETWORK CONFIGURATION, BY USING NEURAL NETWORK
TECHNOLOGY
Cisco, является одной из крупнейших компаний производителей
сетевого оборудования в мире, крайне заинтересована в сбалансированном
развитии рынка, без которого невозможно привлечение необходимых
инвестиций для реализации проектов, устойчивого функционирования и
развития различных отраслей сетей. Одним из самых важных направлений,
это оптимизация распределения нагрузки и построение маршрутизации.
В наше время существует больше количество протоколов
маршрутизации(RIP, BGR, OSPF и т.д.), эти протоколы используется для
передачи информации на транспортном уровне.
Протокол маршрутизации BGP
Border Gateway Protocol (BGP), предназначен для маршрутизации
между автономными системами. Этот протокол включает в себя защиту от
"зацикливания". Автономная система [AS] - это набор роутеров, которые
работают под управлением одного администратора, или одной группы
администраторов, и используют общую стратегию маршрутизации. BGP
часто используется в сетях между ISP (Inetrnet Service Providers).
Роутеры, которые принадлежат одной и той же AS и обмениваются
BGP update'ами, работают по Internal BGP (IBGP); роутеры, которые
принадлежат разным AS и тоже обмениваются BGP update'ами, работают
по External BGP (EBGP). Команды для конфигурации IBGP и EBGP
одинаковы, исключая команду конфигурации роутера "neighbor ebgpmultihop". Поэтому везде, где мы будем упоминать о IBGP и EBGP, это
будет делаться в контексте, что routing updates происходят либо в пределах
одной AS, либо между AS.
19
Рис. 1. На рисунке демонстрируется различие между EBGP и IBGP.
Перед тем, как обмениваться информацией о маршрутах с внешними
AS, BGP должен гарантировать, что сети внутри его, AS достижимы. Это
обеспечивается комбинацией обмена информацией о маршрутах по IBGP
между роутерами внутри AS и передачей информации о маршрутах BGP в
один из Interior Gateway Protocols (IGPs), которые работают внутри AS
(например, Intereior Gateway Routing Protocol IGRP, Intermediate System-toIntermediate System IS-IS, Routing Information Protocol RIP и Open Shortest
Path First OSPF).
BGP использует TCP в качестве транспортного протокола (port 179).
Любые два роутера, между которыми открыто tcp соединение для обмена
информацией о маршрутизации, называются "peers" или "neighbors". На
приведенном выше рисунке роутеры A и B являются BGP peers, равно как
и роутеры B и C, C и D (рис. 1). Routing Information состоит из
незакольцованной (loop-free) карты автономных систем. Заметим, что
внутри AS BGP peers не являются подключенными непосредственно друг к
другу (грубо говоря, не соединены между собой напрямую проводом).
BGP peers инициируют обмен полными таблицами BGP
маршрутизации между собой. Позже они посылают лишь incremental
updates. Кроме этого, BGP peers обмениваются keepalive messages (чтобы
удостовериться, что связь между ними не потеряна), и notification messages
(сообщениями об ошибках и другой служебной информацией).
Internal BGP (IBGP) является одной из форм протокола BGP для
обмена информацией о маршрутах внутри AS. В принципе, вместо
использования IBGP, информация о путях к роутерам, пришедшая по
EBGP, может быть redistributed (преобразована) в IGP в пределах данной
AS, а затем быть redistributed обратно в другую AS. Однако, использование
IBGP является гораздо более гибким, и обеспечивает более эффективные
пути для управления обменом информацией как внутри AS, так и вовне,
предоставляя возможность согласовывать обмен информацией о путях к
данной AS с внешними neighbors.
Например, с помощью IBGP можно управлять точкой выхода из AS.
20
Рис. 2. shows a topology that demonstrates IBGP.
Замечание: Когда BGP speaker принимает IBGP update'ы от других
BGP speaker'ов в пределах одной AS, он передает эти update'ы только
своим neighbors по EBGP.
Например, на приведенном выше рисунке (рис. 2), если бы не было
IBGP соединения между роутерами B и D, то роутер A пересылал бы
update'ы, принятые от B по IBGP, на роутер E (по EBGP). Если же вы
хотите, чтобы роутер "D" принимал update'ы от роутера "B", то роутер "B"
надо сконфигурировать так, чтобы роутер "D" стал его BGP peer'ом (что и
сделано выше).
External BGP (EBGP) используется тогда, когда два bgp speaker'а
обмениваются таблицами маршрутизации, находясь в разных AS.
Основная функция BGP - обмен информацией о путях к сетям с
другими BGP системами. Эта информация использует graph of AS
connectivity, к котором устранены зацикливания и с которым используется
AS-level policy decision. BGP предоставляет механизм управления потоком
передаваемых маршрутов, это route, path и community Filtering. Он также
содержит методы об'единения маршрутов, такие как CIDR aggregation,
Confederations, и Route Reflectors. BGP - это высокоэффективное средство
обеспечения маршрутизации без зацикливаний между Автономными
системами и в пределах одной Автономной Системы.
Алгоритмы обработки очередей
Очереди и алгоритмы их обслуживания составляют основу средств
поддержки QoS.
Механизмы очередей используются в любом сетевом устройстве, где
применяется коммутация пакетов — маршрутизаторе, коммутаторе
локальной или глобальной сети, конечном узле.
Необходимость в очереди возникает в периоды временных
перегрузок, когда сетевое устройство не успевает передавать поступающие
пакеты на выходной интерфейс. Если причиной перегрузки является
процессорный блок сетевого устройства, то необработанные пакеты
21
временно помещаются во входную очередь, т. е. в очередь на входном
интерфейсе. В случае, когда причина перегрузки заключается в
ограниченной скорости выходного интерфейса (а она не может превышать
скорость поддерживаемого протокола), то пакеты временно хранятся в
выходной очереди.
Чаще всего в маршрутизаторах и коммутаторах применяются
следующие алгоритмы обработки очередей:
 традиционный алгоритм FIFO;
 приоритетное обслуживание (Priority Queuing), которое также
называют «подавляющим»;
 настраиваемые очереди (Custom Queuing);
 взвешенное справедливое обслуживание (Weighted Fair Queuing,
WFQ).
Каждый алгоритм разрабатывался для решения определённых задач и
поэтому специфическим образом воздействует на качество обслуживания
различных типов трафика в сети. Возможно комбинированное применение
этих алгоритмов.
FIFO (First-In-First-Out) используется обычно в скоростных
интерфейсах (быстродействие > 2048 Кбит/c).
Принцип алгоритма FIFO состоит в следующем. В случае перегрузки
пакеты помещаются в очередь, а если перегрузка устраняется или
уменьшается, пакеты передаются на выход в том порядке, в котором
поступили («первым пришел — первым ушел», First In — First Out). Этот
алгоритм обработки очередей по умолчанию применяется во всех
устройствах с коммутацией пакетов. Он отличается простотой реализации
и отсутствием потребности в конфигурировании, однако имеет
принципиальный недостаток — дифференцированная обработка пакетов
различных потоков невозможна. Очереди FIFO необходимы для
нормальной работы сетевых устройств, но они не справляются с
поддержкой дифференцированного качества обслуживания.
Стратегия справедливых (взвешенных) очередей WFQ используется
по умолчанию для интерфейсов низкого быстродействия. WFQ делит
трафик на несколько потоков, используя в качестве параметров (для IPпротокола): IP-адреса и порты получателя и отправителя, а также поле IPзаголовка ToS. Для каждого из потоков формируется своя очередь.
Максимально возможное число очередей равно 256. Очереди
обслуживаются в соответствии с карусельным принципом (round-robin).
Более высокий приоритет имеют потоки с меньшей полосой, например
telnet.
22
Задача прогнозирования с использованием технологии
нейровычислений
На НС задача прогнозирования формализуется через задачу
распознавания образов. Данных о прогнозируемой переменной за
некоторый промежуток времени образуют образ, класс которого
определяется значением прогнозируемой переменной в некоторый момент
времени за пределами данного промежутка, т.е. значением переменной
через интервал прогнозирования. Метод окон предполагает использование
двух окон Wi и Wo с фиксированными размерами n и m соответственно.
Эти окна, способны перемещаться с некоторым шагом по временной
последовательности исторических данных, начиная с первого элемента, и
предназначены для доступа к данным временного ряда, причем первое
окно Wi, получив такие данные, передает их на вход нейронной сети, а
второе - Wo - на выход. Получающаяся на каждом шаге пара Wi -> Wo
используется как элемент обучающей выборки (распознаваемый образ, или
наблюдение).
Например, пусть есть данные о еженедельном трафике (k = 16) : 100
94 90 96 91 94 95 99 95 98 100 97 99 98 96 98 Зададим n = 4, m = 1, s = 1. С
помощью метода окон для нейронной сети будет сгенерирована
следующая обучающая выборка: 100 94 90 96 -> 91 94 90 96 91 -> 94 90 96
91 94 -> 95 (3.3) 96 91 94 95 -> 99 91 94 95 99 -> 95 и т.д.
Каждый следующий вектор получается в результате сдвига окон Wi и
Wo вправо на один элемент (s = 1) . Предполагается наличие скрытых
зависимостей во временной последовательности как множестве
наблюдений. Нейронная сеть, обучаясь на этих наблюдениях и
соответственно настраивая свои коэффициенты, пытается извлечь эти
закономерности и сформировать в результате требуемую функцию
прогноза P.
Прогнозирование осуществляется по тому же принципу, что и
формирование обучающей выборки. При этом выделяются две
возможности: одношаговое и многошаговое прогнозирование.
Многошаговое прогнозирование. Используется для осуществления
долгосрочного прогноза и предназначено для определения основного
тренда и главных точек изменения тренда для некоторого промежутка
времени в будущем. При этом прогнозирующая система использует
полученные (выходные) данные для моментов времени k+1, k+2 и т.д. в
качестве входных данных для прогнозирования на моменты времени k+2,
k+3 и т.д.
Предположим, система обучилась на временной последовательности.
Затем она спрогнозировала k+1 элемент последовательности, например,
равный 95, когда на ее вход был подан последний из известных ей образов
(99,98,96,98) . После этого она осуществляет дальнейшее прогнозирование
23
и на вход подается следующий образ (98,96,98,95) . Последний элемент
этого образа является прогнозом системы. И так далее.
Одношаговое прогнозирование. Используется для краткосрочных
прогнозов, обычно - абсолютных значений последовательности.
Осуществляется прогноз только на один шаг вперед, но используется
реальное, а не прогнозируемое значение для осуществления прогноза на
следующем шаге.
Для временной последовательности. На шаге k+1 система
прогнозирует требование 95, хотя реальное значение должно быть 96. На
шаге k + 2 в качестве входного образа будет использоваться образ
(98,96,98,96) .
Как было сказано выше, результатом прогноза на НС является класс, к
которому принадлежит переменная, а не ее конкретное значение.
Формирование классов должно проводиться в зависимости от того каковы
цели прогнозирования. Общий подход состоит в том, что область
определения прогнозируемой переменной разбивается на классы в
соответствии с необходимой точностью прогнозирования. Классы могут
представлять качественный или численный взгляд на изменение
переменной.
Вывод: НС принадлежат классу коннекционистских моделей
обработки информации. Основная их черта использовать взвешенные
связи между обрабатывающими элементами как принципиальное средство
запоминания информации. Обработка в таких сетях ведется одновременно
большим числом элементов, благодаря чему они терпимы к
неисправностям и способны к быстрым вычислениям.
Задать НС, способную решить конкретную задачу, - это значит
определить модель нейрона, топологию связей, веса связей. Нейронные
сети различаются между собой меньше всего моделями нейрона, а в
основном топологией связей и правилами определения весов или
правилами обучения, программирования. По структуре связей сети делятся
на два больших класса: однослойные и многослойные. Многослойная сеть
имеет входной, выходной и скрытые слои, на входной подается
информация, с выходного снимается ответ, скрытые слои участвуют в
обработке. Подходы к обучению однослойных и многослойных сетей
различны. Обучение многослойных сетей состоит в том, что на основе
набора примеров входное состояние -> выходное состояние постепенно
подбираются веса всех связей так, чтобы каждое входное состояние
вызывало
соответствующее
выходное.
Обучающие
алгоритмы
представляют
собою
итерационные
процедуры
с
медленным
приближением к окончательным значениям весов связей. Для общего
случая, когда описание поведения сети задано в виде набора векторов
возможных состояний, поиск синаптических весов сводится к решению
соответствующей системы нелинейных уравнений.
24
Реализуемая система.
Последнее время во многих сетях существует проблема
распределения нагрузки на оборудование. Зачастую на одном
оборудовании существует один и более входящих интерфейсов. При
загруженности одного из интерфейсов (канала), автоматически не
происходит перераспределение трафика и приходится самостоятельно
«Сетевым администраторам» переназначать распределение трафика, что
зачастую влечет за собой проблемы (зацикливание, потерю конечного
адресата (маршрута) и т.д.). В данное время существуют системы
перераспределения трафика и нагрузки, реализованные компаниями
производителями активного оборудования. Это программно-аппаратные
реализации, встроенные в микропрограмму оборудования. Но зачастую
данные системы не способны перераспределить нагрузку, т.к. они не
перенастраивают маршрутизацию, а ищут более быстрый (оптимальный)
способ доставки информации до адресата. В результате чего оборудование
остается загруженным и интерфейсы тоже. Этого не достаточно.
В последнее время становится актуально прогнозирование нагрузки
оборудования и загруженности каналов, для уменьшения рисков
связанных с выходом из строя оборудования или увеличение задержки, что
подразумевает потерю пакетов (информации).
Основная задача прогнозирования - вычисление оптимального потока
данных. Но также существуют другие направление, это снижение
нагрузки оборудования и каналов связи. При прогнозировании
используется нейронная сеть, реализованная на основе Адаптивнорезонансной теории. С помощью этой сети и происходит прогнозирование.
Рис. 3. Схема сети
25
Существует сеть (Рис. 3) с уже настроенной маршрутизацией, с
использованием оборудования производителей Cisco, D-link, Zyxel и
Alcatel. Также существует БД, в которой содержится вся информация об
установленном оборудовании и схемы (структуры). Авторизация на
оборудование происходит посредством Radius-сервера, используя для
этого специально созданный логин. Есть система сбора статистики
загруженности сетевого оборудования и интерфейсов, реализованная через
систему сбора данных MRTG. Все данные собранные с активного
оборудования записываются в БД, реализованную в MS SQL Server.
Соответственно на основе собранных данных строятся графики
загруженности оборудования и интерфейсов в режиме реального времени,
просмотреть их можно зайти на соответствующую страницу.
Используя данные полученные от сбора статистики, строится
адаптивно-резонансная сеть. Согласно которой имеются сходные и
выходные данные, в различное время, в том числе и в часы наибольшей
нагрузки (ЧНН). Используя эту сеть, вычисляется прогнозируемая
нагрузка на оборудование в течении определенного времени,
соответственно строятся графики, вычисляются оптимальные потоки
данных, максимальное время прохождение пакета (до конечного адреса),
также формируется информация об изменении маршрутизации на
оборудовании и приоритетов потока данных для каждого устройства. За 1
час до начала прогнозируемого времени нагрузки происходит отправка
изменения маршрутизации на оборудование, с сохранением настроек
действующей маршрутизации(Backup). Делается, это для того чтобы не
производилась смена конфигураций оборудования непосредственно в
нагрузке, т.к. это может привести к выходу устройств из строя. В случае
если данное изменение привело к проблемам маршрутизации, существует
система отката, используя данные Backup-a. Программный интерфейс
реализован в MS Visual Studio 2008.
Данная система помогает снизить нагрузку оборудования; исключить
непосредственное участие человека в изменении распределения трафика
(маршрутизации). Снизить затраты на создание/покупку/аренду каналов,
т.к. зачастую не происходит оптимизация трафика и используют более
быстрый способ решения проблемы (увеличение ширины каналов и
быстродействия оборудования), которое влечет за собой большие затраты,
как материальные так и физические. Хотелось бы также сказать, что какое
бы оборудование не было, через определенное время оно все равно
испытывает нагрузку и приобретать новое оборудование стоят только
после тщательно присчитанного потенциала оборудования.
Разработанная система поможет не только оптимизировать нагрузку,
но и снизить материальные затраты на расширение каналов, и
оптимизировать рабочее время инженеров, отвечающих за обслуживание
оборудования для освобождения решения других задач.
26
Литература
1. Олифер В.Г., Олифер Н.А. Компьютерные сети. Принципы,
технологии, протоколы. – Спб.: Питер, 2008. – 958 с.
2. Cisco Press BGP Internet Routing Architectures. 2nd Edition, 2000.
3. Cisco Networking Academy Program. CCNA Routing and Switching.
Аннотация
В статье представлена система прогнозирования нагрузки и
оптимизации трафика маршрутизаторов на основе нейросетевых
технологий, которая позволила бы оптимизировать трафик и снизить
нагрузку на оборудование, в основе которой лежит возможность
применения нейросетевых технологий в конфигурации сетей.
Особое
внимание
уделено
вопросам
прогнозирования
с
использованием
технологии
нейровычислений
и
протоколу
маршрутизации BGP.
In article represents the system load forecasting and optimization the traffic
of routers based on neural network technology which would optimize the traffic
and reduce the load on the equipment,in which basis lies the possibility of using
neural network technology in networks configuration.
Particular attention is paid to forecasting technology with Neurocalculations and routing protocol BGP.
Ключевые слова
канал связи, маршрутизатор, нейросетевые технологии, поток данных,
прогнозирование, протокол, сетевое оборудование, трафик
communication channel, router, neural network technology, data flow,
forecasting, protocol, network equipment, traffic
27
Download