Урок 1 — Что такое сеть

Прежде чем учить IP, DNS, TCP и сорок других страшных аббревиатур — давай разберёмся, что такое сеть в принципе. Без этого фундамента всё остальное превратится в зазубривание.

В этом уроке
  1. Сеть — это просто
  2. Хост, узел, устройство
  3. Пакет — единица обмена
  4. Клиент и сервер
  5. LAN, WAN, интернет
  6. Зачем нужны «уровни»
  7. Что с этим делает DevOps
  8. Чек-лист «понимаю это»
  9. Мини-лаба: потрогай сеть руками
  10. Задачи с ответами
  11. Словарик

1. Сеть — это просто

Компьютерная сеть — это два или больше компьютера, которые соединены между собой и могут обмениваться данными. Всё. Не больше и не меньше.

Если у тебя дома есть Wi-Fi и к нему подключены ноутбук и телефон — это уже сеть. Если эта Wi-Fi подключена к интернету — твоя сеть соединена с миллионами других сетей по всему миру. Этот «соединённый мир сетей» и называется Интернет (буквально «между-сеть», от англ. inter + net).

Простейшая сеть 💻 Ноутбук 📱 Телефон данные 2 устройства = уже сеть Домашняя сеть 📡 Роутер 💻 📱 🖥️ 📺 → интернет
Слева — два устройства уже образуют сеть. Справа — типичная домашняя сеть с роутером.
Аналогия

Сеть = дороги между домами

Представь сеть как систему дорог. Каждый компьютер — это дом. Дороги между ними — каналы связи (кабели, Wi-Fi). Перекрёстки и развязки — роутеры и коммутаторы. То, что ездит по дорогам — пакеты данных.

Все остальные понятия — IP, маршруты, фаерволы — это «правила дорожного движения». Если ты держишь в голове картинку дорог и едущих по ним машин, ты не запутаешься.

2. Хост, узел, устройство

Когда мы говорим «компьютер в сети», правильнее говорить хост (англ. host). Хостом может быть что угодно с сетевым адресом: ноутбук, сервер, телефон, IP-камера, умный холодильник, принтер, да хоть лампочка, если у неё есть Wi-Fi.

Хост (host)

Любое устройство, которое подключено к сети и имеет адрес. Источник и/или получатель данных.

Узел (node)

Шире: любая точка в сети, включая промежуточные устройства, которые сами по себе не отправляют данные (роутеры, коммутаторы).

Простое правило: каждый хост — это узел, но не каждый узел — это хост. Твой ноутбук — хост. Роутер у тебя дома — узел (точнее, тоже хост, но промежуточный).

Зачем эти слова

В документации, статьях и собеседованиях говорят именно «хост», «узел», «эндпоинт» (endpoint — конечная точка). Привыкай. Когда говорят «host name» — речь о текстовом имени машины (например web-01.example.com), а не о её IP.

3. Пакет — единица обмена

Когда ты загружаешь сайт, ты не получаешь его «одним куском». Данные дробятся на маленькие порции, и каждая порция отправляется отдельно. Эта порция называется пакет (англ. packet).

Пакет — это конверт. У него есть:

📦 Один пакет От кого: 192.168.1.50 Кому: 93.184.216.34 № пакета: 3 из 12 Контр. сумма: a3f9b7… [ часть HTML-страницы… ] Поток пакетов 1 2 3 4 5 Один сайт = десятки пакетов Большой файл = тысячи и миллионы На той стороне: пакеты собираются по № в исходный документ
Слева — структура одного пакета. Справа — данные дробятся на множество пакетов, которые на той стороне собираются обратно.

Почему так? Если бы мы отправляли всё одним «куском», то:

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

Любые данные в сети — это пакеты. Видео, страница, голос в звонке, команда git pull — всё это летит по сети как поток конвертов с адресами.

4. Клиент и сервер

Самая частая модель общения в сети — клиент-сервер. Тебе нужно её понять как «таблицу умножения» — она будет всплывать в каждой следующей теме.

🙋 Клиент

Запрашивает данные или действие. Браузер, мобильное приложение, твой curl в терминале — это клиенты.

🖥️ Сервер

Отдаёт данные или выполняет действие. Постоянно слушает запросы и отвечает. Web-сервер, БД, API — это серверы.

💻 Клиент браузер 🖥️ Сервер web-сервер → GET /page.html «дай мне страницу» ← 200 OK + HTML Клиент инициирует, сервер слушает и отвечает
Модель «клиент-сервер»: клиент задаёт вопрос, сервер отвечает.

Несколько важных нюансов:

Аналогия

Клиент-сервер = посетитель и официант

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

А есть другие модели?

Да. Менее распространённые, но знать стоит:

Но 95% твоей работы будет с клиент-серверной моделью. Запомни её надёжно.

5. LAN, WAN, интернет

