Урок 3: Модель TCP/IP (DoD) и сравнение с OSI
Цели урока:
1. Понимать архитектуру и уровни модели TCP/IP (DoD).
2. Знать ключевые протоколы каждого уровня TCP/IP.
3. Уметь сопоставлять уровни моделей TCP/IP и OSI.
4. Понимать преимущества и недостатки обеих моделей.
5. Практически проанализировать инкапсуляцию в стеке TCP/IP с помощью Cisco Packet Tracer.
1. Теоретическая часть:
1.1. Введение в TCP/IP:
История: Разработан Агентством Перспективных Исследовательских Проектов (ARPA, позже DARPA) Министерства обороны США для сети ARPANET (прародитель Интернета). Стал "де-факто" стандартом для Интернета.
Название: Известен как TCP/IP (по именам двух основных протоколов).
Философия: Прагматичный подход, ориентированный на решение конкретных задач связи, в отличие от теоретической эталонной модели OSI. "Работает — значит правильно".
Структура: 4 уровня (вместо 7 в OSI). Уровни описывают функции, а не строгие интерфейсы.
1.2. Уровни модели TCP/IP (сверху вниз):
Приложений (Application):
- Основные функции:
Предоставление сетевых сервисов пользовательским приложениям. Обеспечение обмена данными между приложениями.
- Ключевые протоколы:
HTTP/HTTPS (Web), FTP/SFTP/FTPS (файлы), SMTP (отправка почты), POP3/IMAP (получение почты), DNS (разрешение имен), DHCP (автонастройка IP), Telnet, SSH, SNMP, NTP.
- Соответствие уровням OSI (приблизительное):
Прикладной (7), Представительский (6), Сеансовый (5).
Транспортный (Transport)
- Основные функции:
Обеспечение сквозной (end-to-end) связи между приложениями на хостах. Управление потоком данных, надежностью доставки.
- Ключевые протоколы:
TCP (Transmission Control Protocol) - надежный, с установлением соединения, подтверждениями, контролем потока и переупорядочиванием.
UDP (User Datagram Protocol) - ненадежный, без установления соединения, быстрый, минимальные накладные расходы.
- Соответствие уровням OSI (приблизительное):
Транспортный (4).
Сетевой (Internet)
- Основные функции:
Логическая адресация, маршрутизация пакетов между сетями через промежуточные устройства (маршрутизаторы).
- Ключевые протоколы:
IP (Internet Protocol)- без установления соединения, ненадежная доставка.
ICMP (Internet Control Message Protocol) - диагностика и сообщения об ошибках (ping, traceroute).
ARP (Address Resolution Protocol) - преобразование IP в MAC.
RIP, OSPF, EIGRP, BGP - протоколы маршрутизации.
- Соответствие уровням OSI (приблизительное):
Сетевой (3).
Сетевого доступа (Network Access) или Канальный/Физический
- Основные функции:
Физическая адресация (MAC), передача кадров (frames) между устройствами в одной локальной сети (LAN). Физическая передача битов.
- Ключевые протоколы:
Ethernet (IEEE 802.3), Wi-Fi (IEEE 802.11), PPP (точка-точка), HDLC, Frame Relay (устаревший), физические стандарты (RJ-45, оптика, радиоволны).
- Соответствие уровням OSI (приблизительное):
Канальный (2), Физический (1).
1.3. Преимущества и недостатки:
TCP/IP:
- Преимущества:
Фактический стандарт Интернета, проверенная временем надежность и масштабируемость, открытые стандарты (RFC), гибкость.
- Недостатки:
Размытые границы Прикладного уровня, сложность разделения функций безопасности по уровням, изначально не учитывались современные требования QoS.
OSI:
- Преимущества:
Четкая модульность, отличная учебная модель, хорошо определяет взаимодействие между несвязанными системами.
- Недостатки:
Сложность, избыточность, неполное соответствие реальным реализациям, медленный процесс стандартизации.
1.4. Процесс инкапсуляции в TCP/IP (на примере HTTP + TCP):
1. Данные приложения (HTTP):
Веб-запрос (`GET /index.html HTTP/1.1` ...) формируется на Уровне Приложений.
2. Транспортный уровень (TCP):
Данные HTTP передаются Транспортному уровню. TCP добавляет свой заголовок (содержит: порт источника, порт назначения, номера последовательности и подтверждения, флаги, окно, контрольную сумму). Образуется TCP-сегмент.
3. Сетевой уровень (IP):
TCP-сегмент передается Сетевому уровню. IP добавляет свой заголовок (содержит: IP-адрес источника, IP-адрес назначения, TTL, протокол (6=TCP), контрольную сумму). Образуется IP-пакет.
4. Уровень Сетевого доступа (Ethernet):
IP-пакет передается Уровню Сетевого доступа. Протокол (например: Ethernet) добавляет заголовок (содержит: MAC-адрес источника, MAC-адрес назначения, тип инкапсулированного протокола (0x0800=IPv4)) и трейлер (FCS). Образуется Ethernet-кадр.
5. Физическая среда:
Кадр преобразуется в последовательность битов и передается по физической среде (медь, оптика, радио).
2. Практическая лабораторная работа: Анализ стека TCP/IP в Cisco Packet Tracer.
Цель: Наглядно увидеть инкапсуляцию данных в стеке TCP/IP (HTTP/TCP/IP/Ethernet) с помощью режима симуляции.
Топология:
Веб-сервер ("End Devices"-> "Servers" -> "HTTP Server")
ПК ("End Devices" -> "Generic" -> "PC")
Коммутатор ("Switches" -> "2960")
Соединения: Медные прямые кабели.
Шаги:
1. Постройте и настройте сеть:
Создайте сеть: ПК <-> Switch <-> HTTP Server (прямые кабели).
Назначьте IP-адреса:
ПК: "192.168.1.1" / "255.255.255.0"
HTTP Server: "192.168.1.2" / "255.255.255.0" (Включите HTTP службу на сервере: "Services" -> "HTTP" -> "On")
На ПК: Откройте "Desktop" -> "Web Browser". В адресной строке введите "http://192.168.1.2" и нажмите "Перейти".
Убедитесь, что открывается дефолтная страница сервера. Закройте браузер.
P.S. Это проверка работоспособности в Realtime.
2. Перейдите в режим симуляции и настройте фильтры:
Нажмите "Simulation" режим.
"Edit Filters" ->отключите все фильтры!
3. Инициируйте HTTP-запрос и анализируйте PDU:
На ПК откройте "Command Prompt".
Введите команду: "telnet 192.168.1.2 80" (Это эмулирует ручное подключение к веб-серверу на порту 80 без браузера).
Появится событие "TCP". Кликните на цветную коробочку "Type".
4. Анализ PDU (Фокус на TCP/IP):
PDU Information -> Outbound PDU Details:
Транспортный уровень (Transport):
Заголовок "TCP".
Ключевые поля:
- "Source Port:" (динамический высокий порт ПК, напр. 1025)
- "Destination Port: 80" (HTTP)
- "Sequence Number", "Acknowledgment Number" (если есть) - нули
или начальные значения. - "Flags: "SYN" (если это первый пакет установления соединения)
или "ACK", "PSH" (если передача данных).
Сетевой уровень (Internet):
Заголовок "IP":
- "Source IP: 192.168.1.1" (ПК)
- "Destination IP: 192.168.1.2" (Сервер)
- "Protocol: 6 (TCP)"
Уровень Сетевого доступа (Network Access):
Заголовок "Ethernet II":
- "Source MAC:" (MAC ПК)
- "Destination MAC:" (MAC сервера - получен ранее через ARP, который мы отфильтровали)
- "Type: 0x0800 (IPv4)"
- Трейлер: "FCS"
3. Вопросы для самопроверки (после практики):
1. Назовите 4 уровня модели TCP/IP и их основные функции.
2. Какие уровни OSI объединяются в уровень Приложений TCP/IP.
Какие уровни OSI объединяются в уровень Сетевого доступа TCP/IP?
3. Какой протокол Транспортного уровня TCP/IP гарантирует надежную доставку? Какой протокол используется для быстрой, но ненадежной доставки?
4. Какой протокол Сетевого уровня отвечает за логическую адресацию и маршрутизацию?
5. В заголовке IP-пакета есть поле "Protocol". Какое значение этого поля указывает на то, что внутри инкапсулирован TCP? На UDP?
6. В заголовке Ethernet-кадра есть поле "Type". Какое значение указывает на инкапсуляцию IPv4?
7. Почему в модели TCP/IP уровень Приложений объединяет функции трех уровней OSI? Каково практическое следствие этого?
4. Вывод:
Модель TCP/IP - практический стек протоколов, на котором работает Интернет. Состоит из 4 уровней:
- Приложений,
- Транспортный,
- Сетевой (Internet),
- Сетевого доступа.
Ключевые протоколы:
- HTTP/FTP/DNS (Приложений),
- TCP/UDP (Транспортный),
- IP/ICMP/ARP (Сетевой),
- Ethernet/Wi-Fi (Сетевого доступа).
Соответствие OSI:
- Приложений TCP/IP ≈ OSI 5+6+7;
- Транспортный ≈ OSI 4;
- Сетевой ≈ OSI 3;
- Сетевой доступ ≈ OSI 1+2.
Сравнение:
- OSI - идеальная учебная модель;
- TCP/IP - реальный рабочий стандарт. У TCP/IP меньше уровней, размыты границы Прикладного уровня, фокус на конкретных протоколах.
Инкапсуляция:
Данные приложения (HTTP) -> + TCP Header -> + IP Header -> + Ethernet Header & Trailer -> Биты.
Практика в Packet Tracer (Simulation + PDU Details) незаменима для визуализации стека TCP/IP и понимания роли заголовков.