37

Существует ли общее эмпирическое правило, на сколько тысяч километров скорость вашего Интернета может естественным образом уменьшиться и на сколько? Что-то вроде «10 Мбит / с на 1000 км». (Я получил из этого ответа SE, что это действительно может быть так).

Тем не менее, я живу под Москвой и при тестировании серверов вокруг себя, я получаю полные 60 Мбит / с, за которые я плачу. Однако, если я тестирую свое интернет-соединение с сервером в Токио, Япония, я не получаю даже полных Мбит / с (скриншот) Или США, Майами - около 3 Мбит / с (скриншот).

Я боюсь, что будет установлен "великий русский брандмауэр". Оправданы ли мои опасения или это физически объяснимо?

6 ответов6

48

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

Предполагая прямую видимость до цели в 600 километрах, свету потребуется приблизительно 2 миллисекунды, чтобы достичь ее цели. Точно так же, если бы расстояние было больше, скажем, от Москвы до Токио, примерно на 7500 километров, то до пункта назначения потребовалось бы 25 миллисекунд. Это в 12,5 раз дольше. Согласно Physics.se: Как быстро свет проходит через оптоволоконный кабель? и Extremetech скорость света в оптоволоконном кабеле примерно на 30% медленнее, чем в вакууме.

Это не означает прямого сокращения полосы пропускания, поскольку пакеты могут быть запрошены, поставлены в очередь и отправлены раньше.

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

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

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

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

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

Один из способов проверить это - проверить ссылки на все страны, которые вы можете найти, найти лучшего соседа, а затем получить VPN-сервис, размещенный в этой стране. Если ваша связь проходит через эту VPN, возможно, в вашей стране действует фильтрация, или это может быть просто плохая сетевая маршрутизация.

21

Обязательная история интернета: случай 500-мильной электронной почты

Количество данных "в полете" в любое время ограничено окном TCP, установленным между двумя системами. В некоторых случаях оконные эффекты могут вызвать замедление: https://www.snellman.net/blog/archive/2017-08-19-slow-ps4-downloads/

Плюс есть особые соображения для действительно больших расстояний (TCP в космосе): http://www.ipnsig.org/reports/TCP_IP.pdf

Я бы сказал, что есть три эффекта.

1) Количество данных "в полете" между двумя системами ограничено окном TCP и временем прохождения в оба конца для ACK. Увеличенный RTT для того же окна = медленная максимальная скорость.

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

3) Наконец, межсетевые экраны национального уровня добавят еще один уровень замедления. Довольно много стран есть что-то на месте здесь, даже если это только фильтрование детского порно и The Pirate Bay. У России, кажется, есть один: https://www.theguardian.com/world/2016/nov/29/putin-china-internet-great-firewall-russia-cybersecurity-pact

7

Что ж, "великий русский брандмауэр" тоже может быть на месте, снижая скорость. Тогда это будет зависеть от того, сколько информации он собирает (просто установленная информация о соединении, полный контент соединения для анализа и т.д.). Но я живу за пределами России, и ФСБ не рекламирует используемые технологии, поэтому воспринимайте это как спекуляцию ...

