@
страница
Михаила Коткова
обо мне
кратко
биография
контакты
диссертация
в общем
содержание
выводы
источники
отчёт о поиске
библиотека
ссылки
ДонНТУ
поиск
магистры
Диссертация
диссертация: Разработать систему оптимального управления маршрутизацией в IP сетях с балансировкой... руководитель: Хорхордин А.В.
В общем

тема

разработать систему оптимального управления маршрутизацией в IP сетях с балансировкой нагрузки коммуникационных каналов

руководитель

Хорхордин А.В.

факультет

компьютерные информационные технологии и автоматика

специализация

телекоммуникационные системы и сети

актуальность темы

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

цели и задачи исследования

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

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

практическое значение

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

Содержание

Введение

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

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

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

Маршрутизация. Общие понятия

Согласно определению крупнейшего производителя маршрутизаторов компании Cisco, маршрутизатор - "это устройство третьего уровня, использующее одну и более метрик для определения оптимального пути передачи сетевого трафика на основе информации сетевого уровня". По существу маршрутизатор представляет собой компьютер с необходимым программным обеспечением и устройствами ввода/вывода. В простейшем случае маршрутизатор имеет два сетевых интерфейса: интерфейс локальной сети (например, Ethernet) и интерфейс глобальной сети. В этом случае все пакеты, адрес получателя которых не принадлежит к данной локальной сети, пересылается с порта Ethernet на порт глобальной сети.

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

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

Алгоритмы и протоколы маршрутизации

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

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

При алгоритме вектора расстояния (distance vector protocols) каждый маршрутизатор ведет таблицу, т. е. вектор, с указанием кратчайшего расстояния и выходной линии для каждого адресата. В качестве метрики может использоваться также число транзитных узлов, время задержки, совокупная длина очередей и прочее. Таблица содержит информацию обо всех маршрутизаторах в сети. Периодически каждый маршрутизатор рассылает соседям свою таблицу. Одним из основных недостатков этого алгоритма является медленное распространение информации о недоступности той или иной линии или выходе того или иного маршрутизатора из строя. Данный алгоритм используется в таких протоколах, как RIP, IGRP, BGP др.

В случае алгоритма состояния канала (link state protocol) маршрутизатор собирает информацию о своих непосредственных соседях. При этом измеряются такие показатели как ширина полосы, надежность доставки пакетов (вероятность потерь), задержка доставки информации и др. Вместо таблиц маршрутизации он осуществляет широковещательную рассылку информации только о своих непосредственных соседях, причем рассылка инициируется только при изменении информации. При получении изменений маршрутизатор определяет заново кратчайший путь до всех адресатов с помощью алгоритма Э. Дейкстры. Алгоритм состояния канала лежит в основе таких протоколов маршрутизации, как OSPF, IS-IS, NLSP. Компоненты показателей могут объединяться по алгоритму, который определяет администратор. Для разных видов трафика могут быть установлены разные показатели: так, например, для почтового трафика основным показателем является надежность, а для мультимедийного - время задержки.

Рассмотрим отдельно некоторые из протоколов маршрутизации.

Протокол RIP

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

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

RIP использует определенные таймеры для регулирования своей работы. Таймер корректировки маршрутизации RIP (routing update timer) обычно устанавливается на 30 сек., что гарантирует отправку каждым маршрутизатором полной копии своей маршрутной таблицы всем своим соседям каждые 30 секунд. Таймер недействующих маршрутов (route invalid timer) определяет, сколько должно пройти времени без получения сообщений о каком-нибудь конкретном маршруте, прежде чем он будет признан недействительным. Если какой-нибудь маршрут признан недействительным, то соседи уведомляются об этом факте. Такое уведомление должно иметь место до истечения времени таймера отключения маршрута (route flush timer). Когда заданное время таймера отключения маршрута истекает, этот маршрут удаляется из таблицы маршрутизации. Типичные исходные значения для этих таймеров - 90 секунд для таймера недействующего маршрута и 270 секунд для таймера отключения маршрута.

RIP разрешает максимальное число пересылок, равное 15. Любому пункту назначения, который находится дальше, чем на расстоянии 15 пересылок, присваивается ярлык "недосягаемого". Максимальное число пересылок RIP в значительной мере ограничивает его применение в крупных объединенных сетях, однако, способствует предотвращению появления проблемы, называемой счетом до бесконечности (count to infinity), приводящей к зацикливанию маршрутов в сети.

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

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

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

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

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

Протокол IGRP

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

IGRP использует комбинацию (вектор) показателей. Задержка объединенной сети (internetwork delay), ширина полосы (bandwidth), надежность (reliability) и нагрузка (load) - все эти показатели учитываются в виде коэффициентов при принятии маршрутного решения. IGRP использует либо установленные администратором, либо устанавливаемые по умолчанию весомости для автоматического расчета оптимальных маршрутов.

