Как информация попадает в интернет
Перейти к содержимому

Как информация попадает в интернет

  • автор:

Как устроен интернет и при чём тут акулы

Слово «интернет» — это сокращение от английского словосочетания interconnected networks (взаимно соединённые сети). Инженеров во второй половине двадцатого века интересовало, как можно соединить компьютеры, чтобы объединить их вычислительные мощности и обмениваться информацией.

Первые разработки начались в США. В 1969 году учёные создали университетскую компьютерную сеть ARPANet, которая считается прототипом интернета. Разработчики соединили несколько компьютеров разных университетов. Позже, когда число компьютерных сетей выросло, возникла задача соединить между собой уже их.

Передавать информацию с одного компьютера на другой можно благодаря подводным кабелям — огромным проводам под водой, проложенным между континентами. Провода как бы «скрепляют» земной шар. Если посмотреть на карту интернет-кабелей, мы увидим, что она похожа на предшествующую ей карту телеграфа: провода проходят в тех же местах.

Как работает интернет?

Сначала пользователь вбивает адрес сайта в браузере. Информация нужного нам сайта находится на другом компьютере — на сервере. Чтобы получить эту информацию, браузеру нужно знать «адрес» компьютера, на котором она находится. Этот «адрес» называется IP-адрес. У каждого сервера он уникален.

Браузер отправляет запрос пользователя на DNS сервер — каталог всех IP-адресов. Его принцип работы можно сравнить с телефонной книгой. В нём доменные имена сайтов (например, google.com) соотносятся с IP-адресами (172.217.22.14, соответственно).

DNS-сервер даёт ответ: буквенному адресу интересующего вас сайта соответствует такой-то IP-адрес. И только тогда браузер отправляет на этот адрес запрос.

Тот в ответ отправляет файлы, и пользователь видит сайт, который он вбил в поисковую строку.

Почему сайтом может пользоваться много человек одновременно?

Интернет отличается от телефонной связи тем, что когда мы говорим по телефону, между нами и нашим собеседником открывается постоянно работающий канал связи. То есть никто третий в нашем разговоре просто так поучаствовать не может. Это называется «коммутация каналов». В Сети же принцип другой — «коммутация пакетов». Информация разбивается на кусочки, называемые пакетами. Это позволяет по одному каналу связи пересылать данные множества сайтов.

Как быстро работает браузер?

Промежуток времени, за который запрос с вашего компьютера достигает сервера и возвращается назад с необходимой информацией, называется ping. Для использования интернета в повседневных целях (например, скроллинга соцсетей) он не имеет значения.

Ping важен для геймеров и для видеоконференций. Если танк стреляет через секунду после нажатия на кнопку, можно проиграть. И, конечно, никто не любит, когда собеседник в Zoom-звонке вдруг замирает с открытым ртом. Ping больше 0,1 секунды считается медленным.

Почему реклама на сайтах знает так много?

Помимо того, что сервер выдаёт информацию по запросу пользователей, он также получает информацию о человеке, создавшем запрос. Например, где он находится. И вместе с информацией необходимого сайта отправляет человеку соответствующие его локации новости и другие материалы. Таким образом, он подстраивает контент под параметры пользователя.

Как работает веб-архив?

Изначально интернет задумывался как архив знаний человечества. Некоторые учёные и программисты хотели сделать так, чтобы всё, что попадает в интернет, осталось там навсегда. В 1996 году американские программисты Брюстер Кейл и Брюс Гиллиат решили, что нужно архивировать всё, что к этому моменту находилось в интернете.

Они создали Web Archive. Это сайт, хранящий информацию о других сайтах, веб-архив. Он работал благодаря технологии Web crawler, или «веб-паук». Это такой скрипт, который «оббегает» сайты и узнаёт, изменились ли они. Если сайт изменился, то «веб-паук» создаёт архивную копию. С 2001 года этот архив стал публичным. В некоторых странах, например, в Дании, есть и свои, национальные архивы интернета.

Сайты живут вечно?

Среднее время жизни интернет-страницы — год. Это логично объясняется тем, что владельцы сайта обычно оплачивают доменное имя сайта на год. Если его не оплачивать, у сайта забирают адрес, и он перестаёт существовать. Исследователи из Гарвардской школы права изучили сайт New York Times и установили, что 72% гиперссылок из материалов 1998 года «мертвы».

Акулы — главная опасность интернета?

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

Даже если акула и повредит кабель, интернет продолжит работать. К тому же кабели находятся очень глубоко — акулы там не плавают. А вот телеграфные кабели они перекусывали часто.

Гораздо опаснее для интернета рыболовецкие судна. Они могут сбросить якорь и перебить несколько кабелей сразу. Так, например, недавно произошло в Великобритании.

Что происходит, когда вводишь url, или как работает интернет

Об этом спрашивают на собеседованиях. Структурированное понимание этого может помочь вам, даже если вы давно строите сложные архитектурные процессы или кодите 20-ый год подряд. Я — программист уже много лет, последние пару из которых пишу на Go в Каруне. Работа работой, а внутренний исследователь не дремлет. И вот я наконец-то решил привести в порядок информацию, разбросанную по разным закоулкам чертогов разума, по добротным книгам и статьям на тему сетевых технологий.

Хочу представить краткую выжимку о работе протоколов. А если тема окажется интересной, могу продолжить работать с ней более детально. Рассмотрим простейший пример: вы ввели некоторый url в адресную строку. Поехали.

The Open Systems Interconnection model (OSI)

Для начала придётся упомянуть семиуровневую модель OSI, с которой, возможно, каждый из вас знаком не понаслышке. Эталонная модель взаимодействия открытых систем является абстракцией, которая связывает и стандартизирует взаимодействие открытых систем. Она не описывает никакие используемые протоколы, а только определяет, какие функции выполняет каждый из её уровней. В основе любого сетевого взаимодействия лежит данная модель. Для привычного нам интернета схема OSI и соответствующие ей протоколы чаще всего имеют следующий вид:

Эталонная модель OSI и соответствие ей протоколов Интернета

Некоторые уровни могут отсутствовать и/или объединяться. Рассматривать работу схемы начнём с верхнего уровня — с того самого ввода адреса в адресную строку.

Прикладной уровень, HTTP

Прикладной уровень в модели OSI нужен для взаимодействия пользовательских приложений с сетью. Единица данных, которой оперирует прикладной уровень, называется сообщением. В описываемой системе уровень представлен протоколом HTTP. При вводе адреса google.com ваш браузер формирует HTTP сообщение, которое состоит из строки запроса, тела сообщения и заголовков со служебной информацией — такой как версия протокола, контрольная сумма сообщения, и т.д. Далее задача в том, чтобы передать HTTP-сообщение на следующий уровень — представления, если это HTTPS, или на TCP, если это HTTP.

Уровень представления, SSL (TLS)

Уровень представления отвечает за кодирование/декодирование, а также за шифрование/дешифрование данных. Благодаря этому уровню информация, передаваемая одной системой, всегда понятна другой системе.

Если сервер, к которому вы посылаете запрос, работает на протоколе HTTPS, то в него включён протокол защиты данных — SSL. SSL развивался до версии 3.0. Потом на основе него был создан TLS, который сейчас используется везде и гарантирует безопасность соединения. Принцип работы протокола базируется на ассиметричном шифровании и для создания безопасного канала связи оперирует такими понятиями как публичный ключ, приватный ключ, сеансовый ключ.

Ваш браузер и сервер заново создают защищённое соединение при каждом открытии сайта. Как же это работает? Для начала браузер создаёт запрос на запрашиваемый адрес, чтобы узнать есть ли у него SSL-сертификат. В ответ на запрос он получает информацию и публичный ключ, с полученной информацией делает запрос в центр сертификации (адреса центров сертификации уже есть в вашем браузере по умолчанию). Если информация подтверждается, ваш браузер генерирует сеансовый ключ, зашифровывает его публичным ключом и отправляет на сервер. Сервер расшифровывает сообщение с помощью приватного ключа и сохраняет сеансовый ключ. После этого соединение можно считать установленным — при общении клиента и сервера используется для шифрования сеансовый ключ. И «общение» между клиентом и сервером переходит на симметричное шифрование с помощью сгенерированного сеансового ключа.

