Jump to content
Калькуляторы

Приоритизация определенной AS

В BGP не силен, прошу подсказать как правильно реализовать следующее:

 

У меня есть несколько аплинков, у них у всех одинаковый AS-path до определенной AS. Но через 1ого аплинка пинг 5, через другого 55 (плюс как показывает практика канал менее стабильный, бывают потери и большой житер). Но вот если "перезагрузить" BGP, то маршрут идёт через дальнего по каналу аплинка. Чтоб пустить трафик через того, у кого маршрут по пингу лучший, приходится положить сессии со всеми пирами, кроме нужного. После этого поднимаю положенных аплинков и канал идёт как надо. Но у всех бывают работы и периодически трафик начинает ходить через "не как надо". И вот что-то надоело мне нейборов дергать, подскажите как правильно направить трафик до нужной AS через нужный аплинк (препенды не помогают, так как теряется баланс нагрузки - всё начинает шпарить через канал без препендов)

Share this post


Link to post
Share on other sites

В BGP не силен, прошу подсказать как правильно реализовать следующее:

 

У меня есть несколько аплинков, у них у всех одинаковый AS-path до определенной AS. Но через 1ого аплинка пинг 5, через другого 55 (плюс как показывает практика канал менее стабильный, бывают потери и большой житер). Но вот если "перезагрузить" BGP, то маршрут идёт через дальнего по каналу аплинка. Чтоб пустить трафик через того, у кого маршрут по пингу лучший, приходится положить сессии со всеми пирами, кроме нужного. После этого поднимаю положенных аплинков и канал идёт как надо. Но у всех бывают работы и периодически трафик начинает ходить через "не как надо". И вот что-то надоело мне нейборов дергать, подскажите как правильно направить трафик до нужной AS через нужный аплинк (препенды не помогают, так как теряется баланс нагрузки - всё начинает шпарить через канал без препендов)

 

Посмотрите на параметр weight.

Share this post


Link to post
Share on other sites

Пример из учебника:

 

Problem

 

You want to filter the BGP routes that you either send or receive based on AS Path information.

 

Solution

 

You can use AS Path filters either inbound or outbound,

to filter either the routes you send or the routes you receive, respectively.

You must apply these filters to each peer separately:

 

Router1#configure terminal

Enter configuration commands, one per line. End with CNTL/Z.

 

Router1(config)#ip as-path access-list 15 permit ^65501$

Router1(config)#ip as-path access-list 25 permit _65530_

Router1(config)#ip as-path access-list 25 deny _65531$

Router1(config)#ip as-path access-list 25 permit .*

Router1(config)#router bgp 65500

Router1(config-router)#neighbor 192.168.1.5 remote-as 65510

Router1(config-router)#neighbor 192.168.1.5 filter-list 15 in

Router1(config-router)#neighbor 192.168.2.5 remote-as 65520

Router1(config-router)#neighbor 192.168.2.5 filter-list 25 out

Router1(config-router)#end

Router1#

Edited by SmalleR

Share this post


Link to post
Share on other sites

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

 

as-path-list test.aspath.in
 seq 10 permit _65501$
!
route-map test.routemap.in permit 10
 match as-path-list test.aspath.in
 set local-preference 200
route-map test.routemap.in permit 20
!
router bgp 65500
neighbor 1.1.1.1 route-map test.routemap.in in
!

 

Где 65501 - это конечная автономка для "приоретизируемого" маршрута.

1.1.1.1 - "приоритезируемый" апстрим

 

Синтаксис примерный, но суть отражает.

Share this post


Link to post
Share on other sites

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

Такое вот "передёргивание" перестраивает маршруты в обе стороны. А задать приоритет можно только для исходящего трафика.

Share this post


Link to post
Share on other sites

vurd, пример из учебника был только для того, чтобы человек понял в каком направлении "копать".

You want to filter the BGP routes that you either send or receive based on AS Path information

 

В вашем примере приоритет только для исходящего трафика, а как быть с входящим?

Share this post


Link to post
Share on other sites

В общем случае - никак.

 

В частных случаях - возможно, у аплинков есть communities для управления препендами на их пиров.

Share this post


Link to post
Share on other sites

vurd, пример из учебника был только для того, чтобы человек понял в каком направлении "копать".

В вашем примере приоритет только для исходящего трафика, а как быть с входящим?

 

Ну так у вас тоже :) Со входящим это проблему не решит, в случае ее наличия. А пока топикстартер ее не подтвердил, то и теоретизировать смысла нет. Кроме препендов ее и не решить никак.

Кстати, спасибо rdc за мысль о влиянии "передергивания", что-то в этом есть.

Share this post


Link to post
Share on other sites

Спасибо за советы - буду пробовать фильтровать по as_path. С входящим трафиком всё нормально, он всегда идёт по правильному пути

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.