Сайт о телевидении

Сайт о телевидении

» » Динамическая маршрутизация. Протокол RIP. Протокол OSPF. Концепции протоколов маршрутизации в Internet

Динамическая маршрутизация. Протокол RIP. Протокол OSPF. Концепции протоколов маршрутизации в Internet

Задача маршрутизации решается на основе таблицы маршрутизации, размещаемой на всех маршрутизаторах и всех конечных узлах сети. Основная работа по созданию этих таблиц выполняется автоматически. Для этого способа построения таблиц маршрутизаторы обмениваются информацией о топологии составной сети в соответствии со специальным служебным протоколом (протоклы маршрутизации или маршрутизирующие протоколы). Пример – RIP (Routing Information Protocol , протокол информации о доступных маршрутах, работающих в соответствии с алгоритмом дистанционно-векторного типа) и OSPF (Open Shortest Path First, приоритет выбора кротчайшего пути).

Указанные протоколы маршрутизации следует отличать от собственно протокола сетевого уровня модели OSI для стека TCP/IP – IP. Протокол IP, выполняя функции сетевого уровня модели OSI, принимает участие в доставке пакетов адресату через разнородную составную сеть. Если протоколы маршрутизации RIP и OSPF собирают и передают по сети сугубо служебную информацию, то IP передает пользовательские данные, как протоколы канального уровня. Протоколы маршрутизации используют сетевой уровень протокола IP как транспортное средство.

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

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

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

1. алгоритмы фиксированной (статической) маршрутизации;

2. алгоритмы простой маршрутизации;

3. алгоритмы адаптивной (динамической) маршрутизации.

В алгоритмах фиксированной маршрутизации все записи в таблице маршрутизации являются статическими. Администратор сети сам решает на какие маршрутизаторы требуется передавать пакеты с теми или иными адресами пунктов назначения и при этом вручную с помощью утилиты route (для UNIX-подобных сетевых ОС и Windows) заносит соответствующие записи в таблицу маршрутизации. Таблица как правило создается в процессе загрузки и остается без изменений до ее ручной корректировки (причинами такой корректировки могут быть, например, отказ одного маршрутизатора сети или когда его функции необходимо возложить на другой маршрутизатор). Различают одномаршрутные (для любого адреса сети назначения задается всегда один путь) и многомаршрутные таблицы (может быть определено несколько путей для каждого адресата). Для крайнего случая должно быть задано правило для выбора одного из указанных маршрутов. Чаще всего – один путь основной, остальные – резервные. Рассматриваемый алгоритм маршрутизации приемлем в небольших сетях с простой топологией (в силу большого количества рутинных операций для сетевого администратора). В алгоритмах простой маршрутизации таблица маршрутизации либо совсем не используется либо строится без участия протоколов маршрутизации. Выделяют 3 типа простой маршрутизации:

1. Случайная маршрутизация (прибывший пакет посылается в первом попавшим в случайном направлении кроме исходного);

2. Лавинная маршрутизация (пакеты широковещательно посылаются по всем возможным направлениям кроме исходного (здесь просматривается аналогия с мостами и коммутаторами кадров в режиме самообучения мостов и коммутаторов при отсутствии в таблице MAC-адреса узла назначения));

3. Маршрутизация по предыдущему опыту (выбор маршрута осуществляется по таблице, но при этом таблица строится по принципу моста или коммутатора путем анализа адресных полей пакетов, появляющихся на входных портах);

На сегодняшний день самыми распространенными являются алгоритмы адаптивной (динамической) маршрутизации. Эти алгоритмы обеспечивают автоматическое обновление таблиц маршрутизации после изменения конфигурации составных сетей. Протоколы, которые построены на основе адаптивных алгоритмов позволяют всем маршрутизаторам собирать всю информацию о топологии связи в составной сети. Оперативно отрабатывать все изменения конфигурации этих связей. В таблицах маршрутизации при адаптивной маршрутизации указывается информация об интервале времени, в течении которого данный маршрут будет действительным, это время называют временем жизни маршрута (TTL , Time To Live). Все адаптивные протоколы маршрутизации должны отвечать следующим требованиям:

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

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

3. Адаптивные алгоритмы должны обладать свойством сходимости

4. Всегда приводить к однозначному результату за приемлемое время

Все адаптивные протоколы построенные на адаптивных алгоритмах обмена маршрутной информацией делятся на 2 группы: дистанционно-векторные алгоритмы (Distance Vector Algorithms, DVA) и алгоритмы состояния связей (Link State Algorithms, LSA).

В алгоритмах DVA каждый маршрутизатор периодически и широковещательно рассылает по составной сети вектор, компонентами которого являются расстояния от данного маршрутизатора до всех известных ему сетей. Здесь под расстоянием понимается число хопов. При этом возможна и другая метрика: учитывается, на ряду с числом хопов, время, за которое пакет проходит между сетями. При получении векторов от соседа маршрутизатор наращивает расстояние до указанных в векторе сетей на расстояние до данного соседа. Получив вектор от соседнего маршрутизатора каждый маршрутизатор добавляет к нему информацию об известных ему других сетях, о которых он узнал непосредственно (т.е. подключены к его портам) или из аналогичных объявлений других маршрутизаторов, и далее рассылает значение вектора по составной сети. В конце концов каждый маршрутизатор узнает информацию обо всех имеющихся в составной сети сетях и о расстояниях через соседние маршрутизаторы. Алгоритмы DVA хорошо работают только в небольших составных сетях. Работа маршрутизатора в соответствии с DVA напоминает работу моста, поскольку точной топологической картины всей составной сети такой маршрутизатор не имеет. Наиболее распространенным протоколом из TCP/IP работа которого основана на DVA является протокол RIP, который работает совместно с протоколом IP, используя его как транспорт.

