|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Yuri PQ 2:5010/2.2 24 May 2003 01:22:24 To : Dmitry Miloserdov Subject : сомнительная польза промискуитета (was: Подмена IP и ..) -------------------------------------------------------------------------------- [030523] Dmitry Miloserdov (2:5020/400) Д> Yuri PQ (2:5010/2.2) DM>>>>> у трафикосчиталки один буфер на всё YP>>>> поясни: зачем траффикосчиталке складывать в буфер весь пакет? DM>>> где я такое говорил? YP>> так вот же несколькими строчками вверх! :) DM> специально ничего не вырезал. DM> где слово "_весь_"? извини, там слово "всё"... наверное, я не так понял. DM>>> траффикосчиталка вообще пакеты в буфер не складывает YP>> нафига ей "один буфер на все"? DM>>> - складывает ядро. YP>> ааа, т.е. ядро... ну хорошо, есть 100, нет, 100 мало, есть 102 YP>> приложения. все вместе взялись получать 100-Мегабитный поток. YP>> куда пакеты попадают? в буфер ядра попадают? все попадают, или YP>> часть теряется? :) DM> буфера как раз у приложения, только пишет туда ядро. DM> в смысле по одному буферу на каждый сокет, по одному DM> на каждый /dev/bpf*. Пакеты _ядро_ кладет в каждый из DM> этих буферов(ну естественно в которых они нужны). т.е. если приложению нужен поток 100Мег, ядро обязано положить в тот буфер все 100Мег? DM> При этом пакеты не адресованные этой машине по сокетам DM> раскиданы не будут если только интерфейс не в постоянном DM> промиске. ага, теперь это приложение - траффикосчиталка. ей что свои 100Мег получить, что чужих при "пост.промиске" - без разницы. нет? DM> Так что если из твоих 102 приложений пара отвлеклись от read DM> на достаточное для заполнения буфера время то только до них DM> пакет и не дойдет. другое дело что это может быть не критично. сколько нужно времени, чтобы принять 100Мег в сек? а сколько, чтобы сосчитать сколько там в этих 100 мегах было пакетов? а просуммировать длины? а сбросить на винт? неужто больше?! да не верю. DM> вот реальный пример: 9000 пакетов в секунду при LA=0.4 DM> $ tcpdump -s 68 -c 1000000 >/tmp/file а зачем 68 !? меньше-то никак? и зачем на диск писать? DM> tcpdump: listening on fxp0 DM> 1000312 packets received by filter DM> 241 packets dropped by kernel я не понял, что ты хотел этим доказать? Ку! 8*{PQ} --- GoldED 1.1.5-030118 * Origin: Vault-40 City (2:5010/2.2) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/21943ece753d.html, оценка из 5, голосов 10
|