Как интернет может передавать данные так быстро?

20

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

Кэм Джонс
источник
9
Окружность земли составляет около 40000 км. Электромагнитные волны распространяются со скоростью света, которая составляет м / с. Это означает, что электронному сигналу требуется около 13 мс, чтобы облететь Землю. Вы можете добавить коэффициент 1,5 или около того, потому что сигналы в оптическом волокне движутся медленнее, чем сигналы в воздухе, и еще одно увеличение, потому что сигналы не передаются по прямым линиям. Но, в конце концов, вы можете видеть, что основное ограничение заключается не в том, как быстро распространяются сигналы, а в том, сколько нужно обработать, чтобы поместить эти сигналы в провода и снова их отключить. 3109
Фотон
12
Ваш расчет отключен в десять раз, это ~ 130 мс для полного круга.
Turbo J
6
Это не прямой ответ на ваш вопрос, так как речь идет больше о мониторах, но Джон Кармак рассказывает, почему трансатлантический пинг быстрее, чем отправка пикселя на экран. superuser.com/q/419070/2940
Dhaust
1
Кроме того, обратите внимание, что программы с высокой нагрузкой на сеть ( особенно видеоигры) реализуют функции, снижающие восприятие задержки. Тривиальный пример игры - экстраполяция положения объекта в зависимости от того, куда он движется.
Миколак,
1
@ Барт, ты прав, я должен был комментировать перед кофе в тот день. Но Turbo J уже указывал на это 3 года назад.
Фотон

Ответы:

22

Это не то, что может ответить в одном посте, один человек. Тем не менее, я надеюсь, что этот ответ предоставляет достаточно информации и ссылок, чтобы быть полезными.

Важно понимать, как сигналы передаются через Интернет. Однако обратите внимание, что из-за шума и огромного количества пользователей один и тот же сигнал должен быть закодирован, декодирован, повторно передан и т. Д., Поэтому время, необходимое для обработки, на много порядков больше, чем фактический электрический сигнал должен пройти. Также имейте в виду, что за миллисекунду это очень большое количество времени для компьютера; GeForce Quadro K6000 видеокарта может выполнять 5.000.000.000+ операций с плавающей точкой в том , что много времени (5196 GFlops раз 1ms).

Проводящие кабели:

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

Скажем, у вас есть 3 электрона в линии (предположим, одномерное пространство). Двигайся первым немного. Расстояние от первого до второго становится немного меньше. Электростатическая сила на них становится немного больше. Согласно закону Кулона это: где:F- величина силы,ke- кулоновская постоянная,q1иq2- заряд каждой из двух частиц и, наконец,r2- расстояние между ними.

F=keq1q2r2
Fkeq1q2r2

Когда первая частица движется ко второй, электростатическая сила увеличивается почти мгновенно. Это заставляет вторую частицу двигаться немного к третьей и т. Д.

«Почти мгновенно» фактически означает «со скоростью света » ( ).c=299,792,458m/s

В проводящем проводе находится огромное количество электронов, и физика немного сложнее, но суть в том, что сигнал проходит через проводник «почти мгновенно», но медленнее, чем .c

Оптоволокно:

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

Беспроводная сеть:

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

Умные способы кодирования информации в электрические сигналы:

Недостаточно, чтобы импульс напряжения достиг другого конца провода; это напряжение для передачи некоторой информации. Акт кодирования информации посредством модификации сигнала несущей на основе информации, которая должна быть передана (переносится, следовательно, имя носителя), называется модуляцией .

Умные способы делить одни и те же каналы:

Все эти каналы связи должны быть соединены, и информация должна надежно перемещаться по этой обширной сети. Первоначально, чтобы два узла взаимодействовали друг с другом, они должны зарезервировать несколько кабелей, образующих путь от узла A к узлу B. Ни один другой узел не сможет использовать этот же путь. Это называется коммутацией каналов . Прорывом, сделавшим такую ​​обширную сеть, как Интернет, стала возможность для нескольких узлов совместно использовать один конкретный канал связи. Это совместное использование было включено путем коммутации пакетов, Вместо того, чтобы зарезервировать канал только для двух узлов, каждый узел просто проверяет, свободна ли шина, затем передает пакет, содержащий данные и информацию о назначении (и некоторые другие вещи), а затем освобождает канал. Пакеты должны найти свое назначение, и это называется маршрутизацией пакетов , что является еще одним важным вопросом. Маршрутизация и необходимость модуляции - это главная причина, по которой пакету требуется «так много времени», чтобы достичь пункта назначения по сравнению с тем, как быстро распространяются электромагнитные волны. Маршрутизация также необходима для всех этих пользователей, чтобы сосуществовать в одной сети.

Интернет:

Все эти вещи, наряду со многими другими технологиями, используются вместе, чтобы сформировать Интернет .

Компенсация отставания:

Во многих приложениях, включая конкурирующие видеоигры, задержка в несколько миллисекунд будет неприемлемой, особенно когда серверу необходимо зарегистрировать «попадание». Вот где компенсация отставания вступает в силу. Один из используемых методов включает в себя сохранение сервером краткой истории каждой позиции объекта и состояния анимации. Затем выполните ряд тестов и симуляций физики, чтобы увидеть, произойдет ли «попадание», когда игрок «выстрелит» из своего оружия, основываясь на задержке, скорости и состоянии анимации каждого объекта плюс геометрия мира.

Evan
источник
4
Итак, я думаю, что электричество, протекающее через проводящие кабели, можно сравнить с колыбелью Ньютона? Потому что энергия передается через все шары очень быстро на другую сторону. Ох и большое спасибо за подробное разъяснение.
Кэм Джонс
2
@Skateguy, это неплохая аналогия в том смысле, что электромагнитная энергия распространяется вдоль проводника намного быстрее, чем отдельные электроны.
Альфред Центавра
4
Лучшая аналогия, которую я видел, если вы живете в большом городе, это то, что электричество путешествует как пробелы между автомобилями в пробке, в то время как электрон путешествует как машины в пробке. В следующий раз, когда вы застрянете в пробке, обратите внимание на то, как разрыв проходит по линии в рябь, в противоположном направлении от движения автомобиля, гораздо быстрее, чем ваш автомобиль.
Slebetman
Хорошая аналогия. Одна маленькая вещь, хотя. c = 3e8 м / с, не c = 3e8 км / с
magu_
1
Я зарегистрировался, чтобы одобрить этот ответ. Отличная работа, приятно читать.
Gintas_
32

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

Вы упоминаете видеоигры. Разработчики игр ХОРОШО осознают тот факт, что между игроками существует значительная задержка, поэтому они выполняют несколько хитростей. Одна из них заключается в том, что клиент догадывается об определенной информации, которую он еще не получил от сервера / других игроков. Например, ваш клиент знает позицию и скорость вашего оппонента, скажем, 50 мс назад. Таким образом, он экстраполирует и говорит: «Если его движение похоже на это, он, вероятно, уже здесь», и вы видите эту предсказанную позицию. В большинстве случаев это довольно точно (вероятно, из-за усилий, приложенных программистами к этому), и на самом деле такое ощущение, что задержки нет. В других случаях это неточно, и вам кажется, что игрок был застрелен, когда он действительно находился в другом положении, чем то, что предсказала ваша консоль.

С другой стороны, большинство дисплеев работают на частоте около 60 Гц, а некоторые выполняют так называемую двойную буферизацию. Я не буду вдаваться в подробности, но здесь вводится задержка до 33 мс между моментом, когда процессор отображает кадр и когда он фактически отображается. Большинство людей не замечают этого, поэтому я думаю, что разумно предположить, что даже если задержка в сети была эквивалентна 33 мс, вы могли бы воспринимать это мгновенно, даже без каких-либо хитростей программирования.

Таким образом, Интернет не обязательно "быстрый". Но умные люди делают умные вещи, чтобы заставить его выглядеть так, как будто это быстрее, чем на самом деле. Если вам нужна дополнительная информация, вы можете попросить людей на gamedev.stackexchange.com .

Ponkadoodle
источник
2
Это определенно помогает мне думать об этом по-другому, спасибо, наверное, я задавал два вопроса в одном.
Кэм Джонс
1
Это реальная точка зрения. Дело не в том, что информация передается «мгновенно», просто в том случае, если сценарий постоянно действует на всех подключенных компьютерах, вы будете воспринимать их как мгновенные. Отличным примером этого являются игры RTS - хотя пользовательский ввод просто не может быть быстрее, чем задержка соединения (на самом деле, он даже медленнее, чем это), игроки не могут это заметить, потому что входы применяются одновременно. для всех них. Поэтому, если ввод приводит к смерти устройства на моем компьютере, он также будет отображаться на компьютере моего друга.
Луаан
1
+1, поскольку некоторые из тех, кто работал над несколькими проектами по разработке многопользовательских игр, решая проблемы с задержкой (чтобы соединение с вашими оппонентами появлялось мгновенно) , занимают, по меньшей мере, 70% работы в коде соединения. Подобные вещи происходят в ритм-играх для борьбы с задержкой с вашим контроллером. Вкратце: разработчики игр обманывают, чтобы дать вам (обычно) лучший опыт.
Брайан С.
Если бы я мог выбрать 2 ответа, я бы выбрал, но, поскольку в этом ответе не упоминается электрическая часть, я должен выбрать другой.
Кэм Джонс
1
Некоторые игры также преднамеренно показывают позиции других игроков примерно 200 мс назад. Ваш клиент может знать свою позицию только 50 мс назад, но если перерыв составляет менее 150 мс, он все равно будет двигаться плавно. (Игры движка Source делают это, хотя я не знаю точную задержку)
user253751
5

Я удивлен, что люди упоминают только модуляцию (процесс, который изменяет «несущую» с более высокой энергией, которую можно легко излучать на большие расстояния в зависимости от сигнала) в качестве дополнительного фактора, а не ключевого элемента в увеличении размера данных линий связи. Помните те модемы 54kbps в начале интернета? Когда появились модемы ADSL, произошло мгновенное увеличение данных в двадцать раз, в основном из-за используемой модуляции: с QAM битрейт стал выше, чем скорость передачи символов (тактовых импульсов) (с использованием различных амплитуд и фаз), как при подгонке большего количества вещей в одном и том же ведре, путешествующем с одинаковой скоростью, просто придумав способ, как их устроить. И мы еще не закончили, многие другие уже существуют или изучаются ...

введите описание изображения здесь введите описание изображения здесь

a) Карта состояний модуляции QAM , одна из радиочастотных модуляций. b) Как скорость передачи символов может отличаться от передачи данных, например, с многоуровневой амплитудной модуляцией (предком FM), одним из компонентов QAM (другим является фаза, очень связано с FM).

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

Мистер Мистер
источник
Честно говоря, я проигнорировал это, потому что мой ответ касался только скорости (как в случае задержки), а не пропускной способности. Я знаю, что в настоящее время используются две взаимозаменяемости (скорость и пропускная способность), хотя технически это два измерения передачи данных. Поскольку задержка на самом деле не является чем-то, что вы можете сделать как конечный пользователь, и лишь в очень ограниченном объеме как поставщик услуг, она обычно игнорируется всеми, кроме онлайн-геймеров, которым нужна обратная связь в реальном времени об их игровом процессе и финансовые учреждения, которым необходимо время отклика в миллисекундах для торговли деривативами.
RJR
Да, об этом мой последний абзац, но автор вопроса задал общий вопрос, прежде чем приводить пример, давайте не будем слишком сосредоточиваться на этом примере.
Мистер Мистер
3

Интернет - это сеть взаимосвязанных маршрутизаторов, которые пересылают интернет-трафик (пакеты) между ними, используя протокол маршрутизации, который, как правило, пытается выбрать самый короткий / быстрый маршрут.
В настоящее время большинство маршрутизаторов подключены через оптическое волокно, особенно когда расстояние между маршрутизаторами превышает несколько десятков или метров или когда скорости между маршрутизаторами высоки (1, 10 или даже 40 Гбит / с), это в настоящее время включает в себя почти каждый маршрутизатор, который является частью Интернета. Заметным исключением, вероятно, является ваш домашний маршрутизатор / модем и т. Д.
В любом случае скорость распространения сигналов через волокно или электрический кабель близка к скорости света. Таким образом, теоретически вы можете получить пакет из Мельбурна, Австралия, до Ангра-де-Эроижму, Азорские острова (это почти антиподы) примерно за 70 мс. Теперь давайте посмотрим на реальный пример. Там есть служебная программа 'traceroute', которая отслеживает ваши пакеты от маршрутизатора к маршрутизатору и удобно выводит приблизительную задержку между каждым переходом. (Обратите внимание, что время im ms - «туда-обратно» - так что в одну сторону это половина в теории):

  7   127 ms   143 ms   139 ms  i-0-1-0-0.sydp01.bi.telstraglobal.net [202.84.220.218]
  8   111 ms   113 ms    64 ms  i-0-5-0-2.sydp-core02.bi.telstraglobal.net [202.84.220.217]
  9   167 ms   201 ms   210 ms  i-0-3-0-6.paix-core01.bx.telstraglobal.net [202.84.140.194]
 10   156 ms   158 ms   188 ms  i-0-0-0-5.paix02.bi.telstraglobal.net [202.84.251.18]
 11   204 ms   206 ms   175 ms  80.157.128.205
 12   537 ms   512 ms   593 ms  mad-sa3-i.MAD.ES.NET.DTAG.DE [217.5.95.173]
 13   554 ms   552 ms   579 ms  80.157.129.10
 14   544 ms   569 ms   545 ms  10.255.26.254
 15   568 ms   568 ms   538 ms  catvaweb.cabotva.net [81.20.240.40]

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

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

RJR
источник
Traceroute дает RTT (время прохождения туда-обратно), что примерно в 2 раза больше задержки.
generalnetworkerror
@generalnetworkerror хороший момент, я добавил это к ответу.
RJR
2

и они умирают почти мгновенно

По чем? Самая быстрая скорость, с которой может распространяться влияние,с186,000миль в секунду. Пакеты данных перемещаются по оптоволокну медленнее, и внутри маршрутизаторов, коммутаторов и т. Д. Имеется задержка

Для передачи пакета данных через интернет-инфраструктуру на другую сторону Земли, возможно, потребуется несколько десятков миллисекунд или около того, но на самом деле это «вечность» по сравнению с мгновенной .

Например, некоторые частицы, созданные на большом адронном коллайдере, распадаются примерно10-23s,

Другими словами, для того, чтобы «убить» своего «врага» по всему миру, требуется примерно на 100 000 000 000 000 000 000 больше времени, чем для того, чтобы некоторые частицы распались на LHC.

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

Я подумал, что ты когда-нибудь захочешь обдумать это.

Альфред Центавра
источник
1
По моим глазам и по убитому корму. и я никогда не говорил мгновенно, я говорил почти мгновенно, так что да, я уже немного осознавал, о чем вы говорите. И разве это не относительный и не зависимый от предмета под рукой? Я очень ценю, что вы ответили, хотя. Извините, я не очень разбираюсь в этом вопросе, но не могли бы вы объяснить, что означают буква C и символ фанки? Я учился в школе, но давно забыл, у меня нет проблем с поиском, просто подумал, что задавать вопросы не повредит.
Кэм Джонс
11
Я не понимаю, как это обсуждение семантики является ответом на вопрос. Вы только что подтвердили, что, да, пакеты, путешествующие «через Интернет», занимают всего 10 мс. ОП спросила, как это так. Я думаю, что это заслуживает небольшого объяснения того, как пакеты данных преобразуются из электрических в оптические и наоборот, и как маршрутизаторы пересылают пакеты на высоких скоростях.
RJR
8
Вы дали ответ с скрытым тоном элитарности в отношении его определения «почти мгновенно». Парень пришел сюда, чтобы задать простой, ясный и честный вопрос об электричестве. Нет причин преуменьшать его восприятие того, что несколько миллисекунд можно назвать «почти мгновенными». Я всегда удивляюсь тому, как я могу анализировать некоторые следы на осциллографе, а затем осознавать, что взаимодействие, которое я наблюдал, происходило в невероятно короткий промежуток времени. Я рад, что кто-то еще может удивляться этому тоже.
kjgregory
2
На самом деле довольно легко интерпретировать снисходительность здесь, на самом деле - там или нет, намеревался или нет. Мне просто пришлось щуриться, чтобы этот пост не воспринимался как бесполезный придирчивый выбор слов ОП. И даже это заняло пару попыток.
Цао
2
@ Альфред: Главным образом, чтобы вы знали, что формулировка вашего поста позволяет легко неправильно понять ваши намерения. Делайте с этой информацией, что вы будете. Но не делайте вид, что поражены, когда люди не понимают.
Цао
1

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

Майкл Мартинес
источник
1

Это в основном относительно скорости света.

Теоретический предел Амстердама Нью-Йорка = 40 мс
Интернет-предел Амстердама Нью-Йорка = 82 мс

Теоретический предел Амстердама Аделаида = 130 мс
Интернет-предел Амстердама Аделаида = 320 мс

От Парижа до Нью-Йорка, как летит птица, свет занимает около 20 мс. таким образом, идеальное время Ping будет 40 мс. В стекловолокне свет медленнее на 31%. Кроме того, свет в оптическом волокне отражается таким образом \ / \ / \ /, что удлиняет маршрут. Добавьте к этому время маршрутизации оборудования. самый быстрый пинг из Парижа в Нью-Йорк в настоящее время составляет около 82 мс.

От Амстердама до Аделаиды - 320 мс, возможно, через 100 лет он будет закрыт теоретическим пределом, допускаемым законами физики, т. Е. 130 мс, для 1550 км, это уже близко к теоретическому пределу.

Вот список скоростей интернета: https://wondernetwork.com/pings

Добавьте к этому понятие пропускной способности.

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

com.prehensible
источник
1

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

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

Дмитрий Григорьев
источник
0

Когда я читаю утверждения, есть два (связанных) вопроса с одним и тем же ответом: 1) Интернет может передавать данные «быстро», поскольку он использует различные формы передачи электромагнитной (ЭМ) энергии, а ЭМ распространяется очень быстро ( приблизительно 186 000 миль / с), 2) электричество может "течь быстро", потому что это электромагнитная энергия, а ЭМ распространяется очень быстро.

Guill
источник