Алгоритм состояния связей (LSA) обеспечивает каждый маршрутизатор информацией, которая является достаточной для построения точного графа связей составной сети. При этом все маршрутизаторы работают на принципе одинаковых графов. Это делает процесс маршрутизации более устойчивым к изменению конфигурации. Вершинами графа являются как маршрутизаторы, так и объединяемые ими сети. Распространяемая по сети (составной сети) информация состоит из описания связей типов: маршрутизатор-маршрутизатор, маршрутизатор-сеть. Чтобы понять в каком состоянии находятся линии связи, подключенные к его портам, маршрутизатор периодически обменивается короткими пакетами («HELLO») со своими ближайшими соседями. Несомненно, что эти пакеты являясь служебным траффиком, засоряют составную сеть, но не в такой степени как RIP-пакеты, поскольку пакеты «HELLO» имеют куда меньший объем. Примером протокола маршрутизации из TCP/IP, работа которого основана на использовании алгоритма состояния связей (LSA) является протокол OSPF .

Конец работы -

Эта тема принадлежит разделу:

Типы компьютерных сетей

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

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ:

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Типы компьютерных сетей
Сеть – соединение между двумя или более компьютерами, позволяющее им разделять ресурсы. Здесь под ресурсами понимаются хранящиеся в компьютере файлы или подключенные к нему устройст

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

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

