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.
- 2. Канальный уровень (Data Link Layer) — обеспечивает передачу данных между соседними узлами сети, обнаружение и исправление ошибок на физическом уровне. Протоколы: Ethernet, PPP, Wi-Fi.
- 1. Физический уровень (Physical Layer) — определяет электрические, механические, процедурные и функциональные спецификации для активации и поддержания физического соединения. Стандарты: RS-232, Ethernet (физические аспекты).
2.2 Модель TCP/IP
Концепция модели TCP/IP
Модель TCP/IP — практическая модель взаимодействия сетевых протоколов, лежащая в основе Интернета. Она проще OSI и включает четыре уровня: прикладной, транспортный, интернет и сетевой доступ.
Уровни модели TCP/IP:
- Прикладной уровень — протоколы пользовательских приложений: HTTP, HTTPS, SMTP, FTP, DNS, DHCP.
- Транспортный уровень — надежная и ненадежная доставка данных: TCP (с установлением соединения) и UDP (без установления).
- Интернет-уровень — адресация и маршрутизация: IP, ICMP, NDP (в IPv6).
- Уровень сетевого доступа — физическая передача кадров и локальные протоколы: Ethernet, Wi‑Fi, PPP, VLAN, ARP.
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
Поздравляем!
Теперь вы умеете сопоставлять уровни OSI и TCP/IP и объяснять, как данные инкапсулируются и проходят по стеку протоколов.