Особенности алгоритма маршрутизации RIP-2
Новая версия протокола, RIP-2, обеспечивает устранение некоторых недостатков первой версии и является совместимой с ней. Общие принципы организации протокола маршрутизации RIP-2 изложены в RFC 1388.
Формат сообщения RIP-2
Для передачи сообщений протокола RIP используются дейтаграммы, которые адресуются в порт №520 UDP. Формат сообщения протокола маршрутизации RIP приведен в таблице:
Поле COMMAND
В первом поле дейтаграммы RIP размещается код сообщения:
- Значение 1 соответствует сообщению типа request (запрос)
- Значение 2 соответствует сообщению типа response (ответ)
COMMAND | VERSION | ROUTING DOMAIN/ZERO | |
Address Family ID (2) | ROUTE TAG (0) | ||
IP ADDRESS | |||
SUBNET MASK | |||
NEXT HOP | |||
METRIC | |||
IP ADDRESS | |||
… |
Поле Address Family ID
В данном поле сообщения RIP размещается признак типа протокола сетевого уровня, который определяет схему формирования адресов. Протокол маршрутизации RIP используется для определения маршрутов в сетях, которые имеют различные схемы построения сетевого адреса (IP,IPX). Протоколу IP, в частности, соответствует значение 2 поля Address Family ID.
Поле ROUTE TAG
Поле ROUTE TAG занимает два байта в заголовке дейтаграммы протокола RIP. В том случае, когда протокол маршрутизации RIP используется для передачи информации о маршрутах между автономными системами, то есть выполняет функции протокола маршрутизации BGP или EGP, в поле ROUTE TAG может быть помещен номер автономной системы.
Поле IP ADDRESS
Поле IP ADDRESS занимает 4 байта в заголовке дейтаграммы протокола RIP. В сообщении типа RIP request в данном поле содержится адрес сети, для которой необходимо определить маршрут. В сообщениях типа RIP response в данное поле помещается адрес сети, которая является достижимой для источника данного сообщения.
Поле SUBNET MASK
Поле SUBNET MASK занимает 4 байта в заголовке дейтаграммы протокола RIP. В этом поле сообщений протокола RIP–2 размещается маска сети, адрес которой расположен в соответствующем поле IP ADDRESS. У сообщений, которые сформированы протоколом RIP-1, содержимое данного поля должно быть равно 0.
Поле NEXT HOP
В этом поле сообщений протокола RIP-2 размещается адрес маршрутизатора, который является непосредственно достижимым для источника данного сообщения и может быть использован в качестве next hop для передачи данных в сеть, адрес которой указан в поле IP ADDRESS.
Поле METRIC
Поле METRIC также занимает 4 байта в заголовке дейтаграммы протокола RIP, однако в данном поле может быть размещена только характеристика маршрута, который определен полями IP ADDRESS, SUBNET MASK, NEXT HOP – метрика, которая может принимать значение от 0 до 15.
Протоколы маршрутизации IGRP и EIGRP
Представляемые в данном разделе протоколы маршрутизации EIGRP и BGP представляют собой дальнейшее развитие протоколов класса IGP и EGP соответственно.
Протокол маршрутизации EIGRP
Протокол маршрутизации Enhanced IGRP был разработан специалистами компании Cisco, и представляет собой дальнейшее развитие принципов, которые были заложены в IGRP. В частности, по отношению к протоколу IGRP обеспечиваются следующие дополнительные возможности:
- Поддержка внеклассовых IP сетей
- Передача частичных обновлений таблицы маршрутов
- Поддержка различных протоколов сетевого уровня
Формально протокол EIGRP относится к алгоритмам маршрутизации типа distant – vector, однако этот протокол сочетает в себе лучшие качества протокола типа link- state и поэтому может быть отнесен к особому типу протоколов маршрутизации – к гибридным протоколам.
Обеспечение быстрой сходимости протокола EIGRP
Для сокращения временного интервала, отделяющего изменение которое произошло в структуре сети, от соответствующего изменения информации о маршрутах в системе в протоколе маршрутизации EIGRP используется несколько специальных механизм передачи частичных обновлений и алгоритм DUAL – Diffuse Update Algorithm.
Алгоритм DUAL
Данный алгоритм был разработан в SRI International доктором J.J. Garcia – Luna - Aceves. Использование данного алгоритма предполагает определение для представления маршрута для каждой сети двух специальных маршрутизаторов – successor и feasible successor.
Для определения этих маршрутизаторов каждому маршруту ставится в соответствие размер его дистанции, который представляет собой сумму аналогичных характеристик компонентов данного маршрута. Так, на представленном примере, для доставки дейтаграмм в сеть N маршрутизатор A может использовать несколько маршрутов. В соответствии с требованиями протокола EIGRP каждому из этих маршрутов может быть поставлено в соответствие два значения дистанции:
- Advertised Distance – представляемая дистанция
- Feasible Distance - ожидаемая дистанция
Advertised Distance
Представляемая дистанция представляет собой метрику маршрута, который проходит через одного из непосредственных соседей данного маршрутизатора по сети до искомой сети ( в данном случае – N). При вычислении Advertised Distance не учитывается стоимость последнего участка маршрута – от представляющего маршрутизатора до конечного – в данном случае – A.
Feasible Distance
Ожидаемая дистанция представляет собой метрику, которая соответствует значению Advertised Distance для данного маршрута увеличенную на стоимость последнего участка маршрута– от представляющего маршрутизатора до конечного – в данном случае – A.
Значения Advertised Distance и Feasible Distance для приведенного варианта сети представлены в таблице:
Network | Advertised Distance | Feasible Distance | Neighbor |
N | B | ||
N | C | ||
N | D |
Для данного примера также могут быть определены маршрутизаторы successor и feasible successor.
Successor
Последующим маршрутизатором (successor) для сети N считается тот маршрутизатор, из числа непосредственных соседей A, через который проходит маршрут до данной сети, которому соответствует минимальное значение Advertised Distance. Этот маршрутизатор используется в качестве next hop для доставки пакетов в данную сеть.
Feasible successor
Потенциальным последующим маршрутизатором (feasible successor) для сети N считается тот маршрутизатор из числа непосредственных соседей A, через который проходит маршрут до данной сети, которому соответствует значение Advertised Distance меньшее, чем значение Feasible Distance маршрута, проходящего через Successor.
В качестве последующего маршрутизатора (successor) для сети N и маршрутизатора A в данном случае будет выбран маршрутизатор C, через который проходит маршрут, имеющий минимальное значение Advertised Distance – 35. Потенциальным последующим маршрутизатором в данном случае будет выбран маршрутизатор B, у которого значение Advertised Distance – 40 меньше, чем значение Feasible Distance для маршрута через C – 45.
Маршрут, который проходит через Feasible Successor используется в системе качестве резервного маршрута. В том случае, если маршрут через successor по каким – либо причинам не может быть использован для передачи данных, маршрутизатор A должен произвести переключение на резервный маршрут.
Основы маршрутизации
Маршрутизация — это процесс, при котором осуществляется передача единиц информации. В компьютерных сетях трафик, создаваемый пользователями (будь то электронная почта, графические или текстовые документы), от логического отправителя передается логическому получателю. Устройства в сети имеют логические адреса, таким образом, к ним можно получить доступ как индивидуально, так и в составе групп устройств.
Рассмотрим принципы, на основании которых в сетях IP происходит выбор маршрута передачи пакета между сетями. Сначала необходимо обратить внимание на тот факт, что не только маршрутизаторы, но и конечные узлы - компьютеры - должны принимать участие в выборе маршрута.
В общем случае, задача маршрутизации – передача информации от одного пункта сети до другого по оптимальному пути. Покажем принцип работы маршрутизатора, устройства используемого для соединения сетей. Задача, которую выполняет маршрутизатор, заключается в перенаправлении пришедшего к нему пакета на один из своих интерфейсов. Перенаправление осуществляется в соответствии с таблицей маршрутизации – перечнем записей, каждая из которых описывает один маршрут. К одной точке назначения могут вести несколько путей, чем и реализуется отказоустойчивость сети. Это видно из таблиц маршрутизации двух маршрутизаторов – R1 и R2. Так в сети №5 от маршрутизатора R1 пакет может попасть через маршрутизатор R2 либо через маршрутизатор R3. Так как путь через маршрутизатор R2 короче, то для передачи пакетов выбирается именно он. Стрелками показан пример передачи пакета от компьютера А к компьютеру B. Если же соединение между маршрутизаторами R1 и R2 разорвется, то пакет пойдет по обходному пути. Пример прохождения пакета в этом случае показан нижними стрелками.
Принцип формирования таблицы маршрутизации может быть как статическим, так и динамическим.
Чтобы маршрутизатор мог работать эффективно как коммутирующее устройство, ему должна быть известна логическая топология сети и должна иметься возможность обмена данными, со всеми соседними устройствами.
Механизм обучения и поддержки данных о топологии называется функцией маршрутизации. Ретрансляция трафика через маршрутизатор от входного интерфейса на выходной представляет собой отдельную функцию и является функцией коммутации. Для того чтобы стать эффективным устройством коммутации, маршрутизирующее устройство должно успешно выполнять обе эти функции.
Маршрутизатор является устройством третьего уровня семиуровневой модели OSI, которое предполагает наличие информации о логической топологии сети.
Требования к процессу маршрутизации
В процессе маршрутизации маршрутизатору необходимо иметь:
- возможность определения активности необходимого протокола;
- информацию о сети получателя;
- информацию об оптимальном пути к получателю.
Чтобы маршрутизирующее устройство имело возможность производить маршрутизацию, оно сначала должно иметь возможность распознавать логический адрес получателя. Для этого на маршрутизаторе должен быть активен набор протоколов, использующих эту схему логической адресации. Вот несколько примеров самых популярных протоколов — Transmission Control Protocol/Internet Protocol (TCP/IP), Internetwork Packet Exchange (IPX) и протокол DECnet, разработанный в компании Digital Equipment Corporation (DEC).
После того как проблема распознавания схемы адресации решена, встает следующая проблема — определение допустимости логической сети получателя с точки зрения действующей таблицы маршрутизации. В случае, когда логическая сеть получателя в таблице маршрутизации отсутствует, маршрутизирующее устройство должно быть запрограммировано таким образом, чтобы отказаться от пересылки такого пакета и выдать сообщение об ошибке (например, сообщение в соответствии с межсетевым протоколом управления сообщениями — IP Internet Control Message Protocol (ICMP)), для того, чтобы поставить отправителя в известность. Некоторые сетевые администраторы уменьшают размер своих таблиц маршрутизации, указывая несколько адресуемых сетей и задавая стандартный путь. Такой стандартный путь используется в том случае, когда логическая сеть получателя отсутствует в таблице маршрутизации устройства.
Наконец, самое последнее, что должно «уметь» делать маршрутизирующее устройство – в случае, когда сеть получателя присутствует в таблице маршрутизации, — делать выбор внешнего интерфейса, через который пакет будет пересылаться. Таблица маршрутизации будет содержать только лучший путь (или пути) к любой логической сети получателя. Лучший путь к адресуемой сети будет с помощью процесса протокольной маршрутизации привязан к определенному внешнему интерфейсу. Для определения оптимального пути к получателю протоколы маршрутизации используют метрики. Самый оптимальный путь должен иметь минимальную метрику. Если два (или более) пути имеют одинаковую минимальную метрику, они могут использоваться одновременно. Такое многовариантное использование путей называется выравниванием нагрузки. При известном выходном интерфейсе маршрутизатор при перемещении пакета на следующее логическое устройство может использовать метод инкапсуляции (другими словами, тип фрейма 2-го уровня).
Информация о пути
Информация, необходимая для осуществления операции маршрутизации, включается в таблицу маршрутизации, находящуюся на маршрутизаторе и сгенерированную одним или более процессом протокола маршрутизации. Таблица маршрутизации содержит записи, каждая из которых отражает следующее.
- Механизм, по которому был распознан маршрут. Методы распознавания могут быть как динамическими, так и настраиваемыми.
- Логический получатель в виде сети или подсети. В отдельных случаях таблица маршрутизации может содержать адреса узлов.
- Административное расстояние, являющееся мерилом доверия к полученным данным. Феномен административного расстояния описан ниже, в подразделе «Административное расстояние».
- Метрика, которая является оценкой "стоимости" всего пути, определенного протоколом маршрутизации. Метрики маршрутизации обсуждаются в этом разделе в подразделе «Метрика маршрутизации».
- Адрес устройства коммутации (маршрутизатора), находящегося на пути к получателю.
- Периодичность изменения информации о пути. Это поле отражает время, на протяжении которого данная информация в таблице маршрутизации остается неизменной. В зависимости от используемого протокола маршрутизации запись пути может периодически обновляться для того, чтобы информация о пути всегда была актуальной.
- Интерфейс, необходимый для доступа к сети получателя. Он представляет собой порт, через который пакет покидает маршрутизатор и направляется на следующее коммутирующее устройство.
Административное расстояние
В процессе маршрутизации производится выбор оптимального пути к сетям. Так как одновременно на маршрутизаторе может существовать сразу несколько обучающих механизмов, необходим метод выбора между путями, полученными из различных источников. В маршрутизаторах Cisco для выбора метода IP-протоколов маршрутизации используется концепция административного расстояния.
Административное расстояние рассматривается как мера достоверности источника информации IP-маршрутизации. Это имеет смысл только тогда, когда маршрутизатор имеет информацию больше чем об одном пути к получателю.
Малые значения величины административного расстояния предпочтительнее больших значений. В целом стандартные значения административного расстояния устанавливаются такими, чтобы значения, вводимые вручную, были предпочтительнее значений, полученных автоматическим путем, и протоколы маршрутизации с более сложными метриками были предпочтительнее протоколов маршрутизации, имеющих простые метрики. Сравнение стандартных административных расстояний дается в таблице.
Таблица – Стандартные административные расстояния
Источник пути | Стандартное административное расстояние |
Подключенный интерфейс | |
Статический маршрут из интерфейса | |
Статический маршрут к следующему устройству | |
Суммарный маршрут протокола EIGRP | |
Внешний протокола BGP | |
Внутренний протокола EIGRP | |
Протокол IGRP | |
Протокол OSPF | |
Протокол IS-IS | |
Протокол RIP(v1 и v2) | |
Протокол EGP | |
Внешний протокол EIGRP | |
Внутренний протокол BGP | |
Неизвестный |
Метрика маршрутизации
Процесс маршрутизации в сети с помощью протокола маршрутизации реализует беспетлевую технологию, обеспечивая тем самым оптимальный путь к любому получателю.
Определение того, какой путь собственно является наилучшим путем к получателю, является особенностью, органически присущей любому протоколу. Любой протокол имеет свою собственную меру того, что является лучшим. Маршрутизаторы характеризуют путь к сети с помощью метрики. Вот некоторые из наиболее общих примеров таких метрик: число узлов (hop count) — сколько маршрутизаторов находится на пути и комплексная оценка (при ее вычислении используется несколько параметров). Если сеть получателя для маршрутизатора не является локальной, то в таком случае путь представляется суммой метрических величин, определенных для всех каналов, которые необходимо пройти от данного маршрутизатора до получателя.
Решение о маршрутизации может быть принято в случае, если процессу маршрутизации все метрики, характеризирующие путь (при допущении, что существует множество путей), известны. Процесс маршрутизации выбирает путь, обладающий наименьшим значением метрики. В маршрутизаторах Cisco при наличии нескольких путей, имеющих одинаково низкое значение метрики, включается механизм распределения нагрузки (известен также как распределение нагрузки). Для IP-протокола маршрутизаторы Cisco по умолчанию поддерживают до четырех путей с равными метриками. Межсетевая операционная система Cisco (Internetwork Operating System — IOS) поддерживает максимум до шести путей, имеющих равные метрики. Для настройки этой характеристики можно воспользоваться конфигурационной командой maximum-paths, устанавливающей максимальное число путей.