?

Log in

Этот журнал я начинаю вести только для личного использования в качестве конспекта по курсу Cisco CCNA

PS. 17.05.12. CCNA удачно сдан. Следующая цель - CCNP Route. Поехали.

Оглавление.

CCNA
1. Настройка EIGRP
2. OSPF
3. Семестр 3. Глава 1. Архитектура коммутируемой локальной сети
4. Семестр 3. Глава 2. Базовая концепция коммутации в локальной сети и базовая конфигурация
5. Семестр 3. Глава 3. VLANs
6. Семестр 3. Глава 4. VTP
7. Семестр 3. Глава 5. STP
8. Семестр 3. Глава 6. Маршрутизация между VLANами 
9. Семестр 3. Глава 7. Беспроводные сети
10. Семестр 4. Глава 1. Введение в WAN
11. Семестр 4. Глава 3. Frame Relay
12. Семестр 4. Глава 4. Сетевая безопасность
13. Семестр 4. Глава 5. ACL
14. Семестр 4. Глава 6. Службы удаленного доступа
15. Семестр 4. Глава 7. DHCP, NAT, IPv6

CCNP ROUTE
1. EIGRP. Основные положения
2. EIGRP. Внедрение и проверка базовых настроек для LAN архитектуры предприятия
3. EIGRP. Внедрение и проверка настроек для WAN архитектуры предприятия
4. EIGRP. Внедрение и проверка аутентификации
5. EIGRP. Дополнительные функции в сети предприятия
6. OSPF. Планирование внедрения в масштабируемых сетях
7. OSPF. Как работают пакеты процесса
8. OSPF. Улучшение производительности в комплексных сетях
9. OSPF. Настройка и проверка маршрутизации
10. OSPF. Настройка и проверка суммирования маршрутов
11. OSPF. Настройка и проверка специальных типов зон
12. OSPF. Настройка и проверка аутентификации
13. Оценка производительности маршрутизации в сети и вопросы безопасности
14. Работа сети с множеством протоколов маршрутизации
15. Настройка и проверка перераспределения маршрутов
16. Вопросы оценки управления маршрутами в производительности сети
17. Планирование подключения сети предприятия к провайдеру интернет
18. Преимущества использования BGP
19. Сравнение функций и мест использования IBGP и EBGP
20. Базовая настройка и проверка работы BGP. Часть1
21. Базовая настройка и проверка работы BGP. Часть 2
22. Использование атрибутов BGP и процесс выбора пути
1. Выбор пути в BGP



Часто маршрутизаторы имеют нескольких соседей и получают обновления маршрутизации от каждого из соседей. Все обновления маршрутизации заносятся в таблицу BGP, и, в результате, может существовать несколько путей для достижения какой-то сети.  Всю таблицу BGP моно посмотреть с помощью команды show ip bgp.
Далее, пути к каждой сети оцениваются для определения, какой путь лучший. Пути, которые не являются лучшими, удаляются из критериев выбора, но остаются в таблице BGP на случай, если лучший путь станет недоступным. Если один из лучших путей недоступен, необходимо будет выбрать новый лучший путь.
BGP разработан без балансировки нагрузки, пути выбираются на основе политик, а не на основе пропускной способности. Процесс выбора в BGP убирает любые множественные пути, пока не останется один лучший путь.


Лучший путь передается в процесс управления таблицей маршрутизации, где он оценивается с маршрутами к этой сети, полученными от других протоколов. На маршрутизаторе обычно работает BGP и один из внутренних протоколов маршрутизации, которые своих кандидатов в таблицу маршрутизации менеджеру таблицы маршрутизации. Вся таблица маршрутизации может быть просмотрена командой show ip route.



После того, как BGP получает обновления о различных пунктах назначения от различных автономных систем, он выбирает единственный путь для достижения определенного пункта назначения.
Процесс принятия решения основан на BGP атрибутах. Когда маршрутизатор сталкивается с множеством маршрутов к одному и тому же пункту назначения, BGP выбирает лучший маршрут для отправки трафика в пункт назначения. BGP рассматривает только маршруты без петель автономных систем и действительным адресом следующего шага. BGP выбирает лучший маршрут следующим образом:
1. Наиболее предпочтителен маршрут с самым высоким весом. (Вес – является проприетарным атрибутом Cisco и относится только к локальному маршрутизатору.)
2. Если несколько маршрутов имеют одинаковый вес, преимущество имеет  маршрут с наибольшим локальным предпочтением. (Локальное предпочтение используется внутри автономной системы).
3. Если несколько маршрутов имеют одинаковое локальное предпочтение, предпочтителен маршрут, порожденный локальным маршрутизатором. Локально рожденный маршрут имеет адрес следующего шага 0.0.0.0 в таблице BGP. 
4. Если нет маршрутов, которые были рождены локально, предпочтителен маршрут с самым коротким путем автономных систем.
5. Если длина пути через автономные системы одинакова, предпочтительным будет маршрут с наименьшим кодом источника (IGP<EGP<incomplete).
6. Если все коды источника одинаковы, предпочтительным будет путь с наименьшим MED (multiexit discriminator). MED-ами обмениваются между автономными системами.









После установления TCP сессии приложение BGP пытается установить сессию с соседом. Должно пройти несколько шагов перед установлением этой сессии.
После ввода команды neighbor в BGP, BGP берет из этой команды адрес соседа и ищет в локальной таблице маршрутизации маршрут к этому адресу. В это время
5. Определение состояния соседских отношений в BGP



После установления TCP сессии приложение BGP пытается установить сессию с соседом. Должно пройти несколько шагов перед установлением этой сессии.
После ввода команды neighbor в BGP, BGP берет из этой команды адрес соседа и ищет в локальной таблице маршрутизации маршрут к этому адресу. В это время BGP находится в состоянии «Idle».  Если BGP не найдет маршрут к этому адресу, он останется в этом состоянии.  Если же он найдет маршрут, то перейдет в состояние «Connect», когда получит от соседа TCP SYN ACK пакет. 
После установления TCP соединения, BGP создает BGP open пакет и отправляет его соседу. После отправки BGP open пакета, сессия BGP переходит в состояние «open sent». Если ответа на BGP open пакет не будет на протяжении 5 секунд, сессия BGP переходит в состояние «active».
Если ответ пришел в установленное время, BGP переходит в состояние «open confirm» и начинает сканировать маршруты в таблице маршрутизации для отправки соседу. Когда эти маршруты будут найдены, BGP переходит в состояние «established» n начинает маршрутизацию между соседями.
Состояния, через которые два маршрутизатора проходят при установлении BGP сессии, можно с помощью команд debug. В версии Cisco IOS 12.4 и выше используется команда debug ip bgp ipv4 unicast, а в более ранних версиях – debug ip bgp events. Команды debug используют много ресурсов маршрутизатора, поэтому их надо включать только по необходимости.



Состояние BGP «Idle» информирует о том, что маршрутизатор не знает, как ему достичь адреса, указанного в команде neighbor. Маршрутизатор бездействует в следующих случаях:
- он ожидает настройки статического маршрута к адресу или сети
- он ожидает, что внутренний протокол маршрутизации узнает об этой сети с помощью анонса от другого маршрутизатора
Основной причиной для маршрутизатора находится в состоянии «Idle» является то, что сосед не проанонсировал свой IP адрес или сеть, на который указывает команда neighbor маршрутизатора. Для решения этой проблемы прежде всего надо проверить:
- Убедиться, что сосед анонсирует маршрут во внутренний протокол маршрутизации
- Проверить, что правильный IP адрес был введен в команду neighbor.
Состояние «Esteblished» является желанным состоянием соседских отношений. Это состояние означает, что оба маршрутизатора согласовали обмен обновлениями друг с другом и маршрутизация началась.


Для отображения информации о BGP соединениях с соседями используется команда show ip bgp neighbors. На рисунке видно, что состояние BGP «established», что означает, что соседи установили TCP соединение и договорились использовать BGP для связи.



Если маршрутизатор находится в состоянии «Active», значит он нашел IP адрес соседа, указанный в команде neighbor, а также создал и отправил open пакет. Но не получил подтверждение от соседа (open confirm пакет). 
В этом случае одной из проблем может быть то, что сосед не имеет маршрута к адресу источника пакета.  Необходимо проверить, что адрес источника анонсируется во внутренний протокол маршрутизации. 
Другой проблемой, связанной с состоянием BGP «Active», может быть то, что BGP маршрутизатор пытается установить соседские отношения с маршрутизатором, не имеющим записи в команде neighbor о первом маршрутизаторе или с указанным неправильным IP адресом. Необходимо проверить команду neighbor у соседнего маршрутизатора.
Если состояние переключается между «Idle» и «Active», основной проблемой может быть неправильная настройка номеров автономных систем.



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



Одной из команд проверки соседских отношений является команда show ip bgp summary. На рисунке показана информация, выводимая этой командой. 
BGP router ID – IP адрес, который все соседи признают адресом, представляющий данный маршрутизатор
BGP table version – номер версии увеличивается на единицу каждый раз, когда меняется таблица BGP
Main routing table version – последняя версия таблицы BGP, которая была внедрена в таблицу маршрутизации
Neighbor – IP адреса, которые используются в команде neighbor, с которыми маршрутизатор имеет соседские отношения
Version (V) – версия BGP, которую данный маршрутизатор использует для связи с данным соседом
AS – номер автономной системы соседа
Messages received (MsgRcvd) – число BGP сообщений, полученных от соседа
Messages sent (MsgSent) – число BGP сообщений, отправленных соседу
Table version (TblVer) – номер версии таблицы BGP соседа
In queue (InQ) – число сообщений от соседа, ожидающих обработку
Out queue (OutQ) – число сообщений в очереди, ожидающих отправку к соседу. Управление потоком в TCP (flow control) не даст маршрутизатору отправлять соседу большие обновления.
Up/Down – промежуток времени, в течение которого сосед находится в текущем BGP состоянии (established, active или idle). 
State (established, active, idle, open sent, open confirm, idle [admin]) – состояние BGP. Сосед может быть административно выключен командой neighbor shutdown.
Prefix received – когда BGP сессия находится в состоянии «established», это значение показывает число BGP сетей, полученных от соседа

6. Аутентификация в BGP



На маршрутизаторе может быть настроена BGP аутентификация соседей. Тогда маршрутизатор будет проверять источник каждого получаемого пакета обновления. Эта аутентификация выполняется путем обмена ключами аутентификации (паролями), которые известны и отправляющему, и принимающему маршрутизатору.
BGP поддерживает MD5 аутентификацию. MD5 отправляет хэш сообщения, который создается из ключа и самого сообщения.  Хэш сообщения отправляется вместо ключа. Сам ключ не отправляется, чтобы обезопасить его от прочтения злоумышленником во время передачи.
Для включения MD5 аутентификации на TCP соединении между двумя BGP соседями используется команда меню настройки маршрутизации neighbor {ip-address | peer-group-name} password string.
MD5 аутентификация может быть настроена между двумя соседями, это означает, что каждый сегмент на TCP соединении между соседями будет проверяться. MD5 аутентификация должна быть настроена с одинаковыми паролями на обоих соседях, иначе соединение между соседями не будет установлено. Настройка MD5 аутентификации является причиной, по которой происходит генерация и проверка хеша каждого сегмента, отправляемого по TCP соединению.
Если ключ аутентификации будет установлен неправильно, BGP сессия не будет установлена. Поэтому рекомендуется внимательно вводить пароль, а также проверять установление сессии после настройки аутентификации.
Если группа BGP соседей определена использованием аргумента peer-group-name, все члены группы будут наследовать характеристики, настроенные этой командой.
Если маршрутизатор будет иметь настроенный пароль, а сосед – нет, на консоли маршрутизатора появится сообщение:
%TCP-6-BADAUTH: No MD5 digest from 10.1.0.2 (179) to 10.1.0.1 (20236)
Похожее сообщение будет выводиться, если на двух маршрутизаторах будут настроены разные пароли:
%TCP-6-BADAUTH: Invalid  MD5 digest from 10.1.0.1 (12293) to 10.1.0.2 (179)
Если пароль или ключ MD5 аутентификации между двумя соседями с настроенной аутентификацией изменить, локальный маршрутизатор не будет завершать существующую сессию сразу после смены пароля. Он попробует поддержать сессию с новым паролем пока не истечет BGP hold-down таймер. По умолчанию этот период составляет 180 секунд. Если пароль на удаленном маршрутизаторе не будет изменен до истечения hold-down nfqvthf, сессия будет завершена.
Настройка нового значения hold-down таймера будет иметь эффект только после сброса текущей сессии. Нет возможности поменять это значение без сброса сессии.


На рисунке показан пример настройки MD5 аутентификации для BGP сессии между маршрутизаторами R1 и R2. Одинаковые пароли должны быть настроены на маршрутизаторах до окончания Hold-таймера.

7. Пример активации базовой конфигурации BGP



На рисунке показан еще один пример BGP,  который включает все базовые настройки BGP. Маршрутизатор R1 имеет одного внешнего EBGP соседа, R2 имеет одного внешнего EBGP и одного внутреннего IBGP соседа, а R3 – одного внутреннего IBGP соседа. На рисунке показана конфигурация R1 и R2, вместе с которой будут даны пояснения необходимых базовых настроек для создания внешних и внутренних BGP отношений.
Конфигурация для R1 следующая:
Команда router bgp 65020 указывает, что локальный номер автономной системы 65020. Первая подкоманда описывает соседа, с которым устанавливаются соседские отношения, указывается его IP адрес и номер автономной системы. С точки зрения R1 маршрутизатор R2 – EBGP сосед. Подкоманда neighbor на маршрутизаторе R1 для R2 указывает на адрес прямого соединения  R2. Вторая подкоманда включает аутентификацию для процесса обмена сообщениями между соседями R1 и R2. Подкоманда network уведомляет BGP о сетях, которые необходимо распространять. Она содержит подсеть сети класса В  и использует для этого маску.
Конфигурация для R2 следующая:
Команда router bgp 65010 указывает, что локальный номер автономной системы 65010. Первая подкоманда описывает соседей, с которыми устанавливаются соседские отношения, указывается их IP адреса и номера автономной системы. У R2 есть два соседа. С точки зрения R2 маршрутизатор R1 – EBGP сосед, а R3 – IBGP сосед. Подкоманда neighbor на маршрутизаторе R2 для R1 указывает на адрес прямого соединения  R1. Кроме того, подкоманда neighbor на маршрутизаторе R2 для R3 указывает на адрес Loopback интерфейса R3, т.к. R2 имеет несколько путей для достижения R3. И если на маршрутизаторе R2 указать адрес R3 192.168.3.2, то при падении интерфейса маршрутизатор R2 не сможет переустановить сессию до момента подъема интерфейса. При указании Loopback интерфейса сессия BGP будет оставаться работоспособной до тех пор, пока будет доступен хотя бы один путь от R2 к R3.На маршрутизаторе R3 также надо указывать адрес Loopback интерфейса маршрутизатора R2. Также на R2 включена аутентификация для связи с R1 и указан пароль, такой же, как и в конфигурации на R1.
Команда neighbor 192.168.2.2 update-source Loopback 0 указывает маршрутизатору R2 всегда использовать адрес интерфейса Loopback 0 как адрес источника при отправке обновлений маршрутизатору R3. Маршрутизатор R2 также меняет адрес следующего шага для сетей, доступных через него. По умолчанию, адрес следующего шага для сетей из автономной системы 65020 – 10.1.1.2. С помощью команды next-hop-self маршрутизатор R2 устанавливает адрес следующего шага адрес своего Loopback 0 интерфейса.
Три команды network указывают на сети, которые надо распространять через BGP. Первая – подсеть класса В с маской подсети. А вторая и третья – две сети класса С, подключенные к R2 и R3. По умолчанию у этих сетей маска 255.255.255.0, поэтому нет необходимости включать маску в команду.

8. Проверка настройки BGP



Для отображения базы данных BGP топологии используется команда show ip bgp.
На рисунке показан частичный вывод этой команды. Коды статуса показуются в начале каждой строки, а коды происхождения – в конце строки. В большинстве строк в первой колонке стоит звездочка (*). Это означает, что адрес следующего шага (в пятой колонке) правильный. Адрес следующего шага это не всегда маршрутизатор, имеющий прямое соединение с текущим. Другие варианты значений статуса, которые могут быть в первой колонке, следующие:
- S – suppressed, показывает, что какой-то маршрут подавлен (обычно, когда используется суммирование маршрутов, отправляется только суммарный маршрут).
- D – dampening, показывает, что на маршрут был наложен штраф из-за частого падения и появления. Хоть маршрут может быть правильным в данный момент, он не будет распространяться, пока не истечет время штрафа.
- Н – history, показывает, что маршрут недоступен, историческая информация о маршруте имеется, но лучший путь не существует.
- R – сбой базы с информацией о маршрутах (RIB), показывает, что маршрут не был помещен в RIB. Причину, по которой это произошло, можно узнать с помощью команды show ip bgp rib-failure, которая показана на следующем рисунке.
- S – stale, показывает, что маршрут устаревший.
Вторая колонка показывает знак больше (>), когда BGP выбирает этот путь как лучший маршрут к сети.
Третья колонка обычно пустая или показывает символ «i». Если в колонке пусто, значит BGP изучил этот маршрут от внешнего соседа. Символ «i» показывает, что маршрут был распространен внутренним IBGP соседом.
В четвертой колонке перечислены сети, которые знает маршрутизатор.
Колонка Next Hop содержит все адреса следующего шага для каждого маршрута. Эта колонка может содержать запись 0.0.0.0, что означает, данный маршрутизатор является источником маршрута.
Три колонки левее колонки Path показывают три атрибута BGP пути: метрика (Multi-exit discriminator – MED), локальные предпочтения (local preference) и вес.
Колонка с заголовком Path может содержать последовательность автономных систем в пути. Первый слева номер указывает на автономную систему, от которой эта сеть была изучена. Крайний правый номер – автономная система – источник или хозяин этой сети. Номера автономных систем между этими двумя номерами представляют точный путь из автономных систем, через которые необходимо будет пройти пакету, чтобы достигнуть начальную автономную систему. Если колонка Path пуста, значит сеть принадлежит текущей автономной системе.
Последняя колонка показывает, как этот маршрут был введен в BGP на маршрутизаторе – источнике сети. Если в ней стоит «i», значит на маршрутизаторе – источнике, вероятно, использовалась команда network для ввода сети в BGP.  Знак вопроса (?) показывает, что BGP не может точно знать о доступности этой сети, т.к. она была введена в BGP из внутреннего протокола маршрутизации. 


Команда show ip bgp rib-failure используется для отображения BGP маршрутов, которые не были добавлены в базу данных RIB, а также причины, по которой это не произошло.
В примере на рисунке видно, что маршруты не были добавлены, так как маршруты с лучшим административным расстоянием уже присутствуют в базе.



BGP может обрабатывать огромные объемы маршрутной информации. При изменении политики конфигурации, маршрутизатор не может пройти через огромную таблицу BGP информации и пересчитать, какая  запись не действительна в локальной таблице, и маршрутизатор не может определить, какой маршрут или маршруты, которые уже распространяются, необходимо убрать от соседей.
Существует вероятность того, что вслед за первым изменением конфигурации немедленно последует второе, а следовательно весь процесс пересчета надо начинать заново. Для избежания таких проблем Cisco IOS применяет изменения только к тем обновлениям, которые были получены или отправлены после того, как были применены изменения. Новые политики, внесенные новыми фильтрами, применяются только к маршрутам, принятым или отправленным после изменений.
Администратор сети, который хочет, чтобы измененные политики были применены ко всем маршрутам, должен запустить обновление, чтобы заставить все маршруты пройти через новый фильтр. Если фильтр применен к исходящей информации, маршрутизатор должен пропустить всю BGP таблицу через новый фильтр. Если фильтр применен ко входящей информации, маршрутизатору необходимо пропустить через фильтр все BGP таблицы соседей.
Есть три пути для запуска обновления: аппаратный сброс, программный сброс и обновление маршрутов.



Сброс сессии – это метод информирования соседа или соседей об изменении политики. Если BGP сессии сбрасывается, вся информация, полученная в этой сессии, считается недействительной и удаляется из таблицы BGP. Также, удаленный сосед, который обнаружит сессию в выключенном состоянии, удалит всю информацию, полученную в этой сессии. Через 30-60 секунд BGP сессия переустановится автоматически, и BGP таблицы будут обменяны между соседями, но уже через новые фильтры. Кроме того, сброс BGP сессии нарушает пересылку  пакетов.
Обе команды, показанные на рисунке, приводят к аппаратному сбросу  BGP сессий с соседями. Аппаратный сброс означает, что маршрутизатор, на котором была выполнена эта команда, закроет соответствующее TCP соединение, переустановит TCP сессию, и заново отправит всю информацию каждому из соседей, указанному в команде.
Команда clear ip bgp * приведет к тому, что вся информация из таблицы BGP будет удалена, и маршрутизаторы необходимо будет заново изучать информацию от всех соседей. Если маршрутизатор имеет много соседей, это действие может привести к очень сложной ситуации.Эта команда заставит всех соседей отправлять свою информацию одновременно.
Напрмер, в ситуации, когда маршрутизатор R1 имеет восемь соседей и каждый сосед имеет полную базу данных интернета размером 32 Мб. Если на маршрутизаторе R1 применить команду clear ip bgp , все восемь соседей будут отправлять 32 Мб информации одновременно. Для хранения всех этих обновлений, маршрутизатор R1 должен иметь 256 Мб оперативной памяти. Также он должен суметь обработать всю эту информацию. Обработка этой информации может забрать большое количество ресурсов процессора, что приведет к задержке машрутизации пользовательских данных.
Вторая команда, которую можно применить вместо первой, это clear ip bgp 10.1.1.2. Она позволяет сбрасывать сессию только с одним выбранным соседом. Влияние от применения этой команды на трафик и ресурсы маршрутизатора будет меньше, но изменение политики для всех маршрутизаторов будет идти дольше, так как необходимо сбрасывать BGP сессии для каждого соседа в отдельности.


Опция soft out команды clear ip bgp заставляет BGP делать программный сброс исходящих обновлений. Маршрутизатор, на котором введена команда clear ip bgp soft out не сбрасывает BGP сессию, вместо этого он создает новое обновление и отправляет всю таблицу определенному соседу.
Это обновление включает команды для исключения сетей, которые сосед нокогда больше не увидит из-за новой исходящей политики.
Слово soft в этой команде является опциональным и его можно не указывать, команда clear ip bgp out сделает программный сброс для исходящих обновлений.



Существует два способа программного сброса входящей информации: с использованием хранящихся обновлений  маршрутной информации, как показано на рисунке сверху, а также динамически, как показано на рисунке ниже.
С помощью команды neighbor 10.1.1.2 soft-reconfiguration inbound происходит требуется от BGP сохранить все обновления, изученные от определенного соседа. BGP маршрутизатор сохраняет нефильтрованную таблицу обновлений, посланных соседом.
При изменении входящей политики используется команда clear ip bgp in. Сохраненная нефильтрованная таблица используется для генерации новых входящих обновлений, новые результаты заносятся в базу данных BGP.  Таким образом, при изменении входящей политики нет необходимости требовать от соседа отправки всей своей таблицы BGP. 



В версии Cisco IOS 12.0 представлено улучшение функции программного сброса BGP, также известного как обновление маршрутов, которое предоставляет автоматическую поддержку динамического программного сброса таблицы входящих BGP обновлений и не зависит от сохраненной таблицы обновлений. Команда clear ip bgp soft in реализует эту функцию. Этот метод не требует предварительной настройки и требует значительно меньше памяти, чем предыдущий метод программного сброса для входящих таблиц обновлений.
Опция soft in генерирует новые входящие обновления без сброса BGP сессии, но может интенсивно использовать память. BGP не разрешает маршрутизатору требовать от соседа переслать всю его таблицу. Если входящая политика изменилась и аппаратный сброс не был произведен, надо настроить маршрутизатор для выполнения программной переконфигурации.
Для определения, может ли BGP маршрутизатор поддерживать возможность обновления маршрутов, используется команда show ip bgp neighbors. Следующее сообщение в выводе команды показывает поддержку обновления маршрутов:
Received route refresh capability from peer.
Если все маршрутизаторы поддерживают обновление маршрутов, используется команда clear ip bgp {* | address | peer-group-name} in. Нет необходимости использовать слово soft, так как программный сброс автоматически будет запущен, когда маршрутизатор поддерживает функцию обновления маршрутов.
Команда clear ip bgp soft выполнит программный сброс и входящих, и исходящих обновлений.


Когда происходит сброс BGP сессии и используется программная реконфигурация, есть несколько команд, позволяющих мониторить, как маршруты получаются, отправляются или фильтруются.
Можно использовать следующие команды:
- show ip bgp naighbor address recieved
- show ip bgp neighbor address routes
- show ip bgp
- show ip bgp neighbor address advertised



На рисунке выше представлен частичный вывод информации после ввода команды debug ip bgp updates на маршрутизаторе R1 после выполнения команды clear ip bgp, в результате которой произошел сброс BGP сессии с соседом 10.1.0.2.
После того, как соседские отношения были переустановлены, маршрутизатор R1 создал и отправил обновление на адрес 10.1.0.2. Первое обновление, подсвеченное на рисунке, «10.1.1.0/24, next 10.1.0.1», это обновление о сети 10.1.1.0/24 с адресом следующего шага 10.1.0.1, который является адресом маршрутизатора R1.
Следующее обновление, подсвеченное на рисунке, «10.97.97.0/24, next 172.31.11.4», это обновление о сети 10.97.97.0/24 с адресом следующего шага 172.31.11.4, который является адресом одного из внешних EBGP соседей маршрутизатора R1. EBGP адрес следующего шага передается в IBGP.
Позже маршрутизатор R1 получает обновление от 10.1.0.2. Обновление содержит путь к двум сетям, 10.1.2.0/24 и 10.1.0.0/24. Атрибуты, показанные в этом обновлении будут рассмотрены в следующей главе.
1. Технические требования для развертывания BGP



Перед настройкой BGP администратор должен определить сетевые требования, включая внутреннее соединение при развертывании и настройке IBGP и внешнее соединение при развертывании и настройке EBGP.



Требования для базовой настройки BGP включают следующую информацию:
- номера автономных систем, вашей собственной и всех удаленных
- все соседи, включенные в процесс BGP, а также IP адресация, используемая у соседей
- сети, которые должны быть представлены в BGP 
Типичная BGP конфигурация включает настройку BGP между сетью абонента и провайдером. Этот процесс называется внешним BGP (EBGP). Иногда требуется внутренний BGP, а также сбор информации для завершения настройки.

2. Установление внешнего и внутреннего соседства в BGP



Базовая настройка внешнего BGP требует выполнения трех основных шагов:
- определение процесса BGP
- установление соседских отношений
- анонсирование сетей в BGP
Для выполнения этих шагов, необходима информация о соседях: какие у них номера автономных систем, какие IP адреса их маршрутизаторов, какие сети будут анонсироваться.



Синтаксис команд базовой настройки BGP похож на синтаксис при настройке внутренних протоколов  маршрутизации. Однако имеются различия в функционировании BGP.
Команда router bgp 65010 используется для входа в режим конфигурирования процесса BGP. Также эта команда определяет номер локальной автономной системы, в которой находится маршрутизатор. Маршрутизатор должен быть проинформирован о номере автономной системы, чтобы он мог определить, являются настроенные соседи внутренними или внешними.
Команда router bgp сама по себе не активирует процесс BGP на маршрутизаторе. Для этого необходимо ввести по крайней мере одну подкоманду в режиме конфигурирования BGP. На маршрутизаторе односременно может работать только один процесс BGP. Поэтому, если после ввода команды router bgp 65010 попытаться определить локально новую автономную систему, например, router bgp 65020, маршрутизатор выдаст ошибку и скажет, что уже определена автономная система 65010.
Для установления соединения с другой автономной системой надо ввести команду neighbor с указанием номера удаленной автономной системы и IP адреса маршрутизатора, находящегося в этой системе. Например, neighbor 10.1.1.2 remote-as 65020. Эта же команда активирует сессию BGP для соседнего маршрутизатора.
Эта команда определяет маршрутизатор, с которым локальный маршрутизатор будет устанавливать сессию, и эта настройка необходима для каждого соседа, с которым будут устанавливаться отношения.
Адрес, используемый в этой команде, это адрес назначения, который будет использоваться для всех пакетов, предназначенных соседнему маршрутизатору. Этот адрес должен быть доступен, так как именно с устройством с эти адресом будет устанавливаться TCP сессия и производится обмен обновлениями. Внешняя BGP сессия обычно устанавливается между непосредственно подключенными соседями.
Номер автономной системы, который есть частью команды, используется для определения типа соседа, как внешнего (EBGP) или внутреннего (IBGP). Если номер автономной системы совпадает с локальным, сосед считается внутренним и IP адрес, указанный в команде neighbor, не должен быть непосредственно подключенным. Если же номер автономной системы отличается, то, по умолчанию, IP адрес должен быть непосредственно подключенным.


Есть два варианта анонсирования сетей в процесс BGP. Первый вариант – это использование команды network для определения требуемых сетей. Второй вариант – это перераспределение маршрутов из внутреннего протокола маршрутизации в процесс BGP. 
Для разрешения BGP анонсировать сеть 10.2.2.0, если она присутствует в таблице маршрутизации, используется команда network 10.2.2.0 mask 255.255.255.0.
Команда network определяет сети, о которых маршрутизатор знает. Это понятие отлично от использования команды network во внутренних протоколах маршрутизации. В отличии от внутренних протоколов маршрутизации, команда network не запустит процесс BGP на определенном интерфейсе, она всего лишь указывает BGP, какие сети можно использовать в BGP. Параметр mask показывает, что BGP версии 4 может работать с подсетями и суперсетями.
До версии 12.0 Cisco IOS было ограничение в 200 команд network на маршрутизатор. Это ограничение теперь снято и количество используемых команд network ограничено только размером NVRAM и RAM.
Единственное предназначение команды network – уведомить BGP о сетях, которые будут анонсироваться. Без параметра mask команда network анонсирует полную классовую сеть. По крайней мере одна подсеть из классовой сети должна присутствовать в таблице маршрутизации, чтобы вся классовая сеть начала анонсироваться как BGP маршрут.
Кроме того, если параметр mask присутствует в команде network, необходимо полное совпадение сети и маски с таблицей маршрутизации. Перед тем, как анонсировать маршрут, BGP проверяет его доступность.



Например, если команда network 192.168.1.1 mask 255.255.255.0 будет введена, BGP будет искать маршрут именно для сети 192.168.1.1/24 в таблице маршрутизации. Там он может найти маршруты 192.168.1.0/24 или 192.168.1.1/32, однако он никогда не найдет маршрут к 192.168.1.1/24. Так как таблица маршрутизации не содержит информации об этой сети, BGP не будет анонсировать сеть 192.168.1.1/24 никому из своих соседей.
В другом примере, команда network 192.168.0.0 mask 255.255.0.0 определяет бесклассовый блок сетей. BGP ищет маршрут к 192.168.0.0/16 в таблице маршрутизации. Там он может найти маршруты 192.168.1.0/24 или 192.168.1.1/32, однако он никогда не найдет маршрут к 192.168.0.0/16 и не будет анонсировать сеть 192.168.0.0/16 никому из своих соседей. В этом случае можно настроить статический маршрут для сети 192.168.0.0/16 и направить его на интерфейс Null0 командой ip route 192.168.0.0 255.255.0.0 Null0. Тогда BGP сможет найти маршрут в таблице маршрутизации и будет его анонсировать.
Если команда network 192.168.1.0 будет введена без указания маски сети, BGP будет искать в таблице маршрутизации маршрут к сети 192.168.1.0/24.
Команда auto-summary меню настройки BGP определяет, как BGP обрабатывает перераспределенные маршруты. При включении BGP суммирования командой auto-summary все перераспределенные подсети будут просуммированы до их классовых границ в таблице BGP. Если суммирование выключено командой no auto-summary, все перераспределенные маршруты представлены в BGP таблице в оригинальном виде, поэтому только эти подсети будут анонсироваться. Начиная с версии IOS 12.2, по умолчанию автосуммирование выключено, а в предыдущих версиях – включено.



В варианте настройки 1, маршрутизатор R2 настраивается для EBGP. Для входа в режим настройки BGP используется локальный номер автономной системы 65010. Для определения режима BGP как внешнего (EBGP) используется команда neighbor remote-as, с помощью которой происходит сравнение номеров локальной и удаленной автономных систем. Так как номер удаленной системы отличается от номера локальной автономной системы, сосед определяется как внешний BGP сосед. Маршрутизатор R2 установит TCP сессию и начнет обмениваться обновлениями. Также R2 настроен для анонсирования двух локальных сетей своим соседям. Сети 10.2.2.0/24 и 10.4.4.0/24 должны находиться в таблице маршрутизации для попадания и анонсирования в процессе BGP. 
В варианте настройки 2, маршрутизатор R2 настраивается для EBGP. Но сети для анонсирования настраиваются по-другому. Внутренним протоколом маршрутизации является OSPF, в котором анонсируются сети 10.2.2.0/24 и 10.4.4.0/24. Для того, чтобы эти сети анонсировались в BGP, было настроено перераспределение маршрутов из OSPF в BGP. 



Граничные маршрутизаторы абонента (СЕ-маршрутизаторы) подключены к граничным маршрутизаторам провайдера (РЕ-маршрутизаторам). Между СЕ и РЕ маршрутизаторами настраивается EBGP, так как сети абонента и провайдера имеют различные номера автономных систем. Если сеть абонента имеет два или более подключения к провайдерам, обычно два маршрутизатора настраиваются для EBGP. Для обеспечения надежной связи с одним или более провайдерами, СЕ маршрутизаторы должны обмениваться BGP маршрутами. Внутренняя BGP сессия (IBGP) должна быть настроена между двумя СЕ маршрутизаторами.
На рисунке представлена типичная настройка BGP CE маршрутизатора R2. На нем настроены внешние (EBGP) соседские отношения с R5 и внутренние (IBGP) отношения с R4. IBGP сессия устанавливается с соседом, имеющим такой же номер автономной системы, как и локальный, 65010. EBGP сессия устанавливается с соседом, имеющим номер автономной системы, отличный от локального, 65020. Команды network используются для анонсирования двух сетей. А так как сеть 172.16.0.0 не является непосредственно подключенной, настроен статический маршрут для этой сети с указанием интерфейса Null0 для анонсирования этой сети в BGP. 

3. Выключение соседа в BGP



Для административного выключения или переустановления соседских отношений BGP используется команда neighbor 10.1.1.2 shutdown. 
Если на соседнем маршрутизаторе изменяются много параметров BGP, для внедрения этих параметров необходимо сначала выключить соседские отношения, внедрить изменения, а затем отношения восстановить командой no neighbor 10.1.1.2 shutdown.
Команда neighbor 10.1.1.2 shutdown не только прекращает BGP сессию, но и удаляет всю маршрутную информацию, ассоциированную с соседом.

4. Вопросы правильной настройки BGP



Для установления IBGP сессии между маршрутизаторами R3 и R4, как показано на рисунке, какой соседский IP адрес необходимо использовать?
Проблема заключается в следующем: если на маршрутизаторе R3 , будет настроена команда neighbor 10.7.7.2 remote-as 65010, но R4 из-за отсутствия прямого соединения между R3 и R4 будет отправлять пакеты обновления через R2 и R1, IP адрес источника будет другой.
Когда R3 получит этот пакет через R2 и R1, он не сможет распознать этот пакет, так как другой адрес соседа, был настроен на R4. Кроме того, BGP сессия между R3 и R4 не будет установлена. 
Решением этой проблемы является использование loopback интерфейсов для установления IBGP сессий при наличии нескольких путей между IBGP соседями.


Команда network меню настройки BGP информирует маршрутизатор, какой IP адрес использовать для отправки каждого пакета обновления соседу. Маршрутизатору необходимо решить, какой адрес источника использовать  в пакете обновления.
Когда маршрутизатор создает BGP пакет для соседа, он проверяет таблицу маршрутизации для сети назначения, чтобы доставить пакет. IP адрес исходящего интерфейса , выбранного в таблице маршрутизации, будет использоваться, как адрес источника в BGP пакете.
Когда BGP пакет приходит на маршрутизатор для создания новой BGP сессии, адрес источника сравнивается со списком адресов соседей, перечисленных в командах network. Для установления BGP сессии этот адрес должен совпадать со списком, иначе сессия не будет установлена.



Если же маршрутизатор будет указывать в качестве IP адреса соседа Loopback интерфейс, который всегда находится в рабочем состоянии, BGP сессия будет всегда работать, пока будет работать сам маршрутизатор. 
Для настройки BGP сессии между двумя IBGP маршрутизаторами с использованием Loopback интерфейсов, сначала необходимо на обоих маршрутизаторах в команде network указать IP адрес Loopback интерфейса соседа. Кроме этого надо убедиться, что в таблице маршрутизации присутствует маршрут к адресу Loopback интерфейса соседа, а также, что оба маршрутизатора анонсируют эти адреса в своих внутренних протоколах маршрутизации.
Опция update-source команды network замещает адрес источника пакета BGP, используемый по умолчанию. Необходимо указать маршрутизатору, какой IP адрес будет использоваться в качестве адреса источника для всех BGP пакетов.
Если эта опция не используется, BGP пакет, отправляемый к соседу будет использовать в качестве адреса источника IP адрес исходящего интерфейса.
Когда маршрутизатор создает пакет, то ли BGP обновление, то ли ISMP или любой другой тип пакета, маршрутизатор ищет в таблице маршрутизации маршрут к адресу назначения. По умолчанию, адрес интерфейса, через который пакет покинет маршрутизатор, и будет адресом источника.
Если же соседний маршрутизатор использует адрес Loopback интерфейса команде network, но команда neighbor update-source не используется, соседний маршрутизатор при получении пакета обновления смотрит адрес источника пакета, но видит, что адрес принадлежит источнику, с которым не установлены соседские отношения. Пакет будет отброшен.
BGP не обрабатывает неизвестные пакеты обновления. Каждый соседний марщрутизатор должен быть прописан командой neighbor
На рисунке маршрутизатор R2 имеет внешнего соседа R1 и внутреннего - R3. R1 и R2 имеют прямое соединение друг с другом, а R2 и R3 – нет. Для обеспечения связи между ними используется EIGRP. Чтобы соседские отношения между R2 и R3 не были привязаны к физическим интерфейсам, R2 устанавливает отношения с Loopback интерфейсом маршрутизатора R3 и использует в качестве адреса источника адрес своего Loopback интерфейса. Тоже самое делает и R3. 
Команду network update-source необходимо использовать на обоих маршрутизаторах. Если R2 будет указывать на Loopback адрес 2.2.2.2, а R3 – на 3.3.3.3, но оба они не будут использовать команду network update-source, BGP сессия между ними не установится.



Два внутренних IBGP маршрутизатора могут иметь несколько путей для связи друг с другом. Если BGP маршрутизатор использует адрес соседа, назначенный на физический интерфейс соседнего маршрутизатора, то при выключении интерфейса вследствие пропадания соединения маршрутизатор теряет BGP сессию с соседом.
Алгоритм, по котрому BGP устанавливает IBGP отношения, очень отличается от алгоритма, по которому устанавливают отношения внутренние протоколы маршрутизации. Следующий шаг у него означает IP адрес, используемый для достижения необходимой автономной системы. Метод, который BGP использует для определения этого адреса также отличается от метода, используемого внутренними протоколами маршрутизации. 
Следующий шаг по умолчанию означает следующее:
- EBGP – IP адрес соседнего маршрутизатора, присылающего обновления
- IBGP – IP адрес, анонсируемый EBGP, который необходимо перенести в IBGP
На рисунке видно, что следующим шагом для маршрута 11.0.0.0/8 всегда будет IP адрес 10.1.1.2, распространяемый EBGP соседом R5 к R3. Этот же адрес R3 анонсирует R4 через IBGP.  В случае разрыва соединения между R3 и R4, R4 не будет иметь информации, как достигнуть адрес 10.1.1.2, следовательно, он не сможет отправлять пакеты в сеть 11.0.0.0/8. Эта ситуация происходит даже если имеется резервное соединение (через R1 и R2).



Иногда необходимо перезаписать значение по умолчанию на маршрутизаторе и заставить его распространять самого себя как адрес следующего шага для маршрутов, отправляемых соседним маршрутизаторам.
Команда next-hop-self заставляет BGP использовать свой собственный IP адрес как адрес следующего шага для каждой сети, анонсируемой IBGP соседям, вместо адреса, выбираемого для использования протоколом.
Внутренние протоколы маршрутизации всегда используют адрес источника обновления как адрес следующего шага к сети, который помещается в таблицу маршрутизации.  Команда next-hop-self заставляет BGP использовать также адрес источника обновления как адрес следующего шага для всех анонсируемых сетей.
Маршрутизаторы R3 и R4 – IBGP соседи. Маршрутизатор R3 будет распространять все обновления на R4. Адресом следующего шага для всех маршрутов будет адрес источника пакетов обновлений от R3 на R4. На рисунке видно, что теперь адресом следующего шага для сети 11.0.0.0 является Loopback интерфейс маршрутизатора R3. Он доступен через R1 и R2, так как в AS65010 работает внутренний протокол маршрутизации, обеспечивающий доступность внутри автономной системы. Также вместо внутреннего протокола маршрутизации можно использовать статические маршруты, но протокол маршрутизации является более масштабируемым решением. 

1. Соседские отношения в BGP



Один маршрутизатор в интернете не поддерживает связь со всеми остальными маршрутизаторами. В интернете имеется десятки тысяч маршрутизаторов, представляющих 21000 автономных систем.
BGP маршрутизатор формирует прямые соседские отношения с ограниченным числом других BGP маршрутизаторов. С помощью этих соседей, BGP маршрутизатор изучает маршруты, которые доступны через интернет, чтобы достигнуть любую проанонсированную сеть. Каждый маршрутизатор, на котором работает BGP известен как «BGP оратор». Термин «BGP сосед» имеет специфическое значение, это BGP оратор, который настроен для формирования соседских отношений с другим BGP оратором для организации прямого обмена маршрутной информацией друг с другом. BGP оратор имеет ограниченное число соседей, с которыми он формирует TCP- отношения.
BGP соседи могут быть либо внутренними, либо внешними относительно автономной системы. Внутренние BGP соседи, или IBGP соседи, обычно формируют соседские отношения внутри сети провайдера. Внешние BGP соседи, или ЕBGP соседи, обычно формируют соседские отношения между сетями провайдеров и предприятий. Внешние соседи, так же как и внутренние, требуют, чтобы TCP соединение было установлено. Обработка BGP маршрутов и их атрибутов обычно отличается в зависимости от типа соединения. Внешние соседи имеют прямое соединение. Сеть, использованная для организации связи между ними, а также IP адреса маршрутизаторов, должна быть доступна для целей маршрутизации.

2. Установление внешних соседских отношений в BGP



Когда BGP работает между маршрутизаторами разных автономных систем, это называется EBGP. По умолчанию, маршрутизаторы, на которых работает EBGP, имеют прямое соединение друг с другом.
EBGP сосед – это маршрутизатор, находящийся за пределами домашней автономной системы. Сеть предприятия может иметь подключение к одному или нескольким провайдерам, а сами провайдеры могут быть подключены к нескольким другим провайдерам. Для каждого из этих соединений между автономными системами требуются EBGP сессии между соседними EIGRP маршрутизаторами. EBGP соседи – это маршрутизаторы, имеющие прямое соединение и у которых установлена TCP сессия перед началом обмена маршрутной информацией. 
Когда несколько автономных систем соединены друг с другом и сеть предприятия подключена к нескольким провайдерам, BGP работает между предприятием и провайдерами. На рисунке видно, что сеть абонента А подключена к двум провайдерам, и EBGP сессии установлены между маршрутизаторами R3 и R5, а также между R4 и R6. Маршрутизаторы устанавливают соседские отношения и обмениваются BGP обновлениями маршрутизации друг с другом. На рисунке маршрутизаторы абонента А узнают маршруты к внешним автономным системам от своих EBGP соседей.



Следующие требования выдвигаются для установления EBGP соседских отношений:
- Различные номера автономных систем – EBGP соседи должны находиться в разных автономных системах, чтобы иметь возможность формировать соседские отношения.
- Установленная сессия TCP – сессия должна быть установлена перед началом обмена маршрутной информацией.
- Доступность – EBGP соседи должны быть непосредственно соединены друг с другом, а их IP адреса должны быть доступны изнутри каждой из автономных систем.
Внутренний протокол маршрутизации – это протокол, который работает внутри автономной системы. Внутренний протокол маршрутизации не работает между EBGP соседями, расположенными в разных автономных системах. Для того, чтобы два маршрутизатора обменивались BGP обновлениями маршрутизации, необходимо, чтобы на каждой стороне TCP прошел трехкратное рукопожатие друг с другом, чтобы установилась сессия BGP. Кроме того, IP адреса, используемые соседями, должны быть доступны без использования внутреннего протокола маршрутизации, и могли быть использованы для указания через непосредственное соединение или  с использованием статического маршрута. Обычно соседские маршрутизаторы используют адреса непосредственного соединения друг с другом.

3. Установление внутренних соседских отношений в BGP



BGP, который работает между маршрутизаторами внутри одной и той же автономной системы, называется IBGP. IBGP работает внутри автономной системы для обмена BGP информацией, так что все BGP ораторы имеют одинаковую BGP маршрутную информацию о внешних автономных системах.
Когда на нескольких маршрутизаторах внутри автономной системы работает BGP? Они обмениваются BGP информацией друг с другом. На рисунке видно, что маршрутизаторы R3 и R4 знают маршрут к внешним автономным системам от их ЕBGP соседей (R5 и R6). Если соединение между R3 и R4 разорвется, R3 должен изучить новые маршруты к внешним автономным системам. Другие BGP маршрутизаторы внутри AS 65010, которые использовали R3 для доступа к внешним автономным системам, должны быть также проинформированы, что путь через R3 недоступен. Этим BGP маршрутизаторам внутри AS 65010 необходимо иметь альтернативные пути через маршрутизатор R4 в своих базах BGP топологии. IBGP обычно настраивается между граничными маршрутизаторами автономной системы абонента, а также между маршрутизаторами внутри автономной системы каждого провайдера.
Имеются следующие требования для установления соседских отношений IBGP:
- IBGP соседи должны находиться внутри одной автономной системы, чтобы иметь возможность устанавливать отношения
- TCP сессия должна быть установлена перед началом обмена маршрутной информацией
- IBGP соседи должны быть доступны, обычно для этого используется протокол внутренней маршрутизации
1. Использование BGP для подключения к провайдеру



Интернет - это набор автономных систем, которые соединены между собой для коммуникации. BGP обеспечивает маршрутизацию между этими автономными системами.
Предприятие, кjторое хочет подключиться к интернету, делает это через одного из провайдеров. Если предприятие имеет только одно подключение к интернету, возможно, ему не понадобится использовать BGP, вместо него можно использовать маршруты по умолчанию. Однако, если имеется несколько подключений к одному или нескольким провайдерам, BGP будет предпочтительным для использования, т.к. он позволяет манипулировать атрибутами маршрутов, чтобы был выбран оптимальный путь.
Чтобы понять BGP, надо понять, чем он отличается от других протоколов маршрутизации. Один путь, это разделить протоколы на внешние и внутренние протоколы маршрутизации, такие как:
- IGP (Interior gateway protocol), внутренний протокол маршрутизации - это протокол, который обменивается маршрутной информацией внутри автономной системы Примеры таких протоколов - RIP, OSPF, EIGRP. 
- EGP (Exterior gateway protocol), внешний протокол маршрутизации – протокол, который обменивается маршрутной информацией между разными автономными системами. BGP – пример внешнего протокола. BGP является внутридоменным протоколом маршрутизации (IDRP), также известным как EGP. Последней версией протокола является BGP версии 4, который описан в RFC 4271. Как сказано в RFC, классическое описание автономной системы – набор маршрутов под одним техническим администрированием, который маршрутизирует пакеты внутри автономной системы с помощью внутренних протоколов маршрутизации, а также с помощью внешних протоколов маршрутизации определяет, как маршрутизируются пакеты к другим автономным системам.
Автономная система может использовать больше, чем один внутренний протокол маршрутизации, возможно с несколькими наборами метрик. С точки зрения BGP, наиболее важной характеристикой автономной системы есть то, что она взаимодействует с другой автономной системой, чтобы иметь один ясный внутренний план маршрутизации и представлять полную картину доступных сетей назначения. Все части автономной системы должны соединяться друг с другом.
Когда BGP работает между маршрутизаторами в разных автономных системах, он называется внешним BGP (EBGP). Когда BGP работает между маршрутизаторами внутри одной автономной системы, он называется внутренним BGP (IBGP). BGP определяет путь для пакетов между автономными системами.  Важно понимать, как работает BGP для избежания создания проблем для автономной системы в результате работы BGP. 

2. Варианты использования BGP для нескольких подключений к провайдеру



Организация может иметь несколько подключений только к одному провайдеру или к нескольким провайдерам. Недостатком наличия нескольких подключений к одному провайдеру является то, что единственный провайдер может стать причиной отсутствия соединения с интернетом. Имея подключения к нескольким провайдерам, организация получает следующие преимущества:
- резервирование несколькими подключениями
- нет привязки к политике маршрутизации одного провайдера
- наличие многих путей к одним и тем же сетям для улучшения политики управления маршрутами
В автономной системе с несколькими подключениями будет работать EBGP для связи с соседними автономными системами, а также может работать IBGP внутри. 
Если организация решит, что будет иметь несколько подключений с использованием BGP, существует три пути, как этого достигнуть:
- каждый провайдер пропускает только один маршрут по умолчанию к автономной системе. Этот маршрут указывает на внутренние маршрутизаторы
- каждый провайдер пропускает  только один маршрут по умолчанию и специфические маршруты провайдера к автономной системе. Эти маршруты могут пропускаться  на внутренние маршрутизаторы или на всех внутренних маршрутизаторах может работать  BGP и пропускаться эти маршруты будут на них всех
- каждый провайдер пропускает все маршруты в автономную систему. На всех внутренних маршрутизаторах по пути транзита работает BGP и пропускает маршруты между маршрутизаторами. 


Первым вариантом маршрутизации при использовании нескольких подключений к провайдеру является получение только маршрутов по умолчанию от каждого провайдера. Эта конфигурация требует минимум ресурсов внутри автономной системы, так как маршрут по умолчанию используется для доступа к любому месту назначения. Автономная система отправляет все свои маршруты провайдерам, которые обрабатывают и пропускают маршруты в другие автономные системы.
Если маршрутизатор в автономной системе узнает о нескольких маршрутах по умолчанию, локальный внутренний протокол маршрутизации добавляет лучший маршрут по умолчанию в таблицу маршрутизации. С точки зрения этого маршрутизатора, он выбирает маршрут по умолчанию с наименьшей стоимостью в метрике внутреннего протокола маршрутизации. Этот маршрут по умолчанию будет отправлять пакеты, адресованные внешним сетям, на граничный маршрутизатор этой автономной системы, на котором работает внешний BGP. Граничный маршрутизатор будет использовать маршрут по умолчанию BGP для достижения всех внешних сетей.
Региональные провайдеры, которые имеют несколько подключений к национальным или международным провайдерам, обычно используют этот вариант. Региональные провайдеры не используют BGP для управления маршрутами, однако провайдерам необходима возможность добавления новых абонентов, а также сетей абонентов. Если региональный провайдер не использует BGP, каждый раз, когда региональный провайдер добавляет новый набор сетей , абонентам необходимо ждать, пока национальные провайдеры добавят новый набор сетей в свой процесс BGP и разместят статические маршруты, указывающие на региональных провайдеров. При работающем внешнем BGP у региональных провайдеров  совместно с национальными и международными, региональному провайдеру достаточно будет добавить новые сети абонентов в свой процесс BGP. Эти новые сети автоматически проанонсируются через интернет с минимальной задержкой. 
Абоненты, которые выберут получение только маршрутов по умолчанию от всех провайдеров, должны понимать следующие ограничения этого варианта:
- управление маршрутами не может быть применено, так как от каждого провайдера принимается только один маршрут
- управление пропускной способностью очень сложное и может быть применено только манипулированием метрики маршрута по умолчанию внутреннего протокола маршрутизации
- перенос части трафика из одной точки выхода в другую очень сложен, так как все сети назначения используют одинаковый маршрут по умолчанию для выбора пути

Как видно на рисунке, автономные системы AS 65020 и AS 65030 отправляют маршруты по умолчанию в AS 65010, сеть абонента А. Из-за метрики внутреннего протокола маршрутизации сети абонента А, а также из-за настройки маршрутизаторов R1 и R2, граничный маршрутизатор провайдера PE1 выбран как маршрут по умолчанию для достижения любой внешней сети за пределами автономной системы абонента А. 

Эта процедура может привести к неоптимальной маршрутизации. Например, при задаче отправить пакет в сеть 172.17.0.0, пакет будет сначала отправлен провайдеру ISP1 на маршрутизатор РЕ1, так как маршрутизатор РЕ1 является предпочтительным путем для абонента А. А затем уже провайдер ISP1 отправит пакет в сеть назначения провайдеру ISP2.  



Вторым вариантом дизайна сети с несколькими подключениями к провайдерам является получение маршрутов по умолчанию и определенных выбранных маршрутов от провайдеров.
Предприятие работает с провайдером по EBGP и получает частичную таблицу маршрутизации о маршрутах к сетям других абонентов этого провайдера. Предприятие также получает маршруты от любых других автономных систем.
Основным провайдерам присваивается от 2000 до 10000 бесклассовых междоменных маршрутизируемых блоков IP адресов от IANA, которые провайдеры передают в пользование своим абонентам.  Если провайдер пропустит эту информацию абоненту, который хочет получать только частичную BGP таблицу маршрутизации, абонент перераспределит эти маршруты во внутренний протокол маршрутизации. Внутренние маршрутизаторы абонента (на которых не работает BGP) могут получить эту информацию через перераспределение. Маршрутизаторы могут взять ближайшую точку выхода, основываясь на лучшей метрике специфической сети, вместо того, чтобы выбрать точку выхода, основываясь на маршруте по умолчанию.
Получение частичной BGP таблицы от каждого провайдера более выгодно, так как выбор пути будет более точным, чем при использовании маршрута по умолчанию.


На рисунке провайдеры в AS 65020 и AS 65030 отправляют маршруты по умолчанию и маршруты к своим абонентам абоненту А (AS 65010). 
Путем использования внутреннего BGP между внутренними маршрутизаторами R1 и R2 внутри AS 65010, AS 65010 может выбрать оптимальный путь к сетям провайдеров ISP1 и ISP2. Если сеть абонента А отправляет трафик к неизвестной сети, будет использоваться один из двух маршрутов по умолчанию. Снова таки это может привести к неоптимальной маршрутизации, как показано на рисунке. Неизвестный маршрут к другой автономной системе не показан на рисунке, так как эти маршруты не были проанонсированы в AS 65010 провайдерами ISP1 и ISP2. Метрика внутреннего протокола маршрутизации будет использована для выбора маршрута по умолчанию за пределы автономной системы  абонента А. 



При третьем варианте подключения к нескольким провайдерам все провайдеры пропускают все маршруты в автономную систему, и внутренний BGP работает по крайней мере на всем пути транзита к автономной системе. Этот вариант позволяет внутренним маршрутизаторам автономной системы выбирать маршрут через лучшего провайдера для каждого маршрута.
Эта конфигурация требует много ресурсов внутри автономной системы, т.к. она должна обрабатывать все внешние маршруты.
Автономная система отправляет все свои маршруты провайдерам, которые обрабатывают маршруты и отправляют эти маршруты другим автономным системам.
На рисунке AS 65020 и AS 65030 отправляют все маршруты в AS 65010. Провайдер, имеющий маршрут к специфической внешней сети из AS 65010, определяется с помощью BGP. 
Маршрутизаторы в AS 65010 могут быть настроены для влияния на маршруты к определенным сетям. Например, R1 и R2 могут влиять на выбор маршрута для исходящего трафика из AS 65010.

3. BGP маршрутизация между автономными системами



Автономная система – это набор сетей под одним техническим администрированием. Внутренние протоколы маршрутизации работают внутри автономных систем, а BGP используется для маршрутизации между автономными системами в интернете.
IANA – организация, ответственная за присвоение номеров автономным системам. Конкретно, ARIN (Американский регистратор номеров интерната) отвечает за присвоение номеров для Америки, Карибов и Африки. RIPENIC (Европейский исследовательский сетевой информационный центр IP) присваивает номера автономным системам в Европе. А APNIC (Азиатско-Тихоокеанский сетевой информационный центр) – за присвоение номеров автономным системам в Азиатско-Тихоокеанском регионе.
Номера автономных систем – это 16-битный номер от 1 до 65535. RFC 1930 предоставляет руководство по использованию номеров автономных систем. Диапазон номеров автономных систем от 64512 до 65535 зарезервирован для частного использования, наподобие частных IP адресов. 



Основной задачей BGP является предоставление междоменной системы маршрутизации, которая гарантирует беспетлевой обмен маршрутной информацией между автономными системами. Маршрутизаторы обмениваются информацией о маршрутах к сетям назначения.
BGP – то преемник EGP, который был разработан для изоляции сетей одна от другой при росте интернета.
Есть много RFC, относящихся к BGP4, текущей версии BGP. Эти RFC включают 1772, 1773, 1774, 1930, 1966, 1997, 1998, 2042, 2385, 2439, 2545, 2547, 2796, 2858, 2918, 3065, 3107, 3392, 4223 и 4271. 
BGP4 имеет много улучшений по сравнению с более ранними протоколами. Интернет широко использует BGP для соединения провайдеров и подключения предприятий к провайдерам.
BGP4 и его расширения является единственной доступной версией BGP для использоввания в публичном интернете. BGP4 переносит сетевую маску для каждой анонсируемой сети и поддерживает и бесклассовую междоменную маршрутизацию, и маски переменной длины. Предшественники BGP4 не поддерживали эти возможности, которые сейчас обязательны в интернете.
Когда используется бесклассовая маршрутизация на маршрутизаторе ядра основного провайдера, построенная таблица маршрутизации состоит в основном из BGP маршрутов и имеет более 175000 блоков бесклассовых сетей. Если не использовать бесклассовую маршрутизацию, таблица маршрутизации может содержать более 2 000 000 записей. Использование BGP4 предотвращает таблицу маршрутизации интернета становиться слишком большой для соединения миллионов пользователей.

3. Сравнение BGP с внутренними протоколами маршрутизации
BGP работает не так, как внутренние протоколы маршрутизации. Внутренние протоколы маршрутизации ищут самый быстрый путь из одной точки корпоративной сети в другую, основываясь на определенной метрике. RIP использует число переприемов устройств третьего уровня на пути к сети назначения. OSPF и EIGRP boen лучшую доступную скорость по параметру bandwidth на интерфейсе/ Все внутренние протоколы вычисляют стоимость пути.
BGP является внешним протоколом и не использует скорость для определения лучшего пути. Вместо этого BGP является протоколом, основанным на политиках, который позволяет автономным системам управлять трафиком с использованием атрибутов BGP путей. BGP позволяет провайдерам использовать всю свою пропускную способность путем манипулирования этими атрибутами пути.

4. Функциональность вектора пути



Внутренние протоколы маршрутизации анонсируют список сетей и метрик, чтобы достичь каждую сеть. В BGP маршрутизаторы обмениваются информацией о сетевой доступности, называемой вектором пути, составленной из атрибутов пути (наподобие метрик). Информация вектора пути включает список всех номеров автономных систем (одна за одной, которые необходимо пройти для достижения сети назначения, а также сети, доступные в конце пути.  Другие атрибуты включают IP адрес следующей автономной системы (атрибут следующего переприема) и обозначение, как сеть в конце пути была добавлена в BGP (атрибут кода происхождения).
Эта путевая информация автономной системы полезна для построения беспетельного графа автономных систем и используется для определения политик маршрутизации, поэтому ограничение поведения маршрутизации может быть основано на пути к автономной системе. 
Путь к автономной системе всегда беспетельный.  Маршрутизатор, на котором работает BGP не разрешит обновление маршрута который уже включает маршрутизатор номера автономной системы в списке путей, так как обновление уже прошло и подтверждение новой информации приведет к петли маршрутизации. 
Администратор может определить политики или правила, как данные будут проходить через автономные системы.



BGP принимает решение о политике маршрутизации на уровне автономных систем. Эти политики могут быть применены для всех сетей, принадлежащих автономной системе, для определенного блока сетей или для индивидуальных сетей или подсетей. 
BGP указывает, что BGP маршрутизатор может передавать соседней автономной системе только те маршруты, которые использует сам. Это правило отражает правило маршрутизации «шаг за шагом», которое обычно используется в интернете. 
Правило маршрутизации «шаг за шагом» не поддерживает все возможные политики. Например, BGP не разрешает одной автономной системе отправлять трафик соседней автономной системе, надеясь, что трафик пойдет по другому маршруту, чем трафик, генерируемый в этой соседней автономной системе. Другими словами, нельзя повлиять на то, как соседняя автономная система будет маршрутизировать трафик, но можно повлиять на то, как трафик попадет в соседнюю автономную систему. Однако, BGP поддерживает любые правила, которые соответствуют основному правилу маршрутизации «шаг за шагом».
Так как интернет сейчас использует только правило «шаг за шагом», и так как BGP может поддерживать любые политики, соответствующие этому правилу, BGP является широкоприменяемым как протокол маршрутизации между автономными системами.

Примеры BGP политик:
На рисунке выше у автономной системы AS 65010 есть следующие возможные пути для достижения AS 65060 через AS 65020:
65020 – 65030 – 65060
65020 – 65050 – 65060
65020 – 65030 – 65050 – 65070 – 65060
65020 – 65050 – 65030 – 65060
65020 – 65050 – 65070 – 65060
Но AS 65010 не видит все эти возможности.
AS 65020 передает AS 65010 только информацию о лучшем пути 65020 – 65030 – 65060, так же как протокол внутренней маршрутизации анонсирует только лучший путь с наименьшей стоимостью. Это единственный путь через AS 65020, который AS 65010 увидит. Все пакеты с сетью назначения, принадлежащей AS 65010, будут идти через AS 65020 только по этому маршруту.
Даже если существуют другие пути, AS 65010 может использовать лишь тот путь к AS 65060, который был анонсирован AS 65020. Путь к автономной системе, который был анонсирован, 65020 – 65030 – 65060, это путь «шаг за шагом», который AS 65020 использует, чтобы достигнуть AS 65060. AS 65020 не будет анонсировать другой путь , например, 65020 – 65050 – 65030 – 65060, тка как он не будет выбран лучшим путем политикой маршрутизации AS 65020.
AS 65010 не узнает о другом лучшем пути или других путях от AS 65020, пока лучший путь в AS 65020 не станет недоступным. 
Даже если AS 65010 узнает о каком-то пути через AS 65020, он не сможет его использовать, т.к. AS 65020 не отправит трафик по другому пути, у него есть лучший путь 65020 – 65030 – 65060, поэтому именно его он и будет использовать, согласно политики маршрутизации BGP.  BGP не позволяет одной автономной системе отправлять трафик через соседнюю автономную систему по маршруту, отличному от маршрута, которым пользуется трафик, генерируемый в соседней автономной системе.
AS 65010 может выбрать для отправки трафика в AS 65060 маршрут через AS 65020 или через AS 65040. AS 65010 выберет лучший путь, основываясь на собственной политике маршрутизации BGP. 

5. Особенности BGP 



BGP относится к категории протоколов вектора расстояния, но реально это протокол вектора пути. BGP очень отличается от стандартного протокола вектора расстояния наподобие RIP. 
BGP использует BGP как протокол транспорта, который предоставляет надежную, ориентированную на соединение доставку. BGP предполагает, что все его соединения надежные, поэтому не имеет механизма повторной передачи или исправления ошибок. BGP использует TCP порт 179. Два маршрутизатора, использующие BGP, устанавливают TCP соединение друг с другом и обмениваются сообщениями для открытия соединения и подтверждения параметров соединения. Эти два BGP маршрутизатора называются соседями или одноуровневыми маршрутизаторами.
После установления соединения маршрутизаторы обмениваются полными таблицами маршрутизации. Однако, так как соединение надежное, BGP соседи затем отправляют только изменения. Надежные соединения не требуют периодической отправки обновлений, вместо этого маршрутизаторы используют обновления при появлении изменений. BGP отправляет сообщения поддержки связи, похожие на Hello сообщения, отправляемые протоколами OSPF, IS-IS и EIGRP. 
BGP – это только IP протокол маршрутизации, который использует NCP как транспортный уровень. OSPF, IGRP и EIGRP работают именно на IP уровне, а RIP использует UDP как транспорт.
OSPF и EIGRP используют свои собственные внутренние функции, чтобы убедиться, что пакеты обновления точно получены. Эти протоколы используют такой процесс передачи, при котором при наличии нескольких пакетов для передачи следующий пакет не может быть отправлен, пока OSPF или EIGRP не получат подтверждение на первый пакет обновления. Этот процесс может быть очень неэффективным и стать причиной задержек, если тысячи пакетов обновлений должны быть переданы через относительно медленные соединения. OSPF и EIGRP редко имеют для отправки тысячи пакетов. EIGRP может поместить в один пакет обновления больше 100 сетей, поэтому 100 EIGRP пакетов обновления могут содержать до 10 000 сетей, а большинство организаций не имеют у себя 10 000 сетей.
С другой стороны, BGP имеет в интернете более 175 000 сетей для анонсирования, и это число растет. BGP использует TCP для обеспечения функции подтверждения.  NCP использует динамический размер окна, которое позволяет отправить 65 576 байт перед тем, как отправка будет остановлена для ожидания подтверждения. Например, при использовании максимального размера окна, если будут отправляться 1000-байтные пакеты, понадобится отправка 65 неподтвержденных пакетов перед тем, как BGP остановит передачу и будет ждать подтверждение.
TCP разработан для использования скользящего размера окна, где приемник отправляет подтверждение в точке приема половины размера передаваемого окна. Этот метод позволяет TCP приложениям, таким как BGP, продолжать отправку пакетов без необходимости остановки для ожидания подтверждения, как это требуется в OSPF и EIGRP. 


BGP позволяет провайдерам связываться друг с другом и обмениваться пакетами. Провайдеры имеют множество подключений друг к другу и соглашений по обмену обновлениями. BGP используется для реализации этих соглашений между двумя и более автономными системами. 
Неправильное управление и фильтрация BGP обновлений потенциально может внешней автономной системе влиять на трафик в другой автономной системе. Поэтому важно знать, как работает BGP и как правильно его настроить для предотвращения этой ситуации.
Например, если абонент подключен к провайдерам ISP1 и ISP2 для избыточности, необходимо реализовать политику маршрутизации, чтобы провайдер ISP1 не отправлял трафик провайдеру ISP2 через автономную систему абонента. Абонент не захочет тратить свои ресурсы сети и пропускную способность подключений к интернету для маршрутизации трафика этих провайдеров, но будет хотеть иметь возможность получать трафик, предназначенный для его автономной системы, через каждого из провайдеров.
BGP следует использовать в следующих случаях:
- если автономная система является транзитной, через которую проходят пакеты, предназначенные для других автономных систем
- если автономная система имеет несколько подключений к другим автономным системам
- если политика маршрутизации между автономными системами должна быть управляемой, где  надо повлиять на выбор пути для входящего и исходящего трафика
BGP не всегда является подходящим решением для связи автономных систем. Есть несколько случаев, когда BGP не следует применять:
- когда сеть имеет одно подключение в интернет или к другой автономной системе. Автономная система с одним выходом должна применять маршрут по умолчанию, как ниболее правильное решение. Нет необходимости использовать ресeрсы процессора и памяти для BGP. 
- когда недостаточно ресурсов процессора и памяти на граничном маршрутизаторе для применения BGP маршрутизации
- когда недостаточно понимания о фильтрации маршрутов и процессе выбора пути BGP
- если политика маршрутизации, применяемая в автономной системе, совместима с политикой в автономной системе провайдера, нет необходимости или нежелательно настраивать DGP в этой автономной системе


Маршрутизатор, на котором работает BGP, имеет свои собственные таблицы для хранения BGP информации, которую он получает и отправляет другим маршрутизаторам, включая таблицу соседей, BGP таблицу, также называемую базой данных пересылки или базой данных топологии, и таблицу IP маршрутизации. 
Для того, чтобы BGP установил соседские отношения , он должен быть явно настроен для каждого соседа. ВGP формирует TCP отношения с каждым настроенным соседом и поддерживает эти отношения путем отправки BGP/TCP сообщения поддержания отношений. BGP отправляет это сообщение каждые 60 секунд.
После установления соседских отношений, соседи обмениваются BGP маршрутами, которые имеются у них в таблице маршрутизации. Каждый маршрутизатор собирает эти маршруты от каждого соседа, с которым успешно установлены отношения, и помещает их в базу данных топологии BGP.  Все маршруты, которые были изучены от каждого соседа, располагаются в этой базе данных. Лучшие маршруты для каждой сети выбираются из базы данных топологии процессом выбора маршрута BGP и предлагается в таблицу маршрутизации.
Внешние BGP маршруты, изученные от внешних автономных систем, имеют административное расстояние 20. Внутренние BGP маршруты, изученные внутри автономной системы, имеют административное расстояние 200.



Существует четыре типа сообщений BGP: open, keepalive, update, notification. 
После установления TCP соединения, первое сообщение, отправляемое каждой стороной, это open сообщение. После получения open сообщения, каждая сторона отправляет keepalive сообщение, которым подтверждает получение. После получения подтверждения о получении open сообщения устанавливаются BGP отношения, BGP соседи могут обмениваться любыми update, keepalive и notification сообщениями. 
BGP соседи сначала обмениваются своими полными таблицами BGP маршрутизации. Дополнительные обновления отправляются только при возникновении изменений в сети. Соседи отправляют keepalive сообщения для того, чтобы убедиться, что соединение между соседями существует. А также отправляют notification сообщения при возникновении ошибок или специальных условий.
Далее приводится более детальное описание типов сообщений.
Open сообщение – содержит следующюю информацию:
- номер версии – предлагаемый номер версии протокола. Наибольший номер версии, поддерживаемый маршрутизаторами. Большинство реализаций BGP маршрутизации сейчас используют BGP4. 
- AS номер – номер автономной системы локального маршрутизатора. Соседний маршрутизатор проверяет эту информацию. Если это не ожидаемый номер, BGP сессия заканчивается.
- hold time – максимальное число секунд, которое может пройти между успешными keepalive или update сообщениями отправителя. При получении open сообщения маршрутизатор вычисляет значение hold таймера путем использования меньшего значения между настроенным на маршрутизаторе и полученным в open сообщении 
- BGP router-ID – 32-битное поле, показывающее BGP идентификатор отправителя. BGP ID – это IP адрес, назначенный маршрутизатору, он определяется при загрузке.  BGP router-ID выбирается так же, как и OSPF router ID? Это наибольший IP адрес активного интерфейса маршрутизатора при условии, что loopback интерфейсы не настроены. А если настроены loopback интерфейсы, BGP router-ID выбирается как наибольший IP адрес одного из loopback интерфейсов. Router-ID также можно задать вручную.
- дополнительные параметры – это параметры типа, длины и значения кодирования. Примером дополнительных параметров есть аутентификация сессии.
Keepalive сообщение – обмен этими сообщениями проводится соседями чаще, чем истекает врямя hold таймера. Если согласованное значение hold таймера равно 0, периодическая отправка keepalive сообщений не производится. Keepalive сообщение состоит только из заголовка.
Update сообщение – BGP update сообщение содержит информацию только об одном пути, несколько путей требуют нескольких update сообщений. Все атрибуты в update сообщении относятся к тому маршруту и сети, которая может быть достигнута через этот маршрут. Update сообщение может содержать следующие поля:
- withdrawn routes – список отображает IP адреса префиксов маршрутов, которые выведены из эксплуатации, если таковые имеются
- path attributes – эти атрибуты включают: путь к автономной системе, происхождение, локальные предпочтения и др. Каждый атрибут пути включает атрибут TLV. Тип атрибута состоит из флагов, которые следуют за кодом типа атрибута.
- network-layer reachability information – это поле содержит список префиксов IP адресов, которые доступны по этому пути.
Notification сообщение – отправляется, когда обнаруживается ошибка. BGP соединение закрывается немедленно после отправки сообщения. Notification сообщение включает код ошибки, ее подкод, а также данные, относящиеся к ошибке. 
1. Подключение сети предприятия к провайдеру



Современные корпоративные IP сети подключены к интернету и используют интернет как транспорт для передачи своих данных. Корпорации предоставляют различные услуги через интернет для своих покупателей и партнеров - системы на веб-серверах доступны отовсюду в мире.
Редки случаи, когда предприятию требуется подключение в интернет только для доступа с рабочих станций к серверам в интернете. 
Обычно, не только клиентам сети предприятия необходим доступ к внешним ресурсам, но и внешним клиентам необходим доступ к 
ресурсам в корпоративной сети.



Первый параметр, который надо определить, это количество публичных IP адресов , которые будут использоваться для трансляции частных адресов клиентов при доступе в интернет. Эти публичные адреса будут также использоваться для корпоративных сервером, к которым необходим доступ из интернета. Эти адреса будут либо назначены серверам напрямую, либо будут транслироваться из частных адресов корпорации.
Второй параметр – тип и скорость соединения, которые зависят от провайдера. Типы соединений бывают – выделенная линия, Ethernet по оптической или медной линии и xDSL. Полоса пропускания должна быть правильно выбрана в соответствии с требованиями предприятия.
Третий параметр – правильный выбор протокола маршрутизации. Обычно выбирают между статической и динамической маршрутизацией.
Четвертый параметр относится к избыточности подключения. Необходима оценка для определения типа избыточности, требуемого для подключения предприятия в провайдеру. Избыточность включает: избыточный маршрутизатор, избыточное соединение и избыточного провайдера, при котором предприятие подключается к нескольким провайдерам.
При оценке этих параметров следует учитывать, должна ли сеть предприятия быть независимой от выбранных провайдеров. Если независимость требуется, публичные IP адреса не должны быть из пула адресов провайдера, они должны быть приобретены у регионального представителя Интернета. Похожая независимость требуется и для автономных систем. Номер автономной системы должен быть публичным, а не частным номером из пула провайдера.

2. Обмен маршрутной информацией с провайдером



Соединение сети предприятия с провайдером требует обмена маршрутной информацией между ними. 
Для выбора способа обмена надо ответить на следующие вопросы:
- будет ли эта информация информировать провайдера об изменениях сетевой топологии?
- маршрутизация будет поддерживать одно или несколько подключений к провайдеру?
- требуется ли балансировка нагрузки между подключениями?
- будет ли сеть подключаться к нескольким провайдерам?
- должен ли провайдер предоставлять только транспортные возможности для соединения нескольких офисов предприятия с использованием технологий уровня 2?
- какой объем маршрутной информации необходим для обмена между сетью и провайдером?
- какие возможности маршрутизации предлагает провайдер?



Иногда абоненту требуется соединение второго уровня между двумя или более офисами. Следующие примеры показывают необходимость в соединении второго уровня:
- в местах расположения офисов могут находится ЦОДы с географически распределенными кластерами, которые требуют соединения второго уровня для правильного функционирования
- абонент находится в процессе миграции из одного офиса в другой и требует соединения второго уровня между старым и новым офисом
- абонент подключен к сети партнера и требует соединения второго уровня
 Соединение второго уровня обеспечивается многими технологиями: Ethernet, Frame Relay, PPP, HDLC, ATM. В некоторых случаях провайдеры предоставляют свои IP сети ядра, расширенные применением технологии MPLS, для таких соединений.
Такие соединения не требуют обмена маршрутной информацией между провайдером и абонентом. Со стороны абонента это выглядит как предоставление провайдером порта второго уровня. Со стороны провайдера – два порта, расположенные в разных местах, должны быть соединены вместе.


Статические маршруты - самый простой способ обмена маршрутной информацией между сетью предприятия и провайдером. Эти статические маршруты должны быть согласованы с провайдером до настройки маршрутизации и не должны меняться после настройки или, если изменения будут происходить, они не должны быть очень частыми. 
Статические маршруты обычно используются при подключении к провайдеру с использованием одного соединения. Абонент использует маршрут по умолчанию на провайдера, а провайдер должен прописать статический маршрут или маршруты для указания публичных сетей абонента. Провайдеры также обычно распространяют эту информацию в свой протокол BGP. 
Хотя статические маршруты являются простым решением, они также имеют ряд недостатков, особенно в вопросах гибкости и адаптивности. Например, если было произведено изменение сетевой топологии, после которого прямое соединение разорвалось, статический маршрут не сможет адаптироваться для решения этого вопроса. Для внедрения адаптивности необходимо статические маршруты комбинировать с функциональностью соглашения об уровне обслуживания (SLA), которая включит индикацию, что статический маршрут недоступен, или использовать динамическую маршрутизацию. Надо отметить, что использование IP SLA не сможет полностью заменить динамическую маршрутизацию, т.к. оно не сможет реагировать на все  изменения в сети интернета.



MPLS VPN используется, когда абонент имеет много мест подключения, которые должны быть соединены между собой, и не хочет использовать дорогие технологии второго уровня, такие как выделенная линия.
В MPLS VPN провайдер использует общую IP сеть ядра, расширенную технологией MPLS, для предоставления безопасных и управляемых соединений для подключения географически разнесенных филиалов абонентов. При этом трафик различных абонентов может передаваться по одной физической среде, но тегируется метками, с помощью которых он не перемешивается. 
Когда абоненты используют функциональность MPLS VPN? Маршрутизация между абонентом и провайдером необходима для обеспечения соединения между филиалами абонента. Маршрутизация может быть как статической, так и динамической, и использует следующие протоколы: RIP, OSPF, EIGRP> IS-IS и даже BGP, в зависимости от того, что предложит провайдер. Различные филиалы могут использовать различные протоколы, хотя такие ситуации обычно не случаются.
При развертывании MPLS VPN провайдер может предложить соединение  через одну и ту же сеть ядра или с использованием специального Интернет VPN, или с использованием глобальной таблицы маршрутизации. Для обмена маршрутной информацией интернета используется протокол BGP или маршруты по умолчанию.


Типичным вариантом, используемым для предоставления динамического обмена маршрутной информацией при соединении с интернетом, является протокол BGP. BGP динамически обменивается маршрутной информацией и, таким образом, реагирует на изменения топологии сети, включая разрыв соединения между абонентом и провайдером.
Исходя из перспектив маршрутизации, могут быть использованы три варианта:
- провайдер или несколько провайдеров анонсируют только маршрут по умолчанию. При использовании двух провайдеров одно соединение используется как основное, а второе - как резервное.
- провайдер или провайдеры анонсирует маршрут по умолчанию и набор интернет-маршрутов, обычно это их собственное адресное пространство. Это даст возможность использовать короткие пути к напрямую подключенным публичным сетям. Для публичных сетей, которые подключены не напрямую, один провайдер будет использоваться как основной, а второй – как резервный.
- провайдер или провайдеры анонсируют полную таблицу маршрутизации интернета. Кратчайший путь к сети назначения будет выбираться в соответствии с этой таблицей.

3. Определение типа подключения к провайдеру



При подключении корпоративной сети к провайдеру большую важность имеет избыточность. Избыточность может быть реализована следующим образом:
- развертывание избыточных подключений
- развертывание избыточного оборудования
- использование избыточности внутри одного маршрутизатора
Абонент может быть подключен к одному или к нескольким провайдерам.
При подключении к одному провайдеру избыточность может быть применена путем использования двух подключений к одному провайдеру. Если избыточность подключений не используется, абонент имеет одно подключение. Тогда при разрыве единственного соединения связь с интернетом прервется.
При подключении к нескольким провайдерам, избыточность уже вносится в дизайн сети, так как абонент имеет минимум два подключения к провайдерам, а также резервируется сам провайдер. Для увеличения избыточности абонент может использовать по два подключения к каждому из нескольких провайдеров.


Единственное подключение к одному провайдеру используется в случае, когда потеря соединения с интернетом не является критичным для абонента. Тип подключения зависит от предложения провайдера и может быть: выделенная линия, xDSL, Ethernet. Отсутствие соединения будет означать отсутствие интернета у абонента.
Доступ к одному провайдеру через одно соединение не требует использования BGP. Обычно используются статические маршруты. Если BGP используется, абонент, использующий его, анонсирует свои публичные сети провайдеру, а провайдер анонсирует только маршрут по умолчанию к абоненту, так как этого вполне достаточно для предоставления соединения через единственное подключение.



Когда абонент подключается к только к одному провайдеру, избыточность можно сделать путем развертывания второго подключения к тому же провайдеру. При использовании второго подключения  маршрутизация должна быть правильно настроена для использования каждого из подключений.
В зависимости от соглашения об уровне обслуживания (SLA), подписанного с провайдером, маршрутизация может решить следующие вопросы:
- функциональность основного и резервного соединения, где одно основное соединение используется для отправки и приема трафика от провайдера, а второе соединение используется только в случае отказа основного соединения
- балансировка нагрузки между соединениями с использованием коммутации Cisco Express Forwarding
В обоих случаях маршрутизация используется на основе или статических, или динамических маршрутов, из которых обычно используют BGP. 
Для увеличения избыточности два соединения могут приниматься двумя разными маршрутизаторами абонента.


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



Мультиподключение имеет место, когда автономная система имеет больше одного подключения в интернет. Две основные причины для мультиподключений следующие:
- увеличение надежности подключения к интернету. Если одно соединение разорвется, второе останется доступным.
- увеличение производительности соединения. Для передачи данных в определенные сети назначения будут использоваться лучшие маршруты.
Преимущество BGP видны, когда автономная система имеет несколько внешних BGP соединений к одной или нескольким автономным системам. Наличие нескольких подключений позволяет организации иметь резервное соединение с интернетом, и в случае пропадания одного из подключений, второе остается работоспособным.
1. Оценка управления маршрутами и сетевой производительности



Сети разрабатываются для предоставления высокой доступности и избыточности. Использование различных протоколов маршрутизации и различных вариантов подключений может привести к неэффективным маршрутам отправки пакетов к точке назначения. Осуществляется не только избыточность, но и каждый протокол маршрутизации имеет разное административное расстояние, метрику и время сходимости.
Когда используется более одного протокола маршрутизации, очень высока вероятность неэффективной маршрутизации. Одна ошибка при внедрении двухстороннего многоточечного перераспределения приведет к неправильной настройке. Двухстороннее перераспределение требует тщательного планирования, не говоря уже о многоточечном перераспределении, которое является очень проблематичным.
Сходимость также важна. Во-первых, протоколы сходятся по разному, кроме того сходимость зависит от дизайна сети. Во-вторых, медленная сходимость может привести к тому, что приложение отправит информацию до того, как будет найден резервный путь. Для решения проблем производительности и оптимизации маршрутов требуется управление маршрутами.
Резервирование является приоритетным в современных сетях. Однако, наличие резервирования не гарантирует отказоустойчивость. Чтобы резервирование было эффективным, необходима правильная настройка сети. Это достигается настройкой протокола маршрутизации или управлением с помощи инструмента управления путями.
Сетевые инженеры также должны отличать переключение всего трафика на резервный канал при потере основного канала и переключение части трафика на резервный канал при большой загрузке основного канала. Управление маршрутами может улучшить производительность сети в зависимости от ситуации. Так, балансировка нагрузки может разделить трафик на параллельные пути.
Неоптимальная маршрутизация может иметь место после перераспределения маршрутов или просто потому, что разные протоколы маршрутизации используют разные метрики. Перераспределение между протоколами маршрутизации, которое основывается на их административном расстоянии, может также привести к неоптимальной маршрутизации. Протокол с меньшим административным расстоянием будет нравиться больше для выбора лучшего пути, чем протокол с большим административным расстоянием. Похожая ситуация и с метриками. Перераспределение сбрасывает метрики, поэтому изначальная метрика не может быть транслирована правильно. Можно использовать средство управления маршрутами для изменения направления отправки пакетов и оптимизации маршрутов.
Управление маршрутами не является простым решением всех проблем. Важно построить глобальную стратегию управления маршрутами, которая предоставит предсказуемую модель поведения трафика с учетом физических подключений, а также сервисов, работающих в сетевой инфраструктуре.


2. Использование фильтров для выбора маршрута



Маршруты выбираются с использованием таблицы маршрутизации. Содержимое таблицы маршрутизации предоставляется протоколами маршрутизации или записями статических маршрутов. Маршрутизатор использует это содержимое для пересылки пакетов с входящего интерфейса на исходящий. Для управления протоколами маршрутизации и таблицей маршрутизации для влияния на выбор желаемого пути используются фильтры.
Для управления таблицей маршрутизации можно использовать следующие фильтры:
- карты маршрутов
- префикс списки
- списки перераспределения
- административное расстояние
- тегирование маршрутов
- списки смещения
- Cisco IOS IP SLA
- PBR - маршрутизация на основе политик




На рисунке показано, что абонент использует RIP для подключения к провайдеру через маршрутизаторы R4 и R5. Набор маршрутов поступает от каждого из этих маршрутизаторов, и RIP увеличивает стоимость на каждом переприеме. Стоимость маршрута между R2 и R5 меньше, чем между R2 и R4, потому что между ними всего один переприем, хотя они связаны очень медленным соединением. Какую настройку надо сделать на R2, чтобы выбрать приоритетным путь к маршрутизатору R4, который более скоростной? Настройка должна использовать это правило только для определенных направлений.



Для настройки избежания использования медленного соединения на маршрутизаторе R2 использовался список смещения.
Команда offset-list добавляет смещение к входящей или исходящей метрике маршрута, изученного с помощью EIGRP или RIP. Значение смещение добавляется к метрике маршрута. Список смещения вместе с типом интерфейса и его номером считается расширенным и имеет преимущество перед списком смещения, который не расширенный. Поэтому, если есть запись в расширенном списке смещения и нормальном списке смещения, прибавляться к метрике будет значение расширенного списка.
На рисунке видно, что команда offset-list 21 in 2 serial 0/0 применяется для организации смещения на 2 на маршруты, изученные через интерфейс serial 0/0, которые соответствуют списку доступа 21. Эта команда вводится в режиме настройки протокола RIP. При выполнении этой команды стоимость выбранных маршрутов, приходящих с интерфейса Serial 0/0? возрастает, что делает его хуже, чем маршрут к маршрутизатору R4. 



Соглашение об уровне обслуживания (Cisco IOS SLA) выполняет измерение производительности сети в устройствах Cisco. Оно использует постоянный мониторинг трафика для измерения производительности сети. Cisco IOS SLA активно отправляют данные для измерения производительности между многими сетевыми узлами или через несколько сетевых маршрутов. Они используют информацию о штампе времени для вычисления метрики производительности, таких ка джиттер, задержка, время ответа сети и сервера, потеря пакетов? и вычисляют среднее значение.
Для настройки функциональности Cisco IOS SLA надо:
- определить один или больше датчиков
- определить один или несколько проверяемых объектов
- определить действия для каждого проверяемого объекта



Следующий пример описывает использование функциональности Cisco IOS SLA для управления маршрутами.
Абонент А подключается к двум провайдерам и не использует BGP как протокол маршрутизации. Вместо него используются маршруты по умолчанию.
Чтобы сделать одно соединение основным, а второе резервным, были настроены два статических маршрута с разными административными расстояниями. Статический маршрут по умолчанию с меньшим административным расстоянием будет предпочтительным и будет занесен в таблицу маршрутизации. Однако, есть вероятность, что интерфейс маршрутизатора абонента будет поднят, а провайдер будет иметь проблемы со своим маршрутизатором, например не будет связи с интернетом. В этом случае активный маршрут по умолчанию будет посылать трафик по выбранному маршруту, но он будет теряться. Решением этой проблемы будет функциональность Cisco IOS SLA, которая может использоваться для постоянной проверки доступности какого-то узла (интерфейса маршрутизатора провайдера, DNS сервера или другого узла, которому можно доверять) и, если узел доступен, анонсировать маршрут по умолчанию.



На рисунке показаны три шага настройки функциональности Cisco IOS LSA.
Первый шаг - определение датчика. Датчик номер 11 описывается с помощью команды ip sla monitor 11. Тест, используемый в датчике, описывается командой type echo protocol ipIcmpEcho 10.1.1.1 source-interface FastEthernet0/0, которая отправляет ICMP echo пакеты для проверки доступности. Интерфейс FastEthernet0/0 используется в качестве источника. Команда frequency 10 определяет, что этот тест должен повторятся каждые 10 секунд. А команда ip sla monitor schedule 11 life forever start-time now определяет время начала и конца работы датчика. Время начала - сейчас, а конца - всегда.
Второй шаг определяет объект проверки, который привязывается к датчику из шага 1. Команда track 1 ip sla 11 reachability описывает проверяемый объект 1, который привязан к датчику 11, а также проверяется доступность 10.1.1.1.
Последний шаг - действия, основанные на статусе проверяемого объекта. Команда ip route 0.0.0.0 0.0.0.0 10.1.1.1 2 track 1 задает анонсирование маршрута по умолчанию на 10.1.1.1 с административным расстоянием 2, если проверка прошла успешно.



В нашем примере абонент А имеет подключения к двум провайдерам. Следовательно, необходимо настраивать два датчика, два проверяемых объекта и два условия анонсирования маршрутов по умолчанию.
Конфигурация на рисунке точно такая-же, как и на предыдущем рисунке. Отличается номер датчика, потому что проверяется доступность резервного провайдера. Номер проверяемого объекта другой, потому что он относится к другому датчику. Ну и анонсируемый маршрут по умолчанию имеет более высокое административное расстояние, так как он резервный. Этот провайдер используется только в том случае, если основной не доступен.

3. Использование маршрутизации на основе политик для выбора маршрута



Маршрутизация на основе политик (Policy-based routing, PBR) предлагает значительные преимущества с точки зрения внедрения определяемых пользователем политик по управлению трафиком в сети. Она предоставляет решения в случаях, где правовые, договорные или политические отношения определяют пути, через которые будет маршрутизироваться специфический трафик.
PBR добавляет гибкости в сложное для управления окружение путем предоставления администраторам возможностей маршрутизировать трафик, основываясь на необходимостях сети. Для менеджеров сети, которые внедряют политики маршрутизации в своих сетях, PBR предоставляет очень мощный, гибкий и простой инструмент.
PBR также предоставляет механизм для маркировки пакетов. В результате, различные льготные услуги могут быть предоставлены различным типам пакетов трафика в комбинации с методами очередности, которые доступны в Cisco IOS.
PBR используется для обхода таблицы маршрутизации. Она позволяет сетевым администраторам настраивать различные правила маршрутизации сверх обычной таблицы маршрутизации. Одним из вариантов использования может быть правило маршрутизации, основанное на адресе отправителя вместо адреса получателя. PBR применяется ко входящим пакетам и внедряется с использованием карт маршрутов, в которых команда match используется для сравнения входящих пакетов, а набор команд set используется для изменения маршрутизации, изначально основанной на адресе получателя.



Преимущества использования PBR в сети:
1. Выбор транзита с использованием адреса источника - провайдеры интернета и другие организации используют PBR для маршрутизации трафика, генерируемого различными наборами абонентов, через различные соединения с интернетом с применением маршрутизаторов политик
2. Качество обслуживания (QoS) - организации применяют QoS для разделения трафика с использованием двух методов:
- установка приоритета или значения типа службы в каждом заголовке пакета на периферии сети
- использование механизмов очередей для приоритезации трафика в ядре сети
3. Экономия средств - организации достигают экономии средств путем перераспределения интерактивного и пакетного трафика между низкоскоростными недорогими постоянными путями и высокоскоростными дорогими коммутируемыми путями.
4. Распределение нагрузки - в дополнение к динамическому распределению нагрузки, которое предлагается маршрутизацией на основе адресов получателей, менеджеры сети могут внедрить политики перераспределения трафика среди нескольких путей на основе характеристик трафика.

4. Порядок настройки и проверки маршрутизации на основе политик



На рисунке показаны шаги по внедрению управления маршрутами:
- выбрать средство управления маршрутами. Этими средствами можно манипулировать таблицей маршрутизации или обходить ее. Необходимо выбрать правильное средство в соответствии с выдвигаемыми требованиями
- после выбора средства управления маршрутами надо внедрить конфигурацию проверки трафика, которым будем управлять, на соответствие условиям
- после того, как трафик классифицирован и отобран, определяются действия над этим классом трафика, которыми будем управлять маршрутом пакетов
- после успешной настройки управления маршрутами, применяются команды по управлению пакетами входящего трафика или локального трафика маршрутизатора
- проверка управления маршрутами. Для этого используются простые команды по проверке соединений и некоторые show команды.



На рисунке показаны требования для внедрения PBR. PBR внедряется с использованием карт маршрутов, в которых команда match используется для отбора трафика, а команды set - для определения действий по управлению маршрутами. В примере, конфигурация требует отбирать трафик, идущий в направлении сети 7.7.7.0 и отправлять его на адрес 6.6.6.6 для избежания неоптимальной маршрутизации. В то же время, пакеты, размером от 3 до 200 байт, должны отбираться и отправляться на интерфейс Ethernet0. Карта маршрутов должна применяться ко входящему трафику. В конце необходимо проверить конфигурацию.



Требования из предыдущего рисунка используются для создания плана внедрения PBR. План внедрения включает следующие шаги по настройке и проверке:
- включение PBR путем настройки карт маршрутов. Трафик отбирается с помощью команды match. Действия, которые необходимо сделать с отобранным трафиком, описываются командами set.
- при необходимости включается быстрая коммутация PBR или PBR коммутация с помощью Cisco Express Forwarding (CEF). Быстрая коммутация PBR включается вручную. PBR коммутация с помощью CEF, наоборот, включается автоматически при включении CEF.
- применение созданных карт маршрутов на входящий интерфейс или на локальные пакеты, генерируемые маршрутизатором
- проверка настройки PBR с помощью базовых команд проверки связи и маршрутов, а также команд show по проверке политик маршрутизации.

5. Настройка и проверка маршрутизации на основе политик на маршрутизаторах Cisco



Команда route-map используется для включения на маршрутизаторе политик маршрутизации и требует ввода команд match и set. Для установления критерия отбора используется команда match ip address, которая использует стандартный или расширенный список доступа. В нашем случае команда match сравнивает адреса входящих пакетов с адресами из стандартного списка доступа. Стандартные списки доступа используются для отбора пакетов по адресу источника, а расширенные – по адресам источника и назначения, а также по приложению, типу протокола, типу обслуживания, приоритету.
Команда match length отбирает пакеты на основе размера пакета, который может быть задан максимальным и минимальным значением. Например, сетевой администратор может использовать команду match length для разделения интерактивного трафика и трафика передачи файлов, т.к. трафик передачи файлов будет иметь больший размер пакетов. Команда match length 3 200 отбирает пакеты с размером от 3 до 200 байт.



Если условия отбора удовлетворяют, одна или две команды set используются для определения направления отправки пакетов. Маршрутизатор может использовать четыре разновидности команды set
Если уже выбран один раз адрес назначения или интерфейс, остальные команды set для изменения адреса маршрута или интерфейса будут проигнорированы. Некоторые из этих команд влияют только на пакеты, для которых имеется явный маршрут в таблице маршрутизации, а другие влияют только на пакеты, для которых нет  явного маршрута в таблице маршрутизации.
Пакет, на который не влияют команды set при маршрутизации на основе политик, маршрутизируется нормальным образом. Другими словами, к нему применяется маршрутизация на основе адреса получателя. Маршрутизатор использует четыре команды set в следующем порядке:
1. Команда set ip next-hop настраивает список IP адресов.  Список определяет маршрутизатор, на который будут перенаправлены пакеты для достижения цели. Если определено несколько адресов, используется первый из адресов, у которого интерфейс находится в активном состоянии.
 При использовании команды set ip next-hop таблица маршрутизации проверяется только для определения доступности следующего маршрутизатора. Эта команда не проверяет, есть ли явный маршрут в таблице маршрутизации для пакета. 
На рисунке команда set ip next-hop 6.6.6.6 показывает, что пакеты, которые удовлетворяют условиям отбора, будут отправлены на адрес 6.6.6.6.

2. Команда set interface настраивает список интерфейсов, через которые пакеты будут отправляться. Если задано более одного интерфейса, будет использоваться первый активный интерфейс.
Если в таблице маршрутизации нет явного маршрута для адреса получателя (например, пакет имеет широковещательный адрес получателя или адрес назначения неизвестен таблице маршрутизации), команда set interface выполняться не будет, т.е. будет проигнорирована.
На рисунке команда set interface ethernet 0 определяет, что пакеты, которые удовлетворяют условиям отбора политики маршрутизации, будут отправляться через интерфейс Ethernet 0.



3. Команда set ip default next-hop настраивает список адресов по умолчанию, если для адреса назначения пакета, к которому применяется маршрутизация на основе политик, нет явного маршрута в таблице маршрутизации. Если в списке указано несколько IP адресов, используется первый адрес маршрутизатора, который находится на связи. 
Команда set ip default next-hop 6.6.6.6 определяет, что пакеты, удовлетворяющие условиям отбора и для которых нет явно указанного маршрута в таблице маршрутизации, будут отправляться на адрес 6.6.6.6.

4. Команда set default interface настраивает список интерфейсов по умолчанию. Если для пакета, к которому применяются политики маршрутизации, нет явного маршрута в таблице маршрутизации, он будет отправлен на первый активный интерфейс из списка интерфейсов по умолчанию.
Пакет отправляется на интерфейс, определенный командой set default interface только в случае, если нет явного маршрута к адресу назначения в таблице маршрутизации. Маршрут по умолчанию в таблице маршрутизации не может быть отнесен к явному маршруту к неизвестному адресу назначения.
На рисунке применяется команда set default interface ethernet 0, которая определяет, что пакеты, удовлетворяющие условиям отбора в политике маршрутизации и для которых нет явного маршрута в таблице маршрутизации, отправляются на интерфейс Ethernet 0. 
Маршрутизация на основе политик предоставляет механизм для маркировки пакетов с использованием команд set ip tos и set ip precedence:
- команда set  ip tos используется для установки значения типа обслуживания в IP пакетах
- команда set ip precedence используется для установки приоритета в IP пакетах. Необходимо определять или имя приоритета, или номер.
Команды set могут использоваться вместе.



Для назначения карты маршрутов политики маршрутизации на интерфейс используется команда ip policy route-map меню настройки интерфейса. На рисунке видно, что команда ip police route-map PBRmap применяет карту маршрутов с именем PBRmap на входящий трафик на интерфейсе. PBR определяется на входящий интерфейс, который получает пакеты, которые необходимо маршрутизировать на основе политик, а не на интерфейс, через который пакеты будут отправляться.
Для назначения карты маршрутов политики маршрутизации для локального трафика используется команда ip policy route-map глобального меню конфигурирования. На рисунке видно, что команда ip police route-map PBRmap применяет карту маршрутов с именем PBRmap на трафик, генерируемый маршрутизатором.
Пакеты, генерируемые маршрутизатором не являются нормально маршрутизируемыми на основе политик. Однако, можно применять эту команду к политике маршрутизации таких пакетов. Можно включить локальную политику маршрутизации, если необходимо, чтобы пакеты, генерируемые самим маршрутизатором, использовали маршрут, отличный от очевидного прямого маршрута.


Маршрутизация на основе политик должна быть настроена перед тем, как быстрая коммутация PBR будет включена. По умолчанию она выключена. Для настройки быстрой коммутации PBR используется команда ip route-cache policy меню настройки интерфейса.
Быстрая коммутация PBR поддерживает все команды match и большинство команд set за исключением:
- не поддерживается команда set ip default next-hop
- команда set interface поддерживается на соединениях точка-точка, если существует запись о маршруте в кеше, в которой используется тот же интерфейс, что определен командой set ip interface. Также, на уровне процесса обычно проверяется таблица маршрутизации для определения, соответствует ли интерфейс пути к получателю.
Во время быстрой коммутации программное обеспечение не может делать такую проверку. Вместо этого, если пакет удовлетворяет условию, он автоматически отправляется на указанный интерфейс.
Начиная с выпуска Cisco IOS 12.0, PBR поддерживается в Cisco Express Forwarding коммутации путей. PBR, коммутируемый Cisco Express Forwarding, имеет лучшую производительность, чем быстрая коммутация PBR. Кроме того, это оптимальный путь для применения PBR на маршрутизаторе. Не требуется специальная настройка для включения коммутации PBR с использованием Cisco Express Forwarding. Она включается по умолчанию, как только включается Cisco Express Forwarding и PBR на маршрутизаторе.


Для отображения карт маршрутов, используемых для PBR на интерфейсах маршрутизатора, используется команда show ip policy.
Для отображения настроенных карт маршрутов используется команда show route-map.



Для отображения деятельности пакетов, использующих PBR, используется команда debug ip policy. Эта команда детально показывает, какие действия происходят с пакетами. Она также показывает информацию о соответствии пакетов условиям. Если пакет соответствует, показывается результирующая маршрутная информация пакета.
Для отслеживания маршрутов, по которым пакеты следуют к месту назначения, используется команда traceroute. Для изменения параметров по умолчанию и проведения теста traceroute необходимо запустить команду traceroute без указания аргумента адреса назначения. Тогда во время диалога с командой будет возможность выбрать требуемые параметры.
Для проверки доступности адреса назначения и работоспособности соединения мспользуется команда ping. Ее также можно использовать в расширенном режиме путем ввода команды без каких-либо аргументов.



На рисунке показан пример, описывающий общий сценарий, в котором компания подключена к более, чем одному, провайдеру. Необходимо построить политику для трафика.
На рисунке маршрутизатор R1 предоставляет доступ в интернет частной компании. Он подключен двум разным провайдерам. Маршрутизатор распространяет в сеть предприятия маршрут по умолчанию 0.0.0.0 0.0.0.0 для избежания больших таблиц маршрутизации.
Проблема заключается в следующем. Когда трафик из корпоративных сетей 1.1.0.0 и 1.2.0.0 попадает на маршрутизатор R1, он может идти и к провайдеру ISP1, и к ISP2. Компания хочет, чтобы трафик шел приблизительно поровну через оба провайдера. Для балансировки трафика используется маршрутизация на основе политик. 
PBR настраивается на R1. Весь трафик, который приходит из сети 1.1.0.0 отправляется на ISP1, если нет специальных маршрутов к адресам назначения в таблице маршрутизации (маршрут по умолчанию не используется). Весь трафик, генерируемый сетью 1.2.0.0 направляется на ISP2, если нет специальных маршрутов к адресам назначения в таблице маршрутизации.
Необходимо помнить, что политика маршрутизации применяется для исходящего трафика компании и не определяет политику входящего трафика. Т.е. трафик для сети 1.1.0.0 может быть получен через ISP2.



Конфигурация, которая была настроена на маршрутизаторе R1, показана на рисунке. Имя карты маршрутов – “equal-access”.
Команда ip policy route-map equal-access была применена на интерфейсе Ethernet 0, который является входящим интерфейсом, который получает пакеты для маршрутизации на основе политик.
Порядковый номер 10 в карте маршрутов используется для поиска всех пакетов, которые пришли от хостов сети 1.1.0.0. Если пакет найден, и, если маршрутизатор  не имеет явного маршрута  к сети назначения, он отправляет этот пакет на адрес 6.6.6.6 (маршрутизатор ISP1).
Порядковый номер 20 в карте маршрутов используется для поиска всех пакетов, которые пришли от хостов сети 1.2.0.0. Если пакет найден, и, если маршрутизатор  не имеет явного маршрута  к сети назначения, он отправляет этот пакет на адрес 7.7.7.7 (маршрутизатор ISP2).
Порядковый номер 30 в карте маршрутов используется для отбрасывания всех пакетов, которые имеют адрес источника, не принадлежащий к сетям 1.1.0.0 и 1.2.0.0. Интерфейс Null0 – это путь в никуда. Т.е. пакеты будут просто отбрасываться.



На рисунке показан вывод информации после выполнения двух команд show на маршрутизаторе R1.
Команда show ip policy показывает, что карта маршрутов под названием equal-access используется для PBR на интерфейсе Ethernet0 маршрутизатора.
Команда show route-map показывает, что было три пакета, которые соответствовали условиям записи 10 карты маршрутов equal-access.



На рисунке показан вывод информации после выполнения команды debug ip policy. Команда show logging показывает буфер логирования, включая вывод информации от команд debug.
Результат выполнения показывает, что с адресом источника 1.1.1.1 и адресом назначения 190.168.1.1 был получен на интерфейс Ethernet0 и смаршрутизирован на основе политики на интерфейс Serial0 на адрес 6.6.6.6. Адрес источника 1.1.1.1 соответствует записи 10 карты маршрутов equal-access.
1. Примеры перераспределения



Как показано на рисунке, перераспределение маршрутов поддерживает все протоколы маршрутизации. Дополнительно, статические и непосредственно подключенные маршруты могут быть перераспределены, чтобы разрешить протоколам маршрутизации распространять маршруты без использования команды network для них.
Маршруты перераспределяются в протокол маршрутизации, поэтому команда redistribute применяется при настройке протокола маршрутизации, который получает маршруты. Перед применением перераспределения необходимо рассмотреть следующие вопросы:
- перераспределение возможно только между протоколами, которые поддерживают одинаковый стек протоколов. Например, есть возможность перераспределения между протоколами RIP и OSPF, так как они оба поддерживают стек TCP/IP.

- методы, используемые при перераспределении несколько отличается среди различных протоколов маршрутизации. Некоторые протоколы требуют метрику при перераспределении, а некоторые нет.
Следующие основные шаги применяются для всех комбинаций протоколов, хотя команды, которые используются для выполнения этих шагов, могут изменяться, поэтому важно просмотреть документацию Cisco для определенного протокола, который необходимо настроить.
1. Определить граничный маршрутизатор, на котором необходимо настраивать перераспределение. Выбор одного маршрутизатора для перераспределения минимизирует возможность создания петель маршрутизации.
2. Определить протокол маршрутизации ядра. Обычно это OSPF или EIGRP.
3. Определить протокол края или краткосрочный протокол (в случае миграции). Определить все маршруты из протокола края, которые необходимо перераспределить в ядро. Рассмотреть методы, которые уменьшат это число маршрутов.
4. Выбрать метод ввода маршрутов края в ядро. Простое перераспределение с использованием суммирования на границах сети уменьшит число новых записей в таблице маршрутизации маршрутизаторов ядра.
При планировании перераспределения маршрутов из края в ядро необходимо рассмотреть также, как информацию о маршрутах ядра ввести в протокол края. Этот метод зависит от сети.



На рисунке показано, как настроить перераспределение маршрутов из OSPF в RIP.
Сначала необходимо войти в меню настройки протокола RIP с помощью команды router rip
Далее используется команда redistribute для определения протокола, чьи маршруты необходимо перераспределить в RIP. В нашем случае это процесс OSPF номер 1. Также можно использовать опциональные параметры для изменение характеристик перераспределения. Так, можно изменить метрику по умолчанию, а также фильтровать маршруты с помощью карты маршрутов.
По умолчанию метрика равна бесконечности, за исключением перераспределения статических или непосредственно подключенных маршрутов, где метрика равна 1.



На рисунке показано, что маршруты из OSPF процесса номер 1 перераспределяются в RIP, и им присваивается метрика по умолчанию 3. По умолчанию при перераспределении метрика равна бесконечности, поэтому администратор вынужден ее изменить. Так как тип маршрута не определен, оба типа OSPF маршрутов, и внешние, и внутренние, перераcпределяются в RIP. В таблице маршрутизации R2 видно, что OSPF маршрут 172.16.1.0, который был перераспределен в RIP на маршрутизаторе R1, анонсируется на R2 как RIP маршрут.



На рисунке показано, как настроить перераспределение маршрутов из EIGRP автономной системы 100 в OSPF.
Сначала надо войти в режим настройки OSPF с помощью команды router ospf 1
Далее с помощью команды redistribute меню настройки протокола маршрутизации необходимо определить протокол, маршруты которого будут перераспределены в OSPF. В нашем случае это EIGRP 100.  Также можно использовать опциональные параметры для изменение характеристик перераспределения. Так, можно изменить метрику по умолчанию, а также фильтровать маршруты с помощью карты маршрутов.
При перераспределении в OSPF можно также ограничить число префиксов маршрутов с помощью команды redistribute maximum-prefix. При достижении числа префиксов отметки в 75% от заданного числа, маршрутизатор выдаст предупреждение в лог-файл. При достижении числа префиксов максимального значения, маршрутизатор прекращает перераспределение маршрутов. Дополнительными параметрами, которые могут быть использованы для избежания ограничения префиксов при перераспределении, есть задание второго числа, при котором также будет выводиться предупреждение в лог-файл.



На рисунке видно, что маршруты из EIGRP 100 перераспределяются в OSPF 1 и получают метрику по умолчанию 20. По умолчанию у маршрутов тип метрики - внешний 2. В примере на слайде тип метрики меняется на внешний 1.  Это означает, что метрика будет увеличиваться при прохождении обновлений и маршруте по сети. Команда перераспределения также содержит опцию subnet, поэтому подсети будут перераспределяться тоже.
Если посмотреть в таблицу маршрутизации на R2, можно увидеть, что EIGRP маршрут 172.16.1.0, который перераспределяется в OSPF на маршрутизаторе R1, анонсируется как OSPF маршрут внутри автономной системы OSPF. Также видно, что маршрут имеет тип Е1 (внешний 1 типа). 



На рисунке показано, как настраивать перераспределение маршрутов из OSPF в EIGRP.
Сначала надо войти в режим настройки EIGRP с помощью команды router eigrp 100
Далее с помощью команды redistribute в меню настройки протокола маршрутизации надо указать протокол, маршруты которого будут перераспределяться. В нашем случае это OSPF 1. Также можно использовать опциональные параметры для изменение характеристик перераспределения. Так, можно изменить метрику по умолчанию, а также фильтровать маршруты с помощью карты маршрутов.



Нет необходимости указывать метрику при перераспределении маршрутов из EIGRP в EIGRP. При перераспределении маршрутов из других протоколов маршрутизации необходимо указывать пять метрик: bandwidth, delay, reliability, loading, MTU.
- Bandwidth - минимальная пропускная способность маршрута в кб/с. Может быть 0 или любое положительное целое число.
- Delay - задержка на маршруте в десятках микросекунд. Может быть 0 или любое положительное число, которое есть произведением 39,1 наносекунд.
- Reliability - вероятность успешной передачи пакета, выраженное числом от 0 до 255. Значение 255 означает 100% надежности, а 0 - без надежности.
- Loading - эффективная полоса пропускания маршрута, выраженная как число от 0 до 255 (255 означает 100% загрузки).
- MTU - минимальный размер MTU на маршруте в байтах. Может быть 0 или любое положительное целое.

Необходимо использовать команду default-metric меню настройки EIGRP при перераспределении маршрутов из других протоколов с несовместимой метрикой в EIGRP, если не используется команда redistribute. C помощью команды redistribute есть возможность установить метрику во время перераспределения.
Также нет необходимости в применении команды default-metric при перераспределении статических и непосредственно подключенных сетей между EIGRP процессами. 



На рисунке видно, что маршруты из процесса OSPF 1 перераспределяются в EIGRP AS 100. По умолчанию метрика равна бесконечности, но для задания правильной метрики ее надо изменить. Для этого можно использовать команду default-metric или redistribution. В примере на рисунке метрика по умолчанию была изменена с помощью команды redistribution со следующими параметрами: bandwidth в килобайтах в секунду - 10000, delay в десятках микросекунд - 100, reliability - 255 (максимум), load - 1 (минимум), MTU - 1500 байт.
Как можно увидеть из таблицы маршрутизации R2, маршрут 172.16.1.0, который был перераспределен из OSPF в EIGRP AS100 на маршрутизаторе R1, анонсируется в EIGRP AS100 как маршрут EIGRP.  Он показан как внешний EIGRP маршрут (D EX). 
Внешние EIGRP маршруты имеют более высокое административное расстояние, чем внутренние EIGRP маршруты, поэтому внутренние маршруты будут более предпочтительными для попадания в таблицу маршрутизации.


На рисунке показана сеть гипотетической компании. Изначально в сети было два домена маршрутизации или автономных системы, одна из которых использовала OSPF, а вторая – RIPv.2. Маршрутизатор R2 – граничный маршрутизатор, он подключен напрямую к маршрутизаторам в каждой автономной системе, и на нем работают оба протокола.
Маршрутизатор R1 находится в RIP домене и анонсирует подсети 10.1.0.0, 10.2.0.0 и 10.3.0.0 на маршрутизатор R2. Маршрутизатор R3 находится в OSPF домене и анонсирует подсети 10.8.0.0, 10.9.0.0, 10.10.0.0 и 10.11.0.0 на маршрутизатор R2. 
Конфигурация R2 показана на рисунке. Необходимо, чтобы RIP работал на интерфейсе serial 1. Кроме того, на интерфейсе serial 2 применена команда passive-interface. Эта команда не дает RIP отправлять обновления через интерфейс.
На рисунке также показаны таблицы маршрутизации маршрутизаторов R1, R2 и R3. Каждый домен маршрутизации отделен от другого.  Маршрутизаторы внутри доменов могут обмениваться данными только внутри своего домена.  Только R2 имеет информацию обо всех маршрутах.
Целью перераспределения в этой сети для всех маршрутизаторов является распознавание всех маршрутов на всех маршрутизаторах в сети. Для решения этих целей, необходимо:
- перераспределить RIP маршруты в OSPF
- перераспределить OSPF маршруты в RIP



Маршрутизатор R2 является граничным маршрутизатором, поэтому настройка перераспределения будет проводиться на нем. На рисунке показано, как маршрутизатор R2 был настроен в соответствии с требованиями по перераспределению.
Маршруты RIP перераспределяется в процессе OSPF. В нашем примере метрика устанавливается с помощью команды redistribute.  Другие опции включают определенную метрику по умолчанию или принимающую метрику по умолчанию OSPF, равную 20.
Команда default-metric устанавливает метрику по умолчанию для всех маршрутов, которые перераспределяются в OSPF из любых источников. Но если метрика указывается в команде redistribute, это значение перезаписывает значение метрики по умолчанию. В нашем случае выбрано значение 300, так как эта метрика будет наихудшей среди всех родных OSPF маршрутов.
Маршруты OSPF перераспределяются в процессе RIP. Эти маршруты перераспределяются в RIP с метрикой 5. Эта метрика была выбрана 5, т.к. это наибольшая метрика в RIP домене.
На рисунке также показаны таблицы маршрутизации всех маршрутизаторов после завершения перераспределения. Цели достигнуты. Все маршрутизаторы имеют маршруты ко всем сетям.
Маршрутизаторы R1 и R3 имеют больше маршрутов, чем имели до этого. Также они будут знать, если топология изменится в любом из доменов.
В зависимости от требований сети, можно было увеличить эффективность маршрутизации путем суммирования маршрутов перед их перераспределением. Но необходимо помнить, что суммирование маршрутов скрывает информацию о каждом маршруте. Поэтому, если необходимо, чтобы в других автономных системах маршрутизаторы отслеживали изменение топологии, применять суммирование нельзя. 
Но в большинстве случаев маршрутизаторам необходимо отслеживать изменение топологии только внутри своих собственных доменов маршрутизации. В этом случае применение суммирования оправдано.



Если маршруты суммируются перед перераспределением, таблицы маршрутизации маршрутизаторов уменьшаются. Наибольший выигрыш имеет маршрутизатор R2, имеющий теперь всего четыре маршрута вместо девяти. R1 имеет пять маршрутов вместо восьми, а R3 – шесть вместо восьми. 
Далее показано, как суммирование может быть настроено в этой сети:
- Router R1, RIP: Для RIPv2 команда суммирования применяется на интерфейсе, подключенному к маршрутизатору R2. Суммарный адрес распространяется через этот интерфейс вместо индивидуальных подсетей. Имеется одно ограничение для RIP – маска подсети суммарного адреса должна быть больше или равна маске по умолчанию основной классовой сети. Для суммирования используется команда ip summary-address rip в меню настройки интерфейса.
- Router 3, OSPF: Суммирование в OSPF применяется на ABR или ASBR. Для суммирования маршрутов необходимо на R3 создать еще одну зону, в которой все четыре подсети будут суммироваться. Тогда R3 станет ABR, и на нем в меню конфигурирования OSPF надо применить команду area range для суммирования.

2. Атрибут административного расстояния



Большинство протоколов маршрутизации имеют структуру метрик и алгоритмы, которые несовместимы с другими протоколами.
Использование множества протоколов маршрутизации для бесшовного обмена маршрутной информацией и возможностью лучший путь через несколько протоколов является критическим для сети.
Маршрутизаторы Cisco используют значение, именуемое административным расстоянием, для выбора лучшего пути, если есть два или более маршрутов к цели от разных протоколов маршрутизации. Административное расстояние – это путь для ранжирования степени доверия к протоколу маршрутизации. Cisco назначает значение административного расстояния по умолчанию для каждого протокола маршрутизации.
Каждый протокол имеет свой приоритет от наиболее правдоподобного протокола к наименее правдоподобному. Вот некоторые примеры приоритетов:
- статические маршруты более предпочтительны, чем динамические
- протоколы с более сложной метрикой предпочтительнее, чем протоколы с простой метрикой
- внешние протоколы маршрутизации предпочтительней большинства других протоколов
В таблице на рисунке перечислены административные расстояния протоколов, поддерживаемых маршрутизаторами Cisco. Административное расстояние имеет значение от 0 до 255. Чем меньше значение, тем выше надежность протокола.



На рисунке показана сеть, которая имеет много источников маршрутной информации, активной одновременно. Наименьшее значение административного расстояния означает, что источник имеет большее доверие.
Для определения лучшего пути от R1 к R6 можно сделать следующие выборы, когда все четыре протокола маршрутизации активны на всех маршрутизаторах:
- RIP (административное расстояние 120) – выберет путь R1-R4-R6, основываясь на количестве переприемов. Два переприема лучше, чем четыре.
- OSPF (110) – вычисляет метрику соединений путем деления 100 Мб/с на пропускную способность интерфейса.  Путь R1-R4-R6 будет иметь метрику (100 Мб/с / 64 кб/с) + (100 Мб/с / 1,544 Мб/с) = 1562 + 64 = 1626. Путь R1-R2-R3-R5-R6 будет иметь метрику 64 + 64 + 64 +64 = 256. Поэтому OSPF выберет маршрут с меньшей метрикой, т.е. R1-R2-R3-R5-R6.
Хотя OSPF и IS-IS оба являются протоколами состояния связей и сходятся быстро, OSPF  имеет большее доверие, т.к. использует для метрики пропускную способность, что более желательно для выбора лучшего пути.
- EIGRP (90) – рассчитывает метрику как (100 000 000 / bandwidth) + delay, где bandwidth – наименьшая скорость на пути, а delay – суммарная задержка пути. Считая, что задержка всех соединений равна 100, маршрут R1-R4-R6 будет иметь метрику (100000000 / 64) + 200 = 1562700, а маршрут R1-R2-R3-R5-R6 – (100000000 / 1544) + 400 = 65166. EIGRP выберет маршрут R1-R2-R3-R5-R6.
Хотя и EIGRP, и OSRF используют для расчета метрики пропускную способность, EIGRP имеет меньшее административное расстояние, т.к. для расчета метрики больше параметров.
Так как EIGRP имеет меньшее административное расстояние, только маршрут EIGRP будет занесен в таблицу маршрутизации.

3. Перераспределение маршрутов с использованием административного расстояния



Для настройки перераспределения с использованием административного расстояния необходимо выполнить следующие шаги:
- войти в режим настройки протокола маршрутизации
- настроить перераспределение из другого протокола
- изменить административное расстояние
Эти шаги требуют информацию об используемых протоколах и их административных расстояниях.

Команда distance настраивает административные расстояния для определенных сетей, попадающих в таблицу маршрутизации в зависимости от использующегося протокола маршрутизации. Эта команда имеет различный синтаксис в зависимости от протокола.
Для протокола OSPF используется команда distance ospf. Можно назначить разные значения административных расстояний для внутренних, межзонных и внешних маршрутов. По умолчанию для них всех административное расстояние равно 110.
Для EIGRP используется команда distance eigrp. EIGRP назначает разные значения административных расстояний для маршрутов, изученных с помощью EIGRP (90) и для маршрутов, полученных из других источников (170).
Для BGP используется команда distance bgp. BGP назначает разные значения административных расстояний для маршрутов, изученных через внешний BGP (20), внутренний BGP (200) и для локальных маршрутов (200).



В некоторых случаях маршрутизатор выбирает, если присвоено лучшее административное расстояние протоколу маршрутизации, имеющему худший маршрут.
Назначение более высокого административного расстояния нежелательному протоколу дает гарантию, что маршрутизатор выберет маршрут желательного протокола. На рисунке показана команда по изменению административного расстояния по умолчанию.
Команда distance изменяет административное расстояние по умолчанию для вех протоколов. Эта команда используется для определения административного расстояния особых маршрутов, внесенных в таблицу маршрутизации.
На рисунке видно, что настраивается маршрутизация EIGRP в автономной системе 100 с помощью команды router eigrp. C помощью команды network определяется EIGRP маршрутизация для сетей 192.168.7.0 и 172.16.0.0. Командой distance eigrp 80 130 устанавливается административное расстояние 80 для внутренних маршрутов и 130 для внешних маршрутов. Дополнительно командой distance 90 192.168.7.0 0.0.0.255 устанавливается административное расстояние для всех маршрутов из сети 192.168.7.0/24 и командой distance 120 172.16.1.3 0.0.0.255 – административное расстояние 120 для маршрутизатора с адресом 172.16.1.3.  



На рисунке видно, что настраивается маршрутизация OSPF  с номером процесса 10 с помощью команды router ospf. C помощью команды network определяется OSPF маршрутизация для сетей 192.168.7.0 и 172.16.0.0. Командой distance ospf external 100 inter-area 100 intra-area 100 устанавливается административное расстояние 100 для внешних, внутризонных и межзонных маршрутов (по умолчанию 110). Дополнительно командами distance 90 10.0.0.0 0.0.0.255, distance 110 10.11.0.0 0.0.0.255 и distance 130 10.11.12.0 0.0.0.255 устанавливаются административные расстояния для наиболее специфических маршрутов. 

4. Влияние использования административного расстояния на манипуляции маршрутами



На рисунке показана сеть, использующая несколько протоколов маршрутизации. Имеется несколько проблем в определении правильного пути при перераспределении. В примерах показано, какие возникают проблемы, где они возникают и как их решать. Показано перераспределение с использованием административного расстояния.
На рисунке показана сеть с доменами маршрутизации RIP и OSPF. Напоминаем, что OSPF является более надежным протоколом, так как он имеет административное расстояние 110, а RIP – 120.
Если, например, граничный маршрутизатор, R1 или R2, узнает о сети через RIP и OSPF, OSPF маршрут будет внесен в таблицу маршрутизации, так как имеет меньшее административное расстояние, чем RIP, хотя путь через OSPF маршрут будет хуже, чем через RIP маршрут.



На рисунке показаны настройки маршрутизаторов R1 и R2. Эти настройки перераспределяют RIP в OSPF и OSPF в RIP на обоих маршрутизаторах.
Перераспределение в OSPF устанавливает метрику по умолчанию для RIP маршрутов в OSPF 10000, что делает их менее предпочтительными по сравнению с родными маршрутами и препятствует возникновению обратных связей. Также устанавливается тип метрики Е1, т.е. метрика продолжит расти, а также маршрутизатор будет перераспределять информацию о подсетях.
Перераспределение в RIP устанавливает метрику OSPF маршрутов в RIP 5 для предотвращения обратных связей.



На рисунке показана таблица маршрутизации R2 после окончания перераспределения. Маршрутизатор R2 изучил маршруты RIP и OSPF, но в таблицу маршрутизации попали только маршруты OSPF. 
Первый граничный маршрутизатор после настройки перераспределения имеет нормальную таблицу и сохраняет RIP маршруты. Второй маршрутизатор выбирает OSPF маршруты через свои RIP маршруты. Пути к внутренним RIP маршрутам показаны как идущие через ядро, так как есть две взаимные точки перераспределения.
OSPF узнает о RIP маршрутах через перераспределение. Затем OSPF распространяет RIP маршруты как OSPF маршруты своему соседу. Сосед также узнает о тех же самых маршрутах с помощью RIP. Но маршруты OSPF имеют лучшее административное расстояние, чем RIP, поэтому только OSPF маршруты будут занесены в таблицу маршрутизации. 
Сначала OSPF был настроен на R1. Затем, R2 получил информацию о внутренних (родных RIP) маршрутах через RIP и OSPF. Он предпочтет OSPF маршруты, так как они имеют меньшее административное расстояние. А RIP маршруты будут отсутствовать в таблице маршрутизации.
Если теперь посмотреть на топологию и проследить некоторые из маршрутов, можно увидеть, в результате перераспределения в таблицу маршрутизации попало много неоптимальных маршрутов.
Например, loopback интерфейс 10.200.200.34 подключен к маршрутизатору R4. R4 непосредственно подключен к R2. Но OSPF показывает путь к этому адресу через R1, R3, R4. OSPF маршрут получается актуальным, но длиннее и хуже, чем RIP маршрут.



Один из граничных маршрутизаторов, например R2, выбрал неправильный маршрут, т.к. OSPF имеет лучшее административное расстояние, чем RIP. Можно изменить административное расстояние перераспределяемых RIP маршрутов, чтобы граничный маршрутизатор выбирал родные RIP маршруты, как показано на рисунке.
Команда distance изменяет административное расстояние OSPF маршрутов к сетям, указанным в ACL 64.
ACL 64 используется для указания всех родных RIP маршрутов. Команда access-list 64 permit 10.3.1.0 настраивает стандартный список доступа для разрешения сети 10.3.1.0. Другие похожие записи в списке доступа разрешают другие внутренние родные RIP сети.
На рисунке видно, что оба перераспределяющих маршрутизатора настроены для присвоения административного расстояния 125 OSPF маршрутам для сетей, перечисленных в ACL 64.
Когда маршрутизатор узнает информацию об этих маршрутах из RIP, он будет предпочитать маршруты RIP, а не OSPF, т.к. у RIP административное расстояние будет 120, а у OSPF – 125. Поэтому именно RIP маршруты будут попадать в таблицу маршрутизации.
Необходимо заметить, что команда distance является частью настройки OSPF маршрутизации, поэтому административное расстояние надо менять при настройке OSPF, а не RIP. 
Необходимо настроить команду distance на обоих перераспределяющих маршрутизаторах.



На рисунке видно, что у R2 остались прямые пути к внутренним сетям, изученным с помощью RIP. Однако некоторая маршрутная информация потеряна в конфигурации. Например, в зависимости от актуальной полосы пропускания, OSPF путь может быть лучше для сети 10.3.1.0.
Этот пример иллюстрирует важность знания сети перед внедрением перераспределения и внимательно смотреть, какие маршруты будут выбраны после включения перераспределения.
Необходимо уделить внимание маршрутизаторам, которые могут быть выбраны из числа возможных резервных путей к сети, так как они могут стать причиной неоптимальной маршрутизации.
Наиболее важным преимуществом использования административного расстояния является управление предпочтительными маршрутами, при котором информация о маршрутах не будет потеряна. OSPF информация будет продолжать находиться в LSDB OSPF. Если основной маршрут будет утерян, маршрут OSPF заменит его, и маршрутизатор не потеряет связь с этими сетями.

5. Перераспределение с использованием карт маршрутов



На рисунке показано многоточечное двухстороннее перераспределение. В таком типе перераспределения велика вероятность петель маршрутизации.
Простое перераспределение настроено следующим образом:
router rip
 network 11.0.0.0
redistribute eigrp 40 metric 3
!
router eigrp 40
network 12.0.0.0
redistribute rip metric 10000 100 255 1 1500
Метрика по умолчанию необходима, т.к. метрики несовместимы. Этот пример показывает перераспределение между RIP и EIGRP. При потере маршрута возникают длительные по времени петли маршрутизации.
Чтобы предотвратить  петли маршрутизации, используются карты маршрутов для:
- перераспределения только внутренних маршрутов
- тегирования маршрутов



Для предотвращения петель маршрутизации используются карты маршрутов, которые перераспределяют внутренние маршруты или тегируют маршруты.
Решение по использованию карт маршрутов и тегирования показано на рисунке. Маршруты перераспределяются в RIP и тегируются значением 40 во время процесса перераспределения. В обратном направлении маршруты перераспределяются в EIGRP AS 40 и тегируются значением 20. В то же время перераспределенные маршруты фильтруются на основе тегов. Обновления с тегом 20 не разрешены для перераспределения назад в RIP, а обновления маршрутов с тегом 40 не разрешены для перераспределения в EIGRP AS 40.
Как видно на рисунке, команда route-map имеет две строки. Одна из них тегирует, а вторая фильтрует.
На рисунке показана только одна часть конфигурации, для R1. Точно такие же настройки надо сделать на R2.
Если настроено перераспределение между двумя EIGRP протоколами, возможно другое решение. Это решение – перерспределение только внутренних маршрутов.  Настройки должны быть следующие:
router eigrp 20
netwok 11.0.0.0
redistribute eigrp 40 route-map Internal
!
router eigrp 40
netwok 12.0.0.0
redistribute eigrp 20 route-map Internal
!
route-map Internal permit 10
match route-type internal
Это решение работает, пока нет других перераспределений в процесс EIGRP. 

6. Перераспределение маршрутов с использованием карт маршрутов



На рисунке показано многоточечное двухстороннее перераспределение. При таком перераспределении велика вероятность существования петель маршрутизации. В выводе результатов выполнения команды show ip route для определенных сетей видно, что перераспределение происходит, но есть решения для предотвращения петель. Одно из решений, это тегирование, о котором рассказывалось выше. 



Во втором примере тегирование настроено между протоколами во время многоточечного двухстороннего перераспределения. Вывод команды show ip route показывает, как используются теги.
1. Описание сети со сложной маршрутизацией



Существует много причин для сетей со сложной маршрутизацией. Когда сеть растет, она обычно становится более сложной, так как сетевые администраторы настраивают ее исходя из следующих факторов: политические границы, географические границы, слияние компаний. Во всех этих случаях сетевые администраторы сталкиваются со сложными сценариями маршрутизации, в которых использование множества протоколов маршрутизации не исключение, а правило. При большом количестве маршрутизаторов и протоколов маршрутизации растет количество обновлений маршрутизации.  Чем больше растет сеть,  тем больше трафика надо для обновлений маршрутизации, соответственно, полезная скорость сети уменьшается, что говорит о необходимости изменений в сети.
Существует три возможных решения, когда дизайн сети должен быть изменен или оптимизирован.  Для этого могут понадобиться масштабируемые протоколы маршрутизации, а также следующие полезные для дизайна и оптимизации трафика средства:
- перераспределение
- фильтрация трафика маршрутизации
- суммирование
В данном уроке будет рассмотрено перераспределение маршрутов между различными протоколами маршрутизации.



Множество протоколов маршрутизации могут быть необходимы в следующих случаях:
- когда происходит миграция со старого протокола внутренней маршрутизации в новый протокол. Множество границ перераспределения могут существовать, пока нока новый протокол полностью заменит старый. То же самое происходит при слиянии компаний, каждая из которых использует разный протокол маршрутизации
- когда использование нового протокола желанно, но старый протокол необходим для конечных систем, например, на маршрутизаторах под UNIX используется RIP
- когда некоторые подразделения не хотят обновлять свои маршрутизаторы для поддержки новых протоколов маршрутизации
- при использовании в сети оборудования различных производителей. В таком случае, можно использовать EIGRP для связи маршрутизаторов CISCO, а OSPF – для маршрутизаторов других производителей
Когда используется множество протоколов маршрутизации, может возникнуть необходимость у хоста в одной части сети связаться с хостом в другой части. Одно из решений для данной задачи, это использование маршрута по умолчанию для каждого протокола маршрутизации, но это не всегда оптимальное решение. Дизайн сети может не позволять использование маршрутов по умолчанию.
Если существует более чем один путь к сети назначения, маршрутизаторы могут нуждаться в информации о маршрутах в других частях сети для определения лучшего пути к цели. Дополнительно, если существует множество путей, маршрутизатор должен иметь достаточно информации для определения пути без петель к сети назначения.
Маршрутизаторы Cisco позволяют межсетевое взаимодействие с использованием различных протоколов маршрутизации, применяемых в домене маршрутизации или автономной системе, и обменом маршрутной информацией с помощью решения, которое называется перераспределение маршрутов.
Перераспределение – это то, как маршрутизаторы, подключенные к разным доменам маршрутизации могут обмениваться маршрутной информацией между автономными системами.

2. Определение перераспределения маршрутов



Независимо от причины использования множества протоколов маршрутизации сетевые администраторы должны проводить миграцию с одного протокола на другой или перераспределение маршрутной информации между ними осторожно и вдумчиво.
Очень важно понимать, что должно быть изменено, и создать детальный план перед применением любых изменений. Точная топология сети и инвентаризация всех сетевых устройств также критичны для успеха.
Сетевые администраторы должны понимать требования и возможности протоколов маршрутизации, которые планируется использовать в перераспределении. Протоколы состояния связей, такие как OSPF, требуют иерархическую сетевую структуру. Сетевым администраторам необходимо решить, какие маршрутизаторы будут располагаться в основной зоне 0, и как поделить остальные маршрутизаторы между зонами. EIGRP не требует иерархической структуры, он эффективно работает в одном домене. Сетевые администраторы должны осторожно планировать стратегию перераспределения, чтобы избежать нарушения в трафике или причин отключений.



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


Внутри каждой автономной системы внутренние маршрутизаторы знают все о своей сети.  Маршрутизаторы, которые обеспечивают взаимодействие между автономными системами, называют граничными. На граничных маршрутизаторах должны работать все протоколы маршрутизации, между которыми будет производиться перераспределение маршрутов.
В большинстве случаев перераспределение маршрутов необходимо настраивать.  Перераспределение работает автоматически лишь в случае, когда на маршрутизаторе работают протоколы IGRP и EIGRP и используется один номер автономной системы.
Когда маршрутизатор перераспределяет маршруты, он разрешает протоколу маршрутизации распространять маршруты, которые были изучены не с помощью этого протокола. Эти перераспределенные маршруты могут быть изучены с помощью различных протоколов маршрутизации, такие как при перераспределении между OSPF и EIGRP, а также могут быть изучены из статических маршрутов или непосредственно подключенных маршрутов.
Маршрутизаторы могут перераспределять статические и непосредственно подключенные маршруты так же, как и маршруты от других протоколов маршрутизации.
Перераспределение всегда осуществляется наружу. Маршрутизатор, который делает перераспределение, никогда не изменяет свою таблицу маршрутизации. Когда происходит перераспределение между OSPF и EIGRP, OSPF процесс на граничном маршрутизаторе берет EIGRP маршруты из таблицы маршрутизации и распространяет их OSPF соседям. Точно также EIGRP процесс на граничном маршрутизаторе берет OSPF маршруты из таблицы маршрутизации и распространяет их EIGRP соседям. Тогда обе автономные системы знают о маршрутах другой системы, и каждая автономная система может принять решение о маршрутизации в эти сети.
EIGRP соседи помечают внешние OSPF маршруты в таблице маршрутизации, полученные от граничного маршрутизатора, D EX. Граничный маршрутизатор должен иметь OSPF маршруты к сетям назначения, чтобы иметь возможность перенаправить трафик.
По этой причине маршруты, чтобы быть перераспределенными, должны находиться в таблице маршрутизации. Это требование может показаться очевидным, но это может быть источником проблем. Например, в случае, если маршрутизатор узнал о маршруте из двух источников, OSPF и EIGRP, только маршрут EIGRP будет занесен в таблицу маршрутизации, т.к. он имеет меньшее административное расстояние. Так же, если вы хотите перераспределить этот же маршрут из OSPF в RIP, вам это сделать не удастся, т.к. он представлен в таблице маршрутизации как EIGRP, а не OSPF протокол.

3. Метрика по умолчанию для перераспределенных маршрутов



Когда маршрутизатор рекламирует соединение, подключенное к одному из своих интерфейсов, изначальную метрику называют метрикой по умолчанию, и которая зависит от характеристик интерфейса. Эта метрика возрастает в процессе передачи информации другим маршрутизаторам.
Для OSPF метрика по умолчанию основывается на пропускной способности интерфейса, для EIGRP - на пропускной способности и задержке. Для RIP метрика по умолчанию начинается со счетчика переприемов, равного 0, и возрастает от маршрутизатора к маршрутизатору.
Перераспределенные маршруты физически не подключены к маршрутизатору, они изучены с помощью других протоколов. Поэтому возникает сложность в преобразовании из одной метрики в другую, из количества переприемов в пропускную способность. Если граничный маршрутизатор перераспределяет информацию между протоколами маршрутизации, он должен уметь преобразовывать метрику одного протокола в метрику другого протокола.
Например, если граничный маршрутизатор принимает RIP маршрут, метрикой маршрута будет число переприемов. При перераспределении маршрута в OSPF маршрутизатор должен преобразовать количество переприемов в метрику стоимости, которую поймет OSPF. Эта метрика по умолчанию определяется во время перераспределения. После того, как во время перераспределения маршрута метрика установится, она будет возрастать, как обычно, внутри автономной системы.
Команда default-metric используется в режиме конфигурирования протокола маршрутизации, устанавливает метрику по умолчанию для всех перераспределенных маршрутов. Маршрутизаторы Cisco также позволяют устанавливать метрику по умолчанию, как часть команды redistribution или в параметре metric карты маршрутов. Какой бы метод вы не избрали для установки метрики по умолчанию, ее значение должно быть больше, чем наибольшее значение метрики внутри автономной системы, чтобы предотвратить неоптимальную маршрутизацию и петли маршрутов.



В таблице показано базовые значения по умолчанию для перераспределенных маршрутов каждого протокола маршрутизации. RIP и EIGRP не будут распространять перераспределенные маршруты до тех пор, пока не будет настроена метрика по умолчанию. Эти протоколы по умолчанию воспринимают метрику 0 как бесконечность. Метрика бесконечность говорит маршрутизатору, что маршрут недостижим и его не надо распространять. Метрика по умолчанию для перераспределяемых маршрутов в каждом из протоколов означает следующее:
- для RIP и EIGRP - бесконечность, необходимо настроить метрику по умолчанию, иначе маршруты распространяться не будут
- для OSPF - маршруты по умолчанию имеют тип 2 и метрику 20, за исключением маршрутов, перераспределяемых из BGP, которые имеют по умолчанию тип 2 и метрику 1.
- для BGP метрика по умолчанию остается такой же, какой она была в изначальном протоколе.



На рисунке показано, что метрика по умолчанию, применяемая протоколом OSPF к RIP маршрутам, равна 30. Стоимость соединения Ethernet к маршрутизатору R4 равна 100. Следовательно, стоимость маршрутов для сетей 1.0.0.0, 2.0.0.0 и 3.0.0.0 на маршрутизаторе R4 будет сумма стоимости по умолчанию и стоимости соединения, т.е. 130. Необходимо заметить, что стоимость всех трех сетей в облаке протокола RIP не соответствует стоимости в протоколе OSPF, так как каждый маршрутизатор OSPF будет отправлять трафик для этих сетей на граничный маршрутизатор.
Метрика бесконечность говорит маршрутизатору, что маршрут недостижим, и поэтому его не надо распространять. При перераспределении маршрутов в RIP и EIGRP необходимо настраивать метрику по умолчанию.

4. Определение точки перераспределения



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



Многоточечное перераспределение это перераспределение между двумя протоколами маршрутизации, которое имеет место на двух или больше устройствах, на которых работают оба протокола маршрутизации. Существует два вида перераспределения:
- многоточечное одностороннее перераспределение
- многоточечное двухстороннее перераспределение
При многоточечном перераспределении вполне вероятны петли маршрутизации. Даже одностороннее многоточечное перераспределение опасно, а общее двухстороннее  перераспределение очень проблематично. Часто проблемами бывают различия в административных расстояниях между двумя протоколами, а также несовместимые метрики. В точках перераспределения используются статически присвоенные метрики.

Многоточечное одностороннее перераспределение хорошо работает только, если:
- принимающий протокол маршрутизации поддерживает различные административные расстояния для внутренних и внешних маршрутов (это EIGRP, BGP и поздние редакции OSPF)
- внешнее административное расстояние принимающего протокола маршрутизации больше, чем административное расстояние отправляющего протокола

Сложностями многоточечного двухстороннего перераспределения являются:
- неоптимальная маршрутизация (только часть общей стоимости считается при принятии решения)
- самовозникающиеся петли маршрутизации при потере маршрута

В многоточечных сценариях перераспределения предотвращение петель маршрутизации является основной заботой. При настройке перераспределения необходимо включать в перераспределение только внутренние маршруты из протокола А в протокол В и наоборот. Маршруты в точке перераспределения должны быть теггироваными и филитроваться на основе тегов во время перераспределения в другие направления. Распространение метрики из протокола А в В рекомендуется, даже если это не является достаточным для предотвращения петель маршрутизации. Наиболее простой способ избежания петель при использовании двухстороннего перераспределения является использование маршрутов по умолчанию.



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

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

5. Предостережения о проблемах в перераспределении маршрутов



Перераспределение маршрутной информации добавляет сложности в сеть и увеличивает потенциальные проблемы маршрутизации, поэтому его надо использовать только при необходимости. Ключевые проблемы, которые возникают при использовании перераспределения следующие:
- маршрутизация обратной связи (петли маршрутизации) - в зависимости от того, как внедрено перераспределение, маршрутизаторы могут отправлять информацию, полученную из одной автономной системы назад в ту же автономную систему. Маршрутизация обратной связи похожа на проблему петель маршрутизации, которая возникает в топологиях протоколов вектора расстояния
- несовместимая маршрутная информация - так как каждый протокол маршрутизации использует различную метрику для определения наилучшего пути, выбор пути с использованием перераспределенного маршрута может быть неоптимальным. Информация о метрике маршрута не может быть точно преобразована в различных протоколах, поэтому путь, выбранный маршрутизатором, может быть не самым лучшим.
Для предотвращения неоптимальной маршрутизации следует присваивать перераспределенным маршрутам метрику по умолчанию выше, чем у всех внутренних маршрутов протокола. Например, если RIP маршруты перераспределяются в OSPF и наибольшая метрика OSPF маршрута 50, перераспределенным маршрутам из RIP надо присваивать метрику выше, чем 50.
- несовместимое время сходимости - различные протоколы маршрутизации имеют разное время сходимости. Например, RIP сходится медленнее, чем EIGRP, поэтому при пропадании связи протокол EIGRP узнает об этом раньше, чем RIP.

Хорошее планирование может устранить большинство проблем, но это будет требовать дополнительных настроек. Некоторые проблемы можно решить путем изменения административных расстояний, манипулирования метриками и применением фильтрации с использованием карт маршрутов и списков распределения.



Многоточечное односторонне перераспределение может стать причиной проблем маршрутизации, если протоколы маршрутизации используют различные административные расстояния. Оно работает правильно только при следующих обстоятельствах:
- если принимающий протокол маршрутизации поддерживает различные административные расстояния для внешних и внутренних маршрутов
- если внешнее административное расстояние одного протокола маршрутизации (на рисунке это OSPF) больше, чем административное расстояние второго протокола маршрутизации (EIGRP).

Протоколы маршрутизации, которые поддерживают различные административные расстояния, это EIGRP, BGP и OSPF.

На рисунке видно, что маршрутизатор R1 из EIGRP анонсирует внешние маршруты путем отправки обновлений на маршрутизаторы R2 и R3. На обоих соседних маршрутизаторах работают два протокола маршрутизации и перераспределение маршрутов между EIGRP и OSPF происходит на R2. Маршрутизатор R3 получает информацию для тех же самых маршрутов напрямую от R1 и от R2 через обновления OSPF. Административное расстояние OSPF (110) ниже, чем внешнее административное расстояние EIGRP (170), поэтому маршрутизатор R3 выберет неправильный путь. Вместо отправки пакетов напрямую на R1, R3 будет отправлять пакеты через R2. В результате получится неоптимальная маршрутизация.



На рисунке видно, что маршрутизатор R1 из EIGRP анонсирует внешние маршруты путем отправки обновлений на маршрутизаторы R2 и R3. На обоих соседних маршрутизаторах работают два протокола маршрутизации и происходит перераспределение маршрутов между EIGRP и OSPF. Так как настроено многоточечное перераспределение, маршрутизаторы R2 и R3получают информацию для тех же самых маршрутов и напрямую от R1, и друг от друга через OSPF. Маршрутная информация, которая получается через OSPF, приходит в форме перераспределенных маршрутов, котрая получается через обновления OSPF. Если административное расстояние OSPF (110) ниже, чем внешнее административное расстояние EIGRP (170), маршрутизатор R2 выберет неправильный путь. Вместо отправки пакетов напрямую на R1, R3 будет отправлять пакеты через R3. В результате получится неоптимальная маршрутизация.



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

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

Для предотвращения петель маршрутизации в многоточечных сценариях перераспределения необходимо принять во внимание следующие рекомендации во время конфигурирования:
- включать только внутренние маршруты из протокола А в протокол В и наоборот
- тегировать маршруты в точках перераспределения и фильтровать на основе тегов во время перераспределения
- правильно распространять метрики из протокола А в протокол В (хотя это не предотвращает от петель)
- использовать маршруты по умолчанию для избежания двухстороннего перераспределения

На рисунке показано двухстороннее многоточечное перераспределение, в котором стоимость внутренних соединений в протоколе А полностью отличается от стоимости соединений в протоколе В. Очевидно, что лучшим путем между маршрутизаторами R1 и R4 будет путь через маршрутизатор R3, но во время перераспределения из протокола В в протокол А метрика теряется и маршрутизатор R1 отправляет пакеты на R4 через R2. В результате происходит неоптимальная маршрутизация.