プロトコルがわかりにくい原因の一つに、『「プロトコル」という言葉を「プロトコル実装ソフトウェア」を指す場合にも用いている』という現状があると思います。
「プロトコル」とは何かを調べると「コンピュータ同士が通信を行なう上で、相互に決められた約束事の集合」などと説明されています。
そして、TCP/IPでは、データをパケットに分けて … 、と決まりきったいつもの説明があります。
私がプロトコルでもやもやしていた時はいつも次のように思っていました。
「それら一つ一つの細かい約束事は分かったけど、約束事を決めただけでは通信も何もできないんじゃないの?」
「上位のプロトコルは下位のプロトコルを使うっていうけど、約束事が約束事を使うっておかしくない?」
よくあるプロトコルの説明では、プロトコル(約束事)の説明に終始していて、それを実装(実現)したソフトウェアについて言及していません。
プロトコル自体は単なるルールであってそれだけでは何の役にも立ちません。そのルールの手順どおりに処理を行うソフトウェアがあって初めて意味を持ちます。
「上位のプロトコルは下位のプロトコルを使う」といった場合、実際には「上位のプロトコル実装ソフトウェアは下位のプロトコル実装ソフトウェアを使う」ということを言っています。
また、おなじみのWindowsのネットワーク設定画面(マイネットワークのプロパティ→ローカルエリア接続のプロパティ)でもインターネットプロトコル(TCP/IP)の下にインストールボタンがありますが、プロトコル(約束事)をインストールできるはずもなく、実際にはインターネットプロトコル(TCP/IP)実装ソフトウェアとでも表示すべきでしょう。
IEなどのブラウザ(ソフトウェア)はHTTPというルールの手順にしたがってWebページを取得・表示するとき、Windowsに内臓されたこのインターネットプロトコル(TCP/IP)実装ソフトウェアを使用しているわけです。
このように、「プロトコル」という言葉を「プロトコル実装ソフトウェア」に置き換えてみることで非常にすっきりと理解できました。
|
|