Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 10 лет назад пользователемКсения Яшнева
1 Транспортный уровень Глава 6
2 Рассматриваемые вопросы a)Сервис транспортного уровня b)Элементы транспортного протокола c)Транспортные протоколы Интернет: UDP d)Транспортные протоколы Интернет: ТСP
3 Сервис транспортного уровня Сервис, предоставляемый верхним уровням Примитивы транспортного уровня Сокеты Беркли Пример программирования с использованием сокетов: –Интернет файл - сервер
4 Сервис, предоставляемый верхним уровням Цель: обеспечить эффективный, надежный и дешевый сервис для пользователей на прикладном уровне Реализация - транспортный агент (ядро ОС, пользовательский процесс, библиотека сетевого приложения, сетевая карта)
5 Сервис, предоставляемый верхним уровням Сетевой, транспортный и прикладной уровни Интерфейс Прикладной уровень Транспортный уровень Сетевой уровень Сетевой адрес Транспортный адрес Транспортная активность
6 Сервис, предоставляемый верхним уровням С соединением и без соединений Адресация Управление потоком Зачем нужен транспортный сервис, если есть сетевой? Виды сервиса
7 Сервис, предоставляемый верхним уровням Сетевой уровень – часть сети передачи данных (теряются пакеты, отказы маршрутизаторов и ЛПД и т.д.) Задача – повысить надежность Решение - пустить поверх сети ПД еще один надежный уровень Кроме того!! Прикладные программы становятся независимыми от среды ПД Зачем нужен транспортный сервис, если есть сетевой?
8 Сервис, предоставляемый верхним уровням Connection establishment delay - задержка в установлении соединения - время между запросом на установление соединения и подтверждением о его установлении; Connection establishment failure probability – вероятность, что соединение не будет установлено за время, равное задержке на установление соединения; Throughput - пропускная способность - количество байт пользователя, передаваемых за секунду; Transit delay - задержка передачи - время от момента, когда сообщение ушло с машины отправителя, до момента, когда оно получено машиной получателя; Качество сервиса
9 Сервис, предоставляемый верхним уровням Residual error ration - доля ошибок при передаче; Protection - защита: этот параметр позволяет определить уровень защиты передаваемых данных от несанкционированного доступа третьей стороной; Priority - приоритет: этот параметр позволяет пользователю указать, что одно соединение для него важнее чем другое. Поэтому оно должно обслуживаться раньше других; Resilience - устойчивость: вероятность, что транспортный уровень сам разорвет соединение в силу внутренних проблем или перегрузки Качество сервиса
10 Примитивы транспортного уровня Примитивы простого транспортного сервиса ПримитивОтправка пакетаЗначение LISTEN(none) Блокировать сервер, пока какой- либо процесс не попытается соединиться CONNECTCONNECTION REQ Попытка установления соединения SENDDATA Отправить информацию RECEIVE(none) Блокировать сервер, пока не поступят данные DISCONNECTDISCONNECTION REQ Отправляющая сторона хочет разорвать соединение
11 Примитивы транспортного уровня (2) Вложенность TPDU, пакета и кадра Вложенная единица данных Заголовок кадра Заголовок пакета Заголовок единицы данных транспортного уровня
12 Примитивы транспортного уровня (3) Диаграмма состояний простой схемы управления соединением. Переходы, обозначенные курсивом, вызываются прибытием пакетов. Сплошными линиями показана последовательность состояний клиента. Пунктирными линиями показана последовательность состояний сервера.
13 Сокеты Беркли (Berkeley Sockets) Примитивы протокола TCP ПримитивЗначение SOCKETСоздать новый сокет (точка подключения) BINDСвязывает с сокетом локальный адрес LISTENОбъявляет о готовности принять запрос на соединение; указывает размер очереди ACCEPTБлокирует вызывающего до попытки прихда запроса на соединения CONNECTАктивно пытается установить соединение SENDОтправка данных по соединению RECEIVEПрием данных по соединению CLOSEРазрыв соединения
14 Пример программирования с использованием сокетов: Интернет файл-сервер Код клиента с использованием сокетов 6-6-1
15 Пример программирования с использованием сокетов: Интернет файл-сервер (2) Код клиента с использованием сокетов
16 Элементы транспортного протокола Адресация Установление соединения Разрыв соединения Управление потоком и буферизация Мультиплексирование Восстановление после сбоя
17 Транспортный протокол Работают в разных средах Процессы на канальном уровне взаимодействуют через провод, поэтому процедура установления соединения много проще Среда, в которой работает транспортный протокол обладает памятью, которая может теряться Количество соединений на транспортном (буферизация и управления потоком) Различия транспортного и канального протоколов
18 Транспортный протокол (a) Окружение канального уровня (b) Окружение транспортного уровня Физический канал связи Маршрутизатор Телекоммуникационная сеть
19 Транспортный протокол Транспортный протокол должен решать следующие проблемы: Адресация: как адресовать прикладной процесс, с которым надо установить соединение? Как корректно установить соединение? Ведь пакеты могут теряться. Как отличить пакеты нового соединения от повторных пакетов, оставшихся от старого? Как корректно разрывать соединение? Задачи транспортного протокола
20 Адресация Точки доступа к сервису (SAP) транспортного (TSAP) и сетевого (NSAP) уровня и транспортное соединение
21 Установление соединения Пользовательский процесс на Хосте 1 устанавливает соединение с сервером на Хосте 2 Протокол установления начального соединения (Unix)
22 Установление соединения (2) Пакеты могут теряться Пакеты могут храниться Пакеты могут дублироваться Решения: Временная TSAP Присвоение уникального номера каждому соединению Ограничить время жизни пакета (должны умереть сами пакеты и уведомления) Основные проблемы
23 Установление соединения (3) (a) TPDU - модули не могут находиться в запретной зоне (b) Проблема ресинхронизации Время Используемые в действительности порядковые номера Перезапуск после сбоя со значением 70 Порядковые номера Запрещённое сообщение
24 Установление соединения (3) Три сценария установления соединения с помощью процедуры «троекратного рукопожатия». CR - CONNECTION REQUEST, ACK - CONNECTION ACCEPTED. (a) Нормальная работа (b) Появление старого дубликата CONNECTION REQUEST (c) Дубликат CR и дубликат ACK
25 Разрыв соединения Внезапное разъединение с потерей данных После запроса разъединения данные не доставляются
26 Разрыв соединения (2) Проблема двух армий
27 Разрыв соединения (3) Четыре сценария разрыва соединения: (a) нормальный случай «тройного рукопожатия» (b) потеря подтверждения АСК 6-14, a, b (Таймаут) Разрыв соединения Отправка DR + запуск таймера Разрыв соединения Отправка ACK
28 Разрыв соединения (4) (c) Потеря ответа (d) Потеря ответа и последующего нового запроса на разрыв DR 6-14, c,d
29 Управление потоком и буферизация (a) Цепочка буферов фиксированного размера (b) Цепочка буферов переменного размера (c) Один большой циклический буфер на соединение Ситуации: Пакеты одинаковой длины Пакеты переменной длины
30 Управление потоком и буферизация (2) Динамическое выделение буферов. Стрелками показано направление передачи. Многоточие означает потерянный TPDU
31 Мультиплексирование (a)Восходящее мультиплексирование (b)Нисходящее мультиплексирование Уровни Транспортные адреса Сетевые адреса
32 Восстановление после сбоя Различные комбинации стратегий сервера и клиента Стратегия, используемая передающим хостом Всегда повторять передачу Никогда не повторять передачу Повторять передачу в S0 Повторять передачу в S1 Стратегия, используемая получающим хостом Сначала подтверждение, потом запись Сначала запись, потом подтверждение Протокол работает корректно Протокол формирует дубликат сообщения Протокол теряет сообщение
33 Простой транспортный протокол Пример примитивов сервиса Пример транспортной сущности Пример в виде конечного автомата
34 Пример транспортной сущности Пакеты сетевого уровня, используемые в примере Сетевой пакетЗначение Запрос соединения. Отправляется для установления соединения Вызов принят. Ответ на CALL REQUEST Запрос разъединения. Отправляется для разрыва соединения Подтверждение разъединения. Ответ на CLEAR REQUEST Данные Кредит. Пакет для управления окном
35 Пример транспортной сущности (2) Каждое соединение может находиться в одном из следующих семи состояниях: 1.Idle – соединение ещё не установлено 2.Waiting – примитив CONNECT выполнен и пакт CALL REQUEST послан 3.Queued – пакет CALL REQUEST прибыл. Примитив LISTEN ещё не вызывался 4.Established – соединение установлено 5.Sending – пользователь ожидает разрешения отправить пакет 6.Receiving – примитив RECEIVE выполнен. 7.DISCONNECTING – примитив DISCONNECT выполнен локально
36 Пример транспортной сущности (3)
37 Пример транспортной сущности (4)
38 Пример транспортной сущности (5)
39 Пример транспортной сущности (6)
40 Пример транспортной сущности (7)
41 Пример транспортной сущности (8)
42 Пример транспортной сущности (9)
43 Пример транспортной сущности (10)
44 Пример в виде конечного автомата Пример протокола в виде машины с конечными состояниями. У каждой ячейки матрицы может быть предикат, действие и новое состояние. Тильда означает, что основное действие не предпринималось. Черта над предикатом означает отрицание предиката. Пустые ячейки соответствуют невозможным или неверным событиям
45 Пример в виде конечного автомата (2) Пример автомата в виде графа. Переходы, не изменяющие состояние опущены
46 Транспортные протоколы Интернет: UDP Введение в UDP Удаленный вызов процедур (RCP- Remote Procedure Call) Транспортный протокол реального времени
47 Введение в UDP Заголовок UDP
48 Транспортный протокол реального времени (RTP) (a)Положение RTP в стеке протоколов (b)Вложенность пакетов
49 Транспортный протокол реального времени (2) Заголовок RTP
50 Транспортный протокол Интернет TCP Введение в TCP Модель сервиса TCP Протокол TCP Заголовок TCP-сегмента Управление TCP-соединением Управление передачей в TCP Борьба с перегрузкой в TCP Управление таймерами в TCP Беспроводные протоколы TCP Транзакционный TCP
51 Модель сервиса 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 Новости
52 Модель сервиса TCP (2) a)Соединения – дуплексные b)Задержка отправки и флаги PUSH и URGENT c)Поток байтов, а не поток сообщений Основные свойства
53 Модель сервиса TCP (3) (a) Четыре 512-байтовых сегмента, посланные как отдельные IP- дейтаграммы (b) 2048 байт данных доставлены приложению с помощью одного сегмента READ CALL Поток байтов, а не поток сообщений
54 Заголовок сегмента TCP Заголовок TCP
55 Заголовок сегмента TCP (2) бита Порт отправителя Порт получателя Порядковый номер Номер подтверждения Длина TCP- заголовка Размер окна Контрольная суммаУказатель срочности данных Не обязательно ( 0 или более 32-разрядных слов ) Данные ( необязательное поле)
56 Заголовок сегмента TCP (3) Псевдозаголовок, включаемый в контрольную сумму TCP
57 Установление TCP соединения (a) Установление TCP соединения в нормальном случае (b) Конфликт вызовов 6-31
58 Разрыв TCP соединения Разрыв асимметричный в каждом направлении a)по получении ответа на FIN b)по истечении time-out
59 Передача данных по протоколу TCP Управление окном в TCP Отправитель Получатель Приложение выполняет запись 2К Приложение записывает еще 3К Отправитель Заблокирован Отправитель может послать до 2К
60 Передача данных по протоколу TCP (2) Синдром глупого окна Буфер получателя полон Приложение читает 1 байт Место для ещё одного байта Посылается сегмент с новым размером окна Прибывает новый байт Буфер получателя полон
61 Управление перегрузками в TCP (a) Быстрая сеть и получатель малой емкости (b) Медленная сеть и получатель большой емкости Решение – два окна (отправителя и перегрузки) Регулирование скорости передачи Передающая сеть Получатель малой емкости Внутренняя перегрузка Получатель большой емкости
62 Управление заторами в TCP (2) Пример алгоритма управления перегрузками в Интернет Порог Тайм-аут Порог Номер передачи Окно перегрузки, Кбайт
63 Управление таймерами в TCP (a) Плотность вероятности времени прибытия подтверждения на канальном уровне (b) Плотность вероятности времени прибытия подтверждения на транспортном уровне Время прохождения данных в оба конца, мс Вероятность
64 Управление таймерами в TCP (2) Механизмы: a)переменная RTT (round trip time) b)таймер постоянства (сообщи размер окна) c)таймер функционирования (жив ли ты?)
65 Беспроводные TCP и UDP Разбиение TCP-соединения на два Отправитель Базовая станция Маршрутизатор Антенна Мобильный хост
66 Вопросы производительности Проблема производительности в компьютерных сетях Измерение производительности сети Проектирование производительных систем Быстрая обработка TPDU-модулей Протоколы для гигабитных сетей
67 Проблема производительности в компьютерных сетях Передача мегабита от Сан-Диего до Бостона: (a) В момент времени t=0; (b) Через 500 мкс; (c) Через 20 мс; (d) Через 40 мс
68 Измерение производительности сети Основной цикл работ по совершенствованию производительности сети включает следующие этапы 1.Измерить важные сетевые параметры и производительность сети 2.Попытаться понять, что происходит 3.Изменить один параметр
69 Измерение производительности сети a)Количество испытаний должно быть достаточно велико b)Выборка испытаний должна быть представительной c)Надо учитывать разрешающую способность часов d)Ничего неожиданного во время измерений происходить не должно e)Кэш память может разрушить ваши измерения f)Надо четко осознавать, что вы измеряете g)Надо быть очень осторожным при экстраполяции результатов Основные проблемы при измерениях
70 Измерение производительности сети Время реакции как функция нагрузки Экстраполяция может привести к ошибкам
71 Проектирование производительных систем Правила: 1.Скорость центрального процессора важнее скорости сети 2.Уменьшайте число пакетов, чтобы уменьшить накладные расходы 3.Минимизируйте количество переключений контекста* 4.Минимизируйте число операций копирования 5.Можно купить более высокую пропускную способность, но не меньшую задержку 6.Лучше избегать перегрузки, чем восстанавливаться после них 7.Избегайте тайм-аутов
72 Проектирование производительных систем (3) Четыре переключения контекста для обработки одного пакета в сети с сетевым менеджером в режиме пользователя Процесс пользователя, работающий во время прихода пакета Сетевой менеджер Получающий процесс Режим пользователя Режим ядра
73 Протоколы для гигабитных сетей Время передачи файла размером 1 Мбит по 4000-км линии
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.