カーナビの仕組みは、どうなっているのだろう。

現在地から目的地までの道の組み合わせは、たいへんな数である。とおくに行くほど、その組み合わせは多くなる。これをCPUで処理しようとすると、何時間、何日、ばあいによっては数年かかってしまうだろう。

なのでカーナビのアルゴリズムは、そういうふうにはなっていない。

とりあえず目的地にむかって、近くの道をすすむみ、それをつなげて目的地までガイダンスするようになっている。

インターネットも、ドライビングに似ている。情報を伝える経路はひとつではなく、あらゆる経路をとおって目的のサーバーとやりとりをする。

そして、そのさいもカーナビのように、すべての経路を演算することはなく、とりあえず、その時点でいちばんちかいルータに行き、リレー方式で、目的のサーバーにたどりつく。

通信のプロトコルはいろいろあるらしいが、インターネットではTCP/IPが採用されている。

TCP/IPは、たぶん、こうである。

インターネットでやりとりする情報は、細かく仕分けられ、梱包して運ばれる。いちばん最初におくられる梱包の中身には、リクエスト元と宛先の情報、あるいは先方で組み立てるさいの数字も入っているかもしれない。

送られてきた梱包は確実に届いているとはかぎらない。どこかで迷子になっていることもある。そのさいに、また梱包を送ってもらうようにする。そのさいの手順がTCP。あるいは梱包の組み立ての手順もTCPによるかもしれない。

このへんもカーナビと同様、クルマ系、たとえば運送による梱包がイメージしやすい。荷物が届いていないとき、運送屋さんが客先に催促するとか。

ま、いずれにせよ「インターネットはなんだと聞かれたら」おれは「TCP/IPが利用されているネットワーク」とこたえるだろうネ。