Як Інтернет здатний так швидко передавати дані?


20

Я не впевнений, чи я в потрібному місці, чи ні, але я подумав, що хтось тут може дати хорошу відповідь. Хочу знати, як електрика здатна стікати так швидко. Наприклад, відеоігри в даний час, ви можете знімати когось у всьому світі, і вони вмирають майже миттєво. Як електрика здатна це зробити? Я намагався google це питання, але виявив погані результати, тому я тут.


9
Окружність землі становить близько 40 000 км. Електромагнітні хвилі рухаються зі швидкістю світла, яка становить м / с. Це означає, що потрібен електронний сигнал близько 13 мс для обходу землі. Ви можете додати коефіцієнт 1,5 або більше, оскільки сигнали в оптичному волокні рухаються повільніше, ніж сигнали у повітрі, і ще більше, оскільки сигнали не направляються прямими. Зрештою, ви бачите, що головне обмеження полягає не в тому, як швидко рухаються сигнали, а в тому, скільки обробці потрібно виконати, щоб поставити ці сигнали на дроти і знову їх вимкнути. 3109
The Photon

12
Ваш розрахунок вимикається в десять разів, це ~ 130 мс для повного кола.
Turbo J

6
Це не пряма відповідь на ваше запитання, оскільки це більше стосується моніторів, але це те, що Джон Кармак скидає знання про те, чому трансатлантичний пінг швидше, ніж надсилання пікселя на екран. superuser.com/q/419070/2940
Дхаст

1
Також зауважте, що важкі в мережі програми ( особливо відеоігри) реалізують функції, що зменшують сприйняття затримки. Тривіальним прикладом гри є екстраполяція позиції суб'єкта на основі того, куди він рухається.
mikołak

1
@Bart, ти маєш рацію, я, мабуть, коментував перед кавою того дня. Але Turbo J вже вказав це 3 роки тому.
The Photon

Відповіді:


22

Це не те, на що можна відповісти в одному дописі однією людиною. Однак, я сподіваюся, що ця відповідь надає достатньо інформації та посилань, щоб бути корисною.

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

Провідні кабелі:

Самі ж електрони не так швидко рухаються, оскільки відскакують всередині провідних кабелів. Однак електроенергія не рухається на основі електронів, що підстрибують один на інший, а відштовхує другий за допомогою електромагнітної взаємодії:

Скажімо, у вас є 3 електрони в рядці (припустимо один розмірний простір). Перемістіть перший трохи. Відстань першого до другого стає трохи меншим. Електростатична сила на них стає трохи більшою. Згідно із Законом Кулона, це: де:F- величина сили,ke- постійна Кулона,

F=keq1q2r2
Fke і q 2 - заряд кожної з двох частинок і, нарешті, r 2 - відстань між ними.q1q2r2

Коли перша частинка рухається до другої, електростатична сила збільшується майже миттєво. Це змушує другу частинку трохи рухатися до третьої тощо.

"Майже миттєво" насправді означає "зі швидкістю світла " ( ).c=299,792,458m/s

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

Оптичне волокно:

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

Бездротовий:

Нарешті, супутники зв'язку , а також численні типи бездротових посилань використовуються для передачі сигналів, а також бездротових, використовуючи велику кількість протоколів передачі, модуляції та частоти. У цьому випадку сигнали передаються за допомогою електромагнітного випромінювання . Це дуже складна тема, і я не можу все це охопити.

Розумні способи кодування інформації в електричні сигнали:

Недостатньо, щоб імпульс напруги дійшов до іншого кінця проводу; що напруга є для передачі деякої інформації. Акт кодування інформації шляхом зміни несучого сигналу на основі інформації, що передається (переноситься, звідси і ім'я носія), називається модуляцією .

Розумні способи спільного використання одних і тих же каналів:

Усі ці канали зв'язку потрібно підключити, а інформація повинна надійно подорожувати по цій величезній мережі. Спочатку, щоб два вузли спілкувалися один з одним, вони резервували б кілька кабелів, що утворюють шлях від вузла А до вузла В. Жоден інший вузол не міг би використовувати цей самий шлях. Це називається комутацією ланцюга . Проривом, який зробив можливим таку розгалужену мережу, як Інтернет, була можливість численних вузлів ділитися одним конкретним каналом зв'язку. Цей спільний доступ було ввімкнено комутацією пакетів. Замість того, щоб резервувати схему лише для двох вузлів, кожен вузол просто перевіряє, чи шина вільна, потім передає пакет, що містить дані та інформацію про призначення (та деякі інші речі), а потім випускає канал. Пакети повинні знайти своє призначення, і це називається маршрутизацією пакетів , що є ще одним величезним предметом. Маршрутизація та необхідність модуляції є основною причиною, коли пакет займає «так довго», щоб досягти свого призначення порівняно з тим, як швидко рухаються електромагнітні хвилі. Маршрутизація також необхідна для всіх цих користувачів для співіснування в одній мережі.

Інтернет:

Всі ці речі разом із численними іншими технологіями використовуються разом для формування Інтернету .

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

У багатьох додатках, включаючи конкурентоспроможні відеоігри, затримка на кілька мілісекунд була б неприйнятною, особливо коли серверу потрібно зареєструвати "хіт". Ось де відбувається компенсація відставання . Один із застосованих методів включає сервер, який зберігає коротку історію кожної позиції сутності та стану анімації. Потім виконайте ряд тестів та фізичних симуляцій, щоб побачити, чи не відбудеться "удар", коли гравець "стріляє" зі зброї, виходячи з відставання, швидкості та анімації кожного об'єкта, а також світової геометрії.


4
Тож я гадаю, електрику, що проходить через струмопровідні кабелі, можна порівняти з колискою Ньютона? Тому що енергія передається через усі кульки дуже швидко в іншу сторону. О, і велике спасибі за детальне роз'яснення.
Cam Jones

2
@Skateguy, це не погана аналогія в тому сенсі, що електромагнітна енергія поширюється по провіднику набагато швидше, ніж це роблять окремі електрони.
Альфред Кентаврі

4
Найкраща аналогія, яку я бачив, якщо ви живете у великому місті, - це те, що електроенергія рухається як прогалини між автомобілями в пробці, а електрон рухається, як автомобілі в пробці. Наступного разу, коли ви застрягнете в пробці, зауважте, як зазор рухається по лінії в пульсації, у зворотному напрямку руху автомобіля, набагато швидше, ніж рухається ваш автомобіль.
slebetman

Приємна аналогія. Хоча одна дрібниця. с = 3е8м / с не с = 3е8км / с
магу_

1
Я зареєструвався, щоб пальцем відповісти. Чудова робота, сподобалось її читати.
Gintas_

32

Можливо, це було б краще як коментар, але це занадто довго. Я хотів би звернутися до того, що ваші твердження вказують на те, що ви сприймаєте дані, що передаються майже миттєво, але жодне із представлених вами спостережень насправді не підтверджує, що вони передаються швидко взагалі.

Ви згадуєте відеоігри. Розробники ігор добре знають той факт, що між гравцями існує значна затримка, тому вони витягують кілька хитрощів. Один з них полягає в тому, що клієнт здогадується про певну інформацію, яку він ще не отримав від сервера / інших гравців. Наприклад, ваш клієнт знає позицію та швидкість опонента від, скажімо, 50мс тому. Тож він екстраполює і каже: "якщо його рух такий, він, мабуть, зараз тут", і ви бачите цю прогнозовану позицію. Здебільшого це досить акуратно (ймовірно, завдяки зусиллям, які програмісти доклали до цього), і насправді відчувається, що немає затримок. В іншому випадку це неточно, і вам здається, що гравця застрелили, коли він справді знаходився в іншому положенні, ніж те, що передбачала ваша консоль.

У відповідній примітці більшість дисплеїв працюють близько 60 Гц, а деякі роблять щось, що називається подвійним буферизацією. Я не буду вникати в деталі тут, але це вводить до 33 мс затримки між тим, коли процесор візуалізує кадр, і коли він фактично відображається. Більшість людей цього не помічають, тому я вважаю, що розумно припустити, що навіть якщо затримка в мережі еквівалентна 33мс, ви можете сприймати це як миттєве, навіть без жодних хитрощів програмування.

Підводячи підсумок, Інтернет не обов'язково "швидкий". Але розумні люди роблять розумні речі, щоб вони виглядали так, ніби це швидше, ніж є насправді. Якщо ви хочете отримати додаткову інформацію, ви можете запитати людей на сайті gamedev.stackexchange.com .


2
Це, безумовно, допомагає мені подумати про це по-іншому завдяки, я думаю, я задавав два питання в одному.
Cam Jones

1
Це справжня суть. Справа не в тому, що інформація надходить «миттєво», це лише те, що поки сценарій послідовно розігрується на всіх підключених комп'ютерах, ви будете сприймати їх як миттєві. Прекрасним прикладом цього є ігри RTS - хоча введення користувача просто не може бути швидшим, ніж затримка підключення (насправді це навіть повільніше, ніж це), гравці не можуть помітити, оскільки введення застосовуються в один і той же відносний час для всіх. Отже, якщо введення призводить до загибелі одиниці на моєму комп’ютері, воно також відображатиметься на комп'ютері мого друга.
Луань

1
+1, так як деякі, хто працював над декількома проектами розробки багатокористувацьких ігор, займаючись питаннями затримки (щоб зв’язок з вашими опонентами з'явився миттєвим), мабуть, принаймні 70% роботи в коді підключення. Подібні речі трапляються в ритмічних іграх для боротьби із затримкою з контролером. Коротше кажучи: розробники ігор обманюють, щоб дати вам (зазвичай) кращий досвід.
Брайан S

Якби я міг вибрати 2 відповіді, я би хотів, але, бачачи, що ця відповідь не згадує про електричну її частину, я повинен вибрати іншу.
Cam Jones

1
Деякі ігри також свідомо показують позиції інших гравців від ~ 200 мс тому. Ваш клієнт може знати свою позицію лише 50 хвилин тому, але якщо перерва менша за 150 мс, вони все одно будуть рухатися плавно. (Джерельні ігри Engine Engine роблять це, хоча я не знаю точної затримки)
користувач253751

5

Я здивований, що люди лише згадують модуляцію (процес, що модифікує більш високий енергетичний "носій", який може легко випромінюватися на великі відстані у функції сигналу) як додатковий фактор, а не ключовий елемент у збільшенні передачі даних комунікаційних ліній. Пам'ятаєте ці модеми 54kbps на початку Інтернету? Коли запускалися ADSL-модеми, відбулося негайне збільшення двадцяти разів + передача даних, в основному за рахунок використовуваної модуляції: з QAM бітрейт став вищим за швидкість символу (тактових частот) (використовуючи різні амплітуди та фази), як підходити більше речей у тому ж відрі, що подорожує з однаковою швидкістю, лише вигадавши розумніший спосіб їх влаштувати. І ми ще не закінчили, багато інших вже є або досліджуються ...

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

a) Карта стану модуляції QAM , одна з модуляцій РФ b) Як швидкість символу може відрізнятися від даних, наприклад, з багаторівневою амплітудною модуляцією (прародитель FM), одна з складових QAM (інша - фаза, дуже пов'язані з FM.

Зокрема, для вашої проблеми, окрім спроб передбачити, що роблять гравці, ігри, як правило, надає ваша машина; транспортується лише невелика кількість життєво важливої ​​інформації, така як координати, швидкості тощо. На одній веб-сторінці, мабуть, є більше інформації, ніж це, але справжня проблема - це затримка (особливо для хардкор-геймерів), і вона накопичується з кількістю хабів ваших сигналів відбувається через затримки розповсюдження, серед багатьох інших речей (відстань також є проблемою, оскільки максимально надійні падіння даних із втратами - які збільшуються з відстанню).


Якщо чесно, я проігнорував це, оскільки моя відповідь стосувалася лише швидкості (як затримки), а не пропускної здатності. Я знаю, що в наш час ці двоє використовуються взаємозамінністю (швидкістю та пропускною здатністю, яка є), хоча технічно це два виміри передачі даних. Оскільки затримка насправді не є чим завгодно, як кінцевий користувач, і лише в дуже обмеженому масштабі як постачальник послуг, її, як правило, ігнорують усі, крім онлайн-геймерів, яким потрібні відгуки в режимі реального часу про їх ігровий процес і фінансові установи, яким потрібен мільйонний час реакції на торгівлю деривативами.
RJR

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

3

Інтернет - це мережа взаємопов'язаних маршрутизаторів, які передають Інтернет-трафік (пакети) між ними, використовуючи протокол маршрутизації, який, як правило, намагається пройти найкоротший / швидкий маршрут.
Більшість маршрутизаторів сьогодні підключаються за допомогою оптичного волокна - особливо, коли відстань між маршрутизаторами перевищує декілька 10 або метрів або більше, або коли швидкість між маршрутизаторами висока (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 (є численні веб-сайти, які ви можете знайти в Інтернеті), ви побачите, що маршрут не завжди однаковий, і навіть там, де він є, затримки є повсюдно.
Інтернет-ігрові компанії розміщують свої сервери в тих місцях, де вони мають хороший зв’язок з Інтернетом і можуть укладати угоди з постачальниками послуг, щоб надавати своїм пакетам пріоритет перед іншими. Також деякі інтернет-провайдери можуть робити те саме і надавати пріоритет геймерам (за ціною!). Це можливо тому, що, як бачите, основні затримки в маршрутизаторах, а не у волокні. Для потокового відео це не має значення, для ігор це дуже важливо. Таким чином, постачальники послуг можуть визначати пріоритетність Інтернет-пакетів на основі їх вмісту - надавати відео більше пропускної здатності, але більше затримки, тоді як грі (яким не потрібна велика смуга пропускання) можна надавати пріоритет у черзі маршрутизатора для мінімальних затримок.


Traceroute дає RTT (зворотний час), що становить приблизно в 2 рази затримку.
generalnetworkerror

@generalnetworkerror хороший момент, я додав це до відповіді.
RJR

2

і вони вмирають майже миттєво

c186,000

Для того, щоб пакет даних для розповсюдження через Інтернет-інфраструктуру на інший бік Землі потребує, мабуть, декількох 10 секунд мілісекунд або близько того, але насправді це "вічність" порівняно з миттєвою .

10-23с

Іншими словами, на "вбивство" вашого "ворога" по всьому світу потрібно приблизно 100 000 000 000 000 000 000 більше разів, ніж потрібно, щоб деякі частинки розпадалися на LHC.

Майже миттєво? Порівняно з часовими шкалами деяких взаємодій основних частинок, це набагато довше, ніж обчислений вік космосу порівняно з роком на Землі.

Я думав, що ти можеш коли-небудь задуматися над цим.


1
За моїми очима та за кормом убити. і я ніколи не сказав це моментально, я сказав майже миттєво, Так, так, я вже був дещо усвідомлений, про що ви говорите. І хіба це не є відносним і залежним від предмета? Я дуже вдячний, що ти відповів. Вибачте, що я не більш освічений з цього приводу, але ви б проти зауважити, пояснюючи, на чому позначається С та фанк знак рівності. Я вчився в школі, але давно забув, я не маю проблем шукати їх, просто подумав, що це не завадить запитати.
Cam Jones

11
Я не розумію, як ця дискусія з семантики є відповіддю на питання. Ви щойно підтвердили, що так, пакети, які подорожують "через Інтернет", займають лише 10 мс. ОП запитала, як це так. Я думаю, що це заслуговує на трохи пояснення того, як пакети даних перетворюються з електричних в оптичні і навпаки, і як маршрутизатори пересилають пакети з високою швидкістю.
RJR

8
Ви дали відповідь із заниженим тоном елітарності щодо його визначення "майже миттєво". Хлопець прийшов сюди, щоб задати просте, чітке та чесне запитання про електрику. Немає підстав принижувати його за його уявлення про те, що кілька мілісекунд можна описати як «майже миттєво». Мене завжди дивує те, як я можу розсікати якийсь слід на осцилограмі, а потім усвідомлюю, що взаємодія, яку я спостерігав, відбулася за непомітно короткий проміжок часу. Я радий, що хтось ще може дивуватися цьому.
kjgregory

2
Тут насправді досить легко інтерпретувати поблажливість - є вона чи ні, призначена вона чи ні. Мені довелося примружитися правильно, щоб не сприймати цю посаду як марну гадку щодо вибору слів ОП. І навіть це зайняло пару спроб.
cHao

2
@Alfred: В основному, щоб ви могли знати, що формулювання вашої публікації полегшує неправильне прочитання ваших намірів. Зроби з цією інформацією те, що ти будеш. Але не варто робити вигляд, що дивуєтесь, коли люди неправильно розуміють.
cHao

1

Електрика в основному рухається зі швидкістю світла. в Інтернеті єдині речі, які змусять це трохи уповільнити, - це мережеве обладнання, яке спрямовує інтернет-трафік між вашим домом та домом вашого опонента по всьому світу: до цього обладнання входять такі речі, як маршрутизатори, комутатори та речі, що конвертують електрику на світло (волокно) і назад. Ці речі базуються на дуже швидкій технології (транзити, кремнієві чіпи та інше), тому ефекти мінімальні. Отже, у вас є невелика затримка інформації, яка перекладається зі швидкістю світла. світло від сонця займає 8 хвилин, щоб проїхати 93 мільйони миль, щоб досягти землі, тож коли ви поставите його в цю перспективу, має сенс, що інформація з вашої ігрової консолі "майже миттєво"


1

Це здебільшого відносно світлодіодної швидкості.

Теоретична межа Амстердама Нью-Йорк = 40 мс
Інтернет-обмеження Амстердама Нью-Йорк = 82 мс

Теоретичний ліміт Амстердама Аделаїда = 130 мс
Інтернет-обмеження Амстердама Аделаїда = 320 мс

З Парижа в Нью-Йорк як птах летить, світло займає близько 20 мс. тож ідеальний час пінгу склав би 40 мс. У склі з оптичного волокна світло повільніше на 31%. Крім того, світло в оптичному волокні відбивається так, як це \ / \ / \ /, що робить маршрут довшим. Додайте до цього часи обладнання маршрутизації. найшвидший пінг з Парижа до Нью-Йорка наразі складає близько 82 мс.

Амстердам - ​​Аделаїда - 320 мс, через 100 років, можливо, він буде закритий до теоретичної межі, дозволеної законами фізики, тобто 130 мс, на 1550 км, це вже близько до теоретичної межі.

Ось список швидкостей інтернету: https://wondernetwork.com/pings

Додайте до цього поняття пропускної здатності.

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


1

Кінцева причина, чому онлайн-відеоігри мають такі швидкі часи реакції, тому що все робиться на вашому комп’ютері . Коли ви когось стріляєте, комп'ютер вирішує, що ви вбили опонента, і миттєво показує вам відповідну картину. Він також повідомляє комп’ютер опонента про цю подію, але ви не побачите, що це відбувається із запізненням. Зазвичай обчислення також проводяться на центральному сервері вдруге, щоб запобігти обману. Якщо сервер вирішить, що ви насправді не вбили свого опонента, ви побачите, як вони ожиють через півсекунди.

Час доставки мережі може становити до 300+ мс між віддаленими місцями, і швидкі ігри не можуть бути відтворюваними, якби такі затримки виникали при кожному дії гравця.


0

Коли я читаю твердження, є два (пов'язані) питання з однаковою відповіддю: 1) Інтернет здатний швидко передавати дані, оскільки він використовує різні форми передачі енергії електромагнітного (ЕМ), і ЕМ поширюється дуже швидко ( приблизно 186 000 миль / с), 2) електрика здатна "швидко протікати", оскільки це електромагнітна енергія, і ЕМ поширюється дуже швидко.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.