株式会社わくわくスタディワールド

株式会社わくわくスタディワールド

ネットワークの基本(2):プロトコル

わく☆すた,美月です。
今日は,情報通信の世界でよく使われる言葉,「プロトコル」についてのお話です。
ネットワークやインターネットを理解するには,この「プロトコル」の理解が欠かせません。
プロトコル,という言葉は,Wikipediaによると,次のようになっています。

プロトコル(protocol、プロトコールとも)とは、複数の者が対象となる事項を確実に実行するための手順等について定めたもの。日本語では、場合に応じて規定、議定書、儀典などと訳される。

なんとなく難しそうですが,元々は,貿易用語の「プロトコル」。2つの国の間での約束事を,きちんと文書にして取り交わす「議定書」が語源です。分子生物学でも,実験の手順とか試薬の分量,条件などを細かく決めたものをプロトコルと呼びます。
インターネットやネットワークでの「プロトコル」は,コンピュータとコンピュータがネットワークを利用して通信する時に使われる「約束事」です。始めに,「Hello」ってパケットを送って,それには,「+OK」と返事をする,など,通信のやり方が細かく決められています。人間同士の間でも,コミュニケーションをとるためには約束事(プロトコル)を決めておく必要がありますが,コンピュータは融通がきかないので,さらに厳密にきっちり決めておく必要があります。
プロトコルは,人間の「会話」によく例えられます。
例えば,日本人の野田さんと,ロシア人のターニャさんが,話をすることを考えます。野田さんは,日本語が母国語,ターニャさんはロシア語が母国語なので,そのままでは話をすることができません。意思疎通をしたいので,野田さんとターニャさんは,それぞれフランス語を勉強します。そうすると2人は,フランス語で会話ができるようになります。
この時の「日本語」「ロシア語」「フランス語」がプロトコルです。2人が違うプロトコルしか知らないと会話はできませんが,共通のプロトコル「フランス語」を身につけることによって,会話ができるようになります。
コンピュータとコンピュータが,ネットワーク上で通信をする場合も,ほとんど同じです。IBMのコンピュータがIBM専用のプロトコルを使っていて,富士通のコンピュータが富士通専用のプロトコルを使っていたら,お互いに通信はできません。そこで,TCP/IPなどの共通のプロトコルを使うと,お互いに通信することができるのです。
もう1つ,プロトコルで大事なのは,「プロトコルの階層化」です。プロトコルの階層化は,ソフトウェア開発の時のモジュール化に似ていて,独立した機能を複数のプロトコルに分離します。
例えば,先ほどの会話を,「携帯電話」で行う場合を考えてみます。
野田さんとターニャさんが携帯電話で会話をするときのプロトコルを図にしてみると,下のような感じです。

20090604cocolog_oekaki_2009_06_04_11_17
野田さんとターニャさんは,携帯電話を通じて話をします。ですので,原始人の目から見ると,野田さんはターニャさんではなく,携帯電話に話しかけているように見えます。でも,この携帯電話に話しかけるのはインタフェースで,話しかけられた野田さんの携帯電話が,携帯電話のプロトコル(CS-ACELPなど)を利用して,ターニャさんの携帯電話に音声を送ります。携帯電話が音を出すことで,ターニャさんは内容を理解することができます。このときには,携帯電話で話すということに2つのプロトコル「フランス語」「携帯電話のプロトコル」が関係し,階層になっています。これがプロトコルの「階層化」です。
階層化すると,いろんなメリットがあります。2つのプロトコルはそれぞれ,独立して取り替え可能です。会話のプロトコルを「フランス語」から「英語」に変更してもいいですし,携帯電話をSkypeに変えてもOKです。片方を変更しても,もう片方には影響を受けません。プロトコルを階層化することで,変更に強いネットワークシステムができます。OSI7階層は,通信に必要な機能を,7つの階層に分けたものですので,各層は,大体独立して取り替え可能です。
ネットワークを理解するには,「何のプロトコルを使っているか」「どこの階層のプロトコルを使っているのか」というのは,とても大切です。ぜひ,プロトコルを意識しながら,ネットワークの勉強をしてみてください。