Здравствуйте!
Подскажите, можно ли приделать механический микроамперметр стрелочный, к оборудованию Ethernet? Так чтобы он показывал скорость трафика?
D-Link 2500 ADSL роутер + D-Link 5 портов концентратор + кабеля витая пара.
Может как то детектировать диодом в кабеле меж роутером и концентратором?
Пока только знаю как приспособить для измерения потенциальной скорости интернет. микроконтроллер с Ethernet периодическии делает пробное скачивание из интернет и выдает, в зависимости от скорости, ШИМ напряжение на стрелочный вольтметр.
Равномерный поток 24 кбит/с или поток 256 кбит/с производит одно и тоже мигание светодиода.
Я и говорю - среднюю активность сети.
А среднюю скорость - только программно, т.к. надо вычислять (трафик/время). Никакими физическими уровнями это не сделать.
Тут даже не важно, пакетная или потоковая - это уже высокоуровневые понятия.
По витой паре идёт несущая частота. Даже выделив отдельные биты информации (что само по себе сложно), можно определить именно активность сети. Чтобы выделить конкретно куски информации - нужно "расчехлить" пакеты, чтоб это сделать - нужно их "принять", а потом "передать" дальше, т.е. сделать что-то типа свича.
Но гораздо (наверное, на порядки) проще использовать программный метод, например старый комп в качестве моста, а с него вывести любой сигнал на любой индикатор.
ploop писал(а):Тут даже не важно, пакетная или потоковая - это уже высокоуровневые понятия.
По витой паре идёт несущая частота. Даже выделив отдельные биты информации (что само по себе сложно), можно определить именно активность сети. Чтобы выделить конкретно куски информации - нужно "расчехлить" пакеты, чтоб это сделать - нужно их "принять", а потом "передать" дальше, т.е. сделать что-то типа свича.
Но гораздо (наверное, на порядки) проще использовать программный метод, например старый комп в качестве моста, а с него вывести любой сигнал на любой индикатор.
Понятно. Тут необходимы два контроллера с Ethernet модулями.
Но несущая то в перерывах наверняка монотонная, это принимать как NULL трафика, а девиации воспринимать как поток? Чем больше потоков(девиаций) за единицу времени, тем больше показания?
Кажется в winapi где-то встречал функцию. Тоесть не ловить трафик компом, а сразу спрашивать на рабочей машине непосредственно у операционки, а дальше хоть в COM, хоть в LPT, хоть в Красную армию.
Но несущая то в перерывах наверняка монотонная, это принимать как NULL трафика, а девиации воспринимать как поток?
Так я и говорю - это именно активность сети.
Во-первых, ограничение скорости это ни как не количество бит в секунду. Например, если идёт скачка, допустим, с интернета, со скоростью 256 Кбит/с, и в комп заведена витая пара (100Мбит/с), это не значит, что по ней будут идти какие-то импульсы с частотой 256000 за секунду. Просто шейпер на стороне провайдера передаёт данные кусками - выбросил, например, 100 пакетов, потом подождал какое-то время. Эти 100 пакетов прилетят на максимальной скорости (100Мбит/с), а реальная скорость закачки в итоге в 40 раз меньше.
Во-вторых по витой паре передаётся куча служебной информации, необходимой для реализации протоколов низших уровней. Например, если много помех, то одни и те же пакеты будут передаваться сотни раз (повторяться), не имея ни какого отношения к реально переданным данным. И на плохой линии из реальной скорости 256 Кбит/с ваш "анализатор" может показать несколько Мбит/с.
Ну и в-третьих, два порта и витая пара между ними - это согласованная система, наподобие усилителя мощности передатчика, кабеля и антенны. Любое вмешательство в эту идиллию повлечёт за собой затухание сигнала, т.е. в итоге уменьшение скорости передачи и других глюков из-за потерь.
ploop писал(а):Любое вмешательство в эту идиллию повлечёт за собой затухание сигнала, т.е. в итоге уменьшение скорости передачи и других глюков из-за потерь.
Небольшое ферритовое кольцо на жилку витой пары понадобится одевать(трансформатр) для сьема сигнала?
А зачем на счётчике именно принимать и передавать, можно прицепиться между роутером и свичом через какой-нибудь 10-мегабитный хаб. В третье гнездо хаба подключить контроллер, слушающий пакеты с MAC-адресом отправителя и получателя, равному MAC-адресу роутера. Получится сниффер. Пакеты хотя бы TCP и UDP, вполне можно успевать посчитать по объёму.
по поводу правильности подсчёта - уже сказано было выше. "пакеты TCP" это на нижнем уровне. для пользователя нет понятия пакетов - есть понятие канал. кол-во переданных(принятых) пакетов не есть объём инфы переданных по каналу. например см. термины "затор", "потеря пакетов", "медленный старт".
с UDP попроще. можно тупо отбрасывать заголовок.
кстати помимо TCP, UDP есть и другие протоколы, которые в той или иной ситуации могут "фонить постоянно".
по поводу правильности подсчёта - уже сказано было выше. "пакеты TCP" это на нижнем уровне. для пользователя нет понятия пакетов - есть понятие канал. кол-во переданных(принятых) пакетов не есть объём инфы переданных по каналу. например см. термины "затор", "потеря пакетов", "медленный старт".
с UDP попроще. можно тупо отбрасывать заголовок.
кстати помимо TCP, UDP есть и другие протоколы, которые в той или иной ситуации могут "фонить постоянно".
(круглый)
Да, разумеется, я имел в виду разбирать TCP/UDP/ICMP пакеты (но не более чем извлекая из их заголовка длину информационной части). Потому что на роутере побъются, потеряются и т.п. C точностью биллинга провайдера измерить будет трудно, но _скорость_ входящего трафика наверняка показывать будет довольно точно.
В общем макетка с изернетом у меня есть, хаб есть, на досуге может попробую.
видео
Подключается к компу по COM порту. На компе стоит программа, считающая скорость. Такую фиговину поставлю на шлюзовом сервере, трафик будет показывать.
На видео сначала запускается скачивание во всю ширину канала, останавливается, а потом запустается пинг с большим размером пакета.
Но как я понимаю такая реализация автору не подходит. А аппаратный измеритель попробую на выходных сделать
Во, супер!
Я сначала хотел предложить использовать спидометр от старого авто, но это тоже смотрится отлично!
Просто идея автора мне понравилась (в смысле стрелочного индикатора), а техническая сторона (без ПК) мне кажется очень сложной...