Компьютерные сети

2.1 Модель OSI

Что такое модель OSI?

Модель OSI (Open Systems Interconnection) — это концептуальная модель, которая стандартизирует и описывает функции системы связи путем разделения на семь абстрактных уровней. Каждый уровень обслуживает уровень выше себя и обслуживается уровнем ниже себя.

Историческая справка: Модель OSI была разработана Международной организацией по стандартизации (ISO) в 1984 году для стандартизации сетевых протоколов и обеспечения совместимости различных систем связи.

Семь уровней модели OSI

Уровни модели OSI (сверху вниз):

  • 7. Прикладной уровень (Application Layer) — обеспечивает интерфейс между сетевыми службами и приложениями. Протоколы: HTTP, SMTP, FTP, DNS.
  • 6. Уровень представления (Presentation Layer) — отвечает за преобразование данных между форматами приложения и сети, включая шифрование и сжатие. Протоколы: SSL/TLS, JPEG, MPEG.
  • 5. Сеансовый уровень (Session Layer) — управляет сеансами связи между приложениями, устанавливает, поддерживает и завершает соединения. Протоколы: NetBIOS, RPC.
  • 4. Транспортный уровень (Transport Layer) — обеспечивает надежную передачу данных между конечными системами, контроль потока и исправление ошибок. Протоколы: TCP, UDP.
  • 3. Сетевой уровень (Network Layer) — отвечает за маршрутизацию пакетов между сетями, логическую адресацию и определение маршрутов. Протоколы: IP, ICMP, OSPF (OSPF — протокол динамической маршрутизации, работает на сетевом уровне для обмена информацией о маршрутах).
  • 2. Канальный уровень (Data Link Layer) — обеспечивает передачу данных между соседними узлами сети, обнаружение и (при необходимости) коррекцию ошибок на канальном уровне. Протоколы: Ethernet, PPP, Wi‑Fi.
  • 1. Физический уровень (Physical Layer) — определяет электрические, механические, процедурные и функциональные спецификации для активации и поддержания физического соединения. Стандарты: RS‑232, 100BASE‑TX, 1000BASE‑T, 10GBASE‑SR/LR, 802.11 PHY.

2.2 Модель TCP/IP

Концепция модели TCP/IP

Модель TCP/IP — практическая модель взаимодействия сетевых протоколов, лежащая в основе Интернета. Она проще OSI и включает четыре уровня: прикладной, транспортный, интернет и сетевой доступ.

Уровни модели TCP/IP:

  • Прикладной уровень — протоколы пользовательских приложений: HTTP, HTTPS, SMTP, FTP, DNS, DHCP.
  • Транспортный уровень — надежная и ненадежная доставка данных: TCP (с установлением соединения) и UDP (без установления).
  • Интернет-уровень — адресация и маршрутизация: IP, ICMP, NDP (в IPv6).
  • Уровень сетевого доступа — объединяет функции канального и физического уровней: формирование кадров (MAC/VLAN/ARP), доступ к среде и физическая передача. Примеры: Ethernet, Wi‑Fi, PPP.

TCP против UDP

  • TCP: надежная доставка, контроль потока, подтверждения, повторная передача, упорядочивание сегментов. Подходит для веба, e‑mail, файлов.
  • UDP: минимальные накладные расходы, без подтверждений, возможны потери. Подходит для стриминга, VoIP, онлайн‑игр.
# Диагностика сетевых протоколов
# Windows
ping 8.8.8.8            # Проверка доступности узла (ICMP)
tracert 1.1.1.1         # Трассировка маршрута
netstat -ano            # Активные соединения и порты

# Linux / macOS
ping -c 4 8.8.8.8
traceroute 1.1.1.1
ss -tulpn               # Просмотр сокетов TCP/UDP

2.3 Сравнение моделей

Соответствие уровней OSI и TCP/IP

OSI TCP/IP Примеры протоколов
7. Прикладной Прикладной HTTP, HTTPS, FTP, SMTP, DNS, DHCP
6. Представления TLS/SSL, JPEG, MPEG
5. Сеансовый RPC, NetBIOS
4. Транспортный Транспортный TCP, UDP
3. Сетевой Интернет‑уровень IP, ICMP, OSPF, BGP
2. Канальный Сетевой доступ Ethernet, PPP, 802.11 (Wi‑Fi), VLAN (802.1Q)
1. Физический UTP, оптоволокно, радиоканал

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

2.4 Инкапсуляция данных

Принцип инкапсуляции/деинкапсуляции

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

Слои и единицы данных:

  • Прикладной: данные
  • Транспортный: сегменты/датаграммы
  • Интернет/Сетевой: пакеты
  • Канальный: кадры
  • Физический: биты
# Практика анализа инкапсуляции (Wireshark / tcpdump)
tcpdump -i eth0 -nn tcp port 80   # Перехват TCP‑трафика HTTP
tcpdump -i wlan0 -vv icmp         # Подробно ICMP

# В Windows (PowerShell)
Get-NetTCPConnection | Select-Object LocalAddress,LocalPort,RemoteAddress,RemotePort,State