Но, что более вероятно, причина, ваш поставщик. У вашего провайдера может быть отличное широкое домашнее соединение, однако доступ к иностранному соединению определенно более ограничен. Таким образом, если они покупают внешнее соединение со скоростью 1 Гбит / с, то это зависит также от общей агрегации и дневного времени (в конце ночи будет меньше людей в сети, поэтому вы можете получить больше от общей пропускной способности зарубежного провайдера. чем в 7 вечера, когда все дома и дети на YouTube.

Кроме того, скорость в США или Японии, вероятно, будет ниже, чем, например, в Финляндии или Германии, потому что больше людей должны использовать одни и те же кабели с ограниченной общей пропускной способностью.

3

Да (и нет, это не скорость интернета , и это не скорость как таковая).

скорость

Скорость - это очень неточная формулировка, которая смешивает две разные вещи, которые широко независимы, но взаимодействуют друг с другом: задержка и пропускная способность.
Кроме того, скорость, которую вы наблюдаете, не является скоростью интернета . Это очень сложная смесь многих вещей, которые происходят на вашем конце (на вашем компьютере), на другом конце (на сервере) и в нескольких промежуточных точках. Это может быть совсем другое дело со следующим сервером, к которому вы обращаетесь, даже если тот находится так же далеко (или дальше).

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

Пропускная способность - это объем данных, который вы можете - теоретически - протолкнуть на провод за единицу времени. Обычно для этого существуют жесткие и мягкие ограничения. Жестким ограничением будет то, что линия может взять, а затем есть то, за что вы платите, и что поставщик позволит вам (обычно меньше!). Часто передачи не являются одинаковыми, они начинаются быстрее, а затем очень быстро снижаются.
Например, у меня есть восходящий канал 96 Мбит / с с пропускной способностью физической линии 112 Мбит / с. Это связано с тем, что для повышения стабильности используется меньшая полоса пропускания, чем это было бы реально возможно. Тем не менее, я плачу только за 50 Мбит / с (что вполне достаточно для моих нужд и 10 € в месяц дешевле), несмотря на то, что фактически я получаю 96 Мбит / с. Подожди ... как это работает? Зачем кому-то платить больше денег? Что ж, я передаю все со скоростью 96 Мбит / с, но провайдер через очень короткое время (менее 0,1 секунды) скрытно блокирует меня и разрешает отправлять / получать больше данных только после того, как пройдет достаточно времени, поэтому я в пределах квота, за которую я заплатил. Таким образом, в среднем у меня 50Мбит / с. Очень похожие вещи случаются в нескольких местах в Интернете, где также будет проходить ваш трафик (даже не подозревая об этом). Трафик "формируется" в соответствии с важностью, иногда с неизвестными метриками, и (хотя и является спорным и оспариваемым, см. "Сетевой нейтралитет") в зависимости от того, кому принадлежит кабель и за что платят люди.

Пропускная способность в интернете, по большей части, настолько велика, что - за исключением случаев DDoS-атак на всей территории страны - это никоим образом не является ограничивающим фактором. Ну, в теории, и в большинстве частей света, это так.

Однако существуют узкие места: одно на вашем конце, следующее очевидное на стороне сервера, и существует реальная вероятность того, что если вы будете взаимодействовать с сервером в другом географическом месте, особенно в стране третьего мира, эта общая пропускная способность будет значительно хуже, чем любой из двух. Некоторые страны в Юго-Восточной Азии имеют международные каналы связи, которые не намного выше, чем у нескольких домашних пользователей в других странах (или даже в той же стране). Я не знаю, так ли это до сих пор (в мире все так быстро меняется), но, например, в Таиланде доступ к серверу в той же стране был в 4 раза быстрее, чем к серверу в другой стране, для просто эта причина. То же самое будет, если вы попытаетесь получить доступ к серверу в своей стране.

Даже если полоса пропускания в вашем местоположении может быть высокой, это самое медленное соединение в цепочке, которое ограничивает объем данных, которые вы можете протолкнуть (как в водопроводной трубе). Более длинное расстояние означает, что обычно существует больше возможностей для обнаружения медленной (или перегруженной) линии связи.

Задержка

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

Во-первых, существует скорость света, которая (не) постоянна и, будучи жестким физическим пределом, не может быть обойдена. Почему я говорю "(не) постоянно"? Ну, потому что реальность даже хуже теории. Скорость света - действительно верхняя граница, измеренная в вакууме. В медном кабеле или даже более того в оптоволоконном кабеле измеряемая скорость света легко примерно на 30% ниже, чем в ваккуме, плюс фактическое расстояние больше. Это связано не только с тем, что кабель расположен не совсем по прямой линии, но и с тем, что свет проходит зигзагообразно по волокну, отражаясь от стен (полное внутреннее отражение). Это сложная задача (это означает: невозможно) значительно увеличить скорость света. Не то, чтобы вы не могли этого сделать, используя другую среду, но среда с более высокой скоростью света означает изменение показателя преломления, поэтому вы уменьшаете и в конечном итоге теряете общее внутреннее отражение. Это означает, что если сигнал не идет по совершенно прямой линии, сигнал больше не достигает другого конца!

Таким образом, в целом, существует более или менее фиксированная задержка, которая является неизбежной, и, хотя она не заметна при локальных передачах (ЛВС или несколько километров), она становится очень заметной, когда сигнал проходит через половину континента. В дополнение к этому жесткому физическому пределу существуют задержки, вносимые промежуточными маршрутизаторами и, возможно, вашей локальной восходящей линией связи (печально известная "последняя миля").

Например, в типичном домашнем интернет-соединении на базе ATM у вас есть задержка около 4 мс только для того, чтобы ваши дейтаграммы без необходимости инкапсулировались в PPP и разбивались на 53-байтные кадры ATM, передаваемые в DSLAM и маршрутизируемые в сеть банкомата провайдера и сборка перед повторным входом в сеть IP. Причина, по которой это делается, является исторической. Когда-то банкомат казался хорошим планом, позволяющим осуществлять высококачественные телефонные звонки с низкой задержкой на большие расстояния. Когда-то это было в 1980-х годах, но, увы, операторы связи движутся медленно.
Даже для многих инсталляций, которые имеют в своем названии "волокно", на самом деле медная проволока используется для последних десятков метров, волокно не редко заканчивается на улице (хотя настоящее волокно в подвале существует).

Типичный интернет-маршрутизатор добавляет что-то в диапазоне от 0,05 до 0,2 миллисекунды к вашей задержке, но в зависимости от того, насколько он занят (любой, может быть, он не на высшем уровне), это вполне может быть полная миллисекунда. Это не много, но учтите, что наличие 6-8 маршрутизаторов между вами и сервером назначения не является чем-то необычным, и вы вполне можете иметь 12-15 из них на более длинном расстоянии! Вы можете попробовать запустить tracert some.server.name чтобы увидеть себя.

Линия, которая была обрезана и прорезана АНБ или СВР (то есть, в основном, каждая главная линия, идущая с / на азиатский континент или через Красное море, Индийское море или Атлантический океан) будет иметь по крайней мере еще две миллисекунды или около того добавлена задержка за шпионские штучки, которые они делают, возможно, больше. Известно, что некоторые страны (или, по крайней мере, весьма подозревают) не только наблюдают за контентом и блокируют определенные диапазоны IP-адресов, но даже проводят некоторую активную фильтрацию / блокировку политически / идеологически неприемлемого контента. Это может привести к гораздо более длительным задержкам.

Таким образом, даже для "близлежащих" мест вы можете ожидать задержки от 15 до 25 мс, но для чего-то в другой стране вы должны ожидать ~ 100 мс, на другом континенте 150-250 мс, если вам не повезло 400-500 Миз.

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

К сожалению, это не совсем так. Большинство протоколов, которые передают значительные объемы данных, такие как, например, TCP, используют форму регулирования полосы пропускания, основанного на подтверждении, поэтому объем данных, которые вы можете протолкнуть на провод, зависит от времени, которое требуется для полного обхода (туда и обратно). снова). Это не на 100% точно, потому что TCP пытается оптимизировать пропускную способность, используя один из нескольких довольно сложных оконных алгоритмов, которые отправляют пару дейтаграмм до ожидания подтверждения.
Хотя это может как-то смягчить эффект, тем не менее остается основной принцип: то, что вы можете отправлять (или получать), в конечном счете, зависит от времени, которое требуется для получения подтверждений. Некоторые другие протоколы с более строгими требованиями в реальном времени и менее важными требованиями к надежности (например, IP-телефония) используют другую стратегию с другими проблемами (которые я не буду описывать).

