Протокол Информации Маршрутизации (RIP) является протоколом
маршрутизации, который был первоначально разработан для Универсального
протокола
RIP был повсеместно принят производителями персональных компьютеров
(РС) для использования в их изделиях передачи данных по сети. Например,
протокол маршрутизации
Каждая
(рис 5.1) Typical RIP Routing TableRIP поддерживает только самые лучшие маршруты к пункту назначения. Если новая информация обеспечивает лучший маршрут, то эта информация заменяет старую маршрутную информацию. Изменения в топологии сети могут вызывать изменения в маршрутах, приводя к тому, например, что какой-нибудь новый маршрут становится лучшим маршрутом до конкретного пункта назначения. Когда имеют место изменения в топологии сети, то эти изменения отражаются в сообщениях о корректировке маршрутизации. Например, когда какой-нибудь роутер обнаруживает отказ одного из каналов или другого роутера, он повторно вычисляет свои маршруты и отправляет сообщения о корректировке маршрутизации. Каждый роутер, принимающий сообщение об обновлении маршрутизации, в котором содержится изменение, корректирует свои таблицы и распространяет это изменение.
На Рис. 5.2 изображен
ПРИМЕЧАНИЕ: На Рис. 5.2 представлен формат RIP, используемый для сетей
IP в Internet. В некоторые другие варианты RIP внесены незначительные
изменения формата и (или) имен файлов, которые здесь перечислены, но
функциональные возможности базового
(рис 5.2) RIP Packet FormatПервое поле в пакете RIP-это поле команд ( command ). Это поле содержит целое число, обозначающее либо запрос, либо ответ. Команда "запрос" запрашивает отвечающую систему об отправке всей таблицы маршрутизации или ее части. Пункты назначения, для которых запрашивается ответ, перечисляются далее в данном пакете. Ответная команда представляет собой ответ на запрос или чаще всего какую-нибудь незатребованную регулярную корректировку маршрутизации. Отвечающая система включает всю таблицу маршрутизации или ее часть в ответный пакет. Регулярные сообщения о корректировке маршрутизации включают в себя всю таблицу маршрутизации.
Поле версии ( version ) определяет реализуемую версию RIP. Т.к. в объединенной сети возможны многие реализации RIP, это поле может быть использовано для сигнализирования о различных потенциально несовместимых реализациях.
За 16-значение=2 ), но могут быть
также представлены другие типы сетей.
Следом за еще одним 16-
За еще двумя 32-битовыми полями из нулей идет поле показателя RIP ( metric ). Этот показатель представляет собой число пересылок ( hop count ). Он указывает, сколько должно быть пересечено транзитных участков (роутеров) объединенной сети, прежде чем можно добраться до пункта назначения.
В каждом отдельном пакете RIP IP допускается появление дo 25 вхождений идентификатора семейства адреса, обеспечиваемых полями показателя. Другими словами, в каждом отдельном пакете RIP может быть перечислено до 25 пунктов назначения. Для передачи информации из более крупных маршрутных таблиц используется множество пакетов RIP.
Как и другие протоколы маршрутизации, RIP использует определенные таймеры для регулирования своей работы. Таймер корректировки маршрутизации RIP ( routing update timer ) обычно устанавливается на 30 сек., что гарантирует отправку каждым роутером полной копии своей маршрутной таблицы всем своим соседям каждые 30 секунд. Таймер недействующих маршрутов ( route invalid timer ) определяет, сколько должно пройти времени без получения сообщений о каком-нибудь конкретном маршруте, прежде чем он будет признан недействительным. Если какой- нибудь маршрут признан недействительным, то соседи уведомяются об этом факте. Такое уведомление должно иметь место до истечения времени таймера отключения маршрута ( route flush timer ). Когда заданное время таймера отключения маршрута истекает, этот маршрут удаляется из таблицы маршрутизации. Типичные исходные значения для этих таймеров - 90 секунд для таймера недействующего маршрута и 270 секунд для таймера отключения маршрута.
RIP определяет ряд характеристик, предназначенных для более стабильной работы в условиях быстро изменяющейся топологии сети. В их число входит ограничение числа пересылок, временные удерживания изменений ( hold-downs ), расщепленные горизонты ( split-horizons ) и корректировки отмены ( poison reverse updates ).
RIP разрешает максимальное число пересылок, равное 15. Любому пункту назначения, который находится дальше, чем на расстоянии 15 пересылок, присваивается ярлык "недосягаемого". Максимальное число пересылок RIP в значительной мере ограничивает его применение в крупных объединенных сетях, однако способствует предотвращению появления проблемы, называемой счетом до бесконечности ( count to infinity ), приводящей к зацикливанию маршрутов в сети. Проблема счета до бесконечности представлена на Рис. 5.3.
(рис 5.3) Count-to-Infinity ProblemРассмотрим, что случится, если на Рис. 5.3 канал Роутера 1 (R1) (канал а), связывающий его с сетью А, откажет. R1 проверяет свою информацию и обнаруживает, что Роутер 2 (R2) связан с сетью А каналом длиной в одну пересылку. Т.к. R1 знает, что он напрямую соединен с R2, то он объявляет о маршруте из двух пересылок до сети А и начинает направлять весь трафик в сеть А через R2. Это приводит к образованию маршрутной петли. Когда R2 обнаруживает, что R1 может теперь достичь сеть А за две пересылки, он изменяет запись своих собственных данных в таблице маршрутизации, чтобы показать, что он имеет тракт длиной в 3 пересылки до сети А. Эта проблема, а также данная маршрутная петля будут продолжаться бесконечно, или до тех пор, пока не будет навязано какое-нибудь внешнее граничное условие. Этим граничным условием является максимальное число пересылок RIP. Когда число пересылок превысит 15, данный маршрут маркируется как недосягаемый. Через некоторое время этот маршрут удаляется из таблицы.
Временные удерживания изменений используются для того, чтобы помешать регулярным сообщениям о корректировке незаконно восстановить в правах маршрут, который оказался испорченным. Когда какой-нибудь маршрут отказывает, соседние роутеры обнаруживают это. Затем они вычисляют новые маршруты и отправляют сообщения об обновлении маршрутизации, чтобы информировать своих соседей об изменениях в маршруте. Эта деятельность приводит к появлению целой волны коррекций маршрутизации, которые фильтруются через сеть.
Приведенные в действие корректировки неодновременно прибывают во все устройства сети. Поэтому возможно, что какое-нибудь устройство, которое еще не получило информацию о каком-нибудь отказе в сети, может отправить регулярное сообщение о корректировке (в котором маршрут, который только что отказал, все еще числится исправным) в другое устройство, которое только что получило уведомление об этом отказе в сети. В этом случае это другое устройство теперь будет иметь (и возможно, рекламировать) неправильную маршрутную информацию.
Команды о временном удерживании указывают роутерам, чтобы они на некоторое время придержали любые изменения, которые могут оказать влияние на только что удаленные маршруты. Этот период удерживания обычно рассчитывается таким образом, чтобы он был больше периода времени, необходимого для внесения какого-либо изменения о маршрутизации во всю сеть. Удерживание изменений предотвращает появление проблемы счета до бесконечности.
Расщепленные горизонты используют преимущество того факта, что никогда не бывает полезным отправлять информацию о каком-нибудь маршруте обратно в том направлении, из которого пришла эта информация. Для иллюстрации этого положения рассмотрим Рис. 5.4.
(рис 5.4) Split HorizonsPоутер 1 (R1) первоначально объявляет, что он располагает каким-то маршрутом до Сети А. Pоутеру 2 (R2) нет оснований включать этот маршрут в свою корректировку, отсылаемую обратно роутеру R1, т.к. R1 ближе к Сети А. Правило расщепленного горизонта гласит, что R2 должен исключить (попасть на) этот маршрут при любых корректировках, которые он отправляет в R1.
Правило расщепленного горизонта помогает предотвратить маршрутные петли между двумя узлами. Например, рассмотрим случай, когда отказывает интерфейс R1 с Сетью А. При отсутствии расщепленных горизонтов R2 продолжает информировать R1 о том, что он может попасть в Сеть А через R1. Если R1 не располагает достаточным интеллектом, то он действительно может выбрать маршрут, предлагаемый R2, в качестве альтернативы для своей отказавшей прямой связи, что приводит к образованию петли маршрутизации. И хотя временное удерживание изменений должно предотвращать это, применение расщепленного горизонта обеспечивает дополнительную стабильность алгоритма.
В то время как задачей расщепленных горизонтов является предотвращение образования маршрутных петель между соседними роутерами, корректировки отмены предназначены для устранения более крупных маршрутных петель. В основе их действия лежит положение о том, что увеличение значения показателей маршрутизации обычно указывает на наличие маршрутных петель. В этом случае отправляются корректировки отмены для удаления данного маршрута и помещения его в состояние временного удерживания.
Протокол маршрутизации внутренних роутеров (Interior Gateway Routing
Protocol-
В середине 1980 гг. самым популярным протоколом маршрутизации внутри AS
был Протокол Информации Маршрутизации (RIP). Хотя RIP был вполне
пригоден для маршрутизации в пределах относительно однородных
объединенных сетей небольшого или среднего размера, его ограничения
сдерживали рост сетей. В частности, небольшая допустимая величина числа
пересылок (15) RIP ограничивала размер объединенной сети, а его
единственный показатель (число пересылок) не обеспечивал достаточную
гибкость в сложных средах (смотри пункт "RIP").
Популярность роутеров Cisco и живучесть
Первоначальная реализация
Протоколы маршрутизации с вектором расстояния часто противопоставляют протоколам маршрутизации с указанием состояния канала, которые отправляют информацию о локальном соединении во все узлы объединенной сети. Рассмотрение двух популярных протоколов, использующих алгоритм маршрутизации с указанием состояния канала, "Открытый протокол с алгоритмом поиска наикратчайшего пути" ( Open Shortest Path First ) и "Промежуточная система-Промежуточная система" ( Intermediate System to Intermediate System (IS-IS) ), дается соответственно в пункты "OSPF" и "Маршрутизация OSI".
Для обеспечения дополнительной гибкости
unsigned version: 4; /* protocol version number */
unsigned opcode: 4; /* opcode */
uchar edition; /* edition number */
ushort asystem; /* autonomous system number */
ushort ninterior; /* number of subnets in local net */
ushort nsystem; /* number of networks in AS */
ushort nexterior; /* number of networks outside AS */
ushort checksum; /* checksum of IGRP header and data */
Первое
За полем версии идет поле операционного кода ( opcode ). Это поле обозначает тип пакета. Операционный код, равный 1, обозначает пакет корректировки; равный 2-пакет запроса. Пакеты запроса используются источником для запроса маршрутной таблицы из другого роутера. Эти пакеты состоят только из заголовка, содержащего версию, операционный код и поля номера AS. Пакеты корректировки содержат заголовок, за которым сразу же идут записи данных маршрутной таблицы. На записи данных маршрутной таблицы не накладывается никаких ограничений, за исключением того, что пакет не может превышать 1500 байтов, вместе с заголовком IP. Если этого недостаточно для того, чтобы охватить весь объем маршрутной таблицы, то используются несколько пакетов.
За полем операционного кода идет поле выпуска ( edition ). Это поле содержит последовательный номер, который инкрементируется, когда маршрутная таблица каким-либо образом изменяется. Это значение номера выпуска используется для того, чтобы позволить роутерам избежать обработки корректировок, содержащих информацию, которую они уже видели.
За полем выпуска идет поле, содержащее номер AS ( AS number ). Это поле
необходимо по той причине, что роутеры Cisco могут перекрывать
несколько AS. Несколько AS (или процессов
Следующие три поля обозначают номер подсетей, номер главных сетей и
номер внешних сетей в пакете корректировки. Эти поля присутствуют
потому, что сообщения корректировки
Последним полем в заголовке
Сообщения о корректировке содержат последовательность из семи полей
данных для каждой записи данных маршрутной таблицы. Первое из этих
полей содержит три значащих байта адреса ( address ) (в случае адреса
IP). Следующие пять полей содержат значения показателей. Первое из них
обозначает задержку ( delay ), выраженную в десятках микросекунд.
Диапазон перекрывает значения от 10 мксек. до 167 сек. За полем
задержки следует поле ширины полосы ( bandwidth ). Ширина полосы выражена
в единицах 1 Кбит/сек и перекрывает диапазон от линии с шириной полосы
1200 бит/сек до 10 Гбит/сек. Затем идет поле MTU, которое обеспечивет
размер MTU в байтах. За полем MTU идет поле надежности ( reliability ),
указывающее процент успешно переданных и принятых пакетов. Далее идет
поле нагрузки ( load ), которое обозначает занятую часть канала в
процентном отношении. Последним полем в каждой записи данных
маршрутизации является поле числа пересылок ( hop count ). И хотя
использование числа пересылок не явно выражено при определении
показателя, тем не менее это поле содержится в пакете
Временное удерживание изменений используется для того, чтобы помешать регулярным сообщениям о коррректировке незаконно восстановить в правах маршрут, который возможно был испорчен. Когда какой-нибудь роутер выходит из строя, соседние роутеры обнаруживают это через отсутствие регурярного поступления запланированных сообщений. Далее эти роутеры вычисляют новые маршруты и отправляют сообщения о корректировке маршрутизации, чтобы информировать своих соседей о данном изменении маршрута. Результатом этой деятельности является запуск целой волны корректировок, которые фильтруются через сеть.
Приведенные в действие корректировки поступают в каждое сетевое устройство не одновременно. Поэтому возможно, что какое-нибудь устройство, которое еще не было оповещено о неисправности в сети, может отправить регулярное сообщение о корректировке (указывающее, что какой-нибудь маршрут, который только что отказал, все еще считается исправным) в другое устройство, которое только что получило уведомление о данной неисправности в сети. В этом случае последнее устройство будет теперь содержать (и возможно, рекламировать) неправильную информацию о маршрутизации.
Команды о временном удерживании изменений предписывают роутерам удерживать в течение некоторого периода времени любые изменения, которые могут повлиять на маршруты. Период удерживания изменений обычно рассчитывается так, чтобы он был больше периода времени, необходимого для корректировки всей сети в соответствии с каким-либо изменением маршрутизации.
Понятие о расщепленных горизонтах проистекает из того факта, что никогда не бывает полезным отправлять информацию о каком-нибудь маршруте обратно в том направлении, из которого она пришла. Для иллюстрации этого положения рассмотрим Рис. 5.5.
(рис 5.5) Split HorizonsРоутер 1 (R1) первоначально объявляет, что у него есть какой-то маршрут до Сети А. Роутеру 2 (R2) нет оснований включать этот маршрут в свою корректировку, отправляемую в R1, т.к. R1 ближе к Сети А. В правиле о расщепленных горизонтах говорится, что R2 должен исключить этот маршрут независимо от того, какие корректировки он отправляет в R1.
Правило о расщепленных горизонтах помогает предотвращать зацикливание
маршрутов. Например, рассмотрим случай, когда интерфейс R1 с Сетью А
отказывает. Без расщепленных горизонтов R2 продолжал бы информировать
R1, что он может попасть в Сеть А (через R1!). Если R1 не располагает
достаточным интеллектом, он действительно может выбрать маршрут,
предлагаемый R2, в качестве альтернативы своему отказавшему прямому
соединению, что приводит к образованию маршрутной петли. И хотя
удерживание изменений должно помешать этому, в
В то время как расщепленные горизонты должны препятствовать
зацикливанию маршрутов между соседними роутерами, корректировки отмены
маршрута предназначены для борьбы с более крупными маршрутными петлями.
Увеличение значений показателей маршрутизации обычно указывает на
появление маршрутных петель. В этом случае посылаются корректировки
отмены, чтобы удалить этот маршрут и перевести его в состояние
удерживания. В реализации
Открытый протокол, базирующийся на алгоритме поиска наикратчайшего пути
(Open Shortest Path First - OSPF) является протоколом маршрутизации,
разработанным для сетей IP рабочей группой Internet Engineering Task
Force (IETF), занимающейся разработкой протоколов для внутрисистемных
роутеров ( interior gateway protocol - IGP ). Рабочая группа была
образована в 1988 г. для разработки протокола
ОSPF явился результатом научных исследований по нескольким направлениям, включающим:
(Информация о IS-IS дается в пункте "Maршрутизация OSI").
Как видно из его названия, OSPF имеет две основных характеристики.
Первая из них-это то, что протокол является открытым, т.е. его
спецификация является общественным достоянием. Спецификация OSPF
опубликована в форме Запроса для Комментария (RFC) 1247. Второй его
главной характеристикой является то, что он базируется на алгоритме
OSPF является протоколом маршрутизации с объявлением состояния о канале
( link-state ). Это значит, что он требует отправки объявлений о
состоянии канала ( link-state advertisement - LSA ) во все роутеры,
которые находятся в пределах одной и тойже иерархической области. В
oбъявления
Являясь алгоритмом с объявлением состояния канала, OSPF отличается от
RIP и
В отличие от RIP, OSPF может работать в пределах некоторой иерархической системы. Самым крупным объектом в этой иерархии является автономная система ( Autonomous System - AS ) AS является набором сетей, которые находятся под единым управлением и совместно используют общую стратегию маршрутизации. OSPF является протоколом маршрутизации внутри AS, хотя он и способен принимать маршруты из других AS и отправлять маршруты в другие AS.
Любая AS может быть разделена на ряд областей ( area ). Область - это группа смежных сетей и подключенных к ним хостов. Роутеры, имеющие несколько интерфейсов, могут участвовать в нескольких областях. Такие роутеры, которые называются роутерами границы областей ( area border routers ), поддерживают отдельные топологические базы данных для каждой области.
Топологическая база ( topological database ) данных фактически
представляет собой общую картину сети по отношению к роутерам.
Топологическая база данных содержит набор
Термин "домен" ( domain ) используется для описания части сети, в которой все роутеры имеют идентичную топологическую базу данных. Термин "домен" часто используется вместо AS.
Топология области является невидимой для объектов, находящихся вне этой области. Путем хранения топологий областей отдельно, OSPF добивается меньшего трафика маршрутизации, чем трафик для случая, когда AS не разделена на области.
Разделение на области приводит к образованию двух различных типов маршрутизации OSPF, которые зависят от того, находятся ли источник и пункт назначения в одной и той же или разных областях. Маршрутизация внутри области имеет место в том случае, когда источник и пункт назначения находятся в одной области; маршрутизация между областями - когда они находятся в разных областях.
Стержневая часть OSPF ( backbone ) отвечает за распределение маршрутной информации между областями. Она включает в себя все роутеры границы области, сети, которые не принадлежат полностью какой-либо из областей, и подключенные к ним роутеры. На Рис. 5.6 представлен пример объединенной сети с несколькими областями.
(рис 5.6) Hierarchical OSPF InternetworkНа этом рисунке роутеры 4, 5, 6, 10, 11 и 12 образуют стержень. Если хост Н1 Области 3 захочет отправить пакет хосту Н2 Области 2, то пакет отправляется в роутер 13, который продвигает его в роутер 12, который в свою очередь отправляет его в роутер 11. Роутер 11 продвигает пакет вдоль стержня к роутеру 10 границы области, который отправляет пакет через два внутренних роутера этой области (роутеры 9 и 7) до тех пор, пока он не будет продвинут к хосту Н2.
Сам стержень представляет собой одну из областей OSPF, поэтому все стержневые роутеры используют те же процедуры и алгоритмы поддержания маршрутной информации в пределах стержневой области, которые используются любым другим роутером. Топология стержневой части невидима для всех внутренних роутеров точно также, как топологии отдельных областей невидимы для стержневой части.
Область может быть определена таким образом, что стержневая часть не будет смежной с ней. В этом случае связность стержневой части должна быть восстановлена через виртуальные соединения. Виртуальные соединения формируются между любыми роутерами стержневой области, которые совместно используют какую-либо связь с любой из нестержневых областей; они функционируют так, как если бы они были непосредственными связями.
Граничные роутеры AS, использующие OSPF, узнают о внешних роутерах
через протоколы внешних роутеров (EGPs), таких, как Exterior Gateway
Protocol (EGP) или Border Gateway Protocol (BGP), или через информацию
о конфигурации (информация об этих протоколах дается соответственно в
пунктах "
После получения подтверждения о работоспособности своих интерфейсов роутер использует приветственный протокол ( hello protocol ) OSPF, чтобы приобрести соседей ( neighbor ). Соседи - это роутеры с интерфейсами с общей сетью. Описываемый роутер отправляет своим соседям приветственные пакеты и получает от них такие же пакеты. Помимо оказания помощи в приобретении соседей, приветственные пакеты также действуют как подтверждение дееспособности, позволяя другим роутерам узнавать о том, что другие роутеры все еще функционируют.
В сетях с множественным доступом ( multi-access networks ) (сетях,
поддержиающих более одного роутера), протокол Hello выбирает
назначенный роутер ( designated router ) и дублирующий назначенный
роутер. Назначеный роутер, помимо других функций, отвечает за генерацию
Если базы данных о состоянии канала двух роутеров являются синхронными, то говорят, что эти роутеры смежные ( adjacent ). В сетях с множественным доступом назначенные роутеры определяют, какие роутеры должны стать смежными. Топологические базы данных синхронизируются между парами смежных роутеров. Смежности управляют распределением пакетов протокола маршрутизации. Эти пакеты отправляются и принимаются только на смежности.
Каждый роутер периодически отправляет какое-нибудь
Все пакеты OSPF начинаются с 24-байтового заголовка, как показано на Рис. 5.7.
(рис 5.7) Формат пакета OSPF.Первое поле в заголовке OSPF - это номер версии OSPF ( version number ). Номер версии обозначает конкретную используемую реализацию OSPF.
За номером версии идет поле типа ( type ). Существует 5 типов пакета OSPF:
Отправляется через регулярные интервалы времени для установления и поддержания соседских взаимоотношений.
Описание базы данных. Описывает содержимое базы данных; обмен этими пакетами производится при инициализации смежности.
Запрос о состоянии канала. Запрашивает части топологической базы данных соседа. Обмен этими пакетами производится после того, как какой-нибудь роутер обнаруживает, (путем проверки пакетов описания базы данных), что часть его топологической базы данных устарела.
Корректировка состояния канала. Отвечает на пакеты запроса о состоянии
канала. Эти пакеты также используются для регулярного распределения
Подтверждение состояния канала. Подтверждает пакеты корректировки состояния канала. Пакеты корректировки состояния канала должны быть четко подтверждены, что является гарантией надежности процесса лавинной адресации пакетов корректировки состояния канала через какую-нибудь область.
Каждое
объявления о каналах роутера. Описывают собранные данные о состоянии каналов роутера, связывающих его с конкретной областью. Любой роутер отправляет RLA для каждой области, к которой он принадлежит. RLA направляются лавинной адресацией через всю область, но они не отправляются за ее пределы.
объявления о сетевых каналах. Отправляются назначенными роутерами. Они описывают все роутеры, которые подключены к сети с множественным доступом, и отправляются лавинной адресацией через область, содержащую данную сеть с множественным доступом.
Суммарные объявления о каналах. Суммирует маршруты к пунктам назначения, находящимся вне какой-либо области, но в пределах данной AS. Они генерируются роутерами границы области, и отправляются лавинной адресацией через данную область. В стержневую область посылаются объявления только о внутриобластных роутерах. В других областях рекламируются как внутриобластные, так и межобластные маршруты.
объявления о внешних каналах AS. Описывают какой-либо маршрут к одному из пунктов назначения, который является внешним для данного AS. объявления о внешних каналах AS вырабатываются граничными роутерами AS. Этот тип объявлений является единственным типом объявлений, которые продвигаются во всех направлениях данной AS; все другие объявления продвигаются только в пределах конкретных областей.
За полем типа заголовка пакета OSPF идет поле длины пакета ( packet length ). Это поле обеспечивает длину пакета вместе с заголовком OSPF в байтах.
Поле идентификатора роутера ( router ID ) идентифицирует источник пакета.
Поле идентификатора области ( area ID ) идентифицирует область, к которой принадлежит данный пакет. Все пакеты OSPF связаны с одной отдельной областью.
Стандартное поле контрольной суммы IP ( checksum ) проверяет содержимое всего пакета для выявления потенциальных повреждений, имевших место при транзите.
За полем контрольной суммы идет поле типа удостоверения ( authentication type ). Примером типа удостоверения является "простой пароль". Все обмены протокола OSPF проводятся с установлением достоверности. Тип удостоверения устанавливается по принципу "отдельный для каждой области".
За полем типа удостоверения идет поле удостоверения ( authentication ). Это поле длиной 64 бита и содержит информацию удостоверения.
В числе дополнительных характеристик 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 может быть разбита на несколько подсетей разной величины. Это обеспечивает администраторам сетей дополнительную гибкость при выборе конфигурации сети.
Протокол внешних роутеров (
Являясь первым протоколом внешних роутеров, который получил широкое
признание в Internet,
(рис 5.8) EGP and the ARPANETНесмотря на то, что
Пакет EGPпредставлен на Рис. 5.9.
(рис 5.9) EGP Packet FormatПервым полем в заголовке пакета
Следующим полем является поле типа ( type ), которое обозначает тип
сообщения.
| Message | Function |
|---|---|
| Neighbor |
Establishes/de-establishes neighbors |
| Neighbor reachability | Determines if neighbors are alive |
| Determines reachability of a particular network | |
| Provides |
|
| Error | Indicates |
За полем типа следует поле кода ( code ). Это поле определяет различие между подтипами сообщений.
Следующее поле - поле состояния ( status ), которое содержит информацию о состоянии, зависящую от сообщения. В число кодов состояния входят коды недостатка ресурсов ( insufficient resources ), неисправных параметров ( parameter problem ), нарушений протокола ( protocol violation ), и другие.
За полем состояния идет поле контрольной суммы ( checksum ). Контрольная сумма используется для обнаружения возможных проблем, которые могли появиться в пакете в результате транспортировки.
За полем контрольной суммы идет поле номера автономной системы ( autonomous system number ). Оно обозначает AS, к которой принадлежит роутер-отправитель.
Последним полем заголовка пакета
За заголовком
Сообщение "приобретение соседа включает в себя интервал приветствия ( hello interval ) и интервал опроса ( poll interval ). Поле интервала приветствия определяет период интервала проверки работоспособности соседей. Поле интервала опроса определяет частоту корректировки маршрутизации.
Сообщения о досягаемости соседа не имеют отдельных полей в числе полей,
идущих за заголовком
Чтобы обеспечить правильную маршрутизацию между AS, ЕGP должен знать об
относительном местоположении отдаленных хостов. Сообщение опроса
позволяет роутерам
Сообщения о корректировке маршрутизации дают роутерам
В пределах одного блока роутера
ЕGP не расшифровывает показатели расстояния, содержащиеся в сообщениях
о корректировке маршрутов.
Сообщения о неисправностях указывают на различные сбойные ситуации. В
дополнение к общему заголовку
Протоколы внешних роутеров предназначены для маршрутизации между
доменами маршрутизации. В терминологии Internet (международной сети,
объединяющей университеты, правительственные учреждения,
научно-исследовательские организации и частные коммерческие концерны)
доменом маршрутизации называется автономная система (AS). Первым
протоколом внешних роутеров, получившим широкое признание в Internet,
был протокол
Протокол Граничных роутеров ( Border Gateway Protocol - BGP ) является
попыткой решить самую серьезную проблему
Хотя BGP разработан как протокол маршрутизации между AS, он может использоваться для маршрутизации как в пределах, так и между AS. Два соседа BGP, сообщающихся из различных AS, должны находиться в одной и той же физической сети. Роутеры BGP, находящиеся в пределах одной и той же AS, сообщаются друг с другом, чтобы обеспечить согласующееся представление о данной AS и определить, какой из роутеров BGP данной AS будет служить в качестве точки соединения при передаче сообщений в определенные внешние AS и при их приеме.
Некоторые AS являются просто каналами для прохождения через них сетевого трафика. Другими словами, некоторые AS переносят трафик, источник которого не находится в их пределах и который не предназначен для них. BGP должен взаимодействовать с любыми протоколами маршрутизации внутри AS, которые существуют в пределах этих проходных AS.
Сообщения о корректировках BGP состоят из пар "сетевой номер/тракт AS". Тракт AS содержит последовательность из AS, через которые может быть достигнута указанная сеть. Эти сообщения о корректировке отправляются с помощью механизма транспортировки TCP для обеспечения надежной доставки.
Обмен исходной информацией между двумя роутерами является содержанием всей маршрутной таблицы BGP. С изменением маршрутной таблицы отправляются инкрементные корректировки. В отличие от некоторых других протоколов маршрутизации BGP не требует периодического обновления всей маршрутной таблицы. Вместо этого роутеры BGP хранят новейшую версию маршрутной таблицы каждого равноправного члена. Хотя BGP поддерживает маршрутную таблицу всех возможных трактов к какой-нибудь конкретной сети, в своих сообщениях о корректировке он объявляет только об основных (оптимальных) маршрутах.
Показатель BGP представляет собой произвольное число единиц, характеризующее степень предпочтения какого-нибудь конкретного маршрута. Эти показатели обычно устанавливаются администратором сети с помощью конфигурационных файлов. Степень предпочтения может базироваться на любом числе критериев, включая число AS (тракты с меньшим числом AS как правило лучше), тип канала (стабильность, быстродействие и надежность канала) и другие факторы.
(рис 5.10) BGP Packet FormatПакеты BGP имеют общий 19-байтовый заголовок, состоящий их трех полей.
Поле маркера ( marker ) имеет длину 16 байтов и содержит величину, которую получатель сообщения может предсказывать. Это поле используется для установки подлинности.
Поле длины ( length ) содержит полную длину сообщения в байтах.
Поле типа ( type ) определяет тип сообщения.
RFC 1163 определяет 4 типа сообщений:
После того, как соединение протокола транспортного уровня организовано, первым сообщением, отправляемым каждой стороной, является открывающее сообщение. Если открывающее сообщение приемлемо для получателя, то отправителю отсылается сообщение keepalive, подтверждающее получение открывающего сообщения. После успешного подтверждения принятия открывающего сообщения может быть произведен обмен корректировками, сообщениями keepalive и уведомлениями.
В дополнение к обычному заголовку пакета BGP в открывающих сообщениях выделяют несколько полей. Поле версии ( version ) обеспечивает номер версии BGP и дает возможность получателю проверять, совпадает ли его версия с версией отправителя. Поле автономной системы ( autonomous system ) обеспечивает номер AS отправителя. Поле времени удерживания ( hold time ) указывает максимальное число секунд, которые могут пройти без получения какого-либо сообщения от передающего устройства, прежде чем считать его отказавшим. Поле кода удостоверения ( authentication code ) указывает на используемый код удостоверения (если он имеется). Поле данных удостоверения ( autentication data ) содержит фактические данные удостоверения (при их наличии).
Сообщения о корректировках BGP обеспечивают корректировки маршрутизации для других систем BGP. Информация этих сообщений используется для построения графика, описывающего взаимоотношения между различными AS. В дополнение к обычному заголовку BGP сообщения о корректировках имеют несколько дополнительных полей. Эти поля обеспечивают маршрутную информацию путем перечисления атрибутов трактов, соответствующих каждой сети. В настоящее время BGP определяет 5 атрибутов:
Источник. Может иметь одно из трех значений: IGP, EGP и incomplete
(незавершенный). Атрибут
Путь AS. Обеспечивает фактический перечень AS на пути к пункту назначения.
Следующая пересылка. Обеспечивает адрес IP роутера, который должен быть использован в качестве следующей пересылки к сетям, перечисленным в сообщении о корректировке.
Недосягаемый. Указывает (при его наличии), что какой-нибудь маршрут больше не является досягаемым.
Показатель сообщения между AS. Обеспечивает для какого-нибудь роутера BGP возможность рекламировать свои затраты на маршруты к пунктам назначения, находящимся в пределах его AS. Эта информация может быть использована роутерами, которые являются внешними по отношению к AS рекламодателя, для выбора оптимального маршрута к конкретному пункту назначения, находящемуся в пределах данной AS.
Сообщения keepalive не содержат каких-либо дополнительных полей помимо тех, которые содержатся в заголовке BGP. Эти сообщения отправляются довольно часто для того, чтобы препятствовать истечению периода времени удерживания таймера.
Уведомления отправляются в том случае, если была обнаружена сбойная ситуация, и один роутер хочет сообщить другому, почему он закрывает соединение между ними. Помимо обычного заголовка BGP уведомления содержат поле кода ошибки ( error code ), поле подкода ошибки ( error subcode ) и данные ошибки ( error data ). Поле кода ошибки указывает тип ошибки, который может быть одним из перечисленных ниже:
Ошибка в заголовке сообщения. Указывает на проблему в заголовке сообщения, такую, как неприемлемая длина сообщения, неприемлемое значение поля маркера или неприемлемый тип сообщения.
Ошибка в открывающем сообщении. Указывает на наличие проблемы в открывающем сообщении, такой, как необеспечиваемый номер версии, неприемлемый номер AS или адрес IP и необеспечиваемый код удостоверения.
Ошибка в сообщении о корректировке. Указывает на наличие проблемы в сообщении о корректировке. Примерами таких проблем могут быть неправильно сформированный перечень атрибутов, ошибка в перечне атрибутов и недействительный атрибут следующей пересылки.
Время удерживания истекло. Указывает на истечение периода времени удерживания, после чего узел BGP будет объявлен недействующим.
При содействии Международной Организации по Стандартизации (ISO) уже разработаны или разрабатываются в настоящее время несколько протоколов маршрутизации. ISO ссылается на Протокол Обмена Внутридоменной Маршрутизации Промежуточных Систем ( Intermediate System to Intermediate System Intra-Domain Routing Exchange Protocol (IS-IS) ) как на ISO 10589. Двигательной силой стандартизации ISO документа IS-IS был комитет Х.3S3.3 Американского Национального Института Стандартов (ANSI), занимающийся сетевым и транспортным уровнями. В числе других протоколов ISO, связанных с маршрутизацией, протоколы ISO 9542 ( End System to Intermediate System, или ES-IS - Конечная система-Промежуточная Система) и ISO 10747 (IS-IS Inter-Domain Routing Protocol, или IDRP - Протокол междоменной маршрутизации промежуточных систем). Об этих протоколах будет вкратце упомянуто в данной главе, однако oсновное внимание уделено внутридоменной версии IS-IS.
IS-IS базируется на работе, которая была впервые выполнена Digital
Equipment Corporation при разработке Phase V
Объединенные сети OSI используют уникальную терминологию. Термин "конечная система" ( end system - ES ) относится к любому узлу сети, который не занимается маршрутизацией; термин "промежуточная система" ( intermediate system-IS ) относится к роутеру. На этих терминах базируются протоколы OSI ES-IS (который позволяет ES и IS находить друг друга) и IS-IS (который обеспечивает маршрутизацию между IS). Ниже дается определение некоторых других важных терминов объединенных сетей OSI:
Область. Группа смежных сетей и подключенных к ним хостов, которые определяются как область администратором сети или другим аналогичным лицом.
Домен. Набор соединенных областей. Домены маршрутизации обеспечивают полную связность со всеми конечными системами, находящимися в их пределах.
Маршрутизация в пределах области Уровня 1.
Maршрутизация между областями Уровня 1.
На Рис. 5.11 "Иерархия объединенных сетей OSI" показана взаимосвязь между этими терминами.
(рис 5.11) Hierarchies in OSI InternetworksС чисто технологической точки зрения IS-IS почти аналогичен протоколу маршрутизации OSPF (смотри пункт "OSPF"). Оба протокола являются протоколами с указанием состояния канала. Оба они обеспечивают различные характеристики, которые не обеспечивает RIP, в том числе иерархии маршрутизации ( routing hierachies ), дробление путей ( path splitting ), обеспечение типа услуги ( type-of-service - TOS ), удостоверение ( authentication ), поддержка нескольких протоколов сетевого уровня и поддержка (совместно с протоколом Integrated IS-IS) масок подсети переменной длины.
ES-IS в большей мере является протоколом обнаружения, чем протоколом маршрутизации. Через ES-IS системы ES и IS узнают друг о друге. Этот процесс известен как конфигурация ( configuration ). Т.к. конфигурация должна иметь место прежде, чем может начаться маршрутизация между ES, протокол ES-IS рассматривается в первую очередь.
ES-IS различает три разных типа подсетей:
Двухточечные подсети. Обеспечивают непосредственное соединение между двумя системами. Большинство последовательных каналов глобальной сети являются двухточечными сетями.
Широковещательные подсети. Направляют отдельное
Подсети с общей топологией. Поддерживают произвольное число систем. Однако в отличие от широковещательных подсетей, величина затрат на передачу по какому-нибудь маршруту n непосредственно связана с размерами данной подсети в подсети с общей топологией. Примером подсети с общей топологией является Х.25 (смотри Главу 3).
Информация конфигурации передается через определенные интервалы времени
с помощью сообщений двух типов.
При возможности ES-IS пытается отправить информацию конфигурации
одновременно в несколько систем. В широковещательных подсетях
ES-IS переносит как адреса сетевого уровня, так и адреса подсетей.
Адреса сетевого уровня OSI идентифицируют либо точку доступа к услугам
сети (
На Рис. 5.12 представлены
(рис 5.12) ESH and ISH Packet Formats
IS-IS является протоколом маршрутизации с указанием состояния канала. В этой роли он передает по сети лавинной адресацией информацию о состоянии канала для построения полной, последовательной картины топологии сети.
Для упрощения схемы и работы роутера IS-IS различает IS уровней 1 и 2. IS уровня 1 могут сообщаться с другими IS уровня 1, находящимися в той же области. IS уровня 2 могут сообщаться с IS других областей. Т.е. IS уровня 1 формируют области уровня 1; IS уровня 2 осуществляют маршрутизацию между областями уровня 1.
IS уровня 2 формируют стержень внутридоменной маршрутизации. Другими словами, IS уровня 2 могут попасть в другие IS уровня 2 путем пересечения только IS уровня 2. Наличие такого стержня упрощает схему, т.к. в этом случае IS уровня 1 нужно уметь только попадать в ближайший IS уровня 2. Протокол стержневой маршрутизации может также вносить изменения, не оказывая влияния на протокол внутриобластной маршрутизации.
Маршрутизация OSI выполняется следующим образом. Каждая ES принадлежит
конкретной области. ES обнаруживают ближайшую IS путем прослушивания
пакетов
Каждая IS генерирует корректировку, определяющую ES и IS, с которыми
она соединена, а также связанные с ней показатели. Эта корректировка
отправляется во все соседние IS, которые продвигают ее своим соседям, и
т.д. (лавинная адресация).
IS-IS использует один обязательный, устанавливаемый по умолчанию показатель с максимальным значением пути 1024. Этот показатель является произвольным и обычно назначается администратором сети. Любой отдельный канал может иметь максимальное значение 64. Длина путей вычисляется путем суммирования значений каналов. Максимальные значения каналов установлены на этих уровнях для обеспечения степени детализации, чтобы поддерживать различные типы каналов, одновременно обеспечивая достаточную эффективность алгоритма поиска наикратчайшего пути, используемого для расчета маршрута.
IS-IS также определяет три дополнительных показателя (затраты) в качестве опций для тех администраторов, которые испытывают в них необходимость. Затраты задержки ( delay ) отражают величину задержки в канале. Затраты на издержки ( expense ) отражают коммуникационные затраты, связанные с использованием данного канала. Затраты на ошибки ( error ) отражают коэффициент ошибок данного канала.
IS-IS обеспечивает соответствие этих четырех показателей опции качества
обслуживания ( quality-of-service - QOS ) в заголовке пакета
IS-IS использует три базовых
Каждый из этих трех пакетов IS-IS имеет сложный формат с тремя различными логическими частями. Первой частью является 8-байтовый фиксированный заголовок, общий для всех трех типов пакетов. Второй частью является специфичная для данного типа пакета часть с фиксированным форматом. Третья логическая часть также является специфичной для типа пакета, но имеет переменную длину. Логический формат пакетов IS-IS представлен на Рис. 5.13.
(рис 5.13) IS-IS Logical Packet FormatКаждый из трех типов пакета имеет общий заголовок, как это показано на Рис. 5.14.
(рис 5.14) Is-Is Common Header FormatПервым полем в общем заголовке IS-IS является идентификатор протокола ( protocol identifier ), который идентифицирует протокол IS-IS. Это поле содержит константу (131).
Следующим полем общего заголовка является поле длины заголовка ( header
length ). Это поле содержит фиксированную длину заголовка. Эта длина
всегда равняется 8 байтам, но она включена таким образом, чтобы пакеты
IS-IS незначительно отличались от пакетов
За полем длины следует поле версии ( version ), которое равняется единице в текущей спецификации IS-IS.
За полем версии идет поле длины ID, которое определяет размеры части ID
(идентификатора)
Следующим полем является поле типа пакета ( packet type ), которое
определяет тип пакета IS-IS (hello,
За полем типа пакета повторно следует поле версии.
За вторым полем версии идет поле резерва (reserved), которое равно нулю и которое игнорируется получателем.
Последним полем общего заголовка является поле максимума адресов области. Это поле определяет число адресов, разрешeнных для этой области.
За общим заголовком идет дополнительная фиксированная часть, разная для каждого типа пакета, за которой следует переменная часть.
Интегрированный IS-IS является одной из версий IS-IS, которая
использует один
Пакеты IS-IS дополнены несколькими полями, что позволяет IS-IS поддерживать дополнительные сетевые уровни. Эти поля сообщают роутерам следующую информацию:
Интегрированный IS-IS представляет один из двух способов поддержки в роутере нескольких протоколов сетевого уровня; другим способом является применение метода "корабли ночью" ( ships in the night ). Этот метод пропагандирует использование совершенно отдельного и отличного от других протокола маршрутизации для каждого сетевого протокола сети так, чтобы несколько протоколов маршрутизации фактически существовали независимо друг от друга (с разными типами маршрутной информации, проходящей подобно кораблям ночью). Возможность направлять по определенным маршрутам несколько протоколов сетевого уровня с помощью таблиц, рассчитанных одним протоколом маршрутизации, экономит ресурсы роутеров.
IDRP является протоколом OSI, предназначенным для перемещения
информации между доменами маршрутизации. Он предназначен для бесшовной
работы с
IDRP вводит несколько новых терминов, в том числе следующие:
Граничная промежуточная система. Это IS, участвующая в междоменной маршрутизации. Для этого она использует IDRP.
Домен маршрутизации. Это группа ES и IS, работающих согласно общим административным правилам, включающим коллективное пользование общим маршрутным планом.
Идентификатор домена маршрутизации. Уникальный идентификатор домена маршрутизации (RD).
Информационная база маршрутизации. Это база данных маршрутизации, используемая IDRP. Каждая BIS строит свою RIB из информации, полученной от систем данного RD и из других BIS. Любая RIB содержит набор маршрутов, выбранных для использования какой-нибудь конкретной BIS.
Конфедерация. Это группа доменов маршрутизации (RD). RD, не принадлежащие к данной конфедерации, воспринимают ее как один RD. Топология конфедерации невидима для RD, не принадлещащих к ней. Конфедерации помогают сократить сетевой трафик, выступая в объединенной сети в качестве непреодолимой преграды; они могут быть вложены одна в другую.
Маршрут IDRP представляет собой последовательность RDI. Некоторые из этих RDI могут быть конфедерациями. При конфигурации каждой BIS она знает о RD и конфедерациях, к которым она принадлежит, а также узнает о других BIS, RD и конфедерациях из информации, которой она обменивается с каждым соседом. Как и для маршрутизации с вектором расстояния, маршруты в какой-нибудь конкретный пункт назначения накапливаются вне данного пункта назначения. Только маршруты, которые удовлетворяют требованиям местной политики какой-нибудь BIS и были выбраны для использования, будут переданы в другие BIS. Пересчет маршрутов носит частичный характер и имеет место при наличии одного из следующих трех событий: получена инкрементная корректировка маршрутизации с новыми маршрутами, отказывает какая-нибудь соседняя BIS или появляется новая соседняя BIS.
В число характеристик IDRP входят следующие:
Протокол Информации Маршрутизации (RIP) является протоколом
маршрутизации, который был первоначально разработан для Универсального
протокола
RIP был повсеместно принят производителями персональных компьютеров
(РС) для использования в их изделиях передачи данных по сети. Например,
протокол маршрутизации
Каждая
(рис 5.1) Typical RIP Routing TableRIP поддерживает только самые лучшие маршруты к пункту назначения. Если новая информация обеспечивает лучший маршрут, то эта информация заменяет старую маршрутную информацию. Изменения в топологии сети могут вызывать изменения в маршрутах, приводя к тому, например, что какой-нибудь новый маршрут становится лучшим маршрутом до конкретного пункта назначения. Когда имеют место изменения в топологии сети, то эти изменения отражаются в сообщениях о корректировке маршрутизации. Например, когда какой-нибудь роутер обнаруживает отказ одного из каналов или другого роутера, он повторно вычисляет свои маршруты и отправляет сообщения о корректировке маршрутизации. Каждый роутер, принимающий сообщение об обновлении маршрутизации, в котором содержится изменение, корректирует свои таблицы и распространяет это изменение.
На Рис. 5.2 изображен
ПРИМЕЧАНИЕ: На Рис. 5.2 представлен формат RIP, используемый для сетей
IP в Internet. В некоторые другие варианты RIP внесены незначительные
изменения формата и (или) имен файлов, которые здесь перечислены, но
функциональные возможности базового
(рис 5.2) RIP Packet FormatПервое поле в пакете RIP-это поле команд ( command ). Это поле содержит целое число, обозначающее либо запрос, либо ответ. Команда "запрос" запрашивает отвечающую систему об отправке всей таблицы маршрутизации или ее части. Пункты назначения, для которых запрашивается ответ, перечисляются далее в данном пакете. Ответная команда представляет собой ответ на запрос или чаще всего какую-нибудь незатребованную регулярную корректировку маршрутизации. Отвечающая система включает всю таблицу маршрутизации или ее часть в ответный пакет. Регулярные сообщения о корректировке маршрутизации включают в себя всю таблицу маршрутизации.
Поле версии ( version ) определяет реализуемую версию RIP. Т.к. в объединенной сети возможны многие реализации RIP, это поле может быть использовано для сигнализирования о различных потенциально несовместимых реализациях.
За 16-значение=2 ), но могут быть
также представлены другие типы сетей.
Следом за еще одним 16-
За еще двумя 32-битовыми полями из нулей идет поле показателя RIP ( metric ). Этот показатель представляет собой число пересылок ( hop count ). Он указывает, сколько должно быть пересечено транзитных участков (роутеров) объединенной сети, прежде чем можно добраться до пункта назначения.
В каждом отдельном пакете RIP IP допускается появление дo 25 вхождений идентификатора семейства адреса, обеспечиваемых полями показателя. Другими словами, в каждом отдельном пакете RIP может быть перечислено до 25 пунктов назначения. Для передачи информации из более крупных маршрутных таблиц используется множество пакетов RIP.
Как и другие протоколы маршрутизации, RIP использует определенные таймеры для регулирования своей работы. Таймер корректировки маршрутизации RIP ( routing update timer ) обычно устанавливается на 30 сек., что гарантирует отправку каждым роутером полной копии своей маршрутной таблицы всем своим соседям каждые 30 секунд. Таймер недействующих маршрутов ( route invalid timer ) определяет, сколько должно пройти времени без получения сообщений о каком-нибудь конкретном маршруте, прежде чем он будет признан недействительным. Если какой- нибудь маршрут признан недействительным, то соседи уведомяются об этом факте. Такое уведомление должно иметь место до истечения времени таймера отключения маршрута ( route flush timer ). Когда заданное время таймера отключения маршрута истекает, этот маршрут удаляется из таблицы маршрутизации. Типичные исходные значения для этих таймеров - 90 секунд для таймера недействующего маршрута и 270 секунд для таймера отключения маршрута.
RIP определяет ряд характеристик, предназначенных для более стабильной работы в условиях быстро изменяющейся топологии сети. В их число входит ограничение числа пересылок, временные удерживания изменений ( hold-downs ), расщепленные горизонты ( split-horizons ) и корректировки отмены ( poison reverse updates ).
RIP разрешает максимальное число пересылок, равное 15. Любому пункту назначения, который находится дальше, чем на расстоянии 15 пересылок, присваивается ярлык "недосягаемого". Максимальное число пересылок RIP в значительной мере ограничивает его применение в крупных объединенных сетях, однако способствует предотвращению появления проблемы, называемой счетом до бесконечности ( count to infinity ), приводящей к зацикливанию маршрутов в сети. Проблема счета до бесконечности представлена на Рис. 5.3.
(рис 5.3) Count-to-Infinity ProblemРассмотрим, что случится, если на Рис. 5.3 канал Роутера 1 (R1) (канал а), связывающий его с сетью А, откажет. R1 проверяет свою информацию и обнаруживает, что Роутер 2 (R2) связан с сетью А каналом длиной в одну пересылку. Т.к. R1 знает, что он напрямую соединен с R2, то он объявляет о маршруте из двух пересылок до сети А и начинает направлять весь трафик в сеть А через R2. Это приводит к образованию маршрутной петли. Когда R2 обнаруживает, что R1 может теперь достичь сеть А за две пересылки, он изменяет запись своих собственных данных в таблице маршрутизации, чтобы показать, что он имеет тракт длиной в 3 пересылки до сети А. Эта проблема, а также данная маршрутная петля будут продолжаться бесконечно, или до тех пор, пока не будет навязано какое-нибудь внешнее граничное условие. Этим граничным условием является максимальное число пересылок RIP. Когда число пересылок превысит 15, данный маршрут маркируется как недосягаемый. Через некоторое время этот маршрут удаляется из таблицы.
Временные удерживания изменений используются для того, чтобы помешать регулярным сообщениям о корректировке незаконно восстановить в правах маршрут, который оказался испорченным. Когда какой-нибудь маршрут отказывает, соседние роутеры обнаруживают это. Затем они вычисляют новые маршруты и отправляют сообщения об обновлении маршрутизации, чтобы информировать своих соседей об изменениях в маршруте. Эта деятельность приводит к появлению целой волны коррекций маршрутизации, которые фильтруются через сеть.
Приведенные в действие корректировки неодновременно прибывают во все устройства сети. Поэтому возможно, что какое-нибудь устройство, которое еще не получило информацию о каком-нибудь отказе в сети, может отправить регулярное сообщение о корректировке (в котором маршрут, который только что отказал, все еще числится исправным) в другое устройство, которое только что получило уведомление об этом отказе в сети. В этом случае это другое устройство теперь будет иметь (и возможно, рекламировать) неправильную маршрутную информацию.
Команды о временном удерживании указывают роутерам, чтобы они на некоторое время придержали любые изменения, которые могут оказать влияние на только что удаленные маршруты. Этот период удерживания обычно рассчитывается таким образом, чтобы он был больше периода времени, необходимого для внесения какого-либо изменения о маршрутизации во всю сеть. Удерживание изменений предотвращает появление проблемы счета до бесконечности.
Расщепленные горизонты используют преимущество того факта, что никогда не бывает полезным отправлять информацию о каком-нибудь маршруте обратно в том направлении, из которого пришла эта информация. Для иллюстрации этого положения рассмотрим Рис. 5.4.
(рис 5.4) Split HorizonsPоутер 1 (R1) первоначально объявляет, что он располагает каким-то маршрутом до Сети А. Pоутеру 2 (R2) нет оснований включать этот маршрут в свою корректировку, отсылаемую обратно роутеру R1, т.к. R1 ближе к Сети А. Правило расщепленного горизонта гласит, что R2 должен исключить (попасть на) этот маршрут при любых корректировках, которые он отправляет в R1.
Правило расщепленного горизонта помогает предотвратить маршрутные петли между двумя узлами. Например, рассмотрим случай, когда отказывает интерфейс R1 с Сетью А. При отсутствии расщепленных горизонтов R2 продолжает информировать R1 о том, что он может попасть в Сеть А через R1. Если R1 не располагает достаточным интеллектом, то он действительно может выбрать маршрут, предлагаемый R2, в качестве альтернативы для своей отказавшей прямой связи, что приводит к образованию петли маршрутизации. И хотя временное удерживание изменений должно предотвращать это, применение расщепленного горизонта обеспечивает дополнительную стабильность алгоритма.
В то время как задачей расщепленных горизонтов является предотвращение образования маршрутных петель между соседними роутерами, корректировки отмены предназначены для устранения более крупных маршрутных петель. В основе их действия лежит положение о том, что увеличение значения показателей маршрутизации обычно указывает на наличие маршрутных петель. В этом случае отправляются корректировки отмены для удаления данного маршрута и помещения его в состояние временного удерживания.
Протокол маршрутизации внутренних роутеров (Interior Gateway Routing
Protocol-
В середине 1980 гг. самым популярным протоколом маршрутизации внутри AS
был Протокол Информации Маршрутизации (RIP). Хотя RIP был вполне
пригоден для маршрутизации в пределах относительно однородных
объединенных сетей небольшого или среднего размера, его ограничения
сдерживали рост сетей. В частности, небольшая допустимая величина числа
пересылок (15) RIP ограничивала размер объединенной сети, а его
единственный показатель (число пересылок) не обеспечивал достаточную
гибкость в сложных средах (смотри пункт "RIP").
Популярность роутеров Cisco и живучесть
Первоначальная реализация
Протоколы маршрутизации с вектором расстояния часто противопоставляют протоколам маршрутизации с указанием состояния канала, которые отправляют информацию о локальном соединении во все узлы объединенной сети. Рассмотрение двух популярных протоколов, использующих алгоритм маршрутизации с указанием состояния канала, "Открытый протокол с алгоритмом поиска наикратчайшего пути" ( Open Shortest Path First ) и "Промежуточная система-Промежуточная система" ( Intermediate System to Intermediate System (IS-IS) ), дается соответственно в пункты "OSPF" и "Маршрутизация OSI".
Для обеспечения дополнительной гибкости
unsigned version: 4; /* protocol version number */
unsigned opcode: 4; /* opcode */
uchar edition; /* edition number */
ushort asystem; /* autonomous system number */
ushort ninterior; /* number of subnets in local net */
ushort nsystem; /* number of networks in AS */
ushort nexterior; /* number of networks outside AS */
ushort checksum; /* checksum of IGRP header and data */
Первое
За полем версии идет поле операционного кода ( opcode ). Это поле обозначает тип пакета. Операционный код, равный 1, обозначает пакет корректировки; равный 2-пакет запроса. Пакеты запроса используются источником для запроса маршрутной таблицы из другого роутера. Эти пакеты состоят только из заголовка, содержащего версию, операционный код и поля номера AS. Пакеты корректировки содержат заголовок, за которым сразу же идут записи данных маршрутной таблицы. На записи данных маршрутной таблицы не накладывается никаких ограничений, за исключением того, что пакет не может превышать 1500 байтов, вместе с заголовком IP. Если этого недостаточно для того, чтобы охватить весь объем маршрутной таблицы, то используются несколько пакетов.
За полем операционного кода идет поле выпуска ( edition ). Это поле содержит последовательный номер, который инкрементируется, когда маршрутная таблица каким-либо образом изменяется. Это значение номера выпуска используется для того, чтобы позволить роутерам избежать обработки корректировок, содержащих информацию, которую они уже видели.
За полем выпуска идет поле, содержащее номер AS ( AS number ). Это поле
необходимо по той причине, что роутеры Cisco могут перекрывать
несколько AS. Несколько AS (или процессов
Следующие три поля обозначают номер подсетей, номер главных сетей и
номер внешних сетей в пакете корректировки. Эти поля присутствуют
потому, что сообщения корректировки
Последним полем в заголовке
Сообщения о корректировке содержат последовательность из семи полей
данных для каждой записи данных маршрутной таблицы. Первое из этих
полей содержит три значащих байта адреса ( address ) (в случае адреса
IP). Следующие пять полей содержат значения показателей. Первое из них
обозначает задержку ( delay ), выраженную в десятках микросекунд.
Диапазон перекрывает значения от 10 мксек. до 167 сек. За полем
задержки следует поле ширины полосы ( bandwidth ). Ширина полосы выражена
в единицах 1 Кбит/сек и перекрывает диапазон от линии с шириной полосы
1200 бит/сек до 10 Гбит/сек. Затем идет поле MTU, которое обеспечивет
размер MTU в байтах. За полем MTU идет поле надежности ( reliability ),
указывающее процент успешно переданных и принятых пакетов. Далее идет
поле нагрузки ( load ), которое обозначает занятую часть канала в
процентном отношении. Последним полем в каждой записи данных
маршрутизации является поле числа пересылок ( hop count ). И хотя
использование числа пересылок не явно выражено при определении
показателя, тем не менее это поле содержится в пакете
Временное удерживание изменений используется для того, чтобы помешать регулярным сообщениям о коррректировке незаконно восстановить в правах маршрут, который возможно был испорчен. Когда какой-нибудь роутер выходит из строя, соседние роутеры обнаруживают это через отсутствие регурярного поступления запланированных сообщений. Далее эти роутеры вычисляют новые маршруты и отправляют сообщения о корректировке маршрутизации, чтобы информировать своих соседей о данном изменении маршрута. Результатом этой деятельности является запуск целой волны корректировок, которые фильтруются через сеть.
Приведенные в действие корректировки поступают в каждое сетевое устройство не одновременно. Поэтому возможно, что какое-нибудь устройство, которое еще не было оповещено о неисправности в сети, может отправить регулярное сообщение о корректировке (указывающее, что какой-нибудь маршрут, который только что отказал, все еще считается исправным) в другое устройство, которое только что получило уведомление о данной неисправности в сети. В этом случае последнее устройство будет теперь содержать (и возможно, рекламировать) неправильную информацию о маршрутизации.
Команды о временном удерживании изменений предписывают роутерам удерживать в течение некоторого периода времени любые изменения, которые могут повлиять на маршруты. Период удерживания изменений обычно рассчитывается так, чтобы он был больше периода времени, необходимого для корректировки всей сети в соответствии с каким-либо изменением маршрутизации.
Понятие о расщепленных горизонтах проистекает из того факта, что никогда не бывает полезным отправлять информацию о каком-нибудь маршруте обратно в том направлении, из которого она пришла. Для иллюстрации этого положения рассмотрим Рис. 5.5.
(рис 5.5) Split HorizonsРоутер 1 (R1) первоначально объявляет, что у него есть какой-то маршрут до Сети А. Роутеру 2 (R2) нет оснований включать этот маршрут в свою корректировку, отправляемую в R1, т.к. R1 ближе к Сети А. В правиле о расщепленных горизонтах говорится, что R2 должен исключить этот маршрут независимо от того, какие корректировки он отправляет в R1.
Правило о расщепленных горизонтах помогает предотвращать зацикливание
маршрутов. Например, рассмотрим случай, когда интерфейс R1 с Сетью А
отказывает. Без расщепленных горизонтов R2 продолжал бы информировать
R1, что он может попасть в Сеть А (через R1!). Если R1 не располагает
достаточным интеллектом, он действительно может выбрать маршрут,
предлагаемый R2, в качестве альтернативы своему отказавшему прямому
соединению, что приводит к образованию маршрутной петли. И хотя
удерживание изменений должно помешать этому, в
В то время как расщепленные горизонты должны препятствовать
зацикливанию маршрутов между соседними роутерами, корректировки отмены
маршрута предназначены для борьбы с более крупными маршрутными петлями.
Увеличение значений показателей маршрутизации обычно указывает на
появление маршрутных петель. В этом случае посылаются корректировки
отмены, чтобы удалить этот маршрут и перевести его в состояние
удерживания. В реализации
Открытый протокол, базирующийся на алгоритме поиска наикратчайшего пути
(Open Shortest Path First - OSPF) является протоколом маршрутизации,
разработанным для сетей IP рабочей группой Internet Engineering Task
Force (IETF), занимающейся разработкой протоколов для внутрисистемных
роутеров ( interior gateway protocol - IGP ). Рабочая группа была
образована в 1988 г. для разработки протокола
ОSPF явился результатом научных исследований по нескольким направлениям, включающим:
(Информация о IS-IS дается в пункте "Maршрутизация OSI").
Как видно из его названия, OSPF имеет две основных характеристики.
Первая из них-это то, что протокол является открытым, т.е. его
спецификация является общественным достоянием. Спецификация OSPF
опубликована в форме Запроса для Комментария (RFC) 1247. Второй его
главной характеристикой является то, что он базируется на алгоритме
OSPF является протоколом маршрутизации с объявлением состояния о канале
( link-state ). Это значит, что он требует отправки объявлений о
состоянии канала ( link-state advertisement - LSA ) во все роутеры,
которые находятся в пределах одной и тойже иерархической области. В
oбъявления
Являясь алгоритмом с объявлением состояния канала, OSPF отличается от
RIP и
В отличие от RIP, OSPF может работать в пределах некоторой иерархической системы. Самым крупным объектом в этой иерархии является автономная система ( Autonomous System - AS ) AS является набором сетей, которые находятся под единым управлением и совместно используют общую стратегию маршрутизации. OSPF является протоколом маршрутизации внутри AS, хотя он и способен принимать маршруты из других AS и отправлять маршруты в другие AS.
Любая AS может быть разделена на ряд областей ( area ). Область - это группа смежных сетей и подключенных к ним хостов. Роутеры, имеющие несколько интерфейсов, могут участвовать в нескольких областях. Такие роутеры, которые называются роутерами границы областей ( area border routers ), поддерживают отдельные топологические базы данных для каждой области.
Топологическая база ( topological database ) данных фактически
представляет собой общую картину сети по отношению к роутерам.
Топологическая база данных содержит набор
Термин "домен" ( domain ) используется для описания части сети, в которой все роутеры имеют идентичную топологическую базу данных. Термин "домен" часто используется вместо AS.
Топология области является невидимой для объектов, находящихся вне этой области. Путем хранения топологий областей отдельно, OSPF добивается меньшего трафика маршрутизации, чем трафик для случая, когда AS не разделена на области.
Разделение на области приводит к образованию двух различных типов маршрутизации OSPF, которые зависят от того, находятся ли источник и пункт назначения в одной и той же или разных областях. Маршрутизация внутри области имеет место в том случае, когда источник и пункт назначения находятся в одной области; маршрутизация между областями - когда они находятся в разных областях.
Стержневая часть OSPF ( backbone ) отвечает за распределение маршрутной информации между областями. Она включает в себя все роутеры границы области, сети, которые не принадлежат полностью какой-либо из областей, и подключенные к ним роутеры. На Рис. 5.6 представлен пример объединенной сети с несколькими областями.
(рис 5.6) Hierarchical OSPF InternetworkНа этом рисунке роутеры 4, 5, 6, 10, 11 и 12 образуют стержень. Если хост Н1 Области 3 захочет отправить пакет хосту Н2 Области 2, то пакет отправляется в роутер 13, который продвигает его в роутер 12, который в свою очередь отправляет его в роутер 11. Роутер 11 продвигает пакет вдоль стержня к роутеру 10 границы области, который отправляет пакет через два внутренних роутера этой области (роутеры 9 и 7) до тех пор, пока он не будет продвинут к хосту Н2.
Сам стержень представляет собой одну из областей OSPF, поэтому все стержневые роутеры используют те же процедуры и алгоритмы поддержания маршрутной информации в пределах стержневой области, которые используются любым другим роутером. Топология стержневой части невидима для всех внутренних роутеров точно также, как топологии отдельных областей невидимы для стержневой части.
Область может быть определена таким образом, что стержневая часть не будет смежной с ней. В этом случае связность стержневой части должна быть восстановлена через виртуальные соединения. Виртуальные соединения формируются между любыми роутерами стержневой области, которые совместно используют какую-либо связь с любой из нестержневых областей; они функционируют так, как если бы они были непосредственными связями.
Граничные роутеры AS, использующие OSPF, узнают о внешних роутерах
через протоколы внешних роутеров (EGPs), таких, как Exterior Gateway
Protocol (EGP) или Border Gateway Protocol (BGP), или через информацию
о конфигурации (информация об этих протоколах дается соответственно в
пунктах "
После получения подтверждения о работоспособности своих интерфейсов роутер использует приветственный протокол ( hello protocol ) OSPF, чтобы приобрести соседей ( neighbor ). Соседи - это роутеры с интерфейсами с общей сетью. Описываемый роутер отправляет своим соседям приветственные пакеты и получает от них такие же пакеты. Помимо оказания помощи в приобретении соседей, приветственные пакеты также действуют как подтверждение дееспособности, позволяя другим роутерам узнавать о том, что другие роутеры все еще функционируют.
В сетях с множественным доступом ( multi-access networks ) (сетях,
поддержиающих более одного роутера), протокол Hello выбирает
назначенный роутер ( designated router ) и дублирующий назначенный
роутер. Назначеный роутер, помимо других функций, отвечает за генерацию
Если базы данных о состоянии канала двух роутеров являются синхронными, то говорят, что эти роутеры смежные ( adjacent ). В сетях с множественным доступом назначенные роутеры определяют, какие роутеры должны стать смежными. Топологические базы данных синхронизируются между парами смежных роутеров. Смежности управляют распределением пакетов протокола маршрутизации. Эти пакеты отправляются и принимаются только на смежности.
Каждый роутер периодически отправляет какое-нибудь
Все пакеты OSPF начинаются с 24-байтового заголовка, как показано на Рис. 5.7.
(рис 5.7) Формат пакета OSPF.Первое поле в заголовке OSPF - это номер версии OSPF ( version number ). Номер версии обозначает конкретную используемую реализацию OSPF.
За номером версии идет поле типа ( type ). Существует 5 типов пакета OSPF:
Отправляется через регулярные интервалы времени для установления и поддержания соседских взаимоотношений.
Описание базы данных. Описывает содержимое базы данных; обмен этими пакетами производится при инициализации смежности.
Запрос о состоянии канала. Запрашивает части топологической базы данных соседа. Обмен этими пакетами производится после того, как какой-нибудь роутер обнаруживает, (путем проверки пакетов описания базы данных), что часть его топологической базы данных устарела.
Корректировка состояния канала. Отвечает на пакеты запроса о состоянии
канала. Эти пакеты также используются для регулярного распределения
Подтверждение состояния канала. Подтверждает пакеты корректировки состояния канала. Пакеты корректировки состояния канала должны быть четко подтверждены, что является гарантией надежности процесса лавинной адресации пакетов корректировки состояния канала через какую-нибудь область.
Каждое
объявления о каналах роутера. Описывают собранные данные о состоянии каналов роутера, связывающих его с конкретной областью. Любой роутер отправляет RLA для каждой области, к которой он принадлежит. RLA направляются лавинной адресацией через всю область, но они не отправляются за ее пределы.
объявления о сетевых каналах. Отправляются назначенными роутерами. Они описывают все роутеры, которые подключены к сети с множественным доступом, и отправляются лавинной адресацией через область, содержащую данную сеть с множественным доступом.
Суммарные объявления о каналах. Суммирует маршруты к пунктам назначения, находящимся вне какой-либо области, но в пределах данной AS. Они генерируются роутерами границы области, и отправляются лавинной адресацией через данную область. В стержневую область посылаются объявления только о внутриобластных роутерах. В других областях рекламируются как внутриобластные, так и межобластные маршруты.
объявления о внешних каналах AS. Описывают какой-либо маршрут к одному из пунктов назначения, который является внешним для данного AS. объявления о внешних каналах AS вырабатываются граничными роутерами AS. Этот тип объявлений является единственным типом объявлений, которые продвигаются во всех направлениях данной AS; все другие объявления продвигаются только в пределах конкретных областей.
За полем типа заголовка пакета OSPF идет поле длины пакета ( packet length ). Это поле обеспечивает длину пакета вместе с заголовком OSPF в байтах.
Поле идентификатора роутера ( router ID ) идентифицирует источник пакета.
Поле идентификатора области ( area ID ) идентифицирует область, к которой принадлежит данный пакет. Все пакеты OSPF связаны с одной отдельной областью.
Стандартное поле контрольной суммы IP ( checksum ) проверяет содержимое всего пакета для выявления потенциальных повреждений, имевших место при транзите.
За полем контрольной суммы идет поле типа удостоверения ( authentication type ). Примером типа удостоверения является "простой пароль". Все обмены протокола OSPF проводятся с установлением достоверности. Тип удостоверения устанавливается по принципу "отдельный для каждой области".
За полем типа удостоверения идет поле удостоверения ( authentication ). Это поле длиной 64 бита и содержит информацию удостоверения.
В числе дополнительных характеристик 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 может быть разбита на несколько подсетей разной величины. Это обеспечивает администраторам сетей дополнительную гибкость при выборе конфигурации сети.
Протокол внешних роутеров (
Являясь первым протоколом внешних роутеров, который получил широкое
признание в Internet,
(рис 5.8) EGP and the ARPANETНесмотря на то, что
Пакет EGPпредставлен на Рис. 5.9.
(рис 5.9) EGP Packet FormatПервым полем в заголовке пакета
Следующим полем является поле типа ( type ), которое обозначает тип
сообщения.
| Message | Function |
|---|---|
| Neighbor |
Establishes/de-establishes neighbors |
| Neighbor reachability | Determines if neighbors are alive |
| Determines reachability of a particular network | |
| Provides |
|
| Error | Indicates |
За полем типа следует поле кода ( code ). Это поле определяет различие между подтипами сообщений.
Следующее поле - поле состояния ( status ), которое содержит информацию о состоянии, зависящую от сообщения. В число кодов состояния входят коды недостатка ресурсов ( insufficient resources ), неисправных параметров ( parameter problem ), нарушений протокола ( protocol violation ), и другие.
За полем состояния идет поле контрольной суммы ( checksum ). Контрольная сумма используется для обнаружения возможных проблем, которые могли появиться в пакете в результате транспортировки.
За полем контрольной суммы идет поле номера автономной системы ( autonomous system number ). Оно обозначает AS, к которой принадлежит роутер-отправитель.
Последним полем заголовка пакета
За заголовком
Сообщение "приобретение соседа включает в себя интервал приветствия ( hello interval ) и интервал опроса ( poll interval ). Поле интервала приветствия определяет период интервала проверки работоспособности соседей. Поле интервала опроса определяет частоту корректировки маршрутизации.
Сообщения о досягаемости соседа не имеют отдельных полей в числе полей,
идущих за заголовком
Чтобы обеспечить правильную маршрутизацию между AS, ЕGP должен знать об
относительном местоположении отдаленных хостов. Сообщение опроса
позволяет роутерам
Сообщения о корректировке маршрутизации дают роутерам
В пределах одного блока роутера
ЕGP не расшифровывает показатели расстояния, содержащиеся в сообщениях
о корректировке маршрутов.
Сообщения о неисправностях указывают на различные сбойные ситуации. В
дополнение к общему заголовку
Протоколы внешних роутеров предназначены для маршрутизации между
доменами маршрутизации. В терминологии Internet (международной сети,
объединяющей университеты, правительственные учреждения,
научно-исследовательские организации и частные коммерческие концерны)
доменом маршрутизации называется автономная система (AS). Первым
протоколом внешних роутеров, получившим широкое признание в Internet,
был протокол
Протокол Граничных роутеров ( Border Gateway Protocol - BGP ) является
попыткой решить самую серьезную проблему
Хотя BGP разработан как протокол маршрутизации между AS, он может использоваться для маршрутизации как в пределах, так и между AS. Два соседа BGP, сообщающихся из различных AS, должны находиться в одной и той же физической сети. Роутеры BGP, находящиеся в пределах одной и той же AS, сообщаются друг с другом, чтобы обеспечить согласующееся представление о данной AS и определить, какой из роутеров BGP данной AS будет служить в качестве точки соединения при передаче сообщений в определенные внешние AS и при их приеме.
Некоторые AS являются просто каналами для прохождения через них сетевого трафика. Другими словами, некоторые AS переносят трафик, источник которого не находится в их пределах и который не предназначен для них. BGP должен взаимодействовать с любыми протоколами маршрутизации внутри AS, которые существуют в пределах этих проходных AS.
Сообщения о корректировках BGP состоят из пар "сетевой номер/тракт AS". Тракт AS содержит последовательность из AS, через которые может быть достигнута указанная сеть. Эти сообщения о корректировке отправляются с помощью механизма транспортировки TCP для обеспечения надежной доставки.
Обмен исходной информацией между двумя роутерами является содержанием всей маршрутной таблицы BGP. С изменением маршрутной таблицы отправляются инкрементные корректировки. В отличие от некоторых других протоколов маршрутизации BGP не требует периодического обновления всей маршрутной таблицы. Вместо этого роутеры BGP хранят новейшую версию маршрутной таблицы каждого равноправного члена. Хотя BGP поддерживает маршрутную таблицу всех возможных трактов к какой-нибудь конкретной сети, в своих сообщениях о корректировке он объявляет только об основных (оптимальных) маршрутах.
Показатель BGP представляет собой произвольное число единиц, характеризующее степень предпочтения какого-нибудь конкретного маршрута. Эти показатели обычно устанавливаются администратором сети с помощью конфигурационных файлов. Степень предпочтения может базироваться на любом числе критериев, включая число AS (тракты с меньшим числом AS как правило лучше), тип канала (стабильность, быстродействие и надежность канала) и другие факторы.
(рис 5.10) BGP Packet FormatПакеты BGP имеют общий 19-байтовый заголовок, состоящий их трех полей.
Поле маркера ( marker ) имеет длину 16 байтов и содержит величину, которую получатель сообщения может предсказывать. Это поле используется для установки подлинности.
Поле длины ( length ) содержит полную длину сообщения в байтах.
Поле типа ( type ) определяет тип сообщения.
RFC 1163 определяет 4 типа сообщений:
После того, как соединение протокола транспортного уровня организовано, первым сообщением, отправляемым каждой стороной, является открывающее сообщение. Если открывающее сообщение приемлемо для получателя, то отправителю отсылается сообщение keepalive, подтверждающее получение открывающего сообщения. После успешного подтверждения принятия открывающего сообщения может быть произведен обмен корректировками, сообщениями keepalive и уведомлениями.
В дополнение к обычному заголовку пакета BGP в открывающих сообщениях выделяют несколько полей. Поле версии ( version ) обеспечивает номер версии BGP и дает возможность получателю проверять, совпадает ли его версия с версией отправителя. Поле автономной системы ( autonomous system ) обеспечивает номер AS отправителя. Поле времени удерживания ( hold time ) указывает максимальное число секунд, которые могут пройти без получения какого-либо сообщения от передающего устройства, прежде чем считать его отказавшим. Поле кода удостоверения ( authentication code ) указывает на используемый код удостоверения (если он имеется). Поле данных удостоверения ( autentication data ) содержит фактические данные удостоверения (при их наличии).
Сообщения о корректировках BGP обеспечивают корректировки маршрутизации для других систем BGP. Информация этих сообщений используется для построения графика, описывающего взаимоотношения между различными AS. В дополнение к обычному заголовку BGP сообщения о корректировках имеют несколько дополнительных полей. Эти поля обеспечивают маршрутную информацию путем перечисления атрибутов трактов, соответствующих каждой сети. В настоящее время BGP определяет 5 атрибутов:
Источник. Может иметь одно из трех значений: IGP, EGP и incomplete
(незавершенный). Атрибут
Путь AS. Обеспечивает фактический перечень AS на пути к пункту назначения.
Следующая пересылка. Обеспечивает адрес IP роутера, который должен быть использован в качестве следующей пересылки к сетям, перечисленным в сообщении о корректировке.
Недосягаемый. Указывает (при его наличии), что какой-нибудь маршрут больше не является досягаемым.
Показатель сообщения между AS. Обеспечивает для какого-нибудь роутера BGP возможность рекламировать свои затраты на маршруты к пунктам назначения, находящимся в пределах его AS. Эта информация может быть использована роутерами, которые являются внешними по отношению к AS рекламодателя, для выбора оптимального маршрута к конкретному пункту назначения, находящемуся в пределах данной AS.
Сообщения keepalive не содержат каких-либо дополнительных полей помимо тех, которые содержатся в заголовке BGP. Эти сообщения отправляются довольно часто для того, чтобы препятствовать истечению периода времени удерживания таймера.
Уведомления отправляются в том случае, если была обнаружена сбойная ситуация, и один роутер хочет сообщить другому, почему он закрывает соединение между ними. Помимо обычного заголовка BGP уведомления содержат поле кода ошибки ( error code ), поле подкода ошибки ( error subcode ) и данные ошибки ( error data ). Поле кода ошибки указывает тип ошибки, который может быть одним из перечисленных ниже:
Ошибка в заголовке сообщения. Указывает на проблему в заголовке сообщения, такую, как неприемлемая длина сообщения, неприемлемое значение поля маркера или неприемлемый тип сообщения.
Ошибка в открывающем сообщении. Указывает на наличие проблемы в открывающем сообщении, такой, как необеспечиваемый номер версии, неприемлемый номер AS или адрес IP и необеспечиваемый код удостоверения.
Ошибка в сообщении о корректировке. Указывает на наличие проблемы в сообщении о корректировке. Примерами таких проблем могут быть неправильно сформированный перечень атрибутов, ошибка в перечне атрибутов и недействительный атрибут следующей пересылки.
Время удерживания истекло. Указывает на истечение периода времени удерживания, после чего узел BGP будет объявлен недействующим.
При содействии Международной Организации по Стандартизации (ISO) уже разработаны или разрабатываются в настоящее время несколько протоколов маршрутизации. ISO ссылается на Протокол Обмена Внутридоменной Маршрутизации Промежуточных Систем ( Intermediate System to Intermediate System Intra-Domain Routing Exchange Protocol (IS-IS) ) как на ISO 10589. Двигательной силой стандартизации ISO документа IS-IS был комитет Х.3S3.3 Американского Национального Института Стандартов (ANSI), занимающийся сетевым и транспортным уровнями. В числе других протоколов ISO, связанных с маршрутизацией, протоколы ISO 9542 ( End System to Intermediate System, или ES-IS - Конечная система-Промежуточная Система) и ISO 10747 (IS-IS Inter-Domain Routing Protocol, или IDRP - Протокол междоменной маршрутизации промежуточных систем). Об этих протоколах будет вкратце упомянуто в данной главе, однако oсновное внимание уделено внутридоменной версии IS-IS.
IS-IS базируется на работе, которая была впервые выполнена Digital
Equipment Corporation при разработке Phase V
Объединенные сети OSI используют уникальную терминологию. Термин "конечная система" ( end system - ES ) относится к любому узлу сети, который не занимается маршрутизацией; термин "промежуточная система" ( intermediate system-IS ) относится к роутеру. На этих терминах базируются протоколы OSI ES-IS (который позволяет ES и IS находить друг друга) и IS-IS (который обеспечивает маршрутизацию между IS). Ниже дается определение некоторых других важных терминов объединенных сетей OSI:
Область. Группа смежных сетей и подключенных к ним хостов, которые определяются как область администратором сети или другим аналогичным лицом.
Домен. Набор соединенных областей. Домены маршрутизации обеспечивают полную связность со всеми конечными системами, находящимися в их пределах.
Маршрутизация в пределах области Уровня 1.
Maршрутизация между областями Уровня 1.
На Рис. 5.11 "Иерархия объединенных сетей OSI" показана взаимосвязь между этими терминами.
(рис 5.11) Hierarchies in OSI InternetworksС чисто технологической точки зрения IS-IS почти аналогичен протоколу маршрутизации OSPF (смотри пункт "OSPF"). Оба протокола являются протоколами с указанием состояния канала. Оба они обеспечивают различные характеристики, которые не обеспечивает RIP, в том числе иерархии маршрутизации ( routing hierachies ), дробление путей ( path splitting ), обеспечение типа услуги ( type-of-service - TOS ), удостоверение ( authentication ), поддержка нескольких протоколов сетевого уровня и поддержка (совместно с протоколом Integrated IS-IS) масок подсети переменной длины.
ES-IS в большей мере является протоколом обнаружения, чем протоколом маршрутизации. Через ES-IS системы ES и IS узнают друг о друге. Этот процесс известен как конфигурация ( configuration ). Т.к. конфигурация должна иметь место прежде, чем может начаться маршрутизация между ES, протокол ES-IS рассматривается в первую очередь.
ES-IS различает три разных типа подсетей:
Двухточечные подсети. Обеспечивают непосредственное соединение между двумя системами. Большинство последовательных каналов глобальной сети являются двухточечными сетями.
Широковещательные подсети. Направляют отдельное
Подсети с общей топологией. Поддерживают произвольное число систем. Однако в отличие от широковещательных подсетей, величина затрат на передачу по какому-нибудь маршруту n непосредственно связана с размерами данной подсети в подсети с общей топологией. Примером подсети с общей топологией является Х.25 (смотри Главу 3).
Информация конфигурации передается через определенные интервалы времени
с помощью сообщений двух типов.
При возможности ES-IS пытается отправить информацию конфигурации
одновременно в несколько систем. В широковещательных подсетях
ES-IS переносит как адреса сетевого уровня, так и адреса подсетей.
Адреса сетевого уровня OSI идентифицируют либо точку доступа к услугам
сети (
На Рис. 5.12 представлены
(рис 5.12) ESH and ISH Packet Formats
IS-IS является протоколом маршрутизации с указанием состояния канала. В этой роли он передает по сети лавинной адресацией информацию о состоянии канала для построения полной, последовательной картины топологии сети.
Для упрощения схемы и работы роутера IS-IS различает IS уровней 1 и 2. IS уровня 1 могут сообщаться с другими IS уровня 1, находящимися в той же области. IS уровня 2 могут сообщаться с IS других областей. Т.е. IS уровня 1 формируют области уровня 1; IS уровня 2 осуществляют маршрутизацию между областями уровня 1.
IS уровня 2 формируют стержень внутридоменной маршрутизации. Другими словами, IS уровня 2 могут попасть в другие IS уровня 2 путем пересечения только IS уровня 2. Наличие такого стержня упрощает схему, т.к. в этом случае IS уровня 1 нужно уметь только попадать в ближайший IS уровня 2. Протокол стержневой маршрутизации может также вносить изменения, не оказывая влияния на протокол внутриобластной маршрутизации.
Маршрутизация OSI выполняется следующим образом. Каждая ES принадлежит
конкретной области. ES обнаруживают ближайшую IS путем прослушивания
пакетов
Каждая IS генерирует корректировку, определяющую ES и IS, с которыми
она соединена, а также связанные с ней показатели. Эта корректировка
отправляется во все соседние IS, которые продвигают ее своим соседям, и
т.д. (лавинная адресация).
IS-IS использует один обязательный, устанавливаемый по умолчанию показатель с максимальным значением пути 1024. Этот показатель является произвольным и обычно назначается администратором сети. Любой отдельный канал может иметь максимальное значение 64. Длина путей вычисляется путем суммирования значений каналов. Максимальные значения каналов установлены на этих уровнях для обеспечения степени детализации, чтобы поддерживать различные типы каналов, одновременно обеспечивая достаточную эффективность алгоритма поиска наикратчайшего пути, используемого для расчета маршрута.
IS-IS также определяет три дополнительных показателя (затраты) в качестве опций для тех администраторов, которые испытывают в них необходимость. Затраты задержки ( delay ) отражают величину задержки в канале. Затраты на издержки ( expense ) отражают коммуникационные затраты, связанные с использованием данного канала. Затраты на ошибки ( error ) отражают коэффициент ошибок данного канала.
IS-IS обеспечивает соответствие этих четырех показателей опции качества
обслуживания ( quality-of-service - QOS ) в заголовке пакета
IS-IS использует три базовых
Каждый из этих трех пакетов IS-IS имеет сложный формат с тремя различными логическими частями. Первой частью является 8-байтовый фиксированный заголовок, общий для всех трех типов пакетов. Второй частью является специфичная для данного типа пакета часть с фиксированным форматом. Третья логическая часть также является специфичной для типа пакета, но имеет переменную длину. Логический формат пакетов IS-IS представлен на Рис. 5.13.
(рис 5.13) IS-IS Logical Packet FormatКаждый из трех типов пакета имеет общий заголовок, как это показано на Рис. 5.14.
(рис 5.14) Is-Is Common Header FormatПервым полем в общем заголовке IS-IS является идентификатор протокола ( protocol identifier ), который идентифицирует протокол IS-IS. Это поле содержит константу (131).
Следующим полем общего заголовка является поле длины заголовка ( header
length ). Это поле содержит фиксированную длину заголовка. Эта длина
всегда равняется 8 байтам, но она включена таким образом, чтобы пакеты
IS-IS незначительно отличались от пакетов
За полем длины следует поле версии ( version ), которое равняется единице в текущей спецификации IS-IS.
За полем версии идет поле длины ID, которое определяет размеры части ID
(идентификатора)
Следующим полем является поле типа пакета ( packet type ), которое
определяет тип пакета IS-IS (hello,
За полем типа пакета повторно следует поле версии.
За вторым полем версии идет поле резерва (reserved), которое равно нулю и которое игнорируется получателем.
Последним полем общего заголовка является поле максимума адресов области. Это поле определяет число адресов, разрешeнных для этой области.
За общим заголовком идет дополнительная фиксированная часть, разная для каждого типа пакета, за которой следует переменная часть.
Интегрированный IS-IS является одной из версий IS-IS, которая
использует один
Пакеты IS-IS дополнены несколькими полями, что позволяет IS-IS поддерживать дополнительные сетевые уровни. Эти поля сообщают роутерам следующую информацию:
Интегрированный IS-IS представляет один из двух способов поддержки в роутере нескольких протоколов сетевого уровня; другим способом является применение метода "корабли ночью" ( ships in the night ). Этот метод пропагандирует использование совершенно отдельного и отличного от других протокола маршрутизации для каждого сетевого протокола сети так, чтобы несколько протоколов маршрутизации фактически существовали независимо друг от друга (с разными типами маршрутной информации, проходящей подобно кораблям ночью). Возможность направлять по определенным маршрутам несколько протоколов сетевого уровня с помощью таблиц, рассчитанных одним протоколом маршрутизации, экономит ресурсы роутеров.
IDRP является протоколом OSI, предназначенным для перемещения
информации между доменами маршрутизации. Он предназначен для бесшовной
работы с
IDRP вводит несколько новых терминов, в том числе следующие:
Граничная промежуточная система. Это IS, участвующая в междоменной маршрутизации. Для этого она использует IDRP.
Домен маршрутизации. Это группа ES и IS, работающих согласно общим административным правилам, включающим коллективное пользование общим маршрутным планом.
Идентификатор домена маршрутизации. Уникальный идентификатор домена маршрутизации (RD).
Информационная база маршрутизации. Это база данных маршрутизации, используемая IDRP. Каждая BIS строит свою RIB из информации, полученной от систем данного RD и из других BIS. Любая RIB содержит набор маршрутов, выбранных для использования какой-нибудь конкретной BIS.
Конфедерация. Это группа доменов маршрутизации (RD). RD, не принадлежащие к данной конфедерации, воспринимают ее как один RD. Топология конфедерации невидима для RD, не принадлещащих к ней. Конфедерации помогают сократить сетевой трафик, выступая в объединенной сети в качестве непреодолимой преграды; они могут быть вложены одна в другую.
Маршрут IDRP представляет собой последовательность RDI. Некоторые из этих RDI могут быть конфедерациями. При конфигурации каждой BIS она знает о RD и конфедерациях, к которым она принадлежит, а также узнает о других BIS, RD и конфедерациях из информации, которой она обменивается с каждым соседом. Как и для маршрутизации с вектором расстояния, маршруты в какой-нибудь конкретный пункт назначения накапливаются вне данного пункта назначения. Только маршруты, которые удовлетворяют требованиям местной политики какой-нибудь BIS и были выбраны для использования, будут переданы в другие BIS. Пересчет маршрутов носит частичный характер и имеет место при наличии одного из следующих трех событий: получена инкрементная корректировка маршрутизации с новыми маршрутами, отказывает какая-нибудь соседняя BIS или появляется новая соседняя BIS.
В число характеристик IDRP входят следующие:
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.