Автогностика
Автогностика — это новый парадигмальный подход, описывающий способность компьютерных сетей к самосознанию. Автогностика рассматривается как один из ключевых компонентов автономных сетей.[1]
Введение
Одной из важнейших характеристик современного Интернета, способствовавшей его успеху, является основной принцип его проектирования: простая и прозрачная основа с интеллектуальными возможностями, смещёнными к периферии (так называемый «принцип конец-конец». Согласно этому принципу, сеть передаёт данные, не зная их характеристик (например, голос, видео и т. д.) — только конечные точки обладают знаниями, специфичными для приложения. Если с данными что-то идёт не так, только периферия способна это распознать, поскольку обладает сведениями о приложении и ожидаемом поведении. Ядро сети не имеет информации о том, как с этими данными следует поступать, — оно лишь пересылает пакеты.[2]
Несмотря на эффективность и практичность, данный принцип привёл также к появлению множества проблем, ограничений и неудобств в современных сетях. Сейчас большинству пользователей практически невозможно выяснить, почему те или иные сетевые приложения работают ненадёжно и что необходимо предпринять для улучшения ситуации. Операторы сетей, взаимодействующие с сетевым «ядром» на низком уровне (например, через конфигурацию маршрутизаторов), испытывают трудности с переводом своих высокоуровневых целей на низкоуровневые действия. В целом, это можно охарактеризовать как слабую связанность между сетевым и прикладным уровнями в общей системе.
В результате действия принципа конец-конец, сетевая производительность, наблюдаемая конкретным приложением, оказывается трудно объяснимой через поведение отдельных элементов. В любой момент времени характеристики производительности между двумя точками, как правило, неизвестны, и приложения вынуждены работать вслепую. Из этой же причины изменения конфигурации отдельного элемента или маршрута передачи сложно проверить. Автоматизация процессов оптимизации и выделения ресурсов возможна только для самых простых сценариев.
В настоящее время возрастает интерес к исследованиям в области автономных сетей и убеждённость в необходимости эволюции существующих сетевых решений. Хотя пока ещё не существует практических реализаций, наглядно демонстрирующих преимущества парадигмы эффективных автономных сетей, сформировался консенсус относительно характеристик таких систем — среди них непрерывный мониторинг, выявление, диагностика и автоматическое устранение проблем на основе высокоуровневых политик и целей.
Автогностика, как важнейший элемент концепции автономных сетей, нацелена на повышение уровня «осознанности» сетей и устранение недостатка прозрачности, присущего современным инфраструктурам.
Определение
Автогностика — это парадигма, описывающая способность компьютерных сетей на уровне отдельных компонентов и всей системы в целом быть самосознающими и динамически адаптироваться к запущенным на них приложениям путём автономного мониторинга, выявления, диагностики и устранения проблем, последующей верификации успешности коррекции и предоставления информации о влиянии изменений на использование приложениями (то есть обеспечения прозрачности изменений и их последствий для сетей и приложений).
Хотя автогностика близка к понятию «сетевой осведомлённости» (способности устройств и приложений быть осведомлёнными о характеристиках сети, см. литературу ниже), существенным отличием автогностики выступает компонент «авто-»: устройства становятся именно «само»-осведомлёнными о характеристиках сети и способны адаптироваться самостоятельно в результате непрерывного мониторинга и диагностики.
Путь к автогностике
Автогностика, иначе говоря, «глубокое самопознание», может быть охарактеризована как «способность сети знать саму себя и приложения, работающие в ней». Это знание позволяет автономно приспосабливаться к изменяющимся сетевым и прикладным условиям, включая показатели загрузки, пропускной способности, качества обслуживания, восприятия приложений и пользовательского опыта.
Для достижения автогностики сетям необходимы механизмы, позволяющие:
- Непрерывно мониторить и тестировать сеть с учётом специфики приложений для оценки производительности
- Анализировать результаты мониторинга/тестирования для обнаружения проблем (например, снижения производительности)
- Диагностировать, идентифицировать и локализовать источники деградации
- Автоматически предпринимать действия по их устранению путём коррекции или перераспределения ресурсов
- Проверять, были ли проблемы устранены (с возможностью отката изменений при неэффективности)
- Впоследствии продолжать мониторинг/тестирование производительности
Примечания
Литература
- Michael Bednarczyk, Claudia Giuli, Jason Bednarczyk. Network Awareness: Adopting a Modern Mindset. Архив белой книги
- Evan Hughes, Anil Somayaji. Towards Network Awareness. Архив публикации