|
Протоколы маршрутизации RIP и OSPF
Протоколы маршрутизации RIP и OSPF
2 МОСКОВСКИЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ СВЯЗИ И ИНФОРМАТИКИ Курсовая работа по дисциплине «Локальные Вычислительные Сети» на тему «Внутренние протоколы маршрутизации 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 с рабочей станции, имеющей на это право и доступ. Настройки производится с помощью команд в соответствии с документацией к маршрутизатору.Пример корректной работы протокола(на рисунке: маршрутизаторы 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, при изменениях в состоянии связей или маршрутизаторов сети.Пример неустойчивой работы по протоколу (возникновение циклических маршрутов - процедура 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 - управляемые модификации)Использование процедуры 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) - маршрутизатор (например, после своей загрузки) запрашивает у соседей их маршрутные таблицы или данные об определенном маршруте.Формат сообщений обоих типов одинаков:Поля, помеченные знаком *, относятся к версии 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>vrbdRouting Platform SoftwareVersion AR28-10 8040V300R003B03D040 (COMWAREV300R002B60D021), RELEASE SOFTWARECompiled Apr 04 2006 14:35:29 by Houming<Quidway>display ripRIP is runningpublic netCheckzero is on Default cost: 1Summary is on Preference: 100Validate-source-address is onTraffic-share-across-interface is offPeriod update timer: 30Timeout timer: 180Garbage-collection timer: 120No peer routerNetwork:192.168.1.0<Quidway>suUser privilege level is 3, and only those commands can be usedwhose level is equal or less than this.Privilege note: 0_VISIT, 1_MONITOR, 2_SYSTEM, 3_MANAGE<Quidway>system-viewSystem 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 interfaceEthernet0/0 is UP[Quidway] interface Ethernet 0/0[Quidway-Ethernet0/0] display ip interfaceAux0 current state: Administratively DOWNLine protocol current state:DOWNInternet Address is 172.16.0.2/24Broadcast address: 172.16.0.255The Maximum Transmit Unit: 1500 bytesip fast-forwarding incoming packets state is Disabledip fast-forwarding outgoing packets state is Disabledip multicast-fast-forwarding packets state is DisabledIP packets input number: 0, bytes: 0, multicasts: 0IP packets output number: 0, bytes: 0, multicasts: 0TTL invalid packet number: 0ICMP packet input number: 0Echo reply: 0Unreachable: 0Source quench: 0Routing redirect: 0Echo request: 0Router advert: 0Router solicit: 0Time exceed: 0IP header bad: 0Timestamp request: 0Timestamp reply: 0Information request: 0Information reply: 0Netmask request: 0Netmask reply: 0Unknown type: 0Ethernet0/0 current state:UPLine protocol current state:UPInternet Address is 192.168.1.5/24Broadcast address: 192.168.1.255The Maximum Transmit Unit: 1500 bytesip fast-forwarding incoming packets state is Enabledip fast-forwarding outgoing packets state is Enabledip multicast-fast-forwarding packets state is DisabledIP packets input number: 15, bytes: 4920, multicasts: 0IP packets output number: 0, bytes: 0, multicasts: 0ARP packets input number: 35Request packet: 35Reply packet: 0Unknown packet: 0TTL invalid packet number: 0ICMP packet input number: 0Echo reply: 0Unreachable: 0Source quench: 0Routing redirect: 0Echo request: 0Router advert: 0Router solicit: 0Time exceed: 0IP header bad: 0Timestamp request: 0Timestamp reply: 0Information request: 0Information reply: 0Netmask request: 0Netmask reply: 0Unknown type: 0DHCP packet[Quidway] ping 192.168.1.10PING 192.168.1.10: 56 data bytes, press CTRL_C to breakReply from 192.168.1.10: bytes=56 Sequence=1 ttl=64 time=2 msReply from 192.168.1.10: bytes=56 Sequence=2 ttl=64 time=1 msReply from 192.168.1.10: bytes=56 Sequence=3 ttl=64 time=2 msReply from 192.168.1.10: bytes=56 Sequence=4 ttl=64 time=1 msReply from 192.168.1.10: bytes=56 Sequence=5 ttl=64 time=2 ms- 192.168.1.10 ping statistics -5 packet(s) transmitted5 packet(s) received0.00% packet lossround-trip min/avg/max = 1/1/2 msdeal mode: global[Quidway] rip[Quidway-rip] display ripRIP is runningpublic netCheckzero is on Default cost: 1Summary is on Preference: 100Validate-source-address is onTraffic-share-across-interface is offPeriod update timer: 30Timeout timer: 180Garbage-collection timer: 120No peer router[Quidway-rip] network 192.168.0.0[Quidway-rip] display ripRIP is runningpublic netCheckzero is on Default cost: 1Summary is on Preference: 100Validate-source-address is onTraffic-share-across-interface is offPeriod update timer: 30Timeout timer: 180Garbage-collection timer: 120No peer routerNetwork:192.168.0.0[Quidway-rip] peer 192.168.1.10[Quidway-rip] display ripRIP is runningpublic netCheckzero is on Default cost: 1Summary is on Preference: 100Validate-source-address is onTraffic-share-across-interface is offPeriod update timer: 30Timeout timer: 180Garbage-collection timer: 120Peer:192.168.1.10Network:192.168.0.0[Quidway-rip] undo peer 192.168.1.10[Quidway-rip] display ripRIP is runningpublic netCheckzero is on Default cost: 1Summary is on Preference: 100Validate-source-address is onTraffic-share-across-interface is offPeriod update timer: 30Timeout timer: 180Garbage-collection timer: 120No peer routerNetwork:192.168.0.0[Quidway-rip]Quidway-rip] filter-policy gateway 192.168.1.10 importThe gateway does not exist, but the configuration is saved[Quidway-rip] display ripRIP is runningpublic netCheckzero is on Default cost: 1Checkzero is on Default cost: 1Validate-source-address is onTraffic-share-across-interface is offPeriod update timer: 30Timeout timer: 180Garbage-collection timer: 120No peer routerNetwork:192.168.0.0filter-policy gateway 192.168.1.10 import[Quidway-rip] undo filter-policy gateway 192.168.1.10 import[Quidway-rip] display ripRIP is runningpublic netCheckzero is on Default cost: 1Summary is on Preference: 100Validate-source-address is onTraffic-share-across-interface is offPeriod update timer: 30Timeout timer: 180Garbage-collection timer: 120No peer routerNetwork:192.168.0.0[Quidway-rip] display ripRIP is runningpublic netCheckzero is on Default cost: 1Host-route is offSummary is on Preference: 100Validate-source-address is onTraffic-share-across-interface is offPeriod update timer: 30Timeout timer: 180Garbage-collection timer: 120No peer routerNetwork:192.168.0.0[Quidway-rip] host-route[Quidway-rip] undo summary[Quidway-rip] display ripRIP is runningpublic netCheckzero is on Default cost: 1Summary is off Preference: 100Validate-source-address is onTraffic-share-across-interface is offPeriod update timer: 30Timeout timer: 180Garbage-collection timer: 120No peer routerNetwork:192.168.0.0[Quidway-rip] summary[Quidway-rip] preference 150[Quidway-rip] display ripRIP is runningpublic netCheckzero is on Default cost: 1Summary is on Preference: 150Validate-source-address is onTraffic-share-across-interface is offPeriod update timer: 30Timeout timer: 180Garbage-collection timer: 120No peer routerNetwork:192.168.0.0[Quidway-rip] preference 100[Quidway-rip] timers timeout 200[Quidway-rip] display ripRIP is runningpublic netCheckzero is on Default cost: 1Summary is on Preference: 100Validate-source-address is onTraffic-share-across-interface is offPeriod update timer: 30Timeout timer: 200Garbage-collection timer: 120No peer routerNetwork:192.168.0.0[Quidway-rip] timers timeout 180[Quidway-rip] timers update 1005[Quidway-rip] display ripRIP is runningpublic netCheckzero is on Default cost: 1Summary is on Preference: 100Validate-source-address is onTraffic-share-across-interface is offPeriod update timer: 1005Timeout timer: 180Garbage-collection timer: 4020No peer routerNetwork:192.168.0.0[Quidway-rip] timers update 30[Quidway-rip] display ripRIP is runningpublic netCheckzero is off Default cost: 1Summary is on Preference: 100Validate-source-address is onTraffic-share-across-interface is offPeriod update timer: 30Timeout timer: 180Garbage-collection timer: 120No peer routerNetwork:192.168.0.0<Quidway>Внутренний протокол маршрутизации OSPF (Open Shortest Pass First)Назначение.Протокол OSPF (Open Shortest Pass First, алгоритмы предложены Дейкстрой) является альтернативой RIP в качестве внутреннего протокола маршрутизации. OSPF представляет собой протокол состояния маршрута (в качестве метрики используется - коэффициент качества обслуживания). Каждый маршрутизатор обладает полной информацией о состоянии всех интерфейсов всех маршрутизаторов (переключателей) автономной системы. Он был изобретён для избавления сетей, использующих RIP от таких напастей, как:1. Циклические маршруты. Так как в протоколе нет механизмов выявления замкнутых маршрутов, необходимо либо слепо верить партнерам, либо принимать меры для блокировки такой возможности. 2. Для подавления нестабильностей RIP должен использовать малое значение максимально возможного числа шагов (<16). 3. Медленное распространение маршрутной информации по сети создает проблемы при динамичном изменении маршрутной ситуации (система не поспевает за изменениями). Малое предельное значение метрики улучшает сходимость, но не устраняет проблему. Протокол OSPF представляет собой классический протокол маршрутизации класса Link-State, который обеспечивает: · отсутствие ограничений на размер сети · поддержку внеклассовых сетей · передачу обновлений маршрутов с использованием адресов типа multicast · достаточно большую скорость установления маршрута · использование процедуры authentication при передаче и получении обновлений маршрутов АрхитектураOSPF является иерархическим протоколом маршрутизации с объявлением состояния о канале соединения (link-state). Он был спроектирован как протокол работы внутри сетевой области - AS (Autonomous System), которая представляет собой группу маршрутизаторов и сетей, объединенных по иерархическому принципу и находящихся под единым управлением и совместно использующих общую стратегию маршрутизации. В качестве транспортного протокола для маршрутизации внутри AS OSPF использует IP_протокол.AS представляет собой набор сетей, которые находятся под единым управлением и совместно используют общую стратегию маршрутизации. OSPF является протоколом маршрутизации внутри AS, хотя он также может принимать и отправлять пакеты в другие AS.Настройка на маршрутизаторах производится аналогичным образом как при настройке RIP.Иерархическая маршрутизацияИспользование иерархической маршрутизации позволяет существенно повысить эффективность использования каналов передачи данных за счет сокращения доли передаваемого по ним служебного трафика.Информационный обмен, который осуществляют маршрутизаторы для определения маршрута передачи данных внутри области, показан на рисунке зелеными стрелками. Определение маршрута и информационный обмен между областями в данном случае производится через специальную центральную область - AREA 0.Использование такой схемы логического построения сети позволяет существенно уменьшить долю неинформативного трафика, который передается по каналам передачи данных между областями. В частности в этом случае по каналам, используемых для передачи данных между областями, (красный цвет) не будет передаваться информация о сетях, которые имеют чисто локальное значение.Распределение нагрузки между параллельными каналами (Load balancing)При использовании протокола маршрутизации OSPF допускается существование нескольких маршрутов в направлении некоторого узла сети. В том случае, если эти маршруты обеспечивают одинаковое качество передачи данных, информационный поток в адрес данного узла может быть направлен по всем этим каналам одновременно, что обеспечит существенное увеличение скорости передачи данных. Динамическое перераспределение трафика между параллельными каналами, которое выполняется пропорционально степени загруженности этих каналов, называется Load balancing.Иерархия маршрутизацииВ отличие от RIP, OSPF может работать в пределах некоторой иерархической системы. Самым крупным объектом в этой иерархии является автономная система (Autonomous System - AS) AS является набором сетей, которые находятся под единым управлением и совместно используют общую стратегию маршрутизации. OSPF является протоколом маршрутизации внутри AS, хотя он и способен принимать маршруты из других AS и отправлять маршруты в другие AS.Любая AS может быть разделена на ряд областей (area). Область - это группа смежных сетей и подключенных к ним хостов. Роутеры, имеющие несколько интерфейсов, могут участвовать в нескольких областях. Такие роутеры, которые называются роутерами границы областей (area border routers), поддерживают отдельные топологические базы данных для каждой области.Топологическая база (topological database) данных фактически представляет собой общую картину сети по отношению к роутерам. Топологическая база данных содержит набор LSA, полученных от всех роутеров, находящихся в одной области. Т.к. роутеры одной области коллективно пользуются одной и той же информацией, они имеют идентичные топологические базы данных.Термин «домен» (domain) исользуется для описания части сети, в которой все роутери имеют идентичную топологическую базу данных. Термин «домен» часто используется вместо AS.Топология области является невидимой для объектов, находящихся вне этой области. Путем хранения топологий областей отдельно, OSPF добивается меньшего трафика маршрутизации, чем трафик для случая, когда AS не разделена на области.Разделение на области приводит к образованию двух различных типов маршрутизации OSPF, которые зависят от того, находятся ли источник и пункт назначения в одной и той же или разных областях.Маршрутизация внутри области имеет место в том случае, когда источник и пункт назначения находятся в одной области.Маршрутизация между областями - когда они находятся в разных областях.Стержневая часть OSPF (backbone) отвечает за распределение маршрутной информации между областями. Она включает в себя все роутеры границы области, сети, которые не принадлежат полностью какого-либо из областей, и подключенные к ним роутеры. На следующем рисунке представлен пример объединенной сети с несколькими областями.На этом рисунке роутеры 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), или через информацию о конфигурации.Спецификации.· RFC_1245. Анализ протокола OSPF. · RFC_1246. Экспериментальная часть работы протокола. · RFC_1247 (обновлено 1349). Спецификации к протоколу OSPF версии 2. · RFC_1248, RFC_1850. База управляющей информации протокола второй версии. · RFC_1584. Дополнение к протоколу по широковещанию. · RFC_1585. Расширение протокола по широковещанию, анализ и практические приложения. · RFC_1586. Руководство по использованию OSPF на сетях Frame Relay. · RFC_1587. Опция протокола для «не совсем тупиковой зоны» (Not-so-stubby area). · RFC_1793. Расширение к спецификациям по требованию к оборудованию с поддержкой протокола. · RFC_2178. Черновой вариант спецификаций. · RFC_2328 (STD 0054). Действующий стандарт по OSPF. Реализация протокола.Метрики.Метрика сети, оценивающая пропускную способность, определяется как количество секунд, требуемое для передачи 100 Мбит через физическую среду данной сети. Например, метрика сети на базе 10Base-T Ethernet равна 10, а метрика выделенной линии 56 кбит/с равна 1785. Метрика канала со скоростью передачи данных 100 Мбит/с и выше равна единице.Порядок расчета метрик, оценивающих надежность, задержку и стоимость, не определен. Администратор, желающий поддерживать маршрутизацию по этим типам сервисов, должен сам назначить разумные и согласованные метрики по этим параметрам.Если не требуется маршрутизация с учетом типа сервиса (или маршрутизатор ее не поддерживает), используется метрика по умолчанию, равная метрике по пропускной способности.База данных состояния связейДля работы алгоритма SPF на каждом маршрутизаторе строится база данных состояния связей, представляющая собой полное описание графа OSPF_системы. При этом вершинами графа являются маршрутизаторы, а ребрами - соединяющие их связи. Базы данных на всех маршрутизаторах идентичны.За создание баз данных и поддержку их взаимной синхронизации при изменениях в структуре системы сетей отвечают другие алгоритмы, содержащиеся в протоколе OSPF.Поддержка множественных маршрутов.Если между двумя узлами сети существует несколько маршрутов с одинаковыми или близкими по значению метриками, протокол OSPF позволяет направлять части трафика по этим маршрутам в пропорции, соответствующей значениям метрик. Например, если существует два альтернативных маршрута с метриками 1 и 2, то две трети трафика будет направлено по первому из них, а оставшаяся треть - по второму.Положительный эффект такого механизма заключается в уменьшении средней задержки прохождения дейтаграмм между отправителем и получателем, а также в уменьшении колебаний значения средней задержки.Менее очевидное преимущество поддержки множественных маршрутов состоит в следующем. Если при использовании только одного из возможных маршрутов этот маршрут внезапно выходит из строя, весь трафик будет разом перемаршрутизирован на альтернативный маршрут, при этом во время процесса массового переключения больших объемов трафика с одного маршрута на другой весьма велика вероятность образования затора на новом маршруте. Если же до аварии использовалось разделение трафика по нескольким маршрутам, отказ одного из них вызовет перемаршрутизацию лишь части трафика, что существенно сгладит нежелательные эффекты.
Страницы: 1, 2
|
|