
Автоматизация процесса назначения ip-адресов узлам сети – протокол dhcp
Как уже было сказано, IP-адреса могут назначаться администратором сети вручную. Это представляет для администратора утомительную процедуру. Ситуация усложняется еще тем, что многие пользователи не обладают достаточными знаниями для того, чтобы конфигурировать свои компьютеры для работы в интерсети и должны поэтому полагаться на администраторов.
Протокол Dynamic Host Configuration Protocol (DHCP) был разработан для того, чтобы освободить администратора от этих проблем. Основным назначением DHCP является динамическое назначение IP-адресов. Однако, кроме динамического, DHCP может поддерживать и более простые способы ручного и автоматического статического назначения адресов.
В ручной процедуре назначения адресов активное участие принимает администратор, который предоставляет DHCP-серверу информацию о соответствии IP-адресов физическим адресам или другим идентификаторам клиентов. Эти адреса сообщаются клиентам в ответ на их запросы к DHCP-серверу.
При автоматическом статическом способе DHCP-сервер присваивает IP-адрес (и, возможно, другие параметры конфигурации клиента) из пула наличных IP-адресов без вмешательства оператора. Границы пула назначаемых адресов задает администратор при конфигурировании DHCP-сервера. Между идентификатором клиента и его IP-адресом по-прежнему, как и при ручном назначении, существует постоянное соответствие. Оно устанавливается в момент первичного назначения сервером DHCP IP-адреса клиенту. При всех последующих запросах сервер возвращает тот же самый IP-адрес.
При динамическом распределении адресов DHCP-сервер выдает адрес клиенту на ограниченное время, что дает возможность впоследствии повторно использовать IP-адреса другими компьютерами. Динамическое разделение адресов позволяет строить IP-сеть, количество узлов в которой намного превышает количество имеющихся в распоряжении администратора IP-адресов.
DHCP обеспечивает надежный и простой способ конфигурации сети TCP/IP, гарантируя отсутствие конфликтов адресов за счет централизованного управления их распределением. Администратор управляет процессом назначения адресов с помощью параметра "продолжительности аренды" (lease duration), которая определяет, как долго компьютер может использовать назначенный IP-адрес, перед тем как снова запросить его от сервера DHCP в аренду.
Примером работы протокола DHCP может служить ситуация, когда компьютер, являющийся клиентом DHCP, удаляется из подсети. При этом назначенный ему IP-адрес автоматически освобождается. Когда компьютер подключается к другой подсети, то ему автоматически назначается новый адрес. Ни пользователь, ни сетевой администратор не вмешиваются в этот процесс. Это свойство очень важно для мобильных пользователей.
Протокол DHCP использует модель клиент-сервер. Во время старта системы компьютер-клиент DHCP, находящийся в состоянии "инициализация", посылает сообщение discover (исследовать), которое широковещательно распространяется по локальной сети и передается всем DHCP-серверам частной интерсети. Каждый DHCP-сервер, получивший это сообщение, отвечает на него сообщением offer (предложение), которое содержит IP-адрес и конфигурационную информацию.
Компьютер-клиент DHCP переходит в состояние "выбор" и собирает конфигурационные предложения от DHCP-серверов. Затем он выбирает одно из этих предложений, переходит в состояние "запрос" и отправляет сообщение request (запрос) тому DHCP-серверу, чье предложение было выбрано.
Выбранный DHCP-сервер посылает сообщение DHCP-acknowledgment (подтверждение), содержащее тот же IP-адрес, который уже был послан ранее на стадии исследования, а также параметр аренды для этого адреса. Кроме того, DHCP-сервер посылает параметры сетевой конфигурации. После того, как клиент получит это подтверждение, он переходит в состояние "связь", находясь в котором он может принимать участие в работе сети TCP/IP. Компьютеры-клиенты, которые имеют локальные диски, сохраняют полученный адрес для использования при последующих стартах системы. При приближении момента истечения срока аренды адреса компьютер пытается обновить параметры аренды у DHCP-сервера, а если этот IP-адрес не может быть выделен снова, то ему возвращается другой IP-адрес.
В протоколе DHCP описывается несколько типов сообщений, которые используются для обнаружения и выбора DHCP-серверов, для запросов информации о конфигурации, для продления и досрочного прекращения лицензии на IP-адрес. Все эти операции направлены на то, чтобы освободить администратора сети от утомительных рутинных операций по конфигурированию сети.
Однако использование DHCP несет в себе и некоторые проблемы. Во-первых, это проблема согласования информационной адресной базы в службах DHCP и DNS. Как известно, DNS служит для преобразования символьных имен в IP-адреса. Если IP-адреса будут динамически изменятся сервером DHCP, то эти изменения необходимо также динамически вносить в базу данных сервера DNS. Хотя протокол динамического взаимодействия между службами DNS и DHCP уже реализован некоторыми фирмами (так называемая служба Dynamic DNS), стандарт на него пока не принят.
Во-вторых, нестабильность IP-адресов усложняет процесс управления сетью. Системы управления, основанные на протоколе SNMP, разработаны с расчетом на статичность IP-адресов. Похожие проблемы возникают и при конфигурировании фильтров маршрутизаторов, которые оперируют с IP-адресами.
Наконец, централизация процедуры назначения адресов снижает надежность системы: при отказе DHCP-сервера все его клиенты оказываются не в состоянии получить IP-адрес и другую информацию о конфигурации. Последствия такого отказа могут быть уменьшены путем использования в сети нескольких серверов DHCP, каждый из которых имеет свой пул IP-адресов.
Маршрутизация в IP-сетях
Общие принципы маршрутизации
Интернет – это комбинация сетей, соединяемых с помощью маршрутизаторов. Когда дейтаграмма идет от источника к пункту назначения, она, вероятнее всего, проходит много маршрутизаторов, пока достигает маршрутизатора, закрепленного за сетью пункта назначения. Маршрутизатор получает пакет от сети и передает его другой сети. Маршрутизатор обычно закрепляется за несколькими сетями. Когда он получает пакет, он должен решить две задачи:
к какой сети он должен его передать;
по какому пути.
Последнее решение основано на выборе оптимального пути. Какой доступный путь является оптимальным путем? Это обычно определяется метрикой. Метрика – это условная стоимость передачи по сети. Полное измерение конкретного маршрута равно сумме метрик сетей, которые включают в себя маршрут. Маршрутизатор выбирает маршрут с наименьшей метрикой. Метрика назначается для интерфейса сети в зависимости от типа протокола. Некоторые простые протоколы, подобно протоколу маршрутной информации (RIP – Routing Information Protocol), рассматривают все сети как одинаковые. Тогда стоимость прохождения через каждую сеть — одна и та же, и для определения метрики подсчитываются участки. Так, если пакет, чтобы достигнуть конечного пункта, проходит через 10 сетей, полная стоимость составляет 10 участков.
Другие протоколы, такие как "первоочередное открытие наикратчайших путей" (OSPF — Open Shortest Path First), позволяют администратору назначить стоимость для передачи через сеть, основанную на типе требуемого обслуживания. Маршрут через сеть может иметь различную стоимость (метрику). Например, если для типа сервиса желательна максимальная производительность, спутниковый канал имеет меньшую метрику, чем оптическая линия. С другой стороны, если типу сервера желательна минимальная задержка, оптическая линия имеет меньшую метрику, чем спутниковый канал. OSPF позволяет каждому маршрутизатору иметь таблицу последовательностей маршрутов, основанную на требуемом типе сервиса.
Другие протоколы определяют метрику различно. В протоколе пограничной маршрутизации (BGP — Border Gateway Protocol) критерий — это политика, которую может устанавливать администратор. Политика — это принцип, по которому определяется путь.
В любой метрике маршрутизатор должен иметь таблицы маршрутизации, чтобы консультироваться при дальнейшей передаче пакета. Таблица маршрутизации задает оптимальный путь для пакета. Таблица может быть либо статическая, либо динамическая. Статическая таблица — одна из тех, которые часто не меняются. Динамическая таблица — одна из тех, которая обновляется автоматически, когда имеются изменения где-либо в Интернете. Сегодня Интернет нуждается в динамических таблицах. Таблицы нужно обновлять по мере появления изменений в Интернете. Например, их нужно обновить, когда маршрут вышел из строя, или они должны быть обновлены всякий раз, когда создается лучший маршрут.
Протоколы маршрутизации созданы для отображения требований таблиц динамической маршрутизации. Протокол маршрутизации — комбинация правил и процедур, которые позволяют в Интернете маршрутизаторам информировать друг друга об изменениях. Протоколы маршрутизации также включают процедуры для комбинирования информации, полученной от других маршрутизаторов.
Внутренняя и внешняя маршрутизация
Сегодня Интернет — громадная сеть, так что один протокол маршрутизации не может обрабатывать задачу обновления таблиц всех маршрутизаторов. По этой причине Интернет разделяется на автономные системы. Автономная система (Autonomous System – AS) — группа сетей и маршрутизаторов под управлением одного администратора. Маршрутизация внутри автономной системы отнесена к внутренней маршрутизации. Маршрутизация между автономными системами отнесена к внешней маршрутизации. Каждая автономная система может выбрать протокол внутренней маршрутизации для того, чтобы обрабатывать маршрутизацию внутри автономной системы. Однако для обработки маршрутизации между автономными системами выбирается только один протокол маршрутизации.
Разработано несколько внутренних и внешних протоколов. В этой лекции мы коснемся только наиболее популярных из них — внутренних протоколов RIP и OSPF и одного внешнего протокола BGP. RIP и OSPF используются для обновления таблиц маршрутизации внутри автономной системы. Протокол BGP применяется в обновлении таблиц маршрутизации для маршрутизаторов, которые объединяют вместе автономные системы.
Протокол маршрутной информации (RIP)
Протокол маршрутной информации (RIP – Routing Information Protocol) — внутренний протокол маршрутизации, используется внутри автономной системы. Это очень простой протокол, основанный на применении дистанционного вектора маршрутизации.
Вектор расстояния маршрутизации
Используя вектор расстояния маршрутизации, каждый маршрутизатор периодически делится своей информацией о входах в Интернет со своими соседями. Ниже приводятся три основных принципа этого процесса, для того чтобы понять, как работает алгоритм.
Распределение информации о входе в автономную систему. Каждый маршрутизатор распределяет информацию о входе соседним автономным системам. Вначале эта информация может быть не подробной. Однако объем и качество информации не играют роли. Маршрутизатор посылает, во всяком случае, все что имеет.
Распределение только соседям. Каждый маршрутизатор посылает свою информацию только к соседям. Он посылает информацию, которую получает через все интерфейсы.
Распределение через регулярные интервалы. Каждый маршрутизатор посылает свою информацию соседней автономной системе через фиксированные интервалы, например, каждые 30 с.
Таблицы маршрутизации
Каждый маршрутизатор хранит таблицы маршрутизации, имеющие один вход для каждой сети назначения, которую маршрутизатор зарегистрировал. Вход содержит:
адрес сети пункта назначения,
кратчайший путь для того, чтобы достичь пункта назначения, отсчитываемый в участках,
следующий участок (следующий маршрутизатор), к которому должен быть доставлен пакет по пути к своему конечному пункту назначения,
счетчик участков – это число сетей, которые пакет пересечет для достижения своего конечного пункта назначения.
Таблица может содержать другую информацию, такую как маску подсети (или префикс) или время, когда этот вход был обновлен. Табл. 8.1. показывает пример таблицы маршрутизации.
Таблица 6.1. Таблица вектора расстояния маршрутизации
RIP версии 2 был разработан для преодоления некоторых недостатков версии 1. Разработчики версии 2 не дополнили длину сообщения для каждого входа. Они только заменили те поля в версии 1, которые были заполнены нулями для TCP/IP-протокола, некоторыми новыми полями.
Первоочередное открытие кратчайших путей (OSPF — Open Shortest Path First)
Протокол "первоочередное открытие кратчайших путей" (OSPF — Open Shortest Path First) — это другой внутренний протокол, который получил популярность. Его область также автономные системы. Специальный маршрутизатор, называемый пограничным маршрутизатором автономных систем, отвечает за распространение информации об автономных системах в текущей системе. Для того чтобы обработать маршрутизацию эффективно и вовремя, OSPF разделяет автономную систему на зоны.
Зоны
Зона — это набор всех сетей, хостов и маршрутизаторов, содержащихся в автономной системе ( рис. 6.1). Автономная система может разделяться на много различных зон. Все сети внутри зоны должны быть соединены.
Рисунок 6.1. Зоны автономной системы
Маршрутизаторы внутри зоны содержат зоновую информацию маршрутизации. На границе зоны специальные маршрутизаторы, называемые пограничными маршрутизаторами зоны, суммируют информацию о зоне и посылают другим зонам. Среди зон внутри автономной системы есть специальная зона, называемая основной. Все другие зоны внутри автономной системы должны быть подсоединены к основной. Иначе говоря, основная зона обслуживает как первичная зона, а другие зоны — как вторичные. Однако это не означает, что маршрутизаторы в пределах зон не могут соединяться каждый с каждым.
Маршрутизатор внутри основной зоны называется основным маршрутизатором. Заметим, что основной маршрутизатор может также быть пограничным маршрутизатором.
Отметим одну из проблем: если соединение между основной зоной и любой зоной пересекает другую зону, то администрация должна создать виртуальную линию между маршрутизаторами для обеспечения постоянных функций основной зоны как первичной зоны.
Каждая зона имеет идентификатор зоны.
Метрика
Протокол OSPF позволяет администратору назначать стоимость, называемую метрикой, для каждого маршрута. Метрика может быть основана на типе сервиса (минимальная задержка, максимальное число переприемов и так далее). Фактически, маршрутизатор может иметь множество таблиц, каждая из которых базируется на различном типе сервиса.
Маршрутизация по состоянию канала
Для обновления таблиц маршрутизации OSPF использует маршрутизацию по состоянию канала. Маршрутизация по состоянию линии — процесс, при помощи которого каждый маршрутизатор распространяет свою информацию о его соседях каждому маршрутизатору в зоне.
Ниже приводятся три основных положения для понимания того, как работает метод.
Распределение информации об окружении. Каждый маршрутизатор посылает информацию о состоянии своего окружения для каждого другого маршрутизатора зоны.
Распределение информации другим маршрутизатором. Каждый маршрутизатор посылает информацию о состоянии окружения для каждого другого маршрутизатора зоны. Он делает это с помощью волнового процесса. При его помощи маршрутизатор посылает свою информацию всем другим соседям (через все выходные порты). Каждый сосед посылает пакет ко всем его соседям, и так далее. Каждый маршрутизатор, который получает пакет, посылает копии для каждого своего соседа. В конечном счете, каждый маршрутизатор (без исключения) получает копию одной и той же информации.
Распределение информации, когда имеются изменения. Каждый маршрутизатор распределяет информацию о состоянии его окружения, только когда есть изменения. Это правило резко отличается от дистанционного вектора маршрутизации, где информация рассылается через регулярные интервалы, не принимая во внимание изменения.
Идея маршрутизации по состоянию линии – это то, что каждый маршрутизатор должен иметь точную топологию Интернета на каждый момент. Другими словами, каждый маршрутизатор должен иметь полную "картину" Интернета. Исходя из этой топологии, маршрутизатор может вычислить самый короткий путь между ним самим и каждой сетью. Топология здесь означает граф существующих узлов и границ. Однако для того чтобы представить Интернет графом, нам нужно привести некоторые определения.
Типы связей
В OSPF-терминологии соединение называется связь (link). Определены четыре типа связи: "точка-точка", транзит, ответвление и виртуальная.
Связь "точка-точка". Связь "точка-точка" соединяет два маршрутизатора без участия любого другого хоста или маршрутизатора между ними. Другими словами, цель связи (сети) — соединить два маршрутизатора. Например, этот тип связи представляют два маршрутизатора, соединенные телефонной линией или уплотненной линией.
Для этого типа связи не нужно назначать сетевые адреса. Графически маршрутизатор представляется узлами графа, и связь представляется двунаправленной границей, соединяющей эти узлы. Метрика, которая обычно одна и та же, показана для двух концов, одна в каждом направлении. Другими словами, каждый маршрутизатор имеет только одного соседа на другой стороне линии (рис. 6.2).
Рисунок 6.2. Связь "точка-точка"
Транзитная связь – это сеть с несколькими маршрутизаторами, соединенными линиями. Данные могут войти в сеть через любой маршрутизатор и покинуть сеть через любой другой. Все локальные сети (LAN) и глобальные сети (WAN) с двумя и более маршрутизаторами являются связями этого типа. В этом случае, каждый маршрутизатор имеет несколько соседей. Например, рассмотрим сеть Ethernet на рис. 6.3 а. Маршрутизатор A имеет соседей B, C, D. Маршрутизатор B имеет соседей A, C, D. Отношение соседей в этой ситуации показано в виде графа на рис. 6.3 а.
На рис. 6.3 б. показана транзитная связь в сети типа "каждый с каждым". Такой тип подключения требует обмена каждого маршрутизатора с большим числом маршрутизаторов. Это не эффективно и попросту не реалистично.
Д
ля
такой сети реальным является назначение
узлового маршрутизатора ( рис. 6.3 б.).
Рисунок 6.3. Транзитная связь
Теперь каждый маршрутизатор имеет только одного соседа, назначенный маршрутизатор (сеть) имеет четырех соседей. Мы видим, что число оповещаемых соседей уменьшилось до 8 (поскольку связь двунаправленная). Однако пока имеется метрика от каждого узла к назначенному маршрутизатору, нет метрики от назначенного маршрутизатора ни к одному узлу. Причина в том, что назначенный маршрутизатор является единственным представителем сети для внешнего мира.
Ответвление связи – это сеть, которая подключает только один маршрутизатор. Пакеты данных вводятся сетью через отдельный маршрутизатор и покидают сеть через тот же самый маршрутизатор. Это специальный случай транзитной сети.
Виртуальная линия. Когда линия между двумя маршрутизаторами повреждена, администратор может создать виртуальную линию между ними, используя более длинный путь, который, вероятнее всего, пройдет через несколько маршрутизаторов.
Извещение о состоянии связи
Для того чтобы распределять информацию о соседях, каждый вход распределяет извещения о состоянии связи (Link State Advertisements – LSAs). LSA извещают состояние доступа к связи. В зависимости от типа доступа, мы можем определить пять типов различных извещений о состоянии связи (LSAs), которые различаются объектами рассылки:
связь маршрутизатора;
сетевая связь (узловым маршрутизатором);
суммарная связь к автономной системе;
внешняя связь.
Связь маршрутизатора. Связь маршрутизатора определяет все подключения к данному маршрутизатору. Маршрутизатор использует для извещения информацию обо всех его связях и связях соседей.
Сетевая связь. Узловой маршрутизатор от имени всей транзитной сети распределяет этот тип LSA-пакетов. Пакеты извещают о состоянии всех маршрутизаторов, подключенных к сети.
Суммарная связь сети. Информация о линиях маршрутизаторов и сетевых линиях внутри зоны распространяется внутри зоны. Информация о состоянии линий вне зоны распространяется пограничным маршрутизатором. Пограничный маршрутизатор зоны действует более чем в одной зоне. Он получает извещения о линиях маршрутизатора данной зоны и линиях сети и, как мы увидим, создает таблицу маршрутов для каждой из этих зон. Например, на рис. 6.4 маршрутизатор R1 есть пограничный маршрутизатор.
Рисунок 6.4. Суммарная связь сети
Он имеет две таблицы маршрутизации, одна для зоны 1 и одна для зоны 0. R1 заполняется информацией о зоне 1 и вторая — информацией о том, как достигнуть сети, расположенной в зоне 0. Тем же самым способом маршрутизатор R2 заполняется информацией о зоне 2 и о том, как достигнуть по этой же самой сети зоны 0. Суммарная связь в зоне 0 позволяет обмен между маршрутизаторами, она может быть реализована одним из уже рассмотренных четырех типов связи: "точка-точка", транзит, ответвление и виртуальная.
Суммарная связь к пограничному маршрутизатору автономной системы. Предыдущее извещение позволяло каждому маршрутизатору знать стоимость маршрута для того, чтобы выбрать маршрут внутри автономной системы. Если маршрутизатор внутри зоны хочет послать пакет внешней автономной системе, он должен сначала знать маршрут к пограничному маршрутизатору автономной системы. Суммарная линия к пограничному маршрутизатору автономной системы (АС) обеспечивает эту информацию. Зоновый пограничный маршрутизатор заполняет их зоны этой информацией (рис. 6.5)
.
Рисунок 6.5. Суммарная связь к пограничному маршрутизатору автономной системы
Внешняя связь. Извещения внешней связи обеспечивают информацией о том, какая сеть доступна вне автономной системы. Используют таблицу маршрутизации, создаваемую внешним протоколом маршрутизатора. Каждое извещение оповещает одну отдельную сеть. Если имеется более чем одна сеть, делаются отдельные извещения.
База данных состояний линии
Каждый маршрутизатор в зоне получает линию LSAs маршрутизатора и сетевую линию от каждого маршрутизатора и формы базы данных состояний линии.
База данных состояния связи – это таблица, представляющая топологию Интернета внутри зоны. Она показывает связь между каждым маршрутизатором и соседним к нему, включая метрику.
Алгоритм Дейкстры
Для того чтобы вычислить таблицы маршрутизации, применяется алгоритм Дейкстры для баз данных состояния линии этого маршрутизатора ( рис. 6.6). Алгоритм Дейкстры вычисляет кратчайший путь между двумя точками в сети, используя граф по методу узлов и границ. Алгоритм разделяет узлы на два множества: пробные и постоянные. Он выбирает узлы, делает их пробными, анализирует их и, если они проходят по критериям, делает их постоянными. Мы можем информативно определить алгоритм, используя нижеследующие шаги.
Рисунок 6.6. Алгоритм вычисления наикратчайших путей
Работа алгоритма поясняется на рис. 6.7. На рис. 6.7 а приведен пример сети. Эта же сеть представлена в виде графа. На этом графе нанесена назначенная стоимость прохождения по участкам. Далее на рис. 6.7 б. приводится вычисление накопленной стоимости при прохождении.
Рисунок 6.7. Вычисление стоимости наикратчайшего участка
Сам алгоритм заключается в прохождении графа и вычислении накопленной стоимости. Алгоритм прохождения графа приведен во многих книгах. Ниже рассматривается порядок вычисления наикратчайшего пути. Номер следующего узла представляет накопленную стоимость от корневого узла. Заметим, что сеть достигает маршрутизатора E через два направления с накопленной стоимостью 14 и 10. При этом сохраняется направление с накопленной стоимостью 10, а второе удаляется.
Таблицы маршрутизации
Каждый маршрутизатор применяет метод наикратчайшего пути по дереву для построения своей таблицы маршрутизации. Таблица маршрутизации показывает стоимость достижения каждого узла в зоне, маршрутизатор использует извещения: суммарной линии сети, суммарной линии пограничного маршрутизатора и внешней линии. Табл. 6.2. показывает таблицу маршрутизации для маршрутизатора A согласно результатам вычислений по рис. 6.7 в.
Т
аблица
6.2. Таблица состояния линий для
маршрутизатора A
Протокол пограничной маршрутизации (BGP — Border Gateway Protocol)
Протокол пограничной маршрутизации (BGP — Border Gateway Protocol) – это протокол маршрутизации между автономными системами. Он основан на методах маршрутизации, называемых "маршрутизация вектором пути". Рассмотрим вначале принципы такой маршрутизации. Попробуем понять, почему два ранее показанных метода, а именно маршрутизация с помощью вектора расстояния маршрута (RIP) и маршрутизация по состоянию линии (OSF), не являются желательными для использования системой маршрутизации между автономными системами.
Маршрутизация с помощью вектора расстояния маршрута может быть нежелательной, потому что имеются случаи, в которых маршрут, вычисленный с наименьшим числом участков, не является предпочтительным. Например, существует запрет на передачу через автономную систему, которая не обеспечивает безопасности по наикратчайшему маршруту. Вектор маршрутизации с использованием вектора длины маршрута ведет к нестабильности, поскольку путь маршрутизации рассчитывается только по числу участков к пункту назначения, без анализа состояния всего пути (например, перегрузки участков), который ведет к этому пункту назначения.
Маршрутизация по состоянию линий также не является желательной для системы маршрутизации между автономными системами, потому что Интернет обычно слишком большая сеть для этого метода маршрутизации. Чтобы использовать маршрутизацию по состоянию линий для всего Интернета, каждому маршрутизатору понадобилось бы иметь огромную базу данных состояний. Это также привело к длительному времени работы каждого маршрутизатора для вычисления его таблицы маршрутов с использованием алгоритма Дейкстры.
Маршрутизация с использованием вектора путей
Маршрутизация с использованием вектора путей отличается и от маршрутизации с использованием вектора длины маршрута, и от маршрутизации состоянием линии. Каждый вход в таблицу маршрутизации содержит сеть пункта назначения, следующий маршрутизатор и путь до пункта назначения. Путь обычно определяется как упорядоченный список автономной системы, который должен пройти пакет для достижения пункта назначения. Табл. 6.3. показывает пример таблицы маршрутизации векторов пути.
Т
аблица
6.3. Маршрутного вектора пути
Сообщения вектора путей
Автономный пограничный маршрутизатор, который участвует в маршрутизации с использованием вектора путей, извещает о достижимости сетей в их собственной автономной системе для соседних автономных пограничных маршрутизаторов. Концепция окружения здесь та же самая, как в уже рассмотренных протоколах RIP и OSPF. Два пограничных маршрутизатора автономных систем, подключенные к той же самой сети, – соседи.
Заметим, что пограничный маршрутизатор автономной системы получает свою информацию от внутреннего алгоритма маршрутизации, такого как RIP и OSPF.
Каждый маршрутизатор, который получает вектор пути, проверяет, что предложенный путь согласован с его политикой (набором правил, назначаемых администратором, который управляет маршрутизатором). Если политика маршрутизации соответствует записанной в программе, маршрутизатор обновляет таблицы маршрутизации и модифицирует сообщение, прежде чем послать его к следующему соседу. Модификация содержит дополнение номера своего АС для пути и замещающий номер следующего маршрутизатора, входящего со своим собственным идентификатором.
Н
апример,
рис. 6.8 показывает сеть Интернет с
четырьмя автономными системами.
Маршрутизатор R1 посылает сообщение
вектора путей, извещающего о достижимости
N1, маршрутизатор R2 получает сообщение,
обновляет свою таблицу маршрутизации,
после этого добавляет свою информацию
об автономной системе к информации пути
и вставляет самого себя как соседний
маршрутизатор, посылает сообщение к
маршрутизатору R3. Маршрутизатор R3
получает сообщение, обновляет свою
таблицу маршрутизации и посылает
сообщение после изменения к маршрутизатору
R4.
Рисунок 6.8. Принцип формирования вектора путей
Предотвращение петли
Нестабильности маршрутизации с использованием дистанционного вектора маршрутизации и порождения петель можно избежать при маршрутизации с использованием вектора путей. Когда маршрутизатор получит сообщение, он проверяет его, чтобы посмотреть, есть ли в его автономной системе список путей к пункту назначения. Если он есть, то возможно возникновение петель и сообщение игнорируется.
Политика маршрутизации
Политика маршрутизации может быть просто реализована с использованием вектора путей. Когда маршрутизатор получает сообщение, он проверяет путь. Если одна из автономных систем, указанных в списке, не совпадет с его политикой, он может игнорировать этот путь и этот конечный пункт. Он не обновляет свою таблицу маршрутизации в части этого пути и не посылает сообщения своим соседям. Это означает, что таблицы маршрутизации в методе маршрутизации с использованием вектора путей не основываются на подсчете наикратчайшего пути или минимальной метрике. Они основаны на политике, навязываемой маршрутизатору администратором.
Атрибуты пути
При рассматриваемом методе путь был представлен как список автономных систем, но фактически это список атрибутов. Список атрибутов помогает принимающему маршрутизатору вырабатывать решение, когда применяется его политика. Атрибуты разделяются на две категории: закрепленные (well-know) и опциональные. Закрепленный атрибут — единица, которую каждый BGP-маршрутизатор должен распознавать. Опциональный атрибут — единица, которую не надо распознавать каждому BGP-маршрутизатору.
Закрепленный атрибут сам разделяется на две категории: обязательный и по усмотрению. Закрепленный атрибут по усмотрению — единица, которая должна быть опознана каждым маршрутизатором, но не требует включения в каждое обновленное сообщение.
Единица обязательного закрепленного атрибута – это ORGIN. Она определяет информацию об источнике маршрутизации (RIP, OSPF и так далее). Другой хорошо известный закрепленный обязательный атрибут – это AS_PATH. Он определяет список автономных систем, через которые может быть достигнут пункт назначения. Еще один обязательный атрибут – это NEXT-HOP, он определяет следующий маршрутизатор, к которому должен быть послан пакет данных.
Опциональные атрибуты могут также быть подразделены на две категории: транзитные и не транзитные. Опциональный транзитный атрибут — единица, которая должна быть передана к следующему маршрутизатору маршрутизатором, который не выполняет этот атрибут. Опциональный не транзитный атрибут — единица, которая должна быть удалена, если приемный маршрутизатор не может выполнить ее.