Книга: В одно касание. Бизнес-стратегии Google, Apple, Facebook, Amazon и других корпораций
Назад: Как приложения могут зарабатывать, не показывая рекламу и не взимая плату с пользователей?
Дальше: Зачем трейдер с Уолл-стрит пробурил Аллеганские горы, чтобы проложить оптоволоконный кабель?

Что общего между передачей данных через интернет и поставками острого соуса?

Итак, теперь мы знаем, как компьютер получает доступ к веб-сайтам через интернет. Но страницы, видео YouTube и сообщения Facebook не телепортируются волшебным образом с веб-сайтов на компьютер.

Все происходит поэтапно. Давайте рассмотрим аналогию – как острый соус оказывается на вашей кухне.

Поставка острого соуса

Допустим, вы живете в Лос-Анджелесе и обожаете острые соусы, поэтому покупаете пятьдесят огромных бутылок у компании Cholula, чей филиал находится прямо в пригороде Нью-Йорка.

Сотрудник Cholula в Нью-Йорке видит ваш заказ. Все пятьдесят бутылок не поместятся в одну коробку, поэтому он упаковывает по пять бутылок в десять коробок. Чтобы убедиться в том, что вы получили все десять коробок, на них пишут: «Коробка 1 из 10», «Коробка 2 из 10» и т. д. Сотрудник не знает вашего адреса, поэтому просто пишет на коробке ваше имя.

Далее коробки получает второй сотрудник. Он видит, что на сайте Cholula у вас есть учетная запись, поэтому ищет ваш адрес в базе данных. Затем он пишет на коробках адрес и передает их в почтовое отделение.

Сотрудник почтового отделения не может отправить ваш соус из Нью-Йорка в Лос-Анджелес напрямую – это слишком далеко. Он видит, что в погрузочном доке есть грузовики, направляющиеся в Филадельфию и Чикаго. Эти города расположены к Лос-Анджелесу ближе, чем Нью-Йорк, поэтому лучше отправить коробки туда. В грузовик до Филадельфии сотрудник почтового отделения может поместить только шесть коробок, поэтому остальные четыре отправляются в грузовике до Чикаго.

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

До вас коробки едут разными маршрутами, поэтому они прибывают не по порядку. Поскольку они помечены, вы можете проверить, все ли получили. Сначала пришла коробка 3, затем 5, затем 1, 10, 8, 4, 7, 6 и 2. Так, стоп, а где № 9? Может быть, почта ее потеряла. Вы просите компанию Cholula отправить вам еще одну. Они это делают, и вскоре вы становитесь счастливым обладателем соусов.

TCP и IP

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

Пара протоколов, называемых TCP (протокол управления передачей) и IP (IP-протокол), выполняют совместные процессы для передачи информации между компьютерами. Они работают по тому же принципу, что и сотрудники Cholula.

Ввиду того что обычно страницы весят слишком много для одновременной отправки, TCP разделяет их на множество маленьких пакетов, каждому из которых присваивает соответствующие значения (например, «1 из 10»). Аналогично тому, как первый сотрудник Cholula поместил все бутылки с соусом в несколько маленьких коробок.

Когда дело доходит до отправки данных через интернет, серверы используют систему доменных имен, или DNS, чтобы определить IP-адрес. Аналогично тому, как второй сотрудник Cholula искал ваш адрес в базе данных.

Затем данные направляют через IP-протокол. IP отправляет каждый пакет данных по всему миру за несколько коротких пересылок, но независимо от того, по какому маршруту они будут переданы, в конечном итоге достигнут пункта назначения. Так же как почтовое отделение отправляло разные коробки в разные промежуточные пункты, например в Филадельфию и Чикаго, но вы все равно их получили.

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

Если в двух словах, именно так информация распространяется в интернете. Независимо от того, покупаете ли вы острый соус или просматриваете YouTube, материал разбивается на более мелкие части (через TCP), отправляется несколькими промежуточными партиями (через IP), а затем снова собирается в исходный контент (снова через TCP).

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

HTTP и HTTPS

Возможно, вам интересно, как HTTP и HTTPS, протоколы для извлечения страниц, влезли в этот процесс. HTTP и HTTPS фактически построены поверх TCP и IP. HTTP и HTTPS говорят: «Найди мне эту страницу», а TCP и IP объединяются, чтобы выполнить этот запрос. На примере соуса, HTTP и HTTPS – это размещение заказа на доставку. TCP – это сотрудник, который собирает и упаковывает заказ, а IP – почтовый сервис.

И хотя эти протоколы могут показаться непонятными, именно благодаря им работает интернет.

Какой путь проходит информация с одного компьютера на другой?

Помните, что при использовании TCP и IP информация разбивается на маленькие пакеты и передается через различные промежуточные компьютеры, пока не дойдет до адреса назначения. От серверов сайта до компьютера или телефона каждый пакет проходит своим путем. Но что они собой представляют?

Чтобы это выяснить, мы использовали утилиту Mac/Linux под названием traceroute, которая определяет маршруты следования пакета данных с компьютера на указанный веб-сайт. Мы находились в Вашингтоне, округ Колумбия, и искали путь к ucla.edu, веб-сайту Калифорнийского университета в Лос-Анджелесе. Серверы UCLA находятся в Лос-Анджелесе, поэтому этот эксперимент даст ответ на вопрос: по какому пути проходят данные из Вашингтона в Лос-Анджелес через интернет?

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





Путь, пройденный информацией из Вашингтона в Лос-Анджелес, прежде чем попасть в UCLA. Остановки в Вашингтоне, в Эшберне, штат Вирджиния (B); Чикаго (С); Абилин, штат Канзас (D); Денвер (E); Солт-Лейк-Сити (F) и Лас-Вегас (G). Источник: traceroute и Bing Maps





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

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

Хотите попробовать? Воспользуйтесь онлайн утилитой traceroute, чтобы посмотреть, какой путь пройдет пакет данных с серверов на любой сайт по вашему выбору. Вам просто нужно предоставить IP-адрес; можете посмотреть свой или попробовать, например, такой: 23.4.112.131 (mit.edu, штат Массачусетс) или 216.58.219.206 (google.com, Северная Калифорния).

Итак, мы рассказали о том, как данные попадают с одного компьютера на другой через интернет. Но как это происходит физически? Узнаете дальше.

Назад: Как приложения могут зарабатывать, не показывая рекламу и не взимая плату с пользователей?
Дальше: Зачем трейдер с Уолл-стрит пробурил Аллеганские горы, чтобы проложить оптоволоконный кабель?