Модуль 01 — Сеть и модели OSI, TCP/IP

Карта, по которой будем разбирать любую сетевую проблему

Прогресс курса Модуль 1 из 9

Что вы освоите в этом модуле

01

Что такое сеть

Компьютерная сеть — узлы, соединённые каналами связи и договорившиеся о правилах обмена данными. Узел — любое устройство с сетевым интерфейсом: компьютер, телефон, принтер, камера, сервер. Канал — медный кабель, оптоволокно или радиоэфир. Правила обмена называются протоколами: они определяют формат сообщений, адреса и порядок действий.

ВидМасштабПример
LAN — локальнаяПомещение, зданиеСеть офиса или квартиры за одним роутером
WAN — глобальнаяГорода, страныСеть провайдера, связывающая филиалы; интернет
WLAN — беспроводная локальнаяПомещениеWi-Fi

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

02

Сетевые устройства

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

УстройствоЧитаетЧто делает
Сетевая картаMAC-адресПодключает узел к каналу, принимает кадры, адресованные ему
Коммутатор (switch)MAC-адресСоединяет узлы одной локальной сети, пересылает кадр только в нужный порт
Маршрутизатор (router)IP-адресСоединяет разные сети и выбирает путь между ними
Точка доступа Wi-FiMAC-адресПодключает беспроводных клиентов к проводной сети
Межсетевой экран (firewall)Адреса, порты, иногда содержимоеПропускает или блокирует трафик по правилам

Домашний «роутер» — это все устройства сразу в одной коробке: коммутатор на 4 порта, точка доступа, маршрутизатор в интернет, межсетевой экран, сервер DHCP и DNS-кэш. В офисах и центрах обработки данных эти роли разнесены по отдельным устройствам.

   [ПК]   [ПК]   [принтер]          [ноутбук]
     \      |      /                    ¦ Wi-Fi
      [коммутатор]──────────────[точка доступа]
            │
     [маршрутизатор + межсетевой экран]
            │
       сеть провайдера ── интернет ── [сервер сайта]
03

Инкапсуляция

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

Прикладной     [ GET /index.html HTTP/1.1 ... ]                         данные
Транспортный   [TCP: порт 52144 → 443][ данные ]                       сегмент
Сетевой        [IP: 192.168.1.10 → 188.120.235.218][TCP][ данные ]      пакет
Канальный      [Ethernet: MAC → MAC][IP][TCP][ данные ][FCS]           кадр
Физический     01001101 00101110 ...                                    биты

Блок данных на каждом уровне называется по-своему: кадр — на канальном, пакет — на сетевом, сегмент (TCP) или датаграмма (UDP) — на транспортном. Каждый уровень читает только свой заголовок: коммутатору неважно, что внутри IP-пакета, а маршрутизатору — какой там HTTP-запрос.

04

Модель OSI

Модель OSI делит сетевое взаимодействие на семь уровней. В чистом виде её протоколы почти не используются, но номера уровней стали общим языком: «проблема на втором уровне» значит «с коммутацией и MAC-адресами», «балансировщик седьмого уровня» — «понимает HTTP».

№Уровень OSIЗадачаПротоколы и примеры
7ПрикладнойДанные приложенияHTTP, DNS, SMTP, SSH
6ПредставленияКодирование, шифрованиеTLS, кодировки, сжатие
5СеансовыйУправление сеансомВосстановление сеансов, RPC
4ТранспортныйДоставка между программами, надёжностьTCP, UDP; порты
3СетевойАдресация между сетями, маршрутIP, ICMP; маршрутизатор
2КанальныйДоставка в пределах одной сетиEthernet, Wi-Fi, ARP; коммутатор, MAC
1ФизическийПередача битов по средеКабель, оптика, радио; разъёмы, уровни сигнала
05

Модель TCP/IP

Интернет построен на стеке TCP/IP, в котором четыре уровня: верхние три уровня OSI объединены в прикладной, а канальный и физический — в уровень сетевого доступа.

TCP/IPСоответствует OSIЧто видно в Linux
Прикладной5–7curl, dig, ssh — программы и их протоколы
Транспортный4ss -tan — соединения и порты
Межсетевой3ip addr, ip route, ping
Сетевого доступа1–2ip link, ip neigh — интерфейсы и MAC-адреса

