Несмотря на то, что уже было достаточно публикаций о возможности внедрения виртуализации в сети, существует много путаницы в отношении двух разных, но связанных подходов: программно-определяемых сетей и виртуализации. Основное сходство между программно-определяемой сетью (SDN) и виртуализацией сетевых функций (NFV) заключается в том, что они оба используют абстракцию сети. В настоящее время сетевые технологии реализуют инновации в таких областях, как программно-определяемые сети, виртуализация сетевых функций и создание более открытых и программируемых сетевых платформ, что известно как «программируемость сети». В статье рассматриваются возможности применения и развития технологий, связанных с централизованным программированием сетей.
Ключевые слова : JSON, Git,информационные технологии, телекоммуникационные сети, виртуализация, SDN, блок Control plane, блок Data plane, блок Management plane, архитектура модульного коммутатора, ASIC, память ТСАМ, протокол OpenFlow, MANO.
Сетевое программирование в настоящее время понимается как набор инструментов и передовых методов для развёртывания, управления и устранения неполадок сетевых устройств. Некоторое время тому назад сетевой администратор управлял каждым устройством отдельно.
По данным CIA World Factbook на 2012 год в сети Интернет насчитывалось около 700 миллионов компьютеров [1]. Только в России количество интернет-пользователей по данным Digital 2021 составило 118 миллионов [2]. Согласно отчёту Cisco Annual Internet Report (AIR) к 2023 году пользователями Интернета станут 66 % населения Земли. В мире будет 5,3 миллиарда пользователей Интернета. На душу населения будет приходиться 3,6 глобальных устройств и подключений [3].
Каждый год у пользователя увеличивается число устройств, который выходят в сеть: компьютеры, телефоны, планшеты и т. д. Уже сегодня количество IP-адресов превышает количество населения Земли (IP-адреса нужны для работы бытовых приборов). Это означает, что необходимо менять сложившийся подход к построению сети, где специалист настраивал каждое сетевое устройство. Когда сетевую инфраструктуру добавляется, например, VLAN или новое приложение необходимо, чтобы набор параметров QoS (quality of service / «качество обслуживания») применялся ко всем устройствам сети. Следовательно, необходимо выполнить эти изменения безопасно и быстро. Сейчас такая проблема решается разработчиками по-разному.
В момент построения сетей не предполагалось их использование под современные потребности. Поэтому сейчас изменились требования к сети: парадигма организации обработки данных сместилась с клиент-серверных технологий в сторону облачных вычислений и центров обработки данных (ЦОД). И мы наблюдаем, как происходит смещение приоритетов компаний в сторону использования виртуализированных систем.
В настоящее время применяются различные концепции и инструменты, относящиеся к сетевому программированию (сценарии Python, Git, JSON, Postman, API). Также можно рассматривать другой подход к программно-определяемым сетям (Software Defined Networking — SDN), включая централизованное управление политиками приложений.
Так Google перевел сеть между ЦОД на SDN в 2012 году, анонсирована внутренняя облачная платформа Andromeda. Microsoft перевел сеть между ЦОД на SDN в конце 2013 года, а также публичное облако Azure. В июне 2015 года AT&T объявило SDN своим основным стратегическим направлением развития и переориентацию на разработку ПО. В России «Ростелеком» ведёт работу над внедрением перспективных технологических направлений SDN и NFV. В 2016 году ПАО «Ростелеком» протестировало на участке сети в Оренбурге решение с использованием технологии SDN разработчика Brain4Net, которое в 2019 успешно используется [4, 5].
SDN — программное управление компьютерными сетями, NFV — запуск сетевых сервисов, как программы в виртуальном окружении, перенос сетевых функций на виртуальные машины. SDN и NFV — независимые и дополняющие друг друга технологии. Европейский институт телекоммуникационных стандартов (ETSI) в 2012 г. анонсировал концепцию NFV, которая стала частью концепции SDN (Архитектура SDN/NFV).
На сетях Операторов Связи разворачиваются тестовые зоны с реализацией так называемых виртуализированных сетевых функций. Новый термин SDN из маркетинговых материалов перешел в реальное решение, которое стремительно поднимается на местности Операторов Связи. В рамках данной статьи будут описаны технологии SDN и будущее Операторов Связи и Потребителей их услуг.
Сеть состоит из большого количества специализированных аппаратных устройств, требующих физическое пространство в аппаратных помещениях, своевременного технического обслуживания, источников питания, и все это требует иметь в штате персонал соответствующей квалификации и приводит к большим затратам. Затраты на развитие сети постепенно опережают рост доходов. Проблемы сетей не ограничиваются только их обслуживанием, также это сложность в контроле над глобальными компьютерными сетями. Глобальными сетями тяжело управлять, поскольку они расширяются. Пропускная способность не выдерживает темпов роста трафика. Невозможно масштабировать сети по требованиям крупного бизнеса.
Следовательно, требуется новый подход к развитию бизнеса операторов и сервис-провайдеров. Одним их таких подходов является концепция программно-конфигурируемых сетей SDN, которая может применяться в промышленности, у операторов связи и сервис провайдеров, в ЦОД и облаках.
Основные принципы SDN: физическое разделение уровня передачи данных от уровня управления сетевых устройств; логически централизованное управление; программируемость; открытый единый интерфейс управления. На рисунке 1 представлен OpenFlow коммутатор.
Рис.1. OpenFlow коммутатор
При внедрении новых технологий существует ряд проблем: это трудности интеграции с традиционной сетью и с существующими системами управления. Для решения задач операторов сотовой связи используется современное оборудование, где большинство устройств поддерживает SDN технологии на базе протокола Openflow и SDN-контроллеров.
Рассмотрим базовое устройство современного коммутатора, который состоит из трех логических блоков [7]:
- Controlplane — отвечает за управление пакетами, т. е. за логическую работу сетевого устройства.
- Dataplane — отвечает за передачу трафика через сетевое устройство, т. е. перемещение пакета.
- Managementplane — служит для защиты сервиса управления.
Controlplane анализирует информацию о пункте отправки и назначения сетевого трафика.
Dataplane реализует задачи, поставленные логическим блоком Controlplane. Подходы в реализации архитектуры модульных коммутаторов (см. рис. 2).
Рис. 2. Архитектура модульных коммутаторов
При первом подходе на отдельной плате располагаются ASIC’и, на которых выполняется передающий уровень. В этом случае ASIC’и на линейных картах являются менее интеллектуальными и выполняют ограниченный набор функций. Программированием логики продолжает заниматься управляющий уровень, который запускается на своих аппаратных мощностях, используя процессор общего назначения, расположенный на отдельном модуле — супервизоре.
При втором подходе используются достаточно интеллектуальные ASIC и на линейных картах. В данном случае каждый ASIC самостоятельно обрабатывает сетевой трафик, выполняя основной набор функций, т. е. имеется распределённый передающий уровень. Это более дорогое решение, но при этом зачастую более производительное. При такой архитектуре минимизируются задержки передачи пакетов данных.
Важная составляющая сетевых устройств память ТСАМ (Ternary Content Addressable Memory) — это место хранения специфичных данных о существующих потоках flow, протекающих через сетевое устройство. Такая память стоит дорого, поэтому даже коммутаторы на мощных современных интегральных схемах специального назначения ASIC (application-specific integrated circuit, «интегральная схема специального назначения») порой могут поддерживать OpenFlow исключительно формально из-за ограничения по емкости ТСАМ области, обеспечивая не более 500 OF-записей в ТСАМ, а для современных потоков трафика сетевому устройству требуется хранить десятки тысяч OF-записей.
Концепция SDN предполагает разделение функций управления, пересылки данных (Control Plane и Data Plane), а также передачу функций маршрутизации контроллеру сети и реализацию на основе этого принципа легко масштабируемой, быстро и гибко настраиваемой виртуальной сети.
Разделение функций управления и коммутации освобождает коммутаторы и маршрутизаторы от значительной доли вычислительной нагрузки. Единственное от них требование заключается в максимально быстрой пересылке пакета данных из одного порта в другой, согласно таблице маршрутизации, поступающей от контроллера сети. Контроллер в свою очередь выстраивает маршрут однократно, а затем гонит однотипные пакеты по готовому маршруту до тех пор, пока не изменится состояние сети или трафика.
Концепция SDN опирается на протокол OpenFlow, который обеспечивает взаимодействие внешнего контроллера с сетевым устройством и позволяет разделить уровень данных и уровень управления (другие реализации: XMPP, SNMP, overlay). Внешний контроллер используется для управления таблицами потоков коммутаторов, куда контроллер записывает маршруты пересылки и на основании содержимого таких таблиц затем принимается решение о передаче принятого пакета на определенный порт коммутатора. В результате, в сети складываются прямые сетевые соединения с минимальными задержками передачи данных.
По технологии OpenFlowcontrolplane в коммутаторе будет заменен на agent openflow, а сам controlplane будет находиться в SDN-контроллере. SDN контроллер состоит из большого количества управляющих controlplane различных коммутаторов и централизованно управляет ими.
Вызовы, стоящие перед SDN:
- Разработка верхнего программного слоя типа MANO (Management and Orchestration) — открытый и независимый от вендера набор интегрированных технологий, для обеспечения прозрачности и контроля физических и виртуальных сетевых ресурсов глобальной сети. RESTful APIs-интерфейсы дают легкий доступ к функциям, необходимым для разработки приложений SDN и интеллектуального предоставления сетевых услуг через контроллеры SDN. Поставщики услуг могут использовать эти API для заполнения клиентских порталов с услугами конкретных показателей, а также разрабатывать собственные приложения для SDN путем интеграции с другими технологиями, включая системы класса OSS/BSS системы и дизайн пакетов MANO помогает поставщикам услуг оптимизировать использование сетевых ресурсов и получить преимущество с использованием технологий SDN длядифференциации своих услуг.
- Универсализация — это главная задача SDN. Операторы стремятся получить независимость от решения какого-либо вендора. Им интересно иметь вендоронезависимые сети. В настоящее время, если Оператору требуется внедрить какой-либо новый функционал в своей сети, и Оператор хотел бы получить этот функционал на имеющемся у него на сети оборудовании через обновление ПО в оборудовании, такой подход невыгоден вендору, и он предлагает Оператору купить другое устройство с новым функционалом. Затраты на покупку нового оборудования гораздо больше, чем за перенастройку существующего. Контроллер SDN поможет изменить ситуацию так, что оператор сможет сам обновлять, либо модифицировать функционал коммутатора.
В заключение следует отметить, что современный человек живет в эпоху, характеризующуюся проникновением сетевых информационных технологий во все сферы деятельности. Виртуализация сейчас распространяется на сети, серверы и системы хранения. Средства Software-Defined Network позволяют проще и эффективнее управлять облачными конфигурациями. Актуальные тенденции, а именно рост числа подключенных к Интернету устройств, увеличение объемов информации, развитие облачных технологий, на глазах меняют мир. Дальнейший прогресс в области программно-конфигурируемых сетей и виртуализации сетевых функций, как ожидается, приведет к еще более глубокому проникновению технологий во все сферы, связанные с обработкой и хранением информации.
Литература:
- CIA World Factbook [Электронный ресурс]. — Режим доступа:https://www.cia.gov/the-world-factbook/field/internet-users/ (дата обращения: 20.09.2021)
- Digital 2021: global overview report [Электронный ресурс]. — Режим доступа: https://datareportal.com/reports/digital-2021-global-overview-report (дата обращения: 20.09.2021)
- CiscoAnnualInternetReport (AIR) [Электронный ресурс]. – Режимдоступа:https://www.cisco.com/c/en/us/solutions/executive-perspectives/annual-internet-report/index.html(дата обращения: 20.09.2021)
- SDN на сетях операторов связи [Электронный ресурс]. — Режим доступа: https://shalaginov.com/2019/08/28/6319/ (дата обращения: 20.09.2021)
- «Ростелеком» успешно завершил опытную эксплуатацию сегмента региональной сети на основе решения Brain4Net [Электронный ресурс]. – Режим доступа: https://brain4net.ru/brain4net-pilot-project-rostelecom// (дата обращения: 20.09.2021)
- Программно-конфигурируемые сети [Электронный ресурс]. — Режим доступа: https://www.arccn.ru/about/softnet/index.php?sphrase_id=19866 (дата обращения: 20.09.2021)
- Моделирование пакетного коммутатора [Текст] / Стемповский А. П., Воловач В. И., Яницкая Т. С. // Синергетика природных, технических и социально-экономических систем. 2020. № 17. С. 37–43.