-
[Звучит песня и счет: 7, 6, 5, 4, 3, 2, 1]
Интернет: пакеты, маршрутизация и надежность
-
Привет, меня зовут Линн Рут. Я системный инженер в
Spotify, и я признаю, что часто воспринимаю
-
надежность интернета как должное. Объемы информации
в интернете, которые ежесекундно
-
увеличиваются, просто поражают. Но как можно
транспортировать каждый фрагмент
-
данных надежно? Скажем, вы хотите воспроизвести
песню на Spotify. Может показаться,
-
что ваш компьютер подключается напрямую к серверам
Spotify, а Spotify присылает вам
-
песню на специальную линию. Но на самом деле интернет
работает не так. Если бы Интернет был
-
прямым, специальной связью, он не мог бы работать,
когда в нем одновременно
-
миллионы пользователей. Особенно если нет гарантии,
что каждый провод и компьютер
-
работают постоянно и хорошо. Нет. Передача данных
в интернете далеко не такая прямая.
-
Много лет назад, в начале 1970-х, мы с партнером
Бобом Каном начали работать
-
разработкой того, что мы сегодня называем
интернетом. Нам с Бобом предоставили возможность
-
и ответственность разрабатывать протоколы интернета
и его архитектуру. Поэтому мы
-
настойчиво работали над расширением и эволюцией
интернета, и продолжаем
-
это делать и сейчас. Способ передачи данных с одного
компьютера на другой довольно интересный.
-
Он не должен следовать конкретным путем, ведь ваш
путь может измениться просто
-
среди коммуникации между двумя компьютерами. Информация
в интернете переходит из одного
-
компьютера на другой в так называемом "информационном
пакете", и такой пакет
-
транспортируется в интернете с одного места в другое,
почти как вы сами едете в машине
-
из одного места в другое. В зависимости от загруженности
движения или дорожных условий,
-
вы можете захотеть или быть вынужденными ехать каждый
раз разными путями. И так же,
-
как вы перевозите всевозможные вещи в машине, с
помощью IP-пакетов можно присылать
-
многие виды цифровой информации. Но есть некоторые
ограничения. Что делать, если, скажем,
-
вам нужно перевезти космический шаттл с его строительной
площадки к месту запуска?
-
Шаттл не поместится в один грузовик, поэтому его
нужно разобрать на части
-
и перевезти несколькими грузовиками. Все они могут
поехать разными маршрутами и добраться
-
к месту в разное время. Но как только все части
прибудут, вы сможете собрать шаттл, и он
-
будет готов к запуску. В интернете детали передаются
аналогично. Если вам
-
необходимо отправить другу или загрузить на сайт
очень большое изображение, оно
-
может состоять из десятков миллионов бит единиц и
нулей, многовато для передачи
-
в одном пакете. Поскольку эти данные на компьютере,
компьютер, направляет изображение может
-
быстро разбить его на сотни или даже тысячи меньших
частей, то есть пакетов.
-
В отличие от грузовиков, в этих пакетов отсутствуют
водители, и они не выбирают свой маршрут.
-
Каждый пакет имеет интернет-адреса: откуда он идет
и куда направляется. специальные компьютеры
-
в интернете под названием "маршрутизаторы" действуют
как менеджеры трафика, чтобы поддерживать
-
бесперебойное перемещение пакетов по сети. Если один
маршрут перегружен, отдельные
-
пакеты могут передаваться другим маршрутам в интернете
и прибывать к назначению
-
в другое время или даже перемешанными. Как это
работает? Как часть интернет-протокола,
-
каждый маршрутизатор отслеживает несколько путей
для отправки пакетов и выбирает самый дешевый
-
доступный путь для каждого фрагмента данных на основе
IP-адреса назначения пакета.
-
"Самый дешевый" в данном случае не означает по
стоимости, но по временным и нетехническими
-
факторами, такими как политика и отношения между
компаниями. Чаще всего лучший маршрут
-
передачи данных не обязательно наиболее прямой.
Наличие вариантов путей делает сеть устойчивой
-
к неисправностям. То есть сеть посылать пакеты даже
если есть катастрофические неисправности.
-
Это ключевой принцип интернета: надежность. А что
же делать, если вы спрашиваете определенные
данные,
-
но не всю информацию доставили? Скажем, вы хотите
послушать песню.
-
Как убедиться в том, что все данные будут доставлены,
чтобы песня повторилась?
-
Представляем нашего нового друга, TCP или протокол
управления передачей.
-
TCP управляет передачей и получением всех данных в
пакетах. Это как письмо с подтверждением.
-
Когда вы спрашиваете песню на своем устройстве,
Spotify направляет песню, разбитую на многие
-
пакетов. Когда ваши пакеты поступят, TCP проводит
полную инвентаризацию и направляет
-
подтверждение отриманння каждого пакета. Если все
пакеты есть, TCP "подписывает" факт доставки -
-
и все. (Музыка) Если TCP обнаружит, что некоторые
пакеты отсутствуют, он не "подпишет" доставку,
иначе
-
ваша песня не будет звучать как следует, ведь часть
песни может отсутствовать. Spotify
-
повторно посылать каждый отсутствует или неполный
пакет. Только TCP проверит доставку
-
нескольких пакетов для этого запроса песни, ваша
песня начнет воспроизводиться. Лучше всего в
системах
-
TCP и маршрутизаторов - это возможность их
масштабирования. Они будут работать и с 8,
-
и с 8 миллиардами устройств. Именно благодаря этим
принципам устойчивости и резервирования, что
больше
-
маршрутизаторов мы добавляем, то надежнее становится
интернет. Замечательно и то, что мы можем
масштабировать
-
и расширять интернет, не прерывая обслуживания
пользователей. Интернет
-
состоит из сотен тысяч сетей и миллиардов компьютеров
и устройств, подключенных физически.
-
Эти различные системы, и составляют интернет,
соединяются между собой, общаются между собой
-
и работают вместе благодаря согласованным стандартам
передачи данных в интернете.
-
Вычислительные устройства или маршрутизаторы в
Интернете помогают всем пакетам
-
добираться до пункта назначения, где они, по
необходимости, собираются в определенном порядке.
-
Это происходит миллиарды раз в день, независимо от
того, мы отправляем
-
электронное письмо, посещаем веб-страницу, общаемся
в видеочате, пользуемся
-
мобильным приложением, или датчики или устройства
в интернете общаются между собой.