Транспортный уровень, TCP

Транспортный уровень по определению обеспечивает передачу данных со степенью надёжности, которая требуется приложениям. В сети Интернет, в рассматриваемом взаимодействии, этот уровень представлен протоколом TCP, задача которого — надёжно доставить HTTP(S)-сообщение в пункт назначения. Единица данных как для TCP уровня, так и для следующего (IP) носит название пакет.

Операционная система, получив HTTP-сообщение от браузера, должна «встроить» его в пакет протокола нижележащего уровня — TCP. Такой процесс встраивания называется инкапсуляцией. Операция эта осуществляется на каждом уровне: пакеты вышележащего уровня инкапсулируются в пакеты нижележащего. И на самом нижнем уровне мы получаем информационную “матрёшку” с вложенными друг в друга пакетами, со служебной информацией в виде заголовков, добавленных на каждом уровне:

Формируются TCP-пакеты чаще всего в ядре операционной системы. Вся прелесть протокола TCP — в надёжности доставки. Использование этого протокола предусматривает установление так называемого логического соединения между двумя конечными узлами сети (перед этим, естественно, такое соединение нужно согласовать). Надёжную доставку пакетов протокол TCP обеспечивает посредством нумерации пакетов, подтверждения их передачи квитанциями, а также контроля правильного порядка пакетов. Схема установления логического соединения, передачи данных и разрыва соединения представлена на рисунке ниже:

Работа хостов с помощью логического соединения

Сетевой уровень, IP

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

По ходу перемещения IP-пакета по сети маршрутизаторы передают пакеты от одной сети к другой или же на конечный узел-получатель. Данный протокол не занимается установлением соединения, не контролирует целостность данных, не гарантирует доставку и не отвечает за их достоверность, то есть реализует политику доставки «по возможности». Всё это бремя возложено на вышележащий протокол — TCP. Получив TCP-пакет, ОС инкапсулирует его в IP-пакет, добавляет в него свои параметры и передаёт далее.

DNS

Для того чтобы отправить какие-то данные серверу в IP-пакете, нужно узнать его IP-адрес. Для этого есть специальный протокол DNS, с помощью которого делается отдельный от основного запрос. Запрос этот называется DNS-запросом, и посылается он на специальный DNS сервер — его адрес заведомо известен и прописал в настройках вашей операционной системы. DNS-протокол — это представитель протокола прикладного уровня. Кратко его работу можно описать так:

  1. Клиент создает DNS-сообщение, добавляя неизвестный URL в раздел вопроса этого сообщения.
  2. Сообщение DNS инкапсулируется в UDP-дейтаграмму протокола UDP транспортного уровня.
  3. UDP-дейтаграмма инкапсулируется в IP-пакет данных с IP-адресом назначения DNS-сервера и отправляется на DNS-сервер.
  4. DNS-сервер возвращает запись ресурса, в которой указан IP-адрес URL.

Строго говоря, запрос этот выполняется не всегда. Так как вначале браузер проверяет соответствие IP адреса и домена в своем кэше (для chrome это chrome://net-internals/#dns). Затем, если соответствия не найдено, браузер обращается к операционной системе, которая ищет информацию в системном файле hosts. И только в случае, если ничего не найдено в этом файле, посылается запрос DNS. Полученный адрес уже можно указать в формируемом IP-пакете основного запроса.

Физический и канальный уровни, Ethernet

Канальный уровень (также — уровень передачи данных) необходим для передачи сырых данных физического уровня по надежной линии связи. Основная задача на этом уровне — обнаружение и коррекция ошибок. Также он может исправлять ошибки за счёт повторной передачи поврежденных кадров. Канальный уровень тоже должен проверить доступность среды — можно ли выполнять пересылку данных в конкретный момент. Иногда эту функцию выделяют в отдельный подуровень управления доступом к среде (MAC).

Физический уровень отвечает за передачу потока битов по каналам физической связи (коаксиальные кабеля, оптоволокно, витая пара). Со стороны компьютера функции физического уровня выполняет сетевой адаптер или COM-порт. На этом уровне есть только поток битов и ничего более: протокол «не задумывается» об информации, которую он передаёт.

В нашем случае протокол Ethernet объединяет эти два уровня. Ethernet оперирует единицей данных, которая называется кадр. Для физического уровня нет никакого анализа информации, которая передаётся. Для передачи данных между узлами протокол работает по схеме с коммутацией пакетов, то есть сеть ведёт себя менее «ответственно», не создавая для абонентов отдельных каналов связи. Данные могут задерживаться и даже теряться. Поэтому ошибки на этом уровне не исправляются. Это опять же возложено на протокол верхнего уровня — TCP.

Для физического уровня Ethernet описывается стандартом группы IEEE 802.3, который определяет физические характеристики канала связи. Например, какой кабель будет использоваться для передачи данных: витая пара, коаксиальный кабель или оптоволокно. Тут же определяется вид кодирования и модуляции сигнала. Технические характеристики каждого стандарта хорошо описаны в данной статье. Например, спецификация 100Base-T определяет в качестве используемого кабеля витую пару, с максимальной длинной физического сегмента 100 метров и манчестерским кодом для данных в кабеле.

Путь пакета

На следующей схеме представлена схема взаимодействия узлов сети. Наш пакет выходит из конечного узла слева, проходя через концентраторы, коммутаторы (работающие на канальном уровне) и маршрутизаторы, работающие на сетевом уровне:

Общая схема взаимодействия узлов сети

Как видно из схемы, концентратор работает с данными на физическом уровне, но в настоящее время они вытеснены сетевыми коммутаторами, умеющими работать на канальном и физическом уровнях.

Совершив путь от одного конечного узла до другого, он распаковывается в обратном порядке: из Ethernet-кадра вытаскивается IP-пакет, из него, в свою очередь, TCP-пакет. Получив в конечном счёте HTTP-сообщение и считав с него нужную информацию, сервер формирует и посылает ответное HTTP-сообщение. Оно, в свою очередь, также проходит через каждый уровень и возвращается в виде ответа клиенту, распаковывается каждым уровнем, и мы видим заветную информацию на экране.

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

Книги, которые помогли мне. Рекомендую и вам:

  1. Олифер В.Г., Олифер Н.А. Компьютерные сети. Принципы, технологии, протоколы — СПб.: Питер, 2018. — 992
  2. Таненбаум Э., Уэзеролл Д. Компьютерные сет — СПб.: Питер, 2020. — 960 с.: ил.

Откуда берется интернет: источник передаваемых данных, где он располагается? ( 7 фото + 1 видео )

Даже самые сложные изобретения рано или поздно становятся незаметной частью человеческого быта. Еще сорок лет назад маститые футурологи делали осторожные прогнозы относительно «всемирных информационных систем», дающих предельную свободу при выборе данных. А сегодня, откуда берется интернет, знает каждый школьник.

Откуда берется интернет: источник передаваемых данных, где он располагается? интернет, источник, данные, расположение, пользователи, откуда

Откуда появился интернет?

История пакетной передачи цифровых данных насчитывает более 50 лет. Несмотря на то, что попытки объединить ЭВМ в межсетевое пространство делали ученые многих стран, лишь американцам удалось последовательно довести идею до конца:

Первые протоколы передачи данных были созданы в 1960-х годах, когда были запущены проекты «Tymnet» и «Теленет»;

К 1969 году относится создание инициативы Минобороны США под названием «Арпанет». По мысли руководителей ведомства, сеть должна была обеспечить надежную передачу данных в случае возможного конфликта с СССР;

В 1971 году «Арпанет» насчитывал уже 15 американских сайтов. Спустя два года были подключены британские и норвежские сервера, что придало сети статус международной;

В 1982 году был создан протокол обмена данными TCP/IP, что позволило увеличить пропускную скорость каналов;

В 1984 году была создан аналог «Арпанета» от Национального научного фонда США (NSFNet);

Конкуренция между двумя проектами продолжалась шесть лет, и в 1990 году «Арпанет» прекратил свое существование.

Откуда берется интернет: источник передаваемых данных, где он располагается? интернет, источник, данные, расположение, пользователи, откуда

Дальнейшее развитие

После закрытия известного военного проекта развитие ЭВМ-сетей не прекратилось, а наоборот, продолжилось с новой силой:

К концу 1980-х всемирная сеть предоставляла возможность не только читать новости, но и размещать электронные объявления и даже общаться в реальном времени.

В 1990 году специалист Европейского Центра ядерных исследований Тим Бернерс-Ли разработал концепцию гипертекста, правила разметки веб-страниц и принципы идентификации интернет-адресов;

Идеи европейского исследователя легли в основу проекта «Всемирной паутины», который был запущен уже в 1991 году;

Спустя два года была разработана программа-обозреватель для просмотра веб-страниц, что значительно упростило пользование сетью для непрофессионалов;

В 1995 году интернет в США полностью встал на коммерческие рельсы. Фонд NSFNet отдал функции маршрутизации на откуп частным провайдерам;

За 90-е годы трафик рос со скоростью приблизительно 100% в год, а число пользователей ежегодно прибавлялось приблизительно по 30%;

В 1999 году была разработана новая концепция ориентации на сферу услуг, получившая название «Веб 2.0».

Откуда берется интернет: источник передаваемых данных, где он располагается? интернет, источник, данные, расположение, пользователи, откуда

Откуда в интернете появляется информация?

Все многообразие информации, которая распространяется на просторах цифрового мира, носит название «контент». Среди наиболее популярных его разновидностей:

Текст (газеты, посты в соцсетях и др.);

Видео (домашние ролики, музыкальные клипы, телепередачи и видео);

Аудио (музыка, аудиокниги, подкасты);

Изображения (фотографии, картинки, анимированные изображения).

Среди наиболее значимых источников генерации контента можно выделить:

Оффлайн – данные, размещенные в виртуальном пространстве, но созданные без его участия. Так, здесь можно найти «Большую советскую энциклопедию», Библию и т.д.

Пользователи. Революция социальных сетей состоялась благодаря тому, что формат публикации сообщений любого человека оказался востребованным;

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

Откуда берется интернет: источник передаваемых данных, где он располагается? интернет, источник, данные, расположение, пользователи, откуда

Структура глобальной информационной системы

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

Персональный компьютер или любое другое устройство, имеющее выход во Всемирную Сеть;

Программное обеспечение, посылающее запросы на сервер. Речь идет о браузере (на настольных компьютерах) или приложениях (на смартфонах и планшетах);

Оператор связи (провайдер) – компания, которая дает возможность подключения конкретного устройства к сети;

Домен – уникальное местоположение, присваиваемое тому или иному сайту;

Маршрутизатор – устройство, обеспечивающее передачу данных от одного узла к другому;

Сервер – это мощная ЭВМ, рассчитанная на обработку запросов, приходящих с пользовательских ПК. В частности, она обеспечивает получение трафика, сохранение информации, кодирование данных и т. д.;

Порт – ресурс, предоставляемый операционной системой для связи между различными программами (например, прием и высылка почтовых сообщений).

Откуда берется интернет: источник передаваемых данных, где он располагается? интернет, источник, данные, расположение, пользователи, откуда

Откуда берут данные интернет-провайдеры?

Первые коммерческие провайдеры появились в конце 1980-х – начале 1990-х годов. Однако подлинное развитие операторы, предоставляющие доступ ко Всемирной Сети, получили лишь несколько лет спустя.

Сегодня пользователи вправе выбирать среди такого набора интернет-услуг:

Доступ через модем или телефонную сеть;

Подключение к сети средствами мобильной связи (3G, 4G);

Регистрация доменного имени;

Аренда памяти сервера для размещения собственного сайта (хостинг);

Приобретение во временное пользование целых удаленных серверов;

Пересылка электронных почтовых сообщений (mailbox provider);

Создание копии данных для восстановления в случае непредвиденной ситуации.

В России работа поставщиков сетевых услуг предполагает наличие лицензии, которую нужно обновлять каждые пять лет.

Операторы связи получают доступ к интернету через опорные магистральные сети, который называются «бэкбонами». Именно они служат для перекачивания мирового трафика между целыми континентами.

Откуда берется интернет: источник передаваемых данных, где он располагается? интернет, источник, данные, расположение, пользователи, откуда

Советская «междусеть»

Несколько десятков лет назад наша страна могла стать пионером в области информационных технологий. Общегосударственная система учета и обработки информации (ОГАС) Виктора Глушкова была разработана почти на 10 лет раньше, чем «Arpanet».

Проект включал в себя:

Создание сети между ЭВМ, разбросанными по всей стране;

Обслуживать систему из двух десятков тысяч устройств должны были 200 расположенных в областных центрах машин (прообраз современных серверов);

Администрировать ОГАС должен был суперкомпьютер, расположенный в столице СССР;

Работать с «междусетью» по проекту мог каждый человек даже без технического образования. Точкой доступа к системе должны были стать ПЭВМ типа «Мир-1», разработанные Глушковым специально для этих целей;

Основная цель ОГАС заключалась в упрощении управления экономикой огромной страны;

На реализацию идеи требовалась сумма с десятью нулями. Советское руководство, занятое космическим и военным противостоянием с Западом, отвергло новаторскую идею ученого.

По состоянию на сегодняшний день русский язык является вторым по популярности во Всемирной Сети, намного опережая немецкий, французский и даже китайский. Но мало кто знает, что русский мог бы стать первым языком в виртуальном мире. Будь советская партократия более восприимчивой к переменам, на вопрос «Откуда появился интернет?» следовал бы ответ: «Из России».

Откуда берется интернет: источник передаваемых данных, где он располагается? интернет, источник, данные, расположение, пользователи, откуда

Видео об организации всемирной паутины

В этом ролике Иван Тополев расскажет про источник трафика всемирной паутины, откуда изначально идет информация, где хранятся все данные, как это устроено:

Основы Интернета

Есть такая интересная книга ­­– «High Performance Browser Networking» Ильи Григорика, в которой описаны основы работы сетей и способы оптимизации передачи данных. В этой книге автор пишет про CDN следующее:

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

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

Если подумать, то наверное можно согласиться с тем фактом, что CDN улучшают UX, потому что ускоряют загрузку сайта. Но. минуточку. А как именно CDN это делает?

Вы можете сказать: «Ну, когда пользователь запрашивает файлы с CDN, они загружаются с ближайшего к пользователю сервера. Легко и просто». Да, но ведь эти данные загружаются всегда с одного домена. Как тогда запрос может приходить на разные сервера?

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

Провода

Начнём с самых основ. Допустим, у нас есть два компьютера, которые хотят «общаться» друг с другом:

Представьте, что эти фигуры – компьютеры

Ну, нет проблем. Просто соединяем их проводом и готово:

А серая линия – Ethernet-кабель

Когда один компьютер отправляет сообщение другому компьютеру, он передаёт данные через порт, к которому подключён их общий кабель. А поскольку пользователей всего два, то легко определить, когда канал коммуникации занят. Опять же, нет проблем с адресацией и всем таким.

Однако, подобное решение довольно-таки сложно масштабировать. Как поступить, если компьютеров больше? Скажем, пять, а не два. Да, конечно, мы можем так же соединить каждый с каждым, но.

Во славу Сатане, конечно!

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

В телекоммуникационных сетях топология – это то, как взаимосвязаны между собой элементы этих сетей. Сетевая топология может быть физической или логической (на самом деле не только, но нам это тут не важно). Физическая топология описывает реальное расположение и связи между компьютерами, а логическая – то, как сигнал проходит по всем этим связям.

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

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

На этот раз обойдёмся без сатанизма

Такая топология называется кольцо. Как видно, в этом случае нам не нужно много кабеля, да и каждому компьютеру достаточно иметь лишь два порта. Однако, взамен мы получаем более сложную систему обработки сигнала. Теперь при передаче данных этот самый сигнал не обязательно сразу попадает к получателю, а может проходить через промежуточные компьютеры.

Несмотря на то, что наличие промежуточных компьютеров не плохо само по себе, в такой топологии есть куда большая проблема. Работоспособность этой сети зависит от доступности всех её элементов. Если вдруг один или несколько компьютеров выйдут из строя, передача данных может и не состояться.

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

Теперь работоспособность нашей сети не зависит от работы компьютеров. Но если вдруг сломается центральный кабель (который обычно и называется шиной или магистралью), то ничего работать не будет. Такую сеть сложнее обслуживать, ведь в случае проблем нужно иметь доступ к каждому сантиметру центрального кабеля.

Чтобы решить проблему с обслуживанием, можно использовать «вспомогательное устройство», которое будет принимать данные от компьютеров и распределять их по сети. Таким устройством может быть концентратор (хаб) или коммутатор (свитч). А топология такой сети – звезда:

Даже если вдруг такая сеть перестанет работать из-за поломки свитча, починить её будет куда проще. Вместо того, чтобы «прозванивать» длинный кабель, нам нужно будет починить или заменить лишь одно устройство. Плюс, к такой системе куда проще добавлять новые элементы – подключаешь новый компьютер к свитчу и всё работает.

В жизни мы используем сети с топологией «звезда» дома. Все устройства обычно подключены к одному роутеру, который получает сообщения и передаёт их туда, куда необходимо. Интернет же – это объединение сетей с разной топологией.

Интернет и его иерархия

Окей, допустим, что наша домашняя сеть выглядит так:

Надеемся, что холодильник-то у вас без вайфая

Но что происходит дальше? Каким образом ваш запрос попадает в Гугл?

Первым делом посмотрим на конечную точку, которая и будет обрабатывать ваш запрос – сервер Гугла:

Дед Мороз обещал подарить автору на Новый год умение рисовать, но что-то пошло не так

Однако, запрос не пойдёт напрямую к этому серверу. Ваш роутер соединён с другой сетью – сетью вашего провайдера. Та же история и с сервером Гугла, у него тоже есть своя родительская сеть:

ISP – Internet Service Provider

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

Конечно, если вы вдруг подключены к тому же провайдеру, что и сервер Гугла – вам несказанно повезло. В таком случае вы можете передавать данные внутри сети этого провайдера, что довольно-таки быстро:

Увы, на практике невозможно подключить всех к одному провайдеру. А потому в мире сотни и тысячи оных. Каждый провайдер обменивается данными с другими, тем самым «позволяя Интернету работать».

Так что, ближайший к реальному пример может выглядеть как-то так:

В реальности даже это скорее фантастика

Возможно, вы уже заметили, к какой проблеме мы подходим. Если все провайдеры должны как-то соединяться друг с другом напрямую, чтобы обмениваться трафиком, то возникает та же проблема, что мы обсуждали в предыдущем разделе – куча проводов! А потому провайдеры между собой обычно объединяются через специальные хабы – точки обмена трафиком:

IXP – Internet eXchange Point

Получившаяся сеть и так сложна, но есть ещё одна проблема – география.

Что делать, если вы живёте в Испании, а сервер Гугла «живёт» в США? Ну, должна же как-то Испания быть соединена со Штатами, да?

Цветовое кодирование осталось тем же. Мы просто наложили фигуры на карту

Выход есть. Подводный кабель!

Скорее всего, вы об этом и так знаете, но всё же. Континенты соединены между собой подводными кабелями. Может показаться, что это не очень надёжно, и, справедливости ради, иногда с ними случается всякое. Но тем не менее, это всё ещё лучший способ соединения сетей:

Масштаб, однако, не сохранён. Подводный кабель не такой толстый

Кажется, что теперь мы примерно представляем, как могут быть соединены два компьютера, подключённые к Интернету, да? Однако, в реальности всё чуточку сложнее.

Во-первых, провайдеров очень много.

Во-вторых, точек обмена трафиком тоже много.

В-третьих, вы не поверите, подводных кабелей тоже немалое количество! Взгляните на карту:

На момент написания статьи на карте было 530 проводов

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

Но даже это ещё не конец, ведь кабели бывают разные. Одни быстрее передают сигнал, другие медленнее. А что ещё важнее – цена за передачу данных по ним тоже разная. Вы ж не подумали, что обмен трафиком между провайдерами бесплатный? Нет. Они платят друг другу и точкам обмена трафиком за использование сетей. Каким-то приходится платить больше, каким-то меньше.

А потому, можно сказать, что сигнал от вашего компьютера обычно идёт к получателю не по самому короткому пути, а по самому дешёвому.

Среда передачи данных

Это физическая субстанция, по которой происходит передача сигнала. Скажем, когда устройства соединены с помощью Wi-Fi, среда – воздух. А когда ваш ПК подключается к роутеру, то зачастую сигнал идёт по медному кабелю. В подводных же кабелях сигнал проходит по оптоволокну.

Среда определяет условия, в которых происходит общение между компьютерами.

Скажем, на медные провода может повлиять «шум» от других электрических устройств. А потому витая пара обычно, ну, «витая». Чтобы уменьшить влияние электромагнитных помех. Такие кабели ещё обычно экранируются с помощью специальных материалов, которые защищают передаваемый сигнал от помех.

В то же время, оптоволокну плевать на электромагнитные помехи, потому что оптоволокно – это просто «световая трубка». В том числе и из-за этого скорость передачи данных через оптоволокно на порядки выше, чем через витую пару.

А как же спутники?

Тут вы могли бы сказать: «Интернет, основанный на подводных кабелях,это что-то с чем-то. Почему бы просто не использовать спутники и не передавать сигнал по воздуху?».

Да, конечно, это возможно. Скажем, GPS работает за счёт спутников. Но, во-первых, куда дешевле просто соединить компьютеры проводами. Во-вторых, сеть, находящуюся на земле (или даже под водой), куда проще и дешевле чинить.

Плюс, давайте-ка по-быстрому прикинем. Возьмём тот пример, что был до этого. Пусть синяя точка – это город Нэшвилл в США, а чёрная – Сарагоса, Испания:

Расстояние между этими городами – 7200 км. Если мы соединим их проводом напрямую, то сигнал от одного компьютера до другого дойдёт за 36 мс, т. к. скорость света в оптоволокне где-то 200 000 км/с (в полтора раза меньше, чем в вакууме).

В то же время в небе где-то между этими городами может висеть спутник. Исторически так сложилось, что телекоммуникационные спутники запускали на геостационарную орбиту, высота которой – 35 786 км. А наш сигнал сперва должен дойти из Сарагосы до спутника, а потом от него – до компьютера в Нэшвилле.

Опуская тригонометрию и тот факт, что в реальности эти две точки вряд ли смогли бы подключиться к одному спутнику, скажем, что итоговое расстояние – 2 × 35 786 км, или 71 572 км.

Учитывая то, что скорость сигнала до спутника составляет где-то 300 000 км/с (опять же, считаем, что у нас волны в вакууме), то итоговое время передачи – 238 мс.

Таким образом, сигнал по прямому кабелю прошёл бы за 36 мс, а через спутник – за 238 мс.

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

Теперь должно быть понятно, почему мир всё ещё использует кабели. Да, в будущем всё может поменяться. Уже сейчас большое количество спутников запускается на низкую околоземную орбиту (привет, Илон!). А потому и показатели скорости там впечатляющие.

Однако, маловероятно, что текущая «проводная» инфраструктура вдруг возьмёт и исчезнет. А значит, нам всё ещё придётся пользоваться такими сервисами, как CDN, для ускорения загрузки наших проектов на компьютерах пользователей.

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

  • cdn
  • интернет-провайдер
  • точка обмена трафиком
  • топология сети
  • топология
  • интернет
  • подводные кабели
  • спутниковый интернет

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *