Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
учебник1.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
8.36 Mб
Скачать

7.Маршрутизация

Реализуется на сетевом уровне сети. За нее отвечает протокол маршрутизации. При выборе стратегии маршрутизации могут быть поставлены разные цели, например:

  • Минимизация времени доставки пакетов;

  • Минимизации стоимости доставки пакетов;

  • Обеспечение максимальной пропускной способности сети и т.д.

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

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

Алгоритмы маршрутизации могут быть:

  • статическими или динамическими;

  • одномаршрутными или многомаршрутными;

  • одноуровневыми или иерархическими;

  • внутридоменными или междоменными;

  • одноадресными или групповыми.

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

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

Одномаршрутные протоколы предлагают только один маршрут для передачи пакета (который не всегда является оптимальным).

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

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

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

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

Выделяют три основные группы протоколов маршрутизации в зависимости от используемого типа алгоритма определения оптимального маршрута:

  • Протоколы вектора расстояния;

  • Протоколы состояния канала;

  • Протоколы политики маршрутизации.

Протоколы вектора расстояния – самые простые и распространенные. Это, например, RIP, RTMP, IGRP.

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

Протоколы состояния канала были впервые предложены в 1970 году Эдсгером Дейкстрой. Здесь вместо рассылки содержимого таблиц маршрутизации, каждый маршрутизатор производит широковещательную рассылку списка маршрутизаторов, с которыми он имеет непосредственную связь и списка напрямую подключенных к нему локальных сетей. Такая рассылка может производиться либо при изменении состояния каналов, либо периодически. Примеры протоколов: OSPF, IS-IS, Novell NLSP.

Протоколы политики (правил) маршрутизации наиболее часто используются в сети Интернет. Они опираются на алгоритмы вектора расстояния. Информация о маршрутизации получается от соседних операторов на основании специальных критериев. На основе такого обмена вырабатывается список разрешенных маршрутов. Примеры: протоколы BGP и EGP.

Маршрутизаторы

Маршрутизаторы являются достаточно сложными устройствами. При их создании используются 3 основные архитектуры.

  1. Однопроцессорная. Здесь на процессор возлагается весь комплекс задач, включающий:

  • фильтрацию и передачу пакетов;

  • модификацию заголовков пакетов;

  • обновление таблиц маршрутизации;

  • выделение служебных пакетов;

  • формирование управляющих пакетов;

  • работа с протоколом управления сетью SNMP (Simple Network Management Protocol) и т.д.

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

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

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

IP-маршрутизаторы

IP (Internet Protocol) является в настоящее время наиболее распространенным (в сети Интернет). Протокол работает на сетевом уровне и именно на этом уровне принимается решение о маршрутизации.

Существует 2 подхода к выбору маршрута:

  • одношаговый подход;

  • маршрутизация от источника.

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

Алгоритмы построения таблиц при одношаговой маршрутизации могут быть следующими:

  • фиксированная маршрутизация (таблица составляется «вручную» администратором);

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

  • лавинная маршрутизация (дейтаграмма передается во все направления, кроме исходного);

  • адаптивная маршрутизация (таблица маршрутизации периодически корректируется на основании сведений о сетевой топологии от других маршрутизаторов).

Протоколы адаптивной маршрутизации получили наибольшее распространение в IP-сетях. Это протоколы: RIP, OSPF, IS-IS, EGP, BGP и т.д.

При маршрутизации от источника выбор маршрута производится конечным узлом или первым маршрутизатором на пути следования дейтаграммы. В IP-сетях этот метод не нашел распространения, зато широко применяется в ATM-сетях (например, протокол PNNI).

Пример записи в таблице маршрутизации (протокол RIP IP):

Номер сети получателя: 128.3.0.0

Следующий маршрутизатор в пути

Количество переходов

Таймер

128.5.3.2

3

145

128.5.4.7

3

170

128.5.3.9

6

25

Здесь в качестве метрики маршрута используется количество переходов (hop count). Его называют также числом транзитных узлов (маршрутизаторов на пути к адресату). Таймер – это время, прошедшее с момента последнего обновления записи, Таймер сбрасывается при каждом обновлении.

Автономные системы.

В связи с ростом сети Интернет производительность маршрутизаторов значительно снизилась. Неимоверно возрос объем трафика для поддержания маршрутизации и выросли в объеме маршрутные таблицы. В связи с этим Интернет была разделена на ряд Автономных систем (АС) (Autonomous System) (рис.7.1.). Каждая такая система представляет собой группу сетей и маршрутизаторов, управляемую уполномоченным. Это позволяет маршрутизаторая внутри каждой АС использовать различные протоколы маршрутизации. Здесь используются динамические протоколы маршрутизации, определяемые как класс IGP-протоколов (IGP – Interior Gateway Protocol – внутренний шлюзовой протокол). К этому классу относятся протоколы RIP, IS-IS и т.д.

Р ис.7.1.

Для взаимодействия маршрутизаторов, принадлежащих к разным АС, используется дополнительный протокол, называемый EGP (Exterior Gateway Protocol –внешний шлюзовой протокол).

Примеры протоколов

Протокол RIP

Протокол RIP (Routing Information Protocol) относится к классу IGP. Появился протокол в 1982 году как часть стека протоколов TCP/IP. Стал стандартным протоколом маршрутизации внутри автономной системы. Ограничение — протокол не поддерживает длинные пути, содержащие более 15 переходов.

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

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

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

  1. Если новое количество переходов меньше старого (для адреса конкретной сети) — эта запись вносится в таблицу маршрутизации.

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

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

Р ис.7.2.

Протокол OSPF

Протокол OSPF (Open Shortest Path First) принят в 1991 году. Он ориентирован на применение в больших распределенных сетях. Основан на алгоритме состояния канала. Суть этого алгоритма состоит в том, что он должен вычислить кратчайший путь. Под «кратчайшим» имеется в виду не физическая длина, а время передачи информации.

Маршрутизатор отправляет запросы своим соседям, находящимся в одном домене маршрутизации, для выявления состояния каналов до них и далее от них. Состояние канала при этом характеризуется несколькими параметрами, называемыми «метрикой». Это может быть:

  • пропускная способность канала;

  • загрузка канала на текущий момент;

  • задержка информации при прохождении по этому каналу и т.д.

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

Рис.7.3.

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

Протокол OSPF относится к классу IGP-протоколов и заменяет протокол RIP в больших и сложных сетях. Рассылка информации о состоянии каналов производится каждые 30 минут. На основе этих сообщений на каждом из маршрутизаторов создается база данных состояния каналов (Link-State Datadase). Эта база одинакова на всех маршрутизаторах домена.

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

Таблица 7.1.

Сеть

Следующий маршрутизатор пути

Метрика маршрута

Сеть 1

Маршрутизатор 5

15

Сеть 2

Подключена напрямую

0

Сеть 3

Подключена напрямую

0

Сеть 4

Маршрутизатор 2

25

Сеть 5

Маршрутизатор 2

35

Сеть 6

Маршрутизатор 4

15

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

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

Протокол IGRP

Протокол IGRP (Interior Gateway Routing Protocol) разработан фирмой CISCO в 1980 году. Принадлежит к классу протоколов IGP. Работает по алгоритму вектора расстояния. Предназначен для сетей TCP/IP.

В качестве метрики могут быть выбраны:

  • время задержки;

  • пропускная способность канала;

  • загруженность канала;

  • надежность канала (количество ошибок).

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

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

Разновидностью этого протокола является протокол EIGRP (Enhanced Interior Gateway Routing Protocol) фирмы CISCO. Он объединяет достоинства методов вектора расстояния и состояния канала. Протокол отличает – небольшой служебный трафик, быстрое восстановление при изменении сетевой топологии (менее чем за 1 сек.). Процедуры протокола являются коммерческой собственностью фирмы.

Протокол политики маршрутизации EGP

Протокол EGP (Exterior Gateway Protocol) разработан в 1984 году. Служит для организации связи между корневыми маршрутизаторами в сети Интернет, которые принадлежат к различным автономным системам.

Внутри своей автономной системы такой корневой маршрутизатор пользуется для связи с другими маршрутизаторами протоколом класса IGP (с помощью такого протокола он получает всю информацию о своей АС).

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

Протокол политики маршрутизации BGP

В 1990 году был разработан более совершенный протокол BGP (Border Gateway Protocol) – протокол граничной маршрутизации. Он также используется для связи корневых маршрутизаторов. Для передачи своей информации протокол использует гарантирующий доставку протокол TCP.

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

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

Протокол PNNI

Протокол PNNI (Private Network-to-Network Interface) применяется в сетях ATM. Это пример протокола с маршрутизацией от источника.

Общий протокол состоит из двух частей:

  • протокола маршрутизации запросов;

  • протокола синхронизации.

Протокол маршрутизации запросов.

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

Эти записи называются элементами состояния топологии PTSE (PNNI Topology State Element). Для канала PTSE включает параметры качества обслуживания (например, пропускную способность и задержку).

В протоколе PNNI распространение записей PTSE в сети разделяется на 2 фазы:

  • Начальный обмен информацией о сетевой топологии;

  • Последующий лавинный обмен.

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

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

Протокол сигнализации.

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

При поступлении запроса на передачу от какого-то из своих абонентов маршрутизатор (используя хранящиеся данные о топологии) вычисляет весь предстоящий маршрут пакета. При этом он создает так называемый транзитный список DTL (Designated Transit List) — это список всех последовательных транзитных маршрутизаторов.

Маршрутизаторы внутри сети не принимают решения о дальнейшей маршрутизации, а просто передают запрос в соответствии со списком DTL. (Этим маршрутизация от источника отличается от традиционной маршрутизации, применяемой, например, в Интернет).

Алгоритм вычисления маршрута (создания DTL) не описывается протоколом PNNI (он разрабатывается фирмой поставщиком маршрутизатора).

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

При успешном прохождении первого пакета от источника к адресату — посылается уведомление источнику. Далее по установленному маршруту передаются пакеты данных.

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