トップ «前の日記(2006-03-07) 最新 次の日記(2006-03-16)» 編集

Rogue Engineer's Diary / やさぐれ日記

Categories | CPUの創りかた | Modern Compiler Implementation in ML | NerdTV | PDP-11シミュレータで古代のUNIXを動かしてみる | The Yakumo Project | やさぐれ読書録
最近のツッコミ:1.Dominic(2008-06-23 05:05)  2.CheapestCheapOEMoem(2008-06-17 03:00)  3.NewDownloadCreativAdobOEM(2008-06-12 20:00)
最近のトラックバック:1.濃縮還元オレンジニュース:プロ.. (2006-12-22 22:02)

2004|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|09|

2006-03-11

[NerdTV] Bob Kahn: TCP/IPの父いわく、「IPアドレスを32ビットにしたのは……」

前々回前回に続き、NerdTVによる、TCP/IPの 父、Bob Kahnへのインタビューの翻訳の第3弾をお送りする。今回はIPアドレスの設計にまつわるお話。一つの山場と言っても良いであろう。インタビューでは 33分45秒あたりから始まる一節である。

Bob Cringely: TCP/IPプロトコルの開発の歴史を振り返ってみて、ここはもしかしたら今とは違っていたかもしれない、あるいはここはこうした方が良かったんではない か、と思ったりするところなどはありますか?

Bob Kahn: そのタイプの質問というのはしょっちゅう受けるんですが、歴史はどう変わっていただろうかというたぐいの質問ですし、なかなか答えられるものではありませ んよ。だって、例えば1900年に半導体とレーザーが発明されていたら、ラジオとテレビはどのようになっていたと思います?実際にはそのような状況を 再現することは出来ないですよね。

Bob Cringely: まぁ確かにそうなんですけれども、意地悪(unfair)な質問をするというのが、私の商売でもありますので。

Bob Kahn: 今とは違ってるであろうこと は間 違いないでしょうが、状況はまったく異なりますし、あまり現実的な話はできないと思いますよ。私たちは全般的に見て、かなり良い仕事をしたと思っていま す。まぁ確か に、もっといいやり方があったかも知れない、と思う部分もありますけれどもね。 当時やっていたことの中で、今考えてみると、あれはバカみたいだったなぁと思うような話というのを少し挙げましょうか。ARPANETでは16ビットのア ドレ スを使っていました。通信したい相手を指定するには、行き先のマシンを16ビットで表現していたんです。みんな一つのネットにつながっているし、 それで別に困ることはなかったわけです。いいですよね?

具体的には、行き先のネットワークはどこか、そのネットワーク上のどのノードであるか、そのノードの先のどの線につなぐか、という 情報を組み合わせて指定します。(一つのノードには)4本の線があって、4台のマシンをそこへつなげることが出来ます。基本的な仕組みはそんな感じです。 4つのワイヤのうちの どれを使うかで2ビット、確かその上に6ビットあって、最大で64台のノードを指定することが出来る、これで16ビットのうち8ビットが埋まります。他の 細かい用途のためにあと2,3ビットくらい必要かもしれないと思っていた。ARPANETでは、まずはそんな感じだったわけです。当時、「もっと大きな ネットワークを作ろうとしたら、もっとビット数が必要になるだろうな」と私たちは考えたので、(インターネットでは)一気に32ビットを用意することにし ました。自分たちの目論見としては --

Bob Cringely: それでもう十分だろう、と。

Bob Kahn: -- 半永久的に使えるはずだと思っていたんですよね。実のところ、私たちは32ビットのアドレスを用意して、最初の8ビットがどのネットワークを指すかを指定 する、という設計をしたんです。8ビットあれば256通りの組み合わせになる。AT&Tには専用のネットが必要だろうし、国防総省も同様 かな、これ で2つ。 ヨーロッパに1つ用意するとして、これで3つ。多分日本というか、アジア太平洋地域あたりでも1つ必要だろう、これで4つ。それを2倍して、8になる。さ らに2倍すると16。さらに2倍して32。どう計算しても、256という数字は、はるか彼方にあるように見える。ところが私たちがすっかり見落としていた ものがあった。パーソナルコンピュータの出現というものを全然予想していなかったんです。たとえば一つの建物の中にローカルエリアネットワークがあって、 そこに沢山のコンピュータがつながっている姿というのは考えていなかった。ところが間もなく、そこらへんの話が一気に現実的になってきたわけです。 XeroxがAltoとEthernetというものを出してきて、(こういうのが普及すると)8ビットでは足りなくなるだろうということが私たちにもすぐ 分かった。これに対処するために、仕組みを考え直す必要があったわけです。でも32ビットのアドレスというのはそのまま残りましたし、現在でも32ビット のアドレスが使われていますよね。これはIPプロトコルのバージョン4、略してIPv4と呼ばれるものです。今はそれをIPv6と呼ばれる、128ビット のアドレスを使うバージョンに移行させるべく、いろいろな人たちが活動していますが、移行作業というのはなかなか難しいですね。全てが一体となって動い ている世界で、一部分を取り替えようとすると、後方互換性の問題がついて回りますし、スムーズに移行するにはどうしたらいいかというのが課題になります。 ともかく、この件は最初ではかなりのヘマをやったけれども、システムの柔軟性を十分に確保しておいたおかげで乗り切ることができた、という話の一例である と言っ ても良いかと思います。

Bob Cringely: そうですね。確かに、実際のところ私たちはまだ --

Bob Kahn: (IPv4を)使い続けていますよね。

Bob Cringely: -- 32ビットのアドレス空間でなんとかやっている、と。

Bob Kahn: でも、8ビットではまずいというのは、最初の設計をした後、半年から1年くらいですぐに気がついてしまったんです。

Bob Cringely: そうなんですか?

Bob Kahn: ところが、設計している時には、8ビットあればもう十分、完璧だろうと本気で信じていた。

Bob Cringely: (笑い)

NerdTV #12: Bob Kahn by Robert X. Cringely and PBS福 盛秀雄訳)

これで、ARPANETに始まり、インターネット、TCP/IPの登場と、そしてその設計の背景までの話が一通り出揃っ た。改めて一覧を出しておくことにしよう。

「昔からそういうものがあったのが当たり前」と感じてしまいそうな技術にも、それを作った人というのは必ず存在していて、ちょっと話を 聞いてみると、驚くほどの知恵や、いろいろな失敗の物語を見つけることが出来る。一 年ほど前にも書いたが、「過去の発掘」というテーマは、機会がある限り、この日記上でも引き続き、積極的に取り上げて行きたいと思 う。


本エントリの内容はクリエイ ティブ・コモンズ・ライセンスの下に公開されています

Name / お名前:
E-mail:
Comment / コメント
(To English posters: please do not remove the extra characters in the comment area):
本日のTrackBacks(全1件) [TrackBack URL: http://fukumori.org/diary/tb.rb/20060311]

たまに来ますのでよろしくお願いします。

本日のリンク元


福盛秀雄/Hideo Fukumori

Visitors Count: 230(yesterday) / 89(today) / 276389(total)