Маршрутизация в Cisco

Материал из Xgu.ru

Перейти к: навигация, поиск
stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.

Если вы считаете, что её стоило бы доработать как можно быстрее, пожалуйста, скажите об этом.

Автор: Наташа Самойленко

На этой странице описываются настройки различных механизмов работы с протоколами динамической маршрутизации и др. на маршрутизаторах Cisco.

Тут описана краткая настройка специфических функций (не базовые настройки протоколов) для сравнения их настройки в различных протоколах. Рассматриваются отличия работы одинаковых функций в различных протоколах маршрутизации.

Описаны полезные команды для просмотра информации, касающейся маршрутизации. Полезные для поиска неисправностей и для понимания внутренней работы протоколов.

Более подробная информация о настройке конкретных протоколов маршрутизации описана на соответствующих страницах:

Содержание

[править] Отношения соседства

[править] Отношения соседства в RIP

[править] Отношения соседства в OSPF

Для того чтобы маршрутизаторы установили отношения соседства (adjacency), в hello-пакетах должны совпадать значения таких полей:

  • HelloInterval;
  • RouterDeadInterval;
  • Area ID;
  • Authentication — пароль использующийся для аутентификации. Маршрутизаторы не обязательно должны использовать аутентификацию, но если она используется, то пароли должны совпадать;
  • Stub area flag — необязательный флаг, который устанавливается на всех маршрутизаторах, которые принадлежат тупиковой зоне (stub area).

[править] Отношения соседства в EIGRP

Для того чтобы маршрутизаторы стали соседями должны выполняться такие условия:

  • маршрутизаторы должны пройти аутентификацию,
  • маршрутизаторы должны быть в одной AS,
  • отношения соседства должны устанавливаться на primary-адресах (когда приходит hello-пакет, маршрутизатор проверяет принадлежит ли адрес отправителя сети на primary-адресе интерфейса),
  • должны совпадать значения K-коэффициентов.

Для того чтобы маршрутизаторы стали EIGRP-соседями у них не обязательно должны совпадать Hello и Hold time.

Если на одном из маршрутизаторов изменены Hello или Hold time, то соседи этого маршрутизатора будут использовать эти значения. Для того чтобы сам маршрутизатор использовал другие значения, необходимо изменить таймер на соответствующем интерфейсе соседа.

[править] Отношения соседства в IS-IS

Условия формирования соседства.

  1. наличие L2(data-link)-транспорта (clns-резолвинг на NBMA-интерфейсах - FR, ATM);
  2. уровень соседства должен совпадать (L1, L2).
  3. в случае соседства на уровне L1, значение зоны в NET-адресе должно совпадать.
  4. Network Types на связующих интерфейсах должны совпадать.
    1. brodcast (выбирается DIS)
    2. point-to-point (не выбирается DIS).
  5. MTU на соседствующих интерфейсах
    1. совпадают;
    2. размер >= 1492 байт. Здесь понимается кусок кадра, относящийся к IS-IS (без data-link-заголовка). Это нужно, чтобы LSA, содержащие информацию о топологии, гарантированно проходили.

В целом, формирование соседства в IS-IS гораздо проще, чем в OSPF.
Оно осуществляется с помощью PDU, которые инкапсулируются в кадры канального уровня модели OSI. Поэтому протоколу не нужны даже ip-адреса, он может работать просто на L2-линках.
Значения hello и dead таймеров у соседей могут не совпадать.
Важной особенностью являются hello-PDU, поскольку их целью является не только поиск соседей и установление соседства, но и проверка MTU линка на достаточный размер. Эталонным L2-MTU считается значение 1518 байт. Заголовок L2 IEEE 802.3 SNAP составляет 26 байт. 1518-26=1492.
Чтобы гарантировать доступность MTU в 1492 байта, hello-сообщения содержат поле Padding, в котором с помощью добавления нулей достигается нужная длина. Чтобы сберечь пропускную способность линка, функцию padding в hello можно оставить только для первых hello, а для остальных отключить.

[править] Отношения соседства в BGP

Для того чтобы установить отношения соседства, в BGP надо настроить вручную каждого соседа.

BGP выполняет такие проверки, когда формирует отношения соседства:

  1. Маршрутизатор должен получить запрос на TCP-соединение с адресом отправителя, который маршрутизатор найдет указанным в списке соседей (команда neighbor).
  2. Номер автономной системы локального маршрутизатора должен совпадать с номером автономной системы, который указан на соседнем маршрутизаторе командой neighbor remote-as (это требование не соблюдается при настройках конфедераций).
  3. Идентификаторы маршрутизаторов (Router ID) не должны совпадать.
  4. Если настроена аутентификация, то соседи должны пройти её.

BGP выполняет проверку таймеров keepalive и hold, однако несовпадение этих параметров не влияет на установку отношений соседства. Если таймеры не совпадают, то каждый маршрутизатор будет использовать меньшее значение таймера hold.

[править] Выбор лучшего маршрута

В этом разделе описывается как выбираются лучшие маршруты в пределах одного протокола. То что маршрут был выбран лучшим среди всех маршрутов полученных по одному протоколу маршрутизации, ещё не значит, что он обязательно будет помещен в таблицу маршрутизации, так как маршрут в одну и ту же сеть может быть получен с помощью разных протоколов маршрутизации.

Если необходимо сделать выбор между различными протоколами маршрутизации, то сравниваются значения administrative distance, которые присвоены соответствующим протоколам.

Выбранные лучшие маршруты попадают в таблицу маршрутизации.

[править] Выбор лучшего маршрута в пределах одного протокола

[править] Выбор лучшего маршрута в RIP

RIP является дистанционно векторным протоколом. Помимо всего прочего, это означает, что наилучшим, с его точки зрения, считается маршрут с наименьшим количеством переходов.

RIP использует метрику hop. Максимально возможная метрика — 15, маршрут с метрикой 16 считается недостижимым. Из вышесказанного следует, что RIP не следует использовать в сетях с возможным количеством переходов более 15.

[править] Выбор лучшего маршрута в OSPF

OSPF, при выборе лучшего маршрута, учитывает два критерия — тип маршрута и стоимость маршрута.

OSPF использует метрику, которая называется стоимость (cost). Стоимость сравнивается у маршрутов одного типа.

Если маршрутизатору известны маршруты к одной и той же сети, но эти маршруты разных типов, то маршрутизатор выбирает наиболее приоритетный тип маршрута и не учитывает стоимость маршрута.

Различные типы маршрутов, в порядке убывания приоритета:

  • Внутренние маршруты зоны (intra-area)
  • Маршруты между зонами (interarea)
  • Внешние маршруты типа 1 (E1)
  • Внешние маршруты типа 2 (E2)

Если существует различные маршруты одного типа, то маршрутизатор сравнивает их метрику и помещает в таблицу маршрутизации маршрут с наименьшей метрикой.

Стоимость присваивается интерфейсам маршрутизатора. Стоимость интерфейса высчитывается по формуле:

cost = reference bandwidth / link bandwidth
  • reference bandwidth — 108

Суммарная стоимость маршрута считается суммированием стоимости исходящих интерфейсов по пути передачи LSA.

Для того чтобы обозначить недоступную сеть, OSPF использует метрику равную 16777215 (224 —1), которая считается недостижимой метрикой для OSPF.

[править] Выбор лучшего маршрута в EIGRP

EIGRP, при выборе лучшего маршрута, учитывает два критерия — тип маршрута и метрику маршрута.

В первую очередь сравнивается тип маршрута, без учёта метрики. Внутренние маршруты EIGRP более приоритетные чем внешние (external).

Если известны разные маршруты одного типа, то сравнивается метрика маршрутов и выбирается маршрут у которого метрика меньше.

Метрика EIGRP основана на таких 5 компонентах (по умолчанию используются только два):

  • Bandwidth
  • Delay
  • Reliability
  • Loading
  • MTU

Формула вычисления метрики по умолчанию (более подробно об использовании других коэффициентов на странице EIGRP):

Metric = 256(107)/bandwidth + 256 (delay)

[править] Выбор лучшего маршрута в IS-IS

IS-IS, при выборе лучшего маршрута, учитывает два критерия — тип маршрута и метрику маршрута.

Если маршрутизатору известны маршруты к одной и той же сети, но эти маршруты разных типов, то маршрутизатор выбирает наиболее приоритетный тип маршрута и не учитывает метрику маршрута.

Различные типы маршрутов, в порядке убывания приоритета:

  • L1
  • L2
  • Внешние маршруты (external)

По умолчанию метрика на интерфейсах равна 10.

[править] Выбор лучшего маршрута в BGP

Характеристики процедуры выбора пути протоколом BGP:

  • В таблице BGP хранятся все известные пути, а в таблице маршрутизации — лучшие.
  • Пути выбираются на основании политик.
  • Пути не выбираются на основании пропускной способности.

На маршрутизаторе Cisco, если не настроены никакие политики выбора пути, выбор пути происходит таким образом (на каждый следующий шаг маршрутизатор переходит только при совпадении значений на предыдущем):

  1. Максимальное значение weight (локально для маршрутизатора).
  2. Максимальное значение local preference (для всей AS).
  3. Предпочесть локальный маршрут маршрутизатора (next hop = 0.0.0.0).
  4. Кратчайший путь через автономные системы.
  5. Минимальное значение origin code (IGP < EGP < incomplete).
  6. Минимальное значение MED (распространяется между автономными системами).
  7. Путь EBGP лучше чем путь IBGP.
  8. Выбрать путь через ближайшего IGP-соседа.
  9. Выбрать самый старый маршрут для EBGP-пути.
  10. Выбрать путь через соседа с наименьшим BGP router ID.
  11. Выбрать путь через соседа с наименьшим IP-адресом.

Icon-caution.gif

Только лучший путь помещается в таблицу маршрутизации и анонсируется BGP-соседям.

[править] Выбор лучшего маршрута между разными источниками

[править] Administrative distance

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

Administrative distance (AD) — это число присвоенное каждому из возможных источников маршрутов, которое является некой степенью доверия к источнику. В таблицу маршрутизации попадет маршрут от того источника у которого меньше значение AD. AD имеет только локальное значение и никак не влияет на принятие решения на других маршрутизаторах.

Значения administrative distance по умолчанию:

Источник маршрута Administrative Distance
Connected interface 0
Статический маршрут 1
Суммарный маршрут EIGRP 5
External BGP 20
EIGRP 90
IGRP 100
OSPF 110
IS-IS 115
RIP 120
EGP 140
External EIGRP 170
Internal BGP 200
Unknown 255

Изменение AD для протоколов RIP, OSPF, IS-IS:

dyn3(config-router)# distance <administrative distance> [address wildcard-mask [access-list-number | name]]

Параметры команды distance:

  • <administrative distance> — значение administrative distance. Значения по умолчанию в таблице
  • address wildcard-mask:
    • для RIP, EIGRP, IS-IS — IP-адрес интерфейса соседа, который анонсирует этот маршрут
    • для OSPF — RID маршрутизатора, который создал LSA для маршрута
  • [access-list-number | name] — новое значение AD будет установлено при совпадении с permit правилом в ACL

Изменение AD для протокола EIGRP:

dyn3(config-router)# distance eigrp <internal-distance> <external-distance>


[править] Суммирование маршрутов

Различают два варианта суммирования маршрутов:

  • автоматическое суммирование,
  • административное суммирование.

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

Cisco рекомендует использовать административное суммирование маршрутов, когда количество маршрутов в таблице маршрутизации достигает количество 300-500 маршрутов. Адресация в сети должна быть заранее спланирована таким образом, чтобы суммирование маршрутов можно было выполнить.

[править] Автоматическое суммирование сетей

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

  • Автоматическое суммирование сетей -- если маршрутизатор пересылает обновление о подсети, которая находится в разных классовых сетях с передающим интерфейсом, то пересылается классовая сеть. Маршрутизатор считает, что удаленный маршрутизатор использует маску по умолчанию для данного класса. Поэтому в пересылаемом обновлении не передается маска. Это процесс также называется автоматическое суммирование сетей на границе сети (имеется ввиду на границе классовой сети);
  • Классовые протоколы маршрутизации не позволяют суммировать сети в других точках сети в пределах адресного пространства классовой сети;
  • При использовании классового протокола маршрутизации необходимо чтобы маска всех подсетей из одной классовой сети была одинаковая:
    • Если маршрутизатор пересылает обновление о подсети, которая находится в той же классовой сети, что и передающий интерфейс, то пересылается подсеть. Маршрутизатор считает, что у интерфейса и пересылаемой сети одинаковая маска.
    • Маршрутизатор, который получает такое обновление также считает, что маска одинаковая. Если на самом деле маска была другой, то у маршрутизаторов будет некорректная информация о сети.

Протоколы RIPv2 и EIGRP по умолчанию работают как классовые протоколы маршрутизации. Однако это поведение можно изменить, отключив автоматическое суммирование сетей.

Отключение автоматического суммирования сетей:

router(config-router)# no auto-summary

[править] Правила административного суммирования маршрутов

Для RIP, EIGRP и OSPF работают такие общие правила при суммировании маршрутов:

  • Метрика суммарного маршрута — минимальная метрика (лучшая метрика) из всех маршрутов, которые суммируются;
  • Маршрутизатор не анонсирует маршруты входящие в суммарный;
  • Когда последний специфический