LINUX.ORG.RU
ФорумAdmin

Объясните, пожалуйста, почему пинг тормозит.

 


0

1

пингую с одного компа на другой, оба включены в один роутер
64 bytes from 192.168.1.2: icmp_seq=37 ttl=64 time=0.427 ms

Правильно ли я понимаю, что пакет туда и обратно идёт почти полсекунды.

Вопрос - где и на что теряется такое большое количество времени?

(да даже если это 4 десятитысячных секунды, то всё равно кажется много)

Пусть тактовая частота 2 гигагерца. пакет нужно:
- отправить - получить - переслать - получить - обработать - отправить - получить - переслать - получить

т.е. примерно 9 действий.

если считать что команды выполняются по одной за такт, то
за секунду выполняется 0.2*10^10
а за 0.4*10^-3 секунды это 0.2*10^7 команд
даже если поделим на 9, пусть 10 действий, получается, что для обработки пакета требуется примерно 0.2*10^6 ~= 200 000 команд.

Что они там делают с пакетами?

★★☆

Последнее исправление: Einstok_Fair (всего исправлений: 4)

Ответ на: комментарий от an0nym0us

лучше бы ты написал, на какие действия тратится время при пересылке пакета.

Если в нём 64 байта (256 бит), а скорость сетки 1Gb/s, то время на передачу/приём пакета = 0.256*10^3 / 10^9 = 0.256*10^-6, даже если его на 9 умножить - оно меньше, чем расходуемое.

Einstok_Fair ★★☆
() автор топика

ms - это, по-твоему, секунда ?

ovax ★★★
()

0.427 ms
Правильно ли я понимаю, что пакет туда и обратно идёт почти полсекунды.

ms - это миллисекунда. До 1ms в пределах одного физического сегмента сети между нетормозящими железками - это вполне себе окей. Случаи с географически разнесенным сетевым сегментом не рассматриваем - у тебя явно не он.

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от Einstok_Fair

А ничего что кроме передачи/приема самого кадра сетевой картой идет еще и обработка всего этого процессором самой железки(ты же упомянул что у тебя два компа, значит специализированные сетевые ASIC-и исключаем). Плюс накладные расходы добавляет сам роутер/свич(или что там у тебя посередине). Крошечные, но добавляет.

Ну и не забудь, что ровно 1Gbit/sec данных по физическому линку такой же скорости выжать НЕЛЬЗЯ.

Pinkbyte ★★★★★
()
Ответ на: комментарий от Pinkbyte

А сколько можно? 0.999999Gbit/sec? Зачем тебе ровно? Всё равно просядет же где-нибудь, нормальные скорости только на 1 файле будут.

anonymous
()


Пусть тактовая частота 2 гигагерца. пакет нужно:
- отправить - получить - переслать - получить - обработать - отправить - получить - переслать - получить

т.е. примерно 9 действий


Покажи мне процессор, где есть машинная команда send_icmp_packet. А то так-то взломать любой код можно в одно действие «взломать», один такт по-твоему.

redgremlin ★★★★★
()
Ответ на: комментарий от anonymous

А сколько можно?

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

Зачем тебе ровно? Всё равно просядет же где-нибудь, нормальные скорости только на 1 файле будут.

Хорошо что ты не провайдер, я бы сильно поржал если бы нам аплинки говорили «ну зачем вам ровно 1 Гбит/сек на вашу пару тыщ пользователей, давайте сойдемся на 800».

Но я отвлекся. В домашних условиях того что даёт гигабитная физика в большинстве случаев достаточно. Кому мало - сетевки и свичи 10Гбит/сек уже достаточно подешевели(хотя твинаксиальными кабелями народ еще в 2011 соединял компы - и ничего, не обеднели)

Pinkbyte ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.