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


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

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

на тему

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

 

 

 

 

 

 

 

 

 

 

 

 

Москва 2009


Внутренний протокол маршрутизации RIP (Routing Information Protocol)

  Назначение

Протокол маршрутизации 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‑пакеты. Настроить работу протокола на маршрутизаторе можно с помощью того же Hyper Terminal с рабочей станции, имеющей на это право и доступ. Настройки производится с помощью команд в соответствии с документацией к маршрутизатору.

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

img00010

 

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

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

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

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

img00011

 

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

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

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

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

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

В исходном состоянии все каналы передачи данных функционируют нормально и, поэтому, маршруты из узлов 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.

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

6_4

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

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

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

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

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

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

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

Ограничение максимальной длины маршрута

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

Зацикливание маршрутов

Использование протокола RIP может в ряде случаев привести к появлению «зацикленных маршрутов». Для предотвращения возникновения подобных ситуаций должны быть использованы специальные меры (poison reverse, split horizon).

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

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

Спецификации

·          RFC‑1388. Протокол RIP‑2 (1993 год) является новой версией RIP, которая в дополнение к широковещательному режиму поддерживает мультикастинг; позволяет работать с масками субсетей.

·          RFC‑1582. Расширение к RIP по требованиям к хостам к поддержке определённых параметров.

·          RFC‑1721. Анализ протокола RIP версии 2.

·          RFC‑1722 (STD 0057). Протокол RIP версии 2, предписание к применению.

·          RFC‑1724. Протокол RIP версии 2, расширение по MIB (база управляющей информации – management information base).

·          RFC‑2080. Спецификации протокола RIP для IPv6.

·          RFC‑2082. Протокол RIP версии 2, проблемы аутентификации с использованием MD5 (Message Digest 5) – 128‑битный алгоритмом хеширования, ​разработанный в 1991 году. ​MD5 предназначен для создания «отпечатков» или «дайджестов» сообщений ​произвольной длины.

·          RFC‑2092. Спецификация для автоматически запускающегося протокола RIP (triggered RIP).

·          RFC‑2453 (STD 0056). Общее описание протокола второй версии.

Реализация протокола.

Существуют две версии протокола RIP: RIP‑1 и RIP‑2. Версия 2 имеет некоторые усовершенствования, как то: возможность маршрутизации сетей по модели CIDR (кроме адреса сети передается и маска), поддержка мультикастинга, возможность использования аутентификации RIP‑сообщений и др.

Типы и формат сообщений.

В протоколе RIP имеются два типа сообщений, которыми обмениваются маршрутизаторы:

·          ответ (response) – рассылка вектора расстояний;

·          запрос (request) – маршрутизатор (например, после своей загрузки) запрашивает у соседей их маршрутные таблицы или данные об определенном маршруте.

Формат сообщений обоих типов одинаков:


rip_packet

 

Поля, помеченные знаком *, относятся к версии 2; в сообщениях RIP‑1 эти поля должны быть обнулены.

Сообщение RIP состоит из 32‑битного слова, определяющего тип сообщения и версию протокола (плюс «Routing Domain» в версии 2), за которым следует набор из одного и более элементов вектора расстояний. Каждый элемент вектора расстояний занимает 5 слов (20 октетов) (от начала поля «Address Family Identifier» до конца поля «Metric» включительно). Максимальное число элементов вектора – 25, если вектор длиннее, он может разбиваться на несколько сообщений.

·          Поле «Command» определяет тип сообщения: 1 – request, 2 – response; поле «Version» – версию протокола (1 или 2).

·          Поле «Address Family Identifier» содержит значение 2, которое обозначает семейство адресов IP; другие значения не определены. Поля «IP address» и «Metric» содержат адрес сети и расстояние до нее.

Дополнительно к полям версии 1 во второй версии определены следующие.

·          «Routing Domain» – идентификатор RIP‑системы, к которой принадлежит данное сообщение; часто – номер автономной системы. Используется, когда к одному физическому каналу подключены маршрутизаторы из нескольких автономных систем, в каждой автономной системе поддерживается своя таблица маршрутов. Поскольку сообщения RIP рассылаются всем маршрутизаторам, подключенным к сети, требуется различать сообщения, относящиеся к «своей» и «чужой» автономным системам.

·          «Route Tag» – используется как метка для внешних маршрутов при работе с протоколами внешней маршрутизации.

·          «Subnet Mask» – маска сети, адрес которой содержится в поле IP address. RIP‑1 работает только с классовой моделью адресов.