Сети различаются по масштабу. Это нужно знать, чтобы потом не путаться, когда увидишь «VPC», «private subnet», «public IP».

LAN — Local Area Network Дом / офис / квартира 💻 📱 🖨️ 📺 📡 Роутер Wi-Fi / Ethernet WAN — Wide Area Network Провайдер, город, страна 🏢 🏢 🏢 🏢 🏢 кабели провайдеров Интернет 🌍 все WAN в одном клубке От локальной сети к мировой — масштабы вложены друг в друга
Иерархия сетей: LAN (твой дом) → WAN (провайдер/город) → Интернет (мировая сеть сетей).
LAN Local Area Network — локальная сеть. Маленькая, ограниченная по площади: дом, офис, кампус. Высокая скорость, низкие задержки. Контролируется одним владельцем.
WAN Wide Area Network — глобальная (территориально протяжённая) сеть. Соединяет много LAN. Города, страны. Провайдеры строят WAN-инфраструктуру.
MAN Metropolitan Area Network — городского масштаба, между LAN и WAN. На практике встречается редко, мало где упоминается.
VPN Virtual Private Network — виртуальная «своя» сеть, проложенная поверх публичного интернета. Позволяет двум удалённым LAN общаться так, будто они в одной комнате. Подробнее — в уроке про шифрование и в Roadmap.
VPC Virtual Private Cloud — твой кусочек сети в облаке (AWS, GCP, Azure). По сути — LAN, но не в твоём офисе, а в дата-центре провайдера. Обязательное понятие для облачного DevOps.

6. Зачем нужны «уровни» (модель OSI и TCP/IP)

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

Зачем слои? Чтобы упростить мышление. Один слой не знает, как работает другой — он просто использует его как «чёрный ящик». Это как готовить еду: тебе не нужно знать, как делается мука, чтобы испечь хлеб.

4 уровня сети (модель TCP/IP — упрощённо) 4. Прикладной HTTP, DNS, SSH, SMTP — то, что видит пользователь и приложение «что я хочу сказать» 3. Транспортный TCP, UDP — кому именно в приложении, гарантии доставки «как доставить надёжно» 2. Сетевой (Internet) IP, маршрутизация — найти путь от хоста A к хосту B «как найти получателя» 1. Канальный (Link) Ethernet, Wi-Fi — физическая передача битов по проводу или радио «как протолкнуть биты» Каждый уровень опирается на нижний и не лезет в его дела
Модель TCP/IP — 4 слоя, на которые удобно разложить «как работает интернет».

Когда ты загружаешь страницу:

  1. На прикладном уровне браузер делает HTTP-запрос «дай /index.html»
  2. На транспортном уровне этот запрос упаковывается в TCP (с номерами, чтобы можно было собрать обратно)
  3. На сетевом уровне ему приклеивается IP — адрес получателя и отправителя
  4. На канальном уровне Ethernet/Wi-Fi прокидывает биты до ближайшего узла

На приёмной стороне всё разбирается в обратном порядке — снизу вверх.

Не зубри сейчас

Сейчас не нужно запоминать названия. Тебе достаточно понять, что сеть — это слои, и каждый отвечает за свою часть работы. Подробно про OSI / TCP-IP — в Roadmap, модуль 02 Networking, после того как ты дойдёшь до сюда.

7. Что с этим делает DevOps / DevSecOps

«Окей, я понял что такое сеть и пакет. А мне зачем это знать?» — спросишь ты. Вот зачем.

Реальные задачи, где это всплывает каждый день

Поэтому каждый Senior DevSecOps умеет нарисовать на доске диаграмму обмена пакетами и объяснить, что происходит в каждой точке. Через 8 уроков — ты сможешь так же.

8. Чек-лист «понимаю это»

Проставь галочки. Если хоть одна не отмечена — вернись к соответствующему разделу.

9. Мини-лаба: потрогай сеть руками прямо сейчас

10 минут практики закрепят урок лучше трёх перечитываний. Открой терминал: в Windows нажми Win+R, набери cmd, Enter. В macOS — приложение «Терминал», в Linux — ты и так знаешь. Для каждого шага написано, что ты должен увидеть — сверяйся.

