Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Траффик по интерфейсам

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Unix
Предыдущая тема :: Следующая тема  
Автор Сообщение
gooamoko



Зарегистрирован: 26.12.2003
Сообщения: 98

СообщениеДобавлено: Чт Ноя 10 2005 10:05    Заголовок сообщения: Траффик по интерфейсам Ответить с цитатой

Здравствуйте.
Есть проблема: Нужна информация по входному и выходному траффику на интерфейсах (т.е. сколько байт передано и получено на отдельном интерфейсе).
Считать параметры можно, обработав netstat -i или ifconfig, но как очистить счетчики на интерфейсе после того как параметры считаются?
Есть какая-нибудь комманда, которая обнуляет эти данные?
Желательно обнулить данные счетчика RX и TX без перезапуска самого интерфейса.
Заранее благодарен.
_________________
Что один сделал, другой завсегда сломать сможет
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
gooamoko



Зарегистрирован: 26.12.2003
Сообщения: 98

СообщениеДобавлено: Чт Ноя 10 2005 10:09    Заголовок сообщения: Ответить с цитатой

Если кому-то интересна операционная система - Fedora Core 1.
_________________
Что один сделал, другой завсегда сломать сможет
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
and3008



Зарегистрирован: 12.10.2001
Сообщения: 14893
Откуда: Н.Новгород

СообщениеДобавлено: Чт Ноя 10 2005 23:06    Заголовок сообщения: Ответить с цитатой

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

Неправильной дорогой идете товарищ!!!

Надо все лишь немного подумать. Рассуждаем.

Начальные условия:
Счетчик наверняка 32-х битный, т.е. максимальное значение 4 Гига.
Карточка 100 мегабит на полной скорости передаст в секунду не более 12.5 Мегабайт.
Гигабитная - 125 Мегабайт.

Считываем значение. Если оно больше предыдущего, то обнуление не произошло. Если меньше, то истинное значение равно "4Гига"-"Предыдущее значение"+"Текущее значение".

4*1024/12.5 = 327 сек для Fast Ethernet
4*1024/125 = 32 сек для Gigabit

Для обработки скрипта тоже требуется время. Пусть 2-3 сек.

Правильный ответ: Чтобы учитывать трафик и не иметь проблем с потерями надо опрашивать состояние интерфейса на реже чем раз в 325 сек на линиях 100 мегабит и не реже чем раз в 32 сек на 1000 мегабитных линках. Для правильного учета надо хранить предыдущее состояние. Выкладки представлены для критических случаев, в реальной жизни данные с такой скоростью продолжительное время не передаются (бывают только пиковые нагрузки), поэтому время опроса можно и увеличить, но величина эта зависит от реальной загрузки линков.

Математика - офигительная наука! Wink

Думаю не стоит объяснять как посчитать сколько прошло трафика между опросами?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
fLamer



Зарегистрирован: 05.04.2004
Сообщения: 462
Откуда: Тула

СообщениеДобавлено: Пт Ноя 18 2005 11:30    Заголовок сообщения: Ответить с цитатой

а что на счёт iptables + ipac ?
вообще достаточно и одного iptables. всё зависит от важности сохранения счётчика байт при очень редких сбоях или рестартах
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
gooamoko



Зарегистрирован: 26.12.2003
Сообщения: 98

СообщениеДобавлено: Ср Ноя 23 2005 05:17    Заголовок сообщения: Ответить с цитатой

C iptables я вроде нормально. Есть определенный набор правил. Но просто возникла потребность просмотра актичности по интерфейсам. Вот и решил что решить можно следующими способами:
1. Переделать скрипт на iptables
2. Считать по интерфейсам через ifconfig или что-то наподобии (/proc/...)
3 Поискать готовое решение.
На данный момент использую программку vnstat, которая делает отчеты по суточной активности.

Огромное спасибо and3008 за то, что придал уверенности моим предположениям. Я думал, что это не самый лучший способ, собственно, потому и спросил.
_________________
Что один сделал, другой завсегда сломать сможет
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
and3008



Зарегистрирован: 12.10.2001
Сообщения: 14893
Откуда: Н.Новгород

СообщениеДобавлено: Ср Ноя 23 2005 23:19    Заголовок сообщения: Ответить с цитатой

Если вам нужно просто считать байты - используйте данные ifconfig.

Если вам нужно "точечно" считать трафик. Например сколько дядя Вася, сидящий на IP:10.1.1.1 скушал нынче трафика, то iptables. Только он вам даст правильный ответ.

Попытки считать WWW-трафик обычно обречены на неудачу. Далеко не все хосты используют в качестве порта, порт 80, а уж как считать трафик от Internet-приложений - вообще фиг знает. Лучше WWW-трафик считать по остаточному принципу.
Сосчитал почту, сосчитал DNS, сосчитал ICMP, умножил на 2/3 ( 1/3 - это служебный трафик IP, который не убавишь) - все остальное WWW.
Чистое WWW = Все остальное * 2/3

Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
gooamoko



Зарегистрирован: 26.12.2003
Сообщения: 98

СообщениеДобавлено: Чт Ноя 24 2005 04:12    Заголовок сообщения: Ответить с цитатой

Про iptables - в курсе.
Именно на нем и работает учет для пользователей. Разделения по протоколам нет, если только в задумках, так что решение у меня проще.
Задача стояла в том, чтобы считать траффик именно по интерфейсу. Дело в том, что у нас ограничение на объем траффика за определенную стоимость. Чтобы не платить больше надо хотя бы примерно контролировать нашу активность на внешнем интерфейсе. Ну, а где можно легче всего посмотреть сумму принятого/отправленного трафика, как не в виртуальной файловой системе? Это - первое, что пришло в голову. Потом - начались раздумья на тему как оттуда корректно достать данные, ну и, собственно, возникла данная тема :).
_________________
Что один сделал, другой завсегда сломать сможет
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
and3008



Зарегистрирован: 12.10.2001
Сообщения: 14893
Откуда: Н.Новгород

СообщениеДобавлено: Чт Ноя 24 2005 21:13    Заголовок сообщения: Ответить с цитатой

Ну решение я дал. Дальше сами.
Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Unix Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...