Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методичка настройка BGPv4

.doc
Скачиваний:
70
Добавлен:
27.11.2015
Размер:
273.92 Кб
Скачать

Министерство образования и науки Российской Федерации

Сибирский федеральный университет

Системы документальной электросвязи

Методические указания для выполнения

практических и самостоятельных работ

Красноярск

СФУ

2012

УДК 621.372.852.5(07)

ББК 32.845.7я73

Ф 947

Составитель: К. Э. Гаипов

Ф 947 Системы документальной электросвязи: лабораторный практикум для студентов направления 210400.62 «Телекоммуникации» и специальности 210406.65 «Сети связи и системы коммутации» [Текст]/ сост. К.Э. Гаипов. – Красноярск: Сиб. федер. ун-т,

2012. – 42 с.

Представлены сведения об установке необходимых программ для проведения лабораторных, даны указания по выполнению лабораторных и самостоятельных работ по дисциплине «Системы документальной электросвязи».

Предназначено для студентов радиотехнического факультета направления подготовки 210400.62 «Телекоммуникации» и специальности «210406.65» «Сети связи и системы коммутации».

УДК 621.372.852.5(07)

ББК 32.845.7я73

© Сибирский

федеральный

университет, 2012

Введение

Данный курс предполагает наличие предварительных знаний о маршрутизации в IP сетях в объеме соответствующему дисциплине «Основы автоматической коммутации». Для проведения лабораторных работ потребуется следующее программное обеспечение: GNS3, WireShark, VirtualBox, порядок установки программ описан в методических указаниях по лабораторным работам «Основы автоматической коммутации».

1. Практическая работа №1 Изучение работы протокола BGP

Основная цель: Освоить основные алгоритмы функционирования протокола BGP.

Промежуточные цели

1. Изучить функционирования атрибута NEXT_HOOP;

2. Изучить правила формирования атрибута ORIGIN;

3. Изучить правила формирования атрибута AS_PATH;

4. Организация туннеля IP-in-IP;

5. Изучить правила взаимодействия с протоколами маршрутизации внутреннего шлюза.

Рисунок 1 – Исследуемая топология

1.1 Предварительная конфигурация

  1. Соберите топологию, указанную на рисунке 1;

  2. Настройте все интерфейсы маршрутизаторов согласно их ip адресам;

  3. В качестве протокола IGP в AS 100 и AS 300 должен функционировать протокол OSPF, протоколом IGP в AS 200 должен быть RIPv2.

  4. Протокол BGP должен быть настроен только на маршрутизаторах R2, R3, R5, R6, R8.

1.2 Базовая конфигурация протокола BGP

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

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

(config)#router bgp [номер автономной системы]

(config-router)#network [ip адрес] mask [маска]

………

R2(config-router)#neighbor [ip адрес] remote-as [номер автономной системы]

В команде router bgp [номер автономной системы] в качестве номера автономной системы надо водить тот номер в автономной системы, в котором находится сам маршрутизатор.

В команде network [ip адрес] mask [маска] в качестве ip адреса указывается номер подсети, который будет анонсироваться соседним спикерам, при этом этот же номер сети должен был быть получен с помощью средств протоколов внутреннего шлюза, или статически задан в таблице маршрутизации, в параметре маска указывается маска этой сети

В команде neighbor [ip адрес] remote-as [номер автономной системы] в качестве ip адреса указывается соседний спикер, в качестве номера автономной системы надо вводить тот номер автономной системы, в которой находится соседний спикер, если номера автономных систем соседних спикеров совпадают, то они взаимодействуют по протоколу iBGP, если не совпадают, то взаимодействие идет по протоколу eBGP. В таблице 1.1 показана базовая конфигурация всех маршрутизаторов.

Таблица 1.1 – Базовая конфигурация

Конфигурация R1

R1#config t

R1(config)#int f0/0

R1(config-if)#ip address 1.0.1.1 255.255.255.0

R1(config-if)#no shutd

R1(config-if)#int f1/0

R1(config-if)#ip address 1.0.0.2 255.255.255.0

R1(config-if)#no shutd

R1(config-if)#int f2/0

