Методы маршрутизации в сетях связи следующего поколения

Методы маршрутизации в сетях связи следующего поколения

Данилов АН., Максимов С.П., Никифоров Е.Ю., МТУСИ

1. IP-маршрутизация

Сеть Internet изначально задумывалась, как протяженная (WAN — Wide Area Network), состоящая из большого количества компьютеров, соединенных с помощью разных сред обмена данными (как локальных сетей, так и глобальных соединений). Теоретически в Internet могут напрямую работать друг с другом более 4 млрд. компьютеров.

В силу этих причин Internet — сегментированная сеть. Сегментом является либо прозрачный участок широковещательной (Ethernet) или маркерной (TokenRing) сети, либо соединение точка-точка (модемное).

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

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

Принято следующее деление в зависимости от значения старшего байта IP-адреса:

1) 0..127 — сети класса A по 16777216 адресов с маской

0xFF000000;

2) 128..191 — сети класса B по 65536 адресов с маской 0xFFFF0000;

3) 192..223 — сети класса C по 256 адресов с маской 0xFFFFFF00;

4) 224..239 — сети класса D для multicast (групповой) рассылки;

5) остальные пока зарезервированы.

Многие программы по адресу автоматически определяют класс сети, хотя это можно поправить вручную. В принципе, никто не мешает разбить сеть на две или больше подсетей с любыми масками, но организациям как правило выделяют адреса блоками, соответствующими классам A B и C — это связано с системой DNS, позволяющей узнать доменное имя компьютера по ее IP-адресу.

Сеть класса A с номером 127 — loopback, т.е. предназначена для общения компьютера с собой. В любой сети номер (IP-номер AND маска) является номером всей сети и не может быть присвоен никому конкретно. Номер (IP-номер OR NOT маска), являющийся последним номером в сети, предназначен для broadcasting (широковещательных) сообщений, которые доставляются всем компьютерам сегмента сети. Соответственно, при выделении группы адресов в сеть два адреса становятся недоступны.

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

Самая простая конфигурация сети — у компьютеров в сегменте

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

1) сервер DHCP должен находиться в том же сегменте локальной сети, что и его клиенты;

2) сервер DHCP должен корректно конфигурировать клиентов, что опять же непросто в сложной сегментированной сети.

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

Прозрачный сегмент Internet сам может быть сегментирован на уровне MAC, например, коммутатором. Прозрачность проявляется в том, что маршрутизатор, работающий на уровне IP, не должен заботиться об этом. В частности, IP-маршрутизатор никогда не пропускает broadcast- сообщения (в отличие от multicast), но broadcast-сообщения должны свободно распространяться по всей локальной сети — это нужно, в частности, для протокола ARP

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

Зацикливание пакета в некоторых алгоритмах рассматривается как результат неправильной маршрутизации. Каждый пакет имеет конечное время жизни, задаваемое отправителем и не превышающее 255 секунд, причем каждый маршрутизатор, через который проходил пакет, уменьшает это число как минимум на единицу, а значит пакет не может бесконечно метаться между маршрутизаторами — он "умрет" и о его "смерти" известят отправителя отдельным пакетом (на этом основана работа traceroute). Тем не менее, некоторые маршрутизаторы во избежание засорения полосы пропускания сами "убивают" пакеты, которые, судя по их таблицам маршрутизации, следует отправлять через тот интерфейс, через который они пришли.

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

2. Маршрутизация в сетях по технологии MPLS

Бурное развитие Интернета, сопровождаемое ростом спроса на все более разнообразные и надежные услуги, заставляет Интернет-провайдеров постоянно модернизировать свои сети. В середине 90-х годов в качестве основы такой модернизации ряд компаний выбрали модель IP-over-ATM, которая позволила им повысить производительность сетей и осуществлять моделирование трафика. Более того, экономически выгодным оказалось мультиплексирование трафика Интернет вместе с другими типами трафика, передаваемого по АТМ-магистралям, но время идет, и технический прогресс не сто-

ит на месте. Последним словом в развитии средств маршрутизации и коммутации для магистралей Интернет явилась разработка технологии многопротокольной коммутации на основе меток (Multiprotocol Label Switching — MPLS). В ней сохранено все лучшее, что присуще архитектуре IP-over-ATM (эффективные мультиплексирование и моделирование трафика, высокая производительность), и при этом она еще больше повышает масштабируемость сетей, упрощает их построение и эксплуатацию. Важно и то, что MPLS может использоваться не только с АТМ, но и с любой другой технологией канального уровня. Это упрощает переход к следующему поколению волоконно-оптических магистралей Интернет на основе технологий SONET/WDM или IP/WDM.

Сети ряда Интернет-провайдеров построены сегодня на основе многоуровневой модели, подразумевающей, что логическая маршрутизируемая IP-сеть функционирует поверх коммутируемой топологии второго уровня (АТМ, либо Frame Relay) и независимо от нее. Коммутаторы второго уровня обеспечивают высокоскоростные соединения, в то время как IP-маршрутизаторы на периферии сети, связанные друг с другом сетью виртуальных каналов второго уровня, осуществляют интеллектуальную пересылку IP-пакетов. Проблемы, возникающие при таком подходе, связаны со сложностью взаимного отображения двух различных сетевых архитектур друг на друга, которое требует построения и поддержания двух раздельных топологий, адресных пространств, протоколов маршрутизации и сигнализации, алгоритмов резервирования ресурсов. Появление методов многоуровневой коммутации и, в конечном счете, MPLS — это один из шагов на пути эволюционного развития Интернет в сторону упрощения его инфраструктуры путем интеграции функций второго (коммутация) и третьего (маршрутизация) уровней.

Все методы многоуровневой коммутации, в том числе и MPLS, базируются на двух основных принципах:

1) разделение функций пересылки пакетов и управления этим процессом;

2) пересылка пакетов с использованием последовательных меток.

Многоуровневая коммутация предполагает четкое разделение

всех функций по две компоненты: пересылка пакетов и управление. Управляющая компонента задействует стандартные протоколы маршрутизации (OSPF, IS-IS, BGP-4) для обмена информацией с другими маршрутизаторами. На основе этой информации формируется и модифицируется сначала таблица маршрутизации, а затем, с учетом информации о смежных системах на каждом интерфейсе — таблица пересылки пакетов. Когда система получает новый пакет, пересылающая компонента анализирует информацию, содержащуюся в его заголовке, ищет соответствующую запись в таблице пересылки и направляет пакет на выходной интерфейс.

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

Пересылающая компонента практически всех систем многоуровневой коммутации, включая и системы MPLS, основана на использовании последовательных меток пакетов (именно этот алгоритм применяется для пересылки ячеек АТМ и кадров Frame Relay). Метка — это короткое поле фиксированной длины в заголовке пакета. Она определяет принадлежность пакета к определенному классу эквивалентной пересылки (Forwarding Equivalence Class — FEC). По существу, метка играет ту же самую роль идентификатора соединений, что и идентификаторы виртуального пути или виртуаль-

ного канала (VPI/VCI) в сетях АТМ или идентификаторы DLCI в сетях Frame Relay. Класс FEC представляет собой совокупность пакетов, направляемых в сеть по одному и тому же маршруту — при этом конечные адресаты этих пакетов могут быть разными.

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

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

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

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

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

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

Покажем на рис. 1 компоненты коммутируемого соединения в сети MPLS. Коммутируемый путь (LSP) одного уровня состоит из последовательного набора участков, коммутация на которых происходит с помощью метки данного уровня. Например, LSP нулевого уровня проходит через устройства LSR 0, LSR 1, LSR 3, LSR 4 и LSR 5. При этом LSR 0 и LSR 5 являются, соответственно, входным (ingress) и выходным (egress) маршрутизаторами для пути нулевого уровня. LSR 1 и LSR 3 играют ту же роль для LSP первого уровня. Первый из них производит операцию добавления метки в стек, а второй — ее изъятия. С точки зрения трафика нулевого уровня, LSP первого уровня является прозрачным туннелем. В любом сегменте LSP можно выделить верхний и нижний LSR по отношению к трафику. Например, для сегмента "LSR 4 — LSR 5" четвертый маршрутизатор будет верхним, а пятый — нижним.

Рассмотрим, как система MPLS автоматически создает путь LSP в простейшем случае — с помощью протокола LDP Архитектура

Гришчнзая область

Ядро

П Г)

LSR О

LSR1

LSR 2

LSR З

LSR 4

LSR 5

LSP кулевого уровня LSP первого уровня

Рис. 1. Компоненты коммутируемого соединения MPLS

