Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции / Алгоритмы маршрутизации_подробно_лекция_05-12-2018.docx
Скачиваний:
48
Добавлен:
01.02.2019
Размер:
308.36 Кб
Скачать

Формат сообщения

Pис. 8.5 показывает формат сообщения RIP версии 2. Новые поля этого сообщения приводятся ниже.

Рис. 8.5. Формат RIP версии 2

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

  • Маска подсети. Это поле в 4 байта, которое несет маску к подсети (или префикс). Это означает, что RIP2 поддерживает классическую адресацию и бесклассовую междоменную маршрутизацию CIDR (ClasslessInterDomainRouting).

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

Аутентификация

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

Рис. 8.6. Аутентификация

Множественный доступ (Multicasting)

Версия 1 RIP использует широковещательный доступ, чтобы посылать сообщения RIP к каждому соседу. При этом методе все маршрутизаторы в сети получают пакеты, так же как и хосты. В RIP версии 2 используют множественный доступ с адресом 224.0.0.9для сообщений только RIP-маршрутизаторов в сети.

Инкапсуляция

RIP-сообщения инкапсулируется в UDP пользовательские дейтаграммы. RIP-сообщение не включает поле, которое указывает на длину сообщения. Это может быть определено из UDP пакета. Закрепленным (well-known) портом назначается для RIP в UDP порт 520.

Первоочередное открытие кратчайших путей (ospf — OpenShortestPathFirst)

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

Зоны

Зона — это набор всех сетей, хостов и маршрутизаторов, содержащихся в автономной системе ( рис. 8.7. Автономная система может разделяться на много различных зон. Все сети внутри зоны должны быть соединены.

Рис. 8.7. Зоны автономной системы

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

Маршрутизатор внутри основной зоны называется основным маршрутизатором. Заметим, что основной маршрутизатор может также быть пограничным маршрутизатором.

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

Каждая зона имеет идентификатор зоны.

Метрика

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

Маршрутизация по состоянию канала

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

Ниже приводятся три основных положения для понимания того, как работает метод.

  1. Распределение информации об окружении. Каждый маршрутизатор посылает информацию о состоянии своего окружения для каждого другого маршрутизатора зоны.

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

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

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

Типы связей

В OSPF-терминологии соединение называется связь (link). Определены четыре типа связи: "точка-точка", транзит, ответвление и виртуальная.

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

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

Рис. 8.8. Связь "точка-точка"

Транзитная связь. Транзитная связь – это сеть с несколькими маршрутизаторами, соединенными линиями. Данные могут войти в сеть через любой маршрутизатор и покинуть сеть через любой другой. Все локальные сети (LAN) и глобальные сети (WAN) с двумя и более маршрутизаторами являются связями этого типа. В этом случае, каждый маршрутизатор имеет несколько соседей. Например, рассмотрим сеть Ethernet на рис. 8.9 а. Маршрутизатор A имеет соседей B, C, D. Маршрутизатор B имеет соседей A, C, D. Отношение соседей в этой ситуации показано в виде графа на рис. 8.9 а.

На рис. 8.9 б. показана транзитная связь в сети типа "каждый с каждым". Такой тип подключения требует обмена каждого маршрутизатора с большим числом маршрутизаторов. При числе таких соседей n число связей = C2 n Это не эффективно и попросту не реалистично. Эта проблема, как будет показано в другом разделе, встречалась и в телефонных сетях.

Для такой сети реальным является назначение узлового маршрутизатора ( рис. 8.9 б.).

Рис. 8.9. Транзитная связь

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

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

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

Извещение о состоянии связи

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

  • связь маршрутизатора;

  • сетевая связь (узловым маршрутизатором);

  • суммарная связь к автономной системе;

  • внешняя связь.

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

Сетевая связь. Узловой маршрутизатор от имени всей транзитной сети распределяет этот тип LSA-пакетов. Пакеты извещают о состоянии всех маршрутизаторов, подключенных к сети.

Суммарная связь сети. Информация о линиях маршрутизаторов и сетевых линиях внутри зоны распространяется внутри зоны. Информация о состоянии линий вне зоны распространяется пограничным маршрутизатором. Пограничный маршрутизатор зоны действует более чем в одной зоне. Он получает извещения о линиях маршрутизатора данной зоны и линиях сети и, как мы увидим, создает таблицу маршрутов для каждой из этих зон. Например, на рис. 8.10 маршрутизатор R1 есть пограничный маршрутизатор.

Рис. 8.10. Суммарная связь сети

Он имеет две таблицы маршрутизации, одна для зоны 1 и одна для зоны 0. R1 заполняется информацией о зоне 1 и вторая — информацией о том, как достигнуть сети, расположенной в зоне 0. Тем же самым способом маршрутизатор R2 заполняется информацией о зоне 2 и о том, как достигнуть по этой же самой сети зоны 0. Суммарная связь в зоне 0 позволяет обмен между маршрутизаторами, она может быть реализована одним из уже рассмотренных четырех типов связи: "точка-точка", транзит, ответвление и виртуальная.

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

Рис. 8.11. Суммарная связь к пограничному маршрутизатору автономной системы

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

База данных состояний линии

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

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

Алгоритм Дейкстры

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

увеличить изображение Рис. 8.12. Алгоритм вычисления наикратчайших путей

Работа алгоритма поясняется на рис. 8.13 На рис. 8.13 а приведен пример сети. Эта же сеть представлена в виде графа. На этом графе нанесена назначенная стоимость прохождения по участкам. Далее на рис. 8.13 б. приводится вычисление накопленной стоимости при прохождении.

Рис. 8.13. Вычисление стоимости наикратчайшего участка

Сам алгоритм заключается в прохождении графа и вычислении накопленной стоимости. Алгоритм прохождения графа приведен во многих книгах. Ниже рассматривается порядок вычисления наикратчайшего пути. Номер следующего узла представляет накопленную стоимость от корневого узла. Заметим, что сеть достигает маршрутизатора E через два направления с накопленной стоимостью 14 и 10. При этом сохраняется направление с накопленной стоимостью 10, а второе удаляется.

Таблицы маршрутизации

Каждый маршрутизатор применяет метод наикратчайшего пути по дереву для построения своей таблицы маршрутизации. Таблица маршрутизации показывает стоимость достижения каждого узла в зоне, маршрутизатор использует извещения: суммарной линии сети, суммарной линии пограничного маршрутизатора и внешней линии. Табл. 8.2. показывает таблицу маршрутизации для маршрутизатора A согласно результатам вычислений по рис. 8.13 в.

Таблица 8.2. Таблица состояния линий для маршрутизатора A

Сеть

Стоимость

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

Другая информация

N1

5

N2

7

C

N3

10

D

N4

11

B

N5

15

D

Типы пакетов

OSPF использует пять различных типов пакетов: пакет "hello", пакет распределения базы данных, пакет состояния линии, пакет обновления состояния линии и пакет подтверждения состояния линии.

Формат пакета

Все OSPF-пакеты имеют один и тот же состав заголовка ( рис. 8.14). Перед изучением различных типов пакетов рассмотрим этот общий заголовок.

Рис. 8.14. Заголовок пакета OSPF

Версия. Это поле 6 бит, определяющее версию протокола OSPF. Текущая версия — 2.

Тип. Это поле 8 бит определяет тип пакета. Как уже сказано раньше, мы имеем пять типов пакетов, со значением от 1 до 5, определяющих типы.

Длина сообщения. Это поле 16 бит определяет длину всего сообщения, включая заголовок.

  • IP-адрес маршрутизатора источника. Это поле 32 бита определяет IP-адрес маршрутизатора, посылающего пакет.

  • Идентификация зоны. Это поле 32 бит определяет зону, в которой работает маршрутизатор.

  • Контрольная сумма. Это поле 16 бит используется для обнаружения ошибок во входящем пакете, исключая поля "аутентификация типа" и "аутентификация данных".

  • Тип аутентификации. Поле 16 бит, определяющее метод опознавания, который используется в этой зоне. Иногда определяют два типа опознавания: 0 для отсутствия и 1 для пароля.

  • Аутентификация данных. Это поле 64 бита для действующего значения данных. В будущем, когда определится больше типов опознавания, это поле будет содержать результат вычисления аутентификации. В настоящее время, если тип опознавания 0, это поле заполнено нулями. Если тип 1 — поле содержит пароль длиной восемь символов.

Сообщение "hello"

OSPF использует сообщение "hello" ( рис. 8.15) для создания отображения окружающей его сети и для проверки достижимости соседей. Это первый шаг в маршрутизации по состоянию линий. Прежде чем маршрутизатор может заполнить все другие маршрутизаторы своей информацией о соседях, он должен сначала стать доступным для обмена своим соседям. Он должен определить, работоспособны ли они. И он должен знать, доступны ли они.

Рис. 8.15. Пакет "hello"

Маска сети. Это поле 32 бита определяет маску сети, по которой посылается сообщение "hello".

Интервал "hello". Это поле 16 бит определяет число секунд между сообщениями "hello".

E-флаг. Это поле 1 бит – флаг. Когда он установлен, это означает, что зона является ответвлением.

T-флаг. Это поле 1 бит флага. Когда он установлен, это означает, что маршрутизатор поддерживает множество метрик.

Приоритет. Это поле определяет приоритет маршрутизатора. Приоритет используется для выбора назначенного маршрутизатора. После того как все соседи объявят свои приоритеты, маршрутизатор с наивысшим приоритетом выбирается как назначенный. Один из них, имеющий второй наивысший приоритет, выбирается как резервный назначенный маршрутизатор. Если значение этого поля 0, это значит, что маршрутизатор не может никогда быть назначенным резервным маршрутизатором.

Интервал неисправности. Это поле 32 бита определяет число секунд до момента, когда маршрутизатор предположит, что сосед неисправен.

IP-адрес назначенного маршрутизатора. Это поле 32 бита — IP-адрес назначенного маршрутизатора для сети, через которую послано сообщение.

IP-адрес резервного назначенного маршрутизатора. Это поле 32 бита - IP-адрес резервного назначенного маршрутизатора для сети, через которую послано сообщение.

IP-адрес соседа. Это поле повторяет 32 бита, определяющее маршрутизаторы, которые согласованы как соседи для посылающего маршрутизатора. Другими словами, это текущий список всех соседей посылающего маршрутизатора, получивших сообщение "hello".

Сообщение описания базы данных

Когда маршрутизатор подключен к системе первый раз или после повреждения, ему нужно немедленно заполнить базу данных состояния связи. Чтобы создать свою собственную базу данных и вычислить таблицу маршрутов, он не может ждать, пока все состояния связи будут обновлены в соответствии с информацией, которая поступит от каждого из маршрутизаторов. Поэтому, после того как маршрутизатор подключен к системе, он посылает пакеты "hello" для того, чтобы оповестить соседей. Если соседи первый раз узнают об этом маршрутизаторе, они посылают пакет обновления с описанием собственной базы данных. Пакет обновления с описанием собственной базы данных не содержит полного описания информации о базе данных, он дает только краткое содержание, название каждой линейки в базе данных. Заново подключенный маршрутизатор анализирует общее описание и узнает, какие линейки информации у него отсутствуют. После чего он посылает один или более пакетов запросов состояния связи, чтобы иметь полную информацию об этих конкретных линиях. Когда два маршрутизатора хотят обменяться пакетами описания базы данных, один из них играет роль ведущего, а другой роль ведомого. Поскольку сообщение может быть очень длинным, содержание базы данных может быть разделено на несколько сообщений. Формат пакетов описания базы данных показан на рис. 8.16

Рис. 8.16. Пакет сообщения описания базы данных

Он имеет следующие поля:

  • E-флаг. Это поле 1 бит – флаг, устанавливаемый на 1, если извещающий маршрутизатор — пограничный маршрутизатор автономной системы (E означает внешний, external).

  • B-флаг. Это поле 1 бит – флаг, устанавливаемый на 1, если извещающий маршрутизатор принадлежит автономной системе.

  • I-флаг. Это поле 1 бит – инициализирующий флаг, устанавливаемый на 1, если сообщение есть первое сообщение.

  • M-флаг. Это поле 1 бит – флаг "еще больше", устанавливаемый на 1, если это не последнее сообщение.

  • M/S-флаг. Это поле 1 бит – ведомый/ведущий, указывает, что источник пакета — ведомый (M/S=1) или ведущий (M/S=0).

  • Порядковый номер сообщения. Это поле 32 бита содержит порядковый номер сообщения. Этот номер используется для сравнения запроса с откликом.

  • LSA-заголовок. Это 20-байтное поле, используемое при каждом сообщении о состоянии связи (LSA). Формат этого заголовка обсуждался в разделе "сообщение обновления состояния линии" Этот заголовок — краткое описание каждой линии, без деталей. Он повторяется для каждой линии в линейке состояний базы данных.

Пакет запроса состояния линейки

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

Рис. 8.17. Пакет запроса состояния линии

Пакет обновления состояния связи

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

Рис. 8.18. Пакет обновления состояния связи

Например, пакет обновления состояния связи может содержать 14 LSAs,

  • четыре из которых — извещения линий маршрутизатора;

  • три из которых — извещения о сетевых связях;

  • два из которых — извещения о суммарных связях сети;

  • два из которых — суммарные связи к пограничным маршрутизаторам автономной системы.

Ниже приводятся поля.

Номер извещения о состоянии связи. Поле на 32 бита, определяющее номер извещения. Один пакет может извещать о состоянии нескольких линий.

Извещения о состоянии связи. Как уже обсуждалось раньше, существует пять различных LSAs, имеющих один и тот же формат заголовка, но различное содержание. Рассмотрим сначала общий для всех заголовок. Формат заголовка LSA показан на рис. 8.19

Рис. 8.19. Заголовок LSA

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

E-флаг. Это поле 1 бит – флаг, устанавливаемый на 1, если это зона ответвления. Напомним, что зона ответвления – это зона, которая подключена к основной зоне только по одному пути.

T-флаг. Это поле 1 бит – флаг, устанавливаемый на 1. Это означает, что маршрутизатор может работать со многими типами обслуживания.

Тип состояния связи. Это поле определяет тип LSA.

ID состояния связи. Значение этого поля зависит от типа линии. Для типа 1 (связь маршрутизатора) — это IP-адрес маршрутизатора. Для типа 2 (сетевая связь) — это IP-адрес сети. Для типа 3 (суммарная связь сети) — это IP-адрес сети. Для типа 4 (суммарная связь пограничного маршрутизатора к автономной системе) — это IP-адрес автономной системы. Для типа 5(внешняя связь) — это адрес внешней сети.

Извещающий маршрутизатор. Это IP-адрес извещающего маршрутизатора для этого сообщения.

Порядковый номер состояния линии. Это порядковый номер, назначаемый для каждого сообщения обновления состояния линии.

Контрольная сумма состояния связи. Это поле — не обычное поле контрольной суммы. Оно используется для вычисления специальной суммы, которая основана на полном пакете, за исключением поля возраста сообщения.

Длина. Это поле определяет длину полного пакета в битах.

Извещение о состоянии связи маршрутизатора. Извещение о состоянии линии (LSA) связи маршрутизатора сообщает обо всех связях маршрутизатора. Формат пакета линии маршрутизатора показан на рис. 8.20 Поля маршрутизатора показаны ниже.

Рис. 8.20. LSA Состояния связи маршрутизатора

ID-связи. Значение этого поля зависит от типа связи. Табл. 8.3. показывает различные идентификаторы линии, указывающие тип связи.

Данные связи. Это поле дает дополнительную информацию о связи. Значение зависит от типа связи (см. табл. 8.3.)

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

Таблица 8.3. Типы связей, идентификаторы связей и данные связей

Тип линий

Идентификатор линий

Данные линий

Тип 1: Подключение к другому маршрутизатору "Точка – точка"

Адрес соседнего маршрутизатора

Номер интерфейса

Тип:2: Подключение к сети "любой с любым"

Адрес соседнего маршрутизатора

Адрес маршрутизатора

Тип 3:Подключение сети "ответвление"

Сетевой адрес

Сетевая маска

Тип 4: Виртуальная линия

Адрес соседнего маршрутизатора

Адрес маршрутизатора

Число типов обслуживания (TOS – TypeofService). Это поле определяет число типов обслуживания, закрепленных за этой связью.

Метрика для TOS 0. Это поле определяет метрику по умолчанию для данного типа обслуживания (TOS).

Типсервиса TOS (The type of Service). Поле определяет тип обслуживания.

Метрика. Это поле определяет метрику для соответствующего TOS.

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

Рис. 8.21. Формат извещения LSA сетевой связи

  • Маска сети. Это поле определяет сетевую маску.

  • Подключаемые маршрутизаторы. Эти повторяющиеся поля определяют IP-адреса всех подключаемых маршрутизаторов.

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

Если имеется более чем одна отдельная сеть, извещение должно повторятся для каждой сети. Извещение маски сети передается для того, чтобы определить IP-адрес извещающего маршрутизатора, содержащегося в заголовке в поле "ID состояния связи". Из этой информации и маски можно однозначно вывести адрес сети. Формат этого извещения показан на рис. 8.21 Поля LSA суммарной связи сети следуют ниже рис. 8.22.

Рис. 8.22. Формат LSA суммарной связи сети

  • Маска сети. Это поле определяет маску сети.

  • TOS. Это поле определяет тип обслуживания (theTypeOfService).

  • Метрика. Это поле задает метрику для типа обслуживания, определенного в поле TOS.

Извещение о суммарном состоянии связи к пограничному маршрутизатору автономной системы. Этот пакет используется для описания маршрута к пограничному маршрутизатору автономной системы (АС). Его формат такой же, как в предыдущей суммарной линии. Пакет непосредственно определяет сеть, к которой подключен маршрутизатор. Если сообщение может достигнуть сети, оно может быть принято пограничным маршрутизатором автономной сети. Формат пакета показан на рис. 8.23 Поля такие же, как и поля у сообщения суммарной сетевой связи.

Рис. 8.23. LSA суммарной линии к пограничному маршрутизатору автономной сети (АС)

Извещение о состоянии внешней связи. Оно используется, чтобы известить все станции сети о внешних связях к другим АС. Этот формат похож на LSA суммарной линии пограничного маршрутизатора автономной сети, с двумя дополнительными полями. Пограничный маршрутизатор АС может определяться маршрутизатором, устанавливающим соединение, который может обеспечивать лучший маршрут к пункту назначения. Пакет также может включать тэг внешнего маршрута, используемый другими протоколами, но не OSPF. Этот формат пакета показан на рис. 8.24.

Рис. 8.24. LSA внешней связи

Пакет подтверждения состояния связи

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

Рис. 8.25. Пакет подтверждения состояния связи

Инкапсуляция

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

Протокол пограничной маршрутизации (BGP — BorderGatewayProtocol)

Протокол пограничной маршрутизации (BGP — BorderGateway Protocol) – это протокол маршрутизации между автономными системами [21, 41]. Он основан на методах маршрутизации, называемых "маршрутизация вектором пути". Рассмотрим вначале принципы такой маршрутизации. Попробуем понять, почему два ранее показанных метода, а именно маршрутизация с помощью вектора расстояния маршрута (RIP) и маршрутизация по состоянию линии (OSF), не являются желательными для использования системой маршрутизации между автономными системами.

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

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

Маршрутизация с использованием вектора путей

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

Таблица 8.4. Маршрутного вектора пути

Сеть

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

Путь

N01

R01

AS14,AS23, AS67

N02

R05

AS22,AS67, AS05, AS89

N03

R06

AS67,AS89, AS09, AS34

N04

R12

AS62,AS02, AS09

Сообщения вектора путей

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

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

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

Например, рис. 8.26 показывает сеть Интернет с четырьмя автономными системами. Маршрутизатор R1 посылает сообщение вектора путей, извещающего о достижимости N1, маршрутизатор R2 получает сообщение, обновляет свою таблицу маршрутизации, после этого добавляет свою информацию об автономной системе к информации пути и вставляет самого себя как соседний маршрутизатор, посылает сообщение к маршрутизатору R3. Маршрутизатор R3 получает сообщение, обновляет свою таблицу маршрутизации и посылает сообщение после изменения к маршрутизатору R4.

Рис. 8.26. Принцип формирования вектора путей

Предотвращение петли

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

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

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

Атрибуты пути

При рассматриваемом методе путь был представлен как список автономных систем, но фактически это список атрибутов.

Список атрибутов помогает принимающему маршрутизатору вырабатывать решение, когда применяется его политика.

Атрибуты разделяются на две категории: закрепленные (well-know) и опциональные.

Закрепленный атрибут — единица, которую каждый BGP-маршрутизатор должен распознавать. Опциональный атрибут — единица, которую не надо распознавать каждому BGP-маршрутизатору.

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

Единица обязательного закрепленного атрибута – это ORIGIN. Она определяет информацию об источнике маршрутизации (RIP, OSPF и так далее). Другой хорошо известный закрепленный обязательный атрибут – это AS_PATH. Он определяет список автономных систем, через которые может быть достигнут пункт назначения. Еще один обязательный атрибут – это NEXT-HOP, он определяет следующий маршрутизатор, к которому должен быть послан пакет данных.

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

Формат пакета

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

Рис. 8.27. Заголовок пакета BGP

  • Маркер. Это 16-байтовое поле, зарезервированное для опознавания.

  • Длина. Это поле в 2 байта, которое определяет длину полного сообщения, включающего заголовок.

  • Тип. Это поле 1 байт — тип пакета. Как было сказано раньше, мы имеем четыре типа, от 1 до 4.

Соседние файлы в папке Лекции