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

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

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

Вот схема (я про первую ссылку)

Задержка и пропускная способность

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


person MhdSyrwan    schedule 30.12.2011    source источник
comment
какой технологический стек или языки вы имеете в виду?   -  person Shawn Mclean    schedule 30.12.2011
comment
Я просто хочу рассчитать это вручную для этих значений, я хочу знать принципы / ЗАКОНЫ расчета этих проблем   -  person MhdSyrwan    schedule 30.12.2011


Ответы (2)


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: medium propagation speed (meters/second)
    • speed in copper is 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
person This    schedule 30.12.2011
comment
но у меня нет этих параметров - person MhdSyrwan; 30.12.2011
comment
@MhdSyrwan, каких параметров у вас нет? Задержка в очереди? Задержка обработки относится к той же категории, что и задержка обработки. Если у вас нет параметра, сделайте значение в уравнении нулевым. - person This; 30.12.2011
comment
где я могу поставить заданную задержку? это задержка медиа-ссылки? - person MhdSyrwan; 30.12.2011
comment
Почему мы просто добавляем задержку обработки узла к общему времени? Скажем, файл очень большой или даже поток данных, мы не можем предполагать наличие какого-либо буфера в пути, отправитель может отправлять только со скоростью min (скорость передачи данных, скорость обработки узла). - person Dagang; 25.06.2016
comment
@MikePennington, есть ли какое-нибудь исследование, связанное с вашим ответом? Мне нужно добавить ссылку на эту формулу в моей работе. Пожалуйста, помогите в этом отношении. - person Salman Lone; 02.02.2017
comment
@MhdSyrwan, вы нашли этот ответ полезным. Вы можете помочь мне сослаться на эту формулу? - person Salman Lone; 02.02.2017
comment
@SalmanLone Я получил формулу из теории, которую изучил в колледже, и моего опыта работы с этими вещами. - person This; 18.03.2017
comment
@MikePennington Спасибо за ответ. Ваша формула помогает мне в работе. - person Salman Lone; 18.03.2017

Примерно формула:

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>

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

person ugoren    schedule 30.12.2011
comment
так вы использовали пропускную способность как пропускную способность? - person MhdSyrwan; 31.12.2011
comment
@MhdSyrwan, используйте этот ответ на свой страх и риск. Он не учитывает время сериализации кадра. - person This; 31.12.2011
comment
но у меня нет скорости передачи данных по ссылке, как ее рассчитать? - person MhdSyrwan; 31.12.2011
comment
Мой ответ действительно довольно упрощен и не учитывает все факторы. Он должен быть достаточно точным для больших кадров, но слишком оптимистичным для маленьких. - person ugoren; 31.12.2011
comment
здесь вы берете 2 пакета вместе, а не один за другим, почему? - person MhdSyrwan; 31.12.2011
comment
@MhdSyrwan, скорость передачи данных - это пропускная способность. Я думаю, вам стоит найти хорошую книгу по этому предмету (ваш учебник ??), потому что вы, кажется, не понимаете концепции, лежащие в основе того, о чем вы спрашиваете. Вы никогда не сможете летать самостоятельно, если вам понадобится помощь в взмахе крыльев. - person This; 31.12.2011
comment
@ugoren, байты! = биты. Скорость передачи данных указывается в битах в секунду. - person This; 31.12.2011
comment
@MikePennington, я знаю байты! = Биты. Вот почему 2 Мбит / с = 250 000 байтов в секунду. Вы должны привести все к обычным единицам, прежде чем производить вычисления, поэтому я решил использовать байты и секунды. - person ugoren; 31.12.2011
comment
Быстрый вопрос, что такое РАЗМЕР в вашем примере? это размер пакета? - person user2065929; 16.04.2013