Завершил разработку первой версии софтварного (dpdk) браса.

 

Вот здесь https://github.com/alexk99/the_router/blob/master/bras/subsriber_management.md
документация именно по функциям браса и howto https://github.com/alexk99/the_router/blob/master/bras/bras_howto.md с примером реализации небольшого bras сервера. 

 

Вот здесь документация по проекту https://github.com/alexk99/the_router, пример боевого внедрения в качестве bgp раутера
https://github.com/alexk99/the_router/blob/master/bizin.md

 

Текущая версия браса - это прототип, в нем нет некоторых фич, необходимых для боевой эксплуатации, таких как ipfix (netflow), nat algs (pptp, sip и т.п.).
Но это может и не быть препятствием для построения полу-боевых тестовых систем.

 

Проект не опенсорс, но бесплатный. Мне нужна помощь в тестировании, обратная связь и советы по фичам, которых
сейчас не хватает больше всего. Если проект взлетит, то он будет платным. В таком случае все участвующие не останутся без лицензий.
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

the_router --proc-type=primary -c 0xF --lcores='0@0,1@1,2@2,3@3' --syslog='daemon' -n2 -w 0000:01:00.0 -w 0000:01:00.1 -- -c $1 -d
ps -ef | grep the_router | grep -v grep | awk '{print $2}' > /var/run/the_router.pid

Откройте для себя pidof.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не хочу разводить спор относительно парвильности. Но слово "раутер", режет слух :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня "раут" ассоциируется со светским. Мерлезонский балет, etc.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 08.09.2017 в 21:32, kisa сказал:

Завершил разработку первой версии софтварного (dpdk) браса.

 

Вот здесь https://github.com/alexk99/the_router/blob/master/bras/subsriber_management.md
документация именно по функциям браса и howto https://github.com/alexk99/the_router/blob/master/bras/bras_howto.md с примером реализации небольшого bras сервера. 

 

Вот здесь документация по проекту https://github.com/alexk99/the_router, пример боевого внедрения в качестве bgp раутера
https://github.com/alexk99/the_router/blob/master/bizin.md

 

Текущая версия браса - это прототип, в нем нет некоторых фич, необходимых для боевой эксплуатации, таких как ipfix (netflow), nat algs (pptp, sip и т.п.).
Но это может и не быть препятствием для построения полу-боевых тестовых систем.

 

Проект не опенсорс, но бесплатный. Мне нужна помощь в тестировании, обратная связь и советы по фичам, которых
сейчас не хватает больше всего. Если проект взлетит, то он будет платным. В таком случае все участвующие не останутся без лицензий.
 

а почему dpdk? он вроде как ядра процессора, те которые с карты пакеты перехватывают на 100% грузят - минус к диагностике, или я ошибаюсь?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
33 минуты назад, ichthyandr сказал:

а почему dpdk? он вроде как ядра процессора, те которые с карты пакеты перехватывают на 100% грузят - минус к диагностике, или я ошибаюсь?

мне понравился dpdk. хорошо документированных, качественных, бесплатных, с хорошим коммьюнити проектов я просто не нашел на тот момент.

по поводу 100% - не совсем так. это не dpdk грузит, это большинство проектов на ранних стадиях разработки не реализуют стратегии энергосбережения,

т.е. в основной цикл рабочих процессов не вставляют грубо говоря sleep. к диагностике это имеет косвенное отношение, можно смотреть на счетчики потерь,

а наиболее "горячие" места в коде обычно смотрят профайлерами, тем же perf можно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 08.09.2017 в 21:32, kisa сказал:

Проект не опенсорс, но бесплатный. [..] Если проект взлетит, то он будет платным.

Перспективы как-то не очень.

Закрытость проекта означает невозможность внесения изменений или исправления ошибок без вашего участия. Бесплатность означает отсутствие каких-либо обязательств с Вашей стороны.

 

В 08.09.2017 в 21:32, kisa сказал:

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

Найдите потенциальных клиентов, допилите продукт под их хотелки за их же деньги.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Согласен, закрытость проекта не позволит более опытным программистам предложить в коммиты пулл-реквесты с улучшениями... Либо бесплатно и открыто, либо платно и проприеритарно. Другие комбинации слов "бесплатно", "платно", "открыто" и "проприеритарно" как-то не очень сочетаются на практике. Другое дело, что начнут форки строгать, что начнет вводить в заблуждение в выборе. Тому пример Accel-ppp.

Изменено пользователем murano

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Меня спрашивают про какие-нибудь тесты.

 

1) есть тесты NAT.


Подробно вот тут https://github.com/alexk99/the_router/blob/master/source_nat.md

 

Если коротко, то с таблицей трансляций нат 1M (1 миллион), сервер с пятью ядрами,
выделенными под рабочие потоки TheRouter, пропускает 5,4 Mpps( миллионов пакетов 
в секунду) - это примерно 40 гбит/c, если взять в расчет обычные пакеты большого размера.

Processor: Intel(R) Core(TM) i7-5820K CPU @ 3.30GHz
NIC: Intel X520-DA2
Ram: 32Gb 4x8

 

2) и есть тесты просто раутинга


там железки были попроще Core i5, 3 ядра под рабочие потоки TheRouter'а,
Суммарно (in+out) 14,8 Mpps 64 байтными пакетам.
Количество ip потоков в трафике - 128k. Поток в этом тесте - это все пакеты с одинаковыми ip src, ip dst.
Таблица маррутизации тоже 128k, фактически она могла быть любого размера, т.к. только количество потоков
важно для таких тестов.
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот Вы приводите какие то результаты тестов, выходит уже некую стадию тестирования проэкт прошёл, и тут он для рекламмы, и бесплатного теста (не берём в рассчёт Ваши обещяния лицензий тестерам).
Какова же стоимость Вашего решения?
Как будет лицензироваться?
За что придётся платить возможным клиентам?

Какие существенные отличия от готовых бесплатных решений (ну кроме dpdk based, это разумеется даёт своё приимущество в скорости, хатя попадились решения и на её основе открытые.)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
4 часа назад, bomberman сказал:

Вот Вы приводите какие то результаты тестов, выходит уже некую стадию тестирования проэкт прошёл, и тут он для рекламмы, и бесплатного теста (не берём в рассчёт Ваши обещяния лицензий тестерам).
Какова же стоимость Вашего решения?
Как будет лицензироваться?
За что придётся платить возможным клиентам?

Какие существенные отличия от готовых бесплатных решений (ну кроме dpdk based, это разумеется даёт своё приимущество в скорости, хатя попадились решения и на её основе открытые.)?

 

Стоимость будет ниже аналогичных решений, возможно ниже в разы.

 

>> Как будет лицензироваться?
>> За что придётся платить возможным клиентам?

Над деталями лицензирования думать рано. 

 

>> Какие существенные отличия от готовых бесплатных решений

скорость

 

Открытых работающих решений (dpdk или подобных, не ядерных) я не знаю. Если знаете, приведите ссылки. Всем будет очень интересно посмотреть.

Изменено пользователем kisa

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я правильно понимаю, что проект должен иметь часть функционала netfilter(такую как NAT, conntrack, например), полный функционал iproute2 и функционал tc?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
3 минуты назад, oleg_n сказал:

Я правильно понимаю, что проект должен иметь часть функционала netfilter(такую как NAT, conntrack, например), полный функционал iproute2 и функционал tc?

NAT есть, он основан на NetBSD NPF - это аналог netfilter в части conntrack.

полного функционала iproute, конечно же нет, но есть все самые базовые и нужные в первую очередь вещи.

из tc есть только shaping.

 

P.S.

задачи копировать linux нет и не будет. Сейчас есть задача сделать BRAS с самыми базовыми вещами и производительностью, аналогичной железным решениям.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 минуту назад, kisa сказал:

NAT есть, он основан на NetBSD NPF - это аналог netfilter в части conntrack.

полного функционала iproute, конечно же нет, но есть все самые базовые и нужные в первую очередь вещи.

из tc есть только shaping.

 

P.S.

задачи копировать linux нет и не будет. Сейчас есть задача сделать BRAS с самыми базовыми вещами и производительностью, аналогичной железным решениям.

Я не про это. Я про то, не пугает ли Вас сколько функционала надо будет отлаживать и оптимизировать, который уже годами и тысячами людей отлажен в netfilter/iproute2/tc? У меня глаз дёргается от одной мысли.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет, не пугает. т.к. я уже сказал, что не собираюсь делать универсальный сетевой стэк на все случаи жизни, как это сделано в linux.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

kisa , а почему бы не сделать готовый ISO-образ дистрибутива с вашим продуктом?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
18 минут назад, kisa сказал:

Нет, не пугает.

Это хорошо :-). Похоже, просто, я старею :-).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Цитата

а почему бы не сделать готовый ISO-образ дистрибутива с вашим продуктом?

я собираюсь именно так и сделать , установка слишком сложная.

Изменено пользователем kisa

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 минуту назад, kisa сказал:

я собираюсь именно так и сделать , установка слишком сложная.

Ну, раз Вы только собираетесь, может быть сразу посмотрите в сторону deb-based дистрибутивов?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Только что, TheUser сказал:

Ну, раз Вы только собираетесь, может быть сразу посмотрите в сторону deb-based дистрибутивов?

задача - упростить установку, и мне очень хочется сделать это с минимальными затратами. т.к. сейчас все обкатано на gentoo,

то, скорей всего, это и останется gentoo. у NPF очень много зависимостей, заного изучать процесс сборки мне не хочется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
3 часа назад, kisa сказал:

Если знаете, приведите ссылки.

Да. пожалуй ошибся. Там не dpdk.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти