インターネットは1台の巨大コンピュータでも、どこかの会社の持ち物でもありません。正体は、世界中の無数のネットワークを相互につないだものです。 あなたの家の Wi-Fi につながった機器たちは、それだけで小さなネットワークです。会社にも、大学にも、通信会社にも、それぞれのネットワークがある。それらを「お互いに乗り入れOK」というルールでつなぎ合わせた全体を、インターネット(inter = 相互の + net = 網)と呼びます。中心はどこにもなく、それでも全体として動く——ここがインターネットの一番面白いところです。
初級で見たとおり、インターネットは1つの機械ではなく、ルータでつながった無数のネットワークの集合です。ここで鍵になるのが「相互接続」の実体です。 各ネットワークの出入口にはルータが立ち、隣のネットワークへデータをバケツリレーで中継します。どのネットワークも対等に乗り入れ合うので、中心となる管理者はいません。それでも全体が1つの網として動くのは、あとで触れるTCP/IPという共通の約束事を、みんなが守っているからです。約束事さえ同じなら、機種も回線もバラバラでよい——これが「相互につなげる」の正体です。
あなたがスマホで Web ページを開くと、裏ではこんなバケツリレーが起きています。 スマホがリクエスト(「このページをください」というデータ)を家のルーターに渡す ルーターは契約しているプロバイダ(ISP)の網に渡す プロバイダ網から先は、ルーターと呼ばれる中継機器が何台も「宛先ならこっちだ」とデータを次々に転送していく 海外のサーバなら海底ケーブルを通って大陸を渡ることも 相手のサーバに届くと、今度はページのデータが同じ道のりを逆向きに帰ってくる この間、わずか0.1秒ほど。実感はありませんが、あなたの「いいね」は光の速さで地球を走っています。
初級では「バケツリレー」と表現しました。中級では、その荷物の正体がパケットであることを押さえます。 送るデータ(Webページの要求など)は、そのまま送られるのではなく、小分けのパケットに切り分けられます。各パケットには宛先IPアドレスが書かれ、1つ1つが独立に経路をたどって相手へ向かいます。だから同じ通信でもパケットごとに別の道を通ることがあり、到着順が入れ替わることもあります。受け手側(TCP)が番号順に組み直して、元のデータに戻します(順序保証や再送はIPではなくTCPの仕事)。 端末がデータをパケットに分け、それぞれに宛先IPを付ける 家のルータが、契約するアクセスISPの網へパケットを渡す ルータが宛先IPを見て「こっちが近い」と次のルータへ中継(バケツリレー)していく 相手のサーバに全パケットが届いたら、番号順に組み直して元に戻す 応答も同じくパケットに分かれ、それぞれ独立に帰ってくる この方式なら、1本の回線を多数の通信で細切れに共有でき、途中の1経路が混んでも別の道へ逃がせます。
バケツリレーが成立するには「宛先」が必要です。その役割を果たすのが IPアドレス — インターネット上の住所です。 すべての機器は通信するとき 203.0.113.42 のような番号を持ちます。データには「宛先IPアドレス」と「差出人IPアドレス」が書かれていて、途中のルーターはこの宛先を見て転送先を決めます。郵便配達員が住所を見て手紙を運ぶのと同じ仕組みです。 「でも私は住所じゃなくて google.com って打ってるけど?」——いい質問です。その名前を住所(IPアドレス)に変換してくれる電話帳のような仕組みが DNS で、これは次のステージで登場します。
パケットが独立に旅できるのは、1つ1つに宛先IPアドレスが書かれているからです。 ルータは荷物の中身を読みません。見るのは宛先IPだけ——郵便の仕分けと同じで、住所さえあれば中身を知らなくても正しい方向へ送れます。だからこそ、経路の途中にいる無数のルータが、互いに示し合わせなくても協調してパケットを運べるのです。IPアドレスは「どの機器に届けるか」を示す、インターネット共通の住所です。