WEBVTT 00:00:00.120 --> 00:00:07.950 [звучить пісня і рахунок: 7, 6, 5, 4, 3, 2, 1] Інтернет: пакети, маршрутизація й надійність 00:00:07.950 --> 00:00:13.650 Привіт, мене звати Лінн Рут. Я системний інженер у Spotify, і я визнаю, що часто сприймаю 00:00:13.650 --> 00:00:18.970 надійність інтернету як належне. Обсяги інформації в інтернеті, які щомиті 00:00:18.970 --> 00:00:23.170 збільшуються, просто вражають. Але як можна транспортувати кожен фрагмент 00:00:23.170 --> 00:00:29.080 даних надійно? Скажімо, ви хочете відтворити пісню на Spotify. Може здаватися, 00:00:29.080 --> 00:00:33.989 що ваш комп'ютер підключається напряму до серверів Spotify, а Spotify надсилає вам 00:00:33.989 --> 00:00:39.410 пісню на спеціальну лінію. Але насправді інтернет працює не так. Якби Інтернет був 00:00:39.410 --> 00:00:43.640 прямим, спеціальним зв’язком, він не міг би працювати, коли в ньому одночасно 00:00:43.640 --> 00:00:48.050 мільйони користувачів. Особливо якщо немає гарантії, що кожен провід і комп’ютер 00:00:48.050 --> 00:00:54.983 працюють постійно й добре. Ні. Передача даних в інтернеті далеко не така пряма. 00:00:54.983 --> 00:01:01.210 Багато років тому, на початку 1970-х, ми з партнером Бобом Каном почали працювати 00:01:01.210 --> 00:01:06.870 над розробкою того, що ми сьогодні називаємо інтернетом. Нам з Бобом надали можливість 00:01:06.870 --> 00:01:13.150 і відповідальність розробляти протоколи інтернету та його архітектуру. Тож ми 00:01:13.150 --> 00:01:19.300 наполегливо працювали над розширенням та еволюцією інтернету, і продовжуємо 00:01:19.300 --> 00:01:26.920 це робити й зараз. Спосіб передачі даних з одного комп'ютера на інший досить цікавий. 00:01:26.920 --> 00:01:30.900 Він не має слідувати конкретним шляхом, адже ваш шлях може змінитися просто 00:01:30.900 --> 00:01:37.230 посеред комунікації між двома комп'ютерами. Інформація в інтернеті переходить з одного 00:01:37.230 --> 00:01:42.050 комп'ютера на інший у так званому "інформаційному пакеті", і такий пакет 00:01:42.050 --> 00:01:47.510 транспортується в інтернеті з одного місця в інше, майже як ви самі їдете в машині 00:01:47.510 --> 00:01:51.740 з одного місця в інше. Залежно від завантаженості руху або дорожніх умов, 00:01:51.740 --> 00:01:59.000 ви можете забажати або бути змушеними їхати щоразу різними шляхами. І так само, 00:01:59.000 --> 00:02:03.980 як ви перевозите всілякі речі в машині, за допомогою IP-пакетів можна надсилати 00:02:03.980 --> 00:02:10.359 багато видів цифрової інформації. Але є деякі обмеження. Що робити, якщо, скажемо, 00:02:10.359 --> 00:02:14.200 вам потрібно перевезти космічний шатл з його будівельного майданчика до місця запуску? 00:02:14.200 --> 00:02:17.910 Шатл не поміститься в одну вантажівку, тому його потрібно розібрати на частини 00:02:17.910 --> 00:02:23.099 й перевезти кількома вантажівками. Усі вони можуть поїхати різними маршрутами й дістатися 00:02:23.099 --> 00:02:28.109 до місця в різний час. Але щойно всі частини прибудуть, ви зможете зібрати шатл, і він 00:02:28.109 --> 00:02:34.329 буде готовий до запуску. В інтернеті деталі передаються аналогічно. Якщо ви 00:02:34.329 --> 00:02:40.090 хочете надіслати другові або завантажити на веб-сайт дуже велике зображення, воно 00:02:40.090 --> 00:02:44.819 може складатися з десятків мільйонів біт одиниць і нулів, що забагато для передачі 00:02:44.819 --> 00:02:49.810 в одному пакеті. Оскільки ці дані на комп'ютері, комп'ютер, що надсилає зображення, може 00:02:49.810 --> 00:02:55.039 швидко розбити його на сотні або навіть тисячі менших частин, тобто пакетів. 00:02:55.039 --> 00:02:59.540 На відміну від вантажівок, у цих пакетів немає водіїв, і вони не обирають свій маршрут. 00:02:59.540 --> 00:03:04.650 Кожен пакет має інтернет-адреси: звідки він іде й куди прямує. Спеціальні комп’ютери 00:03:04.650 --> 00:03:09.040 в інтернеті під назвою "маршрутизатори" діють як менеджери трафіку, щоб підтримувати 00:03:09.040 --> 00:03:13.829 безперебійне переміщення пакетів по мережі. Якщо один маршрут перевантажений, окремі 00:03:13.829 --> 00:03:18.380 пакети можуть передаватися іншими маршрутами в інтернеті й прибувати до призначення 00:03:18.380 --> 00:03:26.099 в інший час або навіть перемішаними. Як це працює? Як частина інтернет-протоколу, 00:03:26.099 --> 00:03:31.169 кожен маршрутизатор відстежує кілька шляхів для відправки пакетів і вибирає найдешевший 00:03:31.169 --> 00:03:36.509 доступний шлях для кожного фрагмента даних на основі IP-адреси призначення пакету. 00:03:36.509 --> 00:03:42.120 "Найдешевший" у цьому випадку не означає за вартістю, але за часовими й нетехнічними 00:03:42.120 --> 00:03:46.439 факторами, такими як політика й відносини між компаніями. Найчастіше найкращий маршрут 00:03:46.439 --> 00:03:51.910 передачі даних не обов'язково найбільш прямий. Наявність варіантів шляхів робить мережу стійкою 00:03:51.910 --> 00:03:57.460 до несправностей. Тобто мережа надсилатиме пакети навіть якщо є катастрофічні несправності. 00:03:57.460 --> 00:04:05.659 Це ключовий принцип інтернету: надійність. А що ж робити, якщо ви запитуєте певні дані, 00:04:05.659 --> 00:04:09.577 але не всю інформацію було доставлено? Скажімо, ви хочете послухати пісню. 00:04:09.577 --> 00:04:14.939 Як переконатися в тому, що всі дані буде доставлено, щоб пісня відтворилася? 00:04:14.939 --> 00:04:19.470 Представляємо нашого нового друга, TCP, або протокол управління передачею. 00:04:19.470 --> 00:04:27.010 TCP управляє надсиланням та отриманням усіх даних у пакетах. Це ніби лист з підтвердженням. 00:04:27.010 --> 00:04:30.909 Коли ви запитуєте пісню на своєму пристрої, Spotify надсилає пісню, розбиту на багато 00:04:30.909 --> 00:04:36.270 пакетів. Коли ваші пакети надійдуть, TCP проводить повну інвентаризацію й надсилає 00:04:36.270 --> 00:04:42.580 підтвердження отриманння кожного пакета. Якщо всі пакети є, TCP "підписує" факт доставки — 00:04:42.580 --> 00:04:54.819 і все. (музика) Якщо TCP виявить, що деякі пакети відсутні, він не "підпише" доставку, інакше 00:04:54.819 --> 00:04:59.930 ваша пісня не звучатиме як слід, адже частина пісні може бути відсутньою. Spotify 00:04:59.930 --> 00:05:04.820 повторно надсилатиме кожний відсутній або неповний пакет. Щойно TCP перевірить доставку 00:05:04.820 --> 00:05:13.370 кількох пакетів для цього запиту пісні, ваша пісня почне відтворюватися. Найкраще в системах 00:05:13.370 --> 00:05:17.195 TCP і маршрутизаторів — це можливість їх масштабування. Вони працюватимуть і з 8, 00:05:17.195 --> 00:05:22.209 і з 8 мільярдами пристроїв. Саме завдяки цим принципам стійкості й резервування, що більше 00:05:22.209 --> 00:05:28.069 маршрутизаторів ми додаємо, то надійнішим стає інтернет. Чудово й те, що ми можемо масштабувати 00:05:28.069 --> 00:05:32.419 й розширювати інтернет, не перериваючи обслуговування користувачів. Інтернет 00:05:32.419 --> 00:05:38.610 складається з сотень тисяч мереж і мільярдів комп'ютерів і пристроїв, підключених фізично. 00:05:38.610 --> 00:05:44.000 Ці різні системи, що й складають інтернет, з'єднуються між собою, спілкуються між собою 00:05:44.000 --> 00:05:50.849 і працюють разом завдяки узгодженим стандартам передачі даних в інтернеті. 00:05:50.849 --> 00:05:54.940 Обчислювальні пристрої або маршрутизатори в Інтернеті допомагають усім пакетам 00:05:54.940 --> 00:06:01.312 діставатися до пункту призначення, де вони, за потребою, збираються в певному порядку. 00:06:01.312 --> 00:06:06.251 Це відбувається мільярди разів на день, незалежно від того, чи ми надсилаємо 00:06:06.251 --> 00:06:10.440 електронного листа, відвідуємо веб-сторінку, спілкуємось у відеочаті, користуємося 00:06:10.440 --> 00:06:15.220 мобільним додатком, або ж датчики чи пристрої в інтернеті спілкуються між собою.