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

Post on 11-Feb-2016

72 views 1 download

description

Транспортный уровень. Сервис. Задача транспортного уровня обеспечить надежную доставку сообщений. транспортный агент. Транспортный агент может располагаться в ядре операционной системы, в отдельном процессе пользователя, в библиотеке сетевого приложения, на карте сетевого интерфейса. (рис.6-1). - PowerPoint PPT Presentation

Transcript of Транспортный уровень

Сети ЭВМпроф. Смелянский Р.Л.

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

Сети ЭВМпроф. Смелянский Р.Л.

Сервис

• Задача транспортного уровня обеспечить надежную доставку сообщений.

• транспортный агент. Транспортный агент может располагаться в ядре операционной системы, в отдельном процессе пользователя, в библиотеке сетевого приложения, на карте сетевого интерфейса. (рис.6-1)

Сети ЭВМпроф. Смелянский Р.Л.

Сервис

• Транспортный сервис весьма схож с сетевым. Зачем два уровня?

• Сделать сервис транспортного уровня более надежным, чем сетевого.

• Прикладная программа, опираясь на транспортный сервис, становится независимой от сети и может работать в сети с любым сервисом.

• С транспортным сервисом работает прикладная программа, а с сетевым – транспортный уровень.

Сети ЭВМпроф. Смелянский Р.Л.

Сети ЭВМпроф. Смелянский Р.Л.

Качество сервиса

• Параметры качества сервиса определяет пользователь в момент установления транспортного соединения, указывая желаемое и минимальное значения. Процедура согласования параметров качества сервиса называется согласованием возможностей.

Connection establishment delay - задержка на установку соединения время между запросом на установку соединения и подтверждением о его установлении;

Сети ЭВМпроф. Смелянский Р.Л.

Качество сервиса

Connection establishment failure probability - вероятность что соединение не будет установлено за время, равное задержке на установку соединения;

Throughput - пропускная способность - количество байт пользователя, передаваемых за секунду;

Transit delay - задержка на передачу - время от момента, когда сообщение ушло с машины отправителя, до момента, когда оно получено машиной получателем;

Сети ЭВМпроф. Смелянский Р.Л.

Качество сервиса

Residual error ration - доля ошибок при передаче. Теоретически этот параметр должен быть равен 0, если транспортный уровень надежно передает сообщение. На практике это не так;

Protection - защита: этот параметр позволяет определить уровень защиты передаваемых данных от не санкционированного доступа третьей стороной;

Сети ЭВМпроф. Смелянский Р.Л.

Качество сервиса

Priority - приоритет: этот параметр позволяет пользователю указать что это соединение для него важнее чем другие. Поэтому оно должно обслуживаться раньше других;

Resilience - устойчивость: вероятность что транспортный уровень сам разорвет соединение в силу внутренних проблем или перегрузки.

Сети ЭВМпроф. Смелянский Р.Л.

Сети ЭВМпроф. Смелянский Р.Л.

Примитивы транспортного уровня

• Примитивы транспортного уровня позволяют пользователю получить доступ к транспортному сервису. Поэтому этот сервис должен быть удобен, прост в использовании.

• Примитивы транспортного уровня рис.6-3• Диаграмма состояний установления соединения рис.6-

5• Пример примитивов Беркли рис.6-6.

Сети ЭВМпроф. Смелянский Р.Л.

Сети ЭВМпроф. Смелянский Р.Л.

Сети ЭВМпроф. Смелянский Р.Л.

Сети ЭВМпроф. Смелянский Р.Л.

Сети ЭВМпроф. Смелянский Р.Л.

Элементы транспортного протокола

• Транспортный протокол схож с канальным, но:1.Разные среды (рис.6-7);2.КА работают через провод установление соединений

проще;3.Среда, где работает ТА с памятью может терять;4.Количество соединений на транспортном много

больше, чем на канальном..

Сети ЭВМпроф. Смелянский Р.Л.

Элементы транспортного протокола

Транспортный протокол должен решать следующие проблемы:

• Адресация: как адресовать прикладной процесс, с которым надо установить соединение?

• Как корректно установить соединение? Ведь пакеты могут теряться. Как отличить пакеты нового соединения от повторных пакетов, оставшихся от старого?

• Как корректно разрывать соединение?

Сети ЭВМпроф. Смелянский Р.Л.

Сети ЭВМпроф. Смелянский Р.Л.

Адресация

• TSAP - Transport Service Access Point. IP адрес - SAP для сетевого уровня. рис.6-8

• Протокол установления начального соединения рис.6-9.

• Сервер имен• Структура TSAP

Сети ЭВМпроф. Смелянский Р.Л.

Сети ЭВМпроф. Смелянский Р.Л.

Сети ЭВМпроф. Смелянский Р.Л.

Установление соединения

• Проблема установления транспортного соединения возникает потому, что пакеты могут теряться, храниться и дублироваться на сетевом уровне.

• Пример - установление соединения с банком.• Решения

– Временное TSAP– Уникальный номер каждому соединению– Ограничить время жизни пакетов:

• Ограничением конструкции подсети;• Установкой счетчиков скачков в каждом пакете;• Установлением временной метки на каждом

пакете.

Сети ЭВМпроф. Смелянский Р.Л.

Установление соединения

• Метод Томлинсона– известно ограничение на время жизни пакета– все машины оснащены циклическим таймером

большой разрядности– рис.6-10– проблема медленного отправителя (рис.6-10(в))

• Надежное установление соединения (рис.6-11)

Сети ЭВМпроф. Смелянский Р.Л.

Сети ЭВМпроф. Смелянский Р.Л.

Сети ЭВМпроф. Смелянский Р.Л.

Освобождение соединения

• Разрыв соединения может быть асимметричным или симметричным.

• Асимметричный разрыв может привести к потере данных (см. рис.6-12).

• Симметричный разрыв - проблема двух армий (рис.6-13).– можно доказать, что нет протокола, который

безопасно разрешает эту ситуацию (рис.6-14).

Сети ЭВМпроф. Смелянский Р.Л.

Сети ЭВМпроф. Смелянский Р.Л.

Сети ЭВМпроф. Смелянский Р.Л.

Сети ЭВМпроф. Смелянский Р.Л.

Управление потоком и буферизация

• Буферизация– отличия от буферизации на канальном уровне– влияние надежности сетевого уровня на

буферизацию– влияние гарантированной буферизации у

получателя– схемы буферизации

• единый пул буферов vs система пулов на каждое соединение

• фиксированная длина буфера vs переменная длина буфера

• буферизация у получателя vs буферизация у отправителя

Сети ЭВМпроф. Смелянский Р.Л.

Управление потоком и буферизация

• Управление потоком– управление по каждому соединению свое– прежде всего надо учитывать пропускную

способность СПД среды– механизм управления должен располагаться на

стороне отправителя.

Сети ЭВМпроф. Смелянский Р.Л.

Сети ЭВМпроф. Смелянский Р.Л.

Сети ЭВМпроф. Смелянский Р.Л.

Мультиплексирование

• Нисходящее мультиплексированием (рис.6-17 а).– Например, в целях удешевления стоимости

транспортных соединений можно отобразить несколько транспортных соединений на одно сетевое.

• Восходящее мультиплексирование (рис.6-17в).– В некоторых случаях наоборот, в целях увеличения

пропускной способности по отдельным транспортным соединениям, можно отобразить транспортное соединение на несколько сетевых и по каждому сетевому иметь свое скользящее окно. Тогда быстро исчерпав возможности одного оконного буфера, можно переключиться на другое сетевое соединение и продолжить передачу по нему.

Сети ЭВМпроф. Смелянский Р.Л.

Сети ЭВМпроф. Смелянский Р.Л.

Восстановление после сбоев

• Проблема - восстановить работоспособность машины, включая и транспортный уровень. – Предположим, сервер упал и старается

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

Сети ЭВМпроф. Смелянский Р.Л.

Восстановление после сбоев

• Эта проблема только средствами транспортного уровня не решается. – Надо, записав TPDU, информировать об этом

приложение и только после этого слать подтверждение. При восстановлении надо опрашивать не только клиента на транспортном уровне, но и приложение.

Сети ЭВМпроф. Смелянский Р.Л.

Сети ЭВМпроф. Смелянский Р.Л.

Сети ЭВМпроф. Смелянский Р.Л.

Транспортные протоколы в Internet:TCP и UDP

• В Internet есть два основных транспортных протокола: TCP - ориентированный на соединение и UDP - не ориентированный на соединение. Поскольку UDP – это практически IP с добавлением небольшого заголовка, то основное внимание будет уделено TCP.

Сети ЭВМпроф. Смелянский Р.Л.

Сервис TCP

• Доступ к ТСР сервису происходит через сокет. • Сокет состоит из IP адреса хоста и 16 разрядного

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

Сети ЭВМпроф. Смелянский Р.Л.

Сервис TCP

– ТСР соединение поддерживает только соединение точка-точка. Нет ТСР соединений от одного ко многим.

– ТСР обеспечивает поток байтов, а не поток сообщений.

– Флаг PUSH в заголовке ТСР пакета - пакет должен быть передан немедленно.

– Флаг URGENT - все накопленные данные по данному соединению передаются сразу. Когда срочные данные поступают к месту назначения, то получателя прерывают и передают эти данные.

Сети ЭВМпроф. Смелянский Р.Л.

Протокол TCP

Протокол позволяет решаеть следующие задачи

восстанавливать порядок сегментов; убирать дубликаты сегментов, в каком бы виде

(фрагментация) они не поступали; определять разумную задержку для time out для

подтверждений в получении сегмента; устанавливать и разрывать соединения надежно; управлять потоком; управлять перегрузками.

• Заголовок ТСР сегмента показан на рис.6-24.

Сети ЭВМпроф. Смелянский Р.Л.

Сети ЭВМпроф. Смелянский Р.Л.

Сети ЭВМпроф. Смелянский Р.Л.

Сети ЭВМпроф. Смелянский Р.Л.

Управление соединениями в TCP

