|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Dmitry Miloserdov 2:5020/400 26 May 2003 13:43:25 To : Yuri PQ Subject : Re: сомнительная польза промискуитета (was: Подмена IP и ..) -------------------------------------------------------------------------------- Hello, Yuri! You wrote to me on Sat, 24 May 2003 00:22:24 +0400: Hачнем с конца: DM>> 241 packets dropped by kernel YP> я не понял, что ты хотел этим доказать? Пытался оспорить следующее: ---- DM>> не хватило чтоб левый трафик обработать -> буфер bpf переполнился DM>> -> нужный трафик пройдет мимо. YP> не переполнится - хоть загрузи сегмент на 100%. ---- все это касалось конкретного trafd. DM>> буфера как раз у приложения, только пишет туда ядро. DM>> в смысле по одному буферу на каждый сокет, по одному DM>> на каждый /dev/bpf*. Пакеты _ядро_ кладет в каждый из DM>> этих буферов(ну естественно в которых они нужны). YP> т.е. если приложению нужен поток 100Мег, ядро обязано положить в тот YP> буфер все 100Мег? Какое приложение? STREAM? DGRAM? RAW? pcap? Что значит ему нужен поток? DM>> При этом пакеты не адресованные этой машине по сокетам DM>> раскиданы не будут если только интерфейс не в постоянном DM>> промиске. YP> ага, теперь это приложение - траффикосчиталка. ей что свои 100Мег YP> получить, что чужих при "пост.промиске" - без разницы. нет? 1. про постоянный промиск я зря упомянул. фича скорее экзотическая но хотелось быть точным в утверждениях. то есть точку надо поставить после "раскиданы не будут". 2. разумеется потерять пакеты trafd может и без промисков но чем меньше пакетов - тем меньше шансов потерять что-либо. YP> сколько нужно времени, чтобы принять 100Мег в сек? а сколько, чтобы YP> сосчитать сколько там в этих 100 мегах было пакетов? а просуммировать YP> длины? а сбросить на винт? неужто больше?! да не верю. В теории относительности есть утверждение что нельзя сравнивать промежутки времени в разных системах отсчета /вольная интерпретация/. Тут тоже самое: принять/разложить занимает некоторое количество процессорного времени ядра, а сосчитать/просуммировать/сбросить занимает время время процесса. (про сбросить несколько не точно но не суть) Если ядру надо 90% времени оно его получит, а если это нужно процессу то он это получит только если всем остальным 10% хватает. DM>> вот реальный пример: 9000 пакетов в секунду при LA=0.4 DM>> $ tcpdump -s 68 -c 1000000 >/tmp/file YP> а зачем 68 !? меньше-то никак? и зачем на диск писать? 68 как в trafd. в принципе можно и с /dev/null обломить - но тяжелее. вобщем все это только для примера. With best regards, Dmitry Miloserdov. E-mail: dmitry@bis.ru --- ifmail v.2.15dev5 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/657729a2cee2.html, оценка из 5, голосов 10
|