Содержание к диссертации
Введение
ГЛАВА 1. Мониторинг перегрузок в вычислительных сетях 7
1.1. Структура современных вычислительных сетей 7
1.1.1. Компьютерная сеть 7
1.1.2. Понятие сетевой модели 12
1.1.3. Понятие стека протоколов
1.1.3.1. Различия и особенности распространенных протоколов 17
1.1.3.2. Принципы работы протоколов разных уровней 18
1.1.4. Понятие и характеристики трафика 18
1.2. Понятие перегрузок 19
1.2.1. Причины и последствия перегрузок 19
1.2.2. Методы борьбы с перегрузками 20
1.2.3. Качество обслуживания 22
1.3. Современньш методы мониторинга вычислительных сетей 24
1.3.1. Основные цели мониторинга 24
1.3.2. Методы мониторинга
1.4. Протокол snmp 26
1.5. Протокол гр 28
1.6. Протокол icmp
1.6.1. Характеристики протокола 1СМР 32
1.6.2. Базовые утилиты на основе протокола ICMP 34
1.7. Сравнение утилит мониторинга сети на основе ping 42
1.7.1. Ping в Windows 42
1.7.2. Ping в Linux/UNIX 44
1.7.3. Tracert/traceroute 46
1.7.4. Pathping 47
1.7.5. Pingit 1.7.4. Ping monitor. 50
1.7.5. PingPlotter 57
1.7.6. PingTool 57
1.8. Модель сегмента вычислительной сети 55
1.8.1. Метод сравнения значений временных меток 56
1.8.2. Метод сравнения задержек пакетов 57
Вывод по главе 1 60
ГЛАВА 2. Методы прогнозирования перегрузок 61
2.1. Понятие прогнозирования 61
2.7.7. Статистические методы анализа и прогнозирования 62
2.1.2. Критерии качества прогнозных моделей 65
2.1.3. Оценка качества прогноза
2.2. Анализ временных рядов 68
2.2.1. Понятие временного ряда 68
2.2.2. Цели, этапы и методы анализа временных рядов 69
2.2.3. Детерминированная и случайная составляющая временного ряда 71
2.2.4. Тренд, сезонная и цикличная компоненты
2.2.5. Числовые характеристики временных рядов 74
2.2.6. Порядок анализа временных рядов 75
2.2.7. Методы прогнозирования, сведение к стационарности 76
2.2.1 Л. Метод наименьших квадратов 76
2.2.7.2. Метод скользящих средних
2.2.1 .1. Экспоненциальное сглаживание 82
2.3. Программные средства для аналюа временных рядов 84
2.3.1. Matlab 84
2.3.2. Statistica 85
2.3.3. SPSS 87
2.3.4. MS Excel 88
2.3.5. STADIA 89
2.3.6. ЭВРИСТА 90
Вывод по главе 2 92
ГЛАВА 3. Реализация подхода к прогнозированию перегрузок на основе анализа временных рядов 93
3.1. Постановка задачи 93
3.2. Методика сбора данных 95
3.3. Обработка данных 99
3.4. Pingprognoz 119
Вывод по главе 3 123
Заключение 124
Литература
- Различия и особенности распространенных протоколов
- Критерии качества прогнозных моделей
- Методы прогнозирования, сведение к стационарности
- Обработка данных
Различия и особенности распространенных протоколов
Когда количество пакетов, передаваемых одновременно по подсети (или ее части), превышает некий пороговый уровень, производительность сети начинает снижаться. Такая ситуация называется перегрузкой. То есть перегрузка в вычислительных сетях - это временное исчерпание ресурсов оборудования или пропускной способности каналов связи, в результате чего происходят сбои в работе сетевых сервисов или коллапс сети (сеть перестает выполнять свои функции по передаче полезной информации между узлами).
Когда число пакетов, посылаемых хостами в сеть, не превышает ее пропускной способности, то все они доставляются адресатам (кроме небольшого процента поврежденных ошибками передачи). При этом количество доставленных пакетов пропорционально количеству посланных. Однако по мере роста трафика маршрутизаторы перестают успевать обрабатывать все пакеты и начинают их терять. При дальнейшем увеличении числа отправляемых пакетов ситуация продолжает ухудшаться. Когда число пакетов достигает максимального уровня, производительность сети начинает снижаться. При очень высоком уровне трафика производительность сети падает до совсем низкого уровня и практически никакие пакеты не доставляются [25, 26].
Последствия перегрузок - отказ в обслуживании, нарушение безопасности, снижение качества обслуживания (QoS).
Решения проблемы перегрузок делятся на две группы: без обратной связи и с обратной связью. Решение без обратной связи заключается в попытке решить проблему с помощью улучшения самой системы с целью предотвращения возникновения самой ситуации перегрузки. Никаких корректирующих действий во время работы системы не предпринимается.
К методам управления без обратной связи относятся решения о том, когда разрешать новый трафик, когда отвергать пакеты и какие именно, а также составление расписаний для различных участков сети. Главный недостаток в том, что они не учитывают текущего состояния сети.
Решения с обратной связью, напротив, основываются на учете текущего состояния системы. Этот подход состоит из трех следующих частей: 1. Мониторинг сети с целью определить, где и когда произойдет перегрузка (прогнозирование). 2. Передачи информации о перегрузке в те места, где могут быть приняты соответствующие действия. 3. Принятие необходимых мер при работе системы для устранения перегрузки. При мониторинге могут измеряться следующие параметры: 1. Процент пакетов, отвергаемых из-за отсутствия места в буфере. 2. Средняя длина очереди. 3. Среднее время задержек пакетов. 4. Среднеквадратичное отклонение задержки пакетов. Во всех случаях увеличивающиеся значения параметров являются сигналами о растущей перегрузке. Первые два пункта требуют непосредственный доступ к исследуемым коммутаторам. Данные такого рода сложно получать. Время задержек пакетов легко получать общедоступными средствами (утилиты на основе ping), а данные в четвертом пункте - это обработанные данные третьего. Соответственно время задержек пакетов является самым доступным способом определения перегрузки.
Принятие мер для предотвращения перегрузки. Есть два решения данной проблемы: увеличить ресурсы системы или снизить нагрузку.
Часто увеличить пропускную способность бывает невозможно либо она уже увеличена до предела. В таком случае остается второй вариант [55]. Когда сервер не в состоянии обработать вызов, он может послать сообщение сообщающего нижестоящему элементу о необходимости подождать указанное время. Недостатки метода: Увеличение нагрузки: в случае перегрузки множества компонентов в сети, данный метод может привести к еще большей перегрузке. Метод может быть приемлемым в случае перегрузки одного единственного сетевого элемента, но в случае перегрузки множества элементов этот метод приводит к значительному увеличению количества передаваемых сообщений и, соответственно, к еще большей нагрузке на серверы.
Недоиспользование ресурсов: в большинстве случаев получение сообщения о перегрузке означает, что в состоянии перегрузки находится весь сервер, определяемый доменным именем. Хотя в действительности за одним доменным именем может находиться несколько серверов, и только один из них может быть перегружен.
Проблема неустойчивости трафика: использование таймера приостановки трафика в заголовке приводит к резкому всплеску трафика по истечении данного таймера, что потенциально может привести к очередной перегрузке сервера [33]. 1.2.3. Качество обслуживания QoS (от англ. Quality of Service - качество обслуживания) - этим термином в области компьютерных сетей называют вероятность, что сеть связи соответствует заданному соглашению о трафике или же, в ряде случаев, неформальное обозначение вероятности того, что пакет пройдёт между двумя точками сети.
Когда передача данных сталкивается с проблемой «бутылочного горлышка» для приёма и отправки пакетов на роутерах то обычно используется метод FIFO: первый пришел - первый ушёл (First In - First Out). При интенсивном траффике это создаёт заторы, которые разрешаются крайне простым образом: все пакеты не вошедшие в буфер очереди FIFO (на вход или на выход) игнорируются роутером, и соответственно теряются безвозвратно. Более разумный метод - использовать «умную» очередь, в которой приоритет у пакетов зависит от типа сервиса - ToS (от англ. Type of Service - тип обслуживания). Необходимое условие: пакеты должны уже нести метку типа сервиса для создания «умной» очереди. Обычные пользователи чаще всего сталкиваются с термином QoS в домашних роутерах. Например весьма логично дать высокий приоритет VoIP пакетам и низкий -пакетам FTP, SMTP и клиента файлообменной сети. Существуют следующие модели QoS:
Негарантированная доставка —Best Effort Service. Наличие марки ToS Best Effort Service не является механизмом тонкого регулирования, и является признаком простого увеличения пропускной способности без какого-либо выделения отдельных классов трафика и регулирования.
Интегрированный Сервис — Integrated Service (IntServ). Модель интегрированного обслуживания обеспечивает сквозное (Endo-End) качество обслуживания, гарантируя необходимую пропускную способность. IntServ использует для своих целей протокол сигнализации RSVP, который обеспечивает выполнение требований ко всем промежуточным узлам. В отношении IntServ часто используется термин — резервирование ресурсов (Resource reservation).
Дифференцированное обслуживание — Differentiated Service (DiffServ). Обеспечивает QoS на основе распределения ресурсов в ядре сети и определенных классификаторов и ограничений на границе сети, комбинируемых с целью предоставления требуемых услуг. В этой модели вводится разделение трафика по классам, для каждого из которых определяется свой уровень QoS..
Критерии качества прогнозных моделей
Этап прогнозирования - часть процесса разработки прогнозов, характеризующаяся своими задачами, методами и результатами. Деление на этапы связано со спецификой построения систематизированного описания объекта прогнозирования, сбора данных, с построением модели, верификацией прогноза.
Прием прогнозирования - одна или несколько математических или логических операций, направленных на получение конкретного результата в процессе разработки прогноза. В качестве приема могут выступать сглаживание динамического ряда, определение компетентности эксперта, вычисление средневзвешенного значения оценок экспертов и т.д.
Модель прогнозирования - модель объекта прогнозирования, исследование которой позволяет получить информацию о возможных состояниях объекта прогнозирования в будущем и (или) путях и сроках их осуществления.
Метод прогнозирования - способ исследования объекта прогнозирования, направленный на разработку прогноза. Методы прогнозирования являются основанием для методик прогнозирования, которые представляют собой совокупность специальных правил и приемов (одного или нескольких методов) разработки прогнозов.
Прогнозирующая система - система методов и средств их реализации, функционирующая в соответствии с основными принципами прогнозирования. Средствами реализации являются экспертная группа, совокупность программ и т.д. Прогнозирующие системы могут быть автоматизированными и неавтоматизированными [73, 74].
Статистические методы - методы анализа статистических данных. Выделяют методы прикладной статистики, которые могут применяться во всех областях научных исследований и любых отраслях народного хозяйства, и другие статистические методы, применимость которых ограничена той или иной сферой. Имеются в виду такие методы, как статистический приемочный контроль, статистическое регулирование технологических процессов, надежность и испытания, планирование экспериментов.
Статистический анализ конкретных данных.
Применение статистических методов и моделей для статистического анализа конкретных данных тесно привязано к проблемам соответствующей области. В частности, можно выделить следующие этапы: планирование статистического исследования; организация сбора необходимых статистических данных по оптимальной или рациональной программе (планирование выборки, создание организационной структуры и подбор команды статистиков, подготовка кадров, которые будут заниматься сбором данных, а также контролеров данных и т.п.); непосредственный сбор данных и их фиксация на тех или иных носителях (с контролем качества сбора и отбраковкой ошибочных данных по соображениям предметной области); первичное описание данных (расчет различных выборочных характеристик, функций распределения, непараметрических оценок плотности, построение гистограмм, корреляционных полей, различных таблиц и диаграмм и т.д.); оценивание тех или иных числовых или нечисловых характеристик и параметров распределений (например, непараметрическое интервальное оценивание коэффициента вариации или восстановление зависимости между откликом и факторами, т.е. оценивание функции); проверка статистических гипотез (иногда их цепочек - после проверки предыдущей гипотезы принимается решение о проверке той или иной последующей гипотезы); более углубленное изучение, т.е. применение различных алгоритмов многомерного статистического анализа, алгоритмов диагностики и построения классификации, статистики нечисловых и интервальных данных, анализа временных рядов и др.; проверка устойчивости полученных оценок и выводов относительно допустимых отклонений исходных данных и предпосылок используемых вероятностно-статистических моделей, в частности, изучение свойств оценок методом размножения выборок; применение полученных статистических результатов в прикладных целях (например, для диагностики конкретных материалов, построения прогнозов, выбора инвестиционного проекта из предложенных вариантов, нахождения оптимальных режима осуществления технологического процесса, подведения итогов испытаний образцов технических устройств и др.); составление итоговых отчетов.
Процедура статистического анализа данных - это информационный технологический процесс, другими словами, та или иная информационная технология. Статистическая информация подвергается разнообразным операциям (последовательно, параллельно или по более сложным схемам). В настоящее время нельзя говорить о полной автоматизации всего процесса статистического анализа данных, поскольку имеется слишком много нерешенных проблем.
В настоящее время статистическая обработка данных проводится, как правило, с помощью соответствующих программных продуктов. В работе в разделе 2.3 будут кратко рассмотрены характеристики некоторых программных продуктов в отношении тех возможностей, которые нас интересуют [23].
Статистические методы прогнозирования - научная и учебная дисциплина, к основным задачам которой относятся: разработка, изучение и применение современных математико статистических методов прогнозирования на основе объективных данных (в том числе непараметрических методов наименьших квадратов с оцениванием точности прогноза, адаптивных методов, методов авторегрессии и др.); развитие теории и практики вероятностно-статистического моделирования экспертных методов прогнозирования, в том числе методов анализа субъективных экспертных оценок на основе статистики нечисловых данных; методов прогнозирования в условиях риска и комбинированных методов прогнозирования с использованием совместно экономико-математических и эконометрических (как математико-статистических, так и экспертных) моделей. Научной базой статистических методов прогнозирования является прикладная статистика и теория принятия решений [36].
Простейшие методы восстановления используемых для прогнозирования зависимостей исходят из заданного временного ряда, т.е. функции, определенной в конечном числе точек на оси времени. Временной ряд при этом часто рассматривается в рамках той или иной вероятностной модели, вводятся другие факторы (независимые переменные), помимо времени, например, объем денежной массы. Временной ряд может быть многомерным. Основные решаемые задачи - интерполяция и экстраполяция. Метод наименьших квадратов в простейшем случае (линейная функция от одного фактора) был разработан К.Гауссом в 1794-1795 гг. Могут оказаться полезными предварительные преобразования переменных, например, логарифмирование. Наиболее часто используется метод наименьших квадратов при нескольких факторах (2-5). Метод наименьших модулей, сплайны и другие методы экстраполяции применяются реже, хотя их статистические свойства зачастую лучше [19, 20, 52].
Методы прогнозирования, сведение к стационарности
Система может работать как надстройка в среде Windows, что обеспечивает обмен данными и результатами их обработки с электронными таблицами, базами данных и текстовыми процессорами. Результаты статистического анализа представлены в графической и текстовой форме. Документация к системе содержит подробное изложение нескольких примеров комплексного статистического анализа данных из разных предметных областей и может служить популярным учебным пособием.
Система разработана и распространяется "Центром статистических исследований" и "Лабораторией математической статистики" при кафедре математической статистики факультета вычислительной математики и кибернетики МГУ.
1. Как правило, прогноз с применением скользящего среднего рассматривается как прогноз на период, следующий за периодом наблюдения. Он не дает возможности создавать прогнозы, выходящие за рамки известных пределов и на период, превышающий выбранный интервал времени для сглаживания. Метод подходит для выявления нелинейного тренда, сезонных и циклических компонент. Это ведет к возможности создания прогнозов, путем сглаживания полученных данных за определенный период и предположением, что в будущем в таких же условиях ряд будет вести себя аналогично.
2. Метод наименьших квадратов может использоваться в случаях постепенного линейного увеличения или уменьшения значений временного ряда для выяснения тенденции развития на долгий период вперед.
3. Одним из инструментов, позволяющим реализовывать методы анализа временных рядов, является табличный процессор Microsoft Excel. Несмотря на наличие других пакетов, в том числе специализированных, этот продукт является наиболее доступным и распространенным в настоящий момент. Удобный интерфейс, большое число доступных статистических функций и неплохие графические возможности позволяют применять этот пакет при решении многих задач в статистике.
Организация мониторинга вычислительных сетей является важной и актуальной задачей, которая может решаться, как было показано в предыдущих главах, с использованием различных методов и средств.
В качестве объекта наблюдений выступил узел связи одного из петербургских провайдеров. Среда, в которой выполнялись измерения, может быть описана следующим образом:
1. Абоненты провайдера подключены к локальной сети и могут использовать её как для скачивания (download) и закачки (upload) данных на серверы провайдера, так и для передачи информации между собой, используя сервис Direct Connect. Исследуемая сеть построена по технологии Ethernet, имеет древовидную структуру, причем узлами дерева являются сетевые коммутаторы, а листьями - компьютеры абонентов (рис. 32). Локальная сеть обеспечивает передачу данных со скоростью 100 Мбит/с, причем коммутаторы соединены между собой специальными линиями, обеспечивающими передачу данных на скорости до 1 Гбит/с.
Для мониторинга загрузки каналов используются возможности управляемого сетевого оборудования - сбор информации о входящем (inbound) и исходящем (outbound) трафике на каждом из портов коммутаторов.
Информация о трафике представляет собой SNMP-статистику с интервалом сэмплирования 5 минут. Для получения полной картины функционирования сети этой информации недостаточно в силу следующих причин:
1. Минимальный интервал сбора SNMP-статистики равен 5 минутам. Перегрузки длительностью менее 5 минут могут быть не зафиксированы.
2. Информация собирается для конкретных портов или конкретных устройств, нет возможности судить о загрузке канала от одной точки до другой, то есть отсутствует возможность «сквозного» мониторинга сети.
3. SNMP-статистика не позволяет обнаружить проблему в случае, если происходят значительные потери и задержки пакетов на участках VLAN, проходящих через сеть Internet.
В настоящей работе предложен подход к решению указанных выше проблем с помощью постоянного мониторинга каналов связи путем измерения времени двойного оборота пакетов на основе ping a. Задачи, которые необходимо было решить: Данные собирались за разные периоды в праздничные и будние дни, в часы, когда возникновение перегрузок наиболее вероятно.
Основные измерения выполнялись путем запуска нескольких экземпляров разработанной утилиты PingTool и PingPlotter на одном из серверов провайдера, работающего под управлением ОС FreeBSD 6.2. В табл. 6 представлены данные о том, где, когда и с какими параметрами производились замеры.
Обработка данных
Особенности. Нет гарантий, что маршрут, выбранный в первый раз, будет такой же. Так же нет гарантий, что путь, по которому вернется ответ, совпадает с маршрутом, по которому была отправлен пакет, то есть время пути туда и обратно может быть разным. Сравнивать маршруты возможно путем использования параметра -j. При этом ГР-адрес конечного хоста следует указать в качестве промежуточного, а IP-адрес хоста отправителя в качестве конечного.
Утилита pathping предназначена для трассировки маршрута. Включает в себя возможности приложений tracert и ping. Более того показывает степень потерь пакетов на каждом промежуточном маршрутизаторе.
Принцип работы. Pathping находит маршрут, по которому должен двигаться пакет. Приложение выполняет действия, как программа tracert. Затем программа отправляет пакеты с ICMP-эхо-запросом каждому маршрутизатору, который находится на пути к хосту назначения, на протяжении некоторого времени, а потом вычисляет результат на основе возвратившихся эхо-ответов.
Использование программы. Работа с программой осуществляется так же, как с ping и tracert {pathping [-options] host). На монитор выводятся сначала путь (такой же маршрут выводится утилитой tracert), потом производятся сбор сведений о маршрутизаторах и вычисление количества потерянных пакетов (аналогично ping). Возможности, при использовании параметров такие же, как в ping и tracert.
Аналогом программы pathping в системах Linux/Unix является утилита MTR. Работа с приложением осуществляется через консоль, но также программа обладает графическим интерфейсом.
Особенности. В приложении pathping при выполнении одной команды процедура сбора данных длится некоторое время (зависит от количества прыжков) и отправляется большое количество запросов (по умолчанию - 100 для каждого маршрутизатора) в отличии от ping, где отправляется четыре пакета по умолчанию. По сравнению с tracert, команда pathping выполняет трассировку маршрутизации несколько быстрее, так как отводит всего лишь по одному пакету данных на каждый транзитный участок, в отличие от трех пакетов данных команды tracert.
Программа Ping является основным тестирующим средством, которое позволяет определить наличие соединения между системами, использующими TCP/IP. Она использует ICMP эхо-запрос и эхо-отклик.
Синтаксис: ping [] [-а] [-п счетчик] [-1 размер] [-fj [-і TTL] [-v тип] [-г счетчик] [-s счетчик] [{-j список_узлов -к список_узлов}] [-w интервал] [имя конечногокомпьютера]
Задает для команды ping отправку сообщений с эхо-запросом к точке назначения до тех пор, пока команда не будет прервана. Для прерывания команды и вывода статистики нажмите комбинацию CTRL-BREAK. Для прерывания команды ping и выйхода из нее нажмите клавиши CTRL-C. разрешение обратного имени по IP-адресу назначения. В случае успешного выполнения выводится имя соответствующего узла. -псчетчик. Задает число отправляемых сообщений с эхо-запросом. По умолчанию — 4. азмер. Задает длину (в байтах) поля данных в отправленных сообщениях с эхо-запросом. По умолчанию — 32 байта. Максимальный размер — 65527. Задает отправку сообщений с эхо-запросом с флагом «Don t Fragment» в ГР-заголовке, установленном на 1. Сообщения с эхо-запросом не фрагментируются маршрутизаторами на пути к месту назначения. Этот параметр полезен для устранения проблем, возникающих с максимальным блоком данных для канала (Maximum Transmission Unit).
Задает значение поля TTL в ЕР-заголовке для отправляемых сообщений с эхо-запросом. По умолчанию берется значение TTL, заданное по умолчанию для узла. Для узлов Windows ХР это значение обычно равно 128. Максимальное значение TTL — 255. -vjran. Задает значение поля типа службы (TOS) в IP-заголовке для отправляемых сообщений с эхо-запросом. По умолчанию это значение равно 0. тип — это десятичное значение от 0 до 255. -гсчетчик. Задает параметр записи маршрута (Record Route) в IP-заголовке для записи пути, по которому проходит сообщение с эхо-запросом и соответствующее ему сообщение с эхо-ответом. Каждый переход в пути использует параметр записи маршрута. По возможности значение счетчика задается равным или большим, чем количество переходов между источником и местом назначения. Параметр счетчик имеет значение от 1 до 9. счетчик. Указывает вариант штампа времени Интернета (Internet Timestamp) в заголовке IP для записи времени прибытия сообщения с эхо-запросом и соответствующего ему сообщения с эхо-ответом для каждого перехода. Параметр счетчик имеет значение от 1 до 4.
_список_узлов. Указывает для сообщений с эхо-запросом использование параметра свободной маршрутизации в IP-заголовке с набором промежуточных точек назначения, указанным в списке_узлов. При свободной маршрутизации последовательные промежуточные точки назначения могут быть разделены одним или несколькими маршрутизаторами. Максимальное число адресов или имен в списке узлов - 9. Список узлов - это набор IP-адресов (в точечно-десятичной нотации), разделенных пробелами. -к_список_узлов. Указывает для сообщений с эхо-запросом использование параметра строгой маршрутизации в IP-заголовке с набором промежуточных точек назначения, указанным в списке_узлов. При строгой маршрутизации следующая промежуточная точка назначения должна быть доступной напрямую (она должна быть соседней в интерфейсе маршрутизатора). Максимальное число адресов или имен в списке узлов равно 9. Список узлов — это набор IP-адресов (в точечно-десятичной нотации), разделенных пробелами. -\у_интервал. Определяет в миллисекундах время ожидания получения сообщения с эхо-ответом, которое соответствует сообщению с эхо-запросом. Если сообщение с эхо-ответом не получено в пределах заданного интервала, то выдается сообщение об ошибке "Request timed out".