Смысл ping'а (ping или не ping? IP или DNS? И почему все цепляются к drBatty)

Здесь можно поговорить о чём угодно и сколько угодно.

Модератор: Модераторы разделов

Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Смысл ping'а

Сообщение drBatty »

Bizdelnick писал(а):
03.02.2014 12:31
Получили 37 вместо 21, что и требовалось доказать.

19+19 == 38, но последний шаг вдвое дешевле. Всё в согласии условием.
Bizdelnick писал(а):
03.02.2014 12:31
Тогда слажает с 524285. (Кстати, кажется начинаю понимать, каким должен быть алгоритм решения. Верхнее ограничение дано не просто так.)

не слажает. Проверьте.

Кстати в той теме уже есть решение.

Bizdelnick писал(а):
03.02.2014 12:31
Для решения задачи нужно использовать C++, со всеми его возможностями. Вы таки не умеете читать условия.

в таком случае используйте багфикс к моему решению:

Код: Выделить всё

total_cost=0;

и оно всегда будет работать за нулевую цену. И не говорите мне, что этот багфикс не корректен с т.з. синтаксиса и семантики C++.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21257
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Смысл ping'а

Сообщение Bizdelnick »

drBatty писал(а):
03.02.2014 12:41
Кстати в той теме уже есть решение.

Не осилил дальше первой страницы.

drBatty писал(а):
03.02.2014 12:41

Код: Выделить всё

total_cost=0;

Забыли добавить

Код: Выделить всё

total_cost = x/total_cost;
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Смысл ping'а

Сообщение drBatty »

Bizdelnick
суть задачи в том, что там явно не написано, можно-ли синтезировать алгоритм, и бесплатно-ли это. Я считаю, что прав таких у меня нет. Если я и могу синтезировать алгоритм, то за операции в нём тоже надо платить. Все остальные считают, что могут синтезировать алгоритм совершенно бесплатно, для каждого числа отдельно.

По моему мнению, это надо в условии прописывать.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21257
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Смысл ping'а

Сообщение Bizdelnick »

drBatty писал(а):
03.02.2014 13:11
суть задачи в том, что там явно не написано, можно-ли синтезировать алгоритм, и бесплатно-ли это.

Там не требуют синтезировать алгоритм. Там требуют всего лишь подсчитать минимальное число операций в таком алгоритме. Во сколько процессорных тактов обойдётся подсчёт - никого не волнует.

drBatty писал(а):
03.02.2014 13:11
По моему мнению, это надо в условии прописывать.

Научитесь читать.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Смысл ping'а

Сообщение drBatty »

Bizdelnick писал(а):
03.02.2014 13:26
Там не требуют синтезировать алгоритм. Там требуют всего лишь подсчитать минимальное число операций в таком алгоритме. Во сколько процессорных тактов это обойдётся - никого не волнует.

Научитесь читать.

ну вот обычно в этом и есть суть всех споров со мной:
Kopilov писал(а):
01.02.2014 16:59
Под "каждый раз" gOsToFf наверняка подразумевал "перед отправкой каждого пакета", а не "при каждом запуске команды".

http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21257
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Смысл ping'а

Сообщение Bizdelnick »

drBatty писал(а):
03.02.2014 13:32
ну вот обычно в этом и есть суть всех споров со мной

Так может, стоит действительно научиться понимать, о чём говорят другие люди? Довольно полезное умение.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Смысл ping'а

Сообщение drBatty »

Bizdelnick писал(а):
03.02.2014 13:46
Так может, стоит действительно научиться понимать, о чём говорят другие люди? Довольно полезное умение.

вот дело не в том "как говорят", а в том, "как понимают 95%". Мне так кажется, что в основе этой темы ТС просто не знал как этот пинг работает, а вовсе не "знал неправильно", как вы подумали. Автор задачки с ЛОРа тоже видимо как-то криво скопипастил текст, и его потребовалось додумывать.

Вот смотрите, ваши слова:
Bizdelnick писал(а):
03.02.2014 13:26
Там не требуют синтезировать алгоритм. Там требуют всего лишь подсчитать минимальное число операций в таком алгоритме. Во сколько процессорных тактов обойдётся подсчёт - никого не волнует.

Научитесь читать.

в КАКОМ алгоритме? Это для вас само собой очевидно. А для меня -- нет. Чего нет, то нельзя считать. Алгоритма -- нет. Если вы его сами только-что при думали, это не повод его не считать.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21257
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Смысл ping'а