ІР-пахет j ивтка 0-го уровня I петы 1-го уровня

LSP первого уровня I

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

Сначала посредством многоадресной рассылки сообщений UDP коммутирующие маршрутизаторы определяют свое "соседство" (adjacency) в рамках протокола LDP Кроме близости на канальном уровне, LDP может устанавливать связь между "логически соседними" LSR, не принадлежащими к одному каналу. Это необходимо для реализации туннельной передачи. После того как соседство установлено, LDP открывает транспортное соединение между участниками сеанса поверх ТСР По этому соединению передаются запросы на установку привязки и сама информация о привязке. Кроме того, участники сеанса периодически проверяют работоспособность друг друга, отправляя тестовые сообщения (keepalive message).

Приведем пример, как происходит заполнение таблиц меток по протоколу LDP (рис. 2).

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

На стадии A каждое из устройств сети MPLS строит базу топологической информации, задействуя любой из современных протоколов маршрутизации (на схеме — OSPF). На стадии B маршрутизаторы LSR применяют процедуру нахождения соседних устройств и устанавливают с ними сеансы LDP

Далее (стадия С) LSR 2 на основе анализа собственных таблиц маршрутизации обнаруживает, что он является выходным LSR для пути, ведущего к IP-сети 193.233.48.0. Тогда LSR 2 ассоциирует класс FEC с пакетами, адрес получателя которых соответствует префиксу данной сети, и присваивает этому классу случайное значение метки — в нашем случае 18. Получив привязку, протокол LDP уведомляет верхний маршрутизатор LSR (LSR1) о том, что потоку, адресованному сети с префиксом 193.233.48, присвоена метка 18. LSR

1 помещает это значение в поле выходной метки своей таблицы.

На стадии D устройство LSR 1, которому известно значение метки для потока, адресованного на префикс 193.233.48, присваивает собственное значение метки данному FEC и уведомляет верхнего соседа (LSR 0) об этой привязке. Теперь LSR 0 записывает полученную информацию в свою таблицу. После завершения данного процесса все готово для передачи пакетов из сети "клиента" в сеть с адресом 193.233.48.0, т.е. по выбранному пути LSP

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

В нашем примере узел LSR 0 выполняет в процессе передачи классификацию пакетов, поступающих к нему из сети клиента, и (если адрес получателя в них совпадает с префиксом 193.233.48), присвоив пакету метку 33, отправляет его через интерфейс 2.

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

Если провайдер намеревается внедрить новый тип услуг, ему нет необходимости заменять всю MPLS-совместимую инфраструктуру Достаточно всего лишь изменить управляющую составляющую, что-

Клиент

193.233.48.0/24

1S&233L41 3 11

Рис. 2. Построение коммутируемого пути по протоколу LDP

D. 181231*8 У 19123141 ИИ ШИ 19323148 2

бы присвоить некоторой категории пакетов специальный FEC-класс, и затем указать для него специально спроектированный LSP-маршрут. Например, пакеты можно классифицировать по сочетанию подсети назначения и типа приложения, или сетей источника и назначения, по специфическим требованиям к качеству услуг (QoS), по принадлежности к группе многоадресной IP-рассылки, по идентификатору виртуальной частной сети (VPN). Далее, сетевой администратор может конфигурировать LSP-маршруты таким образом, чтобы удовлетворить специфическим требованиям данного класса трафика: минимизировать число транзитных узлов, обеспечить заданную полосу пропускания, направить трафик через определенные узлы и т. д Заключительный шаг по внедрению новой услуги состоит в том, чтобы сконфигурировать входной LSR-маршрутизатор соответствующим образом. Он должен идентифицировать пакеты, подпадающие под определение данного класса, и направлять их по пути, специально предназначенному для трафика этого класса.

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

Технология MPLS хорошо подходит в качестве основы для моделирования трафика, поскольку позволяет сетевым администраторам указывать точный физический маршрут для маркированных пакетов, а также выбирать маршруты, удовлетворяющие специфическим требованиям. Раздельная же статистика по каждому LSP-маршруту может быть использована для анализа загрузки каналов связи, поиска узких мест сети и планирования ее дальнейшего расширения.

Технология MPLS может оказать помощь провайдерам при внедрении дифференцированных услуг (DiffServ). Сама модель DiffServ определяет целый ряд механизмов для разделения всего трафика на небольшое число классов обслуживания. Как известно, пользователи нуждаются в Интернет как в сети общего пользования для самых разных целей и приложений — от неприхотливой электронной почты до передачи голоса и видео, весьма чувствительных к задержкам. Чтобы удовлетворить их требованиям, сервис-провайдер должен использовать не только моделирование трафика, но и средства для его классификации.

В сети MPLS возможны два подхода к пересылке пакетов с учетом класса обслуживания. Первый подход предусматривает обработку пакетов в выходных очередях LSR-маршрутизаторов с учетом значений приоритета, указанных в заголовке MPLS. Второй — базируется на том, что для каждой пары, состоящей из входного и выходного LSR-маршрутизаторов, определяются несколько LSP-маршрутов с различными характеристиками производительности, полосы пропускания, времени задержки и других параметров. После этого входной маршрутизатор направляет один тип трафика по одному пути, другой — по другому, третий — по третьему и т. д.

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

стных сетей. Обе эти задачи легко решаются с помощью технологии MPLS, поскольку она предусматривает маршрутизацию пакетов на основе меток, а не на основе адреса назначения. MPLS позволяет сервис-провайдеру организовать предоставление услуг VPN, используя простой, гибкий и мощный механизм туннелирования. Виртуальная частная сеть строится как совокупность маркированных маршрутов между различными физическими сегментами VPN. Система маршрутизаторов провайдера распределяет по всей сети информацию о масках подсетей, существующих внутри каждого сегмента. Входные LSR-маршрутизаторы сети направляют трафик VPN по соответствующим LSP-маршрутам, исходя из совокупности адреса назначения пакета и его принадлежности к определенной VPN.

3. BGP — маршрутизация

Протоколы внешних роутеров предназначены для маршрутизации между доменами маршрутизации. В терминологии Internet (международной сети, объединяющей университеты, правительственные учреждения, научно-исследовательские организации и частные коммерческие концерны) доменом маршрутизации называется автономная система (AS). Первым протоколом внешних роутеров, получившим широкое признание в Internet, был протокол EGR Хотя технология EGP пригодна для сетей, он имеет ряд недостатков, в том числе тот факт, что это скорее протокол досягаемости, а не маршрутизации.

Протокол Граничных роутеров (Border Gateway Protocol — BGP) является попыткой решить самую серьезную проблему EGP BGP является протоколом маршрутизации между AS, созданным для применения в Internet. В отличие от EGP, BGP предназначен для обнаружения маршрутных петель. BGP можно назвать следующим поколением EGP И действительно, BGP и другие протоколы маршрутизации между AS постепенно вытесняют EGP из Internet.

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

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

Сообщения о корректировках BGP состоят из пар "сетевой номер/тракт AS". Тракт AS содержит последовательность из AS, через которую может быть достигнута указанная сеть. Эти сообщения о корректировке отправляются с помощью механизма транспортировки TCP для обеспечения надежной доставки.

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

Показатель BGP представляет собой произвольное число еди-

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

RFC 1163 определяет 4 типа сообщений:

1. Открывающие сообщения.

2. Сообщения о корректировке.

3. Уведомления.

4. Сообщения keepalive (продолжай действовать).

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

В дополнение к обычному заголовку пакета BGP в открывающих сообщениях выделяют несколько полей. Поле версии (version) обеспечивает номер версии BGP и дает возможность получателю проверять, совпадает ли его версия с версией отправителя. Поле автономной системы (autonomous system) обеспечивает номер AS отправителя. Поле времени удерживания (hold time) указывает максимальное число секунд, которые могут пройти без получения какого-либо сообщения от передающего устройства, прежде чем считать его отказавшим. Поле кода удостоверения (authentication code) указывает на используемый код удостоверения (если он имеется). Поле данных удостоверения (autentication data) содержит фактические данные удостоверения (при их наличии).

Сообщения о корректировках BGP обеспечивают корректировки маршрутизации для других систем BGP Информация этих сообщений используется для построения графика, описывающего взаимоотношения между различными AS. В дополнение к обычному заголовку BGP сообщения о корректировках имеют несколько дополнительных полей. Эти поля обеспечивают маршрутную информацию путем перечисления атрибутов трактов, соответствующих каждой сети. В настоящее время BGP определяет 5 атрибутов:

1. Origin (источник). Может иметь одно из трех значений: IGP EGP и incomplete(незавершенный). Атрибут IGP означает, что данная сеть является частью данной AS. Атрибут EGP означает, что первоначальные сведения о данной информации получены от протокола EGR Реализации BGP склонны oтдавать предпочтение маршрутам IGP перед маршрутами EGP, т.к. маршрут EGP отказывает при наличии маршрутных петель. Атрибут incomplete используется для указания того, что о данной сети известно через какие-то другие средства.

2. AS path (путь AS). Обеспечивает фактический перечень AS на пути к пункту назначения.

3. Next hop (следующая пересылка). Обеспечивает адрес IP роутера, который должен быть использован в качестве следующей пересылки к сетям, перечисленным в сообщении о корректировке.

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

5. Inter-AS metric (показатель сообщения между AS). Обеспечивает для какого-нибудь роутера BGP возможность рекламировать свои затраты на маршруты к пунктам назначения, находящимся в пределах его AS. Эта информация может быть использована роутерами, которые являются внешними по отношению к AS рекламодателя, для выбора оптимального маршрута к конкретному пункту на-

значения, находящемуся в пределах данной AS.

Сообщения keepalive не содержат каких-либо дополнительных полей помимо тех, которые содержатся в заголовке BGP Эти сообщения отправляются довольно часто для того, чтобы препятствовать истечению периода времени удерживания таймера.

Уведомления отправляются в том случае, если была обнаружена сбойная ситуация, и один роутер хочет сообщить другому, почему он закрывает соединение между ними. Помимо обычного заголовка BGP уведомления содержат поле кода ошибки (error code), поле подкода ошибки (error subcode) и данные ошибки (error data). Поле кода ошибки указывает тип ошибки, который может быть одним из перечисленных ниже:

1. Message header error (ошибка в заголовке сообщения). Указывает на проблему в заголовке сообщения, такую, как неприемлемая длина сообщения, неприемлемое значение поля маркера или неприемлемый тип сообщения.

2. Open message error (ошибка в открывающем сообщении). Указывает на наличие проблемы в открывающем сообщении, такой, как необеспечиваемый номер версии, неприемлемый номер AS или адрес IP и необеспечиваемый код удостоверения.