Вы можете увидеть, как сильно влияет задержка, если сравнить плохую реализацию TCP (Microsoft Windows) с лучшей (Linux). Хотя они оба говорят по одному протоколу и, по-видимому, делают одно и то же, они не справляются с компенсацией задержки одинаково хорошо.
У меня есть настольный компьютер (процессор 6700K, 64 ГБ ОЗУ, Windows) и Synology DiskStation (чип с низким энергопотреблением ARMv8, 1 ГБ ОЗУ, Linux). Настольный компьютер, подключенный к тому же маршрутизатору, будучи во много раз более мощным, не может полностью насыщать линию 50 Мбит / с при загрузке с национальных серверов или в пределах ЕС (15-20 мс RTT), даже при нескольких одновременных загрузках в полете. У кроткой DiskStation нет проблем с полным насыщением линии за одну загрузку, получая пропускную способность на 15-20% больше - тот же кабель, то же самое и все.
В моей локальной сети (где задержка значительно ниже миллисекунды) между ними нет заметной разницы. Это эффект латентности.

Скорость ... снова

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

0

Это нормально, что высокая задержка (ping) уменьшит вашу скорость загрузки. Существует некоторая информация о том, что здесь. Вы можете компенсировать это, используя менеджер загрузок, который использует несколько TCP-соединений параллельно.

0

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .