Скачать презентацию Транспортный уровень стека протоколов TCP IP Дейтаграммный протокол Скачать презентацию Транспортный уровень стека протоколов TCP IP Дейтаграммный протокол

TCP_UDP.ppt

  • Количество слайдов: 69

Транспортный уровень стека протоколов TCP/IP Транспортный уровень стека протоколов TCP/IP

Дейтаграммный протокол UDP (RFC 768) • Зарезервированные и доступные порты • Мультиплексирование прикладных протоколов Дейтаграммный протокол UDP (RFC 768) • Зарезервированные и доступные порты • Мультиплексирование прикладных протоколов • Формат дейтаграммы UDP

Нет гарантий доставки – • дейтаграммный протокол, • без установления соединений • best effort Нет гарантий доставки – • дейтаграммный протокол, • без установления соединений • best effort

Основная функция протокола UDP – мультиплексирование и демультиплексирование процессов на основе портов Порт UDP Основная функция протокола UDP – мультиплексирование и демультиплексирование процессов на основе портов Порт UDP • идентификатор приложения • определяет обменный буфер, создаваемый ОС в оперативной памяти • если буфер переполняется, то сообщения отбрасываются

TFTP Выходн. буфер Appl DHCP Выходн. буфер Выходн буфер Порт 69 Входн. буфер Порт TFTP Выходн. буфер Appl DHCP Выходн. буфер Выходн буфер Порт 69 Входн. буфер Порт 67 Протокол UDP Протокол IP Драйвер Ethernet Порт 1056

Назначение номеров портов прикладным процессам 1. централизованное • для популярных сервисов - стандартные, зарезервированные Назначение номеров портов прикладным процессам 1. централизованное • для популярных сервисов - стандартные, зарезервированные (assigned, присвоенные) номера в диапазоне 1 -1023 • Internet Assigned Numbers Authority (IANA) • Например: серверы TFTP - 69, DNS- 53, DHCP – 67, SNMP - 161 • Уникальны в пределах Internet 2. • 1. 2. 3. локальное для клиентских процессов выделяются операционной системой по запросу произвольные номера, обычно в диапазоне 1024 -5000 уникальны в пределах компьютера

RFC 1700 • The Well Known Ports are those from 0 through 1023. • RFC 1700 • The Well Known Ports are those from 0 through 1023. • The Registered Ports are those from 1024 through 49151 • The Dynamic and/or Private Ports are those from 49152 through 65535

Поток данных от приложения Результат отдельной операции вывода Каждая дейтаграмма UDP переносит отдельное пользовательское Поток данных от приложения Результат отдельной операции вывода Каждая дейтаграмма UDP переносит отдельное пользовательское сообщение Протокол UDP К протоколу IP

Заголовок UDP Заголовок UDP

Тип протокола - 17 Тип протокола - 17

Протокол надежной передачи данных TCP (RFC 793) • Сравнение с UDP • Порты, сокеты, Протокол надежной передачи данных TCP (RFC 793) • Сравнение с UDP • Порты, сокеты, соединения • Концепция скользящего окна • Процедура установления соединения • Процедура квитирования в TCP • Адаптивный выбор тайм-аута • Реакция на перегрузку

Протокол TCP, в отличие от протокола UDP, не может быть использован для широковещательной и Протокол TCP, в отличие от протокола UDP, не может быть использован для широковещательной и групповой передачи

Формирование TCP-сегментов из потока байтов Формирование TCP-сегментов из потока байтов

Основные задачи протокола TCP • передавать непрерывные потоки данных между клиентами в обоих направлениях Основные задачи протокола TCP • передавать непрерывные потоки данных между клиентами в обоих направлениях • обеспечивать защиту от разрушения данных, потери, дублирования и нарушения очередности получения - нумерация, квитанции • управлять количеством данных, посылаемых ему отправителем - окном • адресовать приложения - номера портов • инициализировать и поддерживать определенную информацию о состоянии каждого потока данных - соединениях

Мультиплексирование портов для идентификации приложения FTP Порт 21 telnet Appl Порт 23 Порт 1056 Мультиплексирование портов для идентификации приложения FTP Порт 21 telnet Appl Порт 23 Порт 1056 Протокол TCP Внутренние буферы TCP Заголовок сегмента Сегменты TCP Протокол IP Драйвер Ethernet

TCP-соединение создает надежный логический канал связи между конечными узлами TCP-соединение создает надежный логический канал связи между конечными узлами

Один сокет может участвовать в нескольких соединениях APPL 3 Socket (IP 3, n 3) Один сокет может участвовать в нескольких соединениях APPL 3 Socket (IP 3, n 3) TCP IP 3 APPL 2 Socket (IP 2, n 2) TCP IP 2 , n tio (IP 3 c ne 2), n Co 2, n {(IP )} n 3 Conn ection {(IP 2, n 2), ( IP 1, n 1)} APPL 1 TCP IP 1 Socket (IP 1, n 1)

Демультиплексирование TCP на основе соединений www 2. tour. ru – IP 2 www 1. Демультиплексирование TCP на основе соединений www 2. tour. ru – IP 2 www 1. model. ru – IP 1 WWW 2 WWW 1 HTTP {(IPk, nk), (IP 1, 80)} {(IPk, nk), (IP 2, Buffers 80)} {(IPm, nm), (IP 2, 80)} TCP IP IP 1, IP 2 к (IPk, nk) Browsers m (IPm, nm)

Сервис TCP • Доступ к ТСР сервису происходит через сокет • Сокет состоит из Сервис TCP • Доступ к ТСР сервису происходит через сокет • Сокет состоит из IP адреса хоста и 16 разрядного локального номера на хосте, называемого порт • Порт - это TSAP для ТСР • Каждое соединение идентифицируется парой сокетов, между которыми оно установлено • Порты с номерами до 256 зарезервированы для стандартного сервиса • Все ТСР соединения - дуплексные

Сервис TCP Протокол позволяет решать следующие задачи · восстанавливать порядок сегментов · убирать дубликаты Сервис TCP Протокол позволяет решать следующие задачи · восстанавливать порядок сегментов · убирать дубликаты сегментов, в каком бы виде (фрагментация) они не поступали · определять разумную задержку для time out для подтверждений в получении сегмента · устанавливать и разрывать соединения надежно · управлять потоком · управлять перегрузками

Заголовок TCP-сегмента Заголовок TCP-сегмента

TCP заголовок TCP заголовок

Псевдозаголовок Псевдозаголовок

Сервис TCP • ТСР соединение поддерживает только соединение точка-точка. Нет ТСР соединений от одного Сервис TCP • ТСР соединение поддерживает только соединение точка-точка. Нет ТСР соединений от одного ко многим • ТСР обеспечивает поток байтов, а не поток сообщений • Флаг PUSH в заголовке ТСР пакета - пакет должен быть передан немедленно • Флаг URGENT - все накопленные данные по данному соединению передаются сразу • Когда срочные данные поступают к месту назначения, то получателя прерывают и передают эти данные

Нумерация байтов в TCP-сегменте TCP segment TCP header Байт с конечным номером Байт с Нумерация байтов в TCP-сегменте TCP segment TCP header Байт с конечным номером Байт с начальным номером

Идентификатор сегмента – номер первого байта 38440 1460 36980 1460 35520 870 34060 1460 Идентификатор сегмента – номер первого байта 38440 1460 36980 1460 35520 870 34060 1460 • Протокол TCP может выжидать заполнения буфера перед отправкой сегмента. • Приложение должно указать протоколу TCP, если требуется срочная передача – параметр push • Приложение-отправитель должно указать протоколу TCP, если какие-то данные необходимо переслать приложению-получателю вне очереди – параметр urgent data 32600

(IP 1, n 1) (IP 2, n 2) TCP-соединение Буфер отправления Буфер приема Буфер (IP 1, n 1) (IP 2, n 2) TCP-соединение Буфер отправления Буфер приема Буфер копий Буфер приема Буфер отправления Окно Буфер копий Система буферов TCP-соединения

Особенности реализации алгоритма скользящего окна в протоколе TCP Особенности реализации алгоритма скользящего окна в протоколе TCP

Накопительный принцип квитирования Накопительный принцип квитирования

Управление окном в TCP Управление окном в TCP

Стратегия передачи в TCP • Типичная схема управления окнами – TCP не требует от Стратегия передачи в TCP • Типичная схема управления окнами – TCP не требует от агента сразу передавать сегмент, как только он получен от приложения – Стратегия Нагля для работы с однобайтными приложениями – Стратегия Дэвида Кларка против синдрома глупого окна

Синдром глупого окна Синдром глупого окна

Установка TCP-соединения в нормальном случае (а); столкновение вызовов (b) Установка TCP-соединения в нормальном случае (а); столкновение вызовов (b)

Управление таймерами в TCP Алгоритм Джекобсона (Jacobson, 1988) Управление таймерами в TCP Алгоритм Джекобсона (Jacobson, 1988)

Плотность вероятности времени прибытия подтверждения на канальном (а) и транспортном (b) уровнях Плотность вероятности времени прибытия подтверждения на канальном (а) и транспортном (b) уровнях

Получатель малой емкости (а); медленная сеть (b) Получатель малой емкости (а); медленная сеть (b)