Сетевые протоколы физического и канального уровней OSI
Мир сетей обязан своим успехом развитию стандартов, а в частности тех стандартов, разработанных международным институтом по электричеству и технологии IEEE (Institute of Electrical

Стандарт IEEE 802.3 и строение сетей Ethernet
Стандарт IEEE 802.3 реализован в таком числе вариантов, что для их различия была введена система обозначений – название спецификаций стандарта состоит из 3 частей: 1. Число

Стандарт 10BASE5
………………………………. Узел сети (рабочая станция/сервер) подключается к толстому коаксиалу RJ-11/RJ-8 при помощи приемо-передатчика – трансивера. Трансивер устанавливается непосре

Стандарт 10Base2
Указанный стандарт использует в качестве передающей среды коаксиальный кабель с диаметром центрального медного провода 0,89мм и внешним диаметром 5мм (0,5дюйма – «тонкий» Ethernet).

Стандарт 10BaseT
Сети 10BaseT используют в качестве среды передачи две не экранированные витые пары. Unshielded Twisted Pair, UTP, много парный витой кабель на основе витой пары медный, в отличие от

Физический уровень технологии Token Ring
Стандарт Token Ring фирмы IBM предусматривает построение связей в сети с помощью концентраторов, называемых MAU (Multistation Access Unit), т.е. устройствами многостанционного доступа. В общ

Физический уровень технологии Fast Ethernet
Все отличия технологии Fast Ethernet от Ethernet сосредоточены на физическом уровне. Подуровни MAC и LLC модели OSI остались без изменений. Физический уровень технологии Fast Ethernet использует 4

Построение сегментов Fast Ethernet при использовании повторителей
В качестве устройства DTE (Data Terminal Equipment) может выступать любой источник кадров данных для сети: сетевая карта узла сети (устройства DTE), порт моста, пор

Технология 100VG-AnyLan
Кадры данных передаются одновременно по кабелям UTP Cat3, причем, в каждой паре 25 Мбит/с (в сумме 4х25 = 100 Мбит/с). В отличии от Fast Ethernet, в данных сетях нет коллизий

Высокоскоростная технология Gigabit Ethernet
Основная идея стандарта стоит в максимальном сохранении идеи классической технологии Ethernet при достижении скорости передачи 1 000 Мбит/с, поэтому в данной технологии сохранены вс

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

Отказоустойчивость технологии FDDI
Для реализации отказоустойчивости создаются 2 оптоволоконных кольца: первичное и вторичное. Если узел сети одновременно подключен к двум кольцам, то это называется двойным п

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

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

Уровень сетевого протокола
Сетевой протокол извлекает из пакета содержимое его заголовка (заголовок сетевого уровня) и анализирует содержимое его полей. Проверяется его контрольная сумма и если пакет пришел поврежденным, то

Уровень межсетевого взаимодействия
… С помощью спец пакетов протокол SCNP сообщает о невозможности доставки пакета, о превышении TTL или продолжительности сборки из пакетов. протокол SCNP использует IP в качестве транспорта

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

Прикладной уровень
Объединяет все службы, предоставляемые системой пользовательским приложениям. Прикладной уровень реализуется программными системами, построенными в архитектуре «клиент-сервер», базирующиеся на прот

Уровень сетевых интерфейсов
Идеологическим отличием архитектуры TCP/IP от многоуровневой организации других стеков является интерпретация функций самого нижнего уровня – уровня сетевых интерфейсов. Сеть TCP/IP должна иметь ср

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

Типы адресов стека TCP/IP
В стеке TCP/IP используют 3 типа адресов: · Локальные (аппаратные, физические), IP-адреса и символьные доменные имена В контексте TCP/IP под локальным понимается такой тип адреса,

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

Адресация с использованием масок
Часто сисадмины испытывают неудобство по причине недостатка выделенных им адресов сетей для того, чтобы структурировать сеть предприятия надлежащим образом, например, разместить все

Структуризация подсети с использованием масок одинаковой длины
Пусть для IP-сети класса «B» 129.44.0.0 сисадмин выбрал маску 255.255.192.0 . После представления IP-адреса сети в двоичном виде и наложении на адрес сети, число двоичных разрядов, интерпретируемых

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

Суть технологии CIDR
Каждому поставщику интернета должен назначаться непрерывный пул (диапазон) в пространстве IP-адресов. При таком подходе адреса сетей для каждого поставщика услуг имеют общую старшую

МОСКОВСКИЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ СВЯЗИ И ИНФОРМАТИКИ

Курсовая работа

по дисциплине «Локальные Вычислительные Сети»

на тему

«Внутренние протоколы маршрутизации RIP и OSPF »

Назначение

Протокол маршрутизации RIP (Routing Information Protocol) относится к алгоритмам класса «distance vector» (алгоритм Белмана-Форда). Этот алгоритм является одним из первых алгоритмов маршрутизации, которые были использованы в информационно – вычислительных сетях вообще и в сети Internet – в частности. Однако он до сих пор чрезвычайно распространен в вычислительных сетях. Помимо версии RIP для сетей TCP/IP, существует также версия RIP для сетей IPX/SPX компании Novell.

Этот протокол маршрутизации предназначен для сравнительно небольших и относительно однородных сетей. Протокол разработан в университете Калифорнии (Беркли), базируется на разработках фирмы Ксерокс и реализует те же принципы, что и программа маршрутизации routed, используемая в ОC UNIX (4BSD). Маршрут здесь характеризуется вектором расстояния до места назначения. Предполагается, что каждый маршрутизатор является отправной точкой нескольких маршрутов до сетей, с которыми он связан. С 1988 года RIP был повсеместно принят производителями персональных компьютеров для использования в их изделиях передачи данных по сети.

Решение, найденное по алгоритму Белмана-Форда, является не оптимальным, а близким к оптимальному.Преимуществом протокола RIP является его вычислительная простота и простота конфигурирования, а недостатками – увеличение трафика при периодической рассылке широковещательных пакетов и неоптимальность найденного маршрута.

В современных сетевых средах RIP – не самое лучшее решение для выбора в качестве протокола маршрутизации, так как его возможности уступают более современным протоколам, таким как EIGRP, OSPF. Присутствует ограничение на 15 хопов, которое не дает применять его в больших сетях.

RIP работает на основе UDP‑протокола и использует порт 520. На каждом хосте, использующем RIP, должно быть установлено программное обеспечение, обрабатывающее RIP‑пакеты. Настроить работу протокола на маршрутизаторе можно с помощью того же HyperTerminal с рабочей станции, имеющей на это право и доступ. Настройки производится с помощью команд в соответствии с документацией к маршрутизатору.

Пример корректной работы протокола

(на рисунке: маршрутизаторы 1-6, сегменты сетей A..F; приведена изначальная информация в маршрутизаторе 2 и информация в нем после двух итераций обмена маршрутными пакетами RIP; после определенного числа итераций маршрутизатор будет знать о расстояниях до всех сегментов, а также альтернативные маршруты)

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

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

Пример неустойчивой работы по протоколу (отслеживание изменений в топологии)

(на рисунке: маршрутизаторы M1..M3; при работоспособном состоянии в таблице маршрутов каждого маршрутизатора есть запись о сети 1 и о соответствующем расстоянии до нее; далее рассмотрим случай обрыва линии связи между сетью 1 и маршрутизатором M1).

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

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

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

Пример неустойчивой работы по протоколу (возникновение циклических маршрутов – процедура splithorizon).

В исходном состоянии все каналы передачи данных функционируют нормально и, поэтому, маршруты из узлов D и C к сети N лежат через маршрутизатор B и имеют метрику 2.

Предположим, что в некоторый момент времени канал, который связывает маршрутизаторы A и В, выходит из строя. Маршрутизатор B в этом случае перестает принимать update для сети N от маршрутизатора A и по истечении установленного интервала времени маршрутизатор B определяет сеть N в качестве недостижимой и исключает её из своих массивов update.

Однако из-за того, что эти массивы передаются в сети асинхронно вполне возможно, что вскоре после этого маршрутизатор C получит массивов update от маршрутизатора D, который пока ещё считает, что маршрут из B до сети N существует. Получив такую информацию, маршрутизатор C включит в свою таблицу маршрутизации новый маршрут до сети N – через маршрутизатор D с метрикой 3. После того, как истечет время существования исходного маршрута в маршрутизаторе D, эта ситуация повторится совершенно аналогичным образом.

В результате маршрутизатор D скорректирует свою таблицу маршрутизации и внесет в неё маршрут до сети N через шлюз C с метрикой 4. Подобная ситуация будет таким образом возобновляться снова и снова с периодом, который соответствует времени существования маршрута (3 T Update). Этот цикл, который называется «счет до бесконечности», будет продолжаться до тех пор, пока метрика циклического маршрута не достигнет значения 15, после чего он разорвется автоматически.

Правило split horizon (предотвращение возникновения циклических маршрутов)

Алгоритм split horizon является неотъемлемой частью протокола маршрутизации RIP и предназначен для предотвращения появления циклических маршрутов в сети. Для предотвращения возникновения подобных ситуаций достаточно использовать следующее правило:

Маршрутизатор не должен направлять update для маршрутов в адрес их источника.

За этим правилом закрепилось название split horizon – расщепленный горизонт. Маршрутизатор, используя данное правило, разделяет свои маршруты на столько групп, сколько у него есть активных интерфейсов. При использовании правила split horizon, обновления для маршрутов, которые были получены через некоторый интерфейс, не должны передаваться через этот же интерфейс.

Правило split horizon with poisoned reverse

Правило split horizon может быть использовано с незначительной модификацией. Правило split horizon with poisoned reverse «расщепленный горизонт с отравленным обратным путем» – разрешает передачу update для потенциально опасных, с точки зрения возникновения циклов, маршрутов. В данном случае для таких маршрутов устанавливается метрика, которая соответствует бесконечности – 15.

Пример неустойчивой работы по протоколу (процедура triggeredupdate – управляемые модификации)

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

На рисунке приведен пример возникновения подобной ситуации. В приведенной сети при выходе из строя канала, который связывает узел А с сетью N, маршрутизатор B может принять от маршрутизатора С несуществующий маршрут до сети N, который якобы проходит через узел C. К тому моменту, когда маршрутизатор C определит, что он не имеет собственного маршрута до сети N, маршрутизатор B уже успеет передать информацию о наличии у него маршрута до этой сети марщрутизатору D.

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

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

Пример неустойчивой работы по протоколу
(счетчик времени timeout – timer)

Возможно возникновение ситуации, когда периодическое обновление будет просто потеряно в сети из-за возникновения краткосрочной перегрузки или временной неработоспособности канала передачи данных. Для того чтобы в этой ситуации маршруты не были ошибочно удалены из таблицы маршрутизации, каждому маршруту ставится в соответствие специальный счетчик времени, который называется timeout – timer . В тот момент времени, когда данный маршрут включается в таблицу маршрутизации, или когда для него приходит очередное обновление значение счетчика timeout – timer устанавливается равным T timeout max. = 180 секунд и этот счетчик начинает обратный отсчет времени. В том случае, если счетчик timeout – timer какого либо маршрута достигнет значения 0, этот маршрут должен быть исключен из числа активных маршрутов.

Компьютер в сети TCP/IP может иметь адреса трех уровней (но не менее двух):

  • Локальный адрес компьютера. Для узлов, входящих в локальные сети – это МАС-адрес сетевого адаптера. Эти адреса назначаются производителями оборудования и являются уникальными адресами.
  • IP-адрес, состоящий из 4 байт, например, 109.26.17.100. Этот адрес используется на сетевом уровне. Он назначается администратором во время конфигурирования компьютеров и маршрутизаторов.
  • Символьный идентификатор-имя (DNS), например, www.сайт

Сетевые протоколы

Сетевой протокол - набор правил, позволяющий осуществлять обмен данными между составляющими сеть устройствами, например, между двумя сетевыми картами (рис. 1).

Рис. 1. Иллюстрация к понятию Сетевой протокол

Стэк- это набор разноуровневых протоколов, объединенных в группу.

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

  • Маршрутизируемый сетевой протокол IPv4. В протоколе этой версии каждому узлу сети ставится в соответствие IP-адрес длиной 32 бита (т.е. 4 октета или 4 байта).
  • IPv6 позволяет адресовать значительно большее количество узлов, чем IPv4. Протокол Интернета версии 6 использует 128-разрядные адреса, и может определить значительно больше адресов.

IP-адреса версии v6 записываются в следующем виде:X:X:X:X:X:X:X:X, где X является шестнадцатеричным числом, состоящим из 4-х знаков(16 бит), а каждое число имеет размер 4 бит. Каждое число располагается в диапазоне от 0 до F. Вот пример IP-адреса шестой версии: 1080:0:0:0:7:800:300C:427A. В подобной записи незначащие нули можно опускать, поэтому фрагмент адреса: 0800: записывается, как 800:.

IP-адреса принято записывать разбивкой всего адреса по октетам (8), каждый октет записывается в виде десятичного числа, числа разделяются точками. Например, адрес

10100000010100010000010110000011
записывается как

10100000.01010001.00000101.10000011 = 160.81.5.131

Рис. 2 Перевод адреса из двоичной системы в десятичную

IP-адрес хоста состоит из номера IP-сети, который занимает старшую область адреса, и номера хоста в этой сети, который занимает младшую часть.
160.81.5.131 – IP-адрес
160.81.5. – номер сети
131 – номер хоста

Базовые протоколы (IP, TCP, UDP)


TCP/IP – собирательное название для набора (стека) сетевых протоколов разных уровней, используемых в Интернет. Особенности TCP/IP:

  • Открытые стандарты протоколов, разрабатываемые независимо от программного и аппаратного обеспечения;
  • Независимость от физической среды передачи;
  • Система уникальной адресации;
  • Стандартизованные протоколы высокого уровня для распространенных пользовательских сервисов.

Рис. 3 Стек протоколов TCP/IP

Стек протоколов TCP/IP делится на 4 уровня:

  • Прикладной
  • Транспортный
  • Межсетевой
  • Физический и канальный.

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

Рис. 4 Пример инкапсуляции пакетов в стеке TCP/IP

Физический и канальный уровень.
Стек TCP/IP не подразумевает использования каких-либо определенных протоколов уровня доступа к среде передачи и физических сред передачи данных. От уровня доступа к среде передачи требуется наличие интерфейса с модулем IP, обеспечивающего передачу IP-пакетов. Также требуется обеспечить преобразование IP-адреса узла сети, на который передается IP-пакет, в MAC-адрес. Часто в качестве уровня доступа к среде передачи могут выступать целые протокольные стеки, тогда говорят об IP поверх ATM, IP поверх IPX, IP поверх X.25 и т.п.

Межсетевой уровень и протокол IP.

Основу этого уровня составляет IP-протокол.

IP (Internet Protocol) – интернет протокол.

Первый стандарт IPv4 определен в RFC-760 (DoD standard Internet Protocol J. Postel Jan-01-1980)

Последняя версия IPv4 – RFC-791 (Internet Protocol J. Postel Sep-01-1981).

Первый стандарт IPv6 определен в RFC-1883 (Internet Protocol, Version 6 (IPv6) Specification S. Deering, R. Hinden December 1995)

Последняя версия IPv6 – RFC-2460 (Internet Protocol, Version 6 (IPv6) Specification S. Deering, R. Hinden December 1998).

Основные задачи:

  • Адресация
  • Маршрутизация
  • Фрагментация датаграмм
  • Передача данных

Протокол IP доставляет блоки данных от одного IP-адреса к другому.

Программа, реализующая функции того или иного протокола, часто называется модулем, например, “IP-модуль”, “модуль TCP”.

Когда модуль IP получает IP-пакет с нижнего уровня, он проверяет IP-адрес назначения.

  • Если IP-пакет адресован данному компьютеру, то данные из него передаются на обработку модулю вышестоящего уровня (какому конкретно – указано в заголовке IP-пакета).
  • Если же адрес назначения IP-пакета – чужой, то модуль IP может принять два решения: первое – уничтожить IP-пакет, второе – отправить его дальше к месту назначения, определив маршрут следования – так поступают маршрутизаторы.

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

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

Рис. 5 Структура дейтограммы IP. Слова по 32 бита.

Версия – версия протокола IP (например, 4 или 6)

Длина заг. – длина заголовка IP-пакета.

Тип сервиса (TOS – type of service) – Тип сервиса ().

TOS играет важную роль в маршрутизации пакетов. Интернет не гарантирует за-прашиваемый TOS, но многие маршрутизаторы учитывают эти запросы при выборе маршрута (протоколы OSPF и IGRP).

Идентификатор дейтаграммы, флаги (3 бита) и указатель фрагмента – используются для распознавания пакетов, образовавшихся путем фрагментации исходного пакета.

Время жизни (TTL – time to live) – каждый маршрутизатор уменьшает его на 1, что бы пакеты не блуждали вечно.

Протокол – Идентификатор протокола верхнего уровня указывает, какому протоколу верхнего уровня принадлежит пакет (например: TCP, UDP).

Маршрутизация

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

Маршрутная информация, может быть:

  • Статической (маршрутные таблицы прописываются вручную)
  • Динамической (маршрутную информацию распространяют специальные протоколы)

Протоколы динамической маршрутизации:

  • RIP (Routing Information Protocol) – протокол передачи маршрутной информации, маршрутизаторы динамически создают маршрутные таблицы.
  • OSPF (Open Shortest Path First) – протокол “Открой кротчайший путь первым”, является внутренним протоколом маршрутизации.
  • IGP (Interior Gateway Protocols) – внутренние протоколы маршрутизации, распространяет маршрутную информацию внутри одной автономной системе.
  • EGP (Exterior Gateway Protocols) – внешние протоколы маршрутизации, распространяет маршрутную информацию между автономными системами.
  • BGP (Border Gateway Protocol) – протокол граничных маршрутизаторов.
    Протокол ICMP
  • ICMP (Internet Control Message Protocol) – расширение протокола IP, позволяет передавать сообщения об ошибке или проверочные сообщения.
    Другие служебные IP-протоколы
  • IGMP (Internet Group Management Protocol) – позволяет организовать многоадресную рассылку средствами IP.
  • RSVP (Resource Reservation Protocol) – протокол резервирования ресурсов.
    ARP (Address Resolution Protocol) – протокол преобразования IP-адреса и адреса канального уровня.

Транспортный уровень

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

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

На транспортном уровне работают два основных протокола: UDP и TCP.

Протокол надежной доставки сообщений TCP

TCP (Transfer Control Protocol) – протокол контроля передачи, протокол TCP применяется в тех случаях, когда требуется гарантированная доставка сообщений.

Первая и последняя версия TCP – RFC-793 (Transmission Control Protocol J. Postel Sep-01-1981).

Основные особенности:


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

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

Указатель срочности – указывает последний байт срочных данных, на которые надо немедленно реагировать.

URG – флаг срочности, включает поле “Указатель срочности”, если =0 то поле игнорируется.

ACK – флаг подтверждение, включает поле “Номер подтверждения, если =0 то поле игнорируется.

PSH – флаг требует выполнения операции push, модуль TCP должен срочно передать пакет программе.

RST – флаг прерывания соединения, используется для отказа в соединении

SYN – флаг синхронизация порядковых номеров, используется при установлении соединения.

FIN – флаг окончание передачи со стороны отправителя

Протокол UDP

UDP (Universal Datagram Protocol) – универсальный протокол передачи данных, более облегченный транспортный протокол, чем TCP.

Первая и последняя версия UDP – RFC-768 (User Datagram Protocol J. Postel Aug-28-1980).

Основные отличия от TCP:

  • Отсутствует соединение между модулями UDP.
  • Не разбивает сообщение для передачи
  • При потере пакета запрос для повторной передачи не посылается

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

Рис.7 Структура дейтограммы UDP. Слова по 32 бита.

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

Протокол реального времени RTP

RTP (Real Time Protocol) – транспортный протокол для приложений реального времени.

RTCP (Real Time Control Protocol) – транспортный протокол обратной связи для приложения RTP.

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

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

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

Современные протоколы маршрутизации делятся на две группы: протоколы типа «вектор-расстояние» и протоколы типа «состояние канала».

В протоколах типа «вектор-расстояние» каждый маршрутизатор рассылает список адресов доступных ему сетей («векторов»), с каждым из которых связано параметр «расстояния» (например, количество маршрутизаторов до этой сети, значение, основанное на производительности канала и т.п.). Основным представителем протоколов данной группы является протокол RIP (Routing Information Protocol, протокол маршрутной информации).

Протоколы типа «состояние канала» основаны на ином принципе. Маршрутизаторы обмениваются между собой топологической информацией о связях в сети: какие маршрутизаторы с какими сетями связаны. В результате каждый маршрутизатор имеет полное представление о структуре сети (причем это представление будет одинаковым для всех), на основе которого вычисляет собственную оптимальную таблицу маршрутизации. Протоколом этой группы является протокол OSPF (Open Shortest Path First, «открой кратчайший путь первым»).

Протокол RIP.

Протокол RIP (Routing Information Protocol, протокол маршрутной информации) является наиболее простым протоколом динамической маршрутизации. Он относится к протоколам типа «вектор-расстояние».

Под вектором протокол RIP определяет IP-адреса сетей, а расстояние измеряется в переходах («хопах», hope) – количестве маршрутизаторов, которое должен пройти пакет, чтобы достичь указанной сети. Следует отметить, что максимальное значение расстояния для протокола RIP равно 15, значение 16 трактуется особым образом «сеть недостижима». Это определило основной недостаток протокола – он оказывается неприменимым в больших сетях, где Возможны маршруты, превышающие 15 переходов.

Протокол RIP версии 1 имеет ряд существенных для практического использования недостатков. К числу важных проблем относятся следующие:

  • Оцен ка расстояния только с учетом числа переходов. Протокол RIP не учитывает реальную производительность каналов связи, что может оказаться неэффективным в гетерогенных сетях, т.е. сетях, объединяющих каналы связи различного устройства, производительности, в которых используются разные сетевые технологии.
  • Проблема медленной конвергенции . Маршрутизаторы, спользующие протокол RIP. Рассылают маршрутную информацию каждые 30 с, причем их работа не синхронизирована. В ситуации, когда некоторый маршрутизатор обнаружит, что какая-либо сеть стала недоступной, то в худшем случае (если проблема была выявлена сразу после очередной рассылки) он сообщит об это соседям через 30 с. Для соседних маршрутизаторов все будет происходить также. Это означает, что информация о недоступности какой-либо сети может распространятся маршрутизаторам в достаточно долго, очевидно, что сеть при этом будет находиться в нестабильном состоянии.
  • Широковещательная рассылка таблиц маршрутизации . Протокол RIP изначально предполагал, что маршрутизаторы рассылают информацию в широковещательном режиме. Это означает, что отправленный пакет вынуждены получить и проанализировать на канальном, сетевом и транспортном уровне все компьютеры сети, в которую он направлен.

Частично указанные проблемы решаются в версии 2 (RIP2).

Протокол OSPF

Протокол OSPF (Routing (Open Shortest Path First, «открой кратчайший путь первым») является более новым протоколом динамической маршрутизации и относится к протоколам типа «состояние канала».

Функционирование протокола OSPF основано на использовании всеми маршрутизаторами единой базы данных, описывающей, как и с какими сетями связан каждый маршрутизатор. Описывая каждую связь, маршрутизаторы связы
вают с ней метрику – значение, характеризующее «качество» канала. Например, для сетей Ethernet со скоростью обмена 100 Мбит/с используется значение 1, а для коммутируемых соединений 56 Кбит/с – значение 1785. Это позволяет маршрутизаторам OSPF (в отличие от RIP, где все каналы равнозначны) учитывать реальную пропускную способность и выявлять эффективные маршруты. Важной особенностью протокола OSPF является то, что используется групповая, а не широковещательная рассылка.

Указанные особенности, такие как групповая рассылка вместо широковещательной, отсутствие ограничений на длину маршрута, периодический обмен только короткими сообщениями о состоянии, учет «качества» каналов связи позволяют использовать OSPF в больших сетях. Однако такое использование может породить серьезную проблему – большое количество циркулирующей в сети маршрутной информации и увеличение таблиц маршрутизации. А поскольку алгоритм поиска эффективных маршрутов является, с точки зрения объема вычислений, достаточно сложным, то в больших сетях могут потребоваться высокопроизводительные и, следовательно, дорогие маршрутизаторы. Поэтому возможность построения эффективных таблиц маршрутизации может рассматриваться и как достоинство, и как недостаток протокола OSPF.

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

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

Рисунок 4.8

Если AS может передавать транзитный трафик других сетей, она называется транзитной.

Для определения маршрута внутри AS применяют внутренние протоколы маршрутизации IGP (Interior GatewayProtocols). Наиболее распространенными протоколами внутренней маршрутизации являются протоколы RIP (Routing Information Protocol), OSPF (Open Shortest Path First), IGRP (Interior Gateway Routing Protocol), разработанный компанией CISCO, как альтернативный RIP, а затем и его улучшенный вариант EIGRP (Enhanced Interior Gateway Routing Protocol).

Автономные системы объединяются между собой при помощи внешних или пограничных (Border) маршрутизаторов, используя протоколы внешней маршрутизации BGP (Border Gateway Protocol). Два соседних маршрутизатора, которые обмениваются информацией внутри AS, называются внутренним и внешним, если они обмениваются информацией, принадлежащей разным системам (рис. 4.8). Связь между разными автономными системами осуществляется с помощью высокоскоростной магистральной или опорной сети (Backbone).

В соответствии с терминологией международного института стандартов ISO используется понятие конечных ES и промежуточных систем IS. Промежуточная система IS (Intermedia Systems) – передающий узел между 2 подсетями. Устройство сети, которые не обладают способностью пересылать пакеты, называется оконечным. В это же время сетевое устройство, обладающее такой возможностью – промежуточной системой IS. Промежуточные системы, которые могут сообщаться внутри домена маршрутизации (эквивалент AS), называются внутридоменные AS и системы, которые общаются с другими доменами, называются междоменными.

Процесс взаимодействия и уровни взаимодействий в соответствии с OSI показан на рис. 4.9.

Рисунок 4.9

Протокол внутренней маршрутизации RIP (Routing Information Protocol) предназначался для небольших сетей. Для нахождения оптимального пути используется алгоритм вектора расстояния DVA (Distance Vector Algorithm) – алгоритм Беллмана-Форда. Маршрут в данном алгоритме характеризуется вектором расстояния до пункта назначения (пункт назначения – направление вектора, метрика – модуль вектора). Маршрутизаторы, которые используют протокол RIP в режиме широковещания, передают список сетей, с которыми они могут связаться, и метрику, содержащую информацию о том, за сколько пересылок, шагов (hops) каждая из этих сетей может быть достигнута.

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

Таблица маршрутизации содержит по одной записи на каждый маршрут.

Такая запись имеет следующие поля: поле IP адреса пункта назначения, IP-адрес ближайшего (соседнего) маршрутизатора, метрику маршрута – до 15 шагов, таймеры (счетчики времени). Каждый маршрутизатор передает такую широковещательную информацию каждые 30 сек, генерируя достаточно большой трафик. RIP работает на сетевом уровне стека TCP/IP, используя протокол UDP (порт 520).

Каждый маршрут содержит счетчики тайм-аута и «сборщики» маршрутов. Счетчик тайм-аута сбрасывается в нуль при коррекции или инициализации маршрута. Если к моменту последней коррекции прошло 3 мин, маршрут закрывается, однако запись о нем в таблице сохраняется до наступления времени «сборка маршрута».

Формат сообщения протокола RIP имеет вид (рис. 4.10). Поле «Команда» определяет вид сообщения:

Код 1 – запрос на получение информации, код 2 – отклик, содержащий информацию о расстояниях из маршрутной таблицы отправителя, код 3 - включение режима трассировки, код 4 – выключение режима трассировки. Поле «Версия» для протокола RIP-1 равно 1. Номер протоколов, которые используются в соответствующей сети (для Интернет поле имеет значение, равное 2). Поле стоимость – число шагов. В одном сообщении может иметься информация до 25 маршрутов.

Рисунок 4.10

1. Таймер обновления – 70 сек (посылается всем соседям);

2. Таймер устаревшего маршрута – 90 сек;

3. Таймер удаления маршрута - 240 сек.

В протоколе RIP реализовано правило расщепления горизонта при модификации (Split Horizon Updates), которое препятствует появлению маршрутных петель в две пересылки, однако петли, включающие три и больше пересылок могут возникать.

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

Протокол маршрутизации внутренних шлюзов IGRP(Interior Gateway Routing Protocol) работает на основе использования алгоритма вектора расстояния DVA. Протоколы маршрутизации с вектором расстоянии требуют от каждого маршрутизатора отправления через определенные интервалы времени соседним маршрутизаторам всей или части своей таблицы маршрутизации, используя сообщения о корректировки маршрута. После того, как маршрутная информация распределиться по сети, маршрутизатор может вычислить расстояние до всех узлов объединенной сети.

Максимальное число транзисторных участков в этом протоколе может быть равным 255, а не 15 как в протоколе RIP. При формировании таблиц маршрутизации задаются следующие параметры:

1. Расстояние – число в диапазоне от 1 до 255.

2. Задержка. Измеряется кратно 10 мс. Для сетей E задается показателем 100.

3. Полоса от 1200 бит/с до 10 Гбит/с.

4. Надежность. Оптимальное значение составляет 255.

5. Загруженность канала в долях числа 255.

Для регулирования производительности применяются следующие таймеры:

1. Таймер обновления (по умолчанию 90с) – задает период передачи сообщения.

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

3. Таймер блокировки (по умолчанию 10 с).



4. Таймер удаления маршрута (семь периодов обновления).

Протокол предусматривает три типа маршрутов:

системные – ведущие в сети в рамках AS,

внешние – маршруты в сети вне AS.

Внешние, связанные с наличием граничного пути

Структура таблицы маршрутизации имеет вид, показанный на рис. 4.11

Рисунок 4.11

Первое поле в заголовке таблицы маршрутизации – номер версии,

затем следует поле операционного кода (OP Code). Это поле обозначает вид пакета. Код, равный 1, определяет пакет корректировки, код 2 – пакет запроса. Пакеты запроса использует маршрутизатор для получения информации о маршрутных таблицах других маршрутизаторов. Эти пакеты состоят только из заголовка, операционного кода и номера AS. Пакеты корректировки содержат заголовок, за которым следует записи данных маршрутных таблиц. Этот пакет не должен превышать 1500 байт. Далее следует поле редактирование, которое содержит последовательный номер, указывающий, когда маршрутная таблица изменялась. Далее следует номер автономной системы AS. Следующие поля определяют номер внешних сетей, главных сетей и подсетей. Последнее поле в заголовке – поле контрольной суммы. Сообщения о корректировке содержит семь полей данных для каждой записи данных маршрутной таблицы. Первое поле – 3 байта адреса IP, следующее – задержка, выраженная в десятках микросекунд, далее – поле ширины полосы в единицах 1 Кбит/с, затем идет поле размера блока данных MTU, поле надежности в процентах. Следующим является поле – загрузка, указывающее в процентах занятость канала. Последнее поле – число пересылок (счетчик шагов).

Протокол внешнего шлюза EGP (Exterion Gateway Protocol) – используется алгоритм вектора расстояния DVA для соединения AS через центральную сеть (ядро). Маршрутизатор выполняет следующие функции: выделяет соседей, с которыми обменивается информацией о достижении тех или иных сетей, посылает сообщения о их работоспособности, передает сообщения об обновлении, указывает информацию о доступности сетей для данной AS.

Типы сообщений:

1. Проверочные, если нужно установить работают ли соседние маршрутизаторы.

2. Сообщения о достижимости соседа (не выключен ли соседний маршрутизатор).

3. Сообщения о неисправности.

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

Открытый протокол с алгоритмом поиска кратчайшего пути OSPF {Open Shortest Path First) – это протокол внутренних маршрутизаторов. Он гораздо сложнее RIP-протокола, однако OSPF может функционировать в сетях любой сложности и не имеет ограничений, характерных для RIP. Время, используемое на по­строение таблиц маршрутизации и загрузки сети служебной информацией, в среднем меньше по сравнению с тем, что потребовал бы протокол RIP для такой же системы. Кроме этого, переходные процессы в OSPF завершаются быстрее, чем в RIP. OSPF представляет собой протокол учета состояния канала LSA (Link State Algorithm), в котором маршрутизация выполняется по алгоритму Дийкстры. В качестве метрики используется коэффициент качества обслуживания QoS (Quality of Service). Каждый маршрутизатор обладает полной информацией о состоянии всех ин­терфейсов всех маршрутизаторов (узлов коммутации) автономной системы. Протокол OSPF реализован программным модулем - демоном маршрути­зации gated, который поддерживает также RIP и внешний протокол маршрутизации BGP. Качество обслуживания (QoS) характеризуется следующими параметрами: пропускной способностью канала, задержкой (временем распространения пакета), загрузкой канала, требованиями безопасности, типом трафика, числом шагов до места назначения, надежностью передачи пакетов.

Доминирующими являются три характеристики: задержка, пропуск­ная способность и надежность. На практике чаще всего метрика связи в OSPF определяется как количество секунд, требуемых для передачи 100 Мбит по каналу, через который проложен маршрут. Например, метрика сети на основе 10BASE-T Ethernet равна 10, метрика канала модемной связи со скоростью 56 кбит/с составляет 1785, а канала со скоростью 100 Мбит и вы­ше равна 1.

Для транспортных целей OSPF применяет протокол IP непосредст­венно, т.е. не привлекая протоколы UDP или TCP. OSPF имеет свой код в протокольном поле IP-заголовка. Код типа обслуживания ToS {type of service) в IP-пакетах, содержащих OSPF-сообщения, равен нулю, значение типа обслуживания ToS здесь задается в самих пакетах OSPF.

Маршрутизация в протоколе OSPF определяется IP-адресом и типом сервиса. В связи с тем, что протокол не требует инкапсуляции пакетов, су­щественно облегчается управление сетями с большим количеством мостов и сложной топологией (исключается циркуляция пакетов, сокращается тран­зитный трафик). Автономная система может быть разделена на отдельные области, каждая из которых становится объектом маршрутизации, а внут­ренняя структура снаружи не видна. Этот прием позволяет значительно со­кратить необходимый объем маршрутной базы данных. В OSPF использует­ся термин магистральная сеть {backbone), обозначающий среду для коммуникаций между выделенными областями. Протокол OSPF работает лишь в пределах автономной системы.

В стеке протоколов TCP/IP протокол OSPF находится непосредственно над протоколом IP, его код равен 89. Поэтому если значение поля "Прото­кол" IP-дейтаграммы равно 89, то данные дейтаграммы являются сообщени­ем OSPF и передаются OSPF-модулю для обработки. Соответственно размер OSPF сообщения ограничен максимальным размером дейтаграммы.

При передаче OSPF-пакетов фрагментация не желательна, но не за­прещается. Для передачи статусной информации OSPF использует широко­вещательные сообщения Hello. Повышение безопасности обеспечивается ав­торизацией процедур. Протокол OSPF требует резервирования двух группо­вых адресов: адрес 224.0.0.5 - предназначен для обращения ко всем маршрутиза­торам, поддерживающим этот протокол; адрес 224.0.0.6 - служит для обращения к специально выделенному маршрутизатору. Любое сообщение OSPF начина­ется с 24-октетного заголовка (рисунок 4.12).

Рисунок 4.12

Поле "Версия" определяет версию протокола. Поле "Тип" иден­тифицирует функцию сообщения, в частности: код 1- Hello (используется для проверки доступности маршрутизатора); код 2 - Описание базы данных (тополо­гия); код 3 - Запрос состояния канала; код 4 - Изменение состояния канала; код 5- Под­тверждение получения сообщения о статусе канала.

Поле "Длина сообщения" указывает длину блока в октетах, включая заго­ловок. "Идентификатор области" - 32-битный код, задающий область, ко­торой данный пакет принадлежит. Все OSPF-пакеты ассоциируются с той или иной областью. Большинство из них не преодолевает более одного шага. Пакеты, перемещающиеся по виртуальным каналам, помечаются идентифи­катором опорной (магистральной) области {backbone).

Поле "Контрольная сумма" содержит проверочную сумму IP-пакета, включая поле типа идентификации. Поле "Тип идентификации" может принимать значения 0 при отсутствии контроля доступа, и 1 при его нали­чии. В дальнейшем функции поля предполагается расширить.

Для взаимообмена данными между соседними маршрутизаторами протокол OSPF использует сообщения типа Hello. Важную функцию в этих сообщениях выполняет однобайтное поле "Опции", служащее для объявле­ния состояния канала и описания базы данных.

Структура пакетов этого типа показана на рисунке 4.13.

Рисунок 4.13

Особую роль в поле "Опции" играют младшие биты Е и Т: Бит Е ха­рактеризует возможность внешней маршрутизации и имеет значение только в сообщениях типа Hello, в остальных сообщениях этот бит должен быть об­нулен. Если Е=0, то данный маршрутизатор не будет посылать или прини­мать маршрутную информацию от внешних автономных систем. Бит Т оп­ределяет сервисные возможности маршрутизатора. Если Т=0, это означает, что маршрутизатор поддерживает только один вид услуг (тип сервиса ToS=0) и он не пригоден для маршрутизации с учетом вида услуг. Такие маршрутизаторы, как правило, не используются для транзитного трафика.

Поле "Сетевая маска" сообщения Hello соответствует маске подсети данного интерфейса. Поле "Время между Hello" содержит значение времени в секундах, между сообщениями Hello. Поле "Опции" характеризует возможности, ко­торые предоставляет данный маршрутизатор. Поле "Приоритет" задает уро­вень приоритета маршрутизатора, используемый при выборе резервного {backup) маршрутизатора. Если приоритет равен нулю, данный маршрутиза­тор никогда не будет реализован в качестве резервного. Поле "Время от­ключения маршрутизатора" определяет временной интервал в секундах, по истечении которого "молчащий" маршрутизатор считается вышедшим из строя. IP-адреса маршрутизаторов, записанные в последующих полях, ука­зывают место, куда следует послать данное сообщение, Поля "IP-адрес со­седа к" образуют список адресов соседних маршрутизаторов, откуда за по­следнее время были получены сообщения Hello.

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

Рисунок 4.14

Если размер базы данных велик, ее содержимое может пересылаться по частям. Для реализации этого используются биты I и М. Бит I устанавлива­ется в 1 в стартовом сообщении, а бит М принимает единичное состояние для сообщений, которые являются продолжением. Бит S определяет, кем по­слано сообщение (S=l для сервера, S=0 для клиента, этот бит иногда имеет имя MS).

Поле "Порядковый номер сообщения" служит для контроля пропу­щенных в процессе обмена информацией блоков. Первое сообщение содер­жит в этом поле случайное целое число М, последующие: М+1, M+2,...M+L. Поле "Тип канала" содержит коды, определяющие состояние каналов, а именно, его интерфейсов, описание внешних связей автономных систем.

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

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

Маршрутизатор, получивший OSPF-пакет, посылает подтверждение его приема. Возможно подтверждение одним пакетом получения нескольких объявлений о состоянии линий. Адресом места назначения этого пакета мо­жет быть индивидуальный маршрутизатор, их группа или все маршрутиза­торы автономной системы.

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

Маршрутная таблица OSPF включает следующие поля:

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

К преимуществам протокола маршрутизации OSPF следует отнести:

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

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