Так что в основном это простой вопрос, но не простой ответ.

Как рассчитать скорость загрузки и выгрузки, чтобы запрограммировать это на c #?

Я не уверен, как принять во внимание задержку.

Я надеюсь, что некоторые из вас, гении, могут помочь мне в этом ... :)

заранее спасибо.

1 ответ1

0

Короче, есть три случая.

1. Физический интерфейс ограничивает пропускную способность.

Если сетевой интерфейс ограничен, то это предел (duh:p), и задержка не имеет значения, как говорит @Ramhound.

2. Окно ограничено

Если настроенное максимальное окно TCP на обоих концах ограничивает, то

T <= min(rwnd,cwnd)/RTT

3. Потеря пакета ограничена

Потеря пакета также может ограничивать пропускную способность (ограничивая окно отправки). Из Макроскопического поведения алгоритма предотвращения перегрузки TCP мы узнаем, что мы можем получить верхнюю границу пропускной способности

T <= (MSS / RTT) * C/sqrt(p), 

где p - коэффициент потери пакетов, а C - константа (объяснение см. в статье). Это не точно, есть ряд важных предположений, и разные разновидности TCP тоже влияют на это - но мы видим, что потеря пакетов влияет на пропускную способность.

Я не совсем понимаю, как это поможет вам написать программу на C #, но надеюсь, что это даст вам кое-что :)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .