Пояснение

суббота, 4 октября 2014 г.

E1 vs. E2


Этот вопрос отлично разжевал Брайан в своей статье "Understanding OSPF External Route Path Selection". Для себя попробую изложить её содержимое тезисно и кратко.

Первое, вне зависимости от метрик и AD, OSPF всегда выбирает маршруты в следующем порядке:

    1. Intra-Area (O)
    2. Inter-Area (O IA)
    3. External Type 1 (E1)
    4. External Type 2 (E2)
    5. NSSA Type 1 (N1)
    6. NSSA Type 2 (N2)
В случае E1, внешняя метрика напрямую суммируется с внутренний, это суммирование подразумевает сравнимость внутренних и внешних маршрутов. Обычно E1 используется в рамках одной AS для редистрибьюции сетей из разных процессов маршрутизации. При использовании же E2, наоборот, решение о next-hop будет принято только на основе внешней метрики и лишь при равенстве оных, внутренняя стоимость будет играть роль.

четверг, 25 сентября 2014 г.

DPD и Split Tunneling.

Кстати, именно при работе с DPD мы столкнулись с новым циско багом. В нашей компании применялась следующая конфигурация EzVPN:

crypto ipsec client ezvpn PRIMARY
  connect auto
  group PRIMARY key <removed>
  local-address FastEthernet0/0
  mode network-extension
  peer A.A.A.A default
  peer B.B.B.B
  virtual-interface 1
  xauth userid mode interactive

Ключевое слово default после адреса VPN пира, активирует фичу под названием Reactivate Primary Peer. Из документации становится ясно, что данная настройка позволяет с помощью DPD обнаружить неактивный пир, переключиться на резерв, а после восстановления основного, вернутся на него. Красиво? Красиво! Но почему-то не работает в связке со split-tunneling'ом. Точнее переключение происходит, но статические маршруты образованные в результате работы split-tunneling'а пропадают.

Такая вот багофича.




вторник, 23 сентября 2014 г.

DPD, Dead Peer Detection.

crypto isakmp keepalive

Итак, DPD или Dead Peer Detection, что же это такое? Как видно из названия, это механизм обнаружения неработающего пира в рамках IKE и IPSec. Но механизм признаться чудной.

DPD был призван решить проблему периодических keepalive, которые при значительном числе spoke роутеров могут вызвать проблемы на центральных VPN-хабах. Да и вообще, это как-то не комильфо и требует внимания к интервалам keepalive запросов.

Стандартизированный в RFC 3706 протокол обнаружения "залипших" пиров, избавлен от этого недостатка и в сути своей непериодичен и асинхронен. А всё потому, что главным критерием определения нерабочего пира является собственно простой установленной IPSec сессии.

Но как это работает?


пятница, 12 сентября 2014 г.

MAC-адреса и свитчи.



Для чего нужны mac-адреса свитчу? По мимо userspace адресов есть несколько типов необходимых для обеспечения функционирования L2 сегмента. Их можно выделить в несколько групп:

  • Адреса портов, жестко привязаны каждый к своему порту и применяются только для передачи сontrol plane информации. Т.е. выступают в качестве source address для BPDU и CDP сообщений, и тому подобному.
  • Адреса общего назначения, используются в более абстрактных штуках (BID для STP, MAC для SVI и т.д.). Количество их зависит от модели коммутатора.
  • Специализированные адреса протоколов, например CDP, LLDP, 802.1x, OAM и различные версии STP. При получении фрейма с таким адресом в качестве назначения, свитч должен будет произвести его обработку направив в CPU.

пятница, 22 августа 2014 г.

Что делает qos pre-classify?

Иногда встречаются недопонимания этой команды. По сути, pre-classify позволяет использовать данные из оригинального IP заголовка для обеспечения QoS в IPSec VPN окружении. Под данными здесь подразумевается не просто значение ToS байта, которое по умолчанию будет скопировано в IPSec, а остальные заголовки оригинального пакета. По сути, эта информация извлекается и передается в исходящий интерфейс параллельно с уже зашифрованным пакетом. Что соответственно позволяет использовать её для service policy.

Стоит учитывать, что pre-classify используется только на spoke роутерах и эффективно ограничивает лишь исходящий трафик. Со стороны же центрального vpn-концентратора, традиционно советуют реализовывать per-tunnel qos policy.

воскресенье, 6 июля 2014 г.

Петли и MPLS

Думаю, что на вопрос о методах борьбы с петлями в MPLS окружении можно отвечать несколькими способами. Например вот так: 

  • Построением loop-free окружения занимается лежащий в основе MPLS сети протокол динамической маршрутизации, например OSFP или IS-IS.