R1(config-if)#ip address 1.0.3.1 255.255.255.0

R1(config-if)#no shutd

R1(config-if)#router ospf 1

R1(config-router)#netw

R1(config-router)#network 1.0.0.0 0.255.255.255 area 0

Конфигурация R2

R2#config t

R2(config)#int f0/0

R2(config-if)#ip address 192.168.1.1 255.255.255.0

R2(config-if)#no shutd

R2(config-if)#int f1/0

R2(config-if)#ip address 1.0.1.2 255.255.255.0

R2(config-if)#no shutd

R2(config-if)#int f2/0

R2(config-if)#ip address 1.0.2.1 255.255.255.0

R2(config-if)#no shutd

R2(config-if)#router ospf 1

R2(config-router)#network 1.0.0.0 0.255.255.255 area 0

R2(config-router)#network 192.168.1.0 0.0.0.255 area 0

R2(config-router)#passive-interface fastEthernet 0/0

R2(config-router)#exit

R2(config)#router bgp 100

R2(config-router)#network 1.0.0.0 mask 255.255.255.0

R2(config-router)#network 1.0.1.0 mask 255.255.255.0

R2(config-router)#network 1.0.2.0 mask 255.255.255.0

R2(config-router)#network 1.0.3.0 mask 255.255.255.0

R2(config-router)#network 1.0.4.0 mask 255.255.255.0

R2(config-router)#neighbor 192.168.1.2 remote-as 200

R2(config-router)#neighbor 1.0.0.1 remote-as 100

Конфигурация R3

R3#config t

R3(config)#int f0/0

R3(config-if)#ip address 192.168.0.1 255.255.255.0

R3(config-if)#no shutd

R3(config-if)#int f1/0

R3(config-if)#ip address 1.0.0.1 255.255.255.0

R3(config-if)#no shutd

R3(config-if)#int f2/0

R3(config-if)#ip address 1.0.4.1 255.255.255.0

R3(config-if)#no shutd

R3(config-if)#int f3/0

R3(config-if)#ip address 192.168.2.1 255.255.255.0

R3(config-if)#no shutd

R3(config-if)#exit

R3(config)#router ospf 1

R3(config-router)#network 1.0.0.0 0.255.255.255 area 0

R3(config-router)#network 192.168.0.0 0.0.255.255 area 0

R3(config-router)#passive-interface fastEthernet 3/0

R3(config-router)#passive-interface fastEthernet 0/0

R3(config-router)#exit

R3(config)#router bgp 100

R3(config-router)#neighbor 1.0.1.2 remote-as 100

R3(config-router)#network 1.0.0.0 mask 255.255.255.0

R3(config-router)#network 1.0.1.0 mask 255.255.255.0

R3(config-router)#network 1.0.2.0 mask 255.255.255.0

R3(config-router)#network 1.0.3.0 mask 255.255.255.0

R3(config-router)#network 1.0.4.0 mask 255.255.255.0

R3(config-router)#neighbor 192.168.0.2 remote-as 200

R3(config-router)#neighbor 3.0.0.2 remote-as 300

Конфигурация R4

R4#config t

R4(config)#int f0/0

R4(config-if)#ip address 4.0.2.2 255.255.255.0

R4(config-if)#no shutd

R4(config-if)#int f1/0

R4(config-if)#ip address 4.0.1.1 255.255.255.0

R4(config-if)#no shutd

R4(config-if)#int f2/0

R4(config-if)#ip address 4.0.3.1 255.255.255.0

R4(config-if)#no shutd

R4(config-if)#router rip

R4(config-router)#version 2

R4(config-router)#no auto-summary

R4(config-router)#netw 4.0.0.0

Конфигурация R5

R5#config t

R5(config)#int f0/0

R5(config-if)#ip address 4.0.2.1 255.255.255.0

R5(config-if)#no shutd

R5(config-if)#int f1/0

R5(config-if)#ip address 4.0.0.1 255.255.255.0

R5(config-if)#no shutd

R5(config-if)#int f2/0

R5(config-if)#ip address 192.168.1.2 255.255.255.0

R5(config-if)#no shutd

R5(config-if)#int f3/0

