Как определить пропускную способность пути между двумя хостами с несколькими ссылками

2371
sherrellbc

Я видел похожие вопросы во время поиска, поэтому я подумал, что это может быть наиболее подходящим местом, чтобы задать этот вопрос.

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

A <----- L1 -----> * <----- L2 -----> * <----- L3 -----> B

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

Предположим, что мы имеем: L1 = 100 Кбит / с, L2 = 200 Кбит / с, L3 = 300 Кбит / с

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

  • time_taken = #bits_to_transfer * (1 / L1 + 1 / L2 + 1 / L3)

Но в этом случае, указанном выше, эквивалентная скорость передачи будет 54,5 Кбит / с! Этот вывод, очевидно, неверен, так как у нас по крайней мере скорость передачи данных составляет 100 Кбит / с. Сделав шаг назад, я понял, что это действительно правильный ответ, если рассматривать всю ссылку как единую непрерывную ссылку типа:

A <----- L_equivalent -----> B

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


ТЛ; др

На самом деле, не будет ли это случая, когда мы сначала передадим бит от A через L1, а затем, когда L1 отправит этот же бит в L2, мы можем передать еще один бит в L1 и действовать соответствующим образом. Правильно ли тогда сделать вывод, что пропускная способность этого пути между А и В является просто скоростью передачи самого медленного канала, 100 Кбит / с?

2

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

1
VL-80

То, что вы делаете, имеет смысл. Где-то вдоль пути у вас будет узкое место - L1 = 100Kpbsв вашем примере. Таким образом, максимальная пропускная способность не будет превышать это самое низкое значение.

Настоящим примером является корпоративная рабочая станция, подключенная к коммутатору уровня доступа со скоростью порта 100 Мбит / с. Этот переключатель, в свою очередь, подключен к датчику уровня распределения со скоростью 1 Гбит / с. Распределительный коммутатор подключается к базовому коммутатору с возможностью соединения 10 Гбит / с.

Теперь мы смотрим на рабочую станцию, и скорость ее соединения все еще составляет 100 Мбит / с, несмотря на то, что где-то на линии имеется соединение с пропускной способностью 10 Гбит / с.

Интуитивно понятно, что медленное соединение в данном пути, безусловно, препятствует потоку данных, но как именно мы можем сказать, что скорость передачи будет равна самой медленной ссылке? В вашем примере рабочая станция со скоростью 100 Мбит / с подключена к гораздо более быстрому набору ссылок, поэтому скорость передачи * с рабочей станции * на более быстрые коммутаторы действительно составляет всего 100 Мбит / с, но не следует ли нам также учитывать скорость передачи эти (быстрее) переключатели? Короче говоря, общая скорость передачи между двумя хостами не 100 Мбит / с, а скорее сумма эффекта каждого коммутатора / канала, верно? sherrellbc 9 лет назад 0
Из приведенного выше примера скорость передачи через L1 составляет 100 Кбит / с. Как мы можем математически определить эффективную скорость передачи между двумя хостами, которую будет наблюдать пользователь? То есть комбинированный эффект медленной связи L1 вместе с L2 и L3. sherrellbc 9 лет назад 0
Если можно, комбинированного эффекта нет! Говоря простым языком, пакеты из более крупной линии связи достигают узкого места, буферы заполняются, и отправителю предписывается отступать. [Читать это] (https://en.wikipedia.org/wiki/Queuing_delay), чтобы получить более подробную информацию. НТН Dude named Ben 9 лет назад 0
@sherrellbc, у меня нет математического доказательства этого, и я никогда не пытался его выдать. То, что я написал, - это скорее здравый смысл. Это похоже на поезд `T`, который может перевозить` 1000` пассажиров между двумя станциями, и автобус `B`, который может перевозить только` 50` пассажиров. Так что, если мы представим путь `start -> T -> B -> finish`, то очевидно, что узким местом является автобус, и пассажирам` 950` придется ждать возвращения автобуса после того, как он заберет первых пассажиров `50` из поезд. VL-80 9 лет назад 0
1
Dude named Ben

В сценарии, где ссылка не используется, вы получите максимальную пропускную способность канала с наименьшей пропускной способностью. Следовательно, L1, т.е. 100 Кбит / с. Вот почему, когда у вас есть кабельная интернет-связь со скоростью 100 Мбит / с, вы часто получаете намного меньше, чем это из-за некоторой перегруженной или меньшей связи между вами и вашим пунктом назначения.

Также вы, кажется, путаете пропускную способность и скорость (или задержку). Пропускная способность - это количество пакетов в данном интервале (кбит / с) в зависимости от скорости, которое указывает, как быстро пакет достигнет заданного пункта назначения. Спутниковая связь имеет большую пропускную способность, но ужасную задержку из-за расстояний.

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