Системы управления и техническая эксплуатация информационных кабельных сетей

Тема 2.1. Структура протоколов TCP/IP

План занятия

Источники: Рашич В. О. и др. «Сетевые телекоммуникационные протоколы», пп. 2.3, 4.1, 4.4; Глецевич И. И., п. 3.1; документы Интернета (Request for Comments, RFC) 792, 1157, 3417

1. Уровни стека TCP/IP и модель OSI

Стек TCP/IP (Transmission Control Protocol / Internet Protocol): четыре уровня против семи у модели взаимодействия открытых систем (Open Systems Interconnection, OSI)

2. Основные протоколы и единицы данных

Поток, сегмент, дейтаграмма, пакет, кадр; три группы вспомогательных протоколов

3. Адрес, порт, сокет. Инкапсуляция

Запрос простого протокола управления сетью (Simple Network Management Protocol, SNMP) → UDP → IP → Ethernet по шагам

4. TCP и UDP. Почему SNMP по UDP

Протокол пользовательских дейтаграмм (User Datagram Protocol, UDP) против TCP; порты 161 и 162

5. ICMP, ping и traceroute

Протокол межсетевых управляющих сообщений (Internet Control Message Protocol, ICMP): эхо-запрос, время жизни (Time To Live, TTL)

Четыре уровня стека TCP/IP

Рашич, п. 2.3, рис. 2.6

Уровень TCP/IP

Уровни OSI

Протоколы

Где работает

I. Прикладной

7, 6, 5

HTTP, SNMP, FTP, telnet, SMTP

Хосты

II. Транспортный

4

TCP, UDP

Только конечные узлы

III. Сетевой

3

IP; ICMP, RIP, OSPF

Хосты и маршрутизаторы

IV. Сетевых интерфейсов

2, 1

Ethernet, PPP, X.25

Не регламентируется

HTTP — передача гипертекста, FTP — передача файлов, SMTP — почта; RIP, OSPF — маршрутизация; PPP — протокол «точка — точка». Соответствие уровням OSI «достаточно условно» (Рашич, с. 35).

  • Стек создан по инициативе Министерства обороны США для сети ARPANET; университет Беркли встроил его протоколы в свою версию Unix (Рашич, с. 34).
  • Сетевой уровень — «стержень всей архитектуры TCP/IP» (с. 37): IP работает без соединения и доставляет пакет с максимальными усилиями, без гарантии.
  • Модули TCP и UDP стоят только на хостах: маршрутизатор в середине пути не разбирает чужие TCP-сегменты.

Названия единиц данных

Рашич, п. 2.3, рис. 2.7

Уровень

Единица

Пояснение

Приложение → TCP/UDP

Поток

Данные от приложения

TCP

Сегмент

Нарезан из потока байтов

UDP

Дейтаграмма

Одно сообщение приложения

IP

Пакет (дейтаграмма)

Чаще говорят «пакет»

Сетевых интерфейсов

Кадр

Ethernet, PPP, X.25 — для IP всё кадры

  • Каждый протокол оперирует своей единицей — протокольным блоком данных (Protocol Data Unit, PDU).
  • Названия нужны, чтобы без путаницы читать документацию и вывод анализатора трафика.
  • Уровень сетевых интерфейсов упаковывает IP-пакет в кадр технологии и преобразует IP-адрес в её адрес: в офисе — кадр Ethernet, на канале к провайдеру — кадр PPP (с. 38).

Три группы вспомогательных протоколов

Рашич, п. 2.3, с. 40

Маршрутизация

RIP, OSPF и протокол пограничного шлюза (Border Gateway Protocol, BGP). Без них таблица маршрутизации пуста.

Преобразование адресов

Система доменных имён (Domain Name System, DNS): имя → IP-адрес. Протокол динамической настройки узла (DHCP) раздаёт адреса.

Управление сетью

Простой протокол управления сетью (SNMP) собирает данные об ошибках и отказах; telnet — удалённая настройка.

Вывод для эксплуатации

Для управления по SNMP коммутатору нужен весь стек: IP-адрес, UDP, агент. Неуправляемый коммутатор опросить нельзя.

  • Концентраторы и коммутаторы поддерживают SNMP и telnet, хотя для основной функции — передачи кадров — эти протоколы не нужны (Рашич, с. 40).

Адрес, порт, сокет

Рашич, п. 4.4, с. 125–127

Определения

• IP-адрес — 32-битный адрес узла: доставляет пакет до устройства

• Порт — очередь к точке входа приложения; номер адресует приложение

• Сокет — пара «IP-адрес, порт»: однозначно задаёт процесс в сети

Пример: менеджер и агент

• Агент коммутатора: (10.0.0.2, UDP 161)

• Менеджер: (10.0.0.100, UDP 50123) — динамический порт

• Well-known порты 0–1023: FTP 21, telnet 23, DNS 53

• Порт приложения ≠ порт RJ-45 коммутатора

  • Номера портов TCP и UDP независимы: порт TCP 161 и порт UDP 161 — разные точки входа.
  • Динамические номера операционная система выдаёт программам по запросу.
  • В пособии на рис. 4.17 порт UDP 161 подписан «SNTP» — опечатка: по RFC 1157 и RFC 3417 это порт агента SNMP.

Инкапсуляция запроса SNMP

Рашич, пп. 4.1, 4.4; Сквирский, п. 1.1; RFC 894

SNMP: «получить sysName», 40 байт (условно)

UDP: +8 байт, порт 161 → 48 байт

IP: +20 байт, протокол 17 → 68 байт

Ethernet: +14 и контрольная сумма кадра (FCS) 4, тип 0800 → 86 байт

Коммутатор снимает заголовки в обратном порядке

Каждый уровень добавляет свой заголовок; приёмник по полю «тип», «протокол» и «порт» узнаёт, кому отдать данные дальше.

  • Заголовок UDP — четыре поля по 2 байта: порт отправителя, порт получателя, длина, контрольная сумма (Рашич, с. 127).
  • Поле «протокол» в заголовке IP: 6 — TCP, 17 — UDP, 1 — ICMP.
  • Кадр Ethernet: MAC получателя 6 байт + MAC отправителя 6 байт + тип 2 байта; поле данных — не меньше 46 байт; преамбула 8 байт в расчёт не входит.

АнимацияИнкапсуляция запроса SNMP по шагам

Рашич, пп. 4.1, 4.4; RFC 894. Размер данных SNMP — условный (40 байт)

TCP и UDP

Рашич, пп. 2.3, 4.4

Признак

TCP

UDP

Соединение

Устанавливается

Нет

Доставка

Квитанции, повтор по тайм-ауту

Без гарантии

Порядок

Восстанавливается

Не контролируется

Заголовок

Не менее 20 байт

8 байт

Ресурсы

Буферы и таймеры на соединение

Без состояния

Примеры

FTP, telnet, HTTP

DNS, упрощённая передача файлов TFTP, SNMP

  • Квитанция TCP — номер следующего ожидаемого байта; отрицательных квитанций нет, потерю выявляет таймер (Рашич, с. 132–135).
  • RFC 793 (TCP) заменён RFC 9293 (2022); RFC 768 (UDP) действует.

Почему SNMP идёт по UDP

Гребешков, п. 5.1; RFC 1157, RFC 3417; объяснение — учебное толкование

Порты

Агент слушает UDP 161, менеджер принимает ловушки (trap) на UDP 162.

Сотни устройств

Соединение TCP с каждым — буферы и таймеры; агент не должен мешать работе коммутатора.

Короткие сообщения

Запрос и ответ помещаются в одну дейтаграмму UDP.

Сеть в аварии

TCP долго повторяет; менеджер сам решает: повторить запрос или считать узел недоступным.

Цена

Ловушка без подтверждения может потеряться — во второй версии (SNMPv2) появилось подтверждаемое Inform.

Сообщения ICMP для контроля сети

Рашич, п. 2.3; RFC 792

Тип

Сообщение

Когда

Утилита

8

Эхо-запрос

Проверка доступности

ping

0

Эхо-ответ

Ответ узла

ping

11

Время истекло

TTL = 0, пакет уничтожен

traceroute

3

Адресат недостижим

Нет маршрута, порт закрыт

диагностика

  • ICMP сообщает источнику об ошибках, возникших при передаче пакета (Рашич, с. 37–38).
  • Сообщения ICMP переносятся в IP-пакетах с номером протокола 1, но ICMP — неотъемлемая часть IP и обязан быть в каждом модуле IP (RFC 792).

Чтение вывода ping и traceroute

Глецевич, п. 3.1; механизм traceroute — учебное толкование

ping

• 5 эхо-запросов по 100 байт, тайм-аут 2 с

• «.!!!!»: точка — нет ответа, «!» — ответ

• Успех 80 % (4/5)

• Время оборота (Round-Trip Time, RTT) min/avg/max = 4/6/8 мс

traceroute

• TTL = 1 → отвечает 1-й маршрутизатор (ICMP 11)

• TTL = 2 → отвечает 2-й

• …пока не ответит узел назначения

• «1 172.16.0.1», «2 192.168.251.1» — путь из двух узлов

  • Первая точка в «.!!!!» — не признак неисправности: в сетях с маршрутизаторами Cisco ping начинает «срабатывать» постепенно (Глецевич, п. 3.1).
  • Три значения времени в строке traceroute — три пробы.

СимуляторКак traceroute находит путь

Каждый следующий зонд — с TTL на 1 больше. Маршрутизатор уменьшает TTL; при TTL = 0 уничтожает пакет и шлёт ICMP тип 11 (учебное толкование)

Коммутатор не отвечает: поиск

Учебное толкование: проверка снизу вверх по стеку

Проверка

Результат

Вывод

ping

«.....»

Нет IP-связи: кабель, порт, адрес

traceroute

Обрыв после 2-го узла

Неисправность за 2-м маршрутизатором

ping

«!!!!!», 1–2 мс

IP есть, искать выше

Запрос SNMP

Тайм-аут

Агент, порт 161, сообщество

  • ping и traceroute — простейшие средства контроля: систему управления на SNMP они не заменяют, но дают первую проверку доступности за секунды.

ПроверкаЧто делать дальше?

Поиск неисправности снизу вверх по стеку — учебное толкование

1. ping коммутатора: «.....». Где искать?
Нет IP-связи — проверка начинается с нижних уровней.
2. ping «!!!!!», 1–2 мс, а запрос SNMP — тайм-аут. Причина?
IP-связь есть — искать выше: на прикладном уровне.
3. Почему SNMP идёт по UDP, а не по TCP?
Гребешков, п. 5.1; RFC 1157, 3417.

Итог: стек TCP/IP для управления

4 уровня

Прикладной, транспортный, сетевой, сетевых интерфейсов; соответствие OSI условное

Единицы данных

Поток → сегмент/дейтаграмма → пакет → кадр

Сокет

IP-адрес + порт; агент SNMP — UDP 161, ловушки — UDP 162

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

40 → 48 → 68 → 86 байт: SNMP, UDP, IP, Ethernet

Контроль

ICMP: ping — доступность и RTT, traceroute — путь по TTL

Конец занятия