Аутентификация
Взаимная аутентификация
CK’IK’CKIKRANDAUTNXRES*CK’IK’KAUSFCKIK5G HE AVKAUSFKSEAFKAUSFKAMFKSEAF
Вторичная аутентификация
- Происходит обязательная первичная аутентификация пользователя в домашней сети и вырабатывает общий с AMF контекст безопасности NAS.
- Пользователь посылает в AMF запрос на установление сессии.
- AMF посылает запрос на установление сессии в SMF с указанием SUPI пользователя.
- SMF проверяет учетные данные пользователя в UDM с использованием предоставленного SUPI.
- SMF посылает ответ на запрос от AMF.
- SMF запускает процедуру аутентификации EAP с целью получить разрешение на установление сессии от AAA-сервера внешней сети. Для этого SMF и пользователь обмениваются сообщениями с целью инициировать процедуру.
- Пользователь и AAA-сервер внешней сети далее обмениваются сообщениями, чтобы провести аутентификацию и авторизацию пользователя. При этом пользователь отсылает сообщения в SMF, который в свою очередь обменивается сообщениями с внешней сетью через UPF.
Когда следует использовать микросервисы?
выводами Рейчел Майерсархитектура должна
- делать продукт гибче и устойчивее к сбоям;
- облегчать понимание, отладку и изменение кода;
- помогать в командной работе.
Мартин Фаулер выделяет несколько преимуществ
Преимущества | |
Монолитная архитектура | Микросервисы |
Простота Монолитная архитектура гораздо проще в реализации, управлении и развёртывании. Микросервисы требуют тщательного управления, поскольку они развёртываются на разных серверах и используют API. |
Частичное развёртывание Микросервисы позволяют по мере необходимости обновлять приложение по частям. При единой архитектуре нам приходится заново развёртывать приложение целиком, что влечёт за собой куда больше рисков. |
Согласованность (Consistency) При монолитной архитектуре проще поддерживать согласованность кода, обрабатывать ошибки и т. д. Зато микросервисы могут полностью управляться разными командами с соблюдением разных стандартов. |
Доступность У микросервисов доступность выше: даже если один из них сбоит, это не приводит к сбою всего приложения. |
Межмодульный рефакторинг Единая архитектура облегчает работу в ситуациях, когда несколько модулей должны взаимодействовать между собой или когда мы хотим переместить классы из одного модуля в другой. В случае с микросервисами мы должны очень чётко определять границы модулей! |
Сохранение модульности Сохранять модульность и инкапсуляцию может быть непросто, несмотря на правила SOLID. Однако микросервисы позволяют гарантировать отсутствие общих состояний (shared state) между модулями. |
Мультиплатформенность/гетерогенность Микросервисы позволяют использовать разные технологии и языки, в соответствии с вашими задачами. |
прагматичный подход Эрика Эванса
Микросервисы | |
Аппаратные преимущества | Программные преимущества |
Независимая масштабируемость При размещении модулей на отдельных серверных узлах мы можем масштабировать их независимо от других модулей. |
Сохранение модульности И единая, и микросервисная архитектуры позволяют сохранять модульность и инкапсуляцию. Однако это может быть довольно трудной задачей, на решение которой уйдут десятилетия, несмотря на правила SOLID. Зато микросервисы позволяют обеспечивать логическое разделение приложения на модули за счёт явного физического разделения по серверам. Физическая изолированность защищает от нарушения пределов ограниченных контекстов. |
Независимый технический стек Благодаря распределению модулей по разным серверным узлам и независимому языку взаимодействия мы можем использовать совершенно разные языки программирования, инструменты взаимодействия, мониторинга и хранения данных. Это позволяет выбирать лучшие и наиболее удобные решения, а также экспериментировать с новыми технологиями. |
Независимая эволюция подсистем Микросервис может развиваться и ломать обратную совместимость, не обременяя себя поддержкой старых версий, так как всегда можно оставить старую версию микросервиса работающей необходимое время. |
Ребекка Парсонс
Характеристики
широко известной статьеФаулерЛьюис
Что такое микросервис?
определением Эдриана Кокрофтамикросервисы должны
- дёшево заменяться;
- быстро масштабироваться;
- быть устойчивыми к сбоям;
- никоим образом не замедлять нашу работу.
Насколько велик микросервис?
настолько большим, чтобы умещаться в рукеописывает случаисоотношение количества сотрудников и сервисовФред Джордж полагаетмикросервис должен соответствовать ограниченному контексту, который способен полностью понять один человекв Netflix их около 800Фред ДжорджРебекка Парсонспри разработке микросервисов труднее всего определять их границы
Компонентное представление через сервисы
- Компонент — это элемент системы, который можно независимо заменить, усовершенствовать (Мартин Фаулер) и масштабировать (Ребекка Парсонс).
- При разработке ПО мы используем два типа компонентов:
А. Библиотеки: куски кода, применяемые в приложениях, которые могут дополняться или заменяться другими библиотеками, желательно без воздействия на остальную часть приложения. Взаимодействие происходит через языковые конструкты. Однако если интересующая нас библиотека написана на другом языке, мы не можем использовать этот компонент.
Б. Сервисы: части приложений, по факту представляющие собой маленькие приложения, выполняющиеся в собственных процессах. Взаимодействие выполняется за счёт межпроцессной связи, вызовов веб-сервисов, очереди сообщений и т. д. Мы можем использовать сервис, написанный на другом языке, поскольку он выполняется в собственном процессе (этот подход предпочитает Чед Фаулер). - Независимая масштабируемость — каждый сервис может быть масштабирован независимо от остального приложения.
Гетерогенность
Мартин ФаулерЧед Фаулердолжны
- Предотвращает возникновение тесных связей благодаря использованию разных языков.
- Разработчики могут экспериментировать с технологиями, что повышает их собственную ценность и позволяет не уходить в другие компании, чтобы попробовать новинки.
Правило. При экспериментах с новыми технологиями:
— нужно использовать маленькие элементы кода (code unit), модули/микросервисы, чтобы снизить риск;
— элементы кода должны быть одноразовыми (disposable).
Автоматизация инфраструктуры
Непрерывное развёртываниеМартин ФаулерРебекка ПарсонсЧед ФаулерЭрик Эванс
- «Голубое» и «зелёное» развёртывание: нулевое время простоя.
- Автоматизация: нажатием одной кнопки можно развернуть несколько серверов.
- Серверы Phoenix: быстрый запуск и остановка.
- Мониторинг: можно заметить, когда что-то пошло не так, и отладить.
Архитектура с эволюционным развитием
- Превратить (рефакторить) единое приложение в приложение микросервисное, изолировав и перенеся наборы бизнес-логики (ограниченные контексты) в отдельные микросервисы.
- Объединить существующие микросервисы, например когда часто приходится одновременно изменять разные микросервисы.
- Разделить существующие микросервисы, когда нужно и есть возможность развивать их по отдельности или когда мы понимаем, что разделение серьёзно повлияет на бизнес-логику.
- Временно добавить в приложение какую-то возможность, создав микросервис, который будет работать определённое время.
Иерархия ключей и схемы их распределения
SEAFСхема с пояснениями
Обозначения:CK (англ. Cipher Key)IK (англ. Integrity Key) — ключ, использующийся в механизмах защиты целостности данных.CK’ (англ. Cipher Key) — другой криптографический ключ, созданный из CK для механизма EAP-AKA.IK’ (англ. Integrity Key) — другой ключ, использующийся в механизмах защиты целостности данных для EAP-AKA.KAUSF — создается функцией ARPF и оборудованием пользователя из CK и IK во время 5G AKA и EAP-AKA.KSEAF — якорный ключ, получаемый функцией AUSF из ключа KAMFAUSF.KAMF — ключ, получаемый функцией SEAF из ключа KSEAF.KNASint, KNASenc — ключи, получаемые функцией AMF из ключа KAMF для защиты сигнального трафика NAS.KRRCint, KRRCenc — ключи, получаемые функцией AMF из ключа KAMF для защиты сигнального трафика RRC.KUPint, KUPenc — ключи, получаемые функцией AMF из ключа KAMF для защиты сигнального трафика AS.NH — промежуточный ключ, получаемый функцией AMF из ключа KAMF для обеспечения безопасности данных при хэндоверах.KgNB — ключ, получаемый функцией AMF из ключа KAMF для обеспечения безопасности механизмов мобильности.
Схемы выработки SUCI из SUPI и наоборот
Аутентификация
Взаимная аутентификация
CK’IK’CKIKRANDAUTNXRES*CK’IK’KAUSFCKIK5G HE AVKAUSFKSEAFKAUSFKAMFKSEAF
Вторичная аутентификация
- Происходит обязательная первичная аутентификация пользователя в домашней сети и вырабатывает общий с AMF контекст безопасности NAS.
- Пользователь посылает в AMF запрос на установление сессии.
- AMF посылает запрос на установление сессии в SMF с указанием SUPI пользователя.
- SMF проверяет учетные данные пользователя в UDM с использованием предоставленного SUPI.
- SMF посылает ответ на запрос от AMF.
- SMF запускает процедуру аутентификации EAP с целью получить разрешение на установление сессии от AAA-сервера внешней сети. Для этого SMF и пользователь обмениваются сообщениями с целью инициировать процедуру.
- Пользователь и AAA-сервер внешней сети далее обмениваются сообщениями, чтобы провести аутентификацию и авторизацию пользователя. При этом пользователь отсылает сообщения в SMF, который в свою очередь обменивается сообщениями с внешней сетью через UPF.
Принцип нейтральности технологий
Принцип звучит так: информационные технологии должны быть нейтральны по отношению к содержанию информации.
Известным частным случаем его является принцип сетевого нейтралитета (англ. network neutrality). Он заключается в том, что сетевые провайдеры не отдают предпочтение одному трафику перед другим. Как либертарианец я не одобряю такой принцип в виде закона, однако полностью поддерживаю его как часть договора между клиентом и поставщиком услуг. В последние годы о нём часто пишут в СМИ во всём мире. По этим публикациям можно понять, насколько он важен для развития Интернета и для общества.
Как можно понять из предшествующего технического описания, распределённые системы позволяют реализовать этот принцип гораздо лучше, чем децентрализованные. Хорошо сказал об этом Caleb James DeLisle, ведущий разработчик технологии cjdns:
Я считаю, что будущее именно за распределёнными сервисами. Только они дают достаточные гарантии сохранности информации, чтобы пользователи были готовы доверять им свою информацию.
Значит ли это, что пользователи обязаны видеть оскорбительное содержимое? Конечно же нет. Уже упомянутая многослойная архитектура позволяет существовать рейтинговым сервисам и агентствам, которые пользователь может использовать, чтобы не видеть нежелательную информацию или чтобы потенциально недостоверная информация была помечена специальным образом.
Архитектура Sinet
При использовании архитектуры Sinet напольными устройствами управляют расположенные в непосредственной близости от них объектные контроллеры с развитыми средствами диагностики, позволяющими быстро обнаружить и устранить нарушения в работе оборудования (рис. 1).
Рис. 1. Схема МПЦ с архитектурой Sinet
Объектные контроллеры подключены к шине передачи данных и отдельным линиям электроснабжения. Разделение электроснабжения и передачи данных позволяет гибко адаптировать электроснабжение к местным условиям независимо от системы передачи, а также обеспечивать нужный уровень эксплуатационной готовности для конкретного оборудования.
Избыточность шины передачи данных, через которую объектные контроллеры соединены с постом централизации, реализована при помощи протокола PRP (Parallel Redundancy Protocol), нормированного стандартом IEC 62439-3. Объектные контроллеры подключают к шине через две независимые линии и сетевые модули SCU. На приемной стороне отбирается первый из принятых пакетов данных, а второй (избыточный) отбрасывается. Это позволяет немедленно обнаружить отказ одной из дублированных шин передачи.
Протокол PRP расположен под стеком протоколов TCP/IP, что дает возможность всем приложениям пользоваться избыточностью при передаче данных. Это касается и таких приложений, как диагностика (с передачей по протоколу SNMP) или система видеонаблюдения с потоковой передачей видеоинформации. Они остаются работоспособны при отказе одной из шин опорной сети или другой части сетевой инфраструктуры.
По опорной сети Sinet передаются данные разных видов — команды и извещения МПЦ, диагностические данные и т.п. Установление высокого приоритета для управляющей информации позволяет обеспечить ее передачу в реальном времени.
Модуль SCU поддерживает стек протоколов TCP/IP и посредством стандартизированного протокола PRP поддерживает передачу пользовательских данных с резервированием. Если на уровне безопасности применяются защитные протоколы с интегрированными механизмами резервирования (например, RaS-ТА — Rail Safe Transport Application), то и они поддерживаются модулями SCU. Применение стандартизированных интерфейсов и протоколов позволяет подключать к сети разнообразные компоненты напольного и постового оборудования.
Сеть Sinet предоставляет также детальную диагностическую информацию. Протокол SNMP делает возможным централизованный контроль за состоянием сети при помощи диагностической системы верхнего уровня. Возможен также анализ дополнительной детальной информации (например, частоты ошибок при передаче в линии) при обращении к веб-серверу, встроенному в каждый модуль SCU.
Переход к сетевой архитектуре Sinet может осуществляться поэтапно или охватывать сначала только часть оборудования. Так, в швейцарском проекте к сети подключены только сигналы и устройства переездной сигнализации, а остальное напольное оборудование интегрировано в МПЦ посредством соединений «точка — точка». В перспективе Sinet позволит также реконфигурировать МПЦ, делая возможной передачу отдельных районов управления существующих установок в зону действия других МПЦ.
Как работает централизованная сеть?
В централизованной сети центральный сервер выполняет основные функции обработки данных и управления сетью.
Этот сервер отвечает за хранение всех данных и запуск всех процессов в сети. Он может располагаться в одном месте или быть разбросан по нескольким местам.
Рабочие станции в сети, имеющие меньшую вычислительную мощность, подключаются к центральному серверу. Вместо непосредственного выполнения конкретных функций (хранение данных, приложения, утилиты) эти рабочие станции передают свои запросы на обработку основному серверу.
Центральный сервер обычно обладает повышенной вычислительной мощностью и довольно большим объемом памяти. Он также имеет высокоскоростное подключение к Интернету. Это позволяет обрабатывать большое количество пользователей и большой объем трафика данных.
Сервисная шина предприятия (ESB)
Сервисная шина предприятия использовала веб-сервисы уже в 1990-х, когда они только развивались (быть может, некоторые реализации сначала использовали CORBA?).
ESB возникла во времена, когда в компаниях были отдельные приложения. Например, одно для работы с финансами, другое для учёта персонала, третье для управления складом, и т. д., и их нужно было как-то связывать друг с другом, как-то интегрировать. Но все эти приложения создавались без учёта интеграции, не было стандартного языка для взаимодействия приложений (как и сегодня). Поэтому разработчики приложений предусматривали конечные точки для отправки и приёма данных в определённом формате. Компании-клиенты потом интегрировали приложения, налаживая между ними каналы связи и преобразуя сообщения с одного языка приложения в другой.
Очередь сообщений может упростить взаимодействие приложений, но она не способна решить проблему разных форматов языков. Впрочем, была сделана попытка превратить очередь сообщений из простого канала связи в посредника, доставляющего сообщения и преобразующего их в нужные форматы/языки. ESB стал следующей ступенью в естественной эволюции простой очереди сообщений.
В этой архитектуре используется модульное приложение (composite application), обычно ориентированное на пользователей, которое общается с веб-сервисами для выполнения каких-то операций. В свою очередь, эти веб-сервисы тоже могут общаться с другими веб-сервисами, впоследствии возвращая приложению какие-то данные. Но ни приложение, ни бэкенд-сервисы ничего друг о друге не знают, включая расположение и протоколы связи. Они знают лишь, с каким сервисом хотят связаться и где находится сервисная шина.
Клиент (сервис или модульное приложение) отправляет запрос на сервисную шину, которая преобразует сообщение в формат, поддерживаемый в точке назначения, и перенаправляет туда запрос. Всё взаимодействие идёт через сервисную шину, так что если она падает, то с ней падают и все остальные системы. То есть ESB — ключевой посредник, очень сложный компонент системы.
Это очень упрощённое описание архитектуры ESB. Более того, хотя ESB является главным компонентом архитектуры, в системе могут использоваться и другие компоненты вроде доменных брокеров (Domain Broker), сервисов данных (Data Service), сервисов процессной оркестровки (Process Orchestration Service) и обработчиков правил (Rules Engine). Тот же паттерн может использовать интегрированная архитектура (federated design): система разделена на бизнес-домены со своими ESB, и все ESB соединены друг с другом. У такой схемы выше производительность и нет единой точки отказа: если какая-то ESB упадёт, то пострадает лишь её бизнес-домен.
Главные обязанности ESB:
- Отслеживать и маршрутизировать обмен сообщениями между сервисами.
- Преобразовывать сообщения между общающимися сервисными компонентами.
- Управлять развёртыванием и версионированием сервисов.
- Управлять использованием избыточных сервисов.
- Предоставлять стандартные сервисы обработки событий, преобразования и сопоставления данных, сервисы очередей сообщений и событий, сервисы обеспечения безопасности или обработки исключений, сервисы преобразования протоколов и обеспечения необходимого качества связи.
У этого архитектурного паттерна есть положительные стороны. Однако я считаю его особенно полезным в случаях, когда мы не «владеем» веб-сервисами и нам нужен посредник для трансляции сообщений между сервисами, для оркестрирования бизнес-процессами, использующими несколько веб-сервисов, и прочих задач.
Также рекомендую не забывать, что реализации ESB уже достаточно развиты и в большинстве случаев позволяют использовать для своего конфигурирования пользовательский интерфейс с поддержкой drag & drop.
Достоинства
- Независимость набора технологий, развёртывания и масштабируемости сервисов.
- Стандартный, простой и надёжный канал связи (передача текста по HTTP через порт 80).
- Оптимизированный обмен сообщениями.
- Стабильная спецификация обмена сообщениями.
- Изолированность контекстов домена (Domain contexts).
- Простота подключения и отключения сервисов.
- Асинхронность обмена сообщениями помогает управлять нагрузкой на систему.
- Единая точка для управления версионированием и преобразованием.
Недостатки
- Ниже скорость связи, особенно между уже совместимыми сервисами.
- Централизованная логика:
- Единая точка отказа, способная обрушить системы связи всей компании.
- Большая сложность конфигурирования и поддержки.
- Со временем можно прийти к хранению в ESB бизнес-правил.
- Шина так сложна, что для её управления вам потребуется целая команда.
- Высокая зависимость сервисов от ESB.
РОЛЬ СЕТЕЙ СВЯЗИ 6G В «ИНДУСТРИИ 4.0+»
Рассуждая об основных факторах, стимулирующих экономический рост государств на перспективу до 2030 г., специалисты большие надежды возлагают на внедрение мобильных сетей подвижной связи технологий 5G и 6G, искусственного интеллекта (ИИ), интернета вещей (Internet of Things, IoT) и больших данных — все эти технологии служат основой цифровой трансформации промышленного производства. Приведем общее определение Digital Transformation: «Цифровая трансформация — это глубокие и всесторонние изменения в производственных и социальных процессах, связанные с тотальной заменой аналоговых технических систем цифровыми и широкомасштабным применением цифровых технологий. Цифровая трансформация охватывает не только саму производственную деятельность, но и организационные структуры компаний и бизнес-моделей».
Первая волна цифровой трансформации (1960−1970 гг.) позволила внедрить цифровизацию и автоматизацию отдельных видов деятельности в цепочку создания продуктов и услуг, подняться до уровня автоматизированного компьютерного проектирования и планирования производственных ресурсов. Вторая волна (1980−1990 гг.) обеспечила переход к интеллектуальным производствам и глобально интегрированным цепочкам поставок благодаря распространению интернета и компьютерных технологий. Третья волна (2000−2010 гг.) привела к преобразованию всех производственных и социальных систем в киберфизические системы путем смены «информационной революции» (1960−1990 гг.) «интеллектуальной» и дала начало переходу к глобальному IoT.
Сегодня мир находится на этапе четвертой промышленной революции («Индустрия 4.0») и третьей волны цифровой трансформации, в основу которых заложены информационно-телекоммуникационные технологии (ИКТ) и искусственный интеллект. Так что движение современного мира вперед будет осуществляться путем использования данных и обмена большими объемами информации.
Начиная с 2000-х годов свыше 100 стран мира (большинство индустриально развитых и многие из развивающиеся стран) приняли решение о построении на базе «Индустрии 4.0» (IoT, большие данные, блокчейн и др.) «цифровой экономики». Были утверждены национальные планы развития ИКТ-сетей под проекты цифровизации . Дальнейшее развитие «Индустрии 4.0+» продолжится в сторону интеллектуального производства, которое будет использовать быстрое развитие технологий беспроводной связи и автоматизации, а также ИИ и машинного обучения, но уже в режиме реального времени.
Для обеспечения максимального пользовательского/клиентского опыта сети 6G должны реализовать значительные улучшения с точки зрения ключевых показателей/возможностей. Основываясь на тенденциях эволюций поколений мобильной связи, ожидается, что в сетях связи 6G произойдет улучшение характеристик в 10−100 раз по сравнению с сетями 5G (рис. 1).
Рисунок 1. Ключевые показатели эффективности радиоподсистем 6G
Что такое децентрализованные сети?
Децентрализованная цифровая сеть не контролируется центральным органом.
Вместо этого контроль распределяется между пользователями. Нет единого сервера или пункта управления. Скорее, сеть работает на одноранговой основе, при этом каждый пользователь обладает равными полномочиями и ответственностью.
Отличным примером децентрализованной сети является сам Интернет, который не контролируется одним органом. Скорее, он распространяется среди своих пользователей. Однако некоторые утверждают, что Интернет движется к централизации из-за монополии громких имен в пространстве — Google, WordPress и им подобных.
Как такое возможно? Данные сосредоточены на серверах этих крупных игроков. Таким образом, все, что нужно для доступа в Интернет, проходит через любой из них. Итак, как ответить на вопрос: «Интернет централизован или децентрализован?»
Технически он децентрализован, но аргумент о том, что он медленно, но верно становится более централизованным, нельзя преуменьшать или преувеличивать.
Другой пример — биткойн (BTC), первая криптовалюта. Архитектура сети Биткойн родилась после Великого финансового кризиса 2007–2008 годов. Короче говоря, Биткойн был запущен как децентрализованная сеть именно потому, что централизованные учреждения (банки, финансовые фирмы) «подвели людей».
Создатель(и) Биткойна понял: если существует единая точка контроля или сбоя, вся финансовая система находится под угрозой. Поэтому он или они разработали Биткойн для децентрализации и распределения. Ни одна организация или группа не контролирует его. Вместо этого им управляют пользователи.
Что такое централизованные сети?
Централизованная цифровая сеть — это сеть, в которой центральный орган контролирует сеть.
Органом власти может быть физическое лицо, группа лиц или корпорация. Обычно централизованный орган отвечает за обслуживание сети, управление пользователями и установление правил и положений.
Архитектура централизованной сети построена вокруг одного сервера, на котором выполняются все важные процессы. Если сервер выходит из строя, сеть падает. Многие цифровые платформы, с которыми команда проекта ежедневно взаимодействует, такие как Facebook (признана террористической организацией и запрещена в России) и YouTube, централизованы. В этих примерах одна организация (компания) отвечает за все данные и процессы в сети.
ЗАКЛЮЧЕНИЕ
Для России создание научного задела, способствующего внедрению будущих сетей связи, включая сети 6G — одно из приоритетных направлений научно-технологического развития. Вместе с тем должно быть четкое понимание, что для достижения максимального эффекта необходима синхронизация проводимых исследований.
С одной стороны, должна быть сформирована нормативная база, отражающая основные шаги достижения главной цели — развертывания к 2030 г. сетей связи 6G на территории Российской Федерации. Первым шагом в данном направлении является разработанная ФГУП НИИР в 2020 г. (по заказу Минцифры России) Дорожная карта, включающая:
- определение направлений развития сетей связи 6G;
- составление комплекса мероприятий, способствующих созданию отечественных компетенций по наиболее наукоемким и сложным вопросам развития сетей связи 6G, и благоприятных с коммерческой точки зрения условий для производителей по разработке отечественного оборудования.
С другой стороны, необходима кооперация компетентных ведомств и организаций по проводимым исследованиям для достижения прорывных результатов и исключения дублирования работы. Четкое понимание процесса формирования новой технологии — от определения перечня услуг и сервисов для пользователей до разработки конкретных решений, используемых в отечественном телекоммуникационном оборудовании, а также от оценки текущей загрузки радиочастотного спектра до его резервирования для развертывания новой технологии — позволит регулятору эффективно распределить имеющиеся в его ведении ресурсы. Именно тогда накопленные компетенции станут крепким фундаментом, на котором будут разворачиваться сети 6G в Российской Федерации.
СПИСОК ЛИТЕРАТУРЫ