[Из песочницы] Балансировка каналов — два провайдера, AS, BGP, NAT

Спасибо Хабру, много полезного тут для себя нашел. Думаю, пора «отдавать долги». Хочу описать алгоритм, который работает больше года на моем шлюзе для балансировки каналов (Гбит трафика, 8k клиентов, 2 провайдера, AS на 1k адресов, большинство клиентов за NAT). Возможно, кому-то пригодится. Во всяком случае, ничего похожего не встречал и когда специально искал — не нашел. Так что полностью мое детище. Конечно, указанный алгоритм нельзя считать универсальным, подойдет только в подходящих условиях.Итак, исходные:  — Шлюз на Linux (Debian 6). Используется пакет quagga (бывший zebra).  — Два провайдера (пусть будут ТТК и РТК). Каждый дает канал определенной толщины, «лишнее» режет.  — AS на 1k адресов (пусть будет 1.1.144.0/22). AS0000.  — Большинство клиентов имеют серые адреса (пусть будет 192.168.0.0/16), «клиентские» сети 192.168.1–99.0/24, на шлюзе натятся.  — Небольшая часть клиентов имеют белые адреса в пространстве моей AS.Задача: Обеспечить равномерную загрузку каналов ТТК и РТК входящим трафиком для исключения перегрузки каналов.Читать дальше →

© Habrahabr.ru