Инженеры и крупные компании продвигают технологию под названием L4S, утверждая, что она может сделать веб значительно быстрее. Но как?
Если снизить скорость интернета и перейти с тарифного плана 900 Мбит/с на 200 Мбит/с, вероятно, вы не ощутите большой разницы. Вы заметите, что веб-сайты иногда могут долго загружаться, HD-видео на YouTube приходится останавливаться и буферизоваться при перемещении в них, а видеозвонки иногда могут быть раздражающе прерывистыми.
Другими словами, практически ничего не изменилось, даже когда была услуга с загрузкой почти гигабит. Скорее всего, многие из вас сталкивались с медленной загрузкой веб-сайтов и удивлялись, когда «тест скорости» говорит, что ваш интернет способен воспроизводить десятки потоков в 4K одновременно. Так что же происходит?
Если снизить скорость интернета и перейти с тарифного плана 900 Мбит/с на 200 Мбит/с, вероятно, вы не ощутите большой разницы
Как и в любой проблеме, здесь много факторов, но один из основных — задержка, или количество времени, которое требуется вашему устройству для отправки данных на сервер и получения данных в ответ. Неважно, какая у вас пропускная способность, если ваши пакеты данных (маленькие пакеты данных, передаваемые по сети) где-то застревают. И хотя люди имеют представление о том, как работает задержка, благодаря популярным тестам скорости, включая метрику «пинг», общепринятые методы ее измерения не всегда предоставляют полную картину.
Хорошей новостью является то, что существует технология по практически полному устранению задержки — крупные компании, такие как Apple, Google, Comcast, Charter, NVIDIA, Valve, Nokia, Ericsson, Deutsche Telekom (материнская компания T-Mobile) и другие, проявили интерес. Этот новый стандарт интернета называется L4S, и он может серьезно сократить время ожидания загрузки веб-страниц или потоков, а также уменьшить сбои в видеозвонках. Это также может помочь изменить наше представление о скорости интернета и помочь разработчикам создавать приложения, которые просто невозможны в нынешних реалиях интернета.
Однако прежде чем поговорим о L4S, давайте положим некоторую основу.
Почему мой интернет такой медленный?
Существует множество потенциальных причин. Интернет представляет собой огромную сеть взаимосвязанных маршрутизаторов, коммутаторов, оптоволоконных линий и других элементов, соединяющих ваше устройство с сервером (или часто несколькими серверами) где-то далеко. Если в какой-то точке этого пути возникает узкое место, ваш серфинг по вебу может пострадать.
И потенциальных узких мест много:
- сервер, на котором размещено видео, которое вы хотите посмотреть, может иметь ограниченную пропускную способность для загрузки;
- важная часть инфраструктуры интернета может быть выключена, что означает, что данные должны проходить дополнительное расстояние;
- ваш компьютер может испытывать трудности в обработке данных и так далее.
На самом деле, ключевым моментом является то, что наименее емкое звено в цепи определяет пределы возможного. Вы можете подключиться к самому быстрому серверу с помощью соединения на 8 Гбит/с, и если ваш роутер может обрабатывать только 10 Мбит/с данных за раз, то именно это и будет вашим ограничением, и никакая Кроме того, каждая задержка складывается, поэтому, если ваш компьютер добавляет 20 миллисекунд задержки, а ваш роутер — 50 миллисекунд задержки, вам придется подождать как минимум 70 миллисекунд, прежде чем что-то произойдет. (Это совершенно произвольные примеры, но смысл ясен).
В последние годы инженеры сетей и исследователи начали поднимать вопросы о том, как системы управления трафиком, предназначенные для того, чтобы сетевое оборудование не перегружалось, на самом деле могут замедлить работу. Часть проблемы заключается в так называемом «переполнении буфера».
Это звучит, как зомби из The Walking Dead
Верно? Но чтобы понять, что на самом деле такое переполнение буфера, сначала нам нужно понять, что такое буфер. Как мы уже упоминали, сетевые технологии напоминают танец; каждая часть сети (такие как коммутаторы, маршрутизаторы, модемы и так далее) имеет свой лимит по обработке данных. Но потому что устройства в сети и объем трафика, с которым им приходится справляться, постоянно меняются, ни один из наших телефонов или компьютеров на самом деле не знает, сколько данных отправлять за раз.
Для выяснения этого обычно начинают отправлять данные с определенной скоростью. Если все идет хорошо, они увеличивают ее снова и снова, пока что-то пойдет не так. Традиционно это что-то — это потерянные пакеты; где-то маршрутизатор получает данные быстрее, чем может их отправить, и говорит: «Ой, нет, сейчас я не могу с этим справиться», и просто избавляется от них. Очень понятно?
Вы можете подключиться к самому быстрому серверу с помощью соединения на 8 Гбит/с, и если ваш роутер может обрабатывать только 10 Мбит/с данных за раз, то именно это и будет вашим ограничением
Хотя потерянные пакеты обычно не приводят к потере данных — мы заботились о том, чтобы компьютеры были настолько умными, что могли бы просто отправить эти пакеты снова, если это необходимо — это все равно определенно не идеально. Так что отправитель получает сообщение, что пакеты были потеряны, и временно снижает свои скорости передачи данных, прежде чем сразу же увеличить их снова, на всякий случай, если в течение последних нескольких миллисекунд что-то изменилось.
Это потому, что иногда перегрузка данных, которая вызывает потерю пакетов, является всего лишь временной; может быть, кто-то в вашей сети пытается отправить изображение в Discord, и если бы ваш роутер мог подождать, пока это произойдет, вы могли бы продолжить свой видеозвонок без проблем. Это также одна из причин, по которой во многое сетевое оборудование встроен буфер. Если устройство получает слишком много пакетов сразу, оно может временно их сохранять, помещая их в очередь для отправки. Это позволяет системам обрабатывать огромные объемы данных и выравнивает всплески трафика, которые в противном случае могли бы вызвать проблемы.
Я не понимаю — это звучит как положительное событие
Это так! Однако опасения некоторых людей связаны с тем, что буфер стал исключительно большим для обеспечения плавной работы. Это означает, что пакеты могут ожидать в очереди целую (иногда буквально) секунду, прежде чем продолжать свой путь.
Для определенных типов трафика, таких как YouTube, наличие буфера на вашем устройстве не является значительной проблемой, поскольку вам не срочно нужен следующий фрагмент видео. Однако для таких действий, как видеозвонки или использование игрового стримингового сервиса, например, GeForce NOW, задержка, внесенная буфером (или несколькими буферами в цепи), действительно может стать серьезной проблемой.
поставщики интернета продают соединения по пропускной способности: сколько данных вы можете получить одновременно
В настоящее время существуют некоторые методы решения этой проблемы, и в прошлом предпринимались многочисленные попытки разработать алгоритмы, управляющие перегрузкой с учетом как пропускной способности (или объема передаваемых данных), так и более низкой задержки. Однако многие из них не интегрируются безупречно с текущими широко используемыми системами контроля за перегрузкой, что может вызвать проблемы для других частей интернета при их внедрении в определенных областях.
Я плачу за гигабитный интернет — почему у меня все равно могут быть проблемы с задержкой?
Это тонкость маркетинга поставщиков услуг интернета (ISP). Когда пользователи говорят, что им нужен «более быстрый» интернет, они имеют в виду, что им хочется, чтобы время между запросом и получением нужного контента было меньше. Однако поставщики интернета продают соединения по пропускной способности: сколько данных вы можете получить одновременно.
Было время, когда увеличение пропускной способности действительно сокращало время ожидания. Например, загрузка MP3-файла в 9 мегабайт с совершенно законного веб-сайта:
- заняла бы длительное время при подключении через 56-килобитное соединение — около 21 с половиной минуты;
- переходите на быстрое соединение 10 Мбит/с, и у вас песня должна загрузиться мене чем за 10 секунд.
Однако время передачи данных становится все менее заметным по мере увеличения пропускной способности; вы не заметите разницы между загрузкой песни за 0,72 секунды при 100 Мбит/с и загрузкой за 0,288 секунды при 250 Мбит/с, хотя технически это менее половины времени. Кроме того, на практике это занимает больше времени, чем просто передача данных. Числа имеют большее значение при загрузке более крупных файлов, но в какой-то момент достигается убывающая отдача; разница между потоковой передачей фильма 4K в 30 раз быстрее, чем вы можете его смотреть.
Узкое место — не объем данных, который мы можем передвигать за один раз через наше интернет-соединение — а время, которое наши пакеты тратят на перемещение между устройствами
Разрыв между нашей «скоростью» интернета (обычно подразумевается пропускная способность) и тем, как мы воспринимаем эти соединения с высокой пропускной способностью, становится очевидным, когда простые веб-страницы долго загружаются; в теории мы должны иметь возможность загружать текст, изображения и JavaScript со сверхсветовой скоростью. Однако загрузка веб-страницы включает в себя несколько раундов взаимодействия между нашими устройствами и серверами, умножая проблемы с задержкой. Когда пакеты застревают на 25 миллисекунд, это может значительно добавиться, когда им приходится совершать поездку туда-сюда 10 или 20 раз. Узкое место — не объем данных, который мы можем передвигать за один раз через наше интернет-соединение — а время, которое наши пакеты тратят на перемещение между устройствами. Поэтому увеличение пропускной способности не поможет устранить проблемы с задержкой.
Итак, что такое L4S, и как он сделает мой интернет быстрее?
L4S, аббревиатура от Low Latency, Low Loss, Scalable Throughput (Низкая задержка, низкая потеря, масштабируемая пропускная способность), направлен на уменьшение ненужного времени ожидания ваших пакетов в очередях путем сокращения необходимости в их формировании. Это достигается сокращением петли обратной связи задержки, обеспечивая быстрое обнаружение устройствами перегрузок и немедленное принятие корректирующих мер. Обычно это включает в себя небольшое снижение объема передаваемых данных.
Стандарты L4S определяются, как сетевые каналы, например, в интернет-шлюзе, могут реализовать новую функцию обработки пакетов данных для трафика, чувствительного к задержке, и в результате достичь сверхнизкой задержки
Как уже обсуждалось, наши устройства постоянно подвергаются изменениям в скорости передачи данных, ускоряясь, замедляясь и повторяя этот цикл из-за постоянно меняющегося объема данных в сети. Однако полагаться на потери пакетов в качестве сигнала о перегрузке, особенно при использовании буферов, не является идеальным. Устройства могут не осознавать, что передают избыточные данные, пока не станет слишком поздно, что приводит к значительному ограничению.
L4S устраняет задержку между началом проблемы и осведомленностью каждого устройства в цепи о ней. Этот более совершенный процесс упрощает поддержание оптимальной пропускной способности без введения задержек, увеличивающих время передачи данных.
Хорошо, но как происходит это волшебство?
Нет, это не волшебство, хотя техническая сложность может создать такое впечатление. Если вы желаете поглубже изучить детали (и обладаете хорошим пониманием сетевых технологий), вы можете ознакомиться со спецификацией на сайте Internet Engineering Task Force.
L4S стремится уменьшить количество перегруженных сетевых пакетов, стоящих в очереди внутри сети
Для всех остальных давайте упростим, не упуская важных деталей. Стандарт L4S включает индикатор в пакеты, сигнализирующий, испытали ли они перегрузку в пути между устройствами. Если пакеты свободно проходят через сеть без длительного ожидания в очереди, проблем не возникает.
Однако, если они проводят слишком много времени в очереди, указывая на перегрузку, они получают соответствующую метку. Это позволяет устройствам мгновенно вносить коррективы, предотвращая ухудшение перегрузки, и потенциально ее устранение. Таким образом, данные передаются с максимальной скоростью, исключая сбои и ухудшения, которые могут внести задержку.
Насколько L4S необходим?
Когда речь идет о снижении задержек в интернете, L4S или что-то подобное считается «весьма необходимым», как утверждает Грег Уайт, технолог в исследовательской фирме CableLabs, участвующий в разработке стандарта. Он отмечает, что иногда задержки буферизации исторически колебались от сотен до тысяч миллисекунд. В то время как предыдущие решения для устранения избыточных задержек снижали их до десятков миллисекунд, L4S идет еще дальше, сокращая их до однозначных миллисекунд.
Это значительное сокращение задержек может существенно улучшить повседневный опыт пользователей интернета. Грег Уайт подчеркивает, что для большинства людей веб-серфинг ограничен временем туда-обратно, а не пропускной способностью соединения. После определенного порога, обычно от шести до десяти мегабит в секунду, задержка играет более существенную роль в определении воспринимаемой скорости загрузки веб-страниц.
Ультранизкая задержка становится ключевой для будущего интернета. Сообществом обсуждается проблема потокового воспроизведения игр, которая может стать проблематичной при избыточной задержке, но представьте, что произойдет, если вы попытаетесь воспроизвести потоковую VR-игру с премиальной игровой мышью. В таком случае высокая задержка может не только уменьшить удовольствие от игры, но даже вызвать дискомфорт.
Чего не может сделать L4S
Тем не менее L4S не может отрицать законы физики. У данных есть врожденные ограничения скорости, и их передача может включать значительные расстояния. Например, попытка видеовызова с кем-то в Перте (Австралия), влечет по меньшей мере 51 мс задержки в каждом направлении — это время, которое свету требуется, чтобы пройти прямо от одного места к другому, предполагая идеальный вакуум (напомним, в одной секунде 1 000 миллисекунд). В реальности путешествие займет больше времени из-за немного более низкой скорости света в оптоволоконных кабелях и дополнительных переходах по пути передачи данных, учитывая отсутствие прямой линии от вашего дома до Перта.
…для большинства людей веб-серфинг ограничен временем туда-обратно, а не пропускной способностью соединения. После определенного порога, обычно от шести до десяти мегабит в секунду, задержка играет более существенную роль в определении воспринимаемой скорости загрузки веб-страниц
Эта географическая сложность является причиной того, что большинство сервисов, не имеющих дело с данными в реальном времени, стремятся кэшировать их ближе к местоположению пользователя. Популярный контент на платформах, таких как Netflix или YouTube, часто поставляется с сервера, находящегося близко к пользователю, даже если это не прямо из основных центров обработки данных компании.
L4S не может устранить неизбежные физические задержки, связанные с передачей данных на большие расстояния. Однако его роль заключается в том, чтобы предотвратить добавление дополнительных задержек сверх неизбежной задержки.
Так, когда я это получу?
Это остается ключевым вопросом для любой технологии сетевого взаимодействия, особенно после того, как IPV6-обновление (изменяющее способ поиска компьютеров друг друга в интернете) заняло более десяти лет для полного внедрения. К несчастью, основные новости заключаются в том, что L4S еще не получила широкого распространения.
Тем не менее крупные организации активно участвуют в разработке. Согласно данным от Грега Уайта из CableLabs, уже около 20 кабельных модемов поддерживают L4S, и несколько крупных поставщиков интернет-услуг, таких как Comcast, Charter и Virgin Media, участвовали в мероприятиях, направленных на тестирование совместимости с L4S аппаратных средств и программного обеспечения до их официального выпуска. Также проявили интерес к технологии такие крупные компании, как Nokia, Vodafone и Google.
Apple дополнительно привлекла внимание к L4S на Всемирной конференции разработчиков Apple (WWDC) 2023, представив бета-версию поддержки в iOS 16 и macOS Ventura. Разработчики, использующие существующие структуры, автоматически получают встроенную поддержку L4S, не внося никаких изменений в код. Apple постепенно внедряет L4S для iOS 17, iPadOS 17, macOS Sonoma и tvOS 17 имеют встроенную поддержку L4S, поэтому устройства обеспечивают бесперебойную потоковую передачу, например, при использовании FaceTime.
Примерно в тот же период, что и WWDC, Comcast объявила о проведении первых в отрасли полевых испытаний L4S совместно с Apple, NVIDIA и Valve. У Comcast данная технология называется — DOCSIS (LLD) с низкой задержкой. Они уже сделали ее ключевым компонентом сети Xfinity 10G и приступили к первым в отрасли полевым испытаниям. Это позволяет поставщикам контента помечать свой трафик, например, потоковое игровое видео от NVIDIA GeForce NOW, предоставляя пользователям в регионах испытаний с совместимым оборудованием, кто арендуют новейший шлюз Xfinity 10G (модели XB7 и XB8) или владеют шлюзами Arris S33 или Netgear CM1000v2, испытать L4S прямо сейчас.
LLD — это технологический стандарт CableLabs, который реализует открытые стандарты масштабируемой пропускной способности с низкой задержкой и низкими потерями (L4S) инженерной группы интернета (IETF).
По словам Джейсона Ливингуда, вице-президента технологической политики, продуктов и стандартов Comcast (и человека, благодаря чьим твитам мир впервые узнали о L4S), компания извлекла много полезной информации из испытаний Low Latency DOCSIS (LLD), которую можно использовать для внесения корректив в следующем году в преддверии возможного запуска.
Еще одним фактором, который способствует L4S, является его широкая совместимость с существующими системами управления перегрузкой. Трафик, использующий L4S и более старые протоколы, может сосуществовать, не ухудшая пользовательский опыт. Постепенная реализация делает ее более осуществимой по сравнению с методом «все или ничего», который требовал бы одновременного значительного изменения от всех.
Тем не менее перед тем как ваш следующий вызов в Zoom станет практически свободным от задержек, предстоит еще значительная работа. Хотя не каждый переход в сети должен поддерживать L4S для заметного улучшения, узкие места, которые часто возникают в Wi-Fi-маршрутизаторах или в «последней мили» (оборудование, соединяющее вас с вашим интернет-провайдером и провайдером с более широкой сетью), имеют решающее значение. Кроме того, важна поддержка со стороны серверов, с которыми вы соединяетесь.
В большинстве случаев индивидуальные приложения не должны требовать существенных изменений для поддержки L4S, особенно если они делегируют детали сетевого взаимодействия операционной системе вашего устройства. Однако это предполагает, что ваша ОС также поддерживает L4S. Компании, создающие собственный код сетевого взаимодействия для достижения максимальной производительности, вероятно, должны переписать его для поддержки L4S.
Конечно же, мы видели другие многообещающие технологии, которые так и не воплотились в жизнь, и преодоление сценария «курица и яйцо» на ранних этапах развития остается вызовом. Почему сетевые операторы должны тратить усилия на поддержку L4S, когда его не использует никакой интернет-трафик? И если сетевые операторы не поддерживают его, почему бы разработчикам приложений и услуг, создающим этот трафик, беспокоиться о его внедрении?
Как определить, улучшит ли L4S мой интернет?
Отличный вопрос, и основной показатель — ваш опыт использования интернета в повседневных ситуациях. Хотя ping часто используется для измерения задержек, средний «пинг» может не дать полной картины. Решающим фактором является ping, который вы испытываете, когда ваша сеть перегружена, и насколько сильно он скакнет.
К счастью, некоторые приложения для тестирования скорости теперь включают эти данные. В мае 2022 года Ookla представила более реалистичный обзор задержек в SpeedTest — одном из самых популярных инструментов для оценки скорости интернета. Чтобы увидеть эту информацию, выполните тест, затем коснитесь «подробный результат» и изучите раздел «отзывчивость». Во время одного из таких тестов мой ping, когда ничего важного не происходило, составлял 18, что указывает на хорошую производительность. Однако во время теста загрузки, когда соединение активно использовалось, он подскочил до 768 миллисекунд — почти целую секунду. Такие всплески могут казаться вечностью, особенно когда ожидается загрузка веб-страницы, особенно если эта задержка увеличивается во время обмена сообщениями.
Если ваше использование интернета в квартире ограничивается выполнением только одной задачи за раз, и вы часто посещаете сайты с низкой нагрузкой на сервр, то, возможно, L4S не принесет вам значительных улучшений. Однако это не реалистичный сценарий. Если мы сможем внедрить эту технологию в наши все более загруженные домашние сети, где мы посещаем те же сайты, что и все остальные, есть потенциал тихой революции в пользовательском опыте веба. Как только она станет широко применяться, разработчики смогут начать создавать приложения, которые были бы невозможны без ультранизкой задержки.
Ну а если вы всерьез интересуетесь новыми технологиями и хотите продолжить в том же духе, то ждем вас на наших курсах программирования.