この記事の主な目的は『ネットワークシステムについて語るときに我々の語ること』という本の宣伝です。
みなさんが「コンピューターネットワークの勉強」といって真っ先に思い浮かべるのは、十中八九「TCP/IPの勉強」でしょう(残りの1割か2割の人はにやにやしてください)。
しかし、ぼくが30年近く前にコンピューターネットワークについてはじめて勉強したのは「ATM(Asynchronous Transfer Mode)」という名前の技術でした。 ATMは次世代(当時)電話網での採用を目指して電話業界寄りの標準化委員会*1で設計された技術です。 ちなみに「目指して」というのは現代っぽいナチュラルな言い方で、当時は「うちらでこういうの標準化しといたから、みんな次の電話網はこれでつくろうね」という印象でした(印象です)。
もちろん、そのころにもTCP/IPはあって、というか最初は「TCP*2」でそこからIPが分離されたんですが、とにかくTCP/IPはありました。 もっとむかし、あちこちに乱立した独自のデータ通信ネットワークがあったころ、それらを相互に接続するための技術のひとつとして開発されたのがTCPです*3。 同じような動機の技術はいろいろ存在していたらしいですが、30年近く前にはすでにインターネットといえばTCP/IPという立ち位置を確立していました。
インターネットといえばTCP/IPだったからといって、TCP/IPだけを勉強していればコンピューターネットワークの勉強が済むことはありませんでした。 コンピューターネットワークはインターネットとは限らなかったからです。 むしろ「インターネットつっても、どのみちTCP/IPだけでは無理だから」という空気もあったように思います。 そういう空気を作っていたのが、当時のデータ通信の基盤として無視できなかった電話網の存在でした。
電話網は、インターネットのようなパケット通信ではなく回線交換という仕組みです。 「これからはデータ通信が増えるので、電話網もデータ通信に向いたパケット通信にしていこう」ということで考案されたのがATMです。 それまでの電話交換機をATMスイッチでリプレースすれば、そのうえでTCP/IPを使ったインターネットもできるし、テレビ電話もできるし、テレビの配信だってできるね、というわけです(このあたり、かなりはしょってます)。
ここで上記の文のポイントは、「TCP/IPを使ったインターネット」が「コンピューターネットワークで実現する数ある便利なやつ」の一つにすぎなかったことです。 テレビ電話とかテレビの配信とか、それ以外のサービスがなんかテレビを端末として使うものに偏重してるように見えますが、そういう時代でした。
そうはいっても、30年近く前にはもうウェブサイト(当時の言葉でいうとWWWのホームページ)を開設している会社や人は多かったし、コンピューターネットワークの未来はわりとインターネットとTCP/IPに決まりつつありました。 「もうTCP/IPを勉強しておけばいいんじゃないかなー」って空気が急速に出来上がりつつあった時代だったとも思います。 とはいえ、「出来上がりつつあった」ということは「なかった」わけで、だからぼくが最初に勉強したコンピューターネットワークの技術もATMだったのでした。
いまやATMは忘れ去られた技術です。この記事のタイトルを見て、TCP/IPと銀行の話かなと誤解した人もいるかもしれません。 ATMが生き残れなかった要因としてよく聞くのは、「複雑になりすぎたから」とか「Ethernetが安くなったから」といったものです。 確かにATMには、傍から見てもびっくりするくらいお金が動いていたと思います。
それに加えて、ATMが生き残れなかった理由には、「電話交換機をATMスイッチにリプレースしたネットワーク」のようなものに誰も旨味が見いだせなくなったってのもあるだろうなとぼんやり思っていました。 何億円もするCiscoの基幹IPスイッチがどしどし買われていて、そういうIPスイッチでインターネットそのもののバックボーンが作られる時代に、ぶっちゃけ電話交換機と併用できることくらいしかメリットがないATMにそれ以上の投資をするのは厳しいでしょう。
最近、この雑な見立てに説明の言葉を与えてくれる本を読みました。 『ネットワークシステムについて語るときに我々の語ること』です(繰り返しですが、これは本書の宣伝記事です)。
この本によると、ATMの敗因は下位層の選択肢が固定されていたことでした。 どんなに「その上でいろいろなサービスを実現できる」ような技術でも、それを載せる基盤が固定されていれば、その基盤を誰も使わなくなったとたんに無用の長物化します。 ATMの場合、従来型の電話回線の基盤を活用すること自体に旨味がなくなったことで、わざわざATMを選択するという動機がなくなったというわけです。
一方でTCP/IPは、その上のサービスだけでなく、下位層で選択できる技術も事実上無限大です。 それこそATMだってかまいません。 あちこちの独立したネットワークを相互に接続するための技術という出自からして、すでにあるデータ通信の基盤をなんでも活用できます。 このようなTCP/IPの設計は、もっとも細いくびれにIPを配置した「砂時計」としてモデル化できます。
なお、TCP/IPが砂時計モデルであるという指摘はこの本のオリジナルではありません。 この本では、Steve Deeringという人の講演と、米国政府後援の報告書 "Realizing the Information Future" の文脈で砂時計モデルが紹介されています。 いずれにしても、このようなシステムを評価するときに「砂時計」という便利な言葉があることを、ぼくは『ネットワークシステムについて語るときに我々の語ること』(の原書)を読んではじめて知りました。
この本には、まさに題名のとおり、ほかにも「ネットワークシステムについて語るとき」に便利な概念や文化がごろごろしています。 ATMってあったなーという方も、ネットワークはTCP/IPしか知らんという方も、ぜひ手に取ってみてください!