IGRP предусматривает широкий диапазон значений для своих показателей. Например, надежность и нагрузка могут принимать любое значение в интервале от 1 до 255, ширина полосы может принимать значения, отражающие скорости пропускания от 1200 до 10 гигабит в секунду, в то время как задержка может принимать любое значение от 1-2 до 24-го порядка. Широкие диапазоны значений показателей позволяют производить удовлетворительную регулировку показателя в объединенной сети с большим диапазоном изменения характеристик производительности. Самым важным является то, что компоненты показателей объединяются по алгоритму, который определяет пользователь. В результате администраторы сети могут оказывать влияние на выбор маршрута, полагаясь на свою интуицию.

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

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

Протокол OSPF

OSPF является протоколом маршрутизации с объявлением состояния о канале (link-state). Это значит, что он требует отправки объявлений о состоянии канала (link-state advertisement - LSA) во все маршрутизаторы, которые находятся в пределах одной и той же иерархической области. В объявления LSA протокола OSPF включается информация о подключенных интерфейсах, об использованных показателях и о других переменных. По мере накопления маршрутизаторами OSPF информации о состоянии канала, они используют алгоритм SPF для расчета наикратчайшего пути к каждому узлу.

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

В числе дополнительных характеристик OSRF - равные затраты, многотрактовая маршрутизация (multipath routing) и маршрутизация, базирующаяся на запросах типа услуг высшего уровня (type of service - TOS). Базирующаяся на TOS маршрутизация поддерживает те протоколы высшего уровня, которые могут назначать конкретные типы услуг. Например, какая-нибудь прикладная программа может включить требование о том, что определенная информация является срочной. Если OSPF имеет в своем распоряжении каналы с высоким приоритетом, то они могут быть использованы для транспортировки срочных дейтаграмм.

OSPF обеспечивает один или более показателей. Если используется только один показатель, то он считается произвольным, и TOS не обеспечивается. Если используется более одного показателя, то TOS обеспечивается факультативно путем использования отдельного показателя (и следовательно, отдельной маршрутной таблицы) для каждой из 8 комбинаций, образованной тремя битами IP TOS: битом задержки (delay), производительности (throughput) и надежности (reliability). Например, если биты IP TOS задают небольшую задержку, низкую производительность и высокую надежность, то OSPF вычисляет маршруты во все пункты назначения, базируясь на этом обозначении TOS.

Маски подсети IP включаются в каждый объявленный пункт назначения, что позволяет использовать маски подсети переменной длины (variable-length subnet masks). С помощью масок подсети переменной длины IP-сеть может быть разбита на несколько подсетей разной величины. Это обеспечивает администраторам сетей дополнительную гибкость при выборе конфигурации сети.

Протокол EGP

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

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

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

Протокол BGP

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

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

Сообщения о корректировках BGP состоят из пар "сетевой номер/тракт AS". Тракт AS содержит последовательность из AS, через которые может быть достигнута указанная сеть. Эти сообщения о корректировке отправляются с помощью механизма транспортировки TCP для обеспечения надежной доставки.

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

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

Оптимизация маршрутизации

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

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

Такие возможности может предоставить система представленная следующими составляющими:

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

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

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

Использование SNMP объясним подробнее.

Протокол SNMP

Основной концепцией протокола является то, что вся необходимая для управления устройством информация хранится на самом устройстве - будь то сервер, модем или маршрутизатор - в так называемой Административной Базе Данных (MIB - Management Information Base).

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

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

Поэтому SNMP как непосредственно сетевой протокол предоставляет только набор команд для работы с переменными MIB. Этот набор включает операции описанные в таблице.



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

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

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

По своей структуре MIB представляет собой дерево, изображенное на рисунке.




Программная реализация системы

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

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

Выводы

В ходе проведённой работы:

  • изучены такие протоколы маршрутизации как RIP, IGRP, IS-IS, OSPF, BGP, EGP;
  • изучены различные программные (gated, zebra, bird, mrtd) и апаратные (Cisco) реализации маршрутизаторов, способы их настройки, особенности использования;
  • изучен протокол SNMP и соответствующие программные средства;
  • предложена структура разрабатываемой системы управления маршрутизацией.
Источники

При подготовке диссертации использовались следующие материалы

  1. Александр Филимонов - Протоколы Интернета.
  2. Леммл Т. - Маршрутизация. Учебное руководство.
  3. Олифер В.Г., Олифер Н.А. - Основы сетей передачи данных.
  4. Тодд Лэммл, Доналд Портер, Джеймс Челлис - Cisco Certified Network Associate. Учебное руководство.
  5. Леммл Т. - Настройка коммутаторов Cisco.

| начало |