Транспортный уровень май 2002 Сети ЭВМ 1

advertisement
Транспортный уровень
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
1
Сервис
• Расположение транспортного уровня – между
приложением и СПД средой.
• Задача транспортного уровня - обеспечить надежную
доставку сообщений.
• Транспортный агент - может располагаться в ядре
операционной системы, в отдельном процессе
пользователя, в библиотеке сетевого приложения, на
карте сетевого интерфейса.
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
2
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
3
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
4
Сервис
• Транспортный сервис весьма схож с сетевым. Зачем
два уровня?
• Сделать сервис транспортного уровня более
надежным, чем сетевого.
• Прикладная
программа,
опираясь
на
транспортный сервис, становится независимой
от сети и может работать в сети с любым
сервисом.
• С транспортным сервисом работает прикладная
программа, а с сетевым – транспортный уровень.
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
5
Качество сервиса
• Параметры качества сервиса определяет пользователь
в момент установления транспортного соединения,
указывая желаемое и минимальное значения.
Процедура согласования параметров качества сервиса
называется согласованием возможностей.
 Connection establishment delay - задержка на установку
соединения время между запросом на установку соединения и
подтверждением о его установлении;
 Connection establishment failure probability - вероятность что
соединение не будет установлено за время, равное задержке на
установку соединения;
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
6
Качество сервиса
 Throughput - пропускная способность - количество байт
пользователя, передаваемых за секунду;
 Transit delay - задержка на передачу - время от момента, когда
сообщение ушло с машины отправителя, до момента, когда
оно получено машиной получателем;
 Residual error ration - доля ошибок при передаче. Теоретически
этот параметр должен быть равен 0, если транспортный
уровень надежно передает сообщение. На практике это не так;
 Protection - защита: этот параметр позволяет определить
уровень защиты передаваемых данных от не
санкционированного доступа третьей стороной;
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
7
Качество сервиса
 Priority - этот параметр позволяет пользователю
указать приоритет соединения, т.е. насколько для
него соединение важнее чем другие. Поэтому
оно должно обслуживаться раньше других;
 Resilience - устойчивость: вероятность что