3. Update message error (ошибка в сообщении о корректировке. Указывает на наличие проблемы в сообщении о корректировке. Примерами таких проблем могут быть неправильно сформированный перечень атрибутов, ошибка в перечне атрибутов и недействительный атрибут следующей пересылки.

4. Hold time expired (время удерживания истекло). Указывает на истечение периода времени удерживания, после чего узел BGP будет объявлен недействующим.

4. OSPF — маршрутизация

Открытый протокол, базирующийся на алгоритме поиска наикратчайшего пути (Open Shortest Path Fisrt — OSPF) является протоколом маршрутизации, разработанным для сетей IP рабочей группой Internet Engineering Task Force (IETF), занимающейся разработкой протоколов для внутрисистемных роутеров (interior gateway protocol — IGP). Рабочая группа была образована в 1988 г. для разработки протокола IGP, базирующегося на алгоритме "поиска наикратчайшего пути" (shortest path first — SPF), с целью его использования в Internet, крупной международной сети, объединяющей научно-исследовательские институты, правительственные учреждения, университеты и частные предприятия. Как и протокол IGP , OSPF был разработан по той причине, что к середине 1980 гг. непригодность RIP для обслуживания крупных гетерогенных объединенных систем стала все более очевидна.

Как видно из его названия, OSPF имеет две основных характеристики. Первая из них -это то, что протокол является открытым, т.е. его спецификация является общественным достоянием. Спецификация OSPF опубликована в форме Запроса для Комментария (RFC) 1247. Второй его главной характеристикой является то, что он базируется на алгоритме SPF. Алгоритм SPF иногда называют алгоритмом Dijkstra по имени автора, который его разработал.

OSPF является протоколом маршрутизации с объявлением состояния о канале (link-state). Это значит, что он требует отправки объявлений о состоянии канала (link-state advertisement — LSA) во все роутеры, которые находятся в пределах одной и той же иерархической области. В oбъявления LSA протокола OSPF включается информация о подключенных интерфейсах, об использованных показателях и о других переменных По мере накопления роутерами OSPF информации о состоянии канала, они используют алгоритм SPF для расчета наикратчайшего пути к каждому узлу

Являясь алгоритмом с объявлением состояния канала, OSPF отличается от RIP и IGRP которые являются протоколами маршрутиза-

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

В отличие от RIF, OSPF может работать в пределах некоторой иерархической системы. Самым крупным объектом в этой иерархии является автономная система (Autonomous System — AS) AS является набором сетей, которые находятся под единым управлением и совместно используют обшую стратегию маршрутизации. OSPF является протоколом маршрутизации внутри AS, хотя он и способен принимать маршруты из других AS и отправлять маршруты в другие AS.

Любая AS может быть разделена на ряд областей (area). Область — это группа смежных сетей и подключенных к ним хостов. Роутеры, имеюшие несколько интерфейсов, могут участвовать в нескольких областях. Такие роутеры, которые называются роутерами границы областей (area border routers), поддерживают отдельные топологические базы данных для каждой области.

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

Термин "домен" (domain) используется для описания части сети, в которой все роутеры имеют идентичную топологическую базу данных. Термин "домен" часто используется вместо AS.

Топология области является невидимой для объектов, находя-шихся вне этой области. Путем хранения топологий областей отдельно, OSPF добивается меньшего трафика маршрутизации, чем трафик для случая, когда AS не разделена на области.

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

Стержневая часть OSPF (backbone) отвечает за распределение маршрутной информации между областями. Она включает в себя все роутеры границы области, сети, которые не принадлежат полностью какой-либо из областей, и подключенные к ним роутеры.

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

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

Граничные роутеры AS, используюшие OSPF, узнают о внешних роутерах через протоколы внешних роутеров (EGPs), таких, как Exterior Gateway Protocol (EGP) или Border Gateway Protocol (BGP), или через информацию о конфигурации.

Алгоритм маршрутизации SPF является основой для операций OSPF Когда на какой-нибудь роутер SPF подается питание, он инициализирует свои структуры данных о протоколе маршрутизации, а

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

После получения подтверждения о работоспособности своих интерфейсов роутер использует приветственный протокол (hello protocol) OSPF, чтобы приобрести соседей (neighbor). Соседи — это роутеры с интерфейсами с общей сетью. Описываемый роутер отправляет своим соседям приветственные пакеты и получает от них такие же пакеты. Помимо оказания помощи в приобретении соседей, приветственные пакеты также действуют как подтверждение дееспособности, позволяя другим роутерам узнавать о том, что другие роутеры все еще функционируют.

В сетях с множественным доступом (multi-access networks) (сетях, поддерживающих более одного роутера), протокол Hello выбирает назначенный роутер (designated router) и дублирующий назначенный роутер. Назначенный роутер, помимо других функций, отвечает за генерацию LSA для всей сети с множественным доступом. Назначенные роутеры позволяют уменьшить сетевой трафик и объем топологической базы данных.

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

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

В числе дополнительных характеристик OSPF — равные затраты, многотрактовая маршрутизация (multipath routing) и маршрутизация, базирующаяся на запросах типа услуг высшего уровня (type of service — TOS). Базирующаяся на TOS маршрутизация поддерживает те протоколы высшего уровня, которые могут назначать конкретные типы услуг. Например, какая-нибудь прикладная программа может включить требование о том, что определенная информация является срочной. Если OSPF имеет в своем распоряжении каналы с высоким приоритетом, то они могут быть использованы для транспортировки срочных дейтаграмм.

OSPF обеспечивает один или более показателей. Если используется только один показатель, то он считается произвольным и TOS не обеспечивается. Если используется более одного показателя, то TOS обеспечивается факультативно путем использования отдельного показателя (и, следовательно, отдельной маршрутной таблицы) для каждой из 8 комбинаций, образованной тремя битами IP TOS: битом задержки (delay), производительности (throughput) и надежности (reliability). Например, если биты IP TOS задают небольшую задержку, низкую производительность и высокую надежность, то OSPF вычисляет маршруты во все пункты назначения, базируясь на этом обозначении TOS.

Маски подсети IP включаются в каждый объявленный пункт назначения, что позволяет использовать маски подсети переменной длины (variable-length subnet masks). С помощью масок подсети переменной длины сеть IP может быть разбита на несколько подсетей разной величины. Это обеспечивает администраторам сетей дополнительную гибкость при выборе конфигурации сети.