Сообщение Bizdelnick »

drBatty писал(а):
03.02.2014 14:06
Мне так кажется, что в основе этой темы ТС просто не знал как этот пинг работает, а вовсе не "знал неправильно", как вы подумали.

Если бы Вы прочитали ту тему с начала, Вам бы не пришлось дофантазировать, что я подумал.

drBatty писал(а):
03.02.2014 14:06
Автор задачки с ЛОРа тоже видимо как-то криво скопипастил текст, и его потребовалось додумывать.

Там не надо ничего додумывать. Надо просто внимательно прочитать. Если все всё поняли, а лично Вы - нет, скорее всего проблема таки в Вас.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Смысл ping'а

Сообщение drBatty »

Bizdelnick писал(а):
03.02.2014 14:16
Если бы Вы прочитали ту тему с начала, Вам бы не пришлось дофантазировать, что я подумал.

я с начала читал.
Bizdelnick писал(а):
03.02.2014 14:16
Там не надо ничего додумывать. Надо просто внимательно прочитать. Если все всё поняли, а лично Вы - нет, скорее всего проблема таки в Вас.

ладно. Доказать это не возможно. Думайте как хотите.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
xorader
Сообщения: 1030
Статус: собирающий миры
ОС: Debian

Re: Смысл ping'а

Сообщение xorader »

Не трогайте drBatty - он святой! Половина трафика unixforum'а на нём держится.
Molchanov Alexander (aka Xor)
*offtopic* - ololo!
Спасибо сказали:
Аватара пользователя
DaemonTux
Сообщения: 1480
Статус: Юный падаван
ОС: Gentoo

Re: Смысл ping'а

Сообщение DaemonTux »

святая корова святой троль?


p. s. иногда drBatty говорит дельные вещи. Но между тем топик в который он заглядывает начинает быстро разрастаться и скатывается в срач.
p. s. s. но все же без тролей скучно.
Vladivostok Linux User Group
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Смысл ping'а

Сообщение drBatty »

DaemonTux писал(а):
04.02.2014 07:17
Но между тем топик в который он заглядывает начинает быстро разрастаться и скатывается в срач.

за то сабж всесторонне обсуждён, перечислены не только традиционные решения, но и альтернативные. А для традиционных решений есть Over9000 бложиков и говнохабра. И там и там люди фапают на свою репутацию, и в страхе что их сольют, бояться высказать альтернативную точку зрения.

Между тем, очевидно, что если-бы ТСу подходило-бы стандартное решение, он вряд-ли бы поднял тему. Только дурак не умеет гуглить. Т.е. очевидно, что ТСу по каким-то причинам нужна альтернатива, либо ему нужно узнать, что такой альтернативы не существует.

Здесь технический форум, а не овуляшки.рф. Вот на последнем конечно альтернативщиков надо гнать поганой метлой и бить банхаммером, ибо пи***сы. А здесь совсем другой случай.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 21257
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Смысл ping'а

Сообщение Bizdelnick »

drBatty писал(а):
04.02.2014 09:10
за то сабж всесторонне обсуждён, перечислены не только традиционные решения, но и альтернативные.

Неа. Вместо обсуждения сабжа начинается обсуждение фраз, неправильно понятых drBatty, и фраз drBatty, "неправильно" понятых остальными.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Смысл ping'а

Сообщение drBatty »

Bizdelnick писал(а):
04.02.2014 10:40
Вместо обсуждения сабжа начинается обсуждение фраз, неправильно понятых drBatty, и фраз drBatty, "неправильно" понятых остальными.

бывает и такое конечно. Как же без этого? Ну как можно выдвинуть альтернативную т.з не порвав кому-то шаблон? Этот кто-то сразу начинает кричать и топать ногами, ибо в его квадратную голову моя трёхугольная мысль тупо не лезет.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
yars
Сообщения: 1147
Статус: Slacker!
ОС: Slackware64-current

Re: Смысл ping'а

Сообщение yars »

drBatty писал(а):
04.02.2014 11:00
трёхугольная

's/трёхугольная/треугольная/g'
:)
Slackware64-current/Xfce/Xiaomi Mi Notebook Pro 15.6 | Arch Linux/Xfce/Lenovo G580
-------------
Registered Linux User #557010
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Смысл ping'а

Сообщение drBatty »

yars
что, тоже не лезет? (:
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
yars
Сообщения: 1147
Статус: Slacker!
ОС: Slackware64-current

Re: Смысл ping'а

Сообщение yars »

drBatty писал(а):
04.02.2014 13:39
что, тоже не лезет? (:

Ну, не то что не лезет :)
Вот слово - не пролезло, а мысль - легко!
Slackware64-current/Xfce/Xiaomi Mi Notebook Pro 15.6 | Arch Linux/Xfce/Lenovo G580
-------------
Registered Linux User #557010
Спасибо сказали:
Аватара пользователя
Subj
Сообщения: 151
Статус: Useful
ОС: win

Re: Смысл ping'а

Сообщение Subj »

Кстати ping не такой уж и простой как кажется, не зря же на /bin/ping стоит SUID-бит )
Building better software with Ada
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Смысл ping'а

Сообщение SLEDopit »

Subj писал(а):
21.02.2014 11:50
не зря же на /bin/ping стоит SUID-бит )
Просто ping'у нужно открыть raw socket, что без рута сделать не получится. Собственно после того, как сокет будет открыт, все рут привилегии будут сброшены.
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Смысл ping'а

Сообщение serzh-z »

Subj писал(а):
21.02.2014 11:50
Кстати ping не такой уж и простой как кажется, не зря же на /bin/ping стоит SUID-бит )
Расскажи, какой он сложный. =)

Бит SUID на нём стоит лишь по одной простой причине: он создаёт RAW-сокеты (SOCK_RAW, которые запрещено создавать простому пользователю), всего лишь для того, чтобы работать в обход транспортных слоёв TCP/UDP.
Спасибо сказали:
Аватара пользователя
Subj
Сообщения: 151
Статус: Useful
ОС: win

Re: Смысл ping'а

Сообщение Subj »

Вики почитали, да? ))
Building better software with Ada
Спасибо сказали:
Аватара пользователя
Subj
Сообщения: 151
Статус: Useful
ОС: win

Re: Смысл ping'а

Сообщение Subj »

Хз в чем тут спор, я его юзают и для того, и для другого. Причем это самое простое средство, чтобы в резолвинге захватить и /etc/hosts
Building better software with Ada
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Смысл ping'а

Сообщение serzh-z »

Subj писал(а):
21.02.2014 12:58
Вики почитали, да? ))
Всё ещё проще: в исходники подсмотрели, сразу после того, как возникли сомнения в праведности слов дока.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Смысл ping'а

Сообщение drBatty »

serzh-z писал(а):
21.02.2014 12:33
Бит SUID на нём стоит лишь по одной простой причине: он создаёт RAW-сокеты (SOCK_RAW, которые запрещено создавать простому пользователю), всего лишь для того, чтобы работать в обход транспортных слоёв TCP/UDP.

serzh-z писал(а):
21.02.2014 12:33
Расскажи, какой он сложный.

спасибо, ты сам всё сказал.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Смысл ping'а

Сообщение serzh-z »

drBatty писал(а):
22.02.2014 13:26
спасибо, ты сам всё сказал.
Ну я написал это сабжу, а него особых проблем с восприятием сарказма не замечал.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Смысл ping'а

Сообщение drBatty »

serzh-z
изначально у меня было

drBatty писал(а):
31.01.2014 12:53
В этом и есть смысл ping'а -- проверить, работает-ли вся цепочка от нас до какого-то сервера. Включая и DNS.

на что вы ответили

serzh-z писал(а):
31.01.2014 15:25
=) Лол. С каких это пор смысл пинга поменялся с "посчитать RTT" на "проверить, работает ли цепочка"? Таймер RTT в ping вообще устанавливается после вызова gethostbyname(). И разрешение имени делается вообще лишь один раз после старта утилиты.

а тут у вас оказывается
RAW-сокеты (SOCK_RAW, которые запрещено создавать простому пользователю), всего лишь для того, чтобы работать в обход транспортных слоёв TCP/UDP.

ну если ты продолжаешь настаивать, что единственная задача ping — "считать RTT"…

то ладно, пусть так будет.

Хотя моё мнение так и не изменилось, я всё равно считаю, что утилита ping нужна для комплексной проверки доступности хоста, включая ресолвинг доменного имени и прочее. Ну и конечно RTT тоже надо считать, я с этим и не спорил.

Если ты лично предпочитаешь только RTT считать, а ресолвинг проверяешь своим костылём с gethostbyname(3), то это уже твоё право, хотя мне удобнее ping'ом.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Смысл ping'а

Сообщение serzh-z »

Не понял, как это:
drBatty писал(а):
22.02.2014 16:42
=) Лол. С каких это пор смысл пинга поменялся с "посчитать RTT" на "проверить, работает ли цепочка"? Таймер RTT в ping вообще устанавливается после вызова gethostbyname(). И разрешение имени делается вообще лишь один раз после старта утилиты.
Противоречит этому:
drBatty писал(а):
22.02.2014 16:42
RAW-сокеты (SOCK_RAW, которые запрещено создавать простому пользователю), всего лишь для того, чтобы работать в обход транспортных слоёв TCP/UDP.
Первое - это комментарий на "Конечно [ping каждый раз ресолвит имя]. Его назначение проверять работу цепочки." - "проверять работу цепочи" не может быть его назначением в принципе, так раз работает лишь на уровне IP и может лишь проверить доступность хоста по IP и посчитать RTT. DNS же работает выше уровня IP.

Второе - это детали реализации и ответ на троллинг сабжа - зачем нужен SUID для ping.

drBatty писал(а):
22.02.2014 16:42
Если ты лично предпочитаешь только RTT считать, а ресолвинг проверяешь своим костылём с gethostbyname(3), то это уже твоё право, хотя мне удобнее ping'ом.
Ресолвинг проверяется (т.е. настройка локального ресолвера и работа DNS-сервера) с помощью dig, host и nslookup. Проверяй DNS чем угодно, но не вводи людей в заблуждение. ping, в конце концов, очень плохо работает с DNS для адресов, у которых несколько имён.
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: Смысл ping'а

Сообщение drBatty »

serzh-z писал(а):
22.02.2014 17:01
Первое - это комментарий на "Конечно [ping каждый раз ресолвит имя]. Его назначение проверять работу цепочки." - "проверять работу цепочи" не может быть его назначением в принципе, так раз работает лишь на уровне IP и может лишь проверить доступность хоста по IP и посчитать RTT. DNS же работает выше уровня IP.

оно конечно вам виднее, но у меня всё равно ping ya.ru НЕ работает, если проблемы с DNS. Это наверное какое-то фатальное совпадение, ведь вы же читали сырцы(а я не читал), и понимаете, что никакого отношения это к этому не имеет. ☺

serzh-z писал(а):
22.02.2014 17:01
Ресолвинг проверяется (т.е. настройка локального ресолвера и работа DNS-сервера) с помощью dig, host и nslookup. Проверяй DNS чем угодно, но не вводи людей в заблуждение.

хм…

Ну ОК, у меня практическая задача: узнать, есть-ли доступ к яндкекс-диску. Я делаю так: if ping -c1 ya.ru; then # доступ есть fi, ЧЯДНТ?
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
Аватара пользователя
Леди Совершенство
Сообщения: 1

Re: Смысл ping'а

Сообщение Леди Совершенство »

drBatty, вот тебе пример ситуации, когда DNS работает отлично, а вот gethostbyname(), который юзается пингом, нет.

Код: Выделить всё

$ nslookup google.de
Server:        127.0.0.1
Address:    127.0.0.1#53

Non-authoritative answer:
Name:    google.de
Address: 173.194.113.184
Name:    google.de
Address: 173.194.113.191
Name:    google.de
Address: 173.194.113.183
$ ping google.de
ping: unknown host google.de
Спасибо сказали:
Аватара пользователя
SLEDopit
Модератор
Сообщения: 4823
Статус: фанат консоли (=
ОС: GNU/Debian, RHEL

Re: Смысл ping'а

Сообщение SLEDopit »

drBatty писал(а):
22.02.2014 17:17
Это наверное какое-то фатальное совпадение
Именно так. Достаточно сделать

Код: Выделить всё

echo "127.0.0.1 ya.ru"|sudo tee -a /etc/hosts
и устранить это совпадение.
Просто иногда так сходятся звёзды на небе, что несчастному ping'y приходится ещё и резолвить имя удалённого хоста, чтобы понять на какой ip вообще стучаться. Но вы же понимаете, что это случайное совпадение не может считаться надёжным инструментов для проверки работы dns? Не говоря уже о том, что dns это не только преобразование доменного имени в ip адрес, но и куча других вещей.
UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity. © Dennis Ritchie
The more you believe you don't do mistakes, the more bugs are in your code.
Спасибо сказали: