Файл: Проектирование маршрутизации в двух трехуровневых сетях с использованием протокола BGP (Расположение маршрутизаторов).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 29.06.2023

Просмотров: 93

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Last read 0:00:29, hold time is 180, keepalive interval is 60 seconds

Minimum time between advertisement runs is 30 seconds

Received 2828 messages, 0 notifications, 0 in queue

Sent 2826 messages, 0 notifications, 0 in queue

Connections established 11; dropped 10

Обратите внимание на состояние связи маршрутизаторов BGP state = Established, любое другое значение указывает на отсутствие взаимодействия между соседями.

Номер версии протокола BGP – 4.

Идентификатор удаленного маршрутизатора (remote router ID) – 175.220.12.1. В этом параметре выводится максимальный по значению IP адрес физического интерфейса соседнего маршрутизатора или максимальный адрес его loopback интерфейса, если таковой присутствует.

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

BGP и loopback интерфейс.

Использование loopback интерфейса для настройки взаимодействия с соседями, в основном, применяется в iBGP и намного реже для eBGP. Обычно, loopback интерфейс используется для взаимодействия с соседним маршрутизатором, независимо от состояния физических интерфейсов, при условии, что хотя бы один физический интерфейс работает и используется маршрутизатором для подключения в сеть. В случае с eBGP – маршрутизаторы, чаще всего, подключены напрямую поэтому конфигурация с loopback интерфейсом не применяется.

Если в команде neighbor вы используете IP адрес loopback интерфейса, то необходимо дополнительно указывать источник обновления для настраиваемого соседнего маршрутизатора.

Маршрутизатор должен указать протоколу BGP, что для установки TCP соединения с соседним маршрутизатором вначале loopback интерфейс. Это выполняется следующей командой:

neighbor ip-address update-source interface

Пример использования loopback интерфейса

RTA#

router bgp 100

neighbor 190.225.11.1 remote-as 100

neighbor 190.225.11.1 update-source loopback 1

RTB#

router bgp 100

neighbor 150.212.1.1 remote-as 100

В приведенном выше примере RTA и RTB используют iBGP внутри AS100. В конфигурации neighbor маршрутизатора RTB используется адрес loopback интерфейса RTA (150.212.1.1) - в этом случае на маршрутизаторе RTA обязательно конфигурируется loopback интерфейс как источник для дальнейшего TCP взаимодействия. Это осуществляется добавлением параметра update-source (neighbor 190.225.11.1 update-source loopback 1), тогда маршрутизатор RTA использует loopback интерфейс при взаимодействии с соседним маршрутизатором по адресу 190.225.11.1.

Обратите внимание, RTA обращается к IP адресу физического интерфейса RTB (190.225.11.1). Поэтому RTB не нуждается в дополнительной конфигурации.


Примеры сценариев конфигурации:

iBGP + Loopback Address

R1-AGS

R6-2500

Current configuration:

!-- Output suppressed.

interface Loopback0

ip address 1.1.1.1 255.255.255.255

!

interface Serial1

ip address 10.10.10.1 255.255.255.0

!

router bgp 300

neighbor 2.2.2.2 remote-as 300

neighbor 2.2.2.2 update-source Loopback0

!-- This command specifies that the TCP

!-- connection with the specified external

!-- peer should be established using the

!-- address on the loopback interface.

!

ip route 2.2.2.2 255.255.255.255 10.10.10.2

!--- This static route ensures that the

!--- remote peer address used for peering

!--- is reachable.

!-- Output suppressed.

end

Current configuration:

!-- Output suppressed.

interface Loopback0

ip address 2.2.2.2 255.255.255.255

!

interface Serial0

ip address 10.10.10.2 255.255.255.0

!

router bgp 300

neighbor 1.1.1.1 remote-as 300

neighbor 1.1.1.1 update-source Loopback0

!-- This command specifies that the TCP

!-- connection with the specified external

!-- peer should be established using the

!-- address on the loopback interface.

!

ip route 1.1.1.1 255.255.255.255 10.10.10.1

!-- Output suppressed.

end

eBGP + Loopback Address

R1-AGS

R6-2500

Current configuration:

!-- Output suppressed.

interface Loopback0

ip address 1.1.1.1 255.255.255.255

!

interface Serial1

ip address 10.10.10.1 255.255.255.0

!

router bgp 300

neighbor 2.2.2.2 remote-as 400

neighbor 2.2.2.2 ebgp-multihop 2

!--- This command changes the ttl value in

!--- order to allow the packet to reach the

!--- external BGP peer which is not directly

!--- connected or is using an interface other

!--- than the directly connected interface.

neighbor 2.2.2.2 update-source Loopback0

!--- This command specifies that the TCP

!--- connection with the external BGP

!--- peer should be established using the

!--- address on the loopback interface.

!

ip route 2.2.2.2 255.255.255.255 10.10.10.2

!--- This static route ensures that the

!--- remote peer address used for peering

!--- is reachable.

!-- Output suppressed.

end

Current configuration:

!-- Output suppressed.

interface Loopback0

ip address 2.2.2.2 255.255.255.255

!

interface Serial0

ip address 10.10.10.2 255.255.255.0

!

router bgp 400

neighbor 1.1.1.1 remote-as 300

neighbor 1.1.1.1 ebgp-multihop 2

neighbor 1.1.1.1 update-source Loopback0

!

ip route 1.1.1.1 255.255.255.255 10.10.10.1

!-- Output suppressed.

end

8.eBGP Multihop.

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


Пример использования Multihop.

RTA#

router bgp 100

neighbor 180.225.11.1 remote-as 300

neighbor 180.225.11.1 ebgp-multihop

RTB#

router bgp 300

neighbor 129.213.1.2 remote-as 100

Если интерфейс маршрутизатор RTA не имеет прямого подключения к RTB, то в конфигурацию eBGP добавляется параметр ebgp-multihop. Т.к., интерфейс RTB имеет прямое подключение, то дополнительная конфигурация параметра ebgp-multihop не выполняется.

Следующий пример показывает, как распределить трафик при помощи BGP, с использованием двух параллельных линий связи - eBGP Multihop (Load Balancing)

RTA#

int loopback 0

ip address 150.10.1.1 255.255.255.0

router bgp 100

neighbor 160.10.1.1 remote-as 200

neighbor 160.10.1.1 ebgp-multihop

neighbor 160.10.1.1 update-source loopback 0

network 150.10.0.0

ip route 160.10.0.0 255.255.0.0 1.1.1.2

ip route 160.10.0.0 255.255.0.0 2.2.2.2

RTB#

int loopback 0

ip address 160.10.1.1 255.255.255.0

router bgp 200

neighbor 150.10.1.1 remote-as 100

neighbor 150.10.1.1 update-source loopback 0

neighbor 150.10.1.1 ebgp-multihop

network 160.10.0.0

ip route 150.10.0.0 255.255.0.0 1.1.1.1

ip route 150.10.0.0 255.255.0.0 2.2.2.1

В приведенном выше примере используется два loopback интерфейса, параметры update-source и ebgp-multihop. Указанная конфигурация позволяет распределить нагрузку между двумя eBGP интерфейсами через две параллельные линии связи. Обычно, BGP использует одну линию и распределение нагрузки не происходит.

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

  1. Добавить loopback интерфейс.
  2. При настройке neighbour указать в качестве параметра IP адрес loopback интерфейса соседнего eBGP маршрутизатора.
  3. При настройке neighbour указать update-source loopback.
  4. При настройке neighbour указать ebgp-multihop
  5. Создать два статических маршрута в таблице маршрутизации для достижения loopback адаптера соседнего eBGP маршрутизатора через каждый из интерфейсов, подключенных параллельно линий. Стоимость параллельных маршрутов должна быть одинакова. Так же указанные записи могут создаваться IGP протоколами.

В результате, маршрутизатор RTA использует два маршрута для достижения соседнего маршрутизатора RTB 160.10.1.1: один - через 1.1.1.2, другой – через 2.2.2.2. Аналогично – для взаимодействия RTB – RTA.

Route Maps (Маршрутные карты).

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


route-map map-tag [[permit | deny] | [sequence-number]]

map-tag - имя, идентифицирующее маршрутную карту, назначается произвольно

permit / deny - определяет состояние карты, соответственно разрешена . запрещена

sequence-number - номер правила маршрутной карты.

В протоколе BGP сначала применяются правила с наименьшим sequence-number и далее по возрастающей. Если какое-либо условие выполняется, то производятся действия, определенные для этого условия и просмотр условий прекращается.

Пример определения двух правил маршрутной карты MYMAP. Первое правило номер 10, второе – номер 20.

route-map MYMAP permit 10 (далее указывается первый набор условий и инструкций)

route-map MYMAP permit 20 (далее указывается второй набор условий и инструкций)

После применения карты MYMAP для входящих и исходящих маршрутов вначале проверяются условия из правила 10 и в случае соответствия выполняются инструкции правила 10. Если условия не выполняются, происходит переключение на правило 20 и т.д.

Команды match и set.

Каждая маршрутная карта состоит из набора команд match и set. Match – определяет набор условий, а set – указывает действия, осуществляемые в случае выполнения условий.

Например, определим маршрутную карту, которая проверяет исходящие обновления и если среди них встречается IP адрес 1.1.1.1 то метрика обновлений будет равна 5 :

route-map MYMAP permit 10

match ip address 1.1.1.1

set metric 5

В данном случае, если заданные условия выполняются – возникает событие permit (разрешить). Протокол BGP устанавливает метрику для данной информации равной 5 и пересылает обновление соседнему маршрутизатору, после чего просмотр маршрутной карты заканчивается.

Следующий пример. Определим маршрутную карту, которая проверяет исходящие обновления и если среди них встречается IP адрес 1.1.1.1 то обновлении не передаются:

route-map MYMAP deny 10

match ip address 1.1.1.1

В данном случае, если заданные условия выполняются – возникает событие deny (запретить). Маршрутизатор не пересылает обновление – на этом просмотр маршрутной карты заканчивается.

Из приведенных выше примеров следует, что в случае применения директивы permit анализ происходит по следующей схеме:

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


В случае применения директивы deny, если информация удовлетворила условию, то она отбрасывается.

Если условия описанные правилом 10 не зависимо от директивы (permit / deny) не выполняются, происходит переключение на правило имеющее следующий больший порядковый номер (например, правило 20) и так далее, пока не закончатся все правила входящие в маршрутную карту. Если, достигнут конец списка правил, и не в одном из случаев не произошло выполнение условия то обновление не будет принято и не будет передано.

В операционной системе CiscoIOS с номером версии меньше 11.2 невозможно фильтровать входящие обновления при помощи команды match <IP адрес> - только исходящие. В версии CiscoIOS 11.2 и далее это ограничение устранено, и фильтрации подвергаются как входящие так и исходящие обновления.

Команда match использует следующие операторы

match as-path

match community

match clns

match interface

match ip address

match ip next-hop

match ip route-source

match metric

match route-type

match tag

Команда set использует следующие операторы

set as-path

set clns

set automatic-tag

set community

set interface

set default interface

set ip default next-hop

set level

set local-preference

set metric

set metric-type

set next-hop

set origin

set tag

set weight

Примеры составления маршрутных карт.

Пример 1.

Пусть между RTA и RTB используется протокол RIP, между RTA и RTC используется протокол BGP. Маршрутизатор RTA получает обновления по BGP и передает их протоколу RIP. Если RTA хочет передавать на RTB маршрут 170.10.0.0 с метрикой 2, а все остальные маршруты с метрикой 5, то используется следующая конфигурация:

RTA#

router rip

network 3.0.0.0

network 2.0.0.0

network 150.10.0.0

passive-interface Serial0

redistribute bgp 100 route-map SETMETRIC

router bgp 100

neighbor 2.2.2.3 remote-as 300

network 150.10.0.0

route-map SETMETRIC permit 10

match ip-address 1

set metric 2

route-map SETMETRIC permit 20

set metric 5

access-list 1 permit 170.10.0.0 0.0.255.255

В приведенном выше примере, если маршрутизатор идентифицирует в принятом обновлении значение 170.10.0.0, то выполняется правило 10: обновление передается с метрикой 2 и просмотр маршрутной карты завершается. Иначе выполняется правило 20: обновление передается с метрикой 5 и просмотр маршрутной карты так же завершается.

Пример 2.

Допустим, в приведенной выше схеме необходимо запретить передавать маршрут 170.10.0.0 в AS100. Т.к. маршрутная карта не используется для входящих обновлений, используем условия для исходящих обновлений. Тогда, конфигурация имеет вид: