Пропускная способность TCP

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

есть цель, которая говорит, что многолучевой протокол TCP не должен быть более агрессивным, чем TCP по пути. Исходя из этой цели, на следующем рисунке многолучевой TCP (два подпотока вместе) может получить максимум 50% канала? введите описание изображения здесь

есть ли ограничения для TCP throuput через 3G или WIFI?

1 ответ

Решение

Мне было интересно, если TCP является агрессивным или неагрессивным протоколом?

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

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

Если существует только одна ссылка, а другого трафика нет, отправитель (TCP) может использовать всю пропускную способность канала?

Да.

Если у меня есть два потока TCP, каждый поток TCP может получить половину пропускной способности?

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

Есть цель, которая говорит, что многолучевой протокол TCP не должен быть более агрессивным, чем TCP по пути. Исходя из этой цели, на следующем рисунке многолучевой TCP (два подпотока вместе) может получить максимум 50% канала?

Примечание: изображение из этой статьи: https://www.eecs.berkeley.edu/~sylvia/cs268-2014/papers/mptcp.pdf

Да. Если поток MPTCP с несколькими подпотоками разделяет узкое место с потоком TCP, поток MPTCP будет использовать приблизительно 50% пропускной способности.

Обратите внимание, что это не тот случай, если MPTCP заменяется несколькими параллельными регулярными потоками TCP. Скажем 2, как на рисунке. В этом случае параллельная передача получит 66% полосы пропускания.

Есть ли ограничения для TCP throuput через 3G или WIFI?

TCP обычно не знает и не должен знать, какую сеть он использует. Он просто использует:

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

Проблема с беспроводной связью заключается в том, что пакеты могут быть отброшены из-за перегруженности канала или из-за радиопомех. В первом случае TCP должен быть отключен, во втором он должен немедленно повторить передачу. Идея справиться с этим - https://en.wikipedia.org/wiki/WTCP (RFC 3481). Я не знаю, как часто это развертывается на практике, но согласно книге "Развертывание широкополосного интернета в Японии" 1 января 2008 г. Х. Эсаки и Х. Сунахара (ISBN-13: 978-1586038625 ISBN-10: 1586038621 По крайней мере, один провайдер в Японии, NTT DoCoMo развернул его в своей сети 3G.

Другие вопросы по тегам