Файл: проектирование маршрутизации в трех двухуровневых сетях с использование протокола IGRP.pdf
Добавлен: 27.06.2023
Просмотров: 75
Скачиваний: 2
До сих пор я описал "IGRP общего назначения", технология, которая могла поддержать маршрутизацию для любого сетевого протокола. Однако в этом разделе стоит упомянуть о конкретной реализации TCP/IP. То есть реализации, которую предполагают сравнивать с RIP.
Сообщения обновления RIP просто содержат снимки таблицы маршрутизации. То есть у них есть ряд мест назначений с метриками и еще некоторые данные. Реализация IP IGRP имеет дополнительную структуру. Во-первых, обновленное сообщение определено "номером автономной системы. Эта терминология берет свое начало из проекта Arpanet, где имела вполне конкретный смысл. Однако для большинства сетей это означает возможность выполнения нескольких различных систем маршрутизации в одной сети. Это полезно для мест, где сходятся сети от нескольких организаций. Каждая организация может поддерживать свою собственную маршрутизацию. Из-за того, что каждое обновление помечается, шлюзы можно настроить так, чтобы они обращали внимание только на нужные. Некоторые шлюзы настроены для получения обновлений от нескольких автономных систем. Они передают информацию между системами управляемым способом. Обратите внимание, что это не полное решение проблемы безопасности маршрутизации. Любой шлюз может быть настроен для слушания обновлений от любой автономной системы. Однако это весьма полезное средство для реализации политик маршрутизации с приемлемым уровнем доверия между сетевыми администраторами.
Вторая структурная функция, касающаяся сообщений об обновлении IGRP, влияет на способ обработки маршрутов по умолчанию с помощью IGRP. Большинство протоколов маршрутизации используют идею маршрута по умолчанию. Это часто не практично для обновлений маршрута для распечатки каждой сети в мире. Обычно набор шлюзов требует детальные сведения о маршрутизации для сетей внутри их организации. Весь трафик для назначений за пределами их организации может быть передан одному из нескольких граничных шлюзов. Эти граничные шлюзы могут содержать более полную информацию. Маршрут к лучшему граничному шлюзу является "маршрутом по умолчанию". Это - по умолчанию в том смысле, что это используется для получения до любого назначения, которое не перечислено в частности в обновлениях внутренней маршрутизации. RIP и некоторые другие протоколы маршрутизации, распространяют информацию о маршруте по умолчанию, как будто это была реальная сеть. IGRP использует другой подход. Вместо единой ложной записи для маршрута по умолчанию IGRP разрешает маркировку реальных сетей как кандидатов на статус сети по умолчанию. Это реализуется за счет размещения информации о данных сетях в специальном внешнем разделе сообщения об обновлении. Однако это могло бы также считаться включающий немного привязанный к тем сетям. IGRP периодически сканирует все потенциальные маршруты по умолчанию и выбирает один с наименьшей метрикой в качестве действующего маршрута по умолчанию.
Этот подход к выбору стандартных маршрутов может оказаться несколько более гибким, чем подход, применяемый в большинстве версий RIP. Чаще всего RIP-шлюзы можно настроить на создание маршрута по умолчанию с определенной меткой. Операция будет выполнена на граничных шлюзах.
Этот раздел предоставляет подробное описание IGRP.
Общее описание
Когда шлюз включается впервые, происходит инициализация его таблицы маршрутизации. Это может сделать оператор при помощи консольного терминала либо считав данные из файлов конфигурации. Дается описание каждой сети, подключенной к шлюзу, включая топологическую задержку по каналу (например, сколько времени уходит у одного бита на прохождение канала) и полосу пропускания канала.
Рис. 2
К примеру, на приведенной выше диаграмме шлюзу S было бы указано, что он подключен к сетям 2 и 3 через соответствующие интерфейсы. Таким образом, первоначально, шлюз 2 только знает, что может достигнуть любого конечного компьютера в сетях 2 и 3. Все шлюзы запрограммированы для периодической передачи к их соседним шлюзам информации, что они инициализировались с, а также информация, собранная из других шлюзов. Таким образом шлюз S получил бы обновления от шлюзов R и T и узнал бы, что это может достигнуть компьютеров в сети 1 через шлюз R и компьютеры в сети 4 через шлюз T. Начиная со шлюза S передает свою всю таблицу маршрутизации, в следующем шлюзе цикла T узнает, что это может добраться до сети 1 через шлюз S. Очевидно, что информация о любой сети системы в конечном счете достигнет любого шлюза системы, при условии, что сеть полносвязная.
Рис. 3
________ Network 1
|
gw A --nw2-- gw C
| / |
| / |
nw3 nw4 nw5
| / |
| / |
gw B gw D
_|_____________|____ Network 6
Каждый шлюз рассчитывает композитную метрику для определения привлекательности маршрутов передачи данных к конечным компьютерам. Например, в схеме выше, для назначения в Сети 6, шлюз (gw A) вычислил бы метрические функции для двух путей через шлюзы B и C. Обратите внимание на то, что пути определены просто следующим переходом. Существует фактически три возможных маршрута от до Сети 6:
- Прямо к B
- К C и затем к B
- К C, затем к D
Однако шлюз потребность не выбирает между двумя маршрутами, включающими C. Таблица маршрутизации в A имеет одиночную запись, представляющую путь к C. Его метрика представляет лучший способ добраться от C до конечного назначения. Если A передает пакет C, решение об использовании B или D принимается C самостоятельно.
Уравнение 1
Ниже приведен расчет функции составной метрики для каждого пути данных:
[(K1 / Be) + (K2 * Dc)] r
Где r = частичная надежность (% передач, которые успешно получены в следующем переходе), Система цифрового управления = суммарная задержка, Быть = эффективная пропускная способность: пропускная способность незагруженного канала x (1 - заполнение канала), и K1 и K2 = константы.
Уравнение 2
В принципе, общая составное значение задержки (Dc) можно определить, как показано ниже:
Dc = Ds + Dcir + Dt
Где Ds = задержка переключения, Dcir = задержка цепи (задержка распространения 1 бита) и DT = задержка передачи (задержка для 1500-битного сообщения без учета времени загрузки).
Однако на практике цифра стандартной задержки используется для каждой технологии типа сети. Например, для Ethernet и линий последовательной передачи при любой скорости потока используется схема стандартной задержки.
Здесь приводится пример того, как может выглядеть таблица маршрутизации шлюза A' в случае топологии сети на схеме 6 вверху. (Обратите внимание, что для простоты отдельные компоненты вектора метрики не отображаются.).)
Пример таблицы маршрутизации:
Сеть |
Interface |
Следующий шлюз |
Метрика |
1 |
NW 1 |
Нет |
Непосредственно связанный |
2 |
NW 2 |
Нет |
Непосредственно связанный |
3 |
NW 3 |
Нет |
Непосредственно связанный |
4 |
NW 2 |
C |
1270 |
NW 3 |
B |
1180 |
|
5 |
NW 2 |
C |
1270 |
NW 3 |
B |
2130 |
|
6 |
NW 2 |
C |
2040 |
NW 3 |
B |
1180 |
Основной процесс построения таблицы маршрутизации с помощью обмена сведениями с соседями описан алгоритмом Беллмана-Форда. Алгоритм использовался в более ранних протоколах, таких как RIP (RFC 1058). Для работы в более сложных сетях IGRP дополняет базовый алгоритм Беллмана-Форда тремя возможностями:
- Вектор метрик используются для того, чтобы охарактеризовать путь, вместо простой метрики. Можно вычислить составную метрику при помощи данного вектора в соответствии с приведенным выше уравнением 1. Использование вектора позволяет шлюзу принимать различные типы сервиса, при помощи нескольких других коэффициентов в Уравнении 1. Это также дает возможность более точного представления характеристик сети, чем одиночная метрика.
- Вместо того, чтобы выбрать один маршрут наименьшей длины, трафик будет поделен между несколькими маршрутами, значения длины которых принадлежат к указанному диапазону значений. Это позволяет нескольким маршрутам использоваться параллельно, предоставляя большую эффективную пропускную способность, чем какой-либо один маршрут. Дисперсию V задает администратор сети. Удерживаются все путиpс минимальной композитной метрикой M. Кроме того, сохраняются все пути с метрикой ниже V x M. Трафик распределен среди разнообразных путей в обратной пропорции к составным метрикам.
- Существует несколько проблем в связи с этим понятием дисперсии. Трудно придумать стратегии, которые используют значения различия, больше, чем 1, и также не приводят к пакетному цикличному выполнению. Возможность дисперсии в Cisco выпуска 8.2 не реализована. (Я не уверен, в каком выпуске была удалена функция.) Эффект этого состоит в том, чтобы установить различие постоянно в 1.
- Представлены некоторые возможности обеспечения стабильности в ситуациях изменения топологии. Эти функции предназначены для предотвращения циклов маршрутизации и "рассчитывающий к бесконечности", которые охарактеризовали предыдущие попытки использовать алгоритмы типа Форда для этого типа приложения. Основными функциями стабильности являются "удержания", "запускаемые обновления", "разделение горизонтов" и "устранение ошибок". Они будут обсуждены более подробно ниже.
Разбиение трафика (точка 2) вызывает незначительную угрозу. Применение отклонения V позволяет шлюзам использовать параллельные пути с разными скоростями передачи. Например, это может быть линия со скоростью передачи 9600 бит/с, работающая параллельно с линией со скоростью передачи на 19200 бит/с для обеспечения избыточности. Если различие V будет равняться 1, то только оптимальный путь будет использоваться. Если линия на 19200 битов в секунду будет иметь приемлемую надежность, таким образом, линия на 9600 битов в секунду не будет использоваться. (Однако, если несколько путей будут тем же, то загрузка будет разделена среди них.) Путем повышения различия, мы можем позволить трафику быть разделенным между лучшим маршрутом и другими маршрутами, которые являются почти как хорошие. При достаточно большой дисперсии трафик будет разделен между двумя линиями. Опасность заключается в том, что при большом разбросе вариантов становятся доступны пути не только более медленные, но и "в неправильном направлении". Таким образом, должно быть дополнительное правило, чтобы препятствовать отправке трафика "вверх по течению": Трафик не отправляется по каналам, удаленная комбинированная метрика которых (вычисляется в следующем узле) больше комбинированной метрики, вычисленной на шлюзе. Вообще говоря, системным администраторам не следует устанавливать изменения более чем на 1, кроме особых ситуаций, где требуется использование параллельных путей. В данном случае величина погрешности тщательно подобрана для получения "правильных" результатов.
IGRP предназначен для обработки нескольких типов служб и нескольких протоколов. Тип сервиса является спецификацией в пакете данных, который модифицирует дорожки, должны быть оценены. Например, протокол TCP/IP позволяет пакетам определять относительную важность высокой пропускной способности, низкого интервала задержки и высокой надежности. В общем случае интерактивные приложения устанавливают низкую задержку, а приложения группового переноса – высокую полосу пропускания. Эти требования определяют относительные значения K1 и K2, подходящие для использования в Eq. 1. Каждая комбинация спецификаций в пакете, которая должна поддерживаться, называется "типом обслуживания". Для каждого типа обслуживания должен быть выбран набор параметров K1 и K2. Таблица маршрутизации ведется для каждого типа обслуживания. Это сделано потому, что пути выбраны и упорядочены в соответствии со сложной метрикой, определённой Eq. 1. Это различается для каждого типа обслуживания. Данные всех таблиц маршрутизации объединяются с целью формирования сообщений обновления маршрутизации, которыми обмениваются шлюзы.
Средства обеспечения стабильности
Данный раздел содержит описание удержаний, обновлений, разделения горизонта и искажений. Данные функции разработаны для предотвращения перехвата шлюзами ошибочных маршрутов. Когда маршрут становится неприменимым, из-за сбоя шлюза или сети, как описано в RFC 1058, это может произойти. В принципе соседние шлюзы обнаруживают сбои. Затем они посылают обновления маршрутизации, отображающие старый маршрут как неиспользуемый. Однако для обновлений возможно не достигнуть некоторых частей сети вообще или быть задержанным в достижении определенных шлюзов. Шлюз, который полагает, что старый маршрутизатор находится в рабочем состоянии, может продолжить распространение этих данных, повторно вводя в систему нерабочий маршрутизатор. В конечном счете эта информация распространится через сеть и возвратится к шлюзу что повторно внедренный это. Результатом является кольцевой маршрут.
Фактически среди контрмер существует некоторое резервирование. В принципе, достаточно использовать удержание и автоматические обновления, чтобы предотвратить использование недопустимых маршрутов. Однако на практике их может быть недостаточно для исключения сбоев связи. Расщепленный горизонт и искажение маршрута предназначены для предотвращения циклов маршрутизации в любом случае.
Обычно, новые таблицы маршрутизации передаются соседним шлюзам регулярно (каждые 90 секунд по умолчанию, невзирая на то, что это может быть отрегулировано системным администратором). Вызванное обновление – это новая таблица маршрутизации, которая посылается незамедлительно в ответ на некоторые изменения. Самое важное изменение является удалением маршрута. Это может произойти, потому что таймаут истек (вероятно, соседний шлюз или линия выключились), или потому что обновленное сообщение от следующего шлюза в пути показывает, что путь больше не применим. Обнаружив, что какой-либо маршрут больше не может использоваться, шлюз G немедленно инициирует обновление. Это обновление покажет, что маршрут непригоден для использования. Рассмотрим, что произойдет, когда это обновление достигнет соседних шлюзов. Если маршрут соседа указывает обратно на G, то сосед должен удалить этот маршрут. Это заставляет соседний узел инициировать обновление и т.д. Таким образом сбой инициирует волну обновленных сообщений. Эта волна распространится всюду по той части сети, в которой маршруты прошли отказавший шлюз или сеть.