生き残る次世代プロトコルを求めて

またエープリルフール RFC の季節がやってきた。今年は「IPv4ヘッダのセキュリティフラグ」というものが発表されるようだが、今回は昨年(2002年)分の一つを紹介しながら「次世代プロトコル」について考えてみよう。

新プロトコル BLOAT?

2002年のエープリルフールに発表された RFC は2つある。そのうちのひとつが、RFC3252 による BLOAT プロトコル の提案だ。BLOAT は Binary Lexical Octet Ad-hoc Transport の略で、既存の IPとTCP/IP をすべて XML で定義しなおすという、とても意欲的なものだ。

このプロトコルを用いる利点としては、「人間が読めるほどわかりやすくなる」「ルーティングも XML パーザーで実現できる」といったことがあげられている。確かにネットワークの様子がおかしいときには sniffer などのネットワーク解析ツールを使う必要があるが、このプロトコルならば人間が直接読んでも十分理解できそうだ。

ただし、バイナリフォーマットである従来の IP などを XML に変更することで、同じ情報量を送るのに、極端にデータ量が増えることになる。BLOAT(水・空気などで膨れるの意)は名前のとおり、無駄の多い高速通信には不向きなプロトコルなのである。

生き残る次世代プロトコルを見極めるために

BLOAT プロトコルは確かに極端な例だが、これまでにも利用されずに終わった「次世代プロトコル」は数知れない。そのことを考えると、このエープリルフール RFC には多くの示唆を含んでいると思う。

たとえば XML については、実際に無駄が多くなることが判っていながら、現在様々な場面で採用されてきている。これは、通信速度や保存スペースが余分に使われたとしても、可読性が高く拡張性に富んだものを現在の多くの人が求めているということだ。また、IP のリプレースについては現在 IPv6 の採用が進みつつあるが、将来状況が変化して、IPv6 には無い特長をもったプロトコルが人々のニーズを捉えるかもしれない。

このように、時代の流れとともに人々が志向する技術は異なる。過去の IT 業界も様々な流行を生み出しては、多くのものが消えていった。中には定着した技術も数多くあって現在のように IT が発展したわけだが、流行している最中にその将来性を見極めるのはとても難しい。

実際、10年後に BLOAT プロトコルが広く世の中に採用されている確率がゼロだとは、誰にも言えないだろう。将来主流として利用される次世代プロトコルを見極めるには、流行を闇雲に追うのではなく、堅実に将来を見通す「眼力」が求められる。

エープリルフール RFC を作ってみよう

さてここで一つ、筆者が考えたエープリルフール RFC のアイディアを紹介してみよう。タイトルは「民主的投票による時刻合わせプロトコル」。現在インターネットで使われている時刻合わせプロトコル ntp (network time protocol) のリプレースを狙ったものだ。

ntp は正確に時刻を合わせるために、サーバをピラミッド状に配置した中央集権的な構成を取っている。これに対して提案するするプロトコルでは、全てのノード(クライアント)がフラット(平等)に配置されていて、自分が信じる時刻を「投票」することによって、多数決で現在時刻を定める。

BLOAT と同じく、この「次世代時刻合わせプロトコル」も一見ばかげたものに思えるかもしれない。しかし、サーバ中心の ntp プロトコルに対して、クライアント同士が通信し合うこのプロトコルは、冗長性やスケールしやすさ、環境適用性などの点が優れている。これらの長所を生かして、将来 ntp に取って代わる時刻合わせプロトコルとなることに期待したい。