Компьютерные сети для чайников: просто о сложном

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

1. Основы связи: что такое сеть, LAN, WAN и как компьютеры понимают друг друга

Основы связи: что такое сеть, LAN, WAN и как компьютеры понимают друг друга

Добро пожаловать в курс «Компьютерные сети для чайников»! Если вы когда-либо задумывались, как сообщение из вашего телефона мгновенно попадает к другу на другом конце света, или почему Wi-Fi в дальней комнате работает хуже, чем на кухне — вы попали по адресу. Мы не будем сыпать сложными терминами без объяснений. Наша цель — понять суть.

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

Что такое компьютерная сеть?

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

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

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

!Простейшая модель компьютерной сети из двух устройств.

В современном мире сеть состоит из двух главных элементов:

  • Узлы (Nodes): Это устройства. Ваш ноутбук, смартфон, умная колонка, принтер или огромный сервер в дата-центре.
  • Связи (Links): Это то, что их соединяет. Это могут быть физические провода (медные кабели, оптоволокно) или невидимые радиоволны (Wi-Fi, Bluetooth, 4G).
  • География сетей: LAN и WAN

    Сети бывают разных размеров. Чтобы инженеры не путались, они придумали классификацию по масштабу. Самые важные аббревиатуры, которые вам нужно знать — это LAN и WAN.

    LAN: Локальная сеть (Local Area Network)

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

    Примеры LAN: * Ваша домашняя сеть (роутер, к которому подключены телефон, ноутбук и телевизор). * Сеть в небольшом офисе. * Компьютерный класс в школе.

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

    WAN: Глобальная сеть (Wide Area Network)

    Слово Wide означает «широкий» или «обширный». WAN соединяет локальные сети между собой на огромных расстояниях — между городами, странами и континентами.

    Самый известный пример WAN — это Интернет. По сути, Интернет — это «сеть сетей». Это миллионы маленьких локальных сетей (LAN), соединенных в одну гигантскую глобальную структуру.

    !Визуальное сравнение масштабов локальной и глобальной сети.

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

    В чем главная разница?

    | Характеристика | LAN (Локальная сеть) | WAN (Глобальная сеть) | | :--- | :--- | :--- | | Масштаб | Комната, здание, квартира | Город, страна, весь мир | | Скорость | Обычно очень высокая | Может быть ниже из-за расстояний | | Владелец | Частное лицо или одна компания | Множество провайдеров и организаций |

    Как компьютеры понимают друг друга?

    Мы выяснили, что компьютеры соединены проводами или радиоволнами. Но как именно передается картинка с котиком по проводу? Ведь по проводу бежит только электричество.

    Язык нулей и единиц

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

  • Есть сигнал (напряжение высокое) — это 1.
  • Нет сигнала (напряжение низкое) — это 0.
  • Это называется бинарный код (двоичная система). Любая информация — будь то текст этой статьи, ваша любимая песня или видео на YouTube — для компьютера выглядит как бесконечный поток нулей и единиц: 10011010110....

    Когда вы отправляете сообщение «Привет», ваш компьютер превращает буквы в последовательность нулей и единиц, передает их в виде электрических импульсов (или вспышек света в оптоволокне) другому компьютеру. Тот получает импульсы и переводит их обратно в буквы.

    !Преобразование информации в бинарный код для передачи по сети.

    Протоколы: правила этикета

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

    Чтобы компьютеры понимали друг друга, им нужны Протоколы.

    Протокол — это набор правил, который определяет, как данные упаковываются, отправляются и принимаются. Это как грамматика и этикет в человеческом языке.

    Если бы не было единых протоколов, компьютер Apple не смог бы открыть сайт, созданный на Windows, а телефон на Android не смог бы отправить письмо на iPhone.

    Самый главный набор протоколов в интернете называется TCP/IP. Мы разберем его подробно в следующих статьях, но пока запомните суть:

    * IP (Internet Protocol) отвечает за адресацию (как найти нужный компьютер, подобно почтовому адресу). * TCP (Transmission Control Protocol) отвечает за надежность доставки (чтобы данные не потерялись по дороге).

    Подводим итоги

    Сегодня мы заложили первый кирпичик в понимании сетей. Давайте закрепим основные мысли:

  • Сеть — это связь двух и более устройств для обмена данными.
  • LAN — это ваша личная, локальная сеть (дом, офис).
  • WAN — это глобальная сеть, соединяющая локальные сети (Интернет).
  • Компьютеры общаются с помощью бинарного кода (0 и 1), передаваемого через электричество, свет или радиоволны.
  • Чтобы понимать этот код одинаково, все устройства используют общие правила — протоколы.
  • В следующей статье мы поговорим о «железе»: разберемся, зачем нужен роутер, чем он отличается от модема и коммутатора, и почему у кабелей разные цвета и разъемы.

    2. Сетевая адресация: IP и MAC адреса как почтовые индексы и паспортные данные

    Сетевая адресация: IP и MAC адреса как почтовые индексы и паспортные данные

    В прошлой статье мы разобрались, что компьютерная сеть — это паутина из проводов и радиоволн, соединяющая устройства. Мы узнали, что такое LAN (локальная сеть) и WAN (глобальная сеть). Но наличие провода — это только полдела.

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

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

    Два уровня идентификации

    Давайте представим обычного человека, например, Ивана Иванова. У Ивана есть два способа подтвердить, кто он такой и где находится:

  • Паспортные данные. Это то, что выдается ему государством (или природой, если говорить о ДНК). Эти данные практически неизменны. Куда бы Иван ни поехал — в отпуск, в командировку или переехал жить в другую страну — номер его паспорта и дата рождения останутся прежними. Это его физический идентификатор.
  • Почтовый адрес. Это то, где Иван живет сейчас. Город, улица, дом, квартира. Если Иван переедет, его адрес изменится. Адрес нужен почтальону, чтобы найти Ивана в огромном мире. Это его логический идентификатор.
  • В мире компьютеров: * MAC-адрес — это паспорт устройства. * IP-адрес — это его текущее местожительство (почтовый адрес).

    !Визуальная метафора различия между постоянным физическим адресом и сменным логическим адресом.

    MAC-адрес: Железное клеймо

    Аббревиатура MAC расшифровывается как Media Access Control (Управление доступом к среде). Но вам не обязательно запоминать это сложное название. Запомните суть: это физический адрес.

    Каждое сетевое устройство (сетевая карта в вашем компьютере, Wi-Fi модуль в телефоне, Bluetooth-чип в умных часах) получает MAC-адрес еще на заводе. Производитель буквально «прожигает» этот адрес в микросхеме.

    Как он выглядит?

    MAC-адрес выглядит как набор из шести пар символов, разделенных двоеточием или дефисом. Например:

    00:1A:2B:3C:4D:5E

    Здесь используются цифры от 0 до 9 и буквы от A до F (это шестнадцатеричная система счисления, но не пугайтесь, для нас это просто набор знаков).

    * Первая половина (00:1A:2B) — это уникальный код производителя (Apple, Samsung, Intel). По нему можно узнать, кто сделал устройство. * Вторая половина (3C:4D:5E) — это уникальный номер конкретного экземпляра, как серийный номер.

    Зачем он нужен?

    MAC-адрес работает только внутри локальной сети (LAN). Представьте, что вы находитесь в комнате с десятью людьми. Вы хотите что-то сказать конкретно Пете. Вы не будете кричать «Эй, человек из города Москва!». Вы обратитесь к нему по имени (в данном случае, по MAC-адресу), потому что он рядом, в одной «комнате» (сети) с вами.

    Когда ваш компьютер отправляет данные роутеру (который стоит в коридоре), он использует именно MAC-адрес роутера.

    IP-адрес: Глобальная навигация

    Если MAC-адрес помогает общаться «внутри комнаты», то для выхода в большой мир (Интернет) нужен IP-адрес (Internet Protocol Address).

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

    Как он выглядит?

    Самая распространенная версия (IPv4) выглядит как четыре числа, разделенных точками:

    192.168.1.15

    Каждое число может быть от 0 до 255. Почему именно до 255? Потому что компьютер мыслит байтами. Одно число в адресе занимает ровно 8 бит памяти.

    Давайте посчитаем, сколько вариантов чисел можно записать в 8 бит:

    Где — это количество возможных комбинаций (вариантов чисел), — это основание двоичной системы (0 и 1), а — это количество бит (разрядов). Поскольку отсчет начинается с нуля, максимальное число — 255.

    Динамика и Статика

    В отличие от MAC-адреса, IP-адрес можно менять.

    * Вы пришли с ноутбуком в кафе и подключились к Wi-Fi -> Вам выдали один IP-адрес (например, 10.0.0.5). * Вы пришли домой -> Ваш домашний роутер выдал вам другой IP-адрес (например, 192.168.1.101).

    Это похоже на то, как вы заселяетесь в отель. Сегодня вы в номере 105, завтра в другом отеле в номере 202. Ваш паспорт (MAC) при этом не меняется.

    Кто раздает адреса? (DHCP)

    Вам не нужно вручную вбивать IP-адрес каждый раз, когда вы подключаетесь к сети. За вас это делает DHCP (Dynamic Host Configuration Protocol).

    Представьте DHCP как администратора на ресепшене отеля.

  • Вы (ваш телефон) заходите в сеть и кричите: «Эй, есть кто живой? Мне нужен адрес!»
  • DHCP-сервер (обычно он живет внутри вашего роутера) отвечает: «Привет! Свободен номер 192.168.1.55. Забирай его на 24 часа».
  • Ваш телефон: «Принято, теперь я живу здесь».
  • Без DHCP нам пришлось бы вести блокнотик и вручную настраивать каждое устройство, следя, чтобы адреса не совпали. Если у двух устройств будет одинаковый IP, возникнет конфликт адресов, и сеть на них работать не будет (как если бы почтальон принес письмо в дом, где две квартиры под номером 5).

    Белые и Серые адреса (Public vs Private)

    Это, пожалуй, самая важная концепция для понимания того, как работает современный интернет.

    Адресов в формате IPv4 (тех самых, с точками) всего около 4.3 миллиарда. Казалось бы, много. Но устройств в мире уже гораздо больше: телефоны, часы, холодильники, лампочки. Адресов на всех не хватает.

    Инженеры придумали хитрость: разделение на Публичные (Белые) и Частные (Серые) адреса.

    Аналогия с многоквартирным домом

    Представьте огромный многоквартирный дом.

  • У всего дома есть один почтовый адрес: г. Москва, ул. Ленина, д. 1. Это Публичный IP-адрес. Весь мир знает этот дом по этому адресу. Письма из Америки или Китая приходят именно сюда.
  • Внутри дома есть квартиры: кв. 1, кв. 2, кв. 3. Это Частные IP-адреса. Эти номера имеют смысл только внутри этого дома. В соседнем доме тоже есть квартира №1, но это совсем другая квартира.
  • !Иллюстрация технологии NAT: один внешний адрес для всего мира и множество внутренних адресов для локальных устройств.

    Как это работает в жизни?

    Ваш провайдер выдает вам один публичный IP-адрес на всю квартиру. Он присваивается вашему роутеру.

    А роутер уже создает свою маленькую «внутреннюю империю» (локальную сеть) и раздает вашим устройствам частные адреса (обычно они начинаются на 192.168... или 10...).

    Когда вы открываете сайт Google:

  • Ваш телефон (с частным адресом 192.168.1.5) отправляет запрос роутеру.
  • Роутер берет ваш запрос, подменяет адрес отправителя на свой Публичный адрес и отправляет его в Интернет.
  • Google отвечает на публичный адрес роутера.
  • Роутер вспоминает: «Ага, это просил телефон» и пересылает ответ вам.
  • Этот процесс подмены адресов называется NAT (Network Address Translation).

    Итоги

    Давайте соберем всё в одну простую таблицу, чтобы закрепить материал.

    | Характеристика | MAC-адрес | IP-адрес | | :--- | :--- | :--- | | Аналогия | Паспорт, отпечатки пальцев | Почтовый адрес, номер в отеле | | Меняется ли? | Нет (зашит на заводе) | Да (зависит от сети, к которой подключены) | | Где работает? | Только в локальной сети (рядом) | Во всем Интернете (глобально) | | Кто назначает? | Производитель устройства | DHCP-сервер (роутер) или администратор |

    Теперь вы знаете, что когда вы подключаетесь к Wi-Fi, происходит целая магия: ваш «паспорт» (MAC) предъявляется роутеру, «администратор» (DHCP) выдает вам временный «номер» (IP), а «консьерж» (NAT) обеспечивает вашу связь с внешним миром через один общий адрес.

    В следующей статье мы разберем, как именно данные путешествуют по миру и кто такие «регулировщики» интернета — маршрутизаторы.

    3. Железо интернета: чем отличается роутер от коммутатора и как работает Wi-Fi

    Железо интернета: чем отличается роутер от коммутатора и как работает Wi-Fi

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

    Многие называют любое устройство, раздающее интернет, «роутером» или «модемом». Но на самом деле в сетевом мире существует четкая иерархия устройств. Сегодня мы разберем эволюцию сетевого «железа»: от глупого концентратора до умного роутера, и узнаем, как именно радиоволны Wi-Fi пробиваются через стены вашей квартиры.

    Эволюция общения: Хаб, Свитч и Роутер

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

    1. Концентратор (Hub): Сетевой крикун

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

    Представьте, что вы работаете в офисе, где сидят 5 сотрудников. Хаб работает по принципу «глухого телефона» наоборот. Когда компьютер А хочет отправить файл компьютеру Б, хаб не разбирается, кому адресовано послание. Он просто берет сигнал и копирует его во все свои порты.

    Это похоже на человека, который заходит в комнату и кричит во все горло: «ЭЙ, ТУТ ПИСЬМО ДЛЯ ПЕТИ!». Это слышат все: и Маша, и Вася, и Оля. Они вынуждены отвлечься, проверить, не Пети ли они, и только Петя забирает письмо. Остальные игнорируют крик.

    Минусы хаба: * Нет приватности: Все компьютеры могут перехватить чужие данные. * Заторы: Если все начнут кричать одновременно, никто ничего не услышит (это называется коллизией).

    2. Коммутатор (Switch): Умный секретарь

    На смену хабам пришли Коммутаторы (или свитчи). Внешне они выглядят так же — коробочка с кучей разъемов для кабелей. Но внутри у них есть «мозги».

    Коммутатор работает на уровне MAC-адресов (тех самых «паспортных данных», о которых мы говорили в прошлой статье). Когда вы впервые подключаете компьютер к свитчу, свитч запоминает: «Ага, устройство с MAC-адресом AA:BB:CC сидит на проводе №1».

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

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

    !Визуальное сравнение: Хаб рассылает спам всем, Свитч доставляет точно адресату.

    > Важно: Коммутатор создает локальную сеть (LAN). Он позволяет устройствам общаться внутри квартиры или офиса. Но он не умеет выходить в Интернет.

    3. Маршрутизатор (Router): Пограничный контроль

    Вот мы и добрались до главного героя. Роутер (от англ. route — маршрут) — это устройство, которое соединяет разные сети. Чаще всего он соединяет вашу домашнюю сеть (LAN) с глобальной сетью провайдера (WAN).

    Если свитч — это секретарь внутри офиса, то роутер — это начальник почтового отделения, который знает, как отправить письмо в другой город или страну.

    Роутер работает с IP-адресами. Его главные задачи:

  • Маршрутизация: Выбор пути для данных. Если вы открываете сайт, сервер которого находится в США, роутер знает, какому следующему узлу передать пакет, чтобы он дошел до цели.
  • NAT: Как мы обсуждали в прошлой статье, роутер прячет все ваши домашние устройства за одним публичным IP-адресом.
  • DHCP: Раздает внутренние адреса вашим телефонам и ноутбукам.
  • Секрет вашей домашней коробочки

    «Подождите, — скажете вы. — У меня дома стоит одна коробка, в нее воткнут кабель провайдера, и в нее же я втыкаю компьютер, и она же раздает Wi-Fi. Кто она?»

    То, что мы в быту называем «Wi-Fi роутером», на самом деле — комбайн 3-в-1.

    Внутри этого пластикового корпуса спрятаны:

  • Маршрутизатор: Порт WAN (обычно синий или желтый), куда входит интернет.
  • Коммутатор: Несколько портов LAN (обычно 4 штуки), куда вы подключаете компьютеры проводами.
  • Точка доступа (Access Point): Антенны, которые превращают электрический сигнал в радиоволны.
  • !Устройство домашнего интернет-центра: три функции в одном корпусе.

    Wi-Fi: Интернет по воздуху

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

    Частота и длина волны

    Wi-Fi работает на очень высоких частотах. Основных стандарта два: 2.4 ГГц (Гигагерц) и 5 ГГц.

    Что такое 2.4 ГГц? Это значит, что волна колеблется 2.4 миллиарда раз в секунду. В физике есть простая зависимость: чем выше частота, тем больше данных можно передать, но тем хуже волна проходит сквозь препятствия.

    Эту зависимость можно описать формулой длины волны:

    Где (лямбда) — это длина волны (расстояние между гребнями волны), — скорость света (примерно 300 000 км/с), а — частота сигнала.

    Давайте переведем это на человеческий язык:

    * 2.4 ГГц: Длина волны около 12 см. Это «длинные» и «гибкие» волны. Они лучше огибают препятствия и проходят сквозь стены. Но этот диапазон похож на узкую дорогу в час пик — там «сидят» не только соседские роутеры, но и микроволновки, радионяни и Bluetooth-устройства. Скорость здесь ниже. * 5 ГГц: Длина волны около 6 см. Волны короче. Они несут больше данных (скорость выше!), но любая бетонная стена для них — серьезная преграда. Зато эта «дорога» шире и свободнее.

    Каналы: Полосы движения

    Представьте диапазон 2.4 ГГц как шоссе. Это шоссе разделено на полосы — каналы. Всего их обычно 13.

    Проблема в том, что эти полосы очень узкие. Если ваш роутер работает на 6-м канале, он своими «широкими плечами» задевает 4, 5, 7 и 8 каналы. Если ваш сосед за стеной тоже настроил роутер на 6-й канал (или на 5-й), ваши сигналы будут сталкиваться, как машины в ДТП. Интернет начнет «тормозить».

    В диапазоне 5 ГГц полос гораздо больше, и они не пересекаются так сильно. Поэтому в многоквартирных домах 5 ГГц — это спасение.

    !Зашумленность эфира: почему в многоэтажках интернет работает хуже на частоте 2.4 ГГц.

    Безопасность: Зачем нужен пароль?

    В проводной сети (LAN), чтобы украсть ваши данные, хакеру нужно физически проникнуть в квартиру и воткнуть кабель в ваш свитч. В Wi-Fi сети сигнал летит во все стороны, в том числе к соседям и на лавочку у подъезда.

    Без пароля любой человек в радиусе действия может перехватить ваши данные. Именно поэтому используется шифрование (вы наверняка видели аббревиатуры WPA2 или WPA3 в настройках).

    Когда вы вводите пароль от Wi-Fi, вы не просто «входите» в сеть. Вы даете своему телефону и роутеру секретный ключ, с помощью которого они шифруют всё общение. Для постороннего наблюдателя ваш трафик превращается в бессмысленную кашу из символов.

    Итоги

    Сегодня мы разобрали физическую основу интернета:

  • Хаб — устаревший «крикун», рассылающий данные всем подряд.
  • Свитч (Коммутатор) — умное устройство для локальной сети, доставляющее данные точно адресату по MAC-адресу.
  • Роутер (Маршрутизатор) — шлюз в Интернет, работающий с IP-адресами и соединяющий разные сети.
  • Домашний роутер — это устройство 3-в-1 (Роутер + Свитч + Wi-Fi).
  • Wi-Fi — это радиоволны. 2.4 ГГц — дальнобойные, но медленные и зашумленные. 5 ГГц — быстрые, но боятся стен.
  • Теперь, когда мы понимаем, как устройства соединены физически и как они находят друг друга по адресам, нам осталось разобраться с самым главным: как именно они договариваются о передаче сайтов, картинок и видео. В следующей статье мы погрузимся в мир Протоколов и узнаем, что такое TCP/IP, HTTP и почему DNS — это телефонная книга интернета.

    4. Правила общения: протоколы TCP/IP и UDP на примерах доставки пиццы и видеозвонков

    Правила общения: протоколы TCP/IP и UDP на примерах доставки пиццы и видеозвонков

    В предыдущих статьях мы проделали большой путь. Мы построили сеть из кабелей и Wi-Fi, научились присваивать устройствам имена (IP и MAC-адреса) и даже поставили «регулировщиков» в виде роутеров. Но есть одна проблема: наши устройства подключены, но еще не знают, как именно им общаться.

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

    В компьютерных сетях эти правила называются протоколами транспортного уровня. Сегодня мы разберем двух главных гигантов, на которых держится весь интернет: TCP и UDP. И сделаем мы это на примере заказа пиццы и видеозвонка бабушке.

    Транспортный уровень: Логистика данных

    Давайте вспомним нашу аналогию с почтой.

    * IP-адрес — это адрес дома, куда нужно доставить посылку. * Роутер — это грузовик, который везет посылку.

    Но как именно должна быть вручена посылка?

  • Нужно ли курьеру убедиться, что вы лично получили её в руки и расписались?
  • Или достаточно просто бросить её через забор и уехать, чтобы сэкономить время?
  • Именно этот выбор делают программы на вашем компьютере каждую секунду. Для этого у них есть два инструмента: надежный зануда TCP и безбашенный гонщик UDP.

    TCP: Надежный доставщик пиццы

    TCP (Transmission Control Protocol — протокол управления передачей) — это самый популярный протокол в интернете. Если вы читаете этот текст, он загрузился благодаря TCP.

    Главная фишка TCP — гарантированная доставка. Этот протокол — перфекционист. Он не успокоится, пока не убедится, что каждый байт информации дошел до получателя в правильном порядке и без ошибок.

    Как работает TCP?

    Представьте, что вы заказываете пиццу. Процесс доставки по правилам TCP выглядел бы так:

  • Установка соединения (Рукопожатие):
  • * Вы звоните в пиццерию: «Привет, я хочу сделать заказ». * Пиццерия отвечает: «Привет, мы вас слышим, готовы принять заказ». * Вы подтверждаете: «Отлично, тогда начинаю диктовать». Только после этого диалога начинается передача данных.

  • Передача данных с подтверждением:
  • * Курьер привозит пиццу. Он не просто оставляет её у двери. Он звонит в дверь, ждет, пока вы откроете, передает коробку и просит расписаться в чеке. * Если вы не открыли дверь, курьер не выбрасывает пиццу. Он будет звонить снова и снова.

  • Восстановление потерь:
  • * Представьте, что вы заказали пиццу из 8 кусков. Курьер привез коробку, вы открываете, а там не хватает 5-го куска. * В мире TCP вы говорите курьеру: «Эй, где 5-й кусок?». Курьер не уезжает. Он звонит на базу, и ему привозят именно этот недостающий кусок. Только когда у вас есть все 8 кусков в правильном порядке, заказ считается выполненным.

    !Визуализация трехэтапного рукопожатия TCP и процесса подтверждения доставки данных.

    Где используется TCP?

    TCP используется везде, где точность важнее скорости.

    * Загрузка веб-сайтов: Вы же не хотите, чтобы на странице пропала половина текста? * Электронная почта: Письмо должно прийти целиком, а не обрывками. * Скачивание файлов: Если в скачанной игре пропадет хоть один байт, она просто не запустится.

    Минус TCP: Из-за всех этих «рукопожатий», проверок и подтверждений он работает относительно медленно. Ему нужно время на «бюрократию».

    UDP: Видеозвонок и скорость света

    UDP (User Datagram Protocol — протокол пользовательских датаграмм) — это полная противоположность TCP. Его девиз: «Скорость любой ценой».

    UDP не устанавливает соединение заранее. Он не проверяет, дошли ли данные. Он просто «стреляет» данными в сторону получателя, как из пулемета.

    Как работает UDP?

    Представьте, что вы созваниваетесь с другом по видеосвязи в Skype или Zoom.

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

    * Если какой-то пакет потерялся по дороге (например, на секунду пропал звук или картинка «рассыпалась» на квадратики) — UDP не будет его восстанавливать. Почему? Потому что это бессмысленно. Пока мы будем просить повторить потерянную секунду видео, разговор уже уйдет вперед. Вам не нужно слышать то, что друг сказал 3 секунды назад, вам важно слышать то, что он говорит сейчас*.

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

    !Иллюстрация разницы подходов: надежность против скорости.

    Где используется UDP?

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

    * Онлайн-игры: В шутере важно знать, где противник находится прямо сейчас. Если пакет с координатами потерялся, старые координаты уже не нужны. * Потоковое видео и аудио (YouTube, Spotify): Лучше пропустить один кадр, чем остановить все видео на буферизацию. * Видеозвонки: Zoom, Skype, Telegram calls.

    Сравнение TCP и UDP

    Давайте сведем знания в таблицу, чтобы было проще запомнить.

    | Характеристика | TCP (Надежный) | UDP (Быстрый) | | :--- | :--- | :--- | | Аналогия | Заказное письмо с уведомлением | Выстрел из пушки | | Гарантия доставки | Да (100%) | Нет (как повезет) | | Порядок данных | Строго по порядку (1, 2, 3...) | Хаотично (кто первый долетел) | | Скорость | Медленнее (тратит время на проверки) | Максимально быстрая | | Примеры | Сайты, почта, файлы, мессенджеры (текст) | Видео, звонки, онлайн-игры |

    Порты: Квартиры в многоэтажке

    Мы разобрались, как данные доставляются (надежно или быстро). Но остался один вопрос.

    Представьте, что на вашем компьютере одновременно открыты:

  • Браузер с любимым сайтом.
  • Spotify с музыкой.
  • Telegram.
  • По кабелю в компьютер прилетает поток нулей и единиц. Как компьютер понимает, какие данные отдать браузеру (чтобы показать картинку), а какие — Spotify (чтобы сыграть песню)? Ведь IP-адрес у компьютера один!

    Здесь на сцену выходят Порты.

    Если IP-адрес — это номер дома, то Порт — это номер квартиры внутри этого дома.

    У каждого пакета данных, который летит по сети, есть не только адрес получателя (IP), но и порт получателя. Операционная система смотрит на порт и направляет данные нужной программе.

    Популярные порты

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

    * Порт 80 (HTTP): Обычные веб-сайты. Когда вы вводите адрес сайта, браузер стучится в «квартиру №80» сервера. * Порт 443 (HTTPS): Защищенные веб-сайты (с замочком). Сейчас это стандарт для всего интернета. * Порт 25 (SMTP): Отправка электронной почты. * Порт 53 (DNS): Система доменных имен (о ней — в следующей статье).

    > Представьте сервер как огромный офисный центр. На 80-м этаже сидит отдел выдачи веб-страниц. На 25-м этаже — почтовый отдел. Когда ваш запрос приходит на сервер, вахтер смотрит на номер порта и говорит: «Вам на 80-й этаж».

    Математика надежности (для любознательных)

    В протоколе TCP есть понятие «Окно» (Window Size). Это количество данных, которое можно отправить без подтверждения.

    Представьте формулу пропускной способности:

    Где: * — пропускная способность (сколько данных мы реально передаем в секунду). * (Window Size) — размер окна (сколько данных отправили «в долг», пока не получили подтверждение). * (Round Trip Time) — время, которое сигнал идет туда и обратно.

    Эта формула объясняет, почему интернет может тормозить, даже если канал широкий. Если большой (сервер очень далеко, например, в Австралии), то мы вынуждены долго ждать подтверждения получения каждого куска данных, и общая скорость падает, даже если кабель толстый. TCP пытается оптимизировать это, меняя размер окна на ходу.

    Итоги

    Сегодня мы узнали правила дорожного движения в интернете:

  • Протоколы — это правила общения устройств.
  • TCP — это надежный протокол. Он гарантирует доставку, расставляет все по порядку и восстанавливает потери. Идеален для текстов и файлов.
  • UDP — это быстрый протокол. Он жертвует надежностью ради скорости. Идеален для видео и игр.
  • Порты — это «номера квартир» для приложений, чтобы компьютер знал, какой программе отдать пришедшие данные.
  • Теперь у нас есть почти полная картина: есть железо, есть адреса, есть правила доставки. Но мы до сих пор обращаемся к серверам по сухим цифрам IP-адресов. Как же мы запоминаем названия вроде google.com вместо 142.250.74.46?

    Об этом — в следующей статье про DNS, телефонную книгу интернета.

    5. Магия браузера: как работают DNS, HTTP и что происходит при вводе адреса сайта

    Магия браузера: как работают DNS, HTTP и что происходит при вводе адреса сайта

    Мы прошли долгий путь. Мы знаем, как компьютеры соединяются проводами, как они получают IP-адреса и как протокол TCP гарантирует доставку данных. Но давайте будем честны: обычный пользователь никогда не вводит в строку браузера что-то вроде 142.250.74.46. Мы пишем google.com, vk.com или youtube.com.

    Сегодня мы разберем последний, самый верхний уровень интернета — Прикладной уровень. Мы узнаем, как ваш браузер превращает понятные слова в IP-адреса, на каком языке он общается с серверами и что на самом деле происходит в те доли секунды, пока крутится значок загрузки страницы.

    DNS: Телефонная книга интернета

    Вспомните, как вы звоните друзьям. Вы не помните наизусть номера телефонов всех своих знакомых. Вы ищете в контактах имя «Мама» или «Иван Работа», нажимаете на него, и телефон сам подставляет нужный номер.

    В интернете работает точно такая же система. Она называется DNS (Domain Name System — Система доменных имен).

    Компьютеры не понимают человеческих слов. Им нужны цифры — IP-адреса. Но людям неудобно запоминать наборы цифр. DNS — это служба-переводчик, которая связывает доменное имя (например, yandex.ru) с IP-адресом сервера (например, 77.88.55.242).

    Иерархия: Как найти нужный номер?

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

    Представьте, что вы ищете адрес человека по имени Иван.Петров.Москва.РФ.

  • Корневой сервер (Root): Это самый главный начальник. Он не знает, где живет Иван, но он знает, кто отвечает за зону .РФ. Он отправляет вас туда.
  • TLD-сервер (Top Level Domain): Это сервер, отвечающий за домены верхнего уровня (.ru, .com, .org). Он говорит: «Я не знаю Ивана, но я знаю сервер, который управляет всеми адресами в Москва.РФ».
  • Авторитетный сервер (Authoritative): Это сервер конкретной компании или провайдера. Он открывает свой список и говорит: «Ага, Иван Петров живет по адресу 192.168.1.1».
  • !Иерархическая структура системы доменных имен.

    Кэширование: Зачем спрашивать дважды?

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

    Если вы один раз узнали, где находится vk.com, ваш браузер запишет это в свой блокнотик: «vk.com — это 87.240.137.158. Помнить 1 час». Это время хранения записи называется TTL (Time To Live).

    HTTP: Язык общения

    Хорошо, мы узнали IP-адрес сервера. Мы постучались к нему в дверь (используя TCP-рукопожатие, о котором говорили в прошлой статье). Дверь открылась. Что дальше?

    Нужно что-то сказать. Если вы просто будете молчать, сервер закроет соединение. Для общения браузеры и серверы используют протокол HTTP (HyperText Transfer Protocol — протокол передачи гипертекста).

    Лучшая аналогия для HTTP — это поход в ресторан.

    Клиент и Сервер

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

    Методы запроса: Чего изволите?

    В языке HTTP есть несколько основных глаголов (методов), с помощью которых клиент объясняет, что он хочет:

  • GET (Дай): Самый частый запрос. «Принеси мне главную страницу», «Принеси мне эту картинку с котиком». Вы ничего не меняете на сервере, просто просите показать контент.
  • POST (Отправь): Вы передаете данные серверу для обработки. Например, когда вы вводите логин и пароль и нажимаете «Войти», или когда загружаете фотографию в соцсеть.
  • Коды ответов: Реакция официанта

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

    * 200 OK: «Всё отлично, вот ваш заказ». Самый желанный ответ, который мы обычно не видим (страница просто открывается). * 301 Moved Permanently: «Мы переехали». Сервер говорит браузеру, что страница теперь находится по новому адресу, и браузер автоматически переходит туда. * 404 Not Found: «Такого блюда нет в меню». Вы запросили страницу, которой не существует. * 500 Internal Server Error: «На кухне пожар». Ошибка на стороне сервера. Вы всё сделали правильно, но сервер сломался и не может выполнить заказ.

    !Схематичное изображение HTTP-запроса и ответа.

    HTTPS: Секретный разговор

    Обычный HTTP похож на передачу записок в классе. Любой, кто сидит между вами и получателем (например, злобный одноклассник или хакер в кафе с Wi-Fi), может перехватить записку и прочитать её. А если там пароль от банка?

    Поэтому сейчас почти весь интернет использует HTTPS (буква S означает Secure — безопасный).

    HTTPS берет обычное сообщение HTTP и упаковывает его в непробиваемый сейф шифрования (SSL/TLS). Теперь, даже если хакер перехватит ваши данные по пути, он увидит лишь бессмысленный набор символов.

    > Если вы видите значок замочка в адресной строке браузера — вы используете HTTPS. Ваши данные зашифрованы.

    Полная картина: Что происходит, когда вы нажимаете Enter?

    Давайте соберем все знания из нашего курса в единый сценарий. Вы открываете браузер и вводите google.com.

  • Поиск в кэше: Браузер проверяет, не заходили ли вы сюда недавно. Если адрес есть в памяти, шаг 2 пропускается.
  • DNS-запрос: Если адреса нет, браузер кричит операционной системе: «Кто такой google.com?». Система спрашивает у DNS-сервера провайдера. Тот, если нужно, проходит по цепочке серверов и возвращает IP-адрес: 142.250.74.46.
  • Установка соединения (TCP): Браузер знает адрес и порт (для HTTPS это порт 443). Он отправляет серверу Google предложение «познакомиться» (TCP Handshake). Они договариваются о правилах передачи.
  • Шифрование (TLS): Если используется HTTPS, происходит обмен ключами шифрования. Теперь никто третий их не поймет.
  • HTTP-запрос: Браузер отправляет зашифрованное сообщение: GET / (главная страница).
  • Обработка сервером: Сервер Google получает запрос, понимает его, собирает нужную HTML-страницу, добавляет туда логотип и строку поиска.
  • HTTP-ответ: Сервер отправляет данные обратно вам с кодом 200 OK.
  • Рендеринг: Ваш браузер получает код страницы и начинает рисовать её на экране: здесь будет кнопка, здесь текст, а здесь картинка.
  • Всё это происходит за сотни миллисекунд.

    Итоги курса

    Поздравляю! Мы прошли путь от физического кабеля до загрузки веб-сайта.

    * Мы узнали, что сеть — это связь устройств (LAN/WAN). * Мы поняли, что у каждого есть физический паспорт (MAC) и адрес проживания (IP). * Мы разобрались, как роутеры строят маршруты. * Мы увидели, как TCP гарантирует доставку данных. * И сегодня мы выяснили, что DNS — это телефонная книга, а HTTP — язык общения браузера.

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