Всё про интернет: как он устроен, когда появился и чем отличается от Всемирной паутины
Без него мы бы никогда не увидели мемы про волков и скибиди-туалеты. А вы даже не знаете, как он работает...
Иллюстрация: UCLA Samueli / DARPA / Tohamina / Pexels / Wikimedia Commons / Colowgee для Skillbox Media
Что будет, если перестанет работать интернет? У большинства людей, скорее всего, начнётся паника. Рабочие процессы встанут, доставка не приедет… Интернет — это неотъемлемая часть мира, глобальная сеть, объединяющая миллионы устройств. Сложно представить, что когда-то его не было.
Содержание
- Что такое интернет
- Кто и зачем его придумал
- Чем он отличается от Всемирной паутины
- Как устроен интернет: аппаратная часть
- Как устроен интернет: программная часть
- Кто управляет интернетом
- Какие есть стандарты подключения к интернету
Эксперт
Дмитрий Зайцев
CTO Flocktory, программный директор профессии «DevOps-инженер» в Skillbox, директор программного комитета DevOpsConf.
Что такое интернет
Интернет — это множество компьютеров, серверов и роутеров, объединённых в сеть. Если вы читаете эту статью, то наверняка понимаете, в чём его прелесть: можно за секунду получить любые знания, созвониться с другом на другом конце света, отправить деньги маме, сгенерировать кота в нейросети…
За всю эту магию отвечает целая плеяда разных технологий. От Wi-Fi-роутеров до подводных кабелей, от маршрутизаторов до серверов — всё это заточено на постоянную обработку данных. В 2023 году общий объём генерируемых данных в интернете достиг 123 зеттабайт, а количество пользователей перевалило за 5 млрд.
Конечно, в одной статье мы вряд ли сможем рассказать об интернете всё. Вместо этого мы пройдёмся по главным реперным точкам его истории и коротко расскажем об основных «подкапотных» технологиях.
Как появился интернет и кто его придумал
Это сейчас интернет — самая крупная глобальная сеть в мире. А началось всё с одного-единственного спутника, который, правда, никакого отношения к интернету не имел и вряд ли работал так же быстро, как нынешние Starlink. Речь идёт о первом искусственном спутнике, запущенном СССР в 1957 году.
Этот запуск так сильно впечатлил американское Минобороны, что в ответ они основали целое агентство передовых технологий — DARPA, которое некоторые историки технологий называют агентством, «создавшим современный мир».
Из горнила DARPA вышли прообразы GPS, дронов и даже космических шаттлов. Но одним из самых значимых проектов ведомства стала ARPANET — национальная сеть компьютеров, способная пережить ядерный удар.
За основу для ARPANET взяли идеи Ричарда Ликлайдера — человека, который грезил о международной Галактической сети (по сути, прообразе интернета) ещё в конце 1950-х. Правда, космический размах его затеи слегка урезали, решив сначала опробовать глобальный онлайн «в отдельно взятой стране».
29 октября 1969 года состоялся первый сеанс связи по ARPANET между Стэнфордским и Калифорнийским университетами — переговорщики смогли передать на расстояние 640 км сообщение «LOGIN». Этот день считается официальной датой основания интернета.
Чтобы сеть была устойчивой к нагрузкам, её построили по набиравшей тогда ход технологии коммутации пакетов. Её смысл в том, что данные передаются не единым потоком, а как бы фасуются на пакеты, таким образом, их можно отправить сразу по нескольким маршрутам и быстро возобновить передачу в случае сбоя.
Такую идею передачи данных в те годы высказывали многие учёные, а математическую базу для ARPANET подготовил учёный Леонард Клейнрок, которого по праву можно назвать дедушкой современного интернета.
Почему дедушкой? Потому что под его началом в Калифорнийском университете выросли легендарные Винт Сёрф и Роберт Кан, авторы протоколов TCP и IP, на которых до сих пор работает современный интернет. И вот эти ребята уже абсолютно легитимно считаются отцами-основателями этих ваших интернетов :)
Мы подробно писали про эти протоколы в отдельной статье. Если коротко:
- IP — протокол, идентифицирующий устройство в сети и ответственный за то, чтобы информацию получил именно тот компьютер, который отправлял запрос.
- TCP — протокол, контролирующий, дошла ли информация до получателя и была ли она доставлена полностью.
Читайте также:
Паутина ARPANET плелась быстро: если в 1977 году к ней было подключено 100 машин, то к 1983-му — уже больше 4000. Вскоре к ARPANET начали по спутнику присоединяться компьютеры из Европы и с Гавайев — так сеть, изначально создававшаяся для своих, постепенно стала выходить за пределы материка.
Впрочем, победная поступь продлилась недолго. Уже в 1984 году у ARPANET появился соперник — межвузовская сеть NSFNET, созданная Национальным фондом науки США.
Мало того что «научная» сеть работала куда быстрее «армейской», так ещё и стоила гораздо меньше — электронное письмо можно было отправить всего за 50 центов. В итоге в начале 1990-х создатели ARPANET решили «усыпить» своё детище, передав все свои 6000 хостов в пользу победителя.
А сама NSFNET чуть позже объединилась с коммерческими провайдерами, став основой для будущей Всемирной паутины.
Всемирная паутина: почему она ≠ интернет
Привычный нам веб с его сайтами, форумами и сервисами зародился в 1990-х. Именно тогда возникла идея использовать интернет в народных, а не только в научных и военных целях: чтобы там были страницы, которые можно отобразить в графическом виде, и удобная навигация в виде гиперссылок.
А придумал всё это практически в одиночку британский компьютерщик Тим Бернерс-Ли, на тот момент сотрудник европейской организации по ядерным исследованиям ЦЕРН, за что в 2004 году был даже посвящён в рыцари.
И, надо сказать, вполне заслуженно — с лёгкой руки сэра Бернерса-Ли появились все технологии, на которых сплетена сегодняшняя Всемирная паутина:
- Язык разметки HTML — стандартизированный язык, который отображает элементы веб-страницы в браузере.
- Протокол HTTP для обмена HTML-страницами между клиентом и сервером.
- Система адресов URL — единообразные указатели, по которым можно найти нужную страницу.
- Веб-браузер — программа, которая получает HTML-документы с сервера и отрисовывает их на компьютере пользователя.
- Веб-сервер — серверное ПО для обработки HTTP-запросов.
Понятия «интернет» и «Всемирная паутина» сегодня переплетены так сильно, что не искушённые в технологиях люди часто их уравнивают. Что, конечно, не совсем верно: Всемирная паутина — это лишь способ просмотра информации с помощью браузеров и страниц. Помимо неё, на сетях интернета работает целая плеяда протоколов и алгоритмов, которые никак не связаны с WWW.
Чтобы лучше в этом разобраться, посмотрим на пример.
Допустим, мы хотим отправить email. Чтобы это сделать, мы открываем в браузере сайт условной «Яндекс Почты», набираем сообщение, нажимаем кнопку «Отправить». Это пока ещё Всемирная паутина: у нас есть какой-то интерфейс, сайт, кнопки. А дальше письмо улетает отправителю по своим протоколам, которые никак не связаны с WWW. Мы не видим, как это происходит, — максимум, сообщение «Письмо отправлено» и кнопку «Отменить».
Такая же история с видеозвонками, отправкой файлов через FTP и удалённым рабочим столом — всё это использует интернет, но не является частью Всемирной паутины.
Как устроен интернет: аппаратная часть
Чтобы понять, как работает интернет, сперва разберёмся с аппаратной частью.
Кабели
То, с помощью чего все наши картинки, мемы и сообщения непосредственно перемещаются по Сети. Огромная сеть оптоволоконных щупалец оплетает всю поверхность планеты (за исключением Антарктиды), доставляя данные от континента к континенту, от города к городу, от дома к дому.
Часть из этих кабелей проложены на дне океана. Так, первый трансокеанский оптоволоконный кабель ТАТ-8, соединивший в 1988 году Европу и США, фактически сделал интернет глобальной сетью. Сейчас под водой пролегает около 500 кабелей общей длиной 1,5 млн километров — по ним беспрерывно несётся львиная доля всего мирового интернет-трафика.
Несмотря на сложные условия, их работе почти ничего не угрожает — кроме разве что акул :)
Читайте также:
Маршрутизаторы
Маршрутизаторы следят, чтобы данные не запутались, перемещаясь по проводам. Они считывают информацию о получателе в пакетах данных и определяют, куда отправить сигнал дальше. Так, перемещаясь от одного маршрутизатора к другому, данные постепенно достигают точки назначения.
Маршрутизаторы бывают разные — они есть у провайдеров, операторов связи, крупных компаний и даже у вас дома, если вы используете Wi-Fi-роутер.
Провайдеры
Провайдеры — это поставщики интернета, и они тоже бывают разного уровня. Так, магистральными кабелями под водой и на суше владеют провайдеры первого уровня (например, AT& T и MCI), которые совокупно составляют «ядро интернета».
Их клиенты — так называемые провайдеры второго уровня. Они выстраивают инфраструктуру в пределах одной страны. При этом они могут сотрудничать между собой, чтобы использовать сети друг друга. Это называется «пиринг» — соглашение между компаниями-провайдерами об объединении в сеть.
Пример провайдера второго уровня — российский Ростелеком.
Наконец, провайдеры третьего уровня подключают к интернету конечных пользователей. Они продают услуги клиенту, подключая его к сети по каналу, арендованному у провайдера второго уровня.
Примеры таких провайдеров — «Билайн», «Акадо» и МТС.
Серверы
Сервер — это специальная машина, которая хранит данные и выдаёт их пользователю по запросу. Как правило, серверы крупных компаний — это огромные шкафы, нашпигованные сверхмощным железом, которое позволяет им обрабатывать миллионы пользовательских запросов одновременно.
В одном таком дата-центре могут быть установлены сотни серверов, общий объём данных на которых исчисляется петабайтами. А ещё они постоянно бэкапят данные на резервные серверы, чаще всего даже в реальном времени.
Однако технически сервером может быть любое устройство, при условии, что на него можно накатить серверный софт, — даже дряхлый системник, годами пылящийся у вас на антресоли :)
Современный интернет настолько сложен, что запрос от пользователя может пройти сразу через несколько серверов, прежде чем достигнуть получателя.
Клиенты
Любое устройство, через которое пользователь запрашивает доступ к данным в интернете, называется клиентом. Под определение попадают и программы: веб-браузер, почтовый клиент или мобильные приложения.
Беспроводные устройства
Всё, что позволяет вашим гаджетам подключаться к интернету без провода, — это может быть модем, связанный с вышкой сотовой связи, или Wi-Fi-роутер. Правда, ни один из этих способов не является полностью беспроводным, ведь передача данных в конечном счёте происходит по всё тому же оптоволокну. И даже развитие спутникового интернета, о котором так часто говорят, не сделает его полностью «воздушным».
Как устроен интернет: программная часть
То, что с виду кажется молниеносной загрузкой страницы, на самом деле сложный, поэтапный процесс, задействующий множество технологий и протоколов.
Поиск IP-адреса
Когда пользователь вводит адрес сайта в адресную строку и нажимает Enter, браузер начинает поиск IP-адреса сервера, на котором размещён сайт. Делает он это с помощью системы DNS — своего рода контактной книги интернета, где «айпишники» всех сайтов в интернете записаны напротив их URL-адресов.
Читайте также:
Но перед тем как обратиться к DNS, браузер проверяет, нет ли уже известных записей внутри него самого, ведь пользователь уже мог посещать сайт ранее. Если и это не принесло плода, запрос уходит операционной системе, а потом и роутеру, который кэширует информацию о последних действиях за N времени.
И только после этого браузер идёт к ближайшему DNS-серверу (например, у провайдера) с просьбой отдать ему нужный IP-адрес. Тот в свою очередь может отправить запрос ещё дальше — и так по цепочке наш Вакула может дойти аж до корневых DNS-серверов, какие есть, например, у NASA.
А что поделать? Надо же как-то получить этот злосчастный IP-адрес. Тем более что для пользователя вся эта история займёт от силы пару секунд — скорость света как-никак, можно себе позволить.
Соединение с сервером
Итак, браузер всё-таки узнал IP-адрес нужного сайта и теперь пытается получить нужные данные. Для этого используются протоколы TCP и IP: первый устанавливает надёжное соединение между устройствами и следит, чтобы все данные дошли в целости, а второй организует их отправку с помощью пакетов.
Соединение браузера с сервером происходит в три этапа:
- Клиент отправляет SYN — пакет, который запрашивает разрешение на соединение с сервером.
- Сервер, если он доступен, в ответ присылает SYN/ACK-пакет подтверждения.
- Устройство пользователя, получив SYN/ACK-пакет от сервера отправляет обратно пакет ACK. С этого момента можно считать соединение установленным.
Читайте также:
HTTP-запрос
Начиная с этого момента мы заходим на территорию Всемирной паутины — именно она отвечает за обмен гипертекстовыми документами, то есть привычными нам сайтами, страницами и веб-приложениями. И происходит это на основе HTTP — протокола передачи гипертекста.
На этом этапе задача браузера как можно подробнее объяснить серверу, какую информацию он хочет получить. Для этого используется HTTP-запрос, внутри которого есть два основных метода:
- GET — для запроса данных с сервера. Например, текста, картинки, видео, кулинарного мастер-класса от Юлии Высоцкой — чего угодно :)
- POST — для отправки данных из браузера на сервер. Например, при отправке сообщения, выгрузки документа или другого файла.
Помимо этого, HTTP-запрос должен содержать информацию о типе браузера, временных файлах, которые уже были загружены ранее, информацию о соединении, уникальный идентификатор устройства и многое другое.
Стоит отметить, что чистый HTTP сейчас можно встретить довольно редко. Вместо этого используется его версия «на стероидах», протокол HTTPS, усиленный протоколами безопасности SSL и TLS. Безопасность подключения при такой передаче подтверждается специальными сертификатами.
Читайте также:
Сервер работает с запросом
Дальше сервер обрабатывает полученный запрос при помощи специального софта, который называется веб-сервером. Задача этого софта — понять, чего хочет клиент, достать необходимые данные из базы и подготовить ответ. Самые популярные веб-серверы сейчас — Apache и Nginx.
После подготовки сервер отправляет пакеты данных браузеру. В них содержится не только контент, но и информация о методе сжатия и кэширования данных, необходимые для записи в файлы cookie.
Браузер отображает страницу
Теперь дело за малым — показать пользователю запрашиваемую страницу.
По мере подгрузки пакетов браузер занимается рендерингом — постепенной прорисовкой контента на экране пользователя. Выглядит это так:
- Браузер получает от сервера HTML-код.
- На основе этого кода он рисует каркас страницы.
- Далее браузер смотрит на теги внутри HTML-разметки и понимает, каких данных ему не хватает, чтобы сделать красиво.
- Браузер формирует новые GET-запросы к серверу: здесь, мол, мне нужна картинка, здесь — видео, здесь — скрипт, а здесь вообще целой пачки CSS-стилей не хватает, давай-давай, шевели поршнями.
- Вуаля! Пользователь созерцает нужную ему страничку.
Одновременно с этим браузер записывает в память компьютера статичные данные, чтобы не загружать их снова при следующем визите на сайт. Когда будут пройдены все этапы, страница будет считаться успешно загруженной.
Вот и всё: один маленький запрос, а под капотом — целая история.
Кто управляет интернетом
Удивительно, но такая глобальная вещь, как интернет, не имеет управленцев. Есть организации, которые задают тренды на используемые технологии и стараются регулировать рамки работы Глобальной сети. Например:
ISOC (Общество интернета). Выступает за свободный доступ к Сети для людей по всему земному шару. Состоит из двух подразделений: IAB — Совет по архитектуре интернета и IETF — Инженерный совет интернета, а если точнее — международное комьюнити разработчиков, провайдеров и инженеров.
Корпорация ICANN — присваивает уникальные IP-адреса устройствам. Если бы не она, сёрфинг в Сети был бы похож на русскую рулетку — ввёл адрес и попал на одну из тысячи страниц, носящих один и тот же идентификатор.
МСЭ — Международный союз электросвязи. Помимо интернета, занимается телефонией, спутниками, телевидением и радио: устанавливает правила и стандарты, используемые в средствах связи.
Стандарты подключения к интернету
За много лет способы подключения к Сети сильно эволюционировали — это сейчас мы грезим о повсеместном 5G, а когда-то использовали интернет по телефонному проводу и радовались этому.
Давайте разберём действующие сейчас стандарты подключения.
Метод подключения | Технология | Описание | Скорость |
---|---|---|---|
Проводной | Dial-up | Почти не используемый сейчас стандарт, подключается через телефонную линию. Сигнал аналоговый | 56 кбит/с |
xDSL | Почти то же самое, что и Dial-up, но сигнал цифровой. Также почти не используется сегодня | 24 Мбит/с | |
FTTB (ETTH) | Сигнал передаётся от сетевого коммутатора посредством витой пары | 1 Гбит/с | |
xPON | Оптоволоконный кабель. Используется крупными компаниями для отправки большого объёма данных | 2,5 Гбит/с | |
Wi-Fi и WiMAX | Технологии доступа в интернет по беспроводным каналам | 1 Гбит/с | |
Мобильные сети | 3G, LTE, 5G | Технологии доступа в интернет, работающие в мобильных сетях | 3G — 42,2 Мбит/с LTE — 100 Мбит/с 5G — 10 Гбит/с |
Спутниковый | Спутниковый интернет | Беспроводной интернет по всей планете. Чтобы подключиться, требуется особое оборудование | 1 Гбит/с |
Вместо заключения
Напоследок — парочка интересных фактов про интернет:
- День интернета ежегодно отмечается в России 30 сентября. Впервые праздник прошёл в 1998 году по инициативе фирмы IT Infoart. Тогда же прошла и первая перепись «интернет-населения»: глобальной сетью уже в то время пользовались около миллиона россиян.
- Сейчас этот показатель составляет порядка 100 млн человек ежедневно.
- В некоторых странах День интернета отмечается 4 апреля — в день «покровителя интернета» Исидора Севильского, средневекового святого энциклопедиста. А ещё дата 4.04 похожа на ошибку 404 — одну из самых часто встречаемых проблем в интернете.
- День без интернета отмечается с начала нулевых в последнее воскресенье января для того, чтобы напомнить, что реальная жизнь может быть интереснее виртуальной и стоит хоть иногда выходить на улицу 🙂
Больше интересного про код — в нашем телеграм-канале. Подписывайтесь!