Web開発:HTTP、HTML、CSS、JavaScript、Python ...ああ。 すべて同じです。 だから私は根本的に異なるものに気を取られたいです。 私はモスクワのハックスペース
ニューロンに住んでいます! 周りに聞いてみませんか?
たとえば、Neuronには
Fairwaves社の
社員がおり、低コストのセルラーネットワーク用のGSM機器を開発しています。 ハードウェアからソフトウェアまでのスタック全体は、オープンソースライセンスの下で利用可能です。 はい、はい、
鉄を含む。 したがって、この技術に精通するためにFairwavesで働く必要はありません。 そして、掘削の結果をGitHubに投稿したり、
既存の プロジェクトに貢献したりできます。 少なくとも、インタビューでは自慢することがあります。
ドキュメントを読み、コードをスクロールし、数十件の強迫的な質問と実験を行いました(Alexander ChemerisとIvan Klyuchnikovに感謝します)。 そして、ここに結果があります-私のMacBookの制御下にある私自身のGSMネットワーク:

ハックスペースのゲストがネットワークをテストするために来ました:

彼らは何について話しているのですか?

どのように機能しますか? このように:
+ ---------------------------------------- +
| MacBook |
| |
| + ------------------------------- + |
| | VirtualBox virtual | |
| | | |
| | + ---------------------- + | | |
| | | Dockerコンテナー| | | \ | | / |
| | | (Ubuntu 12.04)| | | \ | | / |
| | | | | | \ | | / |
| | | + ------------- + | | | + ---- + ---- + + ------- +
| | | | Openbsc | | | | | | | |
| | | | (osmo-nitb)| <------------------------- +基本| | GSM |
| | | | | | | | | 駅| | テレビ|
| | | + ------------- + | | | | | | 背景|
| | | | | | | | | |
| | + ---------------------- + | | + --------- + + ------- +
| | | |
| + ------------------------------- + |
| |
+ ---------------------------------------- +
コンピューターはUbuntuでVirtualBoxを実行し、Ubuntu 12.04およびオープンソースベースステーションコントローラー
OpenBSC (ベースステーションコントローラー、BSC)で
Dockerコンテナーを実行します。 私の場合、OpenBSCは
Network-in-the-Boxモードで動作し、BSCだけでなく、小規模なGSMネットワークに必要な他のすべてのコンポーネント(
MSC、HLR、VLR、AuC 、
SMSC )の単純な実装も含みます。
Fairwaves UmSITEベースステーションは、
OsmoBTSが回転しているローカルネットワークを介してコントローラーに接続されています-GSMベースステーションのオープンソース実装(ベーストランシーバーステーション、BTS):

GSMネットワークを開始するには、1つの(!)コマンドで十分です。
docker run -v $ HOME / db:/ var / db -i -t -p 3002:3002 -p 3003:3003 -p 30000:30000 / udp -p 30001:30001 / udp -p 30002:30002 / udp -p 30003:30003 / udp -p 30004:30004 / udp -p 30005:30005 / udp -p 30006:30006 / udp -p 30007:30007 / udp shamrin / osmonitb start-nitb -i 10.0.0.10 -n HabraFon GSM1800 10 20
(Dockerがない場合はインストールします。Ubuntuがなく、Dockerがインストールされていない場合は、以下を参照してください。)
10.0.0.10
は、ホストDockerネットワークアドレス(ifconfig)に置き換える必要があります。 そして、使用されたチャネル番号
ARFCNに 10
および
20
。 どのチャンネルを示すか、尋ねますか? これは難しい質問です。 GSM周波数では、電力に関係なく、ライセンスなしでは何も放射できません。 しかし、単なる人間はライセンスを取得できません。 以下のオプションが残ります。
- ファラデーケージでのテスト。 適切なファラデーケージがない場合は、セルラーネットワークがキャッチせず、モバイルオペレーターに干渉するリスクがない(そしてユーザーに干渉しない)地下室で模倣します。 この場合、無線周波数スペクトル全体を自由に使用できます。512〜885の範囲で、少なくとも2〜3チャネル(できれば10チャネル)の差がある任意の数値のペアを指定できます。 たとえば、600と700。
- 資格のある専門家の監督の下で、未使用のチャンネルをいくつか見つけて、起動時にこれらのチャンネルを示します。 たとえば、Sagem OTなどのブロードキャストをスキャンできる電話を使用します。 もう一度、資格のある専門家の監督の下で!
他のコンテナオプションと
start-nitb
については
、リポジトリを参照し
てください。
また、Ubuntuがない場合はどうなりますか?Ubuntu 12.04+がない場合は、
Vagrantと
VirtualBoxをインストールし、次のコマンドを使用してUbuntu + Docker仮想マシンを起動します。
git clone https://github.com/shamrin/osmonitb-docker
cd osmonitb-docker
浮浪者
浮浪者ssh
なぜDockerなのか?はい、Dockerはオプションです。 手ですべてを
配置および
構成できます。 しかし、最初に、Dockerを試してみたかったです。 第二に、それを確実にラップしてから、マシン全体の構成(debianパッケージ、手動でインストールされたプログラム、構成ファイル)を繰り返すことができます。 第三に、多数のコマンドと操作のリストが1つに置き換えられました
docker run …
なぜOpenBTSではありませんか?説明されているOsmocomプロジェクト(OpenBSC、OsmoBTS、
OsmoTRX )に加えて、GSMプロトコルの別のオープンソース実装
-OpenBTSがあります。 両方のプロジェクトの時代はほぼ同じですが、OpenBTSは初心者にとってもう少し親しみやすいため、インターネット上でよく知られています。 技術的な違いを詳しく調べない場合、実際にはOsmocomの
方がうまく
機能します 。
今年の初めにOsmocomソフトウェアの使用を開始しましたが、実際の展開ではOpenBTSよりもはるかに優れていることがわかりました。 クラッシュすることはほとんどなく、より多くの機能を備え、より優れた拡張性と柔軟性を備えています。
機器はどこで入手できますか?モスクワの居住者にとって最も簡単なオプションは、
強化されたニューロンの機器を使用することです:)
モスクワに住んでいない場合、または自宅でGSMをプレイするための機器を持ちたい場合、研究室での使用には2つの比較的安価な選択肢があります。
機能に関しては、ほぼ同じですが、UmTRXには次の利点があります。
- すべての回路基板とソフトウェアソースコードは、オープンソースライセンスの下で利用可能です
- USRPの同様の構成よりも安い
- ボードには2つの独立したチャネルを使用できますが、USRPには1つのチャネルしかありません
- USRPのように、基準周波数発生器を微調整するためのGPSはすでに組み込まれており、別途購入することはありません(発生器の浮動周波数はGSMで予期しない問題を引き起こします )
- ロシアの製造業者のサポート(および関税を支払う必要はありません)
お金を節約したい場合で、リファレンスジェネレーターの問題がひどくない場合は、USRP B200を使用できます。 彼女にはチャネルが1つしかありませんが、家庭での実験ではこれは重要ではありません。 USRP B200のリファレンスジェネレータはGSM標準の精度に準拠していませんが、ほとんどの場合、テーブルでの簡単な作業には十分です。 USRP B200では、基地局の1つから別の基地局への
ハンドオーバーに問題があるかもしれませんが、膝の上に価値の高いネットワークを構築する予定はありませんか?
しかし、私は偏見を持つことができます。自分で確認してください。
Andrei Bakhmat、Ivan Klyuchnikov、Pavel Trukhanov、Alexander Chemeris、および他のハックスペースの参加者に、このテキストの草案に関するコメントをありがとう。