Similar presentations:
Презентация_TCP_UDP
1.
Обмен данными сиспользованием TCP и UDP
Дисциплина «Компьютерные сети»
Практическая работа · уровень СПО
Транспортный уровень: порты, сокеты, UDP, TCP,
рукопожатие, анализ в Wireshark
2.
Транспортный уровень стека TCP/IP• Обеспечивает доставку данных между процессами приложений, а не
между узлами сети
• Адресация процессов — номера портов; сокет = IP-адрес + порт
• Мультиплексирование: множество служб работают на одном IPадресе
• Два основных протокола: UDP (RFC 768) и TCP (RFC 9293)
• UDP — «отправил и забыл»; TCP — соединение и гарантии доставки
3.
Порты и сокеты• Порт — 16-битное число (0–65535), идентификатор службы или
процесса на узле
• 0–1023 — well-known порты (HTTP — 80, DNS — 53, HTTPS — 443)
• 1024–49151 — зарегистрированные; 49152–65535 — динамические
(клиентские)
• Сокет = IP:порт, например 192.168.1.10:52344
• TCP-соединение определяется парой сокетов: клиент ↔ сервер
• Один сервер обслуживает тысячи соединений на одном порту
(например, 443)
4.
UDP: свойства протоколаДейтаграммный протокол без установления соединения
Нет гарантий доставки, порядка пакетов и защиты от дубликатов
Нет управления потоком и контроля перегрузки
Сохраняет границы сообщений приложения
Заголовок всего 8 байт — минимальные накладные расходы и
задержки
• Применение: DNS, DHCP, VoIP, стриминг, онлайн-игры
5.
Заголовок UDP — всего 8 байтПорт отправителя (16 бит)
Порт получателя (16 бит)
Длина (16 бит)
Контрольная сумма (16 бит)
• Каждое поле — 16 бит; весь заголовок 8 байт (против 20–60 байт у TCP)
• «Длина» — размер всего UDP-сообщения в байтах (заголовок + данные)
• Контрольная сумма в IPv4 необязательна, в IPv6 — обязательна
• Порт отправителя может быть 0, если ответ не требуется
6.
TCP: свойства протокола• Протокол с установлением соединения (сессия)
• Надёжность: нумерация байтов, подтверждения ACK, повторная
передача
• Сохранение порядка байтов при доставке
• Поток байтов: границы сообщений приложения не сохраняются
• Управление потоком (окно) и контроль перегрузки
• Полнодуплексная передача данных
7.
Трёхэтапное рукопожатие TCP (three-wayhandshake)
КЛИЕНТ
СЕРВЕР
SYN (seq = x)
SYN + ACK (seq = y, ack = x + 1)
ACK (ack = y + 1)
После третьего шага у обеих сторон состояние ESTABLISHED — можно передавать данные. Завершение: обмен
FIN/ACK, затем TIME_WAIT.
8.
Надёжность TCP• Каждый байт нумеруется: Sequence Number
• Приёмник подтверждает получение: Acknowledgment Number
• Потерянный сегмент передаётся повторно (по таймеру или
дублированным ACK)
• Принятые сегменты собираются в правильном порядке
• Контрольная сумма защищает от искажений данных
• Итог: данные приходят полными и по порядку — либо соединение
разрывается
9.
Управление потоком: скользящее окноПриёмник в поле Window указывает, сколько байт готов принять
Отправитель не может послать больше, чем разрешено окном
Медленный приёмник не «захлёбывается» потоком данных
Дополнительно TCP замедляется при потерях — контроль перегрузки:
– медленный старт и избежание перегрузки (slow start, congestion avoidance)
10.
Сравнение TCP и UDPКритерий
TCP
UDP
Соединение
Устанавливается (рукопожатие)
Не устанавливается
Гарантия доставки
Есть (подтверждения, повторы)
Нет
Порядок данных
Сохраняется
Не гарантируется
Скорость
Выше накладные расходы
Минимальные задержки
Заголовок
20–60 байт
8 байт
Управление потоком
Есть (окно)
Нет
Тип данных
Файлы, страницы, почта
Голос, видео, игры, DNS
11.
Где используется TCP, а где UDPTCP — когда нельзя терять данные
• HTTP/HTTPS — веб-страницы
• FTP — передача файлов
• SMTP, POP3, IMAP — почта
• SSH — удалённое управление
UDP — когда важна скорость
• DNS — разрешение имён
• DHCP — настройка IP
• VoIP и видеоконференции
• Стриминг и онлайн-игры
Правило: потеря данных недопустима → TCP; важна скорость «здесь и сейчас» → UDP
12.
Инструменты практической работыnetstat
Просмотр активных TCP/UDP-соединений,
портов и состояний; сопоставление портов с
процессами через PID
nslookup
DNS-запросы к серверу — наглядный пример
обмена по UDP (порт 53)
telnet
Проверка доступности TCP-порта удалённого
узла: открыт / закрыт
Wireshark
Захват и анализ пакетов: рукопожатие TCP,
флаги, DNS-запросы по UDP
13.
Задания практической работы1. netstat: активные соединения, состояния TCP, PID процессов
2. telnet: проверка доступности TCP-портов
3. nslookup: DNS-запросы — обмен по UDP
4. Wireshark: захват трафика, рукопожатие TCP и DNS по UDP
Отчёт: команды, скриншоты, заполненные таблицы, выводы
14.
Контрольные вопросыЧем сокет отличается от порта?
Перечислите поля заголовка UDP
Опишите трёхэтапное рукопожатие TCP
Как TCP обеспечивает надёжность передачи?
Почему DNS работает по UDP?
Какие состояния TCP показывает netstat?
– Полный список из 10 вопросов — в методических указаниях
15.
Итоги и литератураTCP — надёжность и порядок; UDP — скорость и простота
Выбор протокола определяется задачей приложения
Соединения видны в netstat, отдельные пакеты — в Wireshark
Литература: Олифер В. Г., Олифер Н. А.; Таненбаум Э.; RFC 768, RFC
9293; документация Wireshark
internet