OrangeMaker_logo
アイコン   SkyOverLan

データパケットの流れとSkyOverLanでのパケット操作をまとめると下図のようになります。先の図のPC-AからPC-Bへのデータの流れで示します。図では一方向となっていますがPC-BからPC-Aも同様の流れになります。

データの流れ

SkyOverLanでおこなっているパケットの操作は実に単純です。PC-AではLAN上に無いSkyOverLanに設定されたIPアドレス宛てのパケットとブロードキャストパケットを拾ってSkypeネットワーク側に流します。Skpeネットワークから受け取ったパケットは送信先をPC-Bのアドレスに書き換え、送信元をSkyOverLanに設定されたIPアドレスに書き換えます。PC-Bのアプリケーションは192.168.20.6から来たパケットとして処理されます。

と、ここまででMACアドレスの解決はどうするのだろうと疑問に思うかもしれません。実はMACアドレスの解決も上記の考え方で処理できます。

上図で初期状態では、PC-Aは172.16.10.4のMACアドレスは知りませんので、IPパケットの送出に先だってARPのREQUESTパケットをネットワーク送出します。このRequestパケットも上図の流れでPC-Bのプロトコルスタックに到達します。PC-BからのReplyパケットは上図の矢印を逆向きにたどってPC-Aのプロトコルスタックに到達してARPテーブルに172.16.10.4とPC-BのNICのMACアドレスの組みが登録されます。(VISTAではARP以外の手段でMACアドレスを解決する場合がありますが考え方は同じです。)

FTPのパケット書き換えについて、

次にFTPパケットの書き換えについて説明します。こちらは少し面倒な処理を行っています。FTPプロトコルではデータポートコネクションのIPアドレスとポート番号をTCPのペイロードの中に持っています。TCPペイロードの書き換えを行うとデータ全体のデータ位置が変化しますので、書き換え以降の切断するまでのパケットを全て書き換える必要があります。これが結構面倒です。このため書き換えを管理するテーブルを用意してFINパケットがくるか、一定時間経過(エージング時間)するまでこのテーブルを維持しています。こういった処理を行っていますのでFTPのPortモードPASVモードいずれのFTPも可能となっています。(苦労したわりに性能はでませんが。。)

上記のテーブルの管理コネクションは100個でエージング時間は5時間です。

画面の設定方法は次の「画面設定方法」を参照してください。

画面設定方法