Как рассчитать время пакета с задержкой и пропускной способностью

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

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

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

Latency & Bandwidth

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

Ответ 1

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
  • Node обычно определяется или измеряется задержка обработки

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

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

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

Я буду вычислять информацию только для связи между хостом 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

Ответ 2

Довольно примерно, формула:
LATENCY + РАЗМЕР/ЧЕРЕЗ

В вашем примере:
LATENCY = 40 мс = 0,04
РАЗМЕР = 1000 * 2
THGOUGHPUT = 2 Мбит/с = 250 000 байт/секунду

Итог:
0,04 + 2000/250000 = 0,048 = 48 мс
Обратите внимание, что я преобразовал все единицы в байты и секунды, поэтому вычисления имеют смысл.
Это более точно для больших пакетов. Для небольших пакетов реальные числа больше.