СИСТЕМА АГРЕГАЦИИ СЕТЕВЫХ ДАННЫХ В КОМПЬЮТЕРНЫХ СЕТЯХ
SYSTEM FOR AGGREGATION OF NETWORK DATA IN COMPUTER NETWORKS

ОБЛАСТЬ ТЕХНИКИ
[1] Техническое решение относится к системам, обеспечивающим агрегацию сетевых данных в компьютерных сетях.
[2] УРОВЕНЬ ТЕХНИКИ
[3] В компьютерных сетях агрегирование каналов (англ. Link aggregation) - технологии объединения нескольких параллельных каналов передачи данных в один логический. Это позволяет увеличить пропускную способность каналов и повысить их надежность в случае отказа одного из каналов.
[4] Принцип агрегирования каналов применяется для многих технологий (например: сети Ethernet, инверсное мультиплексирование, Multilink РРР). Для сетей Ethernet существует так называемый LACP (англ. link aggregation control protocol) — открытый стандартный протокол агрегирования каналов, описанный в документах IEEE 802.3ad, IEEE 802.1aq, помимо этого, многие компании еще используют для своих продуктов патентованные или закрытые технологии (EtherChannel, используемый CISCO; Duralink Trunking, применяемый в Adaptec; MLT, в оборудовании Nortel).
[5] Из уровня техники известно использование метода агрегации нескольких физических сетевых интерфейсов в единый логический «bonded» интерфейс в операционной системе Linux (начиная с версии ядра 2.0) при помощи драйвера bonding. Данный метод обеспечивает несколько режимов работы: балансировка нагрузки (balance-rr, balance-xor), горячий резерв(active-backup), контроль целостности данных. Метод эффективно применяется при использовании однородных каналов связи, но его эффективность крайне низка при использовании нестабильных коммутируемых каналов связи на базе технологий сотовой связи — большие потери пакетов, снижение скорости передачи данных.
[6] Из уровня техники известно изобретение «Methods for intelligent NIC bonding and load-balancing» (US8644328B2, опубликовано 04.02.2014). Данный метод описывает общий способ агрегирования каналов с использованием равномерной загрузки пакетов, пересылаемых данных, что позволяет произвести максимальную утилизацию всех используемых каналов связи. Недостатком данного изобретения является то, что при использовании коммутируемых каналов связи, имеющих нестабильные характеристики, увеличивается время приема-передачи отдельных пакетов данных, при этом общая скорость передачи данных снижается.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[7] Решаемой технической проблемой является создание более эффективного способа агрегации данных для обеспечения стабильного доступа к сетевым ресурсам без потери скорости передачи данных.
[8] Технический результат заключается в распределении полезной нагрузки между сетевыми интерфейсами, в частности 2G/3G/4G/5G, максимальной утилизации по каждому из сетевых интерфейсов, что позволяет обеспечить стабильный канал связи и максимально возможную скорость передачи данных в условиях нестабильности каждого из отдельных коммутируемых каналов связи.
[9] Дополнительным результатом является также является повышение эффективности обработки траффика, а также обеспечение однозначной идентификации клиентского устройства, с помощью получения данных его изначального IP-адреса при доступе к сети через VPN.
[10] Агрегирование каналов применяется достаточно широко наряду с другим, принципиально отличающимся, способом использования избыточных связей - алгоритмом построения покрывающего дерева (Spanning Tree Algorithm, STA). Он переводит избыточные связи в «горячий» резерв, оставляя в рабочем состоянии только минимальный набор каналов, необходимый для обеспечения связности сегментов сети. В этом случае повышается надежность сети, поскольку при отказе какого-либо соединения в строй автоматически вводятся резервные связи, и через небольшой промежуток времени работоспособность сети восстанавливается.
[11] Агрегирование каналов может применяться для связи как между двумя коммутаторами локальной сети или между портами маршрутизатора, так и между компьютером и коммутатором (чаще всего последний вариант используется для высокоскоростных и ответственных серверов). В двух последних случаях все сетевые адаптеры или порты маршрутизатора, которые входят в транк, имеют один и тот же сетевой адрес (или одни и те же адреса, так как транк, подобно обычному порту/адаптеру, может иметь их несколько). Поэтому для протокола IP или другого протокола сетевого уровня порты транка неразличимы, что соответствует концепции единого логического канала, лежащей в основе агрегирования.
[12] Очевидно, что агрегирование каналов приводит к повышению и производительности (вместо одного канала одновременно используется несколько), и надежности работы устройства приема и передачи данных. Но все современные методы агрегирования обладают существенным ограничением - они принимают во внимание только связи между двумя соседними коммутаторами, полностью игнорируя все, что происходит вне этого участка сети.
[13] При этом для повышения производительности работы устройства приема и передачи данных используется следующий подход: происходит объединение нескольких сетевых интерфейсов в один канал с более высокой скоростью (IP трафик балансируется между всеми доступными интерфейсами пропорционально пропускной способности каждого канала независимо от типа трафика на третьем и более высоких уровнях модели OSI).
[14] Для увеличения надежности работы устройства приема и передачи данных используется другой подход: происходит дублирование трафика между всеми каналами. Это необходимо, когда требуется не увеличение скорости, а гарантия доставки трафика до адресата. Технология является клиент-серверной, со стороны клиента устанавливаются соединения с сетью интернет через все доступные сетевые интерфейсы, далее устанавливаются шифрованные соединения с сервером (отдельное соединение для каждого интерфейса). Далее весь трафик от маршрутизатора в сеть интернет инкапсулируется в созданные шифрованные соединения и передается на сервер. После чего сервер его расшифровывает и передает в публичную сеть интернет. Возможно также присвоение статического IP-адреса для маршрутизатора клиента и, где бы он не находился, в публичный интернет трафик будет выходить только с этого IP-адреса. Это бывает необходимо в случае, если клиенту нужно соблюдать политику безопасности, а также иметь статический IP-адрес для написания ACL со стороны корпоративных брандмауэров.
[15] Для реализации универсального решения, предоставляющего максимально возможную скорость передачи данных, сочетающуюся с высокой стабильностью передачи данных предложена система, состоящая из сервера агрегации и устройства агрегации.
[16] Указанный технический результат достигается тем, что при агрегировании каналов приема и передачи данных, в том числе поддерживающих различные стандарты приема и передачи, от одного или разных провайдеров, на устройстве агрегации производится непрерывный мониторинг состояния каждого из каналов связи, подключение и отключение каналов в зависимости от их характеристик, а разделение стека IP на две составляющие (TCP маршрутизаторы обмениваются клиентским TCP трафиком, при этом весь остальной трафик идет через VPN) повышает надежность системы.
[17] В предпочтительном варианте осуществления заявленного решения представлена система агрегации данных, включающая:
по крайней мере одно клиентское устройство, включающее по крайней мере один сетевой интерфейс, подключенное к по крайней мере одному устройству агрегации;
сервер агрегации и по крайней мере одно устройство агрегации, причем
по крайней мере одно устройство агрегации включает в себя:
по крайней мере один интерфейс Ethernet, выполненный с возможностью обмена сетевыми данными с клиентскими устройствами;
блок маршрутизации IP, выполненный с возможностью получения сетевых данных от сетевого интерфейса с поддержкой Ethernet, приема сетевых данных от блока маршрутизации TCP и блока клиента VPN и отправки сетевых данных на указанные блоки, анализа пакетов сетевых данных, полученных от интерфейса Ethernet, причем если пакеты относятся к служебному трафику, то выполняется их перенаправление на блок клиента VPN, иначе перенаправление на блок маршрутизации TCP;
блок маршрутизации TCP, выполненный с возможностью получения сетевых данных от блока маршрутизации IP, обработки полученных сетевых данных как соединения от клиента, создания соединения, аналогичного клиентскому, с внешним сервером агрегации, используя для этого блок приема-передачи данных;
блок клиента VPN, выполненный с возможностью установки соединения с сервером VPN посредством протокола TCP, выполнения аутентификации данных, формирования виртуального канала связи для передачи данных между устройством и сервером на сетевом уровне
блок приема-передачи данных, выполненный с возможностью: формирования логических каналов связи с сервером агрегации, используя активные сетевые интерфейсы, анализа доступности сетевых интерфейсов, формирования списка активных интерфейсов, периодической отправки ICMP пакетов серверу агрегации через каждый упомянутый сетевой интерфейс;
по крайней мере два сетевых интерфейса, выполненных с возможностью передачи данных через установленное блоком приема-передачи логическое соединение с сервером агрегации;
сервер агрегации, включающий:
по крайней мере один интерфейс Ethernet, выполненный с возможностью обмена сетевыми данными с устройствами агрегации;
по крайней мере один сетевой интерфейс с доступом к сети Интернет;
блок приема-передачи данных, выполненный с возможностью приема входящих соединений от устройства агрегации, формирования из различных логических каналов связи единое соединение на сетевом уровне, используя функционал ядра операционной системы;
блок клиента VPN, выполненный с возможностью маршрутизации полученных данных через установленное соединение на интерфейс с доступом к сети Интернет
блок маршрутизации TCP, выполненный с возможностью обработки полученных сетевых данных как соединения от устройства агрегации данных и создания соединения с внешним узлом связи в сети Интернет с помощью блока приема-передачи данных.
[18] В частном варианте реализации системы блок клиента VPN дополнительно осуществляет шифрование данных.
[19] В другом частном варианте реализации системы сетевые интерфейсы представляют собой 3G, 4G, 5G интерфейс или их сочетания.
ПОДРОБНОЕ ОПИСАНИЕ ТЕХНИЧЕСКОГО РЕШЕНИЯ
[20] Для понимания сущности технического решения будет использоваться терминология и понятия, используемые в сетевой модели OSI.
[21] Сетевая модель OSI (англ. open systems interconnection basic reference model — Базовая Эталонная Модель Взаимодействия Открытых Систем (ЭМВОС)) — сетевая модель стека (магазина) сетевых протоколов OSI/ISO (ГОСТ Р ИСО/МЭК 7498-1-99). Посредством данной модели различные сетевые устройства могут взаимодействовать друг с другом. Модель определяет различные уровни взаимодействия систем. Каждый уровень выполняет определённые функции при таком взаимодействии.
[22] Канальный уровень (англ. data link layer) предназначен для обеспечения взаимодействия сетей на физическом уровне и контроля ошибок, которые могут возникнуть. Полученные с физического уровня данные, представленные в битах, он упаковывает в кадры, проверяет их на целостность и, если нужно, исправляет ошибки (формирует повторный запрос повреждённого кадра) и отправляет на сетевой уровень. Канальный уровень может взаимодействовать с одним или несколькими физическими уровнями, контролируя и управляя этим взаимодействием. Ethernet явлется протоколом канального уровня.
[23] Сетевой уровень (англ. network layer) модели предназначен для определения пути передачи данных. Отвечает за трансляцию логических адресов и имён в физические, определение кратчайших маршрутов, коммутацию и маршрутизацию, отслеживание неполадок и «заторов» в сети. Протоколы сетевого уровня маршрутизируют данные от источника к получателю. Работающие на этом уровне устройства (маршрутизаторы) условно называют устройствами третьего уровня (по номеру уровня в модели OSI). IP/IPv4/IPv6 являются протоколами сетевого уровня.
[24] Транспортный уровень (англ. transport layer) модели предназначен для обеспечения надёжной передачи данных от отправителя к получателю. При этом уровень надёжности может варьироваться в широких пределах. Существует множество классов протоколов транспортного уровня, начиная от протоколов, предоставляющих только основные транспортные функции (например, функции передачи данных без подтверждения приёма), и заканчивая протоколами, которые гарантируют доставку в пункт назначения нескольких пакетов данных в надлежащей последовательности, мультиплексируют несколько потоков данных, обеспечивают механизм управления потоками данных и гарантируют достоверность принятых данных. Например, UDP ограничивается контролем целостности данных в рамках одной датаграммы и не исключает возможности потери пакета целиком или дублирования пакетов, нарушение порядка получения пакетов данных; TCP обеспечивает надёжную непрерывную передачу данных, исключающую потерю данных или нарушение порядка их поступления или дублирования, может перераспределять данные, разбивая большие порции данных на фрагменты и наоборот, склеивая фрагменты в один пакет.
[25] VPN (англ. Virtual Private Network — виртуальная частная сеть) — обобщённое название технологий, позволяющих обеспечить одно или несколько сетевых соединений (логическую сеть) поверх другой сети (например, Интернет).
[26] Рассмотрим на примере работу системы, представленной на Фиг. 1.
[27] Клиент через клиентское устройство (10) осуществляет запрос на получение доступа к сетевому ресурсу (20) (например, веб-сайту). В качестве клиентского устройства (10) может применяться, например, смартфон, планшет, персональный компьютер, смарт-ТВ, игровая приставка, носимое умное устройство и т.п.
[28] Устройство агрегации (100) получает сетевые данные (включающие запрос) от клиентского устройства (10) через интерфейс Ethernet (105), который после преобразования их на уровень протокола IP (Internet Protocol) перенаправляет их на блок маршрутизации IP (102). Блок маршрутизации IP (102) получает сетевые данные от блока Ethernet и осуществляет их анализ на базе списков сетей, сервисов, используя правила, цепочки, таблицы и механизмы определения состояний (функционал схожий или аналогичный с сетевым экраном netfilter). Если данные относятся к служебному трафику (что определяется списками сетей и сервисов), то блок маршрутизации IP (102) осуществляет их дальнейшую пересылку в блок клиента VPN (103), иначе – направляет в блок маршрутизации TCP (104). Cписок сетей и портов назначения (сервисов) формируется для служебного и создаваемого аналогичного (проксируемого) трафика. В некоторых вариантах реализации упомянутый список формируется в виде файлов, содержащих списки, используемые при инициализации устройства агрегации.
[29] Цепочка является упорядоченным списком правил, а каждое правило может содержать критерии и действие или переход. Когда пакет данных проходит через цепочку, по очереди проверяется, соответствует ли пакет всем критериям очередного правила, и если так, то выполняется заданное действие (если критериев в правиле нет, то действие выполняется для всех пакетов, проходящих через правило).
[30] В некоторых вариантах реализации используется 5 типов цепочек:
• PREROUTING — для изначальной обработки входящих пакетов.
• INPUT — для входящих пакетов, адресованных непосредственно локальному процессу (клиенту или серверу).
• FORWARD — для входящих пакетов, перенаправленных на выход (при этом перенаправляемые пакеты проходят сначала цепь PREROUTING, затем FORWARD и POSTROUTING).
• OUTPUT — для пакетов, генерируемых локальными процессами.
• POSTROUTING — для окончательной обработки исходящих пакетов.
[31] Цепочки могут быть организованы в 4 таблицы:
• raw — просматривается до передачи пакета системе определения состояний. Используется, например, для маркировки пакетов, которые НЕ должны обрабатываться системой определения состояний. Для этого в правиле указывается действие NOTRACK. Содержит цепочки PREROUTING и OUTPUT.
• mangle — содержит правила модификации (обычно заголовка) IP‐пакетов. Среди прочего, поддерживает действия TTL (Time to live), TOS (Type of Service), и MARK (для изменения полей TTL и TOS, и для изменения маркеров пакета). Содержит все пять стандартных цепочек.
• nat — просматривает только пакеты, создающие новое соединение (согласно системе определения состояний). Поддерживает действия DNAT, SNAT, MASQUERADE, REDIRECT. Содержит цепочки PREROUTING, OUTPUT, и POSTROUTING. В некоторых вариантах реализации может быть добавлена цепочка INPUT.
• filter — основная таблица, используется по умолчанию, если название таблицы не указано. Содержит цепочки INPUT, FORWARD, и OUTPUT.
[32] Цепочки с одинаковым названием, но в разных таблицах — совершенно независимые объекты. Например, raw PREROUTING и mangle PREROUTING обычно содержат разный набор правил; пакеты сначала проходят через цепочку raw PREROUTING, а потом - через mangle PREROUTING.
[33] Блок маршрутизации TCP (104) обрабатывает получаемые от блока IP (102) сетевые данные в виде соединения от клиентского устройства и пересылаемых в рамках него данных. Блок маршрутизации TCP (104) осуществляет создание аналогичного соединения (проксирование), которое будет связывать блок маршрутизации TCP (104) с внешним сервером агрегации (110), а текущее соединение от клиента (10) остается подключенным. При этом сохраняются заголовки и содержимое исходного пакета, полученного от клиентского устройства (10), добавляется служебная информация, например, но не ограничиваясь: исходный адрес назначения, исходный адрес отправителя, ключ шифрования, ключ для авторизации.
[34] Создание соединения осуществляется через блок приема-передачи данных (БППД) (101), который получив соединение от блока маршрутизации TCP (104) или блока клиента VPN (103), формирует логические каналы связи с сервером агрегации: соединения для проксирования (для TCP) или VPN канал для служебных данных (в случае VPN соединения) и осуществляет передачу данных через активные сетевые интерфейсы (106, 107) устройства передачи данных с поддержкой 3G/4G/5G (LTE; LTE-Advanced; LTE-450; HSPA+; HSUPA; HSDPA; UMTS; CDMA EVDO Rev 0, Rev A; Mobile WiMAX и др.) Указанных сетевых интерфейсов (106, 107) может быть два и более.
[35] Функции мониторинга каналов, распределения пакетов данных между каналами передачи данных выполняется БППД (101), который на устройстве агрегации (100) отслеживает доступность сервера агрегации (110), потери пакетов данных, производит подключение и отключение каналов. На сервере агрегации (110) БППД (111) производит подключение и отключение потоков, соответствующих каналам на устройстве агрегации (100). Каждое логическое TCP соединение в системе представляет собой одно или несколько TCP соединений относительно внешних систем (маршрутизаторов, коммутаторов, модемов, базовых станций операторов).
[36] В качестве сетевых интерфейсов (106, 107) с поддержкой 3G/4G(LTE)/5G могут выступать, например, модемы (внешние или встроенные в устройство агрегации). При этом БППД (101) периодически (например, каждую 1 секунду) осуществляет отправку ICMP (англ. Internet Control Message Protocol — протокол межсетевых управляющих сообщений) пакетов к серверу агрегации (110) через каждый из упомянутых интерфейсов (106, 107). ICMP используется для передачи сообщений об ошибках и других исключительных ситуациях, возникших при передаче данных, например, запрашиваемая услуга недоступна, или хост, или маршрутизатор не отвечают.
[37] Если в течение предустановленного времени (например, 6 секунд) ответ от сервера агрегации (110) не поступает, то сетевой интерфейс (106, 107) помечается как неактивный и исключается из списка активных. Если ответ получен, то сетевой интерфейс (106, 107) считается активным и добавляется в список активных сетевых интерфейсов, при этом также фиксируется минимальное время прохождения пакета (RTT). Активность сетевого интерфейса (106, 107) определяется наличием хотя бы одного успешно прошедшего ICMP пакета в течение установленного интервала времени.
[38] После отправки данных по логическим каналам связи на сервер агрегации (110), сервер (110) получает через интерфейс Ethernet (115) данные, которые передаются на БППД сервера агрегации (111). БППД сервера (111) представляет собой совокупность netfilter + TCP в ядре Linux, который с помощью собственных механизмов обеспечивает объединение пакетов из разных источников на выходе с netfilter. В приложении (VPN сервер, блок TCP) обрабатывается одно соединение.
[39] На сервере агрегации (110) весь трафик, поступающий через VPN (113), маршрутизируется средствами VPN сервиса на интерфейс, анализирующий входные данные из внешней сети Интернет. Трафик, который проходит через блок маршрутизации TCP (114), терминирующийся на сервере агрегации (110) (т.е. достигающей конечной точки маршрута), разбирается на пакеты, в каждом из которых выделяется адрес и порт назначения, и далее устанавливается соединение TCP от сервера агрегации к запрашиваемому клиентом ресурсу (20) (например, веб-сайту) через интерфейс Ethernet (116) сервера (110).
[40] Данные, приходящие в указанном TCP соединении, пересылаются по уже существующему соединению к устройству агрегации (100), включая служебную информацию. На устройстве агрегации (100) происходит аналогичный процесс — из соединения с сервером агрегации (110) извлекаются данные и отправляются клиенту (10). Таким образом выполняется прозрачное создание трафика (проксирование) для клиента.
[41] Модуль TCP (104) устанавливает соединение с модулем TCP (114) сервера агрегации (110), используя логические каналы связи. Модуль VPN (103) устанавливает соединение с сервером VPN (113) на сервере агрегации (110), используя логические каналы связи. Таким образом, выход во внешнюю сеть (доступ к ресурсу (20)) осуществляется через сетевой интерфейс (116) сервера агрегации (110).
[42] Компоненты системы взаимодействуют могут осуществлять взаимодействие между собой двумя способами.
[43] Сервис VPN, который относительно сервера агрегации (110) представляет собой VPN сервер (113), относительно устройства агрегации — VPN клиент (103), представляет собой виртуальный канал передачи данных, организованный на базе протокола TCP, на уровне операционных систем сервера (110) и устройства (100) представляющий одиночное TCP соединение, в которое инкапсулируются отдельные пакеты данных.
[44] Канал VPN организован таким образом, чтобы обеспечить максимальную надежность передачи данных и используется в системе для транспортировки служебного трафика, такого как ICMP, DNS, DHCP. Через этот канал также может транслироваться и UDP протокол, который, учитывая его особенности, наиболее уязвим в плане надежности; в данном случае надежность работы UDP увеличивается за счет надежного VPN канала. При необходимости можно использовать канал VPN для любого вида данных, тем самым увеличив надежность их передачи. Надежность канала VPN обусловлена выбором алгоритма дублирования пакетов, а также механизмами протокола TCP, гарантирующего доставку пакетов данных. В связи с спецификой работы протокола TCP, скорость VPN канала не может быть выше максимальной скорости коммутируемого канала передачи данных. Канал VPN может быть организован как с шифрованием данных, так и без шифрования. Инициатором соединения является устройство агрегации (100).
[45] Во втором варианте для организации соединений в режиме сложения пропускной способности каналов, система предполагает использование маршрутизаторов TCP. Это позволяет предоставить максимально возможную скорость передачи данных для тех сервисов, которые не требовательны к надежности канала, но требовательны к его скорости (http/https/ftp/ssh).
[46] Модуль TCP (104), который выполняет маршрутизацию пакетов, на устройстве агрегации (100) через модуль IP (103) принимает соединения от клиентских устройств (10), подключенных к локальной сети (порт Ethernet, wi-fi), при это модуль TCP (104) создает соединение к модулю - маршрутизатору TCP (114) на сервере агрегации (100) через БППД (111). БППД (111) выполняет распределение пакетов данных таким образом, чтобы данные передавались через наиболее быстрый канал – сетевой интерфейс (106, 107), при этом анализирует нагрузку и подключает при необходимости остальные каналы, утилизируя пропорционально их текущей пропускной способности.
[47] В качестве выбора канала, выбирается доступный сетевой интерфейс (106, 107), доступный в качестве модема для передачи данных. Выбор канала происходит с помощью отправки сервисных пакетов, раз в несколько секунд, что позволяет анализировать RTT. Наиболее быстрый канал выбирается на основании минимального значения RTT.
[48]  Модуль TCP  (114) на сервере агрегации (110) осуществляет маршрутизацию пакетов, принимая информацию от устройства агрегации (100) через БППД (101) осуществляет соединение с адресатом. Соединения между модулями (104) и (114) TCP на устройстве (100) и на сервере (110) могут быть организованы как с шифрованием, так и без шифрования. Инициатором соединения является внешнее устройство клиента (10), подключенное к устройству агрегации (100).
[49] Один сервер агрегации (110) может обслуживать несколько устройств агрегации (100), сгруппированных по назначению и функциональным возможностям. Доступ к устройствам агрегации (100) для управления, мониторинга, диагностики осуществляется с сервера агрегации (110) по IP.
[50] Указанный технический результат достигается тем, что при агрегировании каналов приема и передачи данных, в том числе поддерживающих различные стандарты приема и передачи, от одного или разных провайдеров, на устройстве агрегации (100) производится непрерывный мониторинг состояния каждого из каналов связи (измерение RTT до сервера агрегации (110)), подключение и отключение каналов в зависимости от их характеристик (включение и исключение каналов из списка, по которому производится распределение пакетов данных), а разделение стека IP на две составляющие (TCP маршрутизаторы обмениваются клиентским TCP трафиком, при этом весь остальной трафик идет через VPN) повышает надежность системы.
[51] На сервере (110) до трансляции во внешний IP-адрес при доступе к ресурсу (20) сохраняется исходный IP-адрес абонентского устройства (10), как для пакетов данных, проходящих через VPN, так и для пакетов данных, проходящих через TCP маршрутизатор. Таким образом, сервер (110) может транслировать информацию о клиентском устройстве (10) в систему оперативно-розыскных мероприятий (СОРМ).
[52] В некоторых вариантах реализации на интерфейсе сервера, с которого осуществляются соединения с внешними сервисами может быть реализован функционал сетевой трансляции адресов (NAT).
[53] Устройство агрегации (100) может выполняться на базе SoC (System on a Chip) и представлять собой законченное устройство, оборудованное вычислительным модулем, например, процессором, сопряженное на плате с необходимы для его функционирования модулями, представленными на Фиг. 1, а также дополнительными элементами, которые могут использоваться в его архитектуре, например, модули памяти, приемопередатчики и т.п.
[54] Сервер агрегации (100) может выполняться на базе персонального компьютера, серверного кластера и т.п. В общем случае сервер (110) помимо элементов архитектуры, представленных на Фиг. 1, содержит вычислительный модуль (процессор), одно или более средств памяти, в частности ОЗУ, ПЗУ и др., интерфейсы ввод/вывода, средства взаимодействия с пользователями (клавиатура, сенсорный дисплей, манипулятор мышь, джойстик и т.п.), средства приема-передачи информации (например, сетевая карта, модуль беспроводной связи (Bluetooth, WLAN, NFC, IrDa и др.)).
[55] Представленный пример осуществления заявленного решения раскрывает предпочтительный вариант его реализации, описанный в настоящих материалах заявки, которые не должны трактоваться как ограничивающие иные, частные варианты исполнения технического решения, которые являются очевидными для специалистов данной области техники и не выходящие за объем испрашиваемой правовой охраны.