URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID6
Нить номер: 19175
[ Назад ]

Исходное сообщение
"Балансировка нагруpки между провайдерами средствами BGP"

Отправлено Luxor , 02-Июл-09 12:05 
Имеется два провайдера от которых получаю full-view BGP c равными каналами по 200 МБит/с. Как средствами BGP организовать распределение трафика 50 на 50 ?
Я так понимаю есть вариант принимать половину префиксов от одного половину от другого, но как-то некрасиво получается - большая часть канала одного из провайдеров может простаивать если пользователи будут активны по маршрутам предоставленные одним из провайдеров...

Содержание

Сообщения в этом обсуждении
"Балансировка нагруpки между провайдерами средствами BGP"
Отправлено littlevik , 02-Июл-09 12:22 
>Имеется два провайдера от которых получаю full-view BGP c равными каналами по
>200 МБит/с. Как средствами BGP организовать распределение трафика 50 на 50
>?
>Я так понимаю есть вариант принимать половину префиксов от одного половину от
>другого, но как-то некрасиво получается - большая часть канала одного из
>провайдеров может простаивать если пользователи будут активны по маршрутам предоставленные одним
>из провайдеров...

Балансировать входящий трафик можно с помощью установки нужного количества препендов на анонсируемые префиксы либо с помощью community (если апстрим поддерживает incoming community).
Для балансировки исходящего трафика используйте localpref либо weigth.


"Балансировка нагруpки между провайдерами средствами BGP"
Отправлено fantom , 02-Июл-09 12:36 
Вопрос, задававшийся миллион раз :)
Ответ - возможна только грубяа балансировка, "красиво и волшебно" - неполучится...

"Балансировка нагруpки между провайдерами средствами BGP"
Отправлено littlevik , 02-Июл-09 14:55 
>Вопрос, задававшийся миллион раз :)
>Ответ - возможна только грубяа балансировка, "красиво и волшебно" - неполучится...

Грубо - с помощью препендов.
С помощью community - вполне красиво.
Сильно зависит от ширины апстримовских каналов. На каналах по 1 мбит будет тяжело, а на каналах по нескольку сотен мбит - очень даже ничего.


"Балансировка нагруpки между провайдерами средствами BGP"
Отправлено Luxor , 02-Июл-09 15:03 
>[оверквотинг удален]
>>200 МБит/с. Как средствами BGP организовать распределение трафика 50 на 50
>>?
>>Я так понимаю есть вариант принимать половину префиксов от одного половину от
>>другого, но как-то некрасиво получается - большая часть канала одного из
>>провайдеров может простаивать если пользователи будут активны по маршрутам предоставленные одним
>>из провайдеров...
>
>Балансировать входящий трафик можно с помощью установки нужного количества препендов на анонсируемые
>префиксы либо с помощью community (если апстрим поддерживает incoming community).
>Для балансировки исходящего трафика используйте localpref либо weigth.

Несколько непонятно как балансировать исходящий трафик через localpref и weigth, маршрутизатор просто выберет маршрут с большим параметром localpref или weigth и балансировать нагрузку не будет. Исходящий трафик можно сбалансировать между провайдерами используя параметр maximum-paths n где n число маршрутов в таблице маршрутизации на сеть.
Если исходящим трафиком еще можно порулить то входящим очень проблемно, неочень понимаю как препендом можно сбалансировать входящий трафик, ну удлиню я AS-PATH для какого провайдера подставляя препендом свою AS-ку и где тут балансировка? легче тогда уже половину префиксов от одного провайдера принимать половину от другого...

Я тут подумал что можно кое-что с NAT-ом наворотить, те кто у меня сидит за NAT-ом создают основную нагрузку, поэтому если их сбалансировать то это уже будет что-то. Итак прочувствуйте силу идеи :):
Выделяю две сети из своего адресного пространства для NAT. Первый кусочек анонсирую через первого провайдера, вторую через второй. В NAT можно поставить чтобы трансляции он проводил с рандомного IP, соответсвенно если выделенные кусочки сетей будут одинаковые то будет распределение 50 на 50. По идее входящий трафик будет сбалансирован. Как вам?
Расскажите пожалуйста еще варианты как можно более-менее качественно балансировать нагрузку по BGP? мне все интересно )
Д

Есть идея


"Балансировка нагруpки между провайдерами средствами BGP"
Отправлено fantom , 02-Июл-09 15:52 
>[оверквотинг удален]
>Выделяю две сети из своего адресного пространства для NAT. Первый кусочек анонсирую
>через первого провайдера, вторую через второй. В NAT можно поставить чтобы
>трансляции он проводил с рандомного IP, соответсвенно если выделенные кусочки сетей
>будут одинаковые то будет распределение 50 на 50. По идее входящий
>трафик будет сбалансирован. Как вам?
>Расскажите пожалуйста еще варианты как можно более-менее качественно балансировать нагрузку по BGP?
>мне все интересно )

>
>Есть идея

BGP НЕ ПРЕДНАЗНАЧЕН для адаптивной балансировки в зависимости от нагрузки на канал, и соответственно не имеет подобных инструментов.

Читайте доку :)
если задача - всегда и при любый обстоятельствах распределять трафик по каналам поровну - BGP сего не выполнит!
Только всреднем и достаточно разннообразный на разные подсети/разных провайдеров.
т.е. если большинсво ваших абонентов дружно качнут что-то с какого-то солидного сервера/кластера (например исошник инсталяшки кокого-нить линукса) - то равномерно раскидать нагрузку по 2-м каналам с помощью BGP неполучиться.


"Балансировка нагруpки между провайдерами средствами BGP"
Отправлено Luxor , 02-Июл-09 16:55 

>(например исошник инсталяшки кокого-нить линукса) - то равномерно раскидать нагрузку по
>2-м каналам с помощью BGP неполучиться.

в случае использования NAT как я описывал выше получится сбалансировать! причем балансировка будет стремится к распределению 50 на 50 при больших количествах NAT-трансляций! А у меня их (трансляций) под 100к. буду пробовать так. То что человек предлагал выше через community это решить, тоже проработаю, кстати можете рассказать поподробней и с примерчиком? :)


"Балансировка нагруpки между провайдерами средствами BGP"
Отправлено fantom , 02-Июл-09 17:46 
>
>>(например исошник инсталяшки кокого-нить линукса) - то равномерно раскидать нагрузку по
>>2-м каналам с помощью BGP неполучиться.
>
>в случае использования NAT как я описывал выше получится сбалансировать! причем балансировка
>будет стремится к распределению 50 на 50 при больших количествах NAT-трансляций!
>А у меня их (трансляций) под 100к. буду пробовать так. То
>что человек предлагал выше через community это решить, тоже проработаю, кстати
>можете рассказать поподробней и с примерчиком? :)

Как связан NAT с BGP?
С НАТ-ом это можно и без BGP реализовать запросто.


"Балансировка нагруpки между провайдерами средствами BGP"
Отправлено Luxor , 02-Июл-09 18:04 
>[оверквотинг удален]
>>>2-м каналам с помощью BGP неполучиться.
>>
>>в случае использования NAT как я описывал выше получится сбалансировать! причем балансировка
>>будет стремится к распределению 50 на 50 при больших количествах NAT-трансляций!
>>А у меня их (трансляций) под 100к. буду пробовать так. То
>>что человек предлагал выше через community это решить, тоже проработаю, кстати
>>можете рассказать поподробней и с примерчиком? :)
>
>Как связан NAT с BGP?
>С НАТ-ом это можно и без BGP реализовать запросто.

У меня своя AS с личным адресным пространством куда мне без BGP ??? :) NAT с BGP действительно никак не связаны) я просто предложил восполнить недостаток BGP решением в связке с NAT


"Балансировка нагруpки между провайдерами средствами BGP"
Отправлено Slimm , 02-Июл-09 22:39 
с точки зрения BGP как протокола глобального Интернет идея с NAT плохая
ибо специфики которые вы наоносите засоряют таблицы и с ними ни кто считаться не будет
мы так пробовали, маршрут где-то в Франкфурте залипал на маршрутизаторе и часть Инета была не доступна и решить это сами понимаете не возможно
Также вопрос достижимости, который поставлен во главу работы BGP, нарушается полностью, т.е. в сеть одного провайдера, из другой своей части сети, которую сюда не анонсите, вы будете добираться через другого провайдера ...

"Балансировка нагруpки между провайдерами средствами BGP"
Отправлено den , 06-Июл-09 18:13 
>BGP НЕ ПРЕДНАЗНАЧЕН для адаптивной балансировки в зависимости от нагрузки на канал,
>и соответственно не имеет подобных инструментов.
>
>Читайте доку :)
>если задача - всегда и при любый обстоятельствах распределять трафик по каналам
>поровну - BGP сего не выполнит!
>Только всреднем и достаточно разннообразный на разные подсети/разных провайдеров.
>т.е. если большинсво ваших абонентов дружно качнут что-то с какого-то солидного сервера/кластера
>(например исошник инсталяшки кокого-нить линукса) - то равномерно раскидать нагрузку по
>2-м каналам с помощью BGP неполучиться.

+1!