JKaiUI改良版 配布中

JKaiUI改良版をファイル置き場にて配布中です。

最新版はここから落とせます。追加機能の使い方の説明は落としたファイルのReadMeファイルを参照してください。

オリジナルのJKaiUIの使い方、Mac上でのXLink kaiの情報はMac de Kaiを参照してください。

JKaiUI改良版はまだ開発版です。オリジナルからそう多く変更していないので大丈夫だともいますが、ご利用は自己責任でお願いします。

2013年7月13日土曜日

Xlink kai仕組み1

今更ながらXlink Kaiを解析した結果について3回に分けて説明していきます。

 Kaiの通信は主に3つの系統に分かれます。
1つはチャットやアリーナの移動などのKaiのサーバーを介した通信です。
2つ目はPSP間の通信です。
3つ目はPM(Private Message)やり取りを行う通信です。

下の図はそれら3つの通信をまとめた図です。

今回は1つ目について主に説明していきます。
上の図で通信経路は矢印で表されています。
赤の矢印は1つ目に用いられる通信経路です。
ここで行われる通信は主にアリーナの情報を受け取り、アリーナ移動などのユーザー操作をサーバーに送信します。

ここで少し詳しく通信プロトコルについてみていきます。
KaiではTCPとUDPを使い分けています。
TCPとUDPがわからない人に簡単に説明すると、TCPが信頼性があり、UDPが信頼性がない通信ということだけわかればここではいいです。
すなわち、TCPではほぼ確実にパケットが相手に届くが、UDPでは届かない場合もあるということです。
各コンポーネント間の通信をみていきます。
KaiEngineとサーバー間の通信はTCP通信です。
User InterfaceとKaiEngine間の通信はTCPもUDPでもどちらの場合もあります。
しかし、これはコンピュータ内のローカルな通信です。
そのため、UDPでもほぼ信頼性があります。
よって、この1つ目の通信経路が信頼性がある経路であることがわかります。
それに対して、2つ目と3つ目の通信経路は信頼性がありません。
これについては次回以降に説明していきます。
1つ目の経路は信頼性があるといいましたが、実際チャットなどが相手に届かなかったことはないと思います。

先ほどUser InterfaceとKaiEngine間はTCP、UDPどちらもあり得ると書きました。
それは旧UIはUDP通信であり、Web UIと呼ばれるWebブラウザで操作を行うものはTCP通信なためです。

最後にセキュリティ関係の話を書いていきます。
2つ目、3つ目の通信ではサーバーを介さないkaiengine間の通信を行います。
これを行うには通信相手のIPアドレスが必要です。
この情報はサーバーからkaiengineに送られてきます。
kaiengineとサーバー間の通信は平文で行われてるため、この情報を簡単に手に入れられます。
すなわち、Xtagとその人の接続もとIPアドレスです。
IPアドレスがわかれば住んでいる大まかな地域などがわかります。
場合によっては細かい情報までわかるようです。
このようにXlink Kaiはあまりセキュリティ的にはよろしくないようです。

次回は2つ目のPSP間の通信について説明します。

0 件のコメント:

コメントを投稿