Как работает Интернет
Как устроена сеть Интернет
Интернет – структура, состоящая из тысяч разнообразных компьютерных сетей (домашних, корпоративных, научных и др.) и являющаяся основой глобальной информационной среды. Чтобы успешно пользоваться всеми ее преимуществами, необходимо понимать основные принципы ее функционирования.
Резолюцией ООН, принятой в июне 2011 года, доступ к Интернету признано базовым правом человека. И это не удивительно, поскольку среди нас уже немало таких, которым Интернет нужен почти как воздух.
Предшественник Интернета (сеть ARPANet ) начал создаваться в США в 50-х годах прошлого века и изначально предназначался для обеспечения надежной связи на случай войны, а первая передача данных между двумя компьютерами этой сети на расстояние в 640 км была произведена только в 1969 году. Несколькими годами позже к ARPANet были подсоединены компьютеры в Норвегии и Великобритании. Таким образом, сеть стала Интернетом (международной сетью). Вдаваться в подробности развития Интернета особого смысла не вижу. Скажу лишь, что сегодня более 25% населения нашей планеты регулярно пользуется преимуществами глобальной сети, а с 2010 года прямой доступ к Интернету получил даже экипаж международной космической станции.
В то же время, о том, что такое Интернет, некоторые пользователи по-прежнему имеют весьма отдаленное представление. В повседневном общении слово Интернет чаще обозначает единое информационное пространство. Хотя на самом деле это физически существующая структура, состоящая из тысяч разнообразных компьютерных сетей (домашних, корпоративных, научных и др.), в которой это информационное пространство содержится. Сложить некоторое представление об Интернете, возможно, поможет изображение (щелкните по нему мышкой для увеличения), отображающее только небольшую часть взаимосвязанных компьютеров во всемирной сети. Пусть и схематично, но достаточно наглядно на нем изображена структура Интернета.
Объединение компьютерных сетей в единую всемирную структуру стало возможным благодаря протоколу IP, реализующему адресную систему, в которой каждому компьютеру присваивается индивидуальный адрес (IP-адрес, состоящий из 4 групп цифр, разделенных точками, см. рисунок 2). Каждая из сетей, входящая в Интернет, подсоединена к единой структуре через маршрутизатор – специальное аппаратное или программное устройство, производящее фильтрацию, сортировку и перенаправление пакетов данных компьютерам получателей, исходя из их IP-адресов. Такая система позволяет практически безошибочно передавать информацию из одного компьютера на другой в пределах целого Интернета.
Понять, что такое Интернет, возможно, поможет следующий пример. Работу Всемирной паутины часто сравнивают с телефонной сетью, где компьютеры пользователей являются своего рода телефонными аппаратами с индивидуальными номерами, а сайты Интернета – телефонными автоответчиками. Все, кто дозвонился на такой автоответчик (сайт), могут прослушать одну и ту же записанную на нем информацию.
Чтобы зайти с компьютера на конкретный сайт и просмотреть его содержание, нужна специальная программа, называемая браузером (Internet Explorer, Firefox, Opera и др.). Страницы каждого сайта размещены на сервере. Сервер – это тоже компьютер, но немного мощнее домашнего и имеющий специальное программное обеспечение, а также некоторые аппаратные особенности. Программным путем ресурсы серверов в большинстве случаев разделяются таким образом, чтобы создать на каждом из них оптимальное количество виртуальных ячеек для размещения сайтов (а иначе говоря, их хостинга). Серверы размещаются на стойках в специальных помещениях (датацентрах), в которых поддерживаются необходимые климатические условия, работает специальный персонал и т.д.
Размещение собственного сервера в датацентре сегодня доступно практически всем желающим. Будучи владельцем нескольких серверов, можно создать достаточное количество виртуальных ячеек для размещения сайтов и сдавать их в оренду. Именно на этом и базируется бизнес всех хостинговых фирм, коих в Интернете сегодня очень много (достаточно поискать в Гугле или Яндексе по слову «хостинг»).
Каждый сервера имеет определенный IP-адрес в Интернете, и всем, кто зашел на этот IP-адрес, транслируется содержимое страниц сайта, расположенного на нем. Тут вы можете возразить, и сказать, что внешне адреса сайтов совсем не похожи на обычные IP-адреса компьютеров (4 группы цифр, разделенные точками). Дело в том, что для удобства сайтам присваиваются доменные имена, состоящее из цифробуквенных символов (например, www.chaynikam.info), которые заменяют реальные IP-адреса. Когда кто-то вводит доменное имя в адресную строку своего браузера, он попадает сначала на специальный сервер, который уже и перенаправляет пользователя на IP-адрес сайта, соответствующий этому доменному имени. В примере про телефоны это аналог телефонной АТС. При этом, на тот же сайт можно попасть минуя эту АТС, введя в адресную строку вместо доменного имени сайта его IP-адрес. Не верите – убедитесь сами: переход по адресам www.mail.ru и http://94.100.191.202 приносит один и тот же результат – открытие главной страницы сайта Mail.ru (с другими сайтами ситуация такая же).
Система доменных имен на английском звучит как DNS (Domain Name System). Поэтому указанные выше сервера, исполняющие функции АТС, называют DNS-серверами. Эти сервера, коих в Интернете достаточно много, взаимодействуют между собой, составляя единую иерархическую структуру.
Система доменных имен Интернета также строго иерархична. Имя любого сайта принадлежит к определенной доменной зоне (домену 1 уровня), например, ru, ua, info, com, org и др. Владельцы сайтов не могут изменить или создать их. В каждой доменной зоне существуют тысячи доменных имен 2 уровня, состоящих из названия, выбранного его владельцем из возможных не занятых другими вариантов, а также домена 1 уровня, к которому оно принадлежит (например, chaynikam.info). Чаще всего сайты имеют доменные имена 2 уровня. За регистрацию таких имен с их владельцев взимается определенная плата (размеры зависят от доменной зоны, в среднем 5-50 дол США за 1 год). Бывают также доменные имена 3 уровня, состоящие из еще одного названия, присоединенного к домену 2 уровня (например, tva.jino.ru). Домены третьего уровня, как правило, бесплатны и создаются хостинговыми компаниями для своих клиентов в рамках собственного доменного имени 2 уровня. В нашем примере хостинговая компания jino.ru предоставила для сайта своих клиентов бесплатный домен 3 уровня tva.jino.ru.
Сайт – совокупность взаимосвязанных страниц, содержащих текстовую и графическую информацию. Страницы эти создаются с использованием специальных языков, простейшим и основным из которых является HTML (язык гипертекстовой разметки документов). Овладеть им и создать собственный сайт может любой. Существует много инструкций для начинающих. Самая доходчивая и последовательная из тех, которые встречались автору, находится на сайте www.postroika.ru. Используя только HTML особых изысков в дизайне сайта добиться сложно. Понадобится знание еще как минимум каскадных таблиц стилей CSS и желательно некоторых более сложных языков. Но изучать их нужно только после овладения HTML. Разместить сайт в Интернете бесплатно также может любой, используя бесплатный хостинг (легко найти, используя Яндекс или Гугл) и доменное имя 3 уровня. Для этого нужно выгрузить созданный сайт с локального (своего) компьютера на сервер в свою ячейку. Более подробную информацию о создании сайта можно найти на странице www.chaynikam.info/sozdaysayt.html, а также здесь и здесь в разделе “Создание и продвижение сайтов”.
Совокупность всех сайтов Интернета – это воплощение сервиса World Wide Web (WWW) – системы взаимосвязей (гиперссылок и др.), которыми все сетевые ресурсы объединены в единое информационное пространство. Нажимая на ссылку, пользователь переходит на страницу другого сайта, оттуда – на следующую и т.д. WWW – это наиболее развитая часть всемирной паутины, ее интерфейс, через который чаще всего осуществляется доступ в глобальную информационную среду.
Кроме www, в Интернете реализованы другие сервисы: электронная почта, передача данных по протоколу FTP, обмен текстовыми сообщениями в режиме реального времени (чат), потоковое мультимедиа и др. Но в большинстве случаев все эти сервисы тесно взаимосвязаны.
Интернет возник не сразу, а создавался постепенно. Сегодня он продолжает совершенствоваться и развиваться, растет скорость передачи данных, разрабатываются новые сервисы и т.д. У Интернета нет границ (это всемирная сеть) и одного конкретного собственника. Его нельзя полностью выключить, поскольку физически он состоит из сетей, находящихся в разных странах. Контролируя провайдеров (субъектов, осуществляющих подключение этих локальных сетей к глобальной сети), можно обеспечить контроль над частью Интернета (запретить посещение отдельных сайтов и т.д.) или в определенной местности отключить его вообще. Но на такие радикальные меры большинство стран мира пока не решались.
Объясни мне: как устроен интернет
Недавно приняли закон о так называемом суверенном интернете. Есть много слухов о том, что интернет смогут блокировать, подавлять, отключать и многое другое. Мы не комментируем слухи, но воспользуемся случаем и расскажем немного об устройстве самого интернета.
В этой статье — основные знания о том, как устроен интернет, на примере одного запроса на сайт. Дальше — больше. Чтобы было понятно, мы намеренно упускаем некоторые технические детали.
Интернет — это много компьютеров
Интернет — это много вычислительных машин, которые объединены в сеть. Объединение в сеть означает, что одна вычислительная машина может отправить другой сообщение, а та может ответить. Пока непонятно, но подождите.
Например, есть ваш смартфон. И есть компьютер «Яндекса», который отвечает за отображение страницы по адресу yandex.ru. Смартфон делает запрос «Покажи мне главную yandex.ru», компьютер «Яндекса» этот запрос получает, обрабатывает, проверяет, кто вы, и отдаёт вам эту страницу в виде кода. Ваш гаджет получает код страницы и выводит на экран в виде главной страницы «Яндекса».
Может сложиться впечатление, что мы ходим по интернету, заходим на сайты, входим в личные кабинеты. На самом деле никто никуда не ходит. Просто наш компьютер делает запрос другому, тот даёт ответ, и наш компьютер выводит этот ответ на экран. Можно сказать, мы не ходим по интернету, а выборочно его скачиваем.
Клиенты и серверы
Обычно компьютеры в интернете грубо делят на клиенты и серверы. Клиенты — это все компьютеры, на которых информацию потребляют. Обычно у них есть клавиатуры, экраны, они мобильные и удобные для людей. Ваш телефон, планшет и ноутбук — клиенты.
Серверы — это тоже компьютеры, но предназначенные для раздачи информации клиентам. Внешне они обычно выглядят как металлические ящики, вкрученные в металлические шкафы: у них нет мониторов и клавиатур, зато внутри там огромные жёсткие диски, сотни гигабайт оперативной памяти и мощнейшие процессоры.
Внутри между клиентами и серверами нет принципиальных различий. И то, и другое — компьютеры. Вы можете установить программу-сервер на свой рабочий компьютер и после некоторой настройки раздавать с него сайты. Или можете под покровом ночи проникнуть в серверную, подключить к серверу монитор и клавиатуру и поиграть в пасьянс на 32-ядерном процессоре.
Сервером может работать почти любой компьютер. Вот несколько идей:
Ваш старый системный блок, который пылится в гараже, можно переоборудовать под файловый сервер. На последний можно будет скидывать семейные фото и делать резервные копии важных документов. Поставили компьютер в кладовке, подвели к нему сетевой провод, включили и забыли.
На вашем рабочем компьютере может в фоновом режиме работать сервер для игры Counter-Strike. Другие люди смогут спасать виртуальных заложников и обезвреживать виртуальные бомбы, пользуясь мощностями вашего компьютера.
Можно купить одноплатный компьютер Raspberry Pi, подключить к нему Wi-Fi-антенну и батарею, и у вас будет карманный сервер, который по вашему желанию может раздавать файлы, показывать сайты или управлять ботом в Telegram.
Можно на базе того же Raspberry Pi сделать сервер для умного дома. Он собирает информацию со всех датчиков в квартире, а вы подключаетесь к нему через интернет и смотрите, какая где температура, нет ли протечек, что происходит на камерах.
Как они связаны
Все понимают, что в интернете компьютеры как-то связаны. Но как? Представьте разветвлённую корневую систему дерева или кровеносную систему человека: есть большие толстые артерии, от них отходят сосуды, от них — более тонкие сосуды, потом ещё и ещё, до тончайших капилляров. Похожим образом устроен интернет.
Основа интернета — огромные магистральные кабели, которые лежат под землёй и на дне океана: они соединяют города, страны и континенты. Это толстые пучки оптоволокна, по которым передаются колоссальные объёмы данных.
Одна из главных угроз международному интернету — акулы: они любят грызть магистральные подводные кабели. Это не шутка. Причину учёные пока не знают — то ли из-за излучения, то ли просто интересно.
Огромные магистральные кабели соединяют большие точки обмена данными: так называемые эксчейнджи. Это организации, которые отвечают за обмен трафиком между городами, странами и континентами. В России около 50 таких точек, в мире — порядка 1 500.
В самом упрощённом виде ваш интернет-провайдер получает доступ к ближайшему эксчейнджу, чтобы иметь возможность продавать вам интернет. Представьте, что от эксчейнджа прокладывается толстый кабель к провайдеру. Конкретно толстый кабель бывает не всегда, но для наших целей такая метафора подойдёт.
Дальше обычно так: провайдер прокладывает менее толстый кабель в ваш район, ставит в каком-нибудь доме распределительный маршрутизатор. Из него провода тянутся в соседние дома. Обратите внимание на провода между уголками двух соседних многоэтажек — чаще всего это интернет.
Провод попадает в ваш дом. На крыше или в подвале ставится маршрутизатор — это устройство, которое определяет, куда какой сигнал отправить. В маршрутизатор вставляется провод, который тянется непосредственно в вашу квартиру. Мастер подключает провод к маршрутизатору в вашей квартире — та серая или чёрная коробочка с огоньками. Коробочка начинает раздавать Wi-Fi, и ваш компьютер подключается к сети.
Есть и другие способы подключиться, но в общем виде это так: магистраль → городская точка → провайдер → район → дом → подъезд → вы. И везде кабели. Интернет — это не волшебное облако с контентом, это огромная куча серверов, маршрутизаторов и кабелей, которые оплетают планету. И в самом конце, как вишенка на торте, ваш беспроводной роутер с Wi-Fi.
Допустим, вы захотели открыть главную страницу «Яндекса». Вот как всё будет происходить.
Вы набрали в браузере адрес yandex.ru. Опуская технические подробности, скажем, что ваш браузер узнал, что сайт yandex.ru живёт на компьютере с адресом 77.88.55.80.
77.88.55.80 — это IP-адрес. Такой адрес есть у всех компьютеров в интернете, в том числе у вашего. Ваш браузер говорит компьютеру: «Сделай запрос на 77.88.55.80».
Компьютер упаковывает этот запрос: ставит отметку «от кого», «кому», формулирует сам вопрос. Получается такой пакет данных. Он отправляет этот пакет той коробочке, которая стоит у вашей двери и мигает огоньками.
Роутер смотрит, что за адрес. Он видит, что никаких компьютеров с таким адресом к этому роутеру не подключено, поэтому передаёт запрос более старшему роутеру — на крыше подъезда.
Роутер на крыше видит, что никаких компьютеров с нужным адресом к нему тоже не подключено. Он отдаёт запрос выше, на районный роутер. Тот ещё выше, провайдеру.
У провайдера на роутере написана чёткая инструкция, что если придёт запрос на адрес 77.88.55.80, нужно передать его вон тому роутеру. Он это делает. Мы оказываемся на магистральном канале, который приведёт запрос в «Яндекс».
У «Яндекса» тысячи серверов, и один из них отвечает за главную страницу. Он получил запрос через цепочку роутеров и теперь обрабатывает.
Программа на сервере «Яндекса» готовит ответ на запрос. Она смотрит, из какого города к нему обращаются, и компонует новости для этого города. Определяет, знает ли она этого пользователя, и если знает — показывает ему число непрочитанных в почтовом ящике. Ещё она совершает множество невидимых действий, чтобы оптимизировать страницу.
Код итоговой страницы программа пакует по маленьким пакетам и отдаёт на ближайший роутер. На каждом пакете написан обратный адрес, с которого изначально пришёл запрос. Роутер начинает искать, как бы доставить эти пакеты обратно. Он отправляет их на магистраль, там роутеры передают эти пакеты провайдеру, он их направляет в нужный район, в районе их отправляют в дом, подъезд и, наконец, квартиру.
Пакеты приходят в вашу коробочку у двери. Она находит, какой компьютер запрашивал данные из «Яндекса», и отправляет ему по беспроводной связи только что пришедшие пакеты.
Ваш компьютер получает пакеты, распаковывает их, собирает цельный текст и рисует из этого текста страницу.
На весь путь из вашей квартиры до сервера «Яндекса» и обратно ушло меньше секунды, но в процессе было задействовано не менее пятидесяти машин — роутеров и серверов. Ваш запрос физически пропутешествовал до сервера «Яндекса» и вернулся. У вас ощущение, будто вы зашли в «Яндекс», но на самом деле «Яндекс» пришёл в ваш дом.
Это только самые основы. Дальше разберём, что можно с этими знаниями делать, как работают блокировки интернета и почему они на самом деле не работают, а главное — как сделать собственный сайт, который будет работать не хуже «Яндекса».
Как работает интернет «от запроса на сервер и обратно»
Как работает Интернет
Все пользователи в сети Интернет условно разделены на две группы: клиенты и серверы. Серверами называют мощные машины, которые работают 24 часа в сутки и способны оперативно пересылать сотни запросов одновременно, а также хранить большие объемы информации. Клиенты – ПК пользователей, которые подключаются к Интернету по мере необходимости.
Работу по соединению пользователей с Интернетом берет на себя провайдер. Провайдер предоставляет доступ к сети через персональный Интернет-сервер. Клиенты подключаются к серверу провайдера через Wi-Fi или по выделенному каналу связи. Сервер провайдера соединен с Интернетом высокоскоростными линиями связи.
Посылаем запрос
На ПК пользователя стоит программное обеспечение, преобразующее набранный на мониторе запрос, и через маршрутизатор посылает его на сервер провайдера. На сервере провайдера имеется программное обеспечение, которое хранит информацию и отвечает на запросы ПК клиентов, соединяя их с другими серверами сети. ПК работают на разных операционных системах и используют разные браузеры. Серверы так же используют различное программное обеспечение. Для лаконичной работы и корректного взаимодействия различных серверов и ПК придуманы специальные «Протоколы». Для каждой службы в сети разработан свой прикладной протокол.
Для пользования Интернетом нам нужны:
- Компьютер.
- Программа, работающая по протоколу службы.
- Адрес сервера.
Каждый ПК в сети имеет уникальный IP (Internet Protocol Address). Качественно выполненные сайты размещают на интернет-серверах, где имеется обширное пространство, программное обеспечение и возможность обрабатывать большое количество запросов одновременно.
Работа роутера
Роутер – это тот же ПК, который по таблицам маршрутов отправляет пакеты данных на заданные IP адреса. Следует заметить, что маршруты изменяются ежедневно из-за постоянного увеличения магистралей и появления новых провайдеров.
Маршрутизатор знает варианты имеющихся в сети маршрутов и подбирает самый эффективный и быстрый путь доставки пакета получателю.
Виртуальные порты
Кроме IP адреса на пакете должен быть адрес программы, для которой он предназначен (виртуальный порт). Всем сетевым программам присвоены некие виртуальные порты, по которым к ним попадают адресованные пакеты.
Domain Name System
Система доменных имен (DNS) была придумана для облегчения работы в сети Интернет. Этот альтернативный адрес человеку проще запомнить. Domain Name – это цепочка символов, разделенных точками.
Для улучшения связи между ПК и человеком создана служба DNS-серверов. DNS-сервер преобразует доменный адрес в цифровой (IP) и наоборот. Когда вы набираете имя DNS в браузере, служба переводит его в IP-адрес и отправляет пакет на необходимый ресурс. DNS-сервер – это аналог адресной книги в вашем телефоне.
Путь “интернет-пакета”
Работа в интернете сводится к простому алгоритму действий:
- Вводим в адресную строку браузера требуемый DNS-путь.
- Маршрутизатор ведет запрос к серверу, на котором хранится запрашиваемая информация (сайт).
- DNS-сервер преобразует путь в IP адрес.
- Мы скачиваем или изучаем нужный файл с компьютера, находящегося в любом конце света.
Путь: ПК → Роутер → DNS-сервер → Сервер сайта → DNS-сервер → Роутер → ПК
Источники:
http://www.chaynikam.info/aboutinternet.html
http://thecode.media/how-internet-works-1/
http://www.starlink.ru/articles/internet-path/