Найди свой хост в сети
Набери ipconfig (Windows) или ip addr (Linux/macOS: ifconfig). Найди строку «IPv4-адрес» — что-то вроде 192.168.1.10. Это адрес твоего компьютера-хоста в твоей LAN. Запиши его — пригодится в следующих уроках.
Отправь первые пакеты
ping 8.8.8.8 — ты только что отправил 4 пакета серверу Google и получил 4 ответа. Смотри на time=15ms — столько миллисекунд конверт ехал туда и обратно. Это называется задержка (latency). Сравни: ping до адреса своего роутера (найдёшь его в выводе ipconfig как «Основной шлюз») — будет 1–5 мс: внутри LAN близко, через город — дальше.
Посмотри на дорогу из «дворов» и «трасс»
tracert 8.8.8.8 (Windows) или traceroute 8.8.8.8. Каждая строка — узел (роутер), через который проехали твои пакеты. Первая строка — твой домашний роутер (LAN), дальше — сеть провайдера (WAN), в конце — сервер Google (интернет). Ты буквально видишь иерархию из раздела 5 своими глазами.
Стань клиентом без браузера
curl example.com (в Windows 10+ curl встроен). На экран вывалится HTML — это тот самый ответ сервера из модели «клиент-сервер». Браузер делает ровно то же самое, только потом красиво рисует этот HTML.
А теперь стань сервером (если есть Python)
Набери python -m http.server 8000 и открой в браузере http://localhost:8000. Поздравляю: твой ноутбук теперь и клиент (браузер), и сервер (python) одновременно. Останови сервер: Ctrl+C.

Не всё понял в выводе команд? Это нормально и так задумано: через 7 уроков ты будешь читать его как привычный текст. Главное — ты увидел, что сеть отвечает тебе, живая.

10. Задачи — реши сам (ответы спрятаны)

Задача 1. В квартире: ноутбук, телефон, телевизор, умная колонка и Wi-Fi-роутер. Сколько здесь хостов?

Пять. Всё, что имеет сетевой адрес, — хост. Роутер — тоже хост (промежуточный), он и сам принимает/отправляет данные (например, когда ты заходишь в его настройки). А вот кабель и Wi-Fi-волны — не хосты, это каналы связи.

Задача 2. Файл 3 МБ разбился при отправке на ~2000 пакетов, один потерялся в пути. Придётся перекачивать весь файл?

Нет — только один пакет. У каждого пакета есть номер, поэтому получатель видит, какого куска не хватает, и просит переслать именно его. Это главное преимущество пакетной коммутации. (Как именно устроен этот «пересчёт» — узнаешь в уроке 4 про TCP.)

Задача 3. Ты смотришь видео на YouTube. Кто здесь клиент, а кто сервер? А когда вы с другом созвонились по видеосвязи напрямую?

YouTube: твой браузер — клиент (запрашивает), серверы YouTube — сервер (отдают видео). Прямой видеозвонок — модель P2P: оба участника одновременно и отправляют свой видеопоток (как сервер), и принимают чужой (как клиент).

Задача 4. Почему «сервер молчит, пока его не спросят» — это принцип безопасности?

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

Задача 5. Домашний Wi-Fi — это LAN или WAN? Сеть провайдера по городу? А VPC в облаке AWS?

Wi-Fi дома — LAN (маленькая, одна квартира, один владелец). Сеть провайдера — WAN (город/страна). VPC — по сути LAN, но в дата-центре облака: твой изолированный кусочек сети, который ты полностью контролируешь.

Задача 6. Бабушка говорит: «у меня пропал Wi-Fi» — а на самом деле не открываются сайты, хотя значок Wi-Fi горит. Wi-Fi и интернет — одно и то же?

Нет. Wi-Fi — это канал связи внутри LAN (радио вместо кабеля до роутера). Интернет — связь роутера с миром. Wi-Fi может отлично работать, а кабель провайдера — лежать. Диагноз по слоям: до роутера связь есть (Wi-Fi горит), дальше — нет. Такое «мышление слоями» — главный навык, который ты унесёшь из этого пути.

11. Словарик урока (термины + английский)

Английские термины — не для галочки: вся документация, логи и половина собеседований — на них.

сеть · networkдва и более устройств, соединённых для обмена данными
хост · hostлюбое устройство с сетевым адресом — источник или получатель данных
узел · nodeлюбая точка сети, включая промежуточные (роутеры, коммутаторы)
пакет · packetпорция данных с адресами и служебными полями — «конверт»
полезная нагрузка · payloadсодержимое пакета — сами данные без служебной обёртки
клиент · clientтот, кто инициирует запрос (браузер, curl, приложение)
сервер · serverтот, кто слушает и отвечает (web-сервер, БД, API)
задержка · latencyвремя путешествия пакета, измеряется в миллисекундах (time= в ping)
эндпоинт · endpointконечная точка общения; в API — конкретный URL, в сети — конечный хост
Сеть — это компьютеры (хосты), соединённые каналами связи (провода, Wi-Fi), которые обмениваются пакетами по модели «клиент-сервер». Всё устроено слоями, каждый слой решает свою задачу.
Мост к следующему уроку

На каждом «конверте»-пакете написан адрес — ты уже видел его в лабе: 192.168.1.10, 8.8.8.8. Но что это за числа? Почему их четыре и почему до 255? Почему у тебя и у соседа дома адреса одинаковые — и это не ломает интернет? Разберём в уроке 2 — это фундамент всего, что будет дальше.

← Назад
К оглавлению пути