транспортный уровень сам разорвет соединение
в силу внутренних проблем или перегрузки.
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
8
Примитивы транспортного уровня
• Примитивы транспортного уровня позволяют
пользователю получить доступ к транспортному
сервису. Поэтому этот сервис должен быть удобен,
прост в использовании.
• Примитивы транспортного уровня рис.6-3
• Диаграмма состояний установления соединения
рис.6-5
• Пример примитивов Беркли рис.6-6.
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
10
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
11
Примитивы транспортного уровня
• Примитивы транспортного уровня позволяют
пользователю получить доступ к транспортному
сервису. Поэтому этот сервис должен быть удобен,
прост в использовании.
• Примитивы транспортного уровня рис.6-3
• Диаграмма состояний установления соединения
• Пример примитивов Беркли рис.6-6.
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
12
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
13
Примитивы транспортного уровня
• Примитивы транспортного уровня позволяют
пользователю получить доступ к транспортному
сервису. Поэтому этот сервис должен быть удобен,
прост в использовании.
• Примитивы транспортного уровня
• Диаграмма состояний установления соединения
• Пример примитивов Беркли
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
14
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
15
Элементы транспортного протокола
Транспортный протокол схож с канальным, но:
1. Разные среды (рис.6-7);
2. КА работают через провод  установление
соединений проще;
3. Среда, где работает ТА с памятью  может терять;
4. Количество соединений на транспортном много
больше, чем на канальном.
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
16
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
17
Элементы транспортного протокола
Транспортный протокол схож с канальным, но:
1.Разные среды (рис.6-7);
2. КА работают через провод  установление
соединений проще;
3. Среда, где работает ТА с памятью  может терять;
4. Количество соединений на транспортном много
больше, чем на канальном.
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
18
Элементы транспортного протокола
Транспортный протокол должен решать следующие
проблемы:
• Адресация: как адресовать прикладной процесс,
с которым надо установить соединение?
• Как корректно установить соединение? Ведь
пакеты могут теряться. Как отличить пакеты
нового соединения от повторных пакетов,
оставшихся от старого?
• Как корректно разрывать соединение?
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
19
Адресация
• TSAP - Transport Service Access Point – адрес на
транспортном урровне.
• Протокол установления начального соединения
рис.6-9.
• Сервер имен
• Структура TSAP
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
20
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
21
Адресация
• TSAP - Transport Service Access Point.
IP адрес - SAP для сетевого уровня. рис.6-8
• Протокол установления начального соединения
рис.6-9.
• Сервер имен
• Структура TSAP
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
22
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
23
Адресация
• TSAP - Transport Service Access Point.
IP адрес - SAP для сетевого уровня. рис.6-8
• Протокол установления начального соединения
рис.6-9.
• Сервер имен
• Структура TSAP
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
24
Установление соединения
• Проблема установления транспортного соединения
возникает потому, что пакеты могут теряться,
храниться и дублироваться на сетевом уровне.
• Пример - установление соединения с банком.
• Решения
– Временное TSAP
– Уникальный номер каждому соединению
– Ограничить время жизни пакетов:
• Ограничением конструкции подсети;
• Установкой счетчиков скачков в каждом пакете;
• Установлением временной метки на каждом
пакете.
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
25
Установление соединения
• Метод Томлинсона
– известно ограничение на время жизни пакета
– все машины оснащены циклическим таймером
большой разрядности
– проблема медленного отправителя (рис.6-10(в))
• Надежное установление соединения (рис.6-11)
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
26
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
27
Установление соединения
• Метод Томлинсона
– известно ограничение на время жизни пакета
– все машины оснащены циклическим таймером
большой разрядности
– проблема медленного отправителя (рис.6-10(в))
• Надежное установление соединения (рис.6-11)
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
28
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
29
Установление соединения
• Метод Томлинсона
– известно ограничение на время жизни пакета
– все машины оснащены циклическим таймером
большой разрядности
– проблема медленного отправителя (рис.6-10(в))
• Надежное установление соединения (рис.6-11)
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
30
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
31
Освобождение соединения
• Разрыв соединения может быть асимметричным или
симметричным.
• Асимметричный разрыв может привести к потере
данных (см. рис.6-12).
• Симметричный разрыв - проблема двух армий (рис.613).
– можно доказать, что нет протокола, который
безопасно разрешает эту ситуацию (рис.6-14).
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
32
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
33
Освобождение соединения
• Разрыв соединения может быть асимметричным или
симметричным.
• Асимметричный разрыв может привести к потере
данных (см. рис.6-12).
• Симметричный разрыв - проблема двух армий (рис.613).
– можно доказать, что нет протокола, который
безопасно разрешает эту ситуацию (рис.6-14).
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
34
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
35
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
36
Управление потоком и буферизация
• Буферизация
– отличия от буферизации на канальном уровне
– влияние надежности сетевого уровня на
буферизацию
– влияние гарантированной буферизации у
получателя
– схемы буферизации
• единый пул буферов vs система пулов на каждое
соединение
• фиксированная длина буфера vs переменная
длина буфера
• буферизация у получателя vs буферизация у
отправителя
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
37
Управление потоком и буферизация
• Управление потоком
– управление по каждому соединению свое
– прежде всего надо учитывать пропускную
способность СПД среды
– механизм управления должен располагаться на
стороне отправителя.
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
38
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
39
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
40
Мультиплексирование
• Нисходящее мультиплексированием (рис.6-17 а).
– Например,
в
целях
удешевления
стоимости
транспортных соединений можно отобразить несколько
транспортных соединений на одно сетевое.
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
41
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
42
Мультиплексирование
• Восходящее мультиплексирование (рис.6-17в).
– В некоторых случаях наоборот, в целях увеличения
пропускной способности по отдельным транспортным
соединениям,
можно
отобразить
транспортное
соединение на несколько сетевых и по каждому сетевому
иметь свое скользящее окно. Тогда быстро исчерпав
возможности
одного
оконного
буфера,
можно
переключиться на другое сетевое соединение и
продолжить передачу по нему.
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
43
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
44
Восстановление после сбоев
• Проблема - восстановить работоспособность машины,
включая и транспортный уровень.
– Предположим,
сервер
упал
и
старается
восстановить функционирование. Прежде всего,
ему надо узнать у клиента, какое TPDU было
последним не подтвержденным у него и попросить
его перепослать. В свою очередь клиент может
находиться в одном из двух состояний: S1 – есть не
подтвержденное TPDU, либо S0 – все TPDU
подтверждены.
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
45
Восстановление после сбоев
• Эта проблема только средствами транспортного уровня
не решается.
– Надо, записав TPDU, информировать об этом
приложение и только после этого слать
подтверждение.
При
восстановлении
надо
опрашивать не только клиента на транспортном
уровне, но и приложение.
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
46
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
47
Транспортные протоколы в Internet:
TCP и UDP
• В Internet есть два основных транспортных протокола:
TCP - ориентированный на соединение и UDP - не
ориентированный на соединение. Поскольку UDP –
это практически IP с добавлением небольшого
заголовка, то основное внимание будет уделено TCP.
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
49
Сервис TCP
• Доступ к ТСР сервису происходит через сокет.
• Сокет состоит из IP адреса хоста и 16 разрядного
локального номера на хосте, называемого порт.
Порт - это TSAP для ТСР. Каждое соединение
идентифицируется парой сокетов, между
которыми оно установлено.
Порты
с
номерами до 256 зарезервированы для
стандартного сервиса. Все ТСР соединения дуплексные.
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
50
Сервис TCP
– ТСР соединение поддерживает только соединение
точка-точка. Нет ТСР соединений от одного ко
многим.
– ТСР обеспечивает поток байтов, а не поток
сообщений.
– Флаг PUSH в заголовке ТСР пакета - пакет должен
быть передан немедленно.
– Флаг URGENT - все накопленные данные по
данному соединению передаются сразу. Когда
срочные данные поступают к месту назначения, то
получателя прерывают и передают эти данные.
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
51
Протокол TCP
Протокол позволяет решать следующие задачи
 восстанавливать порядок сегментов;
 убирать дубликаты сегментов, в каком бы виде
