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

Принципы маршрутизации в Internet. Самое полное описание протокола BGP 4 - Сэм Хелеби

.pdf
Скачиваний:
735
Добавлен:
24.05.2014
Размер:
8.46 Mб
Скачать

Любой маршрут между подсистемами AS имеет длину 0. Посмотрим, как двумя способами получаются сведения о префиксе 192.68.222.0/24: через внутренний маршрут (65060) 2 и через внешний маршрут 1 2. Длина внутреннего маршрута (65060) 2 считается меньшей, так как подсистемы AS при вычислении длины маршрута не учитываются. Именно поэтому был выбран внутренний маршрут.

Листинг 12.81. Конфедерации (таблица BGP-маршрутов на маршрутизаторе

RTA)

RTC# show ip bgp

 

 

 

 

 

 

 

BGP table version is 13, local router ID is 172.16.220.1

 

 

 

 

Status codes: s suppressed, d damped, h history, * valid, > best,

 

 

 

 

i - internal Origin codes: i - IGP, e - EGP, ? – incomplete

 

 

 

Network

Next Hop

Metric

LocPrf

Weight

Path

 

*>i172.16.25.0/24

172.16.50.1

0

100

0

(65060)

i

*>i172.16.30.0/24

172.16.50.1

0

100

0

(65060)

i

*>i172.16.50.0/24

172.16.70.2

0

100

0

i

 

 

*>i172.16.60.0/24

172.16.50.1

0

100

0

(65060)

i

*> 172.16.70.0/24

0.0.0.0

0

 

32768

i

 

 

* i

172.16.70.2

0

100

0

i

 

 

*>i172.16.90.0/24

172.16.50.1

0

100

0

(65060)

i

*>i172.16.65.0/26

172.16.50.1

0

100

0

(65060)

i

*>i172.16.112.0/24

172.16.70.2

0

100

0

i

 

 

*> 172.16.220.0/24

0.0.0.0

0

 

32786

i

 

 

*> 192.68.11.0

172.16.20.1

0

 

0

1

i

 

*

192.68.222.0

172.16.20.1

 

 

0

1

2 i

 

*>i

172.16.50.1

 

100

0

(65060) 2

 

 

 

 

 

 

i

 

 

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

Листинг 12.82. Конфедерации (BGP-таблица на маршрутизаторе RTA)

RTF#show ip bgp 172.16.220.0

BGP routing table entry for 172.16.220.0/24, version 22 Paths: (1 available, best #1, advertised over IBGP)

(65050)

from 172.16.50.2 (172.16.112.1)

Origin IGP, metric 0, localpref 100, valid, confed-external, best

Управление маршрутами и аннулирование содержимого кэша

Традиционным требованием в протоколе BGP был сброс TCP-соединения между взаимодействующими узлами для того, чтобы изменения, внесенные в правила маршрутизации возымели действие (clear ip bgp [* / address peer-group]). При сбрасывании сеансов подобным образом фаза переговоров повторяется с самого начала, при этом аннулируется все содержимое кэша для пересылки IP-пакетов, что существенно влияет на функционирование сети.

Основные причины этого, как уже отмечалось в главе 6, заключаются в том, что маршруты, сведения о которых получены от других узлов, помешаются в базу Adj-RIB-In. Затем эта информация передается входным правилам маршрутизации, соответствующим образом модифицируется и передается процессу принятия решения в BGP. Так как

Глава 12. Настройка эффективных правил маршрутизации в сети Internet

361

немодифицированная копия маршрута (которая изначально хранится в Adj-RIB-In) обычно недоступна, но требуется для вступления в действие новых правил маршрутизации, то можно поступить следующим образом.

1.Источник BGP-маршрута можно вручную заставить повторить сведения о маршруте.

2.Может произойти полный сброс сеанса TCP.

3.Чтобы сохранить данные из Adj-RIB-In в памяти, можно воспользоваться мягкой перенастройкой (soft reconfiguration) BGP.

4.Чтобы запросить удаленную сторону о повторе ее Adj-RIB-Out, можно использовать

обновление BGP-маршрутов (BGP Route Refresh).

Что касается первого исхода, то маловероятно, что в реальной жизни вы будете иметь доступ к маршрутизатору, который сгенерировал исходный маршрут. Второй подход есть проявление грубой силы, что повлечет за собой непредсказуемые последствия, повышающие нестабильность сети. Мягкая перенастройка — очень хороший и элегантный способ решения проблемы, но он требует большого количества памяти. Обновление маршрутов BGP — относительно новое решение, которое со временем будет самым эффективным. Ниже мы обсудим варианты 3 и 4 более подробно.

Мягкая перенастройка BGP

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

clear ip bgp [* / address / peer-group] [soft [in\out]]

Мягкая перенастройка по информационной базе исходящих маршрутов

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

clear ip bgp [* / address / peer-group] soft out

Мягкая перенастройка по информационной базе входящих маршрутов

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

neighbor {address / peer-group} soft-reconfiguration inbound

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

clear ip bgp [* / address / peer-group] soft in

Чтобы избежать излишней нагрузки на память, тот же результат может быть

Глава 12. Настройка эффективных правил маршрутизации в сети Internet

362

достигнут и путем использования мягкой перенастройки по информационной базе исходящих маршрутов, но на другом конце соединения, что также вызовет повторное объявление базы Adj-RIB-Out.

Если параметр in/out не указан (clear ip bgp [* | address | peer-group] soft), то выполняется мягкая перенастройка и по входящим, и по исходящим базам маршрутной информации.

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

Опираясь на схему, приведенную в рис. 12.14, рассмотрим, как сконфигурирован маршрутизатор RTA, посылающий сообщения об обновлении маршрутов на RTC с метрикой 5000 (листинг 12.83).

Листинг 12.83. Мягкая перенастройка по информационной базе входящих маршрутов (конфигурация маршрутизатора RTA)

router bgp

65050

 

 

 

no

synchronization

 

 

 

bgp

confederation identifier 3

 

network

172.16.220.0

mask

255.255.255.0

network

172.16.70.0 mask

255.255.255.0

neighbor

172.16.20.1 remote-as

1

neighbor

172.16.20.1

soft-reconfiguration inbound

neighbor

172.16.20.1

filter-list

10 out

neighbor

172.16.20.1

route-map

setmetric out

neighbor

172.16.70.2

remote-as

65050

no

auto-summary

 

 

 

ip

as-path access-list

10

permit

A$

route-map setmetric permit 10 set metric 5000

Обратите внимание на команду neighbor 172.16.20.1 soft-reconfiguration inbound в

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

Чтобы новые правила маршрутизации вступили в силу, необходимо сбросить BGPсеанс между двумя маршрутизаторами, как это показано в листинге 12.84.

Листинг 12.84. Мягкая перенастройка по информационной базе входящих маршрутов (сброс BGP-сеанса между двумя маршрутизаторами)

RTA#clear ip bgp 172.16.20.1

BGP: 172.16.20.1 reset requested BGP: no valid path for 192.68.11.0/24 BGP: 172.16.20.1 reset by Ox27B740

BGP: 172.16.20.1 went from Established to Idle

BGP: nettable_walker 192.68.11.0/255.255.255.0 no best path selected BGP: 172.16.20.1 went from Idle to Active

BGP: 172.16.70.2 computing updates, neighbor version 21, table version 23, starting at 0.0.0.0 BGP: 172.16.70.2 send UPDATE 192.68.11.0/24 - unreachable

BGP: 172.16.70.2 1 updates enqueued (average=27, maximum=27)

BGP: 172.16.70.2 update run completed, ran for Oms, neighbor version 21, start version 23, throttled to 23, check point net 0.0.0.0

BGP: scanning routing tables BGP 172.16.20.1 went from Active to OpenSent BGP: 172.16.20.1 went from OpenSent to OpenConfirm

BGP: 172.16.20.1 went from OpenConfirm to Established

BGP: 172.16.20.1 computing updates, neighbor version 0, table version 23, starting at 0.0.0.0 BGP: 172.16.20.1 send UPDATE 172.16.25.0/24, next 172.16.20.2, metric 5000, path 3

BGP: 172.16.20.1 send UPDATE 172.16.30.0/24, next 172.16.20.2, path (65060)

BGP: 172.16.20.1 send UPDATE 172.16.50.0/24, next 172.16.20.2, metric 5000, path 3 BGP: 172.16.20.1 send UPDATE 172.16.60.0/24, next 172.16.20.2, path (65060)

BGP: 172.16.20.1 send UPDATE 172.16.70.0/24, next 172.16.20.2, metric 5000, path 3 BGP: 172.16.20.1 send UPDATE 172.16.90.0/24, next 172.16.20.2, path (65060)

BGP: 172.16.20.1 send UPDATE 172.16.65.0/26, next 172.16.20.2, path (65060) BGP: 172.16.20.1 send UPDATE 172.16.112.0/24, next 172.16.20.2, path

Глава 12. Настройка эффективных правил маршрутизации в сети Internet

363

BGP: 172.16.20.1 send UPDATE 172.16.220.0/24, next 172.16.20.2, path

BGP: 172.16.20.1 send UPDATE 192.68.222.0/24, next 172.16.20.2, metric 5000, path 3 2 BGP: 172.16.20.1 4 updates enqueued (average=58, maximum=68) BGP: 172.16.20.1 update run

completed, ran for 24ms, neighbor version 0, start version 23, throttled to 23, check point net 0.0.0.0

BGP: 172.16.20.1 rev UPDATE about 192.68.11.0/24, next hop 172.16.20.1, path 1 metric 2000 BGP: 172.16.20.1 rev UPDATE about 192.68.222.0/24, next hop 172.16.20.1, path 1 2 metric 2000 BGP: 172.16.20.1 rev UPDATE about 172.16.25.0/24 - denied

BGP: 172.16.20.1 rev UPDATE about 172.16.30.0/24 - denied BGP: 172.16.20.1 rev UPDATE about 172.16.50.0/24 - denied BGP: 172.16.20.1 rev UPDATE about 172.16.60.0/24 - denied BGP: 172.16.20.1 rev UPDATE about 172.16.70.0/24 - denied BGP: 172.16.20.1 rev UPDATE about 172.16.90.0/24 - denied BGP: 172.16.20.1 rev UPDATE about 172.16.65.0/26 - denied BGP: 172.16.20.1 rev UPDATE about 172.16.112.0/24 - denied BGP: 172.16.20.1 rev UPDATE about 172.16.220.0/24 - denied

BGP: nettable_walker 192.68.11.0/255.255.255.0 calling revise_route BGP: revise route installing 192.68.11.0/255.255.255.0 -> 172.16.20.1

BGP: 172.16.70.2 computing updates, neighbor version 23, table version 24, starting at 0.0.0.0 BGP: NEXT_HOP part 1 net 192.68.11.0/24, neigh 172.16.70.2, next 172.16.20.1

BGP: 172.16.70.2 send UPDATE 192.68.11,0/24, next 172.16.20.1, metric 2000, path 1 BGP: 172.16.70.2 1 updates enqueued (average=59, maximum=59)

BGP: 172.16.70.2 update run completed, ran for 4ms, neighbor version 23, start version 24, throttled to 24, check point net 0.0.0.0

BGP: 172.16.20.1 rev UPDATE about 172.16.25.0/24 •- withdrawn BGP: 172.16.20.1 rev UPDATE about 172.16.30.0/24 •- withdrawn BGP: 172.16.20.1 rev UPDATE about 172.16.50.0/24 •- withdrawn BGP: 172.16.20.1 rev UPDATE about 172.16.60.0/24 •- withdrawn BGP: 172.16.20.1 rev UPDATE about 172.16.70.0/24 •- withdrawn BGP: 172.16.20.1 rev UPDATE about 172.16.90.0/24 •- withdrawn BGP: 172.16.20.1 rev UPDATE about 172.16.65.0/26 -- withdrawn BGP: 172.16.20.1 rev UPDATE about 172.16.112.0/24 - withdrawn BGP: 172.16.20.1 rev UPDATE about 172.16.220.0/24 - withdrawn

BGP: 172.16.20.1 computing updates, neighbor version 23, table version 24, starting at 0.0.0.0 BGP: 172.16.20.1 update run completed, ran for Oms, neighbor version 23, start version 24, throttled to 24, check point net 0.0.0.0

BGP: scanning routing tables

Как видно из листинга 12.84, при сбросе TCP-сеанса между двумя маршрутизаторами ведется обмен огромными объемами информации, и сеанс начинает повторно устанавливаться с самого начала.

Примечание

Подобная нагрузка на маршрутизатор также будет заметна, если вы просмотрите нагрузку на процессор или текущую информацию о BGP с помощью команд show process cpu или show ip bgp sum. Вы сможете увидеть реальную нагрузку на процессор маршрутизатора и изменения в BGP-таблице, происходящие с маршрутами. Кроме того, вы сможете наблюдать активный обмен маршрутной информацией со всеми взаимодействующими узлами (это происходит обновление маршрутных таблиц).

Далее в отчете о работе системы вы увидите, что BGP-сеанс сброшен, затем выбор взаимодействующего узла переходит из состояния ожидания в фазу "Соединение установлено", после чего происходит обмен информацией об обновлении маршрутов.

В листинге 12.85 показан тот же самый сброс сеанса, но уже с использованием мягкой перенастройки. Обратите внимание, что метрика 5000 посылается без сброса сеанса BGP, и общая нагрузка на маршрутизатор намного ниже.

Листинг 12.85. Мягкая перенастройка по информационной базе входящих

маршрутов (сброс BGP-сеанса между двумя маршрутизаторами с применением мягкой перенастройки)

RTA#clear ip bgp 172.16.29.1 soft out

BGP: start outbound soft reconfiguration for 172.16.20.1

BGP: 172.16.20.1 computing updates, neighbor version 0, table version 24, starting at 0.0.0.0 BGP: 172.16.20.1 send UPDATE 172.16.25.0/24, next 172.16.20.2, metric 5000, path 3

BGP: 172.16.20.1 send UPDATE 172.16.30.0/24, next 172.16.20.2, metric 5000, path 3 BGP: 172.16.20.1 send UPDATE 172.16.50.0/24, next 172.16.20.2, metric 5000, path 3 BGP: 172.16.20.1 send UPDATE 172.16.60.0/24, next 172.16.20.2, metric 5000, path 3 BGP: 172.16.20.1 send UPDATE 172.16.70.0/24, next 172.16,20.2, metric 5000, path 3 BGP: 172.16.20.1 send UPDATE 172.16.90.0/24, next 172.16.20.2, netric 5000, path 3 BGP: 172.16.20.1 send UPDATE 172.16.65.0/26, next 172.16.20.2, metric 5000, path 3 BGP: 172.16.20.1 send UPDATE 172.16.112.0/24, next 172.16.20.2, metric 5000, path 3 BGP: 172.16.20.1 send UPDATE 172.16.220.0/24, next 172.16.20.2, metric 5000, path 3 BGP: 172.16.20.1 send UPDATE 192.68.11.0/24 — unreachable

Глава 12. Настройка эффективных правил маршрутизации в сети Internet

364

BGP: 172.16.20.1 send UPDATE 192.68.222.0/24, next 172.16.20.2, metric 5000, path 3 2 BGP: 172.16.20.1 5 updates enqueued (average=52, maximum=68)

BGP: 172.16.20.1 update run completed, ran for 24ras, neighbor version 0, start version 24, throttled to 24, check point net 0,-0.0.0

BGP: scanning routing tables

Обновление BGP-маршрутов

Функция обновления BGP-маршрутов (BGP Route Refresh) входит в состав возможностей протокола BGP (которые мы обсуждали в главе 5). При установлении соединения по протоколу BGP взаимодействующие узлы объявляют о поддержке функции обновления маршрутов. Если они поддерживают эту функцию, то могут динамически запрашивать удаленный узел о повторном объявлении его базы Adj-RIB-Out (что обычно происходит и при выполнении мягкой перенастройки по информационной базе исходящих маршрутов). Так как при этом для хранения информации дополнительной памяти не требуется, этот способ более эффективен, чем мягкая перенастройка, и не вызывает дополнительных колебаний маршрутов, как при сбросе BGP-сеанса. Когда запрашивающая сторона получает базу Adj-RIB-Out, то передает ее входным правилам маршрутизации (и новым правилам маршрутизации).

Из листинга 12.86 видно, что поддержка функции обновления маршрутов определяется путем проверки выражения Neighbor capabilities в результате выполнения команды show ip bgp neighbor x.x.x.x.

Листинг 12.86. Подтверждение о выполнении обновления BGP-маршрутов

R1#show ip bgp n 1.1.2.2

BGP neighbor is 1.1.2.2, remote AS 2, external link BGP version 4, remote router ID 3.3.3.1

BGP state = Established, up for 2wOd

Last read 00:00:15, hold time is 180, keepalive interval is 60 seconds Neighbor capabilities:

Route refresh: advertised and received

Address family IPv4 Unicast: advertised and received Received 20674 messages, 0 notifications, 0 in queue Sent 20675 messages, 0 notifications, 0 in queue Route refresh request: received 1, sent 2

Minimum time between advertisement runs is 30 seconds

For address family: IPv4 Unicast

BGP table version 6, neighbor version 6 Index 1, Offset 0, Mask 0x2

NEXT_HOP is always this router

Community attribute sent со this neighbor 1 accepted prefixes consume 36 bytes

Prefix advertised 4, suppressed 0, withdrawn 0

Connections established 1; dropped 0 Last reset never

Connection state is ESTAB, I/O status: 1, unread input bytes: 0 Local host: 1.1.2.1, Local port: 179

Foreign host: 1.1.2.2, Foreign port: 11000

Enqueued packets for retransmit: 0, input: 0 mis-ordered: 0 (0 bytes) Event Timers (current time is Ox49ED7420):

Timer Starts

Wakeups

Next

Retrans

20675

0

0x0

 

TimeWait

0

0

0x0

 

AckHold

20674

19530 0X0

 

SendWnd

0

0

0x0

 

KeepAlive

0

0

0x0

 

GiveUp

0

0

0x0

 

PmtuAger

0

0

0x0

 

DeadWait

0

0

0x0

 

Глава 12. Настройка эффективных правил маршрутизации в сети Internet

365

iss:

1081723559

snduna:

1082116474

sndnxt:

1082116474

sndwnd: 15567

irs:

1087514066

rcvnxt:

1087906928

rcvwnd:

15605

delrcvwnd:

779

SRTT: 301 ms, RTTO: 621 ms, RTV: 9 ms, KRTT: 0 ms minRTT: 4 ms, maxRTT: 600 ms, ACK hold: 200 ms Flags: passive open, nagle, gen tcbs

Datagrams (max data segment is 1460 bytes):

Rcvd: 39791 (out of order: 0), with data: 20674, total data bytes: 392861 Sent: 40473 (retransmit: 0), with data: 20674, total data bytes: 392914

Как видите, обновление маршрутов поддерживается только одной стороной. Это видно из записи Route Refresh, где указано количество объявленных (advertised) и/или принятых маршрутов (received).

В листинге 12.87 показано, как запросить удаленный узел о повторном объявлении его базы Adj-RIB-Out.

Листинг 12.87. Принуждение удаленного узла к повторному объявлению базы

Adj-RIB-Out

rl# clear ip bgp 1.1.2.2 soft in rl#

2wOd: BGP: 1.1.2.2 sending REFRESH^REQ for afi/safi: 1/1

2wOd: BGP: 1.1.2.2 send message type 128, length (incl. header) 23 2wOd: BGP: 1.1.2.2 send message type 4, length {incl. header) 19 2wOd: BGP: 1.1.2.2 rev message type 4, length (excl. header) 0

Таким образом вы посылаете взаимодействующему узлу запрос на обновление маршрутов и на повторное объявление базы Adj-RIB-Out.

Из листинга 12.86, где представлены результаты выполнения команды show ip bgp neighbor, видно, что существует также несколько счетчиков, которые фиксируют количество запросов на обновление маршрутов, поступивших и переданных узлом.

Организация работы маршрутизатора в режиме фильтра исходящих BGPмаршрутов

Функция фильтра исходящих BGP-маршрутов (Outbound Route Filter — ORF) также предусмотрена возможностями BGP (которые мы обсуждали в главе 5). Эта функция способствует сбережению ресурсов системы во время обработки обновлений BGPмаршрутов. Если функция ORF объявляется соседним узлом в течение фазы установки сеанса, то это означает, что локальный BGP-спикер разрешит соседнему узлу передавать сведения через его фильтр исходящих префиксов. После того как эти данные получены, локальный BGP-спикер устанавливает фильтр дополнительно к исходящим фильтрам, установленным ранее для соседнего узла. Использование ORF ВОР имеет неоспоримые преимущества.

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

Обновления маршрутов не занимают полезную полосу пропускания.

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

Глава 12. Настройка эффективных правил маршрутизации в сети Internet

366

Примечание

Очень важно понимать, что применение фильтра BGP ORF может оказать очень серьезное влияние на работу сети. Например, если BGP-узел поспал глобальную таблицу маршрутов сети Internet (а это более 75000 маршрутов) на низкопроизводительный маршрутизатор, у которого недостаточно памяти, то это может привести к "зависанию" последнего вследствие недостатка памяти даже при установленных входных фильтрах. Кроме того, такая операция может вызвать перегрузку полосы пропускания на низкоскоросгных соединениях.

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

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

В результате того, что синтаксис для задания BGP ORF в различных версиях IOS очень сильно изменялся, мы решили включить в книгу Приложение В, "Фильтр исходящих маршрутов BGP", где содержатся все информационные бюллетени касающиеся поддержки BGP ORF в оборудовании Cisco. Дополнительную информацию о возможности использования этой функции вы можете найти в документации на вашу версию Cisco IOS.

Разгрузка маршрутов

Разгрузка маршрутов (route dampening) — это механизм, который используется в целях минимизации нестабильностей, вызванных колебаниями маршрутов в сети. Для управления процессом разгрузки маршрутов используется следующая команда:

bgp dampening [[route-map map-name] [half-life-time reuse-value sup-press-value maximum-suppress-time] ]

Ниже приведены диапазоны изменения различных параметров.

half-life-time — интервал времени от 1 до 45 минут. Значение по умолчанию — 15 минут.

reuse-valueот 1 до 20000. По умолчанию — 750.

suppress-value — от 1 до 20000. По умолчанию — 2000.

maximum-suppress-timeмаксимальное время, в течение которого может подавляться маршрут. Оно изменяется в диапазоне от 1 до 255. По умолчанию оно равно 4х half- life-time.

Карта маршрутов может быть связана с разгрузкой маршрутов для избирательной применения параметров разгрузки по заданному критерию. Примером такого критери; может служить определенный IP-маршрут, атрибуты AS_PATH или COMMUNITY.

На рис. 12.15 показаны две AS, AS1 и AS3. Маршрутизатор RTA в AS3 поддержи вает протокол 1BGP при взаимодействии с маршрутизатором RTG и протоко; EBGP — для работы с RTC в AS1. Информация, получаемая от AS3 по EBGP, переда ется протоколу OSPF в AS1.

Глава 12. Настройка эффективных правил маршрутизации в сети Internet

367

Рис. 12.15. Разгрузка маршрутов

Допустим, что маршрутизатор RTC отмечает большое число колебании в сеп 172.16.220.0/24, сведения о которой поступают от AS3, что вызывает колебания в BGP н; самом RTC и, следовательно, в OSPF. При этом маршрут в сеть 172.16.220.0/24 постоянн< появляется и исчезает из маршрутной таблицы маршрутизатора RTH. Чтобы исправит положение, на RTC применяется разгрузка BGP-маршрутов с использованием картъ маршрутов, благодаря чему разгружается только маршрут 172.16.220.0/24. В листингах 12.8; и 12.89 приведены конфигурации маршрутизаторов RTG и RTAjuw этого случая.

Листинг 12.88. Разгрузка маршрутов (конфигурация маршрутизатора RTG)

router bgp 3

no synchronization

network 172.16.112.0 mask 255.255.255.0 neighbor 172.16.70.1 remote-as 3

no auto-summary

Листинг 12.89. Разгрузка маршрутов (конфигурация маршрутизатора RTA)

router bgp 3

no synchronization

network 172.16.220.0 mask 255.255.255.0 network 172.16.70.0 mask 255.255.255.0

neighbor

172.16.20.1 remote-as

1

neighbor 172.16.70.2 remote-as

3

neighbor

172.16.70.2 next-hop-self

no auto-summary

Итак, маршрутизатор RTC взаимодействует по протоколу EBGP с RTA и по IBGP —

с RTH. Все принимаемые маршруты RTC далее передает с помощью протокола OSPF по всей AS1. На этом маршрутизаторе используется карта маршрутов SELECTIVE_DAMPENING, с помощью которой параметры разгрузки применяются только к маршруту в сеть 172.16.220.0/24. Все остальные маршруты, такие как 172.16.112.0/24, разгружаться не будут.

В конфигурации маршрутизатора RTC, приведенной в листинге 12.90, задаются следующие параметры разгрузки.

Интервал времени half-life-time20 минут.

Повторное использование маршрута ограничено 950.

Маршруты будут подавляться, если сумма штрафов превысит 2500.

Маршрут может подавляться не более 80 минут.

Глава 12. Настройка эффективных правил маршрутизации в сети Internet

368

Листинг 12.90. Разгрузка маршрутов (конфигурация маршрутизатора RTC)

router ospf 10 redistribute bgp 1 subnets

network 192.68.0.0 0.0.255.255 area 0

router bgp 1

bgp dampening route-map SELECTIVE_DAMPENING network 192.68.11.0

neighbor 172.16.20.2 remote-as 3 neighbor 192.68.6.1 remote-as 1 no auto-summary

access-list 1 permit 172.16.220.0 0.0.0.255

route-map SELECTIVEJDAMPENING permit 10 match ip address 1

set dampening 20 950 2500 80

route-map SELECTIVE_DAMPENING permit 20

Как видно из листинга 12.90, маршрутизатор RTC обрабатывает только колебания маршрута 172.16.220.0/24. Колебанием маршрута считается любое изменение информации о нем. В листинге 12.91 представлена BGP-таблица до колебания маршрута.

Листинг 12.91. Разгрузка маршрутов (BGP-таблица на маршрутизаторе RTC перед колебанием маршрута)

RTC#show ip bgp 172.16.220.0

BGP routing table entry for 172.16.220.0/24, version 326 Paths: (1 available, best #1, advertised over IBGP)

3

172.16.20.2 from 172.16.20.2 (172.16.220.1) Origin IGP, metric 0, valid, external, best

В листинге 12.92 показано состояние маршрута после колебания. Маршрут не используется и переведен в состояние history. По умолчанию маршруту задан штраф 1000, который уже "возмещен'1 в размере 997.

Листинг 12.92. Разгрузка маршрутов (BGP-таблица на маршрутизаторе RTC

после первого колебания маршрута)

RTC#show

ip bgp 172.16.220.8

 

 

 

 

 

BGP

routing

table

entry

for

172.16.220.0/24,

version

327

Paths:

(1

available,

no best

path,

advertised over

IBGP)

3

(history

entry)

 

 

 

 

 

 

 

172.16.20.2

from

172.16.20.2

(172.16.220.1)

 

 

Origin

IGP,

metric 0,

external

 

 

 

 

Dampinfo:

penalty

997,

flapped

1

times

in 00:00:06

В листинге 12.93 показано, как выглядит информация о маршруте после второго колебания (он снова возвращается в рабочее состояние). Здесь снова добавляется штраф 1000, и после его частичного погашения суммарная величина штрафа составляет 1454.

Листинг 12.93. Разгрузка маршрутов (BGP-таблица на маршрутизаторе RTC

после второго колебания маршрута)

RTC#show

ip bgp 172.16.220.0

 

 

 

BGP

routing

table entry

for

172.16.220.0/24,

version 328

Paths:

 

(1

available, best

#1,

advertised over

IBGP)

3

 

 

 

 

 

 

172.16.20.2from 172.16.20.2 (172.16.220.1)

Origin

IGP, metric

0,

valid,

external,

best

Dampinfo:

penalty

1454,

flapped

2 times

in 00:01:20

Глава 12. Настройка эффективных правил маршрутизации в сети Internet

369

В листинге 12.94 показано состояние маршрута после четырех колебаний. Теперь величина штрафа составляет 2851, что превышает установленный лимит 2500. Теперь маршрут подавляется (разгружается) и не передается маршрутизатору RTH. Маршрут будет снова доступен для использования через 31 минуту и 40 секунд. В то же время штраф будет снижать величину интервала повторного использования до 950.

Листинг 12.94. Разгрузка маршрутов (BGP-таблица на маршрутизаторе ЯТС после четырех колебаний маршрута)

RTC#show

ip bgp 172.16.220.0

 

 

BGP

routing

table

entry

for

172.16.220.0/24, version 329

Paths:

 

(1

available,

no

best

path, advertised over IBGP}

3,

(suppressed due

to

dampening)

172.16.20.2

from

172.16.20.2

(172.16.220.1)

Origin

IGP,

metric 0,

 

valid,

external

Dampinfo:

penalty 2851, flapped 4 times in 00:03:05, reuse in 00:31:40

Листинг 12.95 отображает состояние маршрута после шести колебаний. Различие состоит в том, что время half-life-time здесь составляет уже 5 минут, а не 20 минут, А время maximum-suppress-time составляет 20, а не 80 минут. За более короткое время half-fife-time штраф будет возмещен намного быстрее, и маршрут может использоваться гораздо раньше. Обратите внимание, что интервал времени повторного использования теперь составляет всего 8 минут 10 секунд.

Листинг 12.95. Разгрузка маршрутов (BGP-таблица на маршрутизаторе RTC после шести колебаний маршрута)

RTC#show

ip bgp 172.16.220.0

 

 

 

BGP

routing

table

entry

for 172.16.220.0/24,

version

336

Paths:

(1

available,

 

no best

path, advertised over

IBGP)

3,

(suppressed due

to

dampening)

 

 

172.16.20.2

from

172.16.20.2

(172.16.220.1)

 

 

Origin

IGP,

metric

0,

valid,

external

 

 

Dampinfo:

penalty 2939, flapped 6 times in 00:08:21, reuse in 00:08:10

Изменение настроек таймеров, управляющих разгрузкой, становится крайне необходимым, если администраторы не могут позволить долго отсутствовать тому или иному маршруту. Разгрузка маршрутов в BGP с помощью карт маршрутов представляет собой мощнейшее средство для избирательного подавления аномальных маршрутов, которое позволяет управление и настройку со стороны пользователя.

Забегая вперед

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

Протоколы маршрутизации, начиная от раннего EGP до последних версий BGP, подвергаются серьезным испытаниям, поскольку запросы постоянно растут. Протокол BGP также задумывался как простой протокол для внешней маршрутизации, но со временем превратился в стандарт де-факто, который по сути "склеивает" Internet в одну сеть. На самом деле все приемы и уловки, которые предлагаются в BGP, уже давно были использованы, но каждый день мы сталкиваемся с необходимостью реализации новых возможностей на его базе. В результате рождаются новые протоколы и новые технические приемы. Делают ли они

Глава 12. Настройка эффективных правил маршрутизации в сети Internet

370