Транспортный уровень стека протоколов TCP/IP
К передающей среде Протоколы межсетевых интерфейсов RARP Протоколы инкапсуляции в кадры Ethernet, FR, TR, ATM, FDDI, X.25 и т.д. ARP TCPUDP Протоколы транспортного уровня IGMPIPICMP HTTP Протоколы прикладного уровня TelnetDHCPDNS Пользовательский процесс Протоколы сетевого уровня
Протоколы транспортного уровня TCP и UDP Процедура приема данных протоколами TCP и UDP, поступающих от нескольких различных прикладных служб, называется мультиплексированием. Обратная процедура - распределение протоколами TCP и UDP поступающих от сетевого уровня пакетов между набором высокоуровневых служб называется демультиплексированием. Мультиплексирование и демультиплексирование на транспортном уровне
Дейтаграммный протокол UDP (RFC 768) Зарезервированные и доступные порты Мультиплексирование прикладных протоколов Формат дейтаграммы UDP
Нет гарантий доставки – дейтаграммный протокол без установления соединений best effort
Порт UDP идентификатор приложения определяет обменный буфер, создаваемый ОС в оперативной памяти если буфер переполняется, то сообщения отбрасываются Основная функция протокола UDP Основная функция протокола UDP – мультиплексирование и демультиплексирование процессов на основе портов
Выходн. буфер Входн. буфер TFTP Порт 69 Выходн буфер Входн. буфер DHCP Порт 67 Протокол UDP Выходн. буфер Входн. буфер Appl Порт 1056 Протокол IP Драйвер Ethernet
1. централизованное для популярных сервисов - стандартные, зарезервированные номера в диапазоне Internet Assigned Numbers Authority (IANA) Например: серверы TFTP - 69, DNS- 53, DHCP – 67, SNMP Уникальны в пределах Internet 2. локальное для клиентских процессов выделяются операционной системой по запросу произвольные номера, обычно в диапазоне уникальны в пределах компьютера Описание портов компьютера.mht Описание портов компьютера.mht Назначение номеров портов прикладным процессам
Протокол UDP Поток данных от приложения Результат отдельной операции вывода К протоколу IP Каждая дейтаграмма UDP переносит отдельное пользовательское сообщение
DNS client2 IP1, IP2 UDP IP DNS server2 DNS server1 Socket DNS server2 ( IP2, port UDP 53) Socket DNS server1 ( IP1, port UDP 53) UDP datagram Dest port 53 IP datagram Dest IP2DNS request frame Демультиплексирование UDP на основе сокетов
Протокол надежной передачи данных TCP (RFC 793) Сравнение с UDP Порты, сокеты, соединения Концепция скользящего окна Процедура установления соединения Процедура квитирования в TCP Адаптивный выбор тайм-аута Реакция на перегрузку
Протокол TCP, в отличие от протокола UDP, не может быть использован для широковещательной и групповой передачи
Заголовок ТСР-сегмента
Формирование TCP-сегментов из потока байтов
FTP Порт 21 telnet Порт 23 Протокол TCP Appl Порт 1056 Протокол IP Драйвер Ethernet Внутренние буферы TCP Сегменты TCP Заголовок сегмента
Идентификатор сегмента – номер первого байта Протокол TCP может выжидать заполнения буфера перед отправкой сегмента. Приложение должно указать протоколу TCP, если требуется срочная передача – параметр push Приложение-отправитель должно указать протоколу TCP, если какие-то данные необходимо переслать приложению-получателю вне очереди – параметр urgent data
Кодовые биты (CODE BITS)