Transcript
Page 1: Транспортный уровень

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

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

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

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

Сервис

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

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

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

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

Сервис

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Адресация

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

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

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

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

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

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

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

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

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

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

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

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

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

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

пакете.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Сервис TCP

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

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

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

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

Сервис TCP

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

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

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

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

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

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

Протокол TCP

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Протокол UDP

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

результатов

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Recommended