Почему в аргументе -q команды traceroute есть ограничение в 10?

Аргумент -q traceroute устанавливает количество зондов, которые будут использоваться.

В системах Linux кажется, что это может быть только до 10. Если используется более высокое значение, traceroute возвращает.

не более 10 проб на один скачок

На солярисе есть такой же параметр, и там он принимает более 10.

Интересно, почему этот предел есть. Это просто произвольный выбор?

1
задан 10 June 2015 в 05:28

2 ответа

Вы не можете ожидать, что любая программа в любой системе генерирует идентичные выводы. Все свободны адаптировать исходный код.

POSIX определяет интерфейс прикладного программирования (API), наряду с оболочками командной строки и служебными интерфейсами, для совместимости программного обеспечения с вариантами Unix и других операционных систем.

0
ответ дан 10 June 2015 в 05:28

Это просто определяется в исходном коде инструмента среди других пределов:

#define MAX_HOPS    255
#define MAX_PROBES  10
#define MAX_GATEWAYS_4  8
#define MAX_GATEWAYS_6  127
#define DEF_HOPS    30
#define DEF_SIM_PROBES  16  /*  including several hops   */
#define DEF_NUM_PROBES  3
#define DEF_WAIT_SECS   5.0
#define DEF_SEND_SECS   0
#define DEF_DATA_LEN    40  /*  all but IP header...  */
#define MAX_PACKET_LEN  65000

нет комментария, указывающего, почему, таким образом, я предполагаю, "произвольный выбор" является им.

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

Вы имеете дело с высокой потерей пакетов или дрожанием? Даже 10 пакетов должно быть более чем достаточно, чтобы установить, существует ли высокая потеря пакетов или дрожание.

0
ответ дан 10 June 2015 в 05:28

Другие вопросы по тегам:

Похожие вопросы: