kotaの雑記帳

日々気になったことの忘備録として記していきます。



レイヤバイオレーション

 「レイヤー越えが出来ない人たち」(及川卓也さん)とこれが引用している「spモードはなぜIPアドレスに頼らざるを得なかったか」(高木浩光@自宅の日記)が面白かった。

 これらは、NTTドコモのメールの差出人が書き換わるという事故を題材にしている。この事故のニュースを見たとき、私は、「ユーザIDをアプリレイヤに含めて送信しているんでなく、IPアドレスをユーザIDとして使っているんだ。変なことするんだなぁ」と思っていただけだった。

 上のお二人の記事を見て、よく分析すると考えさせられることが多いなぁっと改めて自分が思考停止になっていたことに気づく。それで、改めて思う所を書いてみる。

 ずっと昔、WIDE研究会の誰かが「トンネルは悪」と言っていたのを思い出した。その当時は、トンネルを使うとインターネットのシンプルさが失われるという理由だったと思う。しかし、時代は流れ、今ではイーサ over HTTP や SCSI over IPと言ったトンネル技術が氾濫し、オーバレイネットワークなんてものもある。こういったトンネル技術を使うと、レイヤモデルが混乱する。例えば、IP-VPNVPNリンクはどのレイヤに属するんだろうか?アプリケーションから見るとL2だが、SDHから見ればL3だ。

 レイヤモデル自身はただの設計モデルであるので、別に従わなくても動くシステムを作ることは可能だ。ただ、通信システムの複雑さをレイヤモデルで整理できなくなるので、システム設計は難しくなる。例えば、IP-VPNVPNリンクはどの機能を提供すべきで、どの機能を提供すべきでないか曖昧になる。そのため、既存システムに何かを追加しようとすると、途端に「スバゲッティシステム」が出来上がる。

 スパゲッティシステムの弊害はあるが、レイヤバイオレーションにより得られる柔軟さは魅力的である。そのレイヤバイオレーションで得られる柔軟さがもたらす複雑さを管理できるか、それが問題である。