Имеется два провайдера от которых получаю full-view BGP c равными каналами по 200 МБит/с. Как средствами BGP организовать распределение трафика 50 на 50 ?
Я так понимаю есть вариант принимать половину префиксов от одного половину от другого, но как-то некрасиво получается - большая часть канала одного из провайдеров может простаивать если пользователи будут активны по маршрутам предоставленные одним из провайдеров...
>Имеется два провайдера от которых получаю full-view BGP c равными каналами по
>200 МБит/с. Как средствами BGP организовать распределение трафика 50 на 50
>?
>Я так понимаю есть вариант принимать половину префиксов от одного половину от
>другого, но как-то некрасиво получается - большая часть канала одного из
>провайдеров может простаивать если пользователи будут активны по маршрутам предоставленные одним
>из провайдеров...Балансировать входящий трафик можно с помощью установки нужного количества препендов на анонсируемые префиксы либо с помощью community (если апстрим поддерживает incoming community).
Для балансировки исходящего трафика используйте localpref либо weigth.
Вопрос, задававшийся миллион раз :)
Ответ - возможна только грубяа балансировка, "красиво и волшебно" - неполучится...
>Вопрос, задававшийся миллион раз :)
>Ответ - возможна только грубяа балансировка, "красиво и волшебно" - неполучится...Грубо - с помощью препендов.
С помощью community - вполне красиво.
Сильно зависит от ширины апстримовских каналов. На каналах по 1 мбит будет тяжело, а на каналах по нескольку сотен мбит - очень даже ничего.
>[оверквотинг удален]
>>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? мне все интересно )
ДЕсть идея
>[оверквотинг удален]
>Выделяю две сети из своего адресного пространства для NAT. Первый кусочек анонсирую
>через первого провайдера, вторую через второй. В NAT можно поставить чтобы
>трансляции он проводил с рандомного IP, соответсвенно если выделенные кусочки сетей
>будут одинаковые то будет распределение 50 на 50. По идее входящий
>трафик будет сбалансирован. Как вам?
>Расскажите пожалуйста еще варианты как можно более-менее качественно балансировать нагрузку по BGP?
>мне все интересно )
>Д
>
>Есть идеяBGP НЕ ПРЕДНАЗНАЧЕН для адаптивной балансировки в зависимости от нагрузки на канал, и соответственно не имеет подобных инструментов.
Читайте доку :)
если задача - всегда и при любый обстоятельствах распределять трафик по каналам поровну - BGP сего не выполнит!
Только всреднем и достаточно разннообразный на разные подсети/разных провайдеров.
т.е. если большинсво ваших абонентов дружно качнут что-то с какого-то солидного сервера/кластера (например исошник инсталяшки кокого-нить линукса) - то равномерно раскидать нагрузку по 2-м каналам с помощью BGP неполучиться.
>(например исошник инсталяшки кокого-нить линукса) - то равномерно раскидать нагрузку по
>2-м каналам с помощью BGP неполучиться.в случае использования NAT как я описывал выше получится сбалансировать! причем балансировка будет стремится к распределению 50 на 50 при больших количествах NAT-трансляций! А у меня их (трансляций) под 100к. буду пробовать так. То что человек предлагал выше через community это решить, тоже проработаю, кстати можете рассказать поподробней и с примерчиком? :)
>
>>(например исошник инсталяшки кокого-нить линукса) - то равномерно раскидать нагрузку по
>>2-м каналам с помощью BGP неполучиться.
>
>в случае использования NAT как я описывал выше получится сбалансировать! причем балансировка
>будет стремится к распределению 50 на 50 при больших количествах NAT-трансляций!
>А у меня их (трансляций) под 100к. буду пробовать так. То
>что человек предлагал выше через community это решить, тоже проработаю, кстати
>можете рассказать поподробней и с примерчиком? :)Как связан NAT с BGP?
С НАТ-ом это можно и без BGP реализовать запросто.
>[оверквотинг удален]
>>>2-м каналам с помощью BGP неполучиться.
>>
>>в случае использования NAT как я описывал выше получится сбалансировать! причем балансировка
>>будет стремится к распределению 50 на 50 при больших количествах NAT-трансляций!
>>А у меня их (трансляций) под 100к. буду пробовать так. То
>>что человек предлагал выше через community это решить, тоже проработаю, кстати
>>можете рассказать поподробней и с примерчиком? :)
>
>Как связан NAT с BGP?
>С НАТ-ом это можно и без BGP реализовать запросто.У меня своя AS с личным адресным пространством куда мне без BGP ??? :) NAT с BGP действительно никак не связаны) я просто предложил восполнить недостаток BGP решением в связке с NAT
с точки зрения BGP как протокола глобального Интернет идея с NAT плохая
ибо специфики которые вы наоносите засоряют таблицы и с ними ни кто считаться не будет
мы так пробовали, маршрут где-то в Франкфурте залипал на маршрутизаторе и часть Инета была не доступна и решить это сами понимаете не возможно
Также вопрос достижимости, который поставлен во главу работы BGP, нарушается полностью, т.е. в сеть одного провайдера, из другой своей части сети, которую сюда не анонсите, вы будете добираться через другого провайдера ...
>BGP НЕ ПРЕДНАЗНАЧЕН для адаптивной балансировки в зависимости от нагрузки на канал,
>и соответственно не имеет подобных инструментов.
>
>Читайте доку :)
>если задача - всегда и при любый обстоятельствах распределять трафик по каналам
>поровну - BGP сего не выполнит!
>Только всреднем и достаточно разннообразный на разные подсети/разных провайдеров.
>т.е. если большинсво ваших абонентов дружно качнут что-то с какого-то солидного сервера/кластера
>(например исошник инсталяшки кокого-нить линукса) - то равномерно раскидать нагрузку по
>2-м каналам с помощью BGP неполучиться.+1!