Почему пропускная способность определяется конечной системой с более низкой пропускной способностью?

390
Darien Springer

Я исследовал скорость передачи пакетов и был сбит с толку общей пропускной способностью от одной конечной системы к другой. Например: скажем, сервер отправляет пакет клиенту с промежуточным маршрутизатором. Мой учебник Компьютерные сети » Куросе и Росса говорит, что конечная система с более низкой скоростью передачи определяет скорость передачи всей передачи файла. Почему это?

Разве две скорости пропускной способности не будут добавлены вместе, чтобы составить полную пропускную способность передачи файлов? Например: пропускная способность сервера выдает биты со скоростью 1 Мбит / с, а маршрутизатор выдает биты со скоростью 2 Мбит / с. Скажите также, что размер файла составлял 10 миллионов бит. От сервера к маршрутизатору потребуется 10 секунд, чтобы добраться до сервера, а затем потребуется около 5 секунд, чтобы добраться до клиента, в результате чего взаимодействие по общей пропускной способности займет 15 секунд. Это то, что я думаю, но используя логику учебника, это займет 10 секунд. Почему это?

0
С точки зрения пропускной способности, думайте о данных, как вода в трубе. Диаметр трубы - это общая пропускная способность. Объем воды, который может пройти через этот диаметр на произвольное расстояние за произвольное время, является его пропускной способностью. данная молекула воды, поступающая в трубу, движется через эту трубу с заранее определенной скоростью, а затем входит в следующую трубу, проходя через нее с такой скоростью. Поскольку молекула должна пройти через всю трубу, прежде чем войти в следующую, время для прохождения обеих труб будет равно pipe1Time + pipe2Time. Чем выше это время, тем ниже скорость. Frank Thomas 6 лет назад 1
прод. чем ниже скорость, тем ниже общая пропускная способность. Таким образом, путь никогда не может занимать меньше времени, чем пропускная способность отдельных каналов. Если один канал медленнее, чем другие, не имеет значения, насколько быстрее другие каналы, медленный канал всегда будет узким местом, и связь по этому пути никогда не будет быстрее скорости самого медленного канала. Итак, подведем итоги: со временем у вас все будет вместе, но для пропускной способности вы выбираете скорость самого медленного компонента на пути; Вы никогда не можете идти быстрее, чем это. Frank Thomas 6 лет назад 1

2 ответа на вопрос

2
Mokubai

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

Не думайте о потраченном времени, думайте о том, как быстро кто-то может слушать.

Скажем так: у вас есть человек, который читает книгу вслух, но он может говорить очень быстро, а у вас есть человек, который слушает. Человек, который слушает, может понимать только с низкой скоростью, поэтому либо быстрый читатель должен замедлиться до скорости, которую слушатель может понять, либо слушатель должен постоянно повторять «подожди, ты можешь повторить это». Это определяет пропускную способность.

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

Есть два выхода, которые вы смотрите здесь. Пропускная способность отправителя к маршрутизатору и от маршрутизатора к получателю. Маршрутизатор хранит только небольшое количество данных в любой данный момент и не будет хранить весь большой блок перед его повторной передачей, таким образом, у вас фактически есть самое медленное соединение в системе, ограничивающее общую скорость, с которой может работать сквозное соединение. в.

«Человек, который слушает, может понимать только с низкой скоростью, поэтому либо быстрый читатель должен замедлиться до скорости, которую может понять слушатель, либо слушатель должен продолжать говорить« подождите, вы можете повторить это «много» ». Но так ли это на самом деле работает? Есть ли у принимающей стороны возможность сказать «подожди, ты можешь это повторить»? Я не знаю ответа, но аналогия осталась с одним мнением, которое я решил спросить, потому что мне любопытно. Несмотря на это, хорошая аналогия для того, чтобы дать некоторую перспективу все же. Damon 6 лет назад 0
Спасибо за ваш ответ, но я все еще в замешательстве. Разве биты не ускорились бы, когда они поражают маршрутизатор? Я думаю, что понимаю, что если сервер выдавал биты со скоростью 10 Мбит / с, то потребовалось бы 10 секунд, чтобы добраться до клиента, если пропускная способность сервера для клиента была такой же скоростью. Darien Springer 6 лет назад 0
Но в примере, поскольку пропускная способность от маршрутизатора к клиенту в два раза выше, разве это не изменится, насколько быстро биты начали перемещаться, как только они достигли маршрутизатора? Не будет ли тогда формула ((время пропускной способности сервера) + (время пропускной способности маршрутизатора)) / 2? Не приведет ли это к тому, что общая пропускная способность будет (10 секунд + 5 секунд) / 2? Поэтому не займет ли это 7,5 секунд? Darien Springer 6 лет назад 0
Да, пакеты будут проходить по более быстрому каналу с самой высокой скоростью, возможной для этого канала, но тогда между каждым пакетом будет задержка, так как маршрутизатор ожидает отправки всего пакета на него. Из-за того, что он непрерывно передает блоки данных, для получателя нет очевидной разницы между быстрой связью, которую он имеет с маршрутизатором, и медленной связью с остальным миром за пределами маршрутизатора. По сути, оно похоже на устройство ретрансляции звука, оно имеет небольшую задержку, но все же должно (в некоторой степени) учитывать скорость передачи данных на него. Mokubai 6 лет назад 0
@DarienSpringer Вы были бы по существу правы, если бы размеры пакетов были такими огромными, но обычно они невероятно малы, и поэтому задержка при повторной передаче также очень мала. Большой кусок данных разделяется на множество крошечных пакетов и проходит через сеть. Они ограничены самой медленной связью, потому что именно там им требуется больше всего времени для перемещения по ссылке, везде они движутся с максимально возможной скоростью, но их скорость потока как группового объекта ограничена тем, насколько быстро они могут пройти через самую медленную ссылка на сайт. Вам нужно думать о непрерывном потоке, а не ждать в точке х Mokubai 6 лет назад 0
Цепь настолько сильна, насколько это самое слабое звено. Неважно, сколько или насколько сильны другие ссылки, важна только самая слабая. Тот же принцип имеет много приложений, скорость передачи данных одна. В этом примере сервер отправляет данные со скоростью 10 Мбит / с. Общая скорость передачи не может превышать этого, иначе последний байт будет получен до его отправки. Думаю об этом. LMiller7 6 лет назад 0
Цепочка - довольно хорошая аналогия. Цепь проходит через серию шестеренок, но из-за слабости между двумя из этих шестерен (скажем, цепь проходит через крутой поворот и рискует вырваться и сломаться), вы можете пропустить ее только через эту связь с определенной скоростью. Это приводит к тому, что вся звено цепи замедляется. Mokubai 6 лет назад 0
Я ценю все комментарии, но я все еще в замешательстве. Возможно, я действительно застрял на стене, но даже крошечные пакеты битов должны проходить через промежуточный маршрутизатор. Они должны быть обработаны, поставлены в очередь, переданы, а затем распространены. В моем примере я предполагаю, что задержки незначительны до такой степени, что они не имеют значения. Я только поднимаю задержки, потому что пакеты должны будут остановиться на маршрутизаторе, а затем будут распространяться по пропускной способности от маршрутизатора к клиенту. Из-за этой "стены" пакеты не будут достигать маршрутизатора на более медленной скорости и затем ускоряться? Darien Springer 6 лет назад 0
Скажем, мы все еще говорим о пропускной способности, которая по-прежнему составляет 1 Мбит / с от сервера к маршрутизатору и 2 Мбит / с от сервера к клиенту. Разве пакеты не будут тратить половину общей пропускной способности на 1 Мбит / с, а другую половину - на 2 Мбит / с? Darien Springer 6 лет назад 0
Пакет не перемещается с пропускной способностью, он перемещается со скоростью передачи для канала, на котором он находится. Пропускная способность - это мера скорости, с которой пакет проходит весь путь, поэтому путь, имеющий две линии связи со скоростью 10 Мбит / с, будет иметь пропускную способность 10 Мбит / с. если вы обновили одну ссылку до 100 Мбит / с, пропускная способность все равно будет 10 Мбит / с, потому что это скорость, с которой биты пакета могут проходить путь. Frank Thomas 6 лет назад 0
0
Frank Thomas

