>Есть задача - нужно мониторить, когда какой компьютер в сети включен, а
>когда выключен. Нет ничего проще, чем написать что-нить вроде Интересует именно алгоритм ?
Хватаем все пакеты приходящие на хост,
если источника нет в куче, добавляем и пишем в лог что появился
если известен, обновляем метку времени,
периодически смотрим у кого слишком старая метка времени, того исключаем из кучи и пишем в лог, что отключился.
УСЁ..
прим1. хватать можно только заголовки пакетов, была-бы адресная часть
прим2. перевод хоста с промиск вряд-ли поможет, современные свичи и так отрежут всё лишнее
прим3. алг. настолько элементарен, что как правило ищутся более сложные решения