Научная статья на тему 'МЕТОД АНАЛИЗА ФУНКЦИОНИРОВАНИЯ ВЫЧИСЛИТЕЛЬНЫХ СЕТЕЙ С ПРИМЕНЕНИЕМ МНОГОУРОВНЕВОГО ВНЕДРЕНИЯ НЕИСПРАВНОСТЕЙ'

МЕТОД АНАЛИЗА ФУНКЦИОНИРОВАНИЯ ВЫЧИСЛИТЕЛЬНЫХ СЕТЕЙ С ПРИМЕНЕНИЕМ МНОГОУРОВНЕВОГО ВНЕДРЕНИЯ НЕИСПРАВНОСТЕЙ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
15
5
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ВЫЧИСЛИТЕЛЬНЫЕ СЕТИ / ОТКАЗОУСТОЙЧИВОСТЬ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Брехов Олег Михайлович, Балян Арменак Вячеславович

Широкое применение вычислительных сетей во всех сферах человеческой деятельности, в том числе в сферах, связанных с риском для жизни, таких как авиация, космонавтика и т.д., повышает необходимость обеспечения надежности и отказоустойчивости этих систем. И так как ошибок в функционировании столь сложных и распределенных систем избежать невозможно, следовательно, задача исследования их поведения под воздействием сбоев и отказов является актуальной. В статье представлен метод многоуровневого внедрения неисправностей для анализа функционирования вычислительных сетей под воздействием сбоев и отказов. По сравнению с существующими методами анализа функционирования вычислительных сетей, где неисправности внедряются на определенном уровне сетевой модели, в данной работе предлагается внедрять сбои и отказы на всех уровнях модели и анализировать функционирование системы под их воздействием.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

MULTI-LEVEL FAULT INJECTION METHOD FOR COMPUTER NETWORKS FUNCTIONING ANALYSIS

The widespread use of computer networks in all spheres of human life, including the areas related with the risk for life, such as aviation and cosmonautics, medicine, etc., increases the need to ensure the reliability and fault tolerance. Errors in the functioning of such complex and distributed systems can not be avoided. Consequently, the actual objective is the study of the system behavior under the influence of faults. In order to solve this problem it was decided to apply fault injection. Existing works in fault injection are strictly connected to one of the OSI network model levels. They make it possible to implement faults and analyze the functioning of computer networks with reference to a specific level. This fact seriously limits networks analysis capabilities. Faults and failures that occur at low levels, parry at higher levels and vice versa. However, fault injection and analysis of the reaction only at one level do not give a complete picture of the system functioning under the influence of faults and failures. In this paper, we propose a method of multi-level fault injection. The method is based on the injection of faults at all levels of OSI model and analysis of the system reaction. The obtained data can be used to detect levels of the OSI model, which have the greatest influence on the reliability and fault tolerance of the computer network. The application of the obtained data in order to improve the degree of fault tolerance will allow to increase the efficiency of the network functioning. This paper presents the main types of faults occurring at different levels of TCP/IP protocol stack. Following results were obtained: - Formulation of the task of networks functioning analysis based on multi-level fault injection. - Definition of the main types of faults and their causes at each level of the network model. - Proposition of a multi-level fault injection method for the computer networks functioning analysis.

Текст научной работы на тему «МЕТОД АНАЛИЗА ФУНКЦИОНИРОВАНИЯ ВЫЧИСЛИТЕЛЬНЫХ СЕТЕЙ С ПРИМЕНЕНИЕМ МНОГОУРОВНЕВОГО ВНЕДРЕНИЯ НЕИСПРАВНОСТЕЙ»

Труды МАИ. Выпуск № 89 www.mai.ru/science/trudy/_

УДК 004.052.32

Метод анализа функционирования вычислительных сетей с применением многоуровневого внедрения неисправностей

Брехов О.М.*, Балян А.В.**

Московский авиационный институт (национальный исследовательский университет), МАИ, Волоколамское шоссе, 4, Москва, A-80, ГСП-3, 125993, Россия

*e-mail: obrekhov@mail.ru **e-mail: balyanarm@gmail.com

Аннотация

Широкое применение вычислительных сетей во всех сферах человеческой деятельности, в том числе в сферах, связанных с риском для жизни, таких как авиация, космонавтика и т.д., повышает необходимость обеспечения надежности и отказоустойчивости этих систем. И так как ошибок в функционировании столь сложных и распределенных систем избежать невозможно, следовательно, задача исследования их поведения под воздействием сбоев и отказов является актуальной.

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

Ключевые слова: вычислительные сети, внедрение неисправностей, отказоустойчивость.

1. Введение

По мере роста уровня применения вычислительных сетей (ВС) во всех сферах человеческой жизни, возрастает необходимость в обеспечении надежности и отказоустойчивости предоставляемых пользователям услуг. Однако из-за ряда причин возникновение ошибок в ВС неизбежно. Кроме того, для беспроводных систем связи парирование ошибок при передачи данных является одним из основных требований [1, 2]. Следовательно, задача анализа функционирования ВС при наличии сбоев и отказов является актуальной.

Можно выделить два основных метода анализа функционирования ВС под воздействием сбоев и отказов: мониторинг и фильтрация трафика, метод внедрения неисправностей.

1.1. Мониторинг и фильтрация трафика

При применении метода мониторинга и фильтрации трафика исследуется весь трафик, проходящий через ВС. Используются программные и аппаратные средства захвата и фильтрации трафика для обнаружения ошибок, выяснения их причин и характера. Неисправности в сети могут долгое время не выявляться и процесс анализа может затянуться на длительное время.

1.2. Метод внедрения неисправностей (ВН)

Метод ВН предполагает внесение как можно более реалистичных неисправностей в систему, с целью анализа их влияния [3]. Различаются аппаратное

ВН, программное ВН и ВН на этапе моделирования. Аппаратное ВН -неисправности физически вносятся в прототип системы, используя контактный или бесконтактный метод. Программше ВН - неисправности вносятся в программные компоненты системы. ВН на этапе моделирования - неисправности вносятся в модель системы.

В работе предлагается использовать метод программного ВН для анализа функционирования ВС и средств обеспечения отказоустойчивости.

2. Анализ существующих способов применения метода ВН в ВС

Ниже представлены основные инструменты и способы применения метода ВН в ВС [4,5,6].

ORCHESTRA (Portable fault injection tool for testing implementations of distributed protocols) [4]- инструмент внедрения неисправностей для тестирования реализаций распределенных протоколов, который дает возможность внедрять неисправности только между пользовательскими приложениями и транспортным уровнем стека протоколов TCP/IP. Инструмент реализован в виде библиотеки функций, которая аналогична библиотеке для работы с сокетами. При применении библиотеки функций в приложениях можно внедрять неисправности в сообщения и передавать их транспортному уровню. Параметры внедряемых неисправностей описываются пользователем.

Mendosus (Fault-injection test-bed that supports the emulation of LAN-connected systems) [5] - испытательный стенд ВН который поддерживает эмуляцию систем подключенных по локальной сети. Для внедрения неисправностей в передаваемые

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

NFTAPE (A Framework for Assessing Dependability in Distributed Systems with Lightweight Fault Injectors) [6] - платформа для оценки надежности распределенных систем с упрощенными модулями ВН. Платформа обладает достаточно широкими возможностями ВН в память и регистры центрального процессора на узлах распределенных систем. Программными средствами имитируются аппаратные неисправности и анализируется реакция системы. Достоинством данного инструмента является кроссплатформенность и структурированность. Управляющая часть инструмента находится отдельно от модулей ВН, что дает возможность лучше контролировать процесс внедрения. Неисправности могут внедряться только в пользовательские данные на прикладном уровне.

Существующие способы применения метода ВН жестко привязаны к одному из уровней модели OSI[7] и дают возможность внедрять неисправности и анализировать функционирование ВС с привязкой к конкретному уровню. Данный факт серьезно ограничивает возможности анализа функционирования ВС. ВН и анализ реакции ВС только на одном уровне не дают полной картины функционирования средств обеспечения отказоустойчивости и самой системы под воздействием сбоев и отказов.

Исходя из приведенных выше соображений, было принято решение разработать метод анализа функционирования ВС с применением многоуровневого внедрения неисправностей. По сравнению с существующими методами,

многоуровневое внедрение неисправностей дает возможность оценки функционирования ВС при возникновении неисправностей на всех уровнях. А также, многоуровневое ВН дает возможность определения уровней сетевой модели, в наибольшей степени влияющих на надежность и отказоустойчивость ВС. Полученные данные могут быть использованы для улучшения средств обеспечения отказоустойчивости и, в конечном итоге, повышения эффективности функционирования ВС.

3. Типы неисправностей и причины их возникновения в модели 081

В соответствии с семиуровневой моделью OSI в ВС обеспечиваются следующие процессы [7]:

- На прикладном уровне - взаимодействие пользовательских приложений с сетью. Данный уровень предоставляет приложениям информацию об ошибках передачи.

- На уровне представления - организация данных при их пересылке. Этот уровень также занимается процессом шифрования информации.

- На сеансовом уровне - поддержание сеанса связи для взаимодействия приложений.

- На транспортном уровне - надёжная передача данных от отправителя к получателю.

- На сетевом уровне - определение пути передачи данных от отправителя к получателю.

- На канальном уровне - обеспечение взаимодействия сетей на физическом уровне и контроль ошибок, которые могут возникнуть при передаче.

- На физическом уровне - определение метода передачи данных, представленных в двоичном виде, от одного устройства к другому.

На каждом уровне к пользовательским данным добавляется служебная часть, в виде заголовка (рис.1), формируя протокольный блок данных (ПБД-Protocol Data Unit, PDU). Заголовок обеспечивает целевую доставку данных, а в случае возникновения ошибок передачи, их выявления. Каждый уровень имеет средства обеспечения отказоустойчивости. Однако ошибки, возникающие на более низких уровнях, могут быть парированы на более высоких уровнях, или наоборот.

Рис.1. Сетевая модель OSI

Основные типы неисправностей и причины их возникновения на разных уровнях сетевой модели OSI представлены в Таблице 1.

Таблица 1

Основные типы неисправностей и причины их возникновения

Типы неисправностей на разных уровнях Причины возникновения

Прикладной уровень

Изменение бита в заголовке пользовательских данных - Ошибки в пользовательском программном обеспечении - Залипание, инверсия битов в ячейках памяти

Изменение бита в пользовательских данных

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

Изменение бита в заголовке блока данных - Ошибки в процессе сжатия/распаковки пользовательских данных - Ошибки в процессе шифрования/дешифрования пользовательских данных

Изменение бита в поле данных блока

Потеря блока данных

Сеансовый уровень

Изменение бита в заголовке данных сеансового уровня Залипание, инверсия битов в ячейках памяти

Изменение бита в данных сеансового уровня

Потеря данных сеансового уровня Прерывание сеанса связи

Потеря служебных сообщений

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

Изменение бита в заголовке сегмента Залипание, инверсия битов в ячейках памяти

Изменение бита в поле данных сегмента

Потеря сегмента - Превышение размера принимающего окна - Переполнение буферов

Сетевой уровень

Изменение бита в заголовке пакета Залипание, инверсия битов в ячейках памяти оконечных устройств и маршрутизаторов

Изменение бита в поле данных пакета

Типы неисправностей на Причины возникновения

разных уровнях

Потеря пакета - Отсутствие маршрута - Переполнение буфера маршрутизатора

Канальный уровень

Изменение бита в заголовке

кадра Залипание, инверсия битов в

Изменение бита в поле данных ячейках памяти

кадра

Потеря кадра Переполнение буферов коммутаторов

Отправка короткого кадра Ошибка в работе драйвера

Отправка длинного кадра

Физический уровень

Инверсия одного бита Помехи при передаче

Инверсия последовательности бит

4. Предлагаемый метод ВН в ВС

В работе предлагается метод многоуровневого ВН, который использует внедрение неисправностей на функционально взаимосвязанных уровнях сетевой модели OSI. Многоуровневое ВН дает возможность наиболее полного анализа функционирования ВС в присутствии сбоев и отказов на разных уровнях сетевой модели. А также, предлагаемый метод дает возможность выявления наименее надежных уровней и определения наиболее сильно влияющих на работу ВС неисправностей.

Рассмотрим алгоритм предлагаемого метода и механизмы анализа воздействия неисправностей на ВС.

4.1. Алгоритм многоуровневого ВН в ВС

Блок схема алгоритма приведена на рис.2. Алгоритм состоит из 8 основных этапов (7+1-это количество уровней и финальный этап анализа результатов). Важно отметить, что количество этапов может быть изменено с конкретной реализацией. Например, для стека протоколов TCP/IP количество будет равно 5 (стек TCP/IP состоит из 4 уровней плюс финальный этап анализа результатов).

Для начала работы передаются служебные данные конкретной реализации сетевой модели (значения таймеров, объемы буферов в памяти и т.д.). На каждом этапе происходит ВН для конкретного уровня и анализ функционирования системы. После завершения этапов ВН, происходит переход на этап анализа полученных данных, для определения узких мест в функционировании системы.

Рис.2. Алгоритм многоуровневого ВН в ВС

4.2. Анализ воздействия неисправностей на ВС

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

Полученные показатели функционирования под воздействием сбоев и отказов на конкретном этапе сохраняются и происходит переход на следующий этап. После окончания ВН на всех уровнях, анализируются полученные данные, для выявления наименее надежных уровней, определения неисправностей наиболее сильно влияющие на работу ВС.

5. Применение предложенного метода

Рассмотрим применение предложенного метода в стеке протоколов TCP/IP [8]. Стек протоколов TCP/IP реализован на четырех уровнях (рис. 3).

Модель OSI

Прикладной уровень Уровень представления

Сеансовый уровень Транспортный уровень Сетевой уровень Канальный уровень Физический уровень

Рис.3. Соответствие моделей OSI и TCP/IP

Стек протоколов TCP/IP

Прикладной уровень

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

Сетевой уровень

Канальный уровень

Рассмотрим причины возникновения и типы неисправностей на разных уровнях стека протоколов TCP/IP.

ВН на прикладном уровне: протоколы прикладного уровня передают данные пользовательских приложений транспортному уровню. Большинство протоколов прикладного уровня не обладают средствами надежной доставки данных, возлагая данную функцию на транспортный уровень. Ошибки, в пользовательских данных, могут возникать из-за ряда причин, таких как, сбои и отказы в модулях памяти, программные ошибки.

ВН на транспортном уровне: данный уровень обеспечивает надежную доставку пользовательских данных. Поток пользовательских данных разбивается на сегменты, которые размещаются в буфере отправки до получения подтверждающих квитанций от получателя. В случае отсутствия квитанций, данные передаются повторно. Целостность передачи оценивается контрольной суммой в заголовке сегмента. Контрольная сумма рассчитывается для всего сегмента с заголовком. Ошибки на данном уровне могут возникать по причине сбоев или отказов в буферах устройств, перегрузок в сети, неправильной конфигурации размеров буферов, значений тайм-аутов.

ВН на сетевом уровне: сетевой уровень определяет путь доставки пакетов. На данном уровне работают маршрутизаторы, которые определяют маршрут отправки пакетов. Неисправности на данном уровне могут возникать из-за сбоев или отказов в памяти устройств, ошибок маршрутизации, ошибок программного обеспечения маршрутизаторов.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

ВН на канальном уровне: канальный уровень в стеке TCP/IP решает достаточно широкий спектр задач. Данный уровень обеспечивает взаимодействие с вышестоящим уровнем, доступ к среде, передачу кадров по физической среде, включая кодирование, обеспечивая проверку и правильность переданных данных. На канальном уровне могут возникать ошибки из-за сбоев и отказов в работе драйверов устройств, сетевых карт, коммутаторов, помех при передаче по разным средам.

Для тестирования предложенного метода в стеке протоколов TCP/IP использовалась ВС состоящая из двух вычислительных машин, на одной из которых было запущено клиентское приложение, на другой - серверное. По запросу клиента с сервера выполнялась передача данных. В качестве показателя функционирования ВС измерялась задержка передачи данных (время между отправкой запроса и корректного получения всех данных клиентом). Для ВН использовалось приложение генерации пакетов, а для обеспечения реалистичной загруженности сети - генератор трафика. Согласно предложенному методу, ВН проводилось на транспортном и канальном уровнях, с последующим анализом функционирования ВС на каждом этапе. На обоих уровнях внедрялась неисправность в одном пакете - изменение бита в поле данных ПБД. Результаты ВН приведены в Таблице 2.

Таблица 2

Результат тестирования метода на двух уровнях стека протоколов TCP/IP

ВН на уровнях стека протоколов TCP/IP

Среднее значение задержки передачи данных (сек.)

Передача данных без ВН 10,03534

ВН на транспортном уровне 10,09685

ВН на канальном уровне 10,35655

Анализ результатов приведенных в Таблице 2 показывает, что неисправность возникшая на разных уровнях по разному влияет на функционирование ВС. Следовательно, метод многоуровневого ВН дает возможность наиболее полного анализа функционирования ВС в присутствии сбоев и отказов.

6. Заключение

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

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

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

Библиографический список

1. Таненбаум Э. Уэзеролл Д. Компьютерные сети - СПб.: Питер, 2012, - 960 с.

2. Шевцов В.А., Бородин В.В., Крылов М.А, Построение совмещенной сети сотовой связи и самоорганизующейся сети с динамической структурой // Труды МАИ, 2016, № 85: http://www.mai.ru/science/trudy/published.php?ID=66417

3. Arlat J., Costes A., Crouzet Y., Laprie J., Powell D., Fault injection and dependability evaluation of fault-tolerant systems. IEEE Trans. Comput., 1993, 42(8), pp.913-923.

4. Dawson S., Jahanian F., Testing of fault-tolerant and real-time distributed systems via protocol fault injection. in Proceedings of the 26 th International Symposium on Fault-Tolerant Computing (FTCS-26), 1996, pp.404-414.

5. Li. X., Martin R., Nagaraja K., Nguyen T., Zhang B., Mendosus: A SAN-Based Fault-Injection Test-Bed for the Construction of Highly Available Network Services. Proceedings of the 1st Workshop on Novel Uses of System Area Networks (SAN-1), 2002,

6. Stott D., NFTAPE: A Framework for Assessing Dependability in Distributed Systems with Lightweight Fault Injectors, Computer Performance and Dependability Symposium Proceedings. IEEE International, 2000, pp.91-100

7. ISO/IEC 7498-1, Information technology - Open Systems Interconnection - Basic Reference Model: The Basic Model - Part 1, 1994, 68p.

8. Socolofsky T., Kale C., A TCP/IP Tutorial, RFC 1180, 1991, 28p.

i Надоели баннеры? Вы всегда можете отключить рекламу.