Модель — это карта для диагностики. Неисправность всегда находится на конкретном уровне, и проверять уровни разумно снизу вверх: нет смысла разбираться с сертификатом сайта, если у компьютера нет IP-адреса. Этим порядком будет построен весь курс и модуль 08.

СимптомУровень
Не горит индикатор порта, «кабель не подключён»Физический
Компьютеры в одном коммутаторе не видят друг друга, адреса правильныеКанальный: VLAN, коммутатор
Локальная сеть работает, интернета нетСетевой: шлюз, маршрут, NAT
ping 77.88.8.8 работает, ping ya.ru — нетПрикладной: DNS
Сайт отвечает по IP, но браузер пишет об ошибке сертификатаПрикладной / представления: TLS
06

Что происходит, когда вы открываете сайт

Соберём уровни в одну историю. Пользователь в офисе вводит в браузере https://nevabit.ru/.

По шагам

  • DNS. Браузер не знает адреса сервера. Он спрашивает DNS-сервер: «какой IP у nevabit.ru?» — и получает 188.120.235.218 (модуль 06).
  • Маршрут. Компьютер сравнивает адрес сервера со своей сетью: он чужой, значит, отправлять нужно шлюзу — маршрутизатору офиса (модули 03–04).
  • ARP. Чтобы отправить кадр шлюзу, нужен его MAC-адрес. Компьютер спрашивает широковещательно: «у кого 192.168.1.1?» — и получает ответ (модуль 02).
  • NAT. Маршрутизатор подменяет частный адрес компьютера своим внешним и отправляет пакет провайдеру (модуль 04).
  • Маршрутизация. Пакет проходит через десяток маршрутизаторов разных сетей до сервера (модуль 08: traceroute).
  • TCP. Браузер и сервер устанавливают соединение на порт 443 тройным рукопожатием (модуль 05).
  • TLS. Сервер предъявляет сертификат, браузер проверяет его и договаривается о ключах шифрования (модуль 07).
  • HTTP. Внутри зашифрованного канала идёт запрос GET / и ответ 200 OK со страницей (модуль 07).

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

07

Где смотреть сеть в Linux

Команды, с которыми мы будем работать весь курс, уже есть в Debian или ставятся одним пакетом:

$ ip -br link                # уровень 2: интерфейсы и MAC-адреса
lo               UNKNOWN        00:00:00:00:00:00 <LOOPBACK,UP,LOWER_UP>
ens18            UP             bc:24:11:b2:13:af <BROADCAST,MULTICAST,UP,LOWER_UP>
$ ip -br addr                # уровень 3: IP-адреса
lo               UNKNOWN        127.0.0.1/8 ::1/128
ens18            UP             192.168.116.34/24 fe80::b641:8f47:5a50:a157/64
$ ss -tan | head -4         # уровень 4: соединения
State     Recv-Q Send-Q  Local Address:Port    Peer Address:Port
LISTEN    0      200         127.0.0.1:5432         0.0.0.0:*
LISTEN    0      128           0.0.0.0:22           0.0.0.0:*
ESTAB     0      80     192.168.116.34:22    192.168.116.10:54159

Дополнительные утилиты курса: sudo apt install curl tcpdump traceroute mtr-tiny ipcalc dnsutils. На основной компьютер поставьте Wireshark (wireshark.org) — программу для просмотра захваченного трафика по уровням.

Ключевые выводы модуля

Запомните главное

  • Коммутатор работает с MAC-адресами внутри одной сети, маршрутизатор — с IP-адресами между сетями
  • Инкапсуляция: каждый уровень добавляет свой заголовок; кадр → пакет → сегмент → данные
  • OSI — 7 уровней, TCP/IP — 4; номера OSI — общий язык для описания проблем
  • Открытие сайта — DNS, маршрут, ARP, NAT, маршрутизация, TCP, TLS, HTTP
  • Диагностика идёт снизу вверх: от интерфейса и адреса к приложению
Практические задания — на учебном портале. Задания, критерии оценивания, сдача работ и оценки преподавателя — в курсе на portal.nevabit.ru. Учётную запись выдаёт преподаватель.
Все модули Модуль 02: Ethernet