Определение скорости передачи

#networking #data-transfer

#сеть #передача данных

Вопрос:

Только что просматривал некоторые старые экзаменационные работы и наткнулся на вопрос, который я не могу понять :

Предположим, что у вас есть 2Mbit/s только проводная связь, расстояние до которой составляет 240 000 миль. Данные передаются со скоростью света, которая составляет 186 000 миль в секунду. Сколько времени требуется для передачи 30kb файла с Луны на землю? Для передачи файла должно произойти начальное время установления связи в 2 * раза в оба конца.

Как я могу это решить?

240,000/186,000 = 1.29…секунды * 2 = 2,58 секунды = 2 * Время в оба конца.

2 МБ = 2000 КБ.

30/2000 = .015сек 2.58 = 2.595сек.

Это где-нибудь близко? У меня такое чувство, что я должен каким-то образом учесть время, необходимое для передачи 30 КБ, но я не уверен, где это сделать.

Комментарии:

1. Ну, это также немного зависит от метода передачи! Некоторые методы передачи выполняют «Я отправляю вам это», «Спасибо, я понял», поэтому время прохождения туда и обратно имеет значение для каждого фрагмента, в то время как другие делают «Я собираюсь отправить вам дату», «ок, я готов», «вот так …..», «готово, спасибо», и поэтому не трясите руками весь путь.

2. Не мог бы кто-нибудь помочь отредактировать ‘2MB’ на ‘2Mb’, пожалуйста? Это сбивает с толку, поскольку B в сети обычно означает «байт», в то время как в данном случае требуется «бит».

Ответ №1:

Да, ваш ответ очень близок. Если мы проигнорируем квитирование во времени 2 * в оба конца (которое вы уже правильно рассчитали, так что вы можете добавить это позже), последняя часть ответа выглядит следующим образом.

Как вы сказали, для отправки данных отсюда на Луну требуется 240.000 / 186.00 = 1.29 секунды. Поскольку все данные передаются в линию как можно быстрее (то есть со скоростью 2 Мбит / с), по истечении этих 1.29 секунд для поступления последнего бита потребуется всего 30 КБ / 2000 КБ / с = 0.015 секунды. (Представьте себе гоночную трассу с тремя машинами, движущимися друг за другом, которые продолжают двигаться вплотную друг к другу, но они не обгоняют друг друга, последняя машина прибудет в точку B ровно на x секунд позже, чем первая машина. Это одинаково для всех частей маршрута).

Таким образом, данные полностью принимаются за 1,29 0,015 секунды = 1,305 секунды.

Теперь добавьте время установления связи в оба конца (2,58 с). общее время составляет 3,885 секунды.

Комментарии:

1. благодарю за ваш совет, уже обновлен, и прошу прощения за мою невнимательность. С уважением:-)

Ответ №2:

Я думаю, вам следует удвоить время отправки файла, учитывая, что получение файла на другом конце стоит столько же.

Кроме того, передача файла по ссылке также требует времени. ‘2 МБ’ здесь обозначает время, необходимое для отправки файла с локального по ссылке. Итак, я думаю, по крайней мере, ваше уравнение должно быть таким:

signle_trip_delay = 240 000/186 000 round_trip_delay = single_trip_delay * 2 file_sending_time = 30/2000 file_receiving_time_at_the_other_end = 30/2000

время = round_trip_delay (для рукопожатия) file_sending_time file_receiving_time single_trip_delay (файл перемещается по ссылке)

ОБНОВЛЕНИЕ: нет необходимости учитывать file_receiving_time. Извините за мою невнимательность. Теперь time = round_trip_delay (для рукопожатия) file_sending_time single_trip_delay (файл перемещается по ссылке)

Комментарии:

1. Нет, вы не должны удваивать время отправки, смотрите Мой ответ на примере ‘car’