Виртуализация сетевых функций
ПредисловиеТермин «виртуализация сетевых функций» (NFV, Network Functions Virtualization) родился в результате дискуссий между ведущими сетевыми операторами и операторами мобильной связи о том, как улучшить работу сетей в эпоху огромных объёмов мультимедийных данных. Это обсуждение привело к публикации в 2012 году экспертного доклада по NFV за авторством Группы по отраслевым спецификациям (ISG, Industry Specification Group) NFV, созданной в рамках Европейского института по стандартизации в области электросвязи (ETSI, European Telecommunications Standards Institute).[1]
В своем докладе группа указала, что общей целью NFV является использование стандартных технологий виртуализации для консолидации многочисленных типов сетевого оборудования на базе стандартных в отрасли высокопроизводительных серверов, коммутаторов и систем хранения, которые можно развернуть в центрах обработки данных, сетевых узлах и на площадках конечных пользователей.
В докладе подчёркивается мысль о том, что потребность в новом подходе возникла из-за включения в состав сетей постоянно растущего спектра самых разнообразных аппаратных устройств, а это ведёт к следующим отрицательным последствиям:
- новые сетевые услуги могут требовать установки дополнительных типов аппаратных устройств; однако нахождение для них свободного пространства и дополнительного питания становится всё более трудной задачей;
- новое аппаратное обеспечение влечёт за собой дополнительные капитальные затраты;
- после приобретения новых типов аппаратных устройств операторы сталкиваются с проблемами, связанными с дефицитом персонала, который обладает необходимыми квалификациями для проектирования, интеграции и эксплуатации всё более сложных аппаратных сред;
- срок службы аппаратных устройств быстро заканчивается, что требует повторения цикла «закупка-проектирование-интеграция-развёртывание» при нулевой или минимальной экономической отдаче;
- по мере того как ускоряется развитие инноваций в ответ на потребности всё более активно ориентирующейся на сети IT-среды, необходимость расширения спектра аппаратных платформ препятствует внедрению новых доходных сетевых услуг.
Подход на основе NFV позволяет уйти от зависимости от широкого спектра аппаратных платформ и перейти к использованию небольшого количества стандартизированных типов платформ. При этом для реализации требуемых сетевых функций используются методы виртуализации. В своём докладе группа выражает уверенность в том, что подход на основе NFV применим к любой функции обработки пакетов в плоскости данных и к любой функции плоскости управления в рамках стационарных и мобильных сетевых инфраструктур.
Технология NFV распространяется всё более широко, её используют поставщики услуг связи, поставщики облачных сервисов и даже крупный бизнес, например, банки и компании из индустрии финансовых услуг.[2] Возможно, главным стимулом к такой популярности NFV стало развертывание беспроводных сетей 5G.[3] NFV не только является составной частью 5G, стандарты 5G даже требуют внедрения этой технологии.[4]
Концепции
Виртуализация NFV основана на стандартных технологиях виртуальных машин (VM, Virtual Machine), расширенных на сетевую область. Это довольно значительное отклонение от традиционных подходов к проектированию, развёртыванию и управлению сетевыми услугами. NFV отделяет сетевые функции, например, трансляцию сетевых адресов (NAT, Network Address Translation), межсетевое экранирование, обнаружение вторжений, систему доменных имён (DNS, Domain Name System) и кеширование, от проприетарных аппаратных устройств, позволяя реализовывать эти функции как программное обеспечение в виртуальных машинах.
Технология виртуальных машин обеспечивает миграцию выделенных прикладных серверов и серверов баз данных на готовые коммерческие (COTS, Commercial Off-The-Shelf) серверы x86. Ту же самую технологию можно применить и к подсоединённым к сети устройствам, включая:
- устройства с сетевой функцией: например, коммутаторы, маршрутизаторы, точки доступа к сети и средства углублённой проверки пакетов;
- связанные с сетью вычислительные системы: например, межсетевые экраны, системы обнаружения вторжений и системы управления сетью;
- сетевые хранилища данных: подсоединённые к сети серверы файлов и баз данных.
В традиционных сетях все элементы представляют собой закрытые ящики без возможности совместного использования аппаратных ресурсов. Каждое устройство требует дополнительного аппаратного обеспечения для повышения своей мощности, но эти ресурсы простаивают, когда система работает в условиях неполной загрузки. Однако благодаря NFV сетевые элементы становятся независимыми приложениями, которые гибко развёртываются на единой платформе, состоящей из стандартных серверов, устройств хранения и коммутаторов. В результате удаётся разделить программное и аппаратное обеспечение, а мощность каждого приложения можно увеличить или уменьшить за счёт подключения или отключения виртуальных ресурсов.
В качестве иллюстрации можно привести простой пример из документа NFV Architectural Framework (Архитектурная модель NFV). На рис. 1a показана физическая реализация сетевого сервиса. На верхнем уровне сетевой сервис состоит из оконечных узлов, соединённых графом переадресации функциональных блоков сети, которые называются сетевыми функциями (NF, Network Function). В качестве примеров сетевых функций можно привести межсетевые экраны, выравниватели нагрузки и точки доступа к беспроводной сети. В вышеприведённом документе сетевые функции рассматриваются как отдельные физические узлы. Оконечные узлы выходят за пределы спецификаций NFV, к ним относятся любые устройства заказчиков. Поэтому на представленном ниже рисунке оконечный узел A может быть смартфоном, а оконечный узел B – CDN-сервером.
Рис. 1. Простой пример конфигурации NFV.
На рис. 1(a) показаны сетевые функции, релевантные для провайдера услуг и заказчика. Соединения между сетевыми функциями и оконечными узлами изображены в виде пунктирных линий, представляющих логические связи. Логические связи реализуются через физические маршруты, проложенные через инфраструктурные сети (проводные или беспроводные).
На Рис. 1(b) представлена конфигурация виртуализированного сетевого сервиса, который может быть реализован на базе физической конфигурации, изображённой на рис. 1(a). Виртуальная сетевая функция (VNF, Virtual Network Function) 1 обеспечивает доступ к сети для оконечного узла A, VNF-2 – для оконечного узла B.
На Рис. 1 также показан вложенный граф переадресации VNF (VNF-FG-2), составленный из других функций VNF (т.е. VNF-2A, VNF-2B и VNF-2C). Все эти функции VNF исполняются как виртуальные машины, работающие на физических машинах, которые называются точками присутствия (PoP, Point of Presence). Такая конфигурация хорошо иллюстрирует несколько важных вопросов. Во-первых, VNF-FG-2 состоит из трёх функций VNF, даже несмотря на то, что в конечном счёте весь трафик внутри VNF-FG-2 проходит между функциями VNF-1 и VNF-3. Причиной является то, что исполняются три отдельные и разные сетевые функции. Например, возможно, требуется, чтобы часть потоков трафика проходила через функцию ограничения типов трафика или формирования трафика, которая реализуется посредством VNF-2C. Поэтому часть потоков может направляться через VNF-2C, тогда как остальной трафик обходит эту функцию сети.
Второе наблюдение заключается в том, что две виртуальные машины в рамках VNF-FG-2 развёрнуты на одной и той же физической машине. Поскольку эти две виртуальные машины выполняют разные функции, они различаются на уровне виртуального ресурса, но при этом могут исполняться на одной и той же физической машине. Однако такая структура не является обязательной, и в определённый момент времени функция управления сетью может – по причинам, связанным с повышением производительности – провести миграцию одной из виртуальных машин на другую физическую машину. Такое перемещение будет прозрачным на уровне виртуальных ресурсов.
Принципы
Как показывает рис. 1, виртуальные сетевые функции представляют собой строительные блоки, из которых создаются сквозные сетевые сервисы. При создании реальных сетевых сервисов используются три ключевых принципа NFV.
- Формирование сервисных цепочек: Виртуальные сетевые функции являются модульными, при этом каждая из них обладает лишь ограниченной функциональностью (сама по себе). Учитывая конкретный поток трафика и конкретное приложение, провайдер услуг направляет поток через несколько VNF, получая требуемые сетевые функции. Такая практика называется формированием сервисных цепочек.
- Управление и оркестровка (MANO, Management and Orchestration): Эта функциональность позволяет развёртывать экземпляры VNF и управлять их жизненным циклом. В качестве примеров можно привести создание экземпляров VNF, формирование сервисных цепочек VNF, мониторинг, перераспределение, закрытие и биллинг. Кроме того, MANO управляет элементами инфраструктуры NFV.
- Распределённая архитектура: Виртуальная сетевая функция может состоять из одного или нескольких компонентов VNF (VNFC, VNF component), каждый из которых реализует некоторое подмножество функций VNF. Каждый компонент VNFC может быть развёрнут в одном или нескольких экземплярах. При этом такие экземпляры могут быть развёрнуты на отдельных распределённых хостах, обеспечивая масштабируемость и резервирование.
На рис. 2 показана высокоуровневая структура NFV, определённая Группой по отраслевым спецификациям NFV. Эта структура поддерживает реализацию сетевых функций в виде чисто программных VNF. Рис. 2 содержит обзор архитектуры NFV, которая будет более подробно рассмотрена далее.
Рис. 2. Высокоуровневая архитектура NVF.
Структура NFV включает три рабочие области:
- виртуализированные сетевые функции: представляют собой набор VNF, реализованных в виде программного обеспечения, работающего в рамках NFVI;
- инфраструктура NFV (NFVI): выполняет функцию виртуализации для трёх основных категорий устройств, работающих в среде сетевых сервисов: вычислительные устройства, устройства хранения и сетевые устройства;
- MANO: обеспечивает оркестровку и управление жизненным циклом физических и/или программных ресурсов, которые поддерживают виртуализацию инфраструктуры и управление жизненным циклом VNF. Управление и оркестровка NFV уделяет основное внимание всем связанным с виртуализацией задачам управления в рамках структуры NFV.
В документе NFV Architectural Framework указывается, что при развёртывании, эксплуатации, управлении и оркестровке VNF поддерживаются два типа отношений между VNF:
- граф переадресации VNF (VNF-FG): применяется в случаях, когда задана связность сети между VNF, например, цепочка VNF для пути к уровню веб-сервера (межсетевой экран, транслятор сетевых адресов или распределитель нагрузки);
- набор VNF: применяется в случаях, когда не задана связность сети между VNF, например, пул веб-серверов.
Эталонная архитектура NFV
На рис. 3 эталонный структурный шаблон NFV от группы ISG показан более подробно.
Рис. 3. Эталонный структурный шаблон NFV.
Архитектура состоит из четырёх основных блоков.
- Инфраструктура NFV (NFVI): К этому блоку относятся аппаратные и программные ресурсы для создания среды, в которой развёртываются функции VNF. NFVI обеспечивает виртуализацию физических вычислений, хранилищ и сетевых устройств, а также распределяет их в пулах ресурсов.
- VNF/EMS: Этот набор функций VNF реализуется в рамках программного обеспечения для исполнения за счет виртуальных ресурсов вычислений, хранения и сети вместе с набором систем управления, реализующих эти функции.
- Управление и оркестровка NFV (NFV-MANO): Эта структура обеспечивает управление и гармоничное взаимодействие всех ресурсов в среде NFV, включая ресурсы вычислений, сети, хранения и виртуальных машин.
- Системы поддержки эксплуатации и бизнеса (OSS/BSS, Operational and Business Support Systems): Эту систему реализует поставщик услуг NFV.
Кроме того, полезно бывает рассматривать эту архитектуру как состоящую из трёх уровней. Инфраструктура NFVI вместе с менеджером виртуализированной инфраструктуры предоставляют среду виртуальных ресурсов и обеспечивают управление ею и лежащими в её основе физическими ресурсами.
Уровень VNF обеспечивает программную реализацию сетевых функций вместе с системами управления элементами, а также одним или несколькими менеджерами VNF. И наконец, имеется уровень управления, оркестровки и контроля, который состоит из систем OSS/BSS и оркестратора NFV.
Управление и оркестровка NFV
Средства управления и оркестровки NFV включают следующие функциональные блоки:
- оркестратор NFV: отвечает за установку и конфигурирование новых сетевых служб (NS, Network Service) и пакетов VNF; управление жизненным циклом сетевых служб; управление глобальными ресурсами; а также валидацию и авторизацию запросов на предоставление ресурсов NVFI;
- менеджер VNF: контролирует управление жизненным циклом экземпляров VNF;
- менеджер виртуализированной инфраструктуры: контролирует и управляет взаимодействием функции VNF с находящимися в распоряжении менеджера ресурсами вычислений, хранения и сети, а также их виртуализацией.
Инфраструктура NFV
В центре архитектуры NFV находится совокупность ресурсов и функций, которая называется инфраструктурой NFV (NFVI). NFVI включает в себя три домена (рис. 4):
Рис. 4. Домены NFV
- домен вычислений: предоставляет готовые коммерческие (COTS) высокопроизводительные серверы и системы хранения;
- домен гипервизора: выполняет роль посредника между ресурсами домена вычислений и виртуальными машинами программных устройств, обеспечивая абстракцию аппаратных средств;
- домен инфраструктурной сети: включает все типовые высокопроизводительные коммутаторы, объединённые в составе сети, которые можно конфигурировать для предоставления сервисов инфраструктурной сети.
Логическая структура доменов NFVI
Составленные группой ISG документы для стандартов NFV разъясняют логическую структуру доменов NFVI и их взаимосвязи. Конкретика фактической реализации для элементов этой инфраструктуры будет меняться в ходе реализации как инициатив открытого исходного кода, так и проприетарных проектов. Логическая структура доменов NFVI предоставляет фундамент для такого развития и определяет интерфейсы между главными компонентами, как это показано на рис. 5.
Рис. 5. Логическая структура доменов NFVI
Домен вычислений
Основные элементы типового домена вычислений могут включать следующее.
- ЦП/память: готовый коммерческий процессор с основной памятью, который исполняет код VNFC.
- Внутреннее хранилище: энергонезависимое запоминающее устройство, установленное в той же структуре аппаратной части, что и процессор, например, флеш-память.
- Ускоритель: функции ускорителя для защиты, сетевых взаимодействий и обработки пакетов.
- Внешнее хранилище с контроллером внешней памяти: доступ к вспомогательным устройствам памяти.
- Сетевая интерфейсная карта (NIC, Network Interface Card): установленная в компьютере плата адаптера, которая обеспечивает физическое соединение с сетью; реализует физическое взаимодействие с доменом инфраструктурной сети.
- Агент контроля и администрирования: подключается к Менеджеру виртуализированной инфраструктуры (VIM, Virtualized Infrastructure Manager); см. рис. 2.
- ⦁ Электронный коммутатор (eswitch): встроенный в сервер коммутатор; функция электронного коммутатора, которая описывается ниже, реализована в домене вычислений, однако функционально она является составной частью домена инфраструктурной сети.
- ⦁ Среда выполнения вычислений/хранения: среда выполнения, которую сервер или устройство хранения предоставляет для программного обеспечения гипервизора.
Для того, чтобы понять работу электронного коммутатора, необходимо, прежде всего, обратить внимание на то, что, если не вдаваться в детали, функции VNF имеют дело с двумя разными видами рабочих нагрузок: в плоскости управления и в плоскости данных. Рабочие нагрузки в плоскости управления включают работу с протоколами сигнализации и протоколами плоскости управления, как, например, BGP. Как правило, такие нагрузки связаны больше с использованием ресурсов процессора, чем системы ввода/вывода, и сильно не нагружают последнюю. Рабочие нагрузки в плоскости данных связаны с маршрутизацией, коммутацией, ретрансляцией или обработкой полезных нагрузок сетевого трафика. Такие нагрузки могут требовать большой пропускной способности от системы ввода/вывода.
В такой виртуализированной среде, как NFV, весь сетевой трафик VNF проходит через виртуальный коммутатор в домене гипервизора, который требует работы прослойки программного обеспечения, находящейся между виртуализированным ПО VNF и сетевым аппаратным обеспечением хоста. Это может привести к значительному снижению производительности. Электронный коммутатор обеспечивает обход ПО виртуализации и предоставляет функциям VNF путь к сетевой интерфейсной карте через прямой доступ к памяти (DMA). Такой подход ускоряет обработку пакетов, не требуя дополнительных ресурсов процессора.
Домен гипервизора
Домен гипервизора представляет собой программную среду, которая обеспечивает абстрагирование «железа» и реализует такие сервисы, как запуск виртуальной машины, прекращение работы виртуальной машины, а также реализацию политик, масштабирование, динамическую миграцию и высокую доступность. Ниже перечислены основные элементы домена гипервизора.
- Разделение/управление ресурсами вычислений/хранения: управляет этими ресурсами и обеспечивает виртуальным машинам доступ к виртуализированным ресурсам.
- Разделение/управление сетевыми ресурсами: управляет этими ресурсами и обеспечивает виртуальным машинам доступ к виртуализированным ресурсам.
- Управление виртуальными машинами и прикладной программный интерфейс Virtual (API): предоставляет среду выполнения для отдельного экземпляра VNFC.
- Агент контроля и администрирования: подключается к Менеджеру виртуализированной инфраструктуры; см. рис. 3.
- Виртуальный коммутатор (vswitch): функция виртуального коммутатора, которая описывается ниже, реализована в домене гипервизора, однако функционально она является составной частью домена инфраструктурной сети.
Виртуальный коммутатор – это реализованный гипервизором коммутатор Ethernet, который обеспечивает коммутацию виртуальных сетевых интерфейсных карт (NIC), виртуальных машин с картами NIC вычислительного узла. Если две функции VNF расположены на одном и том же физическом сервере, то они соединяются через один и тот же виртуальный коммутатор. Если две функции VNF расположены на разных серверах, то соединение проходит через первый виртуальный коммутатор до карты NIC и затем идёт на внешний коммутатор. Последний перенаправляет соединение на карту NIC требуемого сервера, которая, наконец, устанавливает соединение с внутренним виртуальным коммутатором и затем с целевой функцией VNF.
Домен инфраструктурной сети
Домен инфраструктурной сети (IND, Infrastructure Network Domain) выполняет множество ролей. Он обеспечивает:
- канал связи между компонентами VNFC распределённой функции VNF;
- канал связи между разными функциями VNF;
- канал связи между функциями VNF, а также их оркестровку и управление ими;
- канал связи между компонентами NFVI, а также их оркестровку и управление ими;
- средства для удалённого развёртывания компонентов VNFC;
- средства для соединения с существующей сетью оператора связи.
Очень важно проводить различие между функцией виртуализации, предоставляемой доменом гипервизора, и аналогичной функцией, предоставляемой доменом инфраструктурной сети. При виртуализации в рамках домена гипервизора технология виртуальных машин (VM) используется, чтобы создать среду выполнения для отдельных компонентов VNF.
При виртуализации в домене инфраструктурной сети создаются виртуальные сети для соединения компонентов VNFC друг с другом и с сетевыми узлами за пределами экосистемы NFV. Последний тип узлов называют функциями физической сети (PNF, Physical Network Function).
Виртуализированные сетевые функции
VNF представляет собой виртуализированную реализацию традиционной сетевой функции. В таблице 1 приведены примеры функций, которые могут быть в будущем подвергнуты виртуализации.
Таблица 1. Потенциальные сетевые функции для виртуализации
Как уже упоминалось выше, функция VNF состоит из одного или нескольких компонентов VNF (VNFC). Компоненты VNF отдельной функции VNF соединены друг с другом внутри самой функции. Такая внутренняя структура не видна другим функциям VNF или пользователю VNF. Функции VNF обладают очень важным свойством – эластичностью (растяжимостью), что позволяет им поддерживать следующие действия:
- увеличение масштаба (локальное): увеличение мощности за счет добавления ресурсов для отдельной физической или виртуальной машины;
- уменьшение масштаба (локальное): уменьшение мощности за счет удаления ресурсов из отдельной физической или виртуальной машины;
- горизонтальное увеличение масштаба: увеличение мощности за счет добавления дополнительных физических или виртуальных машин;
- горизонтальное уменьшение масштаба: уменьшение мощности за счет удаления физических или виртуальных машин.
Каждая функция VNF имеет связанный с ней параметр эластичности: отсутствие эластичности, только (локальное) увеличение/уменьшение масштаба, только горизонтальное увеличение/уменьшение масштаба или как (локальное) увеличение/уменьшение масштаба, так и горизонтальное увеличение/уменьшение масштаба.
Функция VNF масштабируется за счет масштабирования одного или нескольких VNFC, входящих в её состав. Горизонтальное увеличение/уменьшение масштаба реализуется посредством добавления/удаления экземпляра(ов) VNFC, входящего(их) в состав масштабируемой функции VNF. Увеличение/уменьшение масштаба (локальное) реализуется посредством добавления/удаления ресурсов для существующего экземпляра(ов) VNFC, входящего(их) в состав масштабируемой функции VNF.
Резюме
Технология виртуализации сетевых функций (NFV) позволяет взять на вооружение действенный и не зависящий от конкретного поставщика подход к реализации комплексных сетей с динамическими потребностями. Виртуализация сетевых функций основана на использовании хорошо себя зарекомендовавших технологий, включая виртуальные машины, контейнеры и виртуальные сети.
Благодаря растущему спросу со стороны поставщиков услуг 5G и облачных сервисов, а также больших компаний с крупномасштабными внутренними сетями, NFV приобретает всё большую популярность.
Дополнительные материалы
Многие обзорные статьи рассматривают технические аспекты NFV гораздо более подробно.[5, 6, 7, 8] Европейский институт стандартов по телекоммуникациям (ETSI) поддерживает веб-сайт NFV, на котором можно найти спецификации ETSI NFV, экспертные доклады, информационно-обучающие пособия, а также целый спектр других документов и ссылок (https://www.etsi.org/technologies/nfv/).
Список использованной литературы
[1] ISG NFV, “Network Functions Virtualization: An Introduction, Benefits, Enablers, Challenges & Call for Action”, ISG NFV White Paper, October 2012.
[2] Bloomberg L.P., “Network Function Virtualization (NFV) Market Worth $36.3 Billion by 2024”, January 15, 2020. https://www.bloomberg.com/press-releases/2020-01-15/ network-function-virtualization-nfv-market-worth- 36-3-billion-by-2024-exclusive-report-by-marketsand- markets
[3] ISG NFV, “Network Operator Perspectives on NFV Priorities for 5G”, ISG NFV White Paper, February 2017.
[4] ITU-T, “Requirements of the IMT-2020 Network”, ITU-T Recommendation Y.3101, April 2018.
[5] Mijumbi, R., et al. “Network Function Virtualization: State- of-the-Art and Research Challenges”, IEEE Communications Surveys & Tutorials, First Quarter, 2016.
[6] Li, Y., and Chen, M. “Software-Defined Network Function Virtualization: A Survey”, IEEE Access, December 16, 2016.
[7] Li,X.,andQian,C.“A Survey of Network Function Placement”. 13th IEEE Annual Consumer Communications & Networking Conference (CCNC), 2016.
[8] Veeraraghavan, M., et al. “Network Function Virtualization: A Survey”, IEEE Transactions on Communications, November 2017.
[9] Stallings, W., 5G Wireless: A Comprehensive Introduction, ISBN-13: 9780136767145, Pearson Education, Inc., 2021.
УИЛЬЯМ СТЕЛЛИНГС является независимым консультантом и автором нескольких книг, посвящённых компьютерной безопасности, построению компьютерных сетей и архитектуре компьютеров. Его последняя по времени книга называется «Беспроводные технологии 5G: обстоятельное введение» (5G Wireless: A Comprehensive Introduction, Pearson, 2021). Он ведёт подсайт, посвящённый ресурсам в области теории вычислительных систем и предназначенный для профильных студентов и специалистов. Подсайт располагается по адресу ComputerScienceStudent.com. Кроме того, он входит в редакционную коллегию издания Cryptologia и имеет степень Ph.D. в теории вычислительных систем, полученную в M.I.T. Связаться с автором можно по следующему адресу: wllmst@icloud.com
Оригинал статьи: Network Functions Virtualization, Internet Protocol Journal, Vol. 24, Number 2, July 2021