(фрагментация) они не поступали;
 определять разумную задержку для time out для
подтверждений в получении сегмента;
 устанавливать и разрывать соединения надежно;
 управлять потоком;
 управлять перегрузками.
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
52
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
53
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
54
Управление соединениями в TCP
• Установление ТСР соединения происходит по
протоколу трехкратного рукопожатия.
– Флаги SYN и ASK в заголовке сегмента
используются для обозначения CONNECTION
REQUEST и CONNECTION ACCEPED. Флаг RST
используется для обозначения REJECT (рис.6-26).
• Процедура установления и разрыва соединения в виде
диаграммы конечного автомата представлена на рис.627 и 6.28.
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
56
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
57
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
58
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
59
Стратегия передачи в TCP
• Типичная схема управления окнами на рис.6-29
– TCP не требует от агента сразу передавать сегмент,
как только он получен от приложения
– Стратегия Нагла для работы с однобайтными
приложениями
– Синдром дурацкого окна
• Восстановление порядка поступления сегментов
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
60
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
61
Стратегия передачи в TCP
• Типичная схема управления окнами на рис.6-29
– TCP не требует от агента сразу передавать сегмент,
как только он получен от приложения
– Стратегия Нагла для работы с однобайтными
приложениями
– Синдром дурацкого окна
• Восстановление порядка поступления сегментов
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
62
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
63
Стратегия передачи в TCP
• Типичная схема управления окнами на рис.6-29
– TCP не требует от агента сразу передавать сегмент,
как только он получен от приложения
– Стратегия Нагла для работы с однобайтными
приложениями
– Синдром дурацкого окна
• Восстановление порядка поступления сегментов
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
64
Управление перегрузками в TCP
• Причины перегрузок различаемые в TCP (рис.6-31)
• Алгоритм медленного старта (рис.6-32)
• Алгоритм медленного старта с порогом
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
65
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
66
Управление перегрузками в TCP
• Причины перегрузок различаемые в TCP (рис.6-31)
• Алгоритм медленного старта (рис.6-32)
• Алгоритм медленного старта с порогом
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
67
Управление перегрузками в TCP
• Причины перегрузок различаемые в TCP (рис.6-31)
• Алгоритм медленного старта (рис.6-32)
• Алгоритм медленного старта с порогом
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
68
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
69
Управление таймерами в TCP
• Таймер повторной передачи
• Таймер постоянства - избежать deadlock из-за потери
сообщения об изменении окна
• Таймер функционирования
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
70
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
71
Протокол UDP
• UDP (User Data Protocol RFC768). Этот протокол
инкапсулирует сегменты в виде дейтаграмм и шлет их
через сеть.
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
72
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
73
Беспроводнoй TCP и UDP
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
74
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
75
Производительность в сетях ЭВМ
• Причины падения производительности
– структурная не сбалансированность
– перегрузки
– синхронные перегрузки
– неправильная настройка системы (нет достаточно
памяти под буфера, неправильно выбран time out)
– несбалансированность буфера и пропускной
способности канала
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
76
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
77
Измерение производительности в сети
• Количество испытаний должно быть достаточно
велико
• Выборка испытаний должна быть представительной
• Надо учитывать разрешающую способность часов
• Ничего
неожиданного
во
время
измерений
происходить не должно
• Кэш память может разрушить измерения
• Надо четко осознавать, что вы измеряете
• Надо быть очень осторожным при экстраполяции
результатов
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
78
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
79
Правила улучшающие производительность
– Правило 1: Скорость процессора важнее, чем
скорость сети
– Правило 2: Понижай число пакетов, чтобы
сократить накладные расходы программного
обеспечения
– Правило 3: Минимизируй переключение контекста
– Правило 4: Минимизируй число копий
– Правило 5: Увеличение пропускной способности, не
сократит задержку
– Правило 6: Лучше избегать перегрузок, чем
восстанавливаться после них
– Правило 7: Избегайте наступления time out
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
80
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
81
Быстрая обработка TPDU
• Основным препятствием к быстрой работе сети
является программное обеспечение стека протоколов.
• Идея максимально ускорить обработку нормально
поступающих TPDU
– Будем предполагать, что транспортный агент
расположен в ядре операционной системы (см.рис.6-49)
– В нормальной ситуации заголовки последовательных
TPDU сегментов почти одинаковые (рис.6-50)
•
Управление буферизацией - избегать лишнего
копирования
• Управление таймерами (рис.6-51)
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
82
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
83
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
84
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
85
Протоколы для высокоскоростных сетей
• Первая проблема - длина поля для последовательной
нумерации.
• Вторая проблема возникает из-за того, что скорость
передачи растет быстрее производительности
процессоров.
• Третья проблема состоит в том, что гигабитный канал
принципиально отличается от мегабитного (рис.6-52)
• Четвертая проблема - новые приложения
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
86
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
87
Протоколы для высокоскоростных сетей
• Главная проблема - сложность сетевого программного
обеспечения
– сетевой сопроцессор проблемы не решит
• Проблема обратной связи в протоколах
– ожидание подтверждения в протоколе скользящего окна
– периодические испытания в протоколе медленного
старта
• Структура пакета
– в заголовке полей мало, но они «большие»
– тело сегмента произвольной длины
– раздельные контрольные суммы для заголовка и тела
май 2002
Сети ЭВМ
проф. Смелянский Р.Л.
88
Download