Диплом. Диплом черновой1 (Восстановлен). Системы маршрутизации в глобальных сетях проблемы разработки
Скачать 55.4 Kb.
|
2.1 Цели разработки алгоритмов маршрутизацииАлгоритмы маршрутизации можно дифференцировать, основываясь на нескольких ключевых характеристиках. Во-первых, на работу результирующего протокола маршрутизации влияют конкретные задачи, которые решает разработчик алгоритма. Во-вторых, существуют различные типы алгоритмов маршрутизации, и каждый из них по-разному влияет на сеть и ресурсы маршрутизации. И наконец, алгоритмы маршрутизации используют разнообразные показатели, которые влияют на расчет оптимальных маршрутов. При разработке алгоритмов маршрутизации часто преследуют одну или несколько из перечисленных ниже целей: Оптимальность Простота и низкие непроизводительные затраты Живучесть и стабильность Быстрая сходимость Гибкость 2.2 Типы алгоритмов Типы алгоритмов маршрутизации можно классифицировать по следующим критериям: Статическая или динамическая маршрутизация; Наличие одного или нескольких маршрутов к одному получателю; Линейная или иерархическая маршрутизация; Выполнение алгоритма на исходном узле или на промежуточных маршрутизаторах; Внутридоменная или междоменная маршрутизация; Маршрутизация по состоянию канала или дистанционно-векторная маршрутизация. Статическая и динамическая маршрутизация Алгоритмы статической маршрутизации представляют собой не столько алгоритмы, сколько таблицы, составленные сетевым администратором прежде чем включить маршрутизаторы. Содержимое этих таблиц может быть изменено только сетевым администратором. Алгоритмы, использующие статические маршруты, просты и эффективно работают в сравнительно простых сетях с относительно предсказуемым характером передачи данных. Поскольку системы статической маршрутизации не реагируют на изменения в сети, они, как правило, не подходят для современных крупных, постоянно изменяющихся сетей. Большинство используемых в настоящее время алгоритмов являются алгоритмами динамической маршрутизации, которые адаптируются к изменениям сетевой обстановки, анализируя поступающие сообщения об обновлении маршрутов. Если в сообщении указывается на изменения в сети, то программное обеспечение маршрутизации заново вычисляет маршруты и рассылает новые сообщения об обновлении маршрутов. Эти сообщения распространяются по сети, заставляя маршрутизаторы заною запускать алгоритмы маршрутизации и вносить соответствующие изменения в таблицы. Иногда алгоритмы динамической маршрутизации целесообразно дополнить статическими маршрутами. Например, конечный маршрутизатор (т.е. тот, на который попадают все не поддающиеся маршрутизации пакеты) может служить хранилищем всех таких пакетов. Это гарантирует, что все сообщения будут так или иначе обработаны. Некоторые сложные протоколы маршрутизации допускают существование нескольких маршрутов к одному получателю. В отличие от алгоритмов, вычисляющих только один маршрут, эти протоколы позволяют распределить потоки данных по нескольким каналам. Преимущества таких алгоритмов очевидны: они значительно ускоряют передачу данных и повышают ее надежность. Такую технологию обычно называют распределением нагрузки (load sharing). Линейная и иерархическая маршрутизация Одни алгоритмы маршрутизации работают в линейном пространстве, а другие строят иерархии маршрутов. В системах с линейной маршрутизацией (flat routing) все маршрутизаторы равноправны. В системах с иерархической маршрутизацией некоторые маршрутизаторы образуют аналог маршрутной магистрали. Пакеты поступают от периферийных маршрутизаторов на магистральные маршрутизаторы и передаются по магистрали, пока не достигнут зоны, где расположен получатель. Затем они с последнего магистрального маршрутизатора передаются получателю через один или несколько периферийных маршрутизаторов. В системах маршрутизации часто создаются логические группы узлов, называемые доменами, автономными системами или зонами. В системах с иерархической маршрутизацией одни маршрутизаторы домена могут обмениваться данными с маршрутизаторами других доменов, а другие — только с маршрутизаторами своего домена. В очень крупных сетях иногда создаются дополнительные уровни иерархии, и тогда маршрутная магистраль образуется маршрутизаторами высшего уровня. Основное преимущество иерархической маршрутизации состоит в том, что она повторяет структуру большинства компаний и поэтому соответствует структуре передачи их данных. Наиболее интенсивный обмен данными происходит внутри малых групп (доменов). Поскольку внутридоменным маршрутизаторам требуется информация только о маршрутизаторах, принадлежащих к их домену, их алгоритмы маршрутизации можно упростить и, соответственно, сократить количество сообщений об обновлении маршрутов. Алгоритмы на узлах-источниках и на маршрутизаторах В некоторых алгоритмах маршрутизации весь маршрут определяется узлом- источником. Обычно такой подход называется маршрутизацией на источнике (source muting). В системах с маршрутизацией на источнике маршрутизаторы выполняют только функции запоминания адресов и пересылки пакетов следующему узлу. В других алгоритмах предполагается, что узлам-источникам маршруты передачи данных неизвестны. В этих алгоритмах путь следования по объединенной сети определяется маршрутизаторами, на которых выполняется вычисление маршрута. В первой из рассмотренных выше систем узел-источник должен быть способен определять маршрут, во второй системе эти функции выполняются Одни алгоритмы маршрутизации работают только внутри доменов, другие — как внутри доменов, так и между ними. Природа этих двух типов алгоритмов различна, поэтому оптимальный алгоритм внутридоменной маршрутизации не всегда является оптимальным для междоменной маршрутизации. По состоянию канала (link-state), которые также называют алгоритмами определения кратчайшего маршрута, распространяют информацию о маршрутах по всем узлам объединенной сети. Однако каждый маршрутизатор посылает только ту часть таблицы маршрутизации, которая описывает состояние его собственных каналов. В таких алгоритмах в таблице маршрутизации каждого маршрутизатора составляется картина всей сети. Дистанционно-векторные алгоритмы маршрутизации (также называемые алгоритмами Беллмана-Форда) тоже требуют от каждого маршрутизатора отправки всей таблицы маршрутизации или ее части, но только своим соседям. В сущности, алгоритмы маршрутизации по состоянию канала рассылают небольшие обновления всем остальным маршрутизаторам, а дистанционно-векторные алгоритмы отправляют больше информации, но только соседним маршрутизаторам. При использовании дистанционно-векторных алгоритмов маршрутизатор имеет информацию лишь о своих соседях. Поскольку алгоритмы маршрутизации по состоянию канала сходятся быстрее, вероятность образования петель маршрутизации при их использовании несколько меньше, чем при использовании дистанционно-векторных протоколов. С другой стороны, алгоритмы маршрутизации по состоянию канала требуют большей мощности процессора и больше памяти. Поэтому алгоритмы маршрутизации по состоянию канала могут оказаться более дорогостоящими при реализации и поддержке. Протоколы маршрутизации по состоянию канала обычно более масштабируемы, чем дистанционно-векторные протоколы. 2.3 Таблицы маршрутизации Решение о пересылке данных по определенному маршруту принимается на основании сведений о том, какие адреса сетей (или идентификаторы (коды) сетей) доступны в объединенной сети. Эти сведения содержатся в базе данных, называемой таблицей маршрутизации. Таблица маршрутизации представляет собой набор записей, называемых маршрутами, которые содержат информацию о расположении сетей с данными идентификаторами в объединенной сети. Таблицы маршрутизации могут существовать не только на маршрутизаторах. Узлы, не являющиеся маршрутизаторами, могут также вести свои таблицы маршрутизации для определения оптимальных маршрутов. 2.4 Типы записей в таблице маршрутизации Каждая запись в таблице маршрутизации считается маршрутом и может иметь следующий тип: Маршрут к сети, или сетевой маршрут (Network Route) Маршрут к сети с заданным идентификатором в межсетевой среде. Маршрут к компьютеру, или узловой маршрут (Host Route) Маршрут к заданному адресу (идентификатору сети и идентификатору узла, Network ID и Node ID). Маршруты к компьютерам обычно используются, чтобы создавать настраиваемые маршруты для заданных компьютеров, для управления или оптимизации сетевого трафика. Маршрут по умолчанию (Default Route) Маршрут по умолчанию используется, когда не найдены никакие другие маршруты в таблице маршрутизации. 2.5 Структура таблицы маршрутизации Таблица маршрутизации состоит из следующих основных полей:
Таблица 3 – Составные части таблицы маршрутизации 3. Маршрутизация в глобальных сетях 3.1 Принцип работы глобальных сетей В глобальной сети, имеющей по несколько физических соединений между коммутаторами пакетов, сеть сама отвечает за маршрутизацию пакетов с того времени, как они попали в нее, и до тех пор, пока они не покинут ее. Такая внутренняя маршрутизация происходит полностью внутри этой глобальной сети. Машины за ее пределами не могут участвовать в принятии решений; для них эта сеть представляется единым целым, которое доставляет пакеты. Прежде чем углубляться в теорию маршрутизации в глобальных сетях, стоит рассмотреть простую классификацию методов маршрутизации. Способы доставки пакета в правильном направлении принято делить на три больших класса: Простая маршрутизация Фиксированная маршрутизация Адаптивная маршрутизация Простая маршрутизация работает по принципу устройств канального уровня (повторители, коммутаторы, мосты) и в наше время используется очень редко. Имеется три вида простой маршрутизации: Первый получил название «случайная маршрутизация». При этом каждый маршрутизатор, получив пакет, отправляет его на случайный интерфейс . Такой подход не гарантирует быстрой и качественной доставки пакета адресату. А в ряде случаев пакет вообще уничтожается при превышении TTL. Второй вид называется «лавинная маршрутизация». В этом случае роутер шлет пакет по всем активным интерфейсам. Минус этого приема – засорение сети избыточной служебной информацией. Третий вид - называется «маршрутизация по опыту». Применяя этот прием, шлюз изначально накапливает сведения о маршрутах, пересылая данные, как правило, лавинным способом. Затем, составляя некоторую таблицу, он учится направлять пакеты куда надо. Это очень напоминает работу моста, когда имеют место режимы обучения и работы. Простая маршрутизация просто неприемлема в больших сетях, особенно, если узлы связаны резервными связями. «Фиксированная» предполагает наличие так называемой таблицы маршрутизации, которая существует в любой современной операционной системе. Каждая таблица должна иметь, как минимум пять столбцов. Вот они: Адрес сети – сеть или отдельный IP-адрес, куда должен быть доставлен пакет. Маска сети – чтобы однозначно идентифицировать подсеть должна быть использована маска. Шлюз – на этот адрес будет передан пакет в случае совпадения адрес назначения и адреса сети. Интерфейс (или номер порта) – инициализирует интерфейс, по которому будет проходить пакет. Метрика – определенное число, характеризующее канал связи. Смысл фиксированной маршрутизации в том, что вся работа по прописыванию путей возлагается на администратора сети. Разумеется, что в случае простенькой локальной сети прописать все маршруты можно за пять минут. Но когда речь идет о глобальной сети с разными каналами, то здесь следует очень сильно подумать. К примеру, если в сети имеются резервные линии, то очень сложно переключиться на нее в случае аварии на основном канале. Впрочем, данный метод зарекомендовал себя в небольших локальных сетях и на магистральных линиях. Еще одна маленькая особенность фиксированной маршрутизации: в случае, когда нужно доставлять все или большинство пакетов на один узел, используется понятие «шлюз по умолчанию». Адрес сети и маска в этом случае будут иметь вид 0.0.0.0. Когда совпадение адреса назначения с адресом сети не происходит, данные уходят на дефолтовый шлюз. «Адаптивная» - применяется в больших сетях с разными каналами и избыточными линиями. Смысл адаптации в том, чтобы быстро поменять маршрут в случае выхода из строя отдельной линии, либо добавления нового шлюза. В данный момент используется два вида протокола маршрутизации: RIP и OSPF. |