Ядро мобильной сети долго строили так: одна функция — один шкаф с платами производителя. Это надёжно, но дорого и медленно. В этом уроке разберём, чем плох такой подход, какую идею предложили операторы и как простой расчёт показывает выгоду: шесть шкафов можно заменить тремя серверами. Идея называется NFV — виртуализация сетевых функций.
Цель и что нужно знать
После урока вы сможете:
- объяснить, как раньше строили ядро сети и почему у каждой функции был свой запас мощности;
- сказать простыми словами, что такое NFV и чем «функция-программа» отличается от «функции-шкафа»;
- назвать выгоды NFV и три риска, о которых надо думать заранее;
- рассчитать, сколько серверов общего пула заменят набор шкафов при заданной загрузке;
- назвать документ и год, с которых началась работа над NFV.
Что нужно знать заранее: курс ipnet, урок 1 (почему голос и сигнализация перешли на IP); курс lte, урок 6 (оборудование ядра в виде шкафов с платами); курс ims, уроки 1 и 13 (зачем нужна IMS и как её функции выглядят в оборудовании). Узлы MME, S-GW, P-GW, HSS, PCRF и CSCF вам уже знакомы — здесь мы смотрим не на то, что они делают, а на то, где и как они работают.
Задача из жизни
Небольшой оператор готовится к Новому году. В новогоднюю ночь число звонков и SMS заметно растёт, но всего на несколько часов. Узлы ядра — MME, S-GW, P-GW, CSCF, HSS и PCRF — стоят в отдельных шкафах. Мощность шкафа нельзя увеличить за день: нужно заказать платы у производителя, дождаться поставки, смонтировать и настроить. Поэтому каждый шкаф покупают сразу с запасом под самый тяжёлый вечер года.
Остальное время запас простаивает, а оператор платит за него, за место и за электричество. Вопрос урока: можно ли устроить иначе — так, чтобы запас был общим, а новая мощность появлялась без заказа и монтажа нового шкафа?
Как ядро строили раньше
Каждая функция сети — это работа, которую выполняет узел. HSS хранит данные абонентов, MME следит за их перемещением, CSCF управляет сеансами. Раньше для каждой такой работы покупали специализированное оборудование (его же называют purpose-built, или dedicated hardware): шкаф, собранный производителем под одну задачу, со своими платами, своим корпусом и своей прошивкой.
У такого подхода четыре особенности:
- Свой запас мощности. Шкаф рассчитан на пик нагрузки своей функции. Запас соседнего шкафа ему не поможет.
- Свои запчасти. Платы MME не подходят к CSCF, поэтому на складе лежит набор запчастей для каждого типа шкафа.
- Свой цикл закупки. Новая мощность — это заказ, изготовление, доставка, монтаж и настройка.
- Своё время жизни. Через несколько лет шкаф устаревает, и всё приходится повторять, хотя новой выручки это почти не приносит.
Об этих проблемах операторы писали сами в 2012 году: растёт число разных «коробок», для них не хватает места и электричества, а жизнь оборудования становится короче.
Идея: функция — это программа
Что на самом деле делает шкаф HSS? Он выполняет программу, которая написана под его платы. Идея в том, чтобы отвязать программу от конкретной коробки: сетевая функция — это программа, которую можно запустить на обычном сервере.
Сервер — это компьютер без экрана и клавиатуры, который работает круглосуточно и выполняет чужие запросы. Такие серверы массово делают для банков, магазинов и университетов. В телекоме их называют стандартными серверами общего назначения — COTS (commercial off-the-shelf, «готовое коммерческое изделие»). Синонимы: серийный сервер, обычный сервер, COTS-сервер.
Если все серверы одинаковы, их можно собрать в общий пул — общий запас мощности. Любая функция берёт из него столько, сколько нужно сейчас, и возвращает, когда мощность не нужна. Как несколько функций уживаются на одном сервере, не мешая друг другу, — отдельная тема. Пока достаточно знать, что сервер можно разделить на несколько независимых «программных копий компьютера», и в каждой живёт своя функция.
Что такое NFV
NFV (Network Functions Virtualisation) — виртуализация сетевых функций: подход, при котором сетевая функция перестаёт быть отдельной «железной коробкой» и становится программой, которую можно запустить на стандартных серверах общего назначения из общего пула.
Синонимы и написание: виртуализация сетевых функций = NFV = Network Functions Virtualisation. В документах ETSI слово пишут через «s» (Virtualisation), в США — через «z» (Virtualization); это одно и то же. «Виртуализация» здесь означает именно отвязывание функции от конкретного железа.
Аналогия 1: кухня. Раньше у каждого прибора было своё место и своя вилка: отдельная кофемашина, отдельный чайник, отдельный тостер. Теперь это одна кухня, где любой прибор включается в общую розетку. Поменять прибор или добавить новый можно, не перекладывая проводку.
Аналогия 2: прокат автомобилей. Если каждой семье держать у дома свой микроавтобус ради пары поездок в год, большую часть времени он простаивает. Прокатный парк работает иначе: машину берут, когда она нужна, и возвращают. Общий пул серверов — это такой парк.
Сравним две схемы работы:
| Вопрос | Шкаф (было) | Общий пул (стало) |
|---|---|---|
| Запас мощности | свой у каждой функции | один общий на все функции |
| Новая услуга | заказ шкафа, монтаж, настройка | запуск программы на свободном сервере |
| Нужно больше мощности | докупить платы | запустить ещё одну копию программы |
| Запчасти | набор для каждого типа шкафа | один набор для одинаковых серверов |
| Устаревание | вместе со шкафом | заменяется сервер, программа остаётся |
Выгоды и цена перехода
Выгоды:
- Общий пул вместо запаса на каждую функцию. Пики разных функций не обязательно совпадают по времени, поэтому общий запас может быть меньше суммы отдельных запасов.
- Быстрый запуск новой услуги. Не нужно ждать поставки шкафа: программа стартует на сервере, который уже стоит в пуле.
- Масштабирование программой. Масштабирование — это увеличение или уменьшение мощности под нагрузку. При NFV для этого запускают ещё одну копию программы или останавливают лишнюю.
- Меньше типов железа. Один тип сервера и один набор запчастей вместо десятка разных шкафов.
Цена и риски:
- Производительность голоса и видео. Медиапоток — это очень много мелких пакетов в секунду. Специальная плата справляется с ним сама, а обычному серверу, на котором работают и соседи, обработать его труднее. Как это решают, разберём в следующих уроках.
- Интеграция нескольких поставщиков. Функция от одного поставщика, серверы от другого, управление от третьего. На стыках появляются вопросы: кто отвечает, если что-то не работает?
- Новые навыки. Инженеру, который знал платы и кабели, теперь нужны ещё навыки работы с серверами и автоматизацией.
💡 NFV не делает функцию лучше. Она остаётся той же функцией, с теми же сообщениями и узлами. Меняется то, на чём и как она работает.
Разбор примера: сколько серверов нужно в пуле
Условия учебной модели:
- шесть шкафов: MME, S-GW, P-GW, CSCF, HSS, PCRF;
- средняя загрузка каждого —
30%; - один сервер пула по мощности равен одному шкафу;
- целевая загрузка сервера —
70%: это значит, что 30% мощности остаётся про запас, на всплески.
Загрузка — доля своей мощности, которую устройство использует. 30% — работает на треть, остальное простаивает. Целевая загрузка — до какого уровня планируют занимать сервер.
servers = ceil(cabinets × load / target)Здесь ceil — округление вверх. Решаем по шагам:
total load = 6 × 30% = 180% (1.8 cabinets' worth of work)
servers = 180% / 70% = 2.57
servers = round up -> 3Округляем вверх: две с половиной машины купить нельзя, а два сервера дали бы нагрузку 180% / 2 = 90% — выше цели. Проверка: на трёх серверах загрузка составит 180% / 3 = 60%, это не больше 70%. Итог: три сервера вместо шести шкафов.
Это упрощённая модель. Реальный пул считают по пиковой, а не по средней нагрузке и добавляют запасной сервер на случай поломки. Но принцип тот же: запас считают один раз на всех.
Сравним, как запускалась услуга:
cabinet: order -> build -> ship -> install -> configure -> launch
pool: pick free server -> start program -> configure -> launchВажно, сколько этапов исчезает: нет изготовления, доставки и монтажа нового шкафа.
История: откуда взялась идея
В октябре 2012 года группа операторов связи выпустила белую книгу (white paper — документ, в котором участники отрасли излагают позицию и призывают к совместной работе) под названием «Network Functions Virtualisation – An Introduction, Benefits, Enablers, Challenges & Call for Action». В списке авторов — 13 организаций. Текст изложил выгоды, трудности и призвал к международному сотрудничеству.
В ноябре 2012 года при европейском институте стандартизации ETSI образовали рабочую группу ISG NFV (Industry Specification Group), которую, по данным ETSI, основали семь крупных операторов. Один из документов этой группы — ETSI GS NFV 002 (первая версия вышла в 2013 году).
Это имена-ярлыки: запомните их как «кто, когда и что выпустил». Подробности не нужны.
Что может сломаться и как это найти
| Симптом | Возможная причина | Что проверить |
|---|---|---|
| Расчёт показал 3 сервера, а в вечерний пик мощности не хватило | считали по средней нагрузке, а не по пиковой; целевая загрузка выбрана слишком высокой; не учтена поломка сервера | пиковую нагрузку функций; целевую загрузку; есть ли запасной сервер |
| После переезда функции голос рвётся или появилась задержка | обработка медиа на общем сервере медленнее, чем на специальной плате; соседние функции делят мощность | нагрузку сервера до и после; не стоят ли рядом тяжёлые по медиа функции |
| Серверов столько же, сколько было шкафов, экономии нет | запас по-прежнему считают отдельно для каждой функции, пул общий только на бумаге | считался ли запас по сумме нагрузок, а не по каждой функции |
| Функция от одного поставщика не запускается на купленных серверах | требования функции к серверу не совпали с тем, что закуплено | перечень требований поставщика функции и характеристики серверов |
| Новая услуга всё равно запускается месяцами | остались прежние согласования и ручные шаги | какие этапы по-прежнему делают вручную |
⚠️ Типичная ошибка — думать, что «виртуальное» значит «бесплатное и безграничное». За пулом стоят настоящие серверы, место и электричество, и пул тоже конечен.
Практика
- Предскажите. Шесть шкафов загружены не на
30%, а на50%. Серверов в пуле будет больше или меньше, чем в разборе? Не считайте — назовите ответ «на глаз». - Проверьте. Посчитайте:
6 × 50% / 70%, округлите вверх. Совпало с вашим предположением? - Объясните. Почему пул из трёх серверов обслуживает шесть функций, хотя каждая из них раньше занимала целый шкаф?
- Измените. Шесть шкафов по
30%, но целевая загрузка сервера —50%. Сколько серверов нужно? - Сделайте сами ⭐. Восемь шкафов со средней загрузкой
25%, целевая загрузка70%, один сервер равен по мощности одному шкафу. Сколько серверов нужно, если добавить один запасной на случай поломки?
Самопроверка
Вопрос 1. Оператор купил у производителя новый шкаф с платами для S-GW. Это NFV?
Разбор. Нет. Функция по-прежнему привязана к специальному оборудованию, у неё свой запас мощности и своя закупка. При NFV та же функция работает как программа на стандартных серверах из общего пула.
Вопрос 2. Почему серверов в пуле меньше, чем шкафов, хотя суммарная работа та же?
Разбор. В шкафах запас закладывали на каждую функцию отдельно, и большая его часть простаивала. В пуле запас общий: считают суммарную нагрузку (180%) и делят на целевую загрузку (70%). Получается 2.57, то есть три сервера вместо шести шкафов.
Ответы к практике. 1 — больше: нагрузка выше при той же целевой. 2 — 6 × 50% = 300%, 300% / 70% = 4.29, округляем вверх до 5. 3 — запас в пуле общий, а не отдельный у каждой функции, и пики функций не обязательно совпадают. 4 — 180% / 50% = 3.6, до 4 серверов. 5 — 8 × 25% = 200%, 200% / 70% = 2.86, до 3 серверов; плюс один запасной — 4 сервера.
Повторение и критерий перехода
Переходите к следующему уроку, если без подсказки можете:
- объяснить, чем «функция-шкаф» отличается от «функции-программы» и что такое NFV (с синонимами);
- перечислить четыре выгоды и три риска перехода;
- посчитать размер пула по формуле
servers = ceil(cabinets × load / target), гдеceil— округление вверх; - назвать, что и когда выпустили операторы и ETSI в 2012 году.
Дальше. В следующих уроках: устройство центра обработки данных, гипервизор и виртуальная машина, платформа OpenStack, а затем VNF, MANO и контейнеры с Kubernetes.
Стандарты и источники
- Группа операторов связи (13 организаций), Network Functions Virtualisation – An Introduction, Benefits, Enablers, Challenges & Call for Action (white paper, Issue 1, октябрь 2012); текст размещён на портале ETSI: portal.etsi.org.
- ETSI GS NFV 002 — документ рабочей группы ISG NFV (только название; первая версия — 2013 год).
- ETSI, «10 years of ETSI NFV» — о создании ISG NFV в ноябре 2012 года: etsi.org.