Представьте себе линию муравьев, движущихся от Листа к своей норе, но есть палка на пути, по которой им нужно перелезть:

<Leaf> ------ <stick> ------ <hole> 

Муравью требуется 3 секунды, чтобы добраться до клюшки (этап 1 пути), 10 секунд, чтобы перелезть через клюшку (этап 2), и затем 2 секунды, чтобы перейти от клюшки к отверстию (этап 3). Общая полоса пропускания leg1 равна 3 муравьям, полоса пропускания флешки равна одному муравью, а полоса leg3 равна 3 муравьям.

Таким образом, ant0 покидает лист и отправляется на палку. он перелезает через палку и идет к дыре. Общее время = 15 секунд.

Ant1 оставляет 1 секунду позади ant0 и пересекает leg1 через три секунды. Он попадает в флешку, но пропускная способность флешки полна, потому что Ant0 использует его. поэтому Ant1 должен подождать 9 секунд, прежде чем он сможет начать пересекать палку. Когда Ant0 сделан на палке, Ant1 пересекает его и продолжает на дыру. Общее время прохождения составляет 3 с + 9 с (ожидание) + 10 с, пересекая палку + 2 секунды до отверстия => 24 секунд.

Ant2 оставляет 1 секунду позади ant1, и ему требуется три секунды, чтобы достичь палки. затем ему нужно подождать как Ant0, так и Ant1, чтобы очистить флешку, прежде чем она сможет пересечь. Общее время = 3 с + 10 с (ожидание муравья 1) + 8 с (ожидание муравья 0) + 10 с (пересечение палки) + 2 с, чтобы добраться до дыры => 33 секунды.

Итак, если бы мы измерили пропускную способность этого пути, это было бы 3 / (15 + 24 + 33) => 0,0416 муравьев в секунду.

допустим, мы ускорили этап 1 до 1 секунды (в 3 раза быстрее). мы получаем 3 / (13 + 22 + 31) => 0,454 муравья в секунду. очень небольшое увеличение для увеличения скорости в 3 раза на одной ноге.

Допустим, мы ускорили этап 3 до 1 секунды (в 2 раза быстрее). мы получаем 3 / (12 + 21 + 30) => 0,0476 муравьев в секунду. еще раз очень мало влияния.

Однако если мы увеличим скорость leg2, возможно, на 2x-5 секунд, мы получим совершенно другое число 3 / (7 + 11 + 17) => 0,085 муравьев в секунду.

Таким образом, увеличение любой из более быстрых ветвей сделало очень мало, но удвоение скорости самого медленного компонента фактически удвоило пропускную способность пути.

Итак, вы заметили, что, хотя Leg3 имеет достаточную пропускную способность и высокую скорость передачи, это не влияет на скорость, с которой муравьи достигают дыры, потому что скорость, с которой муравьи входят в Leg3, является узким местом палки, поэтому большинство из полосы пропускания на Leg3 не может использоваться. Вы могли бы увеличить его в 100 раз и не иметь ни малейшего влияния на скорость, с которой муравьи достигают дыры. В этой ситуации единственное, что вы можете сделать, чтобы вообще изменить уравнение, это увеличить скорость, с которой муравьи пересекают палку. все остальное бессмысленно.

Хорошо. Я думаю, что понимаю это сейчас. Когда я читал о скоростях передачи, я не связывал это с тем, что скорости передачи определяются тем, насколько широк путь передачи от одного узла к другому. И причина, по которой возникает узкое место, заключается в том, что если один путь передачи меньше другого, то нужно сделать так, чтобы число битов могло перемещаться за один раз. Darien Springer 6 лет назад 0

Похожие вопросы