|
Вариант для распечатки |
Пред. тема | След. тема | ||
Форумы Программирование под UNIX (Public) | |||
---|---|---|---|
Изначальное сообщение | [Проследить за развитием треда] |
"Несколько вопросов по учету траффика" | |
Сообщение от dimus (??) on 30-Май-05, 08:45 (MSK) | |
Для решения задачи учета траффика возможно несколько путей. В любом случае нам надо этот траффик откуда-то снять. В принципе, эта задача не представляет собой большой сложности и может быть решена различными путями. Далее с содержимым заголовков пакетов необходимо произвести действия по выделению полезной информации и ее дальнейшей записи в систему сбора статистики. Хотелось бы более подробно обсудить со знающими людьми ряд тонких моментов. Для более конкретного разговора будем считать, что целевая платформа - линукс, хотя я с удовольствием прочитаю и про другие платформы. | |
Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх |
Оглавление |
|
Индекс форумов | Темы | Пред. тема | След. тема |
Сообщения по теме |
1. "Несколько вопросов по учету траффика" | |
Сообщение от MaximKuznetsov on 30-Май-05, 21:59 (MSK) | |
| |
Удалить | Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх |
2. "Несколько вопросов по учету траффика" | |
Сообщение от dimus (??) on 31-Май-05, 07:26 (MSK) | |
>Лучший вариант - select, все ж это просто обёртка над системным вызовом | |
Удалить | Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх |
3. "Несколько вопросов по учету траффика" | |
Сообщение от MaximKuznetsov on 01-Июн-05, 01:09 (MSK) | |
>ULOG - это одна из возможностей netfilter. А вот что за зверь netlink? | |
Удалить | Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх |
4. "Несколько вопросов по учету траффика" | |
Сообщение от dimus (??) on 01-Июн-05, 08:33 (MSK) | |
Да, почитал мельком man netlink и понял, что штука и впрямь весьма стоящая, только разбираться с ней, чувствую, будет весьма сложно. | |
Удалить | Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх |
5. "Несколько вопросов по учету траффика" | |
Сообщение от MaximKuznetsov on 01-Июн-05, 09:37 (MSK) | |
двойной обсчёт - это вообще очень правильно на самом деле. | |
Удалить | Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх |
6. "Несколько вопросов по учету траффика" | |
Сообщение от dimus (??) on 01-Июн-05, 12:20 (MSK) | |
Я вообще хочу сделать простую для использования, безопасную в работе и понятную в настройке и обслуживании систему - благо это надо и мне, и многим другим людям. Спасибо за мыло - когда/если у меня что-то выйдет из этой затеи - пошлю Вам исходники "на экспертизу" :) На данный момент все еще очень сырое, и показывать это кому-либо несколько рановато. Вообще же надеюсь, что потом мое творчество кому-нибудь пригодиться. | |
Удалить | Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх |
7. "Несколько вопросов по учету траффика" | |
Сообщение от Dig on 07-Июн-05, 13:39 (MSK) | |
Пишу похожую программу, так вот при большом потоке трафика (5-10 мегабит) и юзеров 100 получаем что дерево может вырождаться (происходит это очень быстро) в список и нахождение нужно узла в дереве отнимает много процесорного времени. Далее я переделал это с использованием AVL дерева, но в данном случае накладными есть раходы на правые и левые повороты (балансировку). Поискав в инете как это можно сделать еще эффективнее наткнулся на red-black деревья которые больше всего подходят в данном случае . Реализацию вставки, удаления узлов в дерево можно взять в программе cnupm на сайте разработчика http://pdp-11.org.ru/~form/cnupm . | |
Удалить | Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх |
8. "Несколько вопросов по учету траффика" | |
Сообщение от Maxim Kuznetsov on 07-Июн-05, 17:02 (MSK) | |
когда нужно было разделять трафик по тарифным зонам, | |
Удалить | Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх |
9. "Несколько вопросов по учету траффика" | |
Сообщение от dimus (??) on 08-Июн-05, 07:08 (MSK) | |
Да, если дерево будет вырождаться, то прийдется с этим бороться. Хотя в моей реализации я таких проблемм пока не предвижу (возможно тут я не прав). Вообще про всяческие деревья и вообще про алгоритмы есть здоровские книги, в частности "Фундаментальные алгоритмы на С++". | |
Удалить | Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх |
11. "Несколько вопросов по учету траффика" | |
Сообщение от Dig on 08-Июн-05, 11:38 (MSK) | |
>когда нужно было разделять трафик по тарифным зонам, | |
Удалить | Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх |
15. "Несколько вопросов по учету траффика" | |
Сообщение от Serega_S (??) on 14-Июн-05, 16:21 (MSK) | |
Может я что-то не так понял, но зачем городить огород с raw-сокетами? iptables же всё уже считает. При этом решается проблема с NAT. Стоит только прописать соответствующие правила в -t FORWARD. Я написал небольшую программку-парсер, которая брала статистику из иптаблеса и ложила в отчёт (без заморочек с БД) - благо сеть домашняя. Всё это дело обёртывается в скрипты и получается довольно универсвльно ИМХО. Юникс-вэй - не изобретать то, что уже изобретено :-) | |
Удалить | Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх |
10. "Несколько вопросов по учету траффика" | |
Сообщение от Kompot (??) on 08-Июн-05, 11:20 (MSK) | |
Возможно select лучшее решение для данного случая. Альтернативой может быть отдельная нитка на чтение сокета и дальше семафорами... Такие решения несколько сложнее, но зато нет пустого хождения по циклам. | |
Удалить | Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх |
12. "Несколько вопросов по учету траффика" | |
Сообщение от dimus (??) on 09-Июн-05, 10:54 (MSK) | |
>Возможно select лучшее решение для данного случая. Альтернативой может быть отдельная нитка | |
Удалить | Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх |
13. "Несколько вопросов по учету траффика" | |
Сообщение от Forth (ok) on 09-Июн-05, 12:05 (MSK) | |
Вызов recv(как и многие другие вызовы) может быть прерван при доставке какого-либо сигнала, только этот сигнал не должен игнорироваться, и не должен стоят флаг SA_RESTART, и многие сигналы с действиями по умолчанию приводят к завершению процесса, так что их лучше обрабатывать, в этом случае вызов recv будет прерван с errno==EINTR. А еще можно установить в fcntl флаг O_NONBLOCK на дескрипторе, тогда нет данных для чтения - вызов recv будет прерван с EAGAIN. Вот только тут я неуверен, что fcntl можно использовать на сокете, наверное надо сначала его fdopen, а потом read оттуда.:) А может и нет. Надеюсь кто-нибудь компетентный прояснит ситуацию. | |
Удалить | Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх |
14. "Несколько вопросов по учету траффика" | |
Сообщение от MaximKuznetsov on 11-Июн-05, 00:08 (MSK) | |
> Сейчас я сделал по такому принцину... | |
Удалить | Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх |
16. "Несколько вопросов по учету траффика" | |
Сообщение от Kompot (??) on 17-Июн-05, 17:19 (MSK) | |
>>Возможно select лучшее решение для данного случая. Альтернативой может быть отдельная нитка | |
Удалить | Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх |
17. "Есть готовый биллинг..." | |
Сообщение от Kuzin Andrey on 17-Июн-05, 18:37 (MSK) | |
Я уже второй год разрабатываю биллинг. Обсчитывает сеть из 400 пользователей. Из вкусностей - обсчет всех пакетов по одному правилу iptables (-A FORWARD -j QUEUE) с использованием библиотеки libipq, | |
Удалить | Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх |
18. "Есть готовый биллинг..." | |
Сообщение от Эйс (ok) on 17-Июн-05, 23:59 (MSK) | |
>Я уже второй год разрабатываю биллинг. Обсчитывает сеть из 400 пользователей. Из | |
Удалить | Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх |
Архив | Удалить |
Индекс форумов | Темы | Пред. тема | След. тема |
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] |
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |