Оптимизация пропускной способности интернет-канала

  • Автор записи:
  • Рубрика записи:Блог

Представьте, что вы — компания с большим количеством сотрудников, работающих на «удалёнке» и все они ненавидят местных поставщиков интернет-услуг. Видеоконференции для таких случаев — вообще худшее из зол: люди не слышат друг друга, либо они внезапно начинают звучать, как Дарт Вейдер, а иногда просто исчезают из разговора.

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

Давайте теперь разберём проблему более глубоко. Когда вы говорите со своим поставщиком интернет-связи о проблемах со скоростью/надёжностью соединения, то они обычно отвечают, что проблема решается переходом на более дорогой тариф с большей пропускной способностью. Но когда вы сами измеряете, сколько заявленной существующей пропускной способности вы используете в самое загруженное время дня, то оказывается, что этот показатель составляет всего от 30% до 50%. И вы не можете понять, почему же тогда возникают проблемы с интернет-соединением?

Устройства в домашней сети подключаются к маршрутизатору (роутеру), который подключается к поставщику интернет-услуг для доступа в Интернет. Сам поставщик может подключиться к более крупному поставщику, прежде чем подключиться к оптоволоконной «магистрали» в дата-центре. А сам дата-центр может быть ещё подключён к узлу, обслуживающему целую страну или регион. Чтобы получить доступ к нужному веб-серверу — например, чтобы прочитать новостную статью на сайте — данные будут передаваться с устройства в домашней сети через множество других устройств. В итоге сигнал должен достичь своего пункта назначения — нужного сервера в каком-нибудь далёком дата-центре.

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

Протокол управления передачей (TCP) и протокол транспортного уровня (UDP — User Datagram Protocol), часть набора протоколов Интернета (IP), которые и отправляют данные через Интернет. TCP обеспечивает доставку пакетов данных, но работает медленнее, чем UDP, который, казалось бы, является «наилучшим решением». Получатель подтверждает получение пакетов данных по протоколу TCP. Если отправитель не получает подтверждения для пакета отправленной информации, то отправитель повторно передаёт его. Наше устройство, получающее доступ к веб-серверу, не «знает» о возможностях соединения. При повторном запросе он понижает скорость (использует TCP slow, чтобы избежать перегрузки), медленно увеличивая количество отправляемых пакетов до тех пор, пока не будет обнаружена максимальная ёмкость. Этот протокол использует управление потоком, чтобы гарантировать, что веб-сервер (получатель) не будет перегружен пакетами данных нашего устройства (отправителя). Это достигается за счёт того, что получатель «объявляет» размер своего