·          «Next Hop» – адрес следующего маршрутизатора для данного маршрута, если он отличается от адреса маршрутизатора, пославшего данное сообщение. Это поле используется, когда к одному физическому каналу подключены маршрутизаторы из нескольких автономных систем и, следовательно, некоторые маршрутизаторы «чужой» автономной системы физически могут быть достигнуты напрямую, минуя пограничный (логически подключенный к обеим автономным системам) маршрутизатор. Об этом пограничный маршрутизатор и объявляет в поле «Next Hop».

Адрес 0.0.0.0 в сообщении типа «ответ» обозначает маршрут, ведущий за пределы RIP‑системы. В сообщении типа «запрос» этот адрес означает запрос информации о всех маршрутах (полного вектора расстояний). Указание в сообщении типа «запрос» адреса конкретной сети означает запрос элемента вектора расстояний только для этой сети – такой режим используется обычно только в отладочных целях.

Аутентификация может производиться протоколом RIP‑2 для обработки только тех сообщений, которые содержат правильный аутентификационный код. При работе в таком режиме первый 20‑октетный элемент вектора расстояний, следующий непосредственно за первым 32‑битным словом RIP‑сообщения, является сегментом аутентификации. Он определяется по значению поля «Address Family Identifier», равному в этом случае 0xFFFF. Следующие 2 октета этого элемента определяют тип аутентификации, а остальные 16 октетов содержат аутентификационный код. Таким образом, в RIP‑сообщении с аутентификацией может передаваться не 25, а только 24 элемента вектора расстояний, которые следуют за сегментом аутентификации. К настоящему моменту надежного алгоритма аутентификации для протокола RIP не разработано; стандартом определена только аутентификация с помощью обычного пароля (значение поля «Тип» равно 2).

Работа протокола RIP

Для каждой записи в таблице маршрутов существует время жизни, контролируемое таймером. Если для любой конкретной сети, внесенной в таблицу маршрутов, в течение 180 с не получен вектор расстояний, подтверждающий или устанавливающий новое расстояние до данной сети, то сеть будет отмечена как недостижимая (расстояние равно бесконечности). Через определенное время модуль RIP производит «сборку мусора» – удаляет из таблицы маршрутов все сети, расстояние до которых бесконечно.

При получении сообщения типа «ответ» для каждого содержащегося в нем элемента вектора расстояний модуль RIP выполняет следующие действия:

·          проверяет корректность адреса сети и маски, указанных в сообщении;

·          проверяет, не превышает ли метрика (расстояние до сети) бесконечности;

·          некорректный элемент игнорируется;

·          если метрика меньше бесконечности, она увеличивается на 1;

·          производится поиск сети, указанной в рассматриваемом элементе вектора расстояний, в таблице маршрутов;

·          если запись о такой сети в таблице маршрутов отсутствует и метрика в полученном элементе вектора меньше бесконечности, сеть вносится в таблицу маршрутов с указанной метрикой; в поле «Следующий маршрутизатор» заносится адрес маршрутизатора, приславшего сообщение; запускается таймер для этой записи в таблице;

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

·          если искомая запись присутствует в таблице и отправителем полученного вектора был маршрутизатор, указанный в поле «Следующий маршрутизатор» этой записи, то таймер для этой записи перезапускается; более того, если при этом метрика в таблице отличается от метрики в полученном векторе расстояний, в таблицу вносится значение метрики из полученного вектора;

·          во всех прочих случаях рассматриваемый элемент вектора расстояний игнорируется.

Сообщения типа «ответ» рассылаются модулем RIP каждые 30 сек. по широковещательному или мультикастинговому (только RIP‑2) адресу; рассылка «ответа» может происходить также вне графика, если маршрутная таблица была изменена (triggered response). Стандарт требует, чтобы triggered response рассылался не немедленно после изменения таблицы маршрутов, а через случайный интервал длительностью от 1 до 5 с. Эта мера позволяет несколько снизить нагрузку на сеть.

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

В случае triggered response посылается информация только о тех сетях, записи о которых были изменены.

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

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

Настройка протокола RIP (логи)

<Quidway>

%May 12 16:08:13:801 2009 Quidway SHELL/5/LOGIN: Console login from con0

<Quidway>vrbd

Routing Platform Software

Version AR28–10 8040V300R003B03D040 (COMWAREV300R002B60D021), RELEASE SOFTWARE

Compiled Apr 04 2006 14:35:29 by Houming

<Quidway>display rip

RIP is running

public net

Checkzero is on Default cost: 1

Summary is on Preference: 100

Validate-source-address is on

Traffic-share-across-interface is off

Period update timer: 30

Timeout timer: 180

Garbage-collection timer: 120

No peer router

Network:

192.168.1.0

<Quidway>su

User privilege level is 3, and only those commands can be used

whose level is equal or less than this.

Privilege note: 0‑VISIT, 1‑MONITOR, 2‑SYSTEM, 3‑MANAGE

<Quidway>system-view

System View: return to User View with Ctrl+Z.

%May 12 16:24:58:322 2009 Quidway PHY/2/PHY: Ethernet0/0: change status to up

%May 12 16:24:58:322 2009 Quidway IFNET/5/UPDOWN: Line protocol on the interface

Ethernet0/0 is UP

[Quidway] interface Ethernet 0/0

[Quidway-Ethernet0/0] display ip interface

Aux0 current state: Administratively DOWN

Line protocol current state:DOWN

Internet Address is 172.16.0.2/24

Broadcast address: 172.16.0.255

The Maximum Transmit Unit: 1500 bytes

ip fast-forwarding incoming packets state is Disabled

ip fast-forwarding outgoing packets state is Disabled

ip multicast-fast-forwarding packets state is Disabled

IP packets input number: 0, bytes: 0, multicasts: 0

IP packets output number: 0, bytes: 0, multicasts: 0

TTL invalid packet number: 0

ICMP packet input number: 0

Echo reply: 0

Unreachable: 0

Source quench: 0

Routing redirect: 0

Echo request: 0

Router advert: 0

Router solicit: 0

Time exceed: 0

IP header bad: 0

Timestamp request: 0

Timestamp reply: 0

Information request: 0

Information reply: 0

Netmask request: 0

Netmask reply: 0

Unknown type: 0

Ethernet0/0 current state:UP

Line protocol current state:UP

Internet Address is 192.168.1.5/24

Broadcast address: 192.168.1.255

The Maximum Transmit Unit: 1500 bytes

ip fast-forwarding incoming packets state is Enabled

ip fast-forwarding outgoing packets state is Enabled

ip multicast-fast-forwarding packets state is Disabled

IP packets input number: 15, bytes: 4920, multicasts: 0

IP packets output number: 0, bytes: 0, multicasts: 0

ARP packets input number: 35

Request packet: 35

Reply packet: 0

Unknown packet: 0

TTL invalid packet number: 0

ICMP packet input number: 0

Echo reply: 0

Unreachable: 0

Source quench: 0

Routing redirect: 0

Echo request: 0

Router advert: 0

Router solicit: 0

Time exceed: 0

IP header bad: 0

Timestamp request: 0

Timestamp reply: 0

Information request: 0

Information reply: 0

Netmask request: 0

Netmask reply: 0

Unknown type: 0

DHCP packet

[Quidway] ping 192.168.1.10

PING 192.168.1.10: 56 data bytes, press CTRL_C to break

Reply from 192.168.1.10: bytes=56 Sequence=1 ttl=64 time=2 ms

Reply from 192.168.1.10: bytes=56 Sequence=2 ttl=64 time=1 ms

Reply from 192.168.1.10: bytes=56 Sequence=3 ttl=64 time=2 ms

Reply from 192.168.1.10: bytes=56 Sequence=4 ttl=64 time=1 ms

Reply from 192.168.1.10: bytes=56 Sequence=5 ttl=64 time=2 ms

– 192.168.1.10 ping statistics –


Информация о работе «Протоколы маршрутизации RIP и OSPF»
Раздел: Информатика, программирование
Количество знаков с пробелами: 80511
Количество таблиц: 3
Количество изображений: 15

Похожие работы

Скачать
35245
0
7

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

Скачать
27434
1
4

... метрика интерфейса может быть также непосредственно изменена командой router(config-if)#ip ospf cost метрика Подчеркнем, что речь идет о метрике связей, исходящих из интерфейса. 4.3 Идентификаторы маршрутизаторов Каждый OSPF-маршрутизатор идентифицируется некоторым IP-адресом, который помещается во все OSPF-пакеты, сгенерированные маршрутизатором. Поскольку у маршрутизатора есть несколько IP- ...

Скачать
73305
2
11

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

Скачать
88022
12
18

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

0 комментариев


Наверх