Лекция 3. Надежность и безопасность распределенных систем
Лекция 3. Надежность и безопасность распределенных систем - Лекция, раздел Философия, Распределенные системы и алгоритмы Сравним Сосредоточенную И Распределенную Системы С Точки Зрения Надежности И ...
Сравним сосредоточенную и распределенную системы с точки зрения надежности и безопасности.
Под надежностью понимается в соответствии с ГОСТ 27.002-89 свойство системы сохранять во времени в установленных пределах значения всех параметров, характеризующих способность выполнять требуемые функции в заданных режимах и условиях применения, технического обслуживания и транспортирования.
Многие системы не являются абсолютно надежными, т.е. свойство надежности системы имеет место на конечном интервале времени, по истечении которого происходит отказ в работе. Длительность интервала безотказной работы зависит от очень большого числа факторов, предсказать которые нереально, поэтому, отказ обычно считают случайным событием.
Надежность принято характеризовать вероятностью отказа в работе (или вероятностью безотказной работы) в течение определенного отрезка времени. Другой характеристикой надежности системы является среднее время наработки на отказ.
Под безопасностью понимается состояние защищенности системы от потенциально и реально существующих угроз, или отсутствие таких угроз. Система находится в состоянии безопасности, если действие внешних и внутренних факторов не приводит к ухудшению или невозможности ее функционирования. Угрозы могут быть различного рода, в том числе угроза физического разрушения.
В контексте нашей темы интересны угрозы информационные. К ним относятся угрозы получения системой недостоверной входной информации, искажения внутрисистемной информации, а также утечка информации о функционировании системы.
Информационная безопасность — состояние защищенности информационной среды общества, обеспечивающее ее формирование, использование и развитие в интересах граждан, организаций, государства.
В качестве стандартной модели безопасности часто приводят модель CIA:
· конфиденциальность информации – confidentiality (обязательное для выполнения лицом, получившим доступ к определенной информации, требование не передавать такую информацию третьим лицам без согласия ее владельца);
· целостность (integrity);
· доступность (availability).
Под конфиденциальностью понимается доступность информации только определённому кругу лиц, под целостностью — гарантия существования информации в исходном виде, под доступностью — возможность получение информации авторизованным пользователем в нужное для него время.
Выделяют и другие категории:
· аутентичность — возможность установления автора информации;
· апеллируемость — возможность доказать что автором является именно заявленный человек, и не никто другой.
Все физические элементы любой системы являются потенциально ненадежными и уязвимыми с точки зрения безопасности.
Ненадежность элементов системы, осуществляющих переработку информации, может заключаться в полном отказе от переработки, в изменении функции (стабильном получении неверных результатов), в сбоях (периодическом возникновении ошибок).
Ненадежность элементов, осуществляющих передачу информации, может заключаться в полном прекращении передачи, в одностороннем прекращении передачи (для двунаправленных каналов), в возникновении случайных ошибок при передаче (помех).
Нарушение безопасности элементов системы, осуществляющих обработку информации, может состоять как в преднамеренных действиях злоумышленников, вызывающих отказ в работе, изменение функций (постоянное или единичное), так и в несанкционированном доступе к информации (НСД).
Нарушение безопасности элементов системы, осуществляющих передачу информации, может заключаться во вмешательстве, приводящем к полному прекращению передачи, к одностороннему прекращению передачи (для двунаправленных каналов), к замене одних сообщений на другие. Также может иметь место НСД.
Таким образом, проблемы надежности и безопасности во многом родственны. Они связаны с вмешательством в функционирование системы. Различие заключается в том, что ненадежность определяется физическими, природными факторами и не связана с чьими-то целями. Небезопасность определяется, в основном, «человеческим фактором» - наличием злоумышленников и/или беспечных сотрудников. Но одна из проблем безопасности – утечка информации при несанкционированном доступе – не имеет аналога среди проблем надежности.
Сравним две системы, Sd и Ssa , предназначенные для решения одних и тех же задач для одного и того же множества объектов. Объекты представляют собой элементы системы, расположенные в различных точках пространства. На рис. 1 и рис. 2 эти объекты показаны одинаково расположенными точками. Формально, обе системы являются распределенными, но, поскольку, в системе на рис. 1 вся обработка информации происходит в одном месте, то эту систему будем считать сосредоточенной.
Рис. 1. Сосредоточенная система
Рис. 2. Распределенная система
В распределенной системе количество элементов больше, чем в сосредоточенной: Sd включает дополнительные серверы Serva , Servb , Servc и дополнительные элементы (линии связи) Lj . Количество линий связи li объектов с серверами в сосредоточенной и распределенной системах одинаково – оно определяется количеством объектов.
Каждый фактор с точки зрения надежности, если его рассматривать изолированно, играет положительную или отрицательную роль. Например, увеличение количества ненадежных элементов в системе при прочих равных условиях играет отрицательную роль. Под прочими равными условиями здесь понимается неизменность архитектуры (соединений и распределения функций) системы, неизменность параметров элементов и проч. Если же архитектуру изменить, например, использовать дополнительные элементы для дублирования (резервирования), то надежность, напротив, повышается.
Линии связи с объектами в сосредоточенной системе имеют большую, чем в распределенной системе, длину. Это, несомненно, отрицательный фактор. Обычно с увеличением длины линии увеличивается количество помех, увеличивается стоимость передачи, увеличиваются возможности злоумышленников по съему информации или по ее искажению. Этот общий вывод не зависит от природы линии связи – проводная, оптоволоконная, радиосвязь, связь с использованием спутников и т.д. Конструкция линии связи определяет только вид зависимости и числовые характеристики параметров надежности и безопасности.
С точки зрения надежности при обработке информации распределенная система имеет преимущества перед сосредоточенной. Выход из строя сервера Serv в сосредоточенной системе приводит к полному прекращению функционирования всей системы. В распределенной системе, такой как на рис. 2, имеется четыре сервера: Serv, Serva , Servb , Servc . Выход из строя сервера Serv не мешает серверам Serva , Servb , Servc решать локальные задачи по обработке информации в отдельных подразделениях организации при условии, что для расчетов не нужна оперативная информация из других подразделений или с главного сервера.
Выход из строя сервера Serva сказывается только на работе подразделения «a» при условии, что для функционирования других серверов не нужна оперативная информация из этого подразделения. Сервер верхнего уровня Serv перестает получать информацию от сервера Serva , поэтому часть функций распределенной системы перестают работать.
В ряде случаев довольно легко создать программы резервной обработки на функционирующих серверах при выходе из строя одного из серверов, перенаправляя потоки информации.
При проектировании системы всегда приходится искать компромисс между различными факторами, с математической точки зрения – решать оптимизационную задачу. Ее существо в том, что, вообще говоря, можно обеспечить любую требуемую надежность системы, но увеличение надежности сопровождается увеличением ее стоимости. Причем, увеличивается как стоимость проектирования и реализации, так и стоимость эксплуатации (функционирования).
То же можно сказать и о безопасности. Мероприятия по безопасности имеют еще одну отрицательную черту: причинение дополнительных неудобств пользователям системы, минимальное из которых – необходимость ввода логина и пароля.
Наряду с архитектурой технических средств для отказоустойчивости распределенной системы играет большую роль методика построения алгоритмов. Она должна быть рассчитана на возможные сбои или рассогласования в работе узлов системы (при программировании в сосредоточенных системах возможность сбоя обычно не учитывается).
В настоящее время существует два подхода к разработке распределенных алгоритмов: построение отказоустойчивых алгоритмов и построение стабилизирующих алгоритмов. В устойчивых алгоритмах каждый шаг каждого процесса предпринимается с достаточной осторожностью, чтобы гарантировать, что, несмотря на сбои, правильные процессы выполняют только правильные шаги. В стабилизирующих алгоритмах правильные процессы могу быть подвержены сбоям, но алгоритм в целом гарантирует исправление ошибок.
Устойчивые алгоритмы разработаны так, чтобы учитывать возможность сбоев в некоторых процессах (относительно небольшом их количестве) и гарантировать при этом правильность выполнения тех процессов, в которых не произошло сбоев. Эти алгоритмы используют такие стратегии как голосование, вследствие чего процесс воспримет только такую информацию извне, о получении которой объявит достаточно много других процессов. Однако процесс никогда не должен ждать получения информации от всех процессов, потому что может возникнуть тупик, если при выполнении какого-либо процесса произойдет сбой.
Устойчивые алгоритмы защищают систему против отказов ограниченного числа узлов. Остающиеся работоспособными узлы поддерживают правильное (хотя возможно менее эффективное) поведение во время восстановления и реконфигурации системы. Следовательно, устойчивые алгоритмы должны использоваться, когда невозможно временное прерывание работы.
Стабилизирующие алгоритмы предлагают защиту против временных сбоев, то есть, временного аномального поведения компонент системы. Эти сбои могут происходить в больших частях распределенной системы, когда физические условия временно достигают критических значений, стимулируя ошибочное поведение памяти и процессоров.
Примером может быть система управления космической станцией, когда станция подвергается сильному космическому излучению, а также системы, в которых на многие компоненты одновременно воздействуют неблагоприятные природные условия. Когда воздействие этих условий исчезает, процессы восстанавливают свою работоспособность и функционируют на основе программ. Однако из-за их временного аномального поведения глобальное результирующее состояние системы может быть непредвиденным. Свойство стабилизации гарантирует сходимость к требуемому поведению.
Сосредоточенные и распределенные системы
Во многих случаях термин «распределенная» является альтернативой термину «сосредоточенная». Так бывает, когда существуют (или могут существовать) системы, решающие одинаковые задачи, системы, функц
Тандемы распределенных систем
Рассмотрим две системы, S1 и S2 . Первая система функционирует для достижения некоторой цели G1 . При этом в любой момент времени имеется некот
Лекция 2. Распределенные задачи и алгоритмы
С системой S связана цель G, ради которой система функционирует. Эта цель ставится самой системой (если система – активная), или поставлена извне. Для достижения цели в системе должна
Структура информационного пространства
Хотя термин «информационное пространство» является лишь метафорой, обратимся к проблеме анализа структуры этого пространства. Математики привыкли связывать с любым пространством некоторую структуру
Структуры РРИСО
Структуру РРИСО можно рассматривать с нескольких точек зрения. Прежде всего, это наиболее очевидная – географически ориентированная структура. Многие (но не все) элементы информационной системы при
Подсистемы. Взаимоотношения структур
Каждая из структур РРИСО строится по своим законам, поэтому, не стоит ожидать изоморфизма между парами структур. Идеально, если одни структуры являются надстройками над другими, использующими механ
Условная корпоративность
Хотя мы называем РРИСО корпоративной системой в силу того, что имеется определенный административный «каркас» на множестве ее пользователей, и у нее довольно четкая целевая направленность, тем не м
Неоднородность
Неоднородность – одна из важнейших характеристик РРИСО. Если многие корпоративные системы являются однородными, или неоднородность имеет место в одном - двух аспектах построения системы, то неоднор
Интегрируемость
Это одно из ключевых свойств в характеристике РРИСО. Это и «врожденное» и приобретаемое свойство.
Невозможно представить себе, чтобы такая система создавалась «с нуля». Существуют базы дан
Лекция 6. Моделирование распределенных систем. Язык Triad
Исследование распределенных систем – трудная задача. Прежде всего, распределенная система должна быть описана, т.е. должна быть построена модель системы. Для этой цели можно использовать различные
For i:= 1 to n do
routine(System2.Node[i]) := Generator
endf.
При этом создается n экземпляров рутины Generator. Для каждого экземпляра рутины создается свой комплект локальных пер
For i:= 1 to n – 1 do
System := System + (System.Node[i] « System.Node[i + 1])
endf;
System := System + (System.Node[n] « System.Node[1])
В цикле к системе добавляются ребра м
Лекция 7. Распределенное имитационное моделирование
В одной из лекций шла речь о методах исследования распределенных систем. В качестве одного из методов рассматривался метод имитационного моделирования.
Если предположить, что предметом исс
Причины для перехода к распределенному моделированию
Использование распределенного моделирования объясняется:
- возможностью использования вычислительных ресурсов нескольких процессоров (компьютеров) для выполнения имитационного эксперимента
Два направления в развитии распределенных систем моделирования
Развитие распределенного имитационного моделирования идет по двум направлениям. Это монолитные системы моделирования и готовые системы моделирования, объединенные с помощью специального программног
Физическое время
Рассмотрим пример: пусть на нескольких компьютерах (клиентах) располагаются директории с файлами – списки товаров, на сервере – сводная директория, которая периодически обновляется. Приложение, рас
Управление временем в распределенном моделировании
Управление временем в распределённом моделировании должно обеспечивать выполнение событий в правильном хронологическом порядке. Более того, на алгоритмы синхронизации возлагается обязанность коррек
Парадоксы времени
Алгоритм управления временем должен следить за тем, чтобы события выполнялись в хронологическом порядке. Эта задача не является тривиальной. Действительно, логический процесс заранее не может знать
Консервативное управление временем
Первые алгоритмы синхронизации использовали консервативный подход. Принципиальная задача консервативного протокола – определить время, когда обработка очередного события из списка необработанных со
Алгоритм с нулевыми сообщениями
Первыми консервативными алгоритмами считаются алгоритмы, разработанные Bryant, Chandy, Misra.
Алгоритм предполагает:
- Топология процессов, которые посылают сообщения друг другу,
Оптимистическое управление временем
В отличие от консервативных алгоритмов, не допускающих нарушения ограничения локальной каузальности, оптимистические методы не следят за этим ограничением. Однако этот подход гарантирует выявление
Лекция 9. Балансировка нагрузки в распределенных системах
Балансировка нагрузки (Load Balancing) применяется для оптимизации выполнения распределённых (параллельных) вычислений с помощью распределённой (параллельной) ВС. Балансировка
Статическая и динамическая балансировки
Следует различать статическую и динамическую балансировки.
Статическая балансировка выполняется до начала выполнения распределенн
Оценка загрузки
На этом этапе осуществляется приблизительная оценка загрузки каждого процессора. Полученная информация о загрузке используется в качестве базы данных для процесса балансировки, во-первых, для опред
Инициализация балансировки загрузки
Слишком частое выполнение балансировки загрузки может привести к тому, что выполнение имитационной модели только замедлится. Затраты на саму балансировку могут превзойти возможную выгоду от ее пров
Балансировка загрузки распределенной имитационной модели
В одной из предыдущих лекций мы рассматривали вопросы реализации распределенных систем имитации. Балансировку необходимо выполнять и при проведении распределённого моделирования. Первоначальная цел
Динамическая балансировка и перенос нагрузки
Алгоритм динамической балансировки использует характеристики состояния системы и принимает решение о том, с какого компьютера и на какой следует перенести работу во время моделирования. Это подход
RCL – cтратегия переноса нагрузки
Рассмотрим три алгоритма динамического переноса нагрузки, предложенные разработчиками SPEEDES:
- случайный алгоритм (random, R);
- алгоритм, основанный на коммуникациях (communica
Действия первого уровня
В начале действий по переносу нагрузки информации все компьютеры прекращают свою работу, и каждый получает информацию о локальной нагрузке в текущий момент времени. Информация о локальной нагрузке
Действия второго уровня
Действия второго уровня охватывают все рабочие станции распределённой системы. Конкретной количество нагрузки посылается с одной рабочей станции на другую. Основные действия связаны с выбором нагру
Реализация
Стратегия динамического переноса нагрузки RCL была разработана для SPEEDES с целью повышения её производительности. Были проведены эксперименты для выявления конкретных параметров, которые влияют н
Распределенные веб-сервисы
В настоящее время веб-сервисы находят все более широкое применение. Они используются в самых разных случаях в Интернет. Быстрое увеличение числа веб-сервисов и пользователей этих сервисов требует в
Использование мобильных агентов
Наряду с традиционными подходами (парадигма обмена сообщениями) рассмотрим другой – мультиагентный подход.
Напомним, что мобильный агент – это программный компонент, который может автомати
Мультиагентный подход к балансировке
Мобильные агенты используются для поддержки балансировки загрузки в параллельных и распределенных вычислениях. Рассмотрим кратко несколько проектов.
Проект Traveller
Проект
Агенты и МАС
Развитие интеллектуальных агентов и МАС очень популярны в среде исследователей ИС.
В области ИС интеллектуальные агенты используются, прежде всего, для интеграции информационных систем, по
Лекция 11. Распределенное хранение информации
Источники информации часто, как говорилось ранее, находятся в различных точках физического пространства. Если информация из этих источников не используется сразу, а потребность в ней возникает лишь
Фрагментация
Реляционные базы данных хранят отношения – таблицы, состоящие из строк и столбцов. Строка отношения называется кортежем и представляет собой запись (record в смысле языка программирования, н
Репликация
Под репликацией понимается создание копий некоторых фрагментов отношений и одновременное хранение нескольких копий на разных сайтах (в разных локальных БД). Репликация используется для того,
Схемы владения данными в распределенной БД
Выше, рассматривая распределенную базу данных, состоящую из локальных сайтов, мы неявно предполагали, что для каждой единицы данных существует вполне определенный единственный сайт, владеющий этими
Лекция 12. Волновые алгоритмы распространения информации
Многие задачи в распределенных системах решаются путем пересылки сообщений согласно некоторой схемы, которая гарантирует участие всех сайтов. Эта схема зависит от топологических особенностей систем
Алгоритм для кольцевой архитектуры
Если сайты распределенной системы соединены однонаправленными каналами связи так, что образуют граф – ориентированный цикл, применим следующий волновой алгоритм.
Суть его в следующем. Один
Алгоритм для структуры – дерева
Предположим, что соединение сайтов распределенной системы каналами образует граф – неориентированное дерево. Из теории графов известны следующие факты для деревьев:
1) дерево – связный аци
Алгоритм голосования
Алгоритм голосования применяется для распределенных систем, имеющих структуры полных графов. В этом случае инициатором может быть любой сайт. Для графа – звезды его тоже можно использовать, но иниц
Фазовый алгоритм
Фазовый алгоритм является децентрализованным алгоритмом для произвольных ориентированных графов. Двунаправленные связи тоже могут присутствовать, но они должны быть заданы парой параллельных встреч
Алгоритм Финна
Алгоритм Финна – еще один волновой алгоритм, который можно использовать в ориентированных сетях произвольной топологии. Он не требует того, чтобы диаметр сети был известен заранее, но подразумевает
Распространение информации с обратной связью
Важным применением волновых алгоритмов является случай, когда некоторая информация должна быть передана всем процессам и определенные процессы должны быть оповещены о завершении передачи. Эта задач
Синхронизация
Волновые алгоритмы могут использоваться для случаев, когда должна быть достигнута глобальная синхронизация процессов. Задача синхронизации формулируется следующим образом. В каждом процессе q
Вычисление нижней грани
Продемонстрируем применение волновых алгоритмов для вычисления функций, значения которых зависят от входов процесса на каждом сайте. В качестве представителей таких функций будут рассмотрены алгори
Лекция 13. Алгоритмы обхода сайтов
Алгоритмом обхода называется алгоритм, обладающий следующими тремя свойствами.
1) В каждом вычислении один сайт-инициатор, который начинает выполнение алгоритма, посылая ровно одно сообщен
Алгоритм обхода тора
Граф вида «тор» представляет собой решетку с дополнительными ребрами, соединяющими вершины из верхнего ряда («строки») решетки с вершинами из нижнего ряда, а также с ребрами, соединяющими вершины и
Алгоритм обхода гиперкуба
В теории графов известен класс графов Qn , называемых кубами размерности n, или гиперкубами. Это семейство описывается формулами Qn = K2
Алгоритм Тарри
Алгоритм обхода для произвольных связных графов был дан Тарри. Алгоритм основан на следующих двух правилах.
1. Процесс никогда не передает маркер дважды по одному и тому же каналу.
Лекция 14. Алгоритмы выбора сайтов
Во многих распределенных системах один из сайтов играет роль координатора при выполнении распределенного алгоритма. Иногда координатором является сайт, который инициировал выполнение алгоритма. Но
Алгоритм смещения
Алгоритм предназначен для динамического выбора координатора на основе локальных оценок сайтов. Предполагается, что каналы связи надежны, а сайты иногда могут прерывать (например, из-за отказов) сво
Выбор с помощью алгоритма для деревьев
Если топология распределенной системы – дерево или доступно остовное дерево системы, выбор можно провести с помощью алгоритма, приведенного в лекции 12. В этом алгоритме требуется, чтобы все концев
Алгоритмы выбора для кольцевых архитектур
В алгоритме Лелана для распределенной системы с архитектурой кольца (ориентированного цикла) каждый инициатор вычисляет список идентификаторов всех инициаторов, после чего выбирается инициатор с на
Лекция 15. Поиск в пиринговых системах
Пиринговые системы (peer-to-peer, P2P) – это такие компьютерные сети, в которых не используется классическая схема клиент-сервер, разделяющая множество всех узлов на два подмножества – серверов и к
Лекция 16. Тенденции в области распределенных систем
В одной из своих статей в 2001 году Дж. Бэкус отметил, что компьютерная революция испытала три волны. Первая волна началась с коммерциализацией кремниевых чипов и продолжалась 10-15 лет. Вторая вол
Архитектура Грид
Следуя традиционному построению распределенных систем, можно описать архитектуру Грид, состоящую из четырех слоев:
1. Пользовательские интерфейсы, приложения и среда решения задач (problem
Мобильный компьютинг
Самостоятельным направлением является мобильный компьютинг. В его основе (в дополнение к распределенному компьютингу) лежат:
1) сети, обеспечивающие подключение к ним
Тотальный компьютинг
Английский термин pervasive computing обозначает проникающий, распространяющийся повсюду, всеобъемлющий, глубоко влияющий (компьютинг). Тотальный компьютинг ставит во главу угла конечного пользоват
Хотите получать на электронную почту самые свежие новости?
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Новости и инфо для студентов