APRSJAGATE, APRS Japanese Message Gateway Project
APRS Japanese Message Gateway の運用は終了しました
2018年1月を持ちまして、APRS Japanese Message Gatewayの運用は終了しました。
- 従来 T3FUKUOKA 独自でサービスしておりました 15000 番台のポートは T2FUKUOKA への接続となります。
- 同様にフィルターサービスも無効となります。
APRS Japanese Message Gateway (Filter)
APRSのメッセージ機能で日本語(とりあえずカナ)を使いたい。 しかし、APRSは世界につながっているシステムなので、日本固有のデータ(SHIFT-JIS,EUC-JP)はトラブルの元になるかもしれないので、APRSに流せない。さぁ、どうしましょう!?
FWD-NET時代は、日本語を普通に使っていましたが、転送先を@JPNに限定することで海外にマルチバイトが流れるのを防いでいましたけど...。
ということで、本 APRS Japanese Message Gateway の出番です。
概念/原理

原理は簡単です。
日本語を使用しないクライアントが緑
、日本語(マルチバイト)を使用するクライアントは赤
とします。
それぞれ別のサーバに接続します。一番右の赤のサーバから上流(upstream)にデータを送るとき、マルチバイトを含んだデータは削除(ブロック)し、マルチバイトを含まないデータはそのまま通過させます。
これにより、マルチバイトを含んだデータが世界中のCore,T2サーバを含め一般のAPRSクライアントに到達しません。
| 流れ | メッセージなど | 結果 |
|---|---|---|
→ ![]() |
Ascii | 通過 |
→ ![]() |
Ascii | 通過 |
| マルチバイト(カナ) | 遮断 | |
→ ![]() |
Ascii | 通過 (Filterを介さない) |
| マルチバイト(カナ) | 通過 (Filterを介さない) |
APRSクライアントの接続先設定については Usage を御覧ください。
T2FUKUOKAとT3FUKUOKA
上図において 水色のAPRS-ISサーバが T2FUKUOKA, 赤のAPRS-ISサーバが T3FUKUOKA として運用されています。
jagateを越えるマルチバイトのメッセージ交換は不可能
クライアントが増えてくると一台のサーバでは負荷が大きくなるので、サーバを増やさなければなりません。

上記のようなトポロジーの場合、
と
はマルチバイトのメッセージ交換はできません。
マルチバイトを含まない場合は、gateway(filter)を通過しますので、メッセージの交換は可能です。
理想的なトポロジー 1

のような接続ができれば、いいのですが....
javAPRSSrvrの場合、それらしき接続が可能なような気がするのですが、詳細はわかりません。
4つのAPRS CORE サーバはそれぞれ「横つながり」(sibling)で接続されているようなので、たぶん上記のような接続がなんらかの方法で可能なのかもしれません。
理想的なトポロジー 2

結局、現状では、このような形になってしまうのかと思います。
ただし最上位の
が死んでしまうと.....
理想的なトポロジー 3 (将来的な gatewayの機能)

リスクを分散/低減するには経路は複数必要です。 しかし、先に書いたようにこのままではマルチバイトのメッセージが通りません。 そこで、Gateway間でバイパスを作成します。 具体的には、
-
Gateway間でTCPセッションを別途張って、マルチバイトのメッセージを交換する。
ただし、gateway同士で互いに相手の存在を設定しておく必要があります。 -
APRSのUser-Defined Data Format を使って、APRSのプロトコルでメッセージを交換する。
ただし、User-Defined Data Formatも Printable Asciiと定義されています。マルチバイトはそのまま通せないのでASCIIにエンコードしてから送信し、受信したgatewayでマルチバイトに戻して下位のAPRS-ISに流します。マルチバイトからASCIIにエンコードすると文字長が増えるので、この処理も必要です。
一応、この機能を考えていたので今回作成したプログラムを filter とせずに gateway としています。