R5(config-if)#ip address 192.168.0.2 255.255.255.0

R5(config-if)#no shutd

R5(config-if)#router rip

R5(config-router)#ver

R5(config-router)#version 2

R5(config-router)#no auto-summary

R5(config-router)#network 4.0.0.0

R5(config-router)#netw 192.168.0.0

R5(config-router)#netw 192.168.1.0

R5(config-router)#passive-interface f2/0

R5(config-router)#passive-interface f3/0

R5(config-router)#exi

R5(config)#router bgp 200

R5(config-router)#network 4.0.0.0 mask 255.255.255.0

R5(config-router)#network 4.0.1.0 mask 255.255.255.0

R5(config-router)#network 4.0.2.0 mask 255.255.255.0

R5(config-router)#network 4.0.3.0 mask 255.255.255.0

R5(config-router)#neighbor 4.0.0.2 remote-as 200

R5(config-router)#neighbor 192.168.1.1 remote-as 100

R5(config-router)#neighbor 192.168.0.1 remote-as 100

Конфигурация R6

R6#config t

R6(config)#int f0/0

R6(config-if)#ip address 4.0.0.2 255.255.255.0

R6(config-if)#no shutd

R6(config-if)#int f1/0

R6(config-if)#ip address 4.0.1.2 255.255.255.0

R6(config-if)#no shutd

R6(config-if)#int f2/0

R6(config-if)#ip address 192.168.3.2 255.255.255.0

R6(config-if)#no shutd

R6(config-if)#router rip

R6(config-router)#version 2

R6(config-router)#network 4.0.0.0

R6(config-router)#network 192.168.3.0

R6(config-router)#no auto-summary

R6(config-router)#passive-interface f2/0

R6(config-router)#exit

R6(config)#router bgp 200

R6(config-router)#network 4.0.0.0 mask 255.255.255.0

R6(config-router)#network 4.0.1.0 mask 255.255.255.0

R6(config-router)#network 4.0.2.0 mask 255.255.255.0

R6(config-router)#network 4.0.3.0 mask 255.255.255.0

R6(config-router)#neighbor 192.168.3.1 remote

R6(config-router)#neighbor 192.168.3.1 remote-as 300

R6(config-router)#neighbor 4.0.0.1 remote-as 200

Конфигурация R7

R7#config t

R7(config)#int f0/0

R7(config-if)#ip address 192.168.2.2 255.255.255.0

R7(config-if)#no shutd

R7(config-if)#int f1/0

R7(config-if)#ip address 3.0.0.1 255.255.255.0

R7(config-if)#no shutd

R7(config-if)#int f2/0

R7(config-if)#ip address 2.0.0.1 255.255.255.0

R7(config-if)#no shutd

R7(config-if)#router ospf 1

R7(config-router)#network 192.168.2.0 0.0.0.255 area 0

R7(config-router)#network 3.0.0.0 0.0.0.255 area 0

R7(config-router)#network 2.0.0.0 0.0.0.255 area 0

R7(config-router)#passive-interface f0/0

Конфигурация R8

R8#config t

R8(config)#int f0/0

R8(config-if)#ip address 3.0.0.2 255.255.255.0

R8(config-if)#no shutd

R8(config-if)#int f1/0

R8(config-if)#ip address 192.168.3.1 255.255.255.0

R8(config-if)#no shutd

R8(config-if)#int f2/0

R8(config-if)#ip address 2.0.1.1 255.255.255.0

R8(config-if)#no shutd

R8(config-if)#router ospf 1

R8(config-router)#network 192.168.3.0 0.0.0.255 area 0

R8(config-router)#network 3.0.0.0 0.0.0.255 area 0

R8(config-router)#network 2.0.1.0 0.0.0.255 area

R8(config-router)#passive-interface f1/0

R8(config-router)#exit

R8(config)#router bgp 300

R8(config-router)#network 3.0.0.0 mask 255.255.255.0

R8(config-router)#network 2.0.0.0 mask 255.255.255.0

R8(config-router)#network 2.0.1.0 mask 255.255.255.0

R8(config-router)#neighbor 192.168.3.2 remote-as 200

R8(config-router)#neighbor 192.168.2.1 remote-as 100

После ввода базовых конфигураций на каждом из маршрутизаторов посмотрите таблицы маршрутизации с помощью команды show ip route. В примере 1.1 показан вывод команды show ip route на маршрутизаторе R8

Пример 1.1

R8#show ip route

Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2

i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

ia - IS-IS inter area, * - candidate default, U - per-user static route

o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

1.0.0.0/24 is subnetted, 5 subnets

B 1.0.1.0 [20/0] via 192.168.3.2, 00:01:09

B 1.0.0.0 [20/0] via 192.168.3.2, 00:01:09

B 1.0.3.0 [20/0] via 192.168.3.2, 00:01:09

B 1.0.2.0 [20/0] via 192.168.3.2, 00:01:09

B 1.0.4.0 [20/0] via 192.168.3.2, 00:01:09

2.0.0.0/24 is subnetted, 2 subnets

O 2.0.0.0 [110/2] via 3.0.0.1, 00:00:14, FastEthernet0/0

C 2.0.1.0 is directly connected, FastEthernet2/0

3.0.0.0/24 is subnetted, 1 subnets

C 3.0.0.0 is directly connected, FastEthernet0/0

4.0.0.0/24 is subnetted, 4 subnets

B 4.0.0.0 [20/0] via 192.168.3.2, 00:01:10

B 4.0.1.0 [20/0] via 192.168.3.2, 00:01:11

B 4.0.2.0 [20/1] via 192.168.3.2, 00:01:11

B 4.0.3.0 [20/1] via 192.168.3.2, 00:01:11

O 192.168.2.0/24 [110/2] via 3.0.0.1, 00:00:16, FastEthernet0/0

C 192.168.3.0/24 is directly connected, FastEthernet1/0

Как видно из вывода данной команды буквой B обозначены маршруты, полученные по протоколу BGP.

Обратите внимание на то, что маршрутизаторы R3 и R8 не сформировали соседских отношений, поэтому в примере 1.1. все маршруты, полученные по протоколу BGP доступны только через маршрутизатор R6 (192.168.3.2). Это связано с тем, что в отправляемых ip пакетах, в которых содержится протокол eBGP, в заголовке значение поля TTL (time to live время жизни) установлено в единицу, следовательно, по умолчанию, только маршрутизаторы соединенные непосредственно могут взаимодействовать между собой.

Очевидным решением является изменить значение поля TTL в отправляемых IP пакетах, что можно сделать с помощью команды:

neighbor [ip адрес] ebgp-multihop [ttl]

Тогда обновленная конфигурация маршрутизаторов R3 и R8 будет следующая, таблица 1.2

Таблица 1.2 – Конфигурация маршрутизаторов R3 и R8

Конфигурация R3

Конфигурация R8

R3#config t

R3(config)#router bgp 100

R3(config-router)#neighbor 3.0.0.2 ebgp-multihop 2

R8#config t

R8(config)#router bgp 300

R3(config-router)#neighbor 192.168.2.1 ebgp-multihop 2

Тем не менее, даже после ввода этой команды маршрутизаторы не взаимодействуют по протоколу eBGP. Рассмотрим эту ситуацию более подробно, для того чтобы спикеры BGP могли взаимодействовать между собой между ними должно существовать ip соединение, то есть в таблицах маршрутизции каждого спикера должен быть указан маршрут к соседнему спикеру. Таблицы маршрутизации R3 и R8 показаны в таблице 1.3.

Таблица 1.2 – таблицы маршрутизации R3 и R8

Таблица маршрутизации R3

Таблица маршрутизации R8

B 2.0.1.0 [20/0] via 192.168.0.2, 01:11:12

3.0.0.0/24 is subnetted, 1 subnets

B 3.0.0.0 [20/0] via 192.168.0.2, 01:11:13

4.0.0.0/24 is subnetted, 4 subnets

B 4.0.0.0 [20/0] via 192.168.0.2, 01:26:39

B 4.0.1.0 [20/1] via 192.168.0.2, 01:26:10

B 4.0.2.0 [20/0] via 192.168.0.2, 01:26:10

B 4.0.3.0 [20/1] via 192.168.0.2, 01:26:10

C 192.168.0.0/24 is directly connected, FastEthernet0/0

O 192.168.1.0/24 [110/3] via 1.0.0.2, 01:35:21, FastEthernet1/0

C 192.168.2.0/24 is directly connected, FastEthernet3/0

B 4.0.0.0 [20/0] via 192.168.3.2, 01:19:41

--More--

*Mar 1 01:42:11.747: %BGP-3-NOTIFICATION: sent to neighbor 192.168.2.1 4/0 (hold time expired) 0 bytes

B 4.0.1.0 [20/0] via 192.168.3.2, 01:19:42

B 4.0.2.0 [20/1] via 192.168.3.2, 01:19:42

B 4.0.3.0 [20/1] via 192.168.3.2, 01:19:42

O 192.168.2.0/24 [110/2] via 3.0.0.1, 01:18:46, FastEthernet0/0

C 192.168.3.0/24 is directly connected, FastEthernet1/0

Как видно из таблиц маршрутизации и тот и другой маршрутизатр знают маршруты до своих соседей, но в маршрутизаторе R3 маршрут к сети 3.0.0.0/24 лежит через маршрутизатор R5 (192.168.0.2) , то есть этот маршрут содержит три транзитных маршрутизатора, а, следовательно, поле TTL должно быть равно 4, из таблицы маршрутизатора R8 видно что сеть 192.168.2.0/24 доступна через маршрутизатор R7, а следовательно для взаимодействия с маршрутизатором R3 маршрутизатор R8 может отправлять пакеты со значением TTL равным два. Таким образом, решением проблемы может быть ввод в конфигурацию команды:

R3(config-router)#neighbor 3.0.0.2 ebgp-multihop 4,

Введите эту команду, через несколько секунд маршрутизатор R3 действительно выведет системное сообщение «%BGP-5-ADJCHANGE: neighbor 3.0.0.2 Up», это означает, что сообщения UPDATE маршрутизатора R3 достигают маршрутизатор R8 и, наоборот, при этом маршрутизатор R3 отправляет сообщения UPDATE через маршрутизатор R5, находящийся в АС200, а маршрутизатор R8 отправляет сообщения UPDATE маршрутизатору R3 через маршрутизатор R7. В результате мршрутизатор R3 получает информацию о сетях АС 300 из трех источников, данную информацию можно посмотреть, введя команду show ip bgp [Network] [mask], где в качестве аргумента Network и Mask можно ввести любую сеть автономной системы 300.

Пример 1.2

R3#show ip bgp 2.0.0.0 255.255.255.0

BGP routing table entry for 2.0.0.0/24, version 488

Paths: (3 available, best #2, table Default-IP-Routing-Table)

Flag: 0x820

Advertised to update-groups:

1 2

1

200 300

192.168.1.2 (metric 3) from 1.0.1.2 (192.168.1.1)

Origin IGP, metric 0, localpref 100, valid, internal

2

300

3.0.0.2 from 3.0.0.2 (192.168.3.1)

Origin IGP, metric 2, localpref 100, valid, external, best

3

200 300

192.168.0.2 from 192.168.0.2 (192.168.1.2)

Origin IGP, localpref 100, valid, external

Как видно маршрутизатор R3 имеет три возможных маршрута к сети 2.0.0.0/24, но лучшей считается второй маршрут. Согласно информации о втором маршруте сеть 2.0.0.0/24 обладает следующими атрибутами AS_PATH=АС300, Next_Hop=3.0.0.2, информация, полученная об этом маршруте от других источников, проходит через две автономные системы, поэтому процесс принятия решения определяет маршрут 2 как лучший и заносит себе в таблицу маршрутизации.

Пример 1.3

R3#show ip route

1.0.0.0/24 is subnetted, 5 subnets

O 1.0.1.0 [110/2] via 1.0.0.2, 00:47:07, FastEthernet1/0

C 1.0.0.0 is directly connected, FastEthernet1/0

O 1.0.3.0 [110/2] via 1.0.0.2, 00:47:07, FastEthernet1/0

O 1.0.2.0 [110/3] via 1.0.0.2, 00:47:07, FastEthernet1/0

C 1.0.4.0 is directly connected, FastEthernet2/0

2.0.0.0/24 is subnetted, 2 subnets

B 2.0.0.0 [20/2] via 3.0.0.2, 00:00:02

B 2.0.1.0 [20/0] via 3.0.0.2, 00:00:02

3.0.0.0/24 is subnetted, 1 subnets

B 3.0.0.0 [20/0] via 3.0.0.2, 00:00:04

4.0.0.0/24 is subnetted, 4 subnets

B 4.0.0.0 [20/0] via 192.168.0.2, 01:14:22

B 4.0.1.0 [20/1] via 192.168.0.2, 01:14:23

B 4.0.2.0 [20/0] via 192.168.0.2, 01:14:23

B 4.0.3.0 [20/1] via 192.168.0.2, 01:14:23

C 192.168.0.0/24 is directly connected, FastEthernet0/0

O 192.168.1.0/24 [110/3] via 1.0.0.2, 00:47:10, FastEthernet1/0

C 192.168.2.0/24 is directly connected, FastEthernet3/0

Сравните эту таблицу маршрутизации с таблицей из примера 1.1, как видно для этих маршрутов поменялся адрес следующего транзитного перехода, поэтому теперь чтобы отправить пакет в сеть 3.0.0.0/24 или 2.0.0.0/24 маршрутизатор R3 должен осуществить рекурсивный поиск по таблице маршрутизации, чтобы найти маршрут к узлу 3.0.0.2, который является следующим транзитным переходом, в свою очередь узел 3.0.0.2 находится в сети 3.0.0.0/24, следовательно, маршрутизатор R3 не сможет отправлять пакеты в сети, находящиеся в АС300.

Из сказанного следует, что команда R3(config-router)#neighbor 3.0.0.2 ebgp-multihop 4 не решает поставленной задачи, единственно верным решением будет внесение в таблицу маршрутизации маршрутизатора R3 информации о достижимости сети 3.0.0.0/24, либо с помощью статической маршрутной записи, либо используя динамическую маршрутизации. В данной ситуации будем использовать статическую маршрутную запись, а также значение ebgp-multihop будет равно 2.

R3#config t

R3(config)#router bgp 100

R3(config-router)#neighbor 3.0.0.2 ebgp-multihop 2

R3(config-router)#exit

R3(config)#ip route 3.0.0.0 255.255.255.0 192.168.2.2

После чего в таблице маршрутиации маршрутизатора R3 будет выглядеть следующим образом:

Пример 1.4.

R3#show ip route

O 1.0.1.0 [110/2] via 1.0.0.2, 17:45:58, FastEthernet1/0

C 1.0.0.0 is directly connected, FastEthernet1/0

O 1.0.3.0 [110/2] via 1.0.0.2, 17:45:58, FastEthernet1/0

O 1.0.2.0 [110/3] via 1.0.0.2, 17:45:58, FastEthernet1/0

C 1.0.4.0 is directly connected, FastEthernet2/0

2.0.0.0/24 is subnetted, 2 subnets

B 2.0.0.0 [20/2] via 3.0.0.2, 00:01:01

B 2.0.1.0 [20/0] via 3.0.0.2, 00:01:01

3.0.0.0/24 is subnetted, 1 subnets

S 3.0.0.0 [1/0] via 192.168.2.2

4.0.0.0/24 is subnetted, 4 subnets

B 4.0.0.0 [20/0] via 192.168.0.2, 18:13:12

B 4.0.1.0 [20/1] via 192.168.0.2, 18:13:13

B 4.0.2.0 [20/0] via 192.168.0.2, 18:13:13

B 4.0.3.0 [20/1] via 192.168.0.2, 18:13:13

C 192.168.0.0/24 is directly connected, FastEthernet0/0

O 192.168.1.0/24 [110/3] via 1.0.0.2, 17:46:00, FastEthernet1/0

C 192.168.2.0/24 is directly connected, FastEthernet3/0

Как видно из примера 1.4 чтобы пакеты попадали в сеть 2.0.0.0/24 АС300, они должны, как и в предыдущем случае, отправляться на адрес 3.0.0.2, но теперь поиск по таблице маршрутизации указывает на то, что сеть 3.0.0.0/24, где находится адрес 3.0.0.2, доступен через 192.168.2.2.

Рассмотрим таблицу маршрутизации маршрутизатора R2

Пример 1.5

R2#show ip route

1.0.0.0/24 is subnetted, 5 subnets

C 1.0.1.0 is directly connected, FastEthernet1/0

O 1.0.0.0 [110/2] via 1.0.1.1, 00:05:52, FastEthernet1/0

O 1.0.3.0 [110/2] via 1.0.1.1, 00:05:52, FastEthernet1/0

C 1.0.2.0 is directly connected, FastEthernet2/0

O 1.0.4.0 [110/3] via 1.0.1.1, 00:05:52, FastEthernet1/0

2.0.0.0/24 is subnetted, 2 subnets

B 2.0.0.0 [200/2] via 3.0.0.2, 00:00:07

B 2.0.1.0 [200/0] via 3.0.0.2, 00:00:07

3.0.0.0/24 is subnetted, 1 subnets

B 3.0.0.0 [200/0] via 3.0.0.2, 00:00:09

4.0.0.0/24 is subnetted, 4 subnets

B 4.0.0.0 [20/0] via 192.168.1.2, 00:05:19

--more-

Как видно из таблицы маршрутизации, пример 1.5, сети автономной системы AC 300 для него доступны через ip адрес 3.0.0.2, это связано с тем, что атрибут NEXT_HOP=3.0.0.2 не изменяется при передаче его по протоколу iBGP. Данная ситуация аналогична ситуации с маршрутизатором R3, когда рекурсивный поиск по таблице маршрутизации не давал ответа как достичь адреса 3.0.0.2, иными словами сети автономной системы 300 для маршрутизатора R2 являются не доступными. Для обеспечения доступности этих сетей необходимо обеспечить в таблицах маршрутизации маршрут к сети 3.0.0.0/24 через тот транзитный переход, чей ip адрес будет доступен через таблицу маршрутизации маршрутизатора R2. Для решения этой проблемы можно пойти тремя путями:

  1. статически внести информацию о сети 3.0.0.0/24, что она доступна через ip адрес 1.0.0.1 маршрутизатора R3 или через ip 1.0.1.1 маршрутизатора R1;

  2. перераспределить статическую информацию о сети 3.0.0.0/24 в маршрутную информацию протокола IGP на маршрутизаторе R3;

  3. изменить значение атрибута NEXT_HOP=3.0.0.2, получаемого от маршрутизатора R8, на значение 1.0.0.1.

Первый способ не является лучшим решением, так как в автономной системе АС100 могло бы оказаться большое число маршрутизаторов, в которых сеть 3.0.0.0/24 была бы недоступна, и статическое внесение маршрутных записей было бы слишком рутинной задачей, к тому же если в автономной системе 300 произойдет изменение ip BGP спикера, то все статические записи необходимо будет менять.

Второй способ, является более приемлем, так как в этом случае все маршрутизаторы автоматически получат по протоколу IGP информации о том как получить доступ к сети 3.0.0.0/24, недостатком же будет являться то, что данная сеть будет известна всем маршурутизаторам автономной системы. К тому же количество спикеров с маршрутизатором R3 может быть велико, и тогда придется перераспределять все статические маршруты, ведущие к этим спикерам, также чтобы не перераспределять лишнюю информацию из статических таблиц, необходимо будет сконфигурировать списки доступов.

Последний способ обеспечивает простую замену атрибута, и анонсы о всех сетях, получаемые маршрутизатором R3 от других автономных систем по eBGP будут передаваться всем iBGP соседам маршрутизатра R3 с измененым атрибутом NEXT_HOP=1.0.0.1.

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

Для того чтобы маршрутизатор R3 изменял атрибут NEXT_HOP, полученный от маршрутизатора R8, необходимо ввести следующую команду:

R3(config-router)#neighbor 1.0.1.2 next-hop-self

После чего таблица маршрутизации маршрутизатора R2 будет иметь вид:

Пример 1.6

R2#show ip route

2.0.0.0/24 is subnetted, 2 subnets

B 2.0.0.0 [200/2] via 1.0.0.1, 00:00:09

B 2.0.1.0 [200/0] via 1.0.0.1, 00:00:09

3.0.0.0/24 is subnetted, 1 subnets

B 3.0.0.0 [200/0] via 1.0.0.1, 00:00:11

4.0.0.0/24 is subnetted, 4 subnets

--more--

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

В качестве примера рассмотрим ситуацию отправки ICMP пакета с маршрутизатора R2 на интерфейс маршрутизатора R3 2.0.1.1, хотя информация о сети 2.0.1.0/24 содержится в таблице маршрутизатора R2, следующим мршрутизатором, которому будет отправлен пакет ICMP c адресом назначения 2.0.0.1, будет маршрутизатор R1, чья таблица маршрутизации содержит только информацию о внутренних сетях автономной системы, а, следовательно, пакет будет удален, а отправителю будет отправлено ICMP сообщение о том, что узел не достижим.

Пример 1.7

R2#ping 2.0.1.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 2.0.1.1, timeout is 2 seconds:

U.U.U

Сообщение U.U.U означает unreachable (недостижим), тоже касается и отправки сообщения ICMP c маршрутизатора R1 и маршрутизатора R4.

R1#ping 2.0.1.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 2.0.1.1, timeout is 2 seconds:

.....

Таким образом, необходимо решить следующие задачи:

  1. обеспечить доступ всех пользователей к другим автономным системам:

  2. обеспечить транзитную передачу пакетов через автономную систему.

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

Рассмотрим задачу транзитной передачи трафика.

Для обеспечения транзита через АС100 можно запустить протокол BGP на маршрутизаторе R1, но такая ситуация не всегда является возможной. Для выполнение такой задачи необходимо чтобы маршрутизаторами R2 и R3 обладали соединением канального уровня, иными словами, если между маршрутизаторами организовать туннель GRE, IP-in-IP, PPTP или L2TP, то транзитный трафик будет передаваться по туннельным интерфейсам, поскольку средства протокола PPP для данной ситуации излишни, то для поставленной задачи будет достаточно туннеля GRE или IP-in-IP.

Таблица 1.3 - Конфигурация туннелей

Маршрутизатор R2

Маршрутизатор R3

R2(config)#interface tunnel 1

R2(config-if)#tunnel source fastEthernet 1/0

R2(config-if)#tunnel destination 1.0.0.1

R2(config-if)#tunnel mode ipip

R2(config-if)#ip address 10.0.0.1 255.255.255.0

R3(config)#int tunnel 1

R3(config-if)#tunnel source f1/0

R3(config-if)#tunnel destination 1.0.1.2

R3(config-if)#tunnel mode ipip

R3(config-if)#ip address 10.0.0.2 255.255.255.0

Для проверки работы туннеля используем утилиту ping

Пример 1.8

R3#ping 10.0.0.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 10.0.0.1, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 48/70/112 ms

Перехваченный пакет ICMP рисунок 1.2, посланный маршрутизатору R3 от маршрутизатора R2.

Ethernet II, Src: cc:03:0f:b0:00:10 (cc:03:0f:b0:00:10), Dst: cc:01:0f:b0:00:10 (cc:01:0f:b0:00:10)

Internet Protocol Version 4, Src: 1.0.0.1 (1.0.0.1), Dst: 1.0.1.2 (1.0.1.2)

Internet Protocol Version 4, Src: 10.0.0.2 (10.0.0.2), Dst: 10.0.0.1 (10.0.0.1)

Internet Control Message Protocol

Рисунок 1.2 – Перехваченный пакет ICMP

Из рисунка 1.2 видно, что теперь передача данных ведется через туннель организованный между интерфейсами с ip адресами 1.0.0.1 и 1.0.1.2.

Организации туннеля недостаточно для того чтобы транзитный трафик передавался по нему, для этого необходимо чтобы обмен сообщениями по протоколу iBGP велся через туннель, поэтому адреса соседних спикеров в конфигурации протокола BGP должны быть заменены на ip адреса туннельных интерфейсов.