Найти тему

Самостоятельный мобильный интернет: запускаем базовую станцию 4G LTE для обеспечения стабильного доступа в интернет

Оглавление

Итак, в сегодняшней статье поговорим о том, что детально в нашем сообществе не описывал практически никто — о том, как запустить базовую станцию самого нового из поддерживаемых большинством телефонов этой страны стандартов. Поговорим об особенностях её работы и о трудностях, с которыми, возможно, придётся столкнуться при запуске. Традиционно будет много интересного.

❯ О чём я?

Запустив GSM-сеть, я решил не останавливаться на достигнутом и продолжить свои эксперименты. На этот раз выбор мой пал на 4G LTE. Эта технология до сих пор активно эксплуатируется и развивается. Уверен, многие из нас прямо сейчас читают этот текст именно на телефоне, работающем в сети этого стандарта. В России это, пожалуй, самый новый из широко распространившихся стандартов связи — CDMA умер ещё в незапамятные годы и в нашей стране более не развивается, а 5G на момент написания статьи всё так же находится в зачаточном состоянии. Самое время для того, чтобы попробовать развернуть домашнюю сеть.

Давным-давно небезызвестный в узких кругах Фабрис Беллар создал
ПО, позволяющее запустить базовую станцию данного стандарта. Но предоставлялся этот софт только компаниям по запросу, а позже и вовсе был снесён по причине его продажи какой-то фирме. Но за эти годы многое поменялось, и теперь запустить БС может каждый при наличии соответствующего железа.

❯ Софт

Сама по себе концепция Private LTE не нова. Существуют готовые решения, позволяющие арендовать спектр частот и развернуть такую сеть у себя на предприятии. Но, понятное дело, для разового опыта всё это оборудование не подходит. Так что будем запускать сеть на базе SDR.

Если в мире open-source GSM всем правит Osmocom, то тут несомненным лидером является, безусловно, srsRAN. Это полностью открытое ПО, реализующее минимальную конфигурацию для запуска такой сети. Именно его мы и будем рассматривать. Обитает оно
тут. Его можно собрать из исходников, но я рекомендую использовать уже не раз упоминавшийся DragonOS, где этот софт уже есть в составе дистрибутива.

Также существует такой проект как
LibreCellular, использующий несколько другое железо, но работает он на базе всё того же решения от srsRAN.

Вообще, открытых реализаций LTE помимо srsRAN не сказать, что прямо мало, например,
OpenLTE, Open Air Interface или софт для декодирования сигналов данного стандарта gr-lte. Но всё же пока остановимся на srsRAN.

❯ Как работает LTE

По традиции разберёмся, как же устроена данная сеть (RAN, Radio Access Network). Эта сеть нового поколения, более эффективно использующая частоты и обеспечивающая куда большее быстродействие. Состоит она из трёх ключевых компонентов.

EPC (Evolved Packet Core) — опорная сеть оператора. Главным её компонентом является MME (Mobility Management Unit), через который проходит весь сигнальный трафик от абонентских устройств (UE, User Equipment). Этот узел отвечает за передачу обслуживания, вызов, аутентификацию и многие другие операции. Другими её частями являются служба биллинга, а также шлюзы (обслуживающий и пакетный), обеспечивающие обмен данными между частями сети и другими сетями. К опорной сети подключается HSS (Home Subscriber Server), защищённая база данных, где хранятся ключи шифрования и информация об абонентах. В GSM-сети роль этого узла выполняет домашний регистр (HLR).

Другим компонентом являются eNB (eNodeB). Это базовые станции. LTE работает в широком диапазоне частот, от 450 до 2600 МГц. Их использование отличается в зависимости от страны, так как некоторые из этих частот уже зарезервированы для чего-то ещё. Как и в GSM, тут тоже есть номера каналов — E-UTRA Absolute Radio Frequency Channel Number (EARFCN). Существуют формулы для перевода номера в частоту, но на практике куда проще воспользоваться специальным софтом. Весь спектр частот поделён на широкие участки (LTE bands), выбор которых отличается от страны к стране.

И, наконец, третий компонент — UE (User Equipment). Это сами девайсы, которые подключаются к сети — телефоны, модемы и прочее оборудование.

srsRAN реализует все три составляющие. Но остановимся сейчас только на первых двух — эмулировать LTE-модем при помощи SDR нам пока не понадобится.

❯ Что нужно, чтобы поднять у себя собственную сеть LTE?

Теперь немного о сложности. Вообще, порог вхождения для этой статьи — азы работы с консолью в линуксе и некоторое представление о том, как работает SDR. А вот для того, чтобы воспроизвести всё, что будет описано далее, требуется ряд железок, стоимость которых весьма высока. Это сильно ограничивает возможности для запуска сети. Кроме того, даже с SDR запуск оказался не слишком простым занятием. Если посмотреть видео на тему, то кажется, что всё просто: скачал софт, воткнул в компьютер SDR, и погнали. На деле же в этом процессе было полно нюансов, которые я тоже постараюсь тут описать.

Итак, для данного опыта нам понадобится примерно следующее:

  • Компьютер с Linux. Виртуалка или Raspberry не подойдёт. В первом случае будут проблемы с пробросом порта, второй вариант слишком слаб. Машина должна быть достаточно мощной, так как для запуска сети требуется немало ресурсов. Точные характеристики сказать не могу, так как они сильно отличаются в зависимости от пропускной способности сети, используемого SDR и ещё ряда параметров, но нужно нечто в районе Intel Core i5 и восьми-двенадцати гигов памяти.
  • SDR. Само собой, он должен быть полнодуплексным. Подойдёт USRP, BladeRF, различные модели LimeSDR. В основном используют Ettus USRP B205-mini или B210, а также LimeSDR. У меня есть USRP B200mini-i, я не видел, чтобы кто-то пытался его использовать для таких целей, но у меня получилось добиться с ним стабильной работы, так что его тоже можно рассматривать.
  • Антенны. Это тоже очень важная составляющая успеха. Они должны быть рассчитаны на ту частоту, которую мы будем выбирать. Антенны от роутера не подойдут (я проверял, с ними сеть не ловится). В идеале взять две специально предназначенных для сотовых сетей. Их можно скрутить с сигнализации, модема или иного подобного девайса.
  • SIM-карты, пригодные для записи. Что это такое, зачем оно нужно и что с этим делать — рассмотрим чуть позже.
  • GPS-DO. Для своей работы базовая станция требует тактирования. В опытах с CalypsoBTS мы получали синхроимпульсы от другой вышки, тут же используется специальный прибор, принимающий по GPS сигналы точного времени. Точности внутреннего генератора SDR может оказаться недостаточно, поэтому может потребоваться такой источник. Тем не менее, его использование необязательно, я успешно запускал сеть и без него. Но для повышения стабильности работы подключить его однозначно стоит.