Этого должно хватить, такой вариант даже в экзаменационных тестах встречается. Но если появляется желание как следует разобраться в вопросе, то:
  • Простейшее дополнение: MPLS заголовок имеет поле TTL значение которого копируется из оригинального IP заголовка (или не копируется в случае no mpls ip propagate-ttl). Это не спасет от появления петель, но позволит справиться с их последствиями.
  • Сложное дополнение: может показаться надуманным, но существует способ избежать кратковременных петель возникающих после падения линка. Это механизм MPLS RSVP-TE. Ему можно посвятить отдельный раздел|книгу|религию.
  • Архивные дополнения: давным-давно, во времена ATM и Frame-Relay, в MPLS успешно уживались и другие способы избавления от петель. К ним относятся Hop Count TLV, Path-Vector TLV и алгоритм Coroled Thread.


среда, 19 марта 2014 г.

Быть или не быть, succesor или feasible succesor?


Всем известный алгоритм DUAL позволяет протоколу EIGRP получать оптимальную, свободную от петель топологию. В русскоязычных блогах ему обычно уделяется не так много места, типа вот так:
Если маршрут через successor становится недействительным (изменилась топология) или у соседа изменилась метрика, DUAL проверяет, есть ли для данного маршрута feasible successor.
Если feasible successor есть, DUAL использует его в качестве successor-а, что позволяет избежать перерасчет маршрута.
Если feasible successor-а для маршрута нет, производится перерасчет маршрута. Хотя перерасчет не сильно загружает процессор, он занимает определенное время, поэтому желательно избегать ненужных перерасчетов.
На первый взгляд всё так и есть. Но если попытаться разобраться в том, как работает DUAL, станет понятно, что данное описание неполно. Рассмотрим следующую топологию в качестве примера:

вторник, 11 марта 2014 г.

Редистрибуция в IPv4 и IPv6.

Нюансы, нюансы.
Если в OSPFv2 мы решим редистрибутить сети из соседнего EIGRP, то ввод команды "redistribute eigrp 1 subnets" приведет к запуску следующего процесса:
  • Все маршруты имеющиеся в show ip route eigrp станут кандидатами для редистрибуции. 
  • Все connected сети на интерфейсах которых работает eigrp так-же будут редистрибутированы.
А вот в IPv6 окружении, несколько иначе. Собственно само различие весьма небольшое, по умолчанию не будут подвержены редистрибуции connected сети, для их включения в него создан ключ include connected. Поведение этого механизма несколько отличается в раличных версиях IOS и для протоколов, особенно это касается BGP.

среда, 12 февраля 2014 г.

Оптимизация SPF в OSPF.


Как известно, в OSPF для нахождения кратчайших intra-area маршрутов используется алгоритм Дейкстры. Он же используется и в IS-IS, тем не менее эти протоколы по разному реагируют на изменения топологии. Так, добавление нового stub-роутера или изменение/добавление ip-адреса, приводит в случае OSPF (имеем в виду v2 если не указано обратное) к полному пересчету SPT. Однако, в случае IS-IS такого не происходит. Отчего и почему рассмотрим далее.

пятница, 7 февраля 2014 г.

Cisco и таблица маршрутизации.

sh ip route

Известная всем команда выводит текущение содержимое таблицы маршрутизации. Но стоит задуматься, откуда там появляются маршруты? Как они удаляются оттуда? Что вообще черт побери происходит? Рассмотрим ответы на эти вопросы далее.

вторник, 4 февраля 2014 г.

Познакомимся поближе с virtual-link

Virtual-link?

Общее предназначение виртуал-линков думаю всем известно. Обычно ими соединяют разделенную нулевую область или присоединяют "оторванную" область к нулевой через транзитную. Но это только одно из предназначений, про другое обычно забывают.

Рассмотрим следующую топологию:



воскресенье, 2 февраля 2014 г.

LSA четвертого типа в OSPF. Откуда?

Откуда же берутся LSA 4 в OSPF? Их назначение известно хорошо, т.к. LSA 5 проникают сразу во все области нашего OSPF, требуется как-то находить источник внешних маршрутов. Довольно часто встречается ошибочное мнение (например в статьях на хабре), что ASBR генерирует LSA 4 прямо совместно с LSA 5. Что есть совсем неправда. Рассмотрим простую топологию:

MPLS VPN, OSPF PE-CE Protocol



Введение.

Рассмотрим несколько особенностей OSPFv2 как PE-CE протокола в MPLS VPN окружении. Для этого нам понадобится горсть различных роутеров да немного энтузиазма.
Итак, зачем же нам именно MPLS VPN? Почему просто не экспортировать маршруты в обычный BGP бэкбон? Это действительно можно сделать, но проблема в том, что BGP не сохранит значение route type, что в конечном итоге приведет к экспорту нашего маршрута в целевой OSPF с типом «внешний». Казалось бы, что в этом плохого? А вот целый список минусов такого подхода: