
Wingman
13.10.2016
20:58:38
ок

Daniel
13.10.2016
20:58:46
зачем?

Wingman
13.10.2016
20:58:46
всё, да, гавнокод и т.д.

Daniel
13.10.2016
20:58:54
ну вот зачем?

Google

Daniel
13.10.2016
20:59:07
у нас - и у вингмана - что, задач мало?

Roman
13.10.2016
20:59:21
Зачем чио - учится?

Roman
13.10.2016
20:59:22
вы какой-то херней занимаетесь

Wingman
13.10.2016
20:59:33
трипл фейспалм

Roman
13.10.2016
20:59:47
Или зачем в чате го программы на го выкладывать?

Roman
13.10.2016
20:59:53
если честно, эту задачу и на python можно очень быстро сделать.

Wingman
13.10.2016
21:00:01
- хрена, а чо это пинг в гошке работает на порядок медленнее, чем в сях?
- давай тз!
- гавнокод!
- незачем вообще это делать!
да на чем угодно можно

Roman
13.10.2016
21:00:23
Даниель, поясни Что "зачем"

Daniel
13.10.2016
21:01:13
пинг - это очень простая задача

Wingman
13.10.2016
21:01:18
Иииииии?

Roman
13.10.2016
21:01:20
Мне вот интересно, как правильно писать поллер на го. И я боюсь свою версию предложить

Wingman
13.10.2016
21:01:24
я где-то говорил о сложности, или чо?

Google

Daniel
13.10.2016
21:01:29
тут нечему работать быстро или медленно

Wingman
13.10.2016
21:01:33
дооо

Daniel
13.10.2016
21:01:49
то есть - изначально дрочево вприсядку

Wingman
13.10.2016
21:02:07

Daniel
13.10.2016
21:02:11
и вот я спрашиваю - зачем

Wingman
13.10.2016
21:02:15
оно, блять, жрет проц на 2 порядка больше, чем си
всё
других вопросов - нет

Roman
13.10.2016
21:02:23
слушайте, я не понимаю смысла спора. но могу точно сказать, что мой вариант будет быстрее чем сишный или на том же go. несмотря на то что это будет python

Wingman
13.10.2016
21:02:26
хули неясного-то?
бг)

Daniel
13.10.2016
21:03:08

Roman
13.10.2016
21:03:25
Короче Го - говно, Гоферы - козлы. Вот итог маленького эксперимента :)

Daniel
13.10.2016
21:03:26
если учится - так вот он профайлер
а если пиздеть - так лучше перестать

Roman
13.10.2016
21:05:55
посмотрел я fastping - оно не будет работать быстро.
чтобы быстро - это надо брать libpcap
а не сооружать ту херню

Daniel
13.10.2016
21:07:03
и ты туда же

Google

Daniel
13.10.2016
21:07:14
что тут может быть быстро или медленно?
отправка 5К пакетов

Roman
13.10.2016
21:08:15
ещё и получение их
ну и эти 5к можно послать... нууу... за 5 сисколлов

Roman
13.10.2016
21:10:29
Вопрос же в паттернах и антипаттернах

Roman
13.10.2016
21:10:53
ну т.е. эти 5к пакетов можно послать с одного сырого сокета, а можно наплодить 5к их.
ну или вообще не использовать сырых сокетов
другое дело, что всё-таки 5к - это весьма маленький размер задачи для оптимизаций

Roman
13.10.2016
21:29:27
Ну вот типо этого: https://www.goinggo.net/2013/09/pool-go-routines-to-process-task.html

Roman
13.10.2016
21:46:00

Wingman
13.10.2016
21:46:25
э? в один поток 5к пингов по очереди пускать?

Roman
13.10.2016
21:46:59

Phil
13.10.2016
21:47:58

Roman
13.10.2016
21:48:12
Но идея та же.

Phil
13.10.2016
21:48:33

Wingman
13.10.2016
21:48:40
1) при отсутствии пинга нужно пускать 2-3 пинга, т.к. зачастую свитчи не сразу отдупляются, это сильно увеличивает число запросов
2) нужен нормальный таймаут (примерно стандартный системный), т.к. опять, зачастую свитчи не быстро отдупляют
3) в итоге несколько минут - слишком долго

Roman
13.10.2016
21:48:54
если взять libpcap - будет ещё быстрее(по крайней мере, на linux).

Google

Roman
13.10.2016
21:52:44

Roman
13.10.2016
21:53:00

Roman
13.10.2016
21:53:32
Потому что в сети где угодно могут быть ограничения для icmp
Если разом пошлешь - бымтро нарвешься
Оптимально установить рейт определенный, скажем 1000 в секунду

Roman
13.10.2016
21:55:58

Roman
13.10.2016
21:56:56
Ну это ж его сеть.
Понятно, поэтому цель не завалить а промониторить. Чужую можно и заваливать :)
Поток то наверно можно и один, но буферизация желательна. Опять же имеет смысл написать код, которые не сломается и не упадет скажем от 100.000 запросов

Kirill
13.10.2016
21:59:10

Roman
13.10.2016
21:59:42
Знаешь что такое ttl ?

Admin
ERROR: S client not available

Kirill
13.10.2016
21:59:52
да
и?

Roman
13.10.2016
22:03:08
Какое значение на юникс системе?
Примерно?

Kirill
13.10.2016
22:04:56
64

Roman
13.10.2016
22:07:01
Бывает и 128. Теперь осталось понять как умирает IP пакет и что будет в случае петли маршрутизации.

Vladimir
13.10.2016
22:08:55

Kirill
13.10.2016
22:09:24
да и на старом линупсе тоже 255

Google

Kirill
13.10.2016
22:10:23

Roman
13.10.2016
22:10:56
Ладно, не буду томить - 128 означает что пакет 64 раза пройдет через одну сторону в случае петли, т.е. усиление атаки в 64 раза

Roman
13.10.2016
22:11:41
И речь про свитчи

Roman
13.10.2016
22:12:30

Vladimir
13.10.2016
22:12:57
@wingz дело в том что на любом языке можно писать как плохо так и хорошо. Код а-ля си не очень пойдет для Го, код а-ля го не очень для питона и т.п.

Roman
13.10.2016
22:13:54
Обработка пакета - самая тяжелая задача для роутера. Нормальное железо считают в пакетах.

Roman
13.10.2016
22:14:12

Roman
13.10.2016
22:15:43
Я скажу по секрету, невозможно управлять 5000 L2 свичей без L3 сети управления

Roman
13.10.2016
22:19:05

Wingman
13.10.2016
22:31:29

Roman
13.10.2016
22:31:42
Построить маршрутизируемую сеть на Wirespeed - безумно дорого. Бывают дешевые маршрутизаторы, которые быстро загибаются от пакетного флуда. Бывают дорогие, которые умеют резать этот флуд. Ничего хорошего для icmp флуда не светит.

Wingman
13.10.2016
22:32:15

Roman
13.10.2016
22:32:58
Одна из важнейших задач сетевого мониторинга - дать как можно больше информацию когда в сети происходит неведомая хуйня.
А тут предлагается эту хуйню генерить самим, по прихоти программистов, которые пишут идеальную программу для идеальной модели мира.

Wingman
13.10.2016
22:34:37
5кппс - это ничто
Транзит же, на проц не идет

Roman
13.10.2016
22:35:33
5 кппс на за какой интервал планируется передать?

Wingman
13.10.2016
22:35:49
Ээ
"с" в кппс - это секунда)

Roman
13.10.2016
22:36:15
Нет