2.jpg
3.jpg
4.jpg
5.jpg
1.jpg

Критерии выбора наилучшего маршрута в протоколе BGP. 

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

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

 


Exclude routes with inaccessible nex-hop

Prefer highest weight

Prefer highest local preference

Prefer routes that the router originated

Prefer shortest AS path

Prefer lowest origin code (IGP<EGP<Incomplete)

Prefer lowest MED

Prefer EBGP path over IBGP

For IBGP paths, prefer path through closest IGP neighbor

For EBGP paths, prefer oldest path

Prefer paths from router with the lowest BGP RID

 

Шаг 1.  В первую очередь маршрутизатор проверяет достижимость next-hop для данного маршрута в своей таблице маршрутизации, которую он получает из протоколов IGP.  Если nex-hop недоступен, то маршрут с этим nex-hop не рассматривается маршрутизатором как наилучший. Если nex-hop все альтернативных маршрутов достижимы, то маршрутизатор переходит ко второму критерию. 

 

Шаг 2. Далее маршрутизатор выбирает маршрут на основе атрибута weight, маршрут с наивысшим значением атрибута будет активным. Данный атрибут не является транспортабельным, то есть не передается в BGP updates. Атрибут является локальным.

 

Шаг 3. Если атрибут, рассмотренный в шаге 2, у нескольких маршрутов одинаков, то сравнивается атрибут local preference. Наилучшим считается маршрут с наибольшим значением атрибута.

 

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

 

Шаг 5.  В данном шаге маршрутизатор делает выбор на основе атрибута AS path. Данный атрибут показывает путь из автономных систем, которые проходит маршрут на своем пути к сети назначения. Маршрутизатор выбирает наиболее короткий путь.

 

Шаг 6. Если атрибут AS path имеет одинаковое значение, то проверяется атрибут origin. Данный атрибут определяет, откуда маршрут к необходимой сети попал в таблицу маршрутизации. Здесь наибольший приоритет отдается маршрутам из IGP, далее маршрутам из EGPи в конце incomplete route.

 

Шаг 7. Маршрутизатор сравнивает атрибут MED, полученный в BGP update от соседа. Выбирается с наименьшим значением атрибута.

 

Шаг 8. В данном шаге предполагается, что сеть, к которой выбираются маршруты, находится вне данной автономной системы. Чем быстрее трафик покинет исходную автономную систему, тем лучше. В данном случае маршруты по EBGPпредпочтительней, чем IBGP.


Шаг 9. Если все альтернативные маршруты получены по IBGP, то наилучший маршрут рассчитывается на основе калькуляции IGPпротокола  в таблице маршрутизации.

 

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

 

Шаг 11.  Если до этого шага маршрутизатор не сделал выбор в маршруте в сети назначения, то он выбирает маршрут на основе BGProuterid. То есть, он сравнивает BGPсессии, по которым получает update.


Рассмотрим пример:


 

RT-cisco#show ip bgp


BGP table version is 24139, local router ID is 10.16.0.1

Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r RIB-failure, S Stale

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


Network               Next Hop    Metric    LocPrf    Weight      Path

*>1.0.0.0            0.0.0.0               0                 32768      i

*>2.0.0.0            3.4.5.6                                      100     44 20 i

*                        2.3.5.6                0                        0     20 i  

*>10.10.0.0        3.4.5.6                0                     100     44 i         

*                        2.3.5.6                                          0     20 44 i

 

В данном примере маршрутизатор выбирает, наилучшие маршруты к сети 2.0.0.0 через nex-hop 3.4.5.6 и к сети 10.10.0.0 через nex-hop 6.6.7.7 на основе атрибута AS path. Выбирается с наибольшим значением. У данных маршрутов он равен 100.

 Только те, кто предпринимает абсурдные попытки, смогут достичь невозможного.

Альберт Эйнштейн

Мы ждем Вас!

тел: +7 (499) 755-75-42

email: Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.


Яндекс.Метрика