img

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

Хай, амиго! Жмякнув на эту статью ты вряд ли задумывался какой путь прошел сигнал от твоего смартфона или компа до наших серверов, или, где ты там нас сейчас смотришь.

icon strelka icons icons

узнай больше на курсе

Полный курс по сетевым технологиям
Полный курс по сетевым технологиям от Мерион Нетворкс - учим с нуля сетевых инженеров и DevOPS специалистов
Подробнее о курсе
Онлайн-курс по MikroTik
Научись работать со стремительно набирающим популярность MikroTik
Подробнее о курсе
Онлайн-курс по сетевым технологиям Huawei
Настрой сеть компании, используя оборудование Huawei в симуляторе eNSP
Подробнее о курсе

Интернет такой привычный и обыденный, что мы считаем его неким эфиром, который, ну, просто существует и все. Но на самом деле, за короткое время там произошла куча интересных вещей -  поэтому, если ты хочешь узнать что у интернета под капотом, или обновить знания перед собесом - а вопросы формата “расскажите что происходит при открытии URL  в браузере” супер популярны на собесах - то усаживайся, щас расскажем.

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

 

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

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

Окей, в каком виде информация передается по компьютерным сетям? 

Все мы миллион раз слышали, что данные с которыми работает компьютер это набор нулей и единиц, да? В таком виде удобно их передавать и работать с ними, а для кожанных мешков типа тебя или меня компьютеры переводят их понятный читаемый вид. И наш запрос про то, что мы хотим посмотреть статью, это такой блок нулей и единиц, в котором буквально из них написано “хочу смотреть этот обзор шаурмы, пришлите мне его”.

Бумажное письмо - простая аналогия. Чтобы оно дошfло, на почте должны знать, от кого оно и куда - это пишется на конверте. Так и тут нужно сказать откуда и куда оно идет, только адреса уже будут сетевые . А еще по мере продвижения нашего письма, конверт приходится упаковывать в другие конверты, на которых пишется дополнительная служебная информация, которая нужна для прохождения запроса по сети. Это называется инкапсуляция, а служебные данные называются заголовком.

 

 

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

Так и с интернетом. Дело в том что передача данных в интернете работает по определенной модели, которая называется TCP/IP .


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

Окей, вернемся к нашему запросу. И так, в самом начале ты вводишь в адресной строке адрес нашего сайта и здесь начинается знакомство с первым сетевым протоколом - протоколом DNS (Domain Name System).

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

Так и в интернете, ты забиваешь в браузере знакомый адрес, а компьютер, чтобы добраться до него, должен конвертировать этот текстовый адрес в IP-адрес. И здесь нам на помощь приходит протокол DNS — это такая штука, которая связывает домены в интернете. Она похожа на дерево, где каждый узел — это домен. А домен - это уникальное название сайта в интернете. Важно отметить - доменное имя устроено иерархически. Если смотреть на адрес слева направо, то первая часть до точки - это поддомен, то есть название сайта, например youtube. А правая часть домена после точки - это доменная зона или, по-другому, домен первого уровня. 

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


Суть работы DNS в том, что компьютер посылает запрос серверу DNS, мол “пацаны, подскажите, у ютьюб точка ком какой IP адрес?” 

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

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

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

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

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

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

Итак, наш запрос уже обернулся TCP заголовком со служебными данными и далее переходит к сетевому уровню. Здесь данные содержатся IP пакетах. Два самых главных параметра в IP пакете - это IP адреса отправителя и получателя. У пакета в IP адресе отправителя будет стоять адрес твоего компа, а IP адресом получателя будет айпишник сайта, в нашем случае - айпишник ютуба.

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

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

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

Именно роутер взаимодействует с оборудованием провайдера, а значит со всем интернетом.

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

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

Вообще маршрутизация это определение наилучшего маршрута для IP .

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

Автономные системы бывают публичными и приватными. Публичные аэски (ASки) по аналогии с публичными IP адресами видны в интернете и поэтому должны быть уникальными, а контроль за их учетом и распределением возложила на себя организация IANA, которая имеет в своей структуре региональные организации, каждая из которых отвечает за свою часть планеты. Приватные автономные системы, также как и серые IP адреса, используются внутри какой-либо сети и не выходят во внешний мир.


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

BGP расшифровывается как Border Gateway Protocol  – и является основным протоколом динамической маршрутизации, на котором построена работа всего интернета и не только. Крупные корпоративные сети также используют BGP в качестве протокола маршрутизации.

Вообще BGP делится на iBGP . iBGP поднимается внутри автономной системы, а eBGP между ними. В нашем случае с маршрутизацией в интернете, естественно, речь идет об eBGP.


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

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

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

На самом деле там конечно же не один сервер, а несколько. И распределены они достаточно далеко друг от друга, так как сайт могут смотреть не только в одной стране. Его владельцы могли арендовать сервера в разных странах и даже континентах. А все для чего? Для того, чтобы максимально увеличить скорость просмотра их контента. Эта технология и новая и называется она CDN, что означает сеть доставки контента. Суть этой технологии состоит в том, что географически разнесенные сервера работают вместе, и клиент подключается всегда к ближайшему к нему серверу, за счет чего и обеспечивается такая высокая скорость получения контента.

Вот такие чудеса происходят за те мгновения, пока ты ждешь загрузку страницы. А под конец как всегда вопрос: как получается что запросы с твоим логином и паролем, которые проходят десятки различных устройств, никто не может прочитать в процессе передачи? Ответ пиши в коментах!
 

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

Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
icon strelka icons icons

узнай больше на курсе

Полный курс по сетевым технологиям
Полный курс по сетевым технологиям от Мерион Нетворкс - учим с нуля сетевых инженеров и DevOPS специалистов
Подробнее о курсе
Онлайн-курс по MikroTik
Научись работать со стремительно набирающим популярность MikroTik
Подробнее о курсе
Онлайн-курс по сетевым технологиям Huawei
Настрой сеть компании, используя оборудование Huawei в симуляторе eNSP
Подробнее о курсе
Онлайн-курс по сетевой безопасности
Изучи основы сетевой безопасности и прокачай скилл системного администратора и сетевого инженера
Подробнее о курсе
DevOps-инженер с нуля
Стань DevOps-инженером с нуля и научись использовать инструменты и методы DevOps
Подробнее о курсе
Онлайн-курс по кибербезопасности
Полный курс по кибербезопасности от Мерион Нетворкс - учим с нуля специалистов по информационной безопасности. Пора стать безопасником!
Подробнее о курсе
Еще по теме:
img
XMPP – это основа для создания приложений с обменом сообщениями в реальном времени. Узнайте, как этот протокол работает, его особенности, преимущества и почему его продолжают использовать спустя два десятилетия.
img
Улучшение сети: находите и устраняйте задержки с помощью Wireshark.
img
Рассказываем про рекомендации для DNS по безопасности и производительности
img
Рассказываем как работает Wi-Fi 2.4 vs 5 ГГц: что лучше и почему вай фай опасен для здоровья?
img
Что такое DevOps, что нужно знать и сколько получают DevOps - специалисты?
Промокод SUMMERSALE2025
40%
50%
65%
До конца акции: 30 дней 24 : 59 : 59