Итак, имеем простую сетевую топологию из трёх маршрутизаторов.
R1 — маршрутизатор OSPF, R3 — маршрутизатор EIGRP и R2 — маршрутизатор ASBR, который занимается редистрибуцией маршрута EIGRP 10.3.3.0/24 в домен OSPF, т.е. на данном маршрутизаторе введена команда redistribute eigrp 1 subnets. OSPF работает только на прямом линке между R1 и R2 и выключен на интерфейсах маршрутизаторов R2 и R1, сопряженных с коммутатором SW1. EIGRP запущен на интерфейсах R2 и R3, подключённых к SW1. В результате данной конфигурации маршрут из R1 в подсеть 10.3.3.0/24 будет пролегать через 192.168.55.2, т.е. через ASBR-маршрутизатор R2:
Очевидно, что в результате мы получаем ситуацию с субоптимальным роутингом, т.к. более эффективный маршрут между роутером R1 и R3 через SW1 остаётся незадействован.
Как известно, внешние маршруты в протоколе OSPF описываются анонсами LSA5, структура LSA5 предусматривает поле Forward Address, для рассматриваемого маршрута данное поле в LSA5 заполнено нулями:
Эмпирическим путём было выяснено, что если данное поле имеет нулевое значение, как в описанном случае, то трафик всегда, собственно как и положено, пересылается на маршрутизатор ASBR, адрес которого указан в поле Advertising Router соответствующего LSA5. Именно эта ситуация описывается в большинстве материалов к CCNP:Route. Если же Forward Address имеет ненулевое значение, то трафик будет перенаправляться по указанному в данном поле адресу в обход ASBR. Используя данное поле для имеющейся топологии можно добиться более оптимального роутинга, направляя трафик напрямую между R1->R3 в обход ASBR R2. Forward Address будет автоматически заполняться, если выполнить условие — подсеть 192.168.0.0/24, связанная с SW2, должна быть объявлена в домене OSPF. Для этого необходимо включить OSPF на соответствующих интерфейсах R1 и R2, скоммутированных на SW1. В результате выполнения данных требований, меняется поле Forward Address в соответствующем LSA5:
После чего изменяется и запись в таблице маршрутизации R1:
В итоге используется более оптимальный маршрут от R1 напрямую на роутер R3 в обход ASBR-маршрутизатора R2. Что интересно, трафик передаётся напрямую роутеру, принадлежащему другому протоколу маршрутизации минуя ASBR.
Теперь рассмотрим, как производится маршрутизация, когда в сети существует два ASBR, для этого в рассматриваемую топологию добавим ASBR-роутер R4:
Для маршрута 10.3.3.0/24 каждый ASBR генерирует отдельный LSA5. В случае, когда LSA5 имеют один тип с разной метрикой — выигрывает LSA5 с меньшей метрикой и трафик направляется либо либо на ASBR сгенерировавший победивший анонс, либо на FA, в случае, если в победившем анонсе данное поле устанолвлено. Т.е. если метрика LSA5 от R4 лучше метрики R2, трафик направляется на ASBR-маршрутизатор R4. В обратной ситуации, если лучше LSA5 от R2, трафик пересылается минуя R2 напрямую на R3, т.к. поле FA в победившем анонсе установлено.
В более сложной ситуации, когда метрики анонсов одинаковы, выбор лучшего маршрута не столь очевиден. Если FA имеют нулевое значение, в качестве маршрута на текущем роутере выбирается ближайший ASBR. В рассмтривоемой топологии ASBR-маршрутизаторы имеют следующие стоимости:
Т.е. по схеме, описываемой в учебной литературе, трафик должен быть направлен на ASBR-маршрутизатор R4, но этого не происходит, соотвествующая запись для маршрута в роутинговой таблице выглядит следующим образом:
Т.е. трафик по-прежнему отправляется на R3 минуя все ASBR-маршрутизаторы. Дело в том, что стоимости до ASBR сравниваются только в случае, если FA имеют нулевое значение. Если FA установлен в каком-либо анонсе, при сравнении из данного анонса используется именно стоимость до сети FA, стоимость до ASBR игнорируется. В рассматриваемой топологии сравнивается стоимость сети FA из анонса R2, со стоимостью до ASBR-маршрутизатора R4, и т.к. сеть FA имеет метрику 1, путь R1->R3 побеждает, не смотря на то, что расстояние до R4 лучше, чем до R2. Если стоимость FA и ASBR для разных LSA5 равны, будет выполняться балансировка нагрузки.
В отличие от стандартной зоны, где при обычных условиях FA заполняется нулями, роутер ASBR, находящийся в NSSA-зоне, генерируя LSA7, всегда заполняет поле FA адресом соответствующего интерфейса. Во время трансляции на ABR-маршрутизаторе поле FA не изменяетcя и сохраняется в LSA5, которое указывает на ASBR в NSSA-зоне. В итоге, трафик пойдёт не через ABR, который выполнил трансляцию LSA7->LSA5, а по кратчайшему маршруту до FA, т.е. трафик в NSSA зону до ASBR может гнаться через любой ABR. Изменить это поведение можно командой
area 1 nssa translate type7 suppress-fa
которая принудительно обнуляет FA при трансляции, заставляя трафик ASBR NSSA проходить только и только через единственный ABR-транслятор.
В NSSA-зоне можно направить трафик в обход ASBR на роутер из другого домена маршрутизации, как это делается в стандартных зонах в описанных выше ситуациях, для этого необходимо выполнить ряд условий, в частности, объявить общую подсеть в домен OSPF.
Строго говоря, для установки в поле FA адреса роутера из другого домена маршрутизации, не достаточно объявления общей сети в домен OSPF, должны быть выполнены следующие условия:
— OSPF должен быть включён на интерфейсе ASBR, подключённому к роутеру из другого домена маршрутизации.
— Интерфейс ASBR роутера, подключённый к роутеру из другого домена маршрутизации, не должен быть пассивным
— Интерфейс ASBR роутера, подключённый к роутеру из другого домена маршрутизации, не должен быть point-to-point
— Интерфейс ASBR роутера, подключённый к роутеру из другого домена маршрутизации, не должен быть point-to-multipoint
This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers. Five Filters recommends:
- Massacres That Matter - Part 1 - 'Responsibility To Protect' In Egypt, Libya And Syria
- Massacres That Matter - Part 2 - The Media Response On Egypt, Libya And Syria
- National demonstration: No attack on Syria - Saturday 31 August, 12 noon, Temple Place, London, UK
Комментариев нет:
Отправить комментарий