あれこれやっているうちに、使い放題PHSカードでインターネットに接続したコンピュータ上でサーバーを動かす方法が見えてきた。
僕が使い放題PHSカードと呼んでいるのは、日本通信株式会社というところが出している『
b-mobile』という製品だ。ノートパソコン等のPCカードスロットに装着するカードで、DDIポケットのパケット通信ネットワークを利用してデータ通信を行う。PHSの電話としては使えない。1年間使い放題で約10万円。この価格にはインターネット接続料金と通信費が含まれているから、最初に10万円支払ってカードを購入してしまえば、いくら使っても(全く使わなくても)その後1年間は料金は発生しない。1年経ったらライセンスを更新することもできる。ちなみに、僕はまだ利用したことはないが無線LANカード機能も備えているので、公衆無線LANスポット(?)を利用することもできる。出張の多い人や営業マンの強い味方ではないかと思う(会社で買ってくれるなら、だが)。
通信速度は、ISDNよりちょっと遅いといったあたり(今現在は115.2kbpsで通信している)。動画や音声データの送受信には向かないが、テキストデータのやり取りなら実用的なスピードだと思う。実際、僕はほんの数ヶ月前まで自宅ではアナログ電話回線を使ってインターネットに接続していたわけだが、そのときの倍のスピードなわけだし。
インターネットに接続するには、付属の接続ソフトを用いて、ある特定の電話番号に電話をかける。おそらく電話先のRASサーバーとPPP接続しているのだろうと思う。接続するとグローバルIPアドレスがもらえる。接続するたびに異なるIPアドレスになってしまうのはやや残念だが、まぁこれは仕方がない。
以前このカードを試してみてガッカリしたのは、インターネットに接続しグローバルIPアドレスをもらった状態で、サーバーとしてTCP/IP通信を行う自作プログラムを動かしてみたら、他のコンピュータから接続できなかったことである。その後、場合によっては接続・通信できることもあることがわかったが、どういう場合にできてどういう場合にできないのかよくわからずすっかりガッカリしてしまっていた。最近またちょっとあれこれやり始めたのだ。
わかってきたのは、このカードを装着したコンピュータをクライアントとしてインターネットサービスを利用した直後なら、他のポート番号であっても接続を受け付けたりデータの送受信が可能らしいということだ。例えば、まずインターネットに接続して、TCPのポート番号1000番とか10000番とかを監視する単純な自作サーバーを動かす。この状態で、このコンピュータ(正確に言うと、PHSカード)に割り振られたグローバルIPアドレスを接続先として、他のコンピュータ上で動かしている自作TCP/IPクライアントプログラム(Telnetクライアントのようなもの)から接続要求を出しても、接続要求そのものがPHS接続コンピュータに届かない。しかし、例えば、ブラウザを起動してホームページが表示された直後(TCPの80番へのアクセスが発生した直後)や、
桜時計でNTP(Network Time Protocol)サーバーへ時刻を問い合わせた直後(TCP/UDPの123番へアクセスした直後)なら、上記の1000番や10000番を監視しているサーバーへの接続要求がコンピュータに届くのだ。もちろん接続することもできるし、データの送受信を行うこともできる。しかし、何十秒か時間が経過すると再び元の木阿弥となる。これはたぶんクライアントとして通信したときに、PHSの電話先のサーバーに穴が作られるのだろう。本来の通信はその穴を通して行われるわけだが、(他のポート番号を用いた、しかも逆向きの)他の接続要求までその穴を通ることができるのだろう。NTPサーバーへの問い合わせを1分ごとに行うように桜時計の設定を変更してみたところ、タイミングによってはタイムアウトで接続できないこともあるが、だいたい自作サーバーとの接続・通信が可能であることがわかった。
ただし、ポート番号をいろいろかえて試してみたところ(と言っても、TCPだけだし、網羅的にテストしてみたわけではないが)、Telnet、FTP、SMTP、HTTP、といった主要なプロトコルが用いるポート番号に関しては、PHSの電話先のサーバーでプロキシサーバーが動いていることもわかった。そこで、自作プログラムではなく、フリーのWEBサーバーである
ApacheをPHS接続コンピュータ上で動かし、他のコンピュータからInternet ExplorerやFirefoxでこのWEBサーバーにアクセスしてみたところ、(やはりタイミングによってはタイムアウトになることもあるが)WEBページを見ることができることがわかった。PHS接続コンピュータ自身によるデータ通信を1分に1度ではなく例えば10〜20秒に1度に変更すれば、このタイムアウトの問題もほとんど気にならなくなるのではないか。
すっかり熱が冷めていたが、手作りサーバー計画の再始動である。

0