インターネットのカタチ:いんたーねっとがこわれた!

「Geekなぺーじ」の中の人による、「インターネットそのもの」を、”インターネットが壊れる”を切り口に、その壊れ方と直し方を通して解説した、ちょっと変わった本です。図書館をぶらぶらしてたら目についたので、読んでみました。

インターネットのカタチ―もろさが織り成す粘り強い世界―
あきみち 空閑 洋平
オーム社
売り上げランキング: 47632

いわゆる「インターネットの仕組み」の本とは、一味違います。もちろん、ルーティングとかDNSとか海底ケーブル網とか、そういうテクノロジーの話は沢山出てきます。

が、インターネットは、ケーブルと機械の集まりというだけではありません。人間が作って維持しているネットワークです。

機械の故障によって「壊れる(繋がらなくなる)」だけでなく、機械は問題なくても設定ミスでネットワークが「壊れる」ことも有るでしょうし、政治的な理由†1で「壊されてしまう」ことも、あるいは悪意を持った人がDDoSを仕掛けて「破壊する」こともあります。でも、そうやって壊れてしまったら、物理的に、あるいは論理的・政治的に、さらには仕様の見直しによる破壊工作の防止まで含めて、「インターネットを治す」ような仕組みも、あるのです。

この本は、そういったインターネットを取り巻き、壊れたら治して維持する、ありとあらゆる営みの視点から、インターネットを概観できる、肩肘張らずに読めるゆる~い読み物です。

いくつか本の中で私がこれは!と思ったものをご紹介。

ルーターのその先のプロバイダのその先ってどうなってるの?

私は自宅内のネットワークに関してはある程度知ってるつもりです†2。が、その先に関しては、教養番組でよくあるような「雲」以上のイメージが正直無かったですorz

私の加入しているプロバイダは、So-netです†3。So-netのようなプロバイダは、私の家のような家庭内LANをたくさん束ねて、インターネット外部への接続サービスを行っています。そのつながり方は、どのようなもので、どのようにデータのやり取りを行っているのでしょう?

Wikipediaとか読んでてもいまいちイメージがつかめなかったのですが、今回この本で可視化ツールが有ると知ったので、試してみました。

自宅周辺のネットワークがどうなってるか調べてみる!

「自宅周辺」とか言ってますが、今大学なので大学周辺を調べます(ぁ

まずは、インターネットの住所の基本、IPアドレスを調べます。いつもの通り、診断くんで調べます。133.11.70.109だそうです。

次に、RADbのサイトにアドレスを入れて検索すると、AS番号とIPアドレスの割当範囲が分かります。(AS番号だけでしたら、Team CYMRUからも調べられます。)

このAS番号というのは、プロバイダや大学、あるいはGoogleのような大規模なネットワークを持っている団体がDNSのドメイン名のように、RIRというしかるべき団体から一意で貰ってる番号で、よく聞く「IPアドレスの割当て」は、このAS番号を持っている団体に対して行われています。恥ずかしながら、ネットワークの上位でもDHCPみたいにダイナミックに割り振ったりしてるのかなあ、とか思ってました。最終的に「IPアドレスは誰のものか?」は、ちゃんとテーブルで決まってる!のです。

さて、先ほどのRADbに入力することで、AS番号はAS2501だと分かりました(か、かなり若いのでは…)。また、133.11.70.109という番号は、133.11.0.0/16の割当のうちの一つ、だそうです。

さてさて。これから、ネットワークの可視化がやっと行えます。BGPlayというネットワーク可視化ツールを使って、調べてみましょう。

20120131.png

おおお、なかなかそれっぽいですね。ASの間ではBGPと呼ばれるプロトコルで通信していて、「AS2501の隣にはAS2907がいるよ!」といったメッセージを流し合っていて、その情報を使ってルーティングをしているのだそうです。恥ずかしながら知りませんでしたorz

先ほどのRADbにAS2501と入れる事で、その生のデータが取得できます。

import:     from AS2500
	           action pref=100;
	           accept ANY
import:     from AS2907
	           action pref=100;
	           accept ANY
import:     from AS7531
	           action pref=100;
	           accept AS7531
export:     to AS2500
	           announce AS2501 AS7531
export:     to AS2907
	           announce AS2501 AS7531
export:     to AS7531
	           announce ANY

さてこのルーティング情報、実はちょくちょく変わります。この可視化ツールでは下の▶ボタンを押すと、このつながりが変わっていく様を見る事ができる…はずなのですが、今私がやったところでは、あまり変わりません。どうやら、”大学だから”のようです。

お使いのプロバイダですと、結構アニメーションがくるくると動いて、同じASにつなぐにしても、色々なルートを通ってるって、分かりはずです。

基本的には、BGPにおいてAS同士は対等(なはず;自信ない)。でも、平等なこの現実社会にもリア充と非リア充がいるように、他のたくさんのネットワーク同士をつなげている「Tier1」と呼ばれる大きなASと、そのおこぼれに預かっている下々の「Tier2」のようなASが居て、大体のプロバイダはTier2以下です。下々のプロバイダは、リア充たる上位のネットワーク様に、まるで私がプロバイダと契約しているように、お金を払って繋がせていただいています(敬語)。

というわけで、ほかのネットワークにパケットを流すときには、プロバイダは流す先のASにお金を払っています(同規模程度のAS同士ではPeerといって、無料でパケットを流し合ってる所もあるようです)。またもちろん、人間のやってる組織同士ですから、その他もろもろの政治問題があって流しやすかったりそうでも無かったりするようです…。

ということで、同じASに送り届けるにしても、どのASを経由させるかは重大な問題だ、という事になります。

だからAS同士のつながりは、ちょくちょく切り替わっているって事なのかな…?…この辺は自信ないですごめんなさいorz

誰か教えて〜!!

RFCとかって、どうやって決まるの?

上が長くなったので、軽く。IETFっていうRFCを出してる所のメーリングリストとか、リアルで集まる会合で決めてるんだそうです。基本的には参加資格なしで、誰でも参加できます!

とはいえ、人間が集まっている以上、誰が言ったかで賛否が分かれたり、リアル会合に何度も出れる(ほどのお金や時間がある)人が有利になったり、はするそうで、よほどの事でもない限りいきなりちょろっとMLに顔を出しても相手にはされなさそうです。

電車内でサクッと読める

軽めのBlog記事を沢山繋げたような構成で、かなり読みやかったです。私は本を読むのはかなり遅い方で、一冊のライトノベルに三ヶ月掛けるのもままあることなのですが、2日ほどで読み終わってしまいました。ライトノベルよりも軽く読めるので、暇つぶしにいかが。

  • †1: 日本だと児童ポルノとか青少年健全育成条例とか
  • †2: 自宅サーバも含めて、自宅のネットワークはすべて私が管理しているので…一応…
  • †3: Gyaoだったんですが、買収されてしまいました…