カーナビの仕組みは、どうなっているのだろう。
現在地から目的地までの道の組み合わせは、たいへんな数である。とおくに行くほど、その組み合わせは多くなる。これをCPUで処理しようとすると、何時間、何日、ばあいによっては数年かかってしまうだろう。
なのでカーナビのアルゴリズムは、そういうふうにはなっていない。
とりあえず目的地にむかって、近くの道をすすむみ、それをつなげて目的地までガイダンスするようになっている。
インターネットも、ドライビングに似ている。情報を伝える経路はひとつではなく、あらゆる経路をとおって目的のサーバーとやりとりをする。
そして、そのさいもカーナビのように、すべての経路を演算することはなく、とりあえず、その時点でいちばんちかいルータに行き、リレー方式で、目的のサーバーにたどりつく。
通信のプロトコルはいろいろあるらしいが、インターネットではTCP/IPが採用されている。
TCP/IPは、たぶん、こうである。
インターネットでやりとりする情報は、細かく仕分けられ、梱包して運ばれる。いちばん最初におくられる梱包の中身には、リクエスト元と宛先の情報、あるいは先方で組み立てるさいの数字も入っているかもしれない。
送られてきた梱包は確実に届いているとはかぎらない。どこかで迷子になっていることもある。そのさいに、また梱包を送ってもらうようにする。そのさいの手順がTCP。あるいは梱包の組み立ての手順もTCPによるかもしれない。
このへんもカーナビと同様、クルマ系、たとえば運送による梱包がイメージしやすい。荷物が届いていないとき、運送屋さんが客先に催促するとか。
ま、いずれにせよ「インターネットはなんだと聞かれたら」おれは「TCP/IPが利用されているネットワーク」とこたえるだろうネ。