Сколько раз я должен повторно передать пакет, прежде чем предположить, что он был потерян? - PullRequest
0 голосов
/ 14 июня 2011

Я создавал надежный сетевой протокол, похожий на TCP, и мне было интересно, какое хорошее значение по умолчанию для порога повторной передачи должно быть в пакете (сколько раз я отправлял пакет, прежде чем предположить, что соединение было сломаны). Как я могу найти оптимальное количество повторов в сети? Также; не все сети имеют одинаковую надежность, поэтому я думаю, что это «оптимальное» значение будет различным в разных сетях. Есть ли хороший способ рассчитать оптимальное количество повторных попыток? Также; сколько миллисекунд я должен ждать перед повторной попыткой?

Ответы [ 2 ]

1 голос
/ 14 июня 2011

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

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

Если вы не посмотрите на существующую литературу, вы упустите сто конструктивных соображений, которые никогда не возникнут у вас за столом.

0 голосов
/ 27 июля 2011

В итоге я разрешил приложению установить это значение со значением по умолчанию 5 попыток. Похоже, это работало в большом количестве сетей в наших сценариях тестирования.

...