Как рассчитать время пакета из задержки и пропускной способности - PullRequest
12 голосов
/ 30 декабря 2011

У меня есть связь между хостом и коммутатором.

Ссылка имеет пропускную способность и задержку. Как рассчитать время передачи 2 пакетов (размером 1 КБ) с Хост A на Коммутатор 1 ?

Вот диаграмма (я говорю о первой ссылке)

Latency & Bandwidth

Примечание: я просто хочу вычислить это вручную для этих значений, я хочу знать принципы / законы расчета этих проблем.

Ответы [ 2 ]

15 голосов
/ 30 декабря 2011
Propagation time = (Frame Serialization Time) 
                  + (Link Media Delay) 
                  + (Queueing Delay) 
                  + (Node Processing Delay - if known)

Формулы:

  • Frame Serialization Time = S/R
  • Link Media Delay = D/p
  • Queueing Delay = Q / R
  • Обычно задается задержка обработки узлаили измеренный

Переменный декодер:

  • R: скорость передачи данных по каналу (бит / с)
  • S: Размер пакета (бит)
  • D: расстояние между линиями (в метрах)
  • P Задержка обработки (в секундах)
  • p: средняя скорость распространения (в метрах / секундах)
    • скорость в меди 210 * 10** 6
    • скорость в волокне составляет 300 * 10 ** 6
  • Q: Глубина очереди (биты);примечание: если ссылка не перегружена, глубина очереди отсутствует

Применительно к вашему вопросу:

Я буду рассчитывать информацию только для связь между хостом A и коммутатором 1 :

Frame Serialization Time =  Packet_size_bits / Link_data_rate_bps
                         = 2*1024*8 / (2*10**6)
                         = 0.00819 [seconds]
Link Media Delay         = 0.04 seconds [from diagram: 40ms]
Queueing Delay           = 0.0 [assume no congestion]
Node Processing Delay    = 0.0 [Host A had nothing specified for delay]
-----------------------------------------------------------------------
               Total     = 0.00819 + 0.04 + 0.0 + 0.0
                         = 0.04819 seconds
                         = 48.2 milliseconds for two 1KB packets to go from 
                                             Host A to Switch 1
6 голосов
/ 30 декабря 2011

Примерно так, формула выглядит так:

LATENCY + SIZE / THROUGHPUT<br>
In your example:<br>
LATENCY = 40ms = 0.04<br>
SIZE = 1000*2<br>
THGOUGHPUT = 2Mbps = 250,000 Bytes/second<br>

Итог:

0.04 + 2000 / 250000 = 0.048 = 48ms<br>

Обратите внимание, что я преобразовал все единицы в байты и секунды, поэтому вычисленияимеют смысл.
Это более точно для больших пакетов.Для небольших пакетов действительные числа больше.

...