2005/4/21にjapan.internet.comに新しいコラムが掲載されました。
今回(前回、 前々回)もオーバーレイネットワークについてのコラムです。
■ソフトウェアの世界に土俵を移す
TCP のレイヤの上にさらに層を設けるということは、ネットワークをアプリケーションレイヤでプログラマブルにするということです。
オーバーレイネットワークの利用者は、 socket、ましてや TCP の 3Way hand shake などを知らなくても、オーバーレイネットワークのライブラリが提供する API を使うだけで、ネットワークアプリケーションを構築することができるのです。
さらにオーバーレイネットワークは NAT ルータやファイアウォールなど、 PC 以外のネットワーク機器設定をも隠蔽するので、アプリケーションプログラマはそのような制限すら意識することなく、「自分の PC だけ」でネットワークアプリケーションを開発できるようになります。
このようにオーバーレイネットワーク(P2P)は、ソフトウェアエンジニア寄りの技術だと言えます。これまでネットワーク機器の管理者など、他人に頼まないと自由にネットワークアプリケーションを作れなかったソフトウェアエンジニアは、レイヤを上げることで、自分たちの世界にネットワークを取り込んでいる、という見方もできます。
一方でネットワークエンジニアにとっては頭の痛い話です。オーバーレイされると、今までネットワークの関所として機能していたルータやファイアウォールが、透過されてしまうからです。
■ネットワークエンジニアとソフトウェアエンジニアの視点
オーバーレイネットワークは、ソフトウェアとネットワークの間に位置する層です。
そのため、ソフトウェアエンジニア(特にアプリケーションエンジニア)とネットワークエンジニアがオーバーレイ・ネットワークの話をすると、いつの間にか話がかみ合わなくなることがあります。
ソフトウェアエンジニアはオーバーレイネットワーク層を前提として、むしろオーバーレイネットワークの API やその上のルーティングなどに興味があるのに対し、ネットワークエンジニアは、オーバーレイネットワークの実現方法が気になるわけです。
つまり、同じオーバーレイネットワークの話をしていても、その層を上から見るか下から見るかという視点の差で、誤解を招くことがあります。
■上へ上へ
オーバーレイネットワークのようにレイヤが上がっていくのは、ある意味仕方のないことです。ある時期アプリケーションと呼ばれていたテクノロジーであっても、次第に「こなれて」くると、その存在を前提としてさらにその上で動作するアプリケーションが現れます。つまり元のアプリケーションはインフラになっていくのです。インフラになるということは、そのアプリケーションが十分に普及し、認められた瞬間であるともいえるでしょう。
今でこそ光ファイバーが普及してきていますが、その昔、インターネットに接続する方法といえばモデムの利用が一般的でした。いつも通話に使っているアナログ電話の回線をデジタルデータに変換して、その上でインターネットを利用していたのです。
電話と言えば昨年から話題になっているのが IP 電話の Skype です。 Skype はインターネットを前提としています。以前、電話の上で実現していたインターネットの、さらにその上で再び電話アプリケーションが登場したのです。そしてその Skype にも API が公開されています。 Skype を前提としたアプリケーションを構築するためです。
我々は普段、層の上位に位置するアプリケーションを利用しています。層が上がっていくのは技術の進歩でもあるので仕方ないですが、一方それを支えるインフラも複雑化してきています。 P2P オーバーレイネットワークの場合であれば、インターネットや社内ネットワークを管理してくれている人々がいるからこそ、安心して利用できているわけです。
とかくオーバーレイネットワークはネットワーク管理者からは敬遠され、現状あまりいい関係にあるとは言えません。
重要なのは、お互いにインフラとアプリケーションの共存関係を考えることです。我々に期待しているエンドユーザーのメリットのためにも、最大限の努力をしていきたいものです。現在のオーバーレイネットワークも、将来“オーバーレイされる”宿命だということを忘れずに……。(執筆:岩田真一