• Установление ТСР соединения происходит по протоколу трехкратного рукопожатия. – Флаги SYN и ASK в заголовке сегмента

используются для обозначения CONNECTION REQUEST и CONNECTION ACCEPED. Флаг RST используется для обозначения REJECT (рис.6-26).

• Процедура установления и разрыва соединения в виде диаграммы конечного автомата представлена на рис.6-27 и 6.28.

Сети ЭВМпроф. Смелянский Р.Л.

Сети ЭВМпроф. Смелянский Р.Л.

Сети ЭВМпроф. Смелянский Р.Л.

Сети ЭВМпроф. Смелянский Р.Л.

Стратегия передачи в TCP

• Типичная схема управления окнами на рис.6-29– TCP не требует от агента сразу передавать сегмент,

как только он получен от приложения– Стратегия Нагла для работы с однобайтными

приложениями– Синдром дурацкого окна

• Восстановление порядка поступления сегментов

Сети ЭВМпроф. Смелянский Р.Л.

Сети ЭВМпроф. Смелянский Р.Л.

Сети ЭВМпроф. Смелянский Р.Л.

Сети ЭВМпроф. Смелянский Р.Л.

Управление перегрузками в TCP

• Причины перегрузок различаемые в TCP (рис.6-31)• Алгоритм медленного старта (рис.6-32)• Алгоритм медленного старта с порогом

Сети ЭВМпроф. Смелянский Р.Л.

Сети ЭВМпроф. Смелянский Р.Л.

Управление таймерами в TCP

• Таймер повторной передачи• Таймер постоянства - избежать deadlock из-за потери

сообщения об изменении окна• Таймер функционирования

Сети ЭВМпроф. Смелянский Р.Л.

Сети ЭВМпроф. Смелянский Р.Л.

Протокол UDP

Сети ЭВМпроф. Смелянский Р.Л.

Сети ЭВМпроф. Смелянский Р.Л.

Беспроводнoй TCP и UDP

Сети ЭВМпроф. Смелянский Р.Л.

Сети ЭВМпроф. Смелянский Р.Л.

Производительность в сетях ЭВМ

• Причины падения производительности– структурная не сбалансированность– перегрузки– синхронные перегрузки– неправильная настройка системы (нет достаточно

памяти под буфера, неправильно выбран time out)– несбалансированность буфера и пропускной

способности канала

Сети ЭВМпроф. Смелянский Р.Л.

Сети ЭВМпроф. Смелянский Р.Л.

Сети ЭВМпроф. Смелянский Р.Л.

Измерение производительности в сети

• Количество испытаний должно быть достаточно велико

• Выборка испытаний должна быть представительной• Надо учитывать разрешающую способность часов• Ничего неожиданного во время измерений

происходить не должно• Кэш память может разрушить измерения• Надо четко осознавать, что вы измеряете• Надо быть очень осторожным при экстраполяции

результатов

Сети ЭВМпроф. Смелянский Р.Л.

Правила улучшающие производительность

– Правило 1: Скорость процессора важнее, чем скорость сети

– Правило 2: Понижай число пакетов, чтобы сократить накладные расходы программного обеспечения

– Правило 3: Минимизируй переключение контекста– Правило 4: Минимизируй число копий– Правило 5: Увеличение пропускной способности, не

сократит задержку– Правило 6: Лучше избегать перегрузок, чем

восстанавливаться после них– Правило 7: Избегайте наступления time out

Сети ЭВМпроф. Смелянский Р.Л.

Быстрая обработка TPDU

• Основным препятствием к быстрой работе сети является программное обеспечение стека протоколов.

• Идея максимально ускорить обработку нормально поступающих TPDU– Будем предполагать, что транспортный агент

расположен в ядре операционной системы (см.рис.6-49)– В нормальной ситуации заголовки последовательных

TPDU сегментов почти одинаковые (рис.6-50)• Управление буферизацией - избегать лишнего

копирования• Управление таймерами (рис.6-51)

Сети ЭВМпроф. Смелянский Р.Л.

Сети ЭВМпроф. Смелянский Р.Л.

Сети ЭВМпроф. Смелянский Р.Л.

Сети ЭВМпроф. Смелянский Р.Л.

Сети ЭВМпроф. Смелянский Р.Л.

Сети ЭВМпроф. Смелянский Р.Л.

Протоколы для высокоскоростных сетей

• Первая проблема - длина поля для последовательной нумерации.

• Вторая проблема возникает из-за того, что скорость передачи растет быстрее производительности процессоров.

• Третья проблема состоит в том, что гигабитный канал принципиально отличается от мегабитного (рис.6-52)

• Четвертая проблема - новые приложения

Сети ЭВМпроф. Смелянский Р.Л.

Протоколы для высокоскоростных сетей

• Главная проблема - сложность сетевого программного обеспечения– сетевой сопроцессор проблемы не решит

• Проблема обратной связи в протоколах– ожидание подтверждения в протоколе скользящего окна– периодические испытания в протоколе медленного

старта• Структура пакета

– в заголовке полей мало, но они «большие»– тело сегмента произвольной длины– раздельные контрольные суммы для заголовка и тела