The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]



"Equal cost multipath в Linux"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Маршрутизация, NAT / Linux)
Изначальное сообщение [ Отслеживать ]

"Equal cost multipath в Linux"  +/
Сообщение от justadmin (ok), 27-Фев-13, 00:36 
Никак не выходит настроить ECMP. Я или не понимаю алгоритм, или что-то не так делаю.
Подскажите пожалуйста?

Есть хост X. От него до хоста Y висит два ipip tunnel'а.

Со стороны хоста Х это выглядит так:

tun0      Link encap:IPIP Tunnel    
          inet addr:10.10.254.5  P-t-P:10.10.254.6


tun1      Link encap:IPIP Tunnel    
          inet addr:10.10.254.9  P-t-P:10.10.254.10

Вторая сторона тоннеля с хоста X (т.е. адреса 254.6 и 254.10) пингуются, и все хорошо.

Теперь представим что за хостом Y есть подсеть 192.168.0.0/24.

Пишу на хосте Х: ip route add 192.168.0.0/24 via 10.10.254.6 - хосты в 192.168.0.0 пингуются.
Меняю  на via 254.10 - тоже пингуется. Все хорошо. Оба тоннеля в порядке.

Теперь удаляем все маршруты на 192.168.0.0 и делаем так:

ip route add 192.168.0.0/24 nexthop via 10.10.254.10 nexthop via 10.10.254.6

В ip route sh наблюдаю:
192.168.0.0/24
    nexthop via 10.10.254.10  dev tun1 weight 1
    nexthop via 10.10.254.6  dev tun0 weight 1

И судя по всем документациям которые я нашел - должен включится Equal cost multi-path и траффик с хоста Х на сеть 192.168.0.0/0 должен ходить поочередно о обоим тоннелям.
Делаю пинг - хрен. Идет только по одному. Вижу в tcpdump.
Ядро скомпилено с поддержкой multipath. Пигую разные хосты - все равно идет по одному тоннелю. Ничего другого на сервере не настроено, ничего мешать не может.

ЧЯДНТ?

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Equal cost multipath в Linux"  +/
Сообщение от Z0termaNN (ok), 27-Фев-13, 10:19 
это нормально. скорее всего ecmp распихивает трафик по интерфейсам
на основе некоего хэша (src,dst,sport,dport и пр.), так что каждая
сессия будет идти только по одному физическому интерфейсу и соответственно
для сессии суммарную скорость для двух интерфейсов никак не получится.
А в общем трафик достаточно равномерно размазывается по интерфейсам.
Ответить | Правка | Наверх | Cообщить модератору

6. "Equal cost multipath в Linux"  +/
Сообщение от Miha (??), 28-Фев-13, 00:27 
> это нормально. скорее всего ecmp распихивает трафик по интерфейсам
> на основе некоего хэша (src,dst,sport,dport и пр.), так что каждая
> сессия будет идти только по одному физическому интерфейсу и соответственно
> для сессии суммарную скорость для двух интерфейсов никак не получится.
> А в общем трафик достаточно равномерно размазывается по интерфейсам.

Я думаю, что ваше суждение будет правильно для "сессионных" протоколов, например ТСР. А вот пинг должен распределяться по направлениям с учетом весов.
У меня Equal cost multipath работает на FreeBSD.

Ответить | Правка | Наверх | Cообщить модератору

7. "Equal cost multipath в Linux"  +/
Сообщение от Z0termaNN (ok), 28-Фев-13, 10:42 
>> это нормально. скорее всего ecmp распихивает трафик по интерфейсам
>> на основе некоего хэша (src,dst,sport,dport и пр.), так что каждая
>> сессия будет идти только по одному физическому интерфейсу и соответственно
>> для сессии суммарную скорость для двух интерфейсов никак не получится.
>> А в общем трафик достаточно равномерно размазывается по интерфейсам.
> Я думаю, что ваше суждение будет правильно для "сессионных" протоколов, например ТСР.
> А вот пинг должен распределяться по направлениям с учетом весов.
>  У меня Equal cost multipath работает на FreeBSD.

даже спорить не буду, можно самому попробовать или посмотреть код в ядре.
и да - это совсем не freebsd.


Ответить | Правка | Наверх | Cообщить модератору

2. "Equal cost multipath в Linux"  +/
Сообщение от McLeod095 (ok), 27-Фев-13, 18:54 
>[оверквотинг удален]
>  nexthop via 10.10.254.10  dev tun1 weight 1
>  nexthop via 10.10.254.6  dev tun0 weight 1
> И судя по всем документациям которые я нашел - должен включится Equal
> cost multi-path и траффик с хоста Х на сеть 192.168.0.0/0 должен
> ходить поочередно о обоим тоннелям.
> Делаю пинг - хрен. Идет только по одному. Вижу в tcpdump.
> Ядро скомпилено с поддержкой multipath. Пигую разные хосты - все равно идет
> по одному тоннелю. Ничего другого на сервере не настроено, ничего мешать
> не может.
> ЧЯДНТ?

А после того как прописали
ip route add 192.168.0.0/24 nexthop via 10.10.254.10 nexthop via 10.10.254.6
выполнили команду
ip route flush
если нет то плохо Вы читали доки.

Ответить | Правка | Наверх | Cообщить модератору

3. "Equal cost multipath в Linux"  +/
Сообщение от John (??), 27-Фев-13, 21:05 
> А после того как прописали
> ip route add 192.168.0.0/24 nexthop via 10.10.254.10 nexthop via 10.10.254.6
> выполнили команду
> ip route flush
> если нет то плохо Вы читали доки.

Не обижайтесь, но Вы её тоже не очень читали.
Выполнение
ip route flush
приведет к _удалению_ всех маршрутов (с практически 100% необходимостью перезагрузки)

Вохможно, Вы имели ввиду
ip route flush cache

Ответить | Правка | Наверх | Cообщить модератору

4. "Equal cost multipath в Linux"  +/
Сообщение от McLeod095 (ok), 27-Фев-13, 22:05 
>[оверквотинг удален]
>> ip route add 192.168.0.0/24 nexthop via 10.10.254.10 nexthop via 10.10.254.6
>> выполнили команду
>> ip route flush
>> если нет то плохо Вы читали доки.
> Не обижайтесь, но Вы её тоже не очень читали.
> Выполнение
> ip route flush
> приведет к _удалению_ всех маршрутов (с практически 100% необходимостью перезагрузки)
> Вохможно, Вы имели ввиду
> ip route flush cache

Именно это и имел ввиду, писал по памяти, а делал такое года 4 назад.

Ответить | Правка | Наверх | Cообщить модератору

5. "Equal cost multipath в Linux"  +/
Сообщение от ALex_hha (ok), 28-Фев-13, 00:27 
я бы еще подкрутил /proc/sys/net/ipv4/route/secret_interval


Ответить | Правка | Наверх | Cообщить модератору

8. "Equal cost multipath в Linux"  +/
Сообщение от justadmin (ok), 28-Фев-13, 21:28 
Да, пинги действительно должны распределятся по обоим каналам.
Я это лично видел в подобной конфигурации, тоже на линуксе.

И нет - сброс кеша я не делал. Уже не следующий день тоже нашел это в доке :)
Судя по всему дело в нем.
Проверю - отпишусь.

Всем спасибо!

Ответить | Правка | Наверх | Cообщить модератору

9. "Equal cost multipath в Linux"  +/
Сообщение от Roman (??), 22-Июн-21, 17:33 
> Да, пинги действительно должны распределятся по обоим каналам.
> Я это лично видел в подобной конфигурации, тоже на линуксе.
> И нет - сброс кеша я не делал. Уже не следующий день
> тоже нашел это в доке :)
> Судя по всему дело в нем.
> Проверю - отпишусь.
> Всем спасибо!

Ну как успехи?

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2021 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру