Транспортный уровень Глава 6. Рассматриваемые вопросы a)Сервис транспортного уровня b)Элементы транспортного протокола c)Транспортные протоколы Интернет:

Презентация:



Advertisements
Похожие презентации
Транспортный уровень Глава 6. Рассматриваемые вопросы a)Сервис транспортного уровня b)Элементы транспортного протокола c)Транспортные протоколы Интернет:
Advertisements

Май 2002Сети ЭВМ проф. Смелянский Р.Л. 1 Транспортный уровень.
Тема 11 Транспортный уровень сети Internet Презентацию лекций разработал доцент кафедры оптимизации систем управления Томского политехнического университета.
Работа протоколов стека TCP/IP Борисов В.А. КАСК – филиал ФГБОУ ВПО РАНХ и ГС Красноармейск 2011 г.
Транспортный уровень стека протоколов TCP/IP. К передающей среде Протоколы межсетевых интерфейсов RARP Протоколы инкапсуляции в кадры Ethernet, FR, TR,
Сети и системы телекоммуникаций Управление потоком и перегрузкой в TCP ИМКН УрФУ.
Транспортный уровень стека протоколов TCP/IP. К передающей среде Протоколы межсетевых интерфейсов RARP Протоколы инкапсуляции в кадры Ethernet, FR, TR,
Протокол TCP Сети и системы телекоммуникаций Созыкин А.В.
Протокол UDP Сети и системы телекоммуникаций Созыкин А.В.
Сокеты Сети и системы телекоммуникаций Созыкин А.В.
Процессы и протоколы в сети. Модель сетевых коммуникаций OSI Прикладной Представления Сеансовый Транспортный Сетевой Канальный Физический 7 уровней.
Протоколы транспортного уровня Лекция 5. Протоколы транспортного уровня TCP – работает поверх IP, ориентирован на соединение: перед началом передачи информации.
1 Передача голоса в сетях связи VoiceIP Диапазон воспринимаемых человеком звуковых частот находится в интервале между десятками герц и десятками килогерц,
Транспортный уровень Хабаровск, Содержание ТРАНСПОРТНЫЙ УРОВЕНЬ МОДЕЛИ OSI ТРАНСПОРТНЫЙ УРОВЕНЬ В ИНТЕРНЕТЕ ПРОТОКОЛ UDP ПРОТОКОЛ TCP Список используемой.
ОфисЖилой дом телефон. ПОРТЫ При доставке сообщения по протоколу TCP или UDP запрашиваемые протоколы и сервисы распознаются по номеру порта. Порт – это.
Работа протоколов стека TCP/IP Борисов В.А. Красноармейский филиал ГОУ ВПО «Академия народного хозяйства при Правительстве РФ» Красноармейск 2010 г.
Стандартизация сетевого взаимодействия СТАНДАРТИЗАЦИЯ ПРОЦЕДУР: - выделения и освобождения ресурсов компьютеров, линий связи и коммуникационного оборудования;
ICMP межсетевой протокол управляющих сообщений Выполнил: студент группы СУ-61 Французов Виталий.
Лекция 4 Транспортный уровень. UDP,TCP. Транспортный уровень.
Протокол эмуляции удаленного доступа терминала Telnet.
Транксрипт:

Транспортный уровень Глава 6

Рассматриваемые вопросы a)Сервис транспортного уровня b)Элементы транспортного протокола c)Транспортные протоколы Интернет: UDP d)Транспортные протоколы Интернет: ТСP

Сервис транспортного уровня Сервис, предоставляемый верхним уровням Примитивы транспортного уровня Сокеты Беркли Пример программирования с использованием сокетов: –Интернет файл - сервер

Сервис, предоставляемый верхним уровням Цель: обеспечить эффективный, надежный и дешевый сервис для пользователей на прикладном уровне Реализация - транспортный агент (ядро ОС, пользовательский процесс, библиотека сетевого приложения, сетевая карта)

Сервис, предоставляемый верхним уровням Сетевой, транспортный и прикладной уровни Интерфейс Прикладной уровень Транспортный уровень Сетевой уровень Сетевой адрес Транспортный адрес Транспортная активность

Сервис, предоставляемый верхним уровням С соединением и без соединений Адресация Управление потоком Зачем нужен транспортный сервис, если есть сетевой? Виды сервиса

Сервис, предоставляемый верхним уровням Сетевой уровень – часть сети передачи данных (теряются пакеты, отказы маршрутизаторов и ЛПД и т.д.) Задача – повысить надежность Решение - пустить поверх сети ПД еще один надежный уровень Кроме того!! Прикладные программы становятся независимыми от среды ПД Зачем нужен транспортный сервис, если есть сетевой?

Сервис, предоставляемый верхним уровням Connection establishment delay - задержка в установлении соединения - время между запросом на установление соединения и подтверждением о его установлении; Connection establishment failure probability – вероятность, что соединение не будет установлено за время, равное задержке на установление соединения; Throughput - пропускная способность - количество байт пользователя, передаваемых за секунду; Transit delay - задержка передачи - время от момента, когда сообщение ушло с машины отправителя, до момента, когда оно получено машиной получателя; Качество сервиса

Сервис, предоставляемый верхним уровням Residual error ration - доля ошибок при передаче; Protection - защита: этот параметр позволяет определить уровень защиты передаваемых данных от несанкционированного доступа третьей стороной; Priority - приоритет: этот параметр позволяет пользователю указать, что одно соединение для него важнее чем другое. Поэтому оно должно обслуживаться раньше других; Resilience - устойчивость: вероятность, что транспортный уровень сам разорвет соединение в силу внутренних проблем или перегрузки Качество сервиса

Примитивы транспортного уровня Примитивы простого транспортного сервиса ПримитивОтправка пакетаЗначение LISTEN(none) Блокировать сервер, пока какой- либо процесс не попытается соединиться CONNECTCONNECTION REQ Попытка установления соединения SENDDATA Отправить информацию RECEIVE(none) Блокировать сервер, пока не поступят данные DISCONNECTDISCONNECTION REQ Отправляющая сторона хочет разорвать соединение

Примитивы транспортного уровня (2) Вложенность TPDU, пакета и кадра Вложенная единица данных Заголовок кадра Заголовок пакета Заголовок единицы данных транспортного уровня

Примитивы транспортного уровня (3) Диаграмма состояний простой схемы управления соединением. Переходы, обозначенные курсивом, вызываются прибытием пакетов. Сплошными линиями показана последовательность состояний клиента. Пунктирными линиями показана последовательность состояний сервера.

Сокеты Беркли (Berkeley Sockets) Примитивы протокола TCP ПримитивЗначение SOCKETСоздать новый сокет (точка подключения) BINDСвязывает с сокетом локальный адрес LISTENОбъявляет о готовности принять запрос на соединение; указывает размер очереди ACCEPTБлокирует вызывающего до попытки прихда запроса на соединения CONNECTАктивно пытается установить соединение SENDОтправка данных по соединению RECEIVEПрием данных по соединению CLOSEРазрыв соединения

Пример программирования с использованием сокетов: Интернет файл-сервер Код клиента с использованием сокетов 6-6-1

Пример программирования с использованием сокетов: Интернет файл-сервер (2) Код клиента с использованием сокетов

Элементы транспортного протокола Адресация Установление соединения Разрыв соединения Управление потоком и буферизация Мультиплексирование Восстановление после сбоя

Транспортный протокол Работают в разных средах Процессы на канальном уровне взаимодействуют через провод, поэтому процедура установления соединения много проще Среда, в которой работает транспортный протокол обладает памятью, которая может теряться Количество соединений на транспортном (буферизация и управления потоком) Различия транспортного и канального протоколов

Транспортный протокол (a) Окружение канального уровня (b) Окружение транспортного уровня Физический канал связи Маршрутизатор Телекоммуникационная сеть

Транспортный протокол Транспортный протокол должен решать следующие проблемы: Адресация: как адресовать прикладной процесс, с которым надо установить соединение? Как корректно установить соединение? Ведь пакеты могут теряться. Как отличить пакеты нового соединения от повторных пакетов, оставшихся от старого? Как корректно разрывать соединение? Задачи транспортного протокола

Адресация Точки доступа к сервису (SAP) транспортного (TSAP) и сетевого (NSAP) уровня и транспортное соединение

Установление соединения Пользовательский процесс на Хосте 1 устанавливает соединение с сервером на Хосте 2 Протокол установления начального соединения (Unix)

Установление соединения (2) Пакеты могут теряться Пакеты могут храниться Пакеты могут дублироваться Решения: Временная TSAP Присвоение уникального номера каждому соединению Ограничить время жизни пакета (должны умереть сами пакеты и уведомления) Основные проблемы

Установление соединения (3) (a) TPDU - модули не могут находиться в запретной зоне (b) Проблема ресинхронизации Время Используемые в действительности порядковые номера Перезапуск после сбоя со значением 70 Порядковые номера Запрещённое сообщение

Установление соединения (3) Три сценария установления соединения с помощью процедуры «троекратного рукопожатия». CR - CONNECTION REQUEST, ACK - CONNECTION ACCEPTED. (a) Нормальная работа (b) Появление старого дубликата CONNECTION REQUEST (c) Дубликат CR и дубликат ACK

Разрыв соединения Внезапное разъединение с потерей данных После запроса разъединения данные не доставляются

Разрыв соединения (2) Проблема двух армий

Разрыв соединения (3) Четыре сценария разрыва соединения: (a) нормальный случай «тройного рукопожатия» (b) потеря подтверждения АСК 6-14, a, b (Таймаут) Разрыв соединения Отправка DR + запуск таймера Разрыв соединения Отправка ACK

Разрыв соединения (4) (c) Потеря ответа (d) Потеря ответа и последующего нового запроса на разрыв DR 6-14, c,d

Управление потоком и буферизация (a) Цепочка буферов фиксированного размера (b) Цепочка буферов переменного размера (c) Один большой циклический буфер на соединение Ситуации: Пакеты одинаковой длины Пакеты переменной длины

Управление потоком и буферизация (2) Динамическое выделение буферов. Стрелками показано направление передачи. Многоточие означает потерянный TPDU

Мультиплексирование (a)Восходящее мультиплексирование (b)Нисходящее мультиплексирование Уровни Транспортные адреса Сетевые адреса

Восстановление после сбоя Различные комбинации стратегий сервера и клиента Стратегия, используемая передающим хостом Всегда повторять передачу Никогда не повторять передачу Повторять передачу в S0 Повторять передачу в S1 Стратегия, используемая получающим хостом Сначала подтверждение, потом запись Сначала запись, потом подтверждение Протокол работает корректно Протокол формирует дубликат сообщения Протокол теряет сообщение

Простой транспортный протокол Пример примитивов сервиса Пример транспортной сущности Пример в виде конечного автомата

Пример транспортной сущности Пакеты сетевого уровня, используемые в примере Сетевой пакетЗначение Запрос соединения. Отправляется для установления соединения Вызов принят. Ответ на CALL REQUEST Запрос разъединения. Отправляется для разрыва соединения Подтверждение разъединения. Ответ на CLEAR REQUEST Данные Кредит. Пакет для управления окном

Пример транспортной сущности (2) Каждое соединение может находиться в одном из следующих семи состояниях: 1.Idle – соединение ещё не установлено 2.Waiting – примитив CONNECT выполнен и пакт CALL REQUEST послан 3.Queued – пакет CALL REQUEST прибыл. Примитив LISTEN ещё не вызывался 4.Established – соединение установлено 5.Sending – пользователь ожидает разрешения отправить пакет 6.Receiving – примитив RECEIVE выполнен. 7.DISCONNECTING – примитив DISCONNECT выполнен локально

Пример транспортной сущности (3)

Пример транспортной сущности (4)

Пример транспортной сущности (5)

Пример транспортной сущности (6)

Пример транспортной сущности (7)

Пример транспортной сущности (8)

Пример транспортной сущности (9)

Пример транспортной сущности (10)

Пример в виде конечного автомата Пример протокола в виде машины с конечными состояниями. У каждой ячейки матрицы может быть предикат, действие и новое состояние. Тильда означает, что основное действие не предпринималось. Черта над предикатом означает отрицание предиката. Пустые ячейки соответствуют невозможным или неверным событиям

Пример в виде конечного автомата (2) Пример автомата в виде графа. Переходы, не изменяющие состояние опущены

Транспортные протоколы Интернет: UDP Введение в UDP Удаленный вызов процедур (RCP- Remote Procedure Call) Транспортный протокол реального времени

Введение в UDP Заголовок UDP

Удалённый вызов процедур (RPC) Последовательность действий при удалённом вызове процедур

Транспортный протокол реального времени (RTP) (a)Положение RTP в стеке протоколов (b)Вложенность пакетов

Транспортный протокол реального времени (2) Заголовок RTP

Транспортный протокол Интернет TCP Введение в TCP Модель сервиса TCP Протокол TCP Заголовок TCP-сегмента Управление TCP-соединением Управление передачей в TCP Борьба с перегрузкой в TCP Управление таймерами в TCP Беспроводные протоколы TCP Транзакционный TCP

Модель сервиса TCP Некоторые стандартные порты Формирование сокета ПортПротокол Назначение 21 FTP Передача файлов 23 Telnet Удалённый вход 25 SMTP 69 TFTP Обычный протокол передачи файлов 79 FingerLookup info about a user 80 HTTP World Wide Web 110 POP-3 Удалённый доступ к электронной почте 119 NNTP Новости

Модель сервиса TCP (2) a)Соединения – дуплексные b)Задержка отправки и флаги PUSH и URGENT c)Поток байтов, а не поток сообщений Основные свойства

Модель сервиса TCP (3) (a) Четыре 512-байтовых сегмента, посланные как отдельные IP- дейтаграммы (b) 2048 байт данных доставлены приложению с помощью одного сегмента READ CALL Поток байтов, а не поток сообщений

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

Заголовок сегмента TCP бита Порт отправителя Порт получателя Порядковый номер Номер подтверждения Длина TCP- заголовка Размер окна Контрольная суммаУказатель срочности данных Не обязательно ( 0 или более 32-разрядных слов ) Данные ( необязательное поле)

Заголовок сегмента TCP (2) Псевдозаголовок, включаемый в контрольную сумму TCP

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

Разрыв TCP соединения Разрыв асимметричный в каждом направлении a)по получении ответа на FIN b)по истечении time-out

Моделирование управления TCP соединением Состояния конечного автомата, моделирующего управление TCP состоянием СостояниеОписание CLOSED Закрыто. Соединение не является активным и не находится в процессе установления LISTEN Ожидание. Сервер ожидает входящего запроса SYN RCVD Прибыл запрос на соединение. Ожидание подтверждения SYN SENT Запрос соединения отправлен. Приложение начало открывать соединение ESTABLISHED Установлено. Нормальное состояние передачи данных FIN WAIT 1 Приложение сообщило, что ему больше нечего передавать FIN WAIT 2 Другая сторона согласна разорвать соединение TIMED WAIT Ожидание, пока в сети не исчезнут все пакеты CLOSING Обе стороны попытались одновременно закрыть соединение CLOSE WAIT Другая сторона инициировала разъединение LAST ACK Ожидание, пока в сети не исчезнут все пакеты

Моделирование управления TCP соединением (2) Машина конечных состояний TCP- соединения. Жирная сплошная линия показывает нормальный переходы клиента. Пунктиром показаны переходы сервера. Тонкими линиями обозначены необычные события

Передача данных по протоколу TCP Управление окном в TCP Отправитель Получатель Приложение выполняет запись 2К Приложение записывает еще 3К Отправитель Заблокирован Отправитель может послать до 2К

Передача данных по протоколу TCP (2) Синдром глупого окна Буфер получателя полон Приложение читает 1 байт Место для ещё одного байта Посылается сегмент с новым размером окна Прибывает новый байт Буфер получателя полон

Управление перегрузками в TCP (a) Быстрая сеть и получатель малой емкости (b) Медленная сеть и получатель большой емкости Решение – два окна (отправителя и перегрузки) Регулирование скорости передачи Передающая сеть Получатель малой емкости Внутренняя перегрузка Получатель большой емкости

Управление заторами в TCP (2) Пример алгоритма управления перегрузками в Интернет Порог Тайм-аут Порог Номер передачи Окно перегрузки, Кбайт

Управление таймерами в TCP (a) Плотность вероятности времени прибытия подтверждения на канальном уровне (b) Плотность вероятности времени прибытия подтверждения на транспортном уровне Время прохождения данных в оба конца, мс Вероятность

Управление таймерами в TCP (2) Механизмы: a)переменная RTT (round trip time) b)таймер постоянства (сообщи размер окна) c)таймер функционирования (жив ли ты?)

Беспроводные TCP и UDP Разбиение TCP-соединения на два Отправитель Базовая станция Маршрутизатор Антенна Мобильный хост

Переходный TCP (a) RPC using normal TPC. (b) RPC using T/TCP.

Вопросы производительности Проблема производительности в компьютерных сетях Измерение производительности сети Проектирование производительных систем Быстрая обработка TPDU-модулей Протоколы для гигабитных сетей

Проблема производительности в компьютерных сетях Передача мегабита от Сан-Диего до Бостона: (a) В момент времени t=0; (b) Через 500 мкс; (c) Через 20 мс; (d) Через 40 мс

Измерение производительности сети Основной цикл работ по совершенствованию производительности сети включает следующие этапы 1.Измерить важные сетевые параметры и производительность сети 2.Попытаться понять, что происходит 3.Изменить один параметр Основные проблемы при измерениях

Проектирование производительных систем Правила: 1.Скорость центрального процессора важнее скорости сети 2.Уменьшайте число пакетов, чтобы уменьшить накладные расходы 3.Минимизируйте количество переключений контекста 4.Минимизируйте число операций копирования 5.Можно купить более высокую пропускную способность, но не меньшую задержку 6.Лучше избегать перегрузки, чем восстанавливаться после них 7.Избегайте тайм-аутов

Проектирование производительных систем (2) Время реакции как функция нагрузки

Проектирование производительных систем (3) Четыре переключения контекста для обработки одного пакета в сети с сетевым менеджером в режиме пользователя Процесс пользователя, работающий во время прихода пакета Сетевой менеджер Получающий процесс Режим пользователя Режим ядра

Быстрая обработка TPDU Быстрый путь от отправителя до получателя показан жирной линией. Затенены выполняемые процессы на этом пути Сеть

Быстрая обработка TPDU (2) (a)TCP-заголовок (b) IP-заголовок В обоих случаях затенённые поля взяты у прототипа без изменений

Быстрая обработка TPDU-модулей (2*) Порт отправителяПорт получателя Порядковый номер Номер подтверждения Длина TCP заголовка Не использ. Размер окна Контрольная сумма Указатель срочности Версия Идентификатор Тип службы Полная длина TTL Протокол Смещение фрагмента Контрольная сумма заголовка Адрес отправителя Адрес получателя (a)TCP-заголовок (b) IP-заголовок В обоих случаях затенённые поля взяты у прототипа без изменений

Быстрая обработка TPDU-модулей (3) Указатель на список таймеров для Т+12 Текущее время Указатель на список таймеров для Т+3 Указатель на список таймеров для Т+10 Гнездо

Протоколы для гигабитных сетей Время передачи файла размером 1 Мбит по 4000-км линии