通信プロトコルとはネットワークにつながる機器同士がデータをやりとりするための約束事である。送信側と受信側でどのような形式でデータを表現し、どのような意味を持たせるのか、どんな順番で送るのかなどを定めている。
通信プロトコルの役割は人間同士の情報のやりとりで考えると分かりやすい。例えば誰かとチャットで情報を交換するとしよう。スマートフォンのスリープを解除し、チャットツールを起動してメッセージを送る手順になる(図1-1)。このとき共通のチャットツールを利用していなければメッセージは伝えられない。伝える内容もお互いに理解できる言語で記述する必要がある。このように情報の送り手と受け手が共通の約束事を守ることにより、情報交換が可能になる。
コンピューターネットワークの世界も同じだ。パソコンでWebサイトを閲覧する、メールを送受信するといった通信を実行するには、データを正しくやりとりするための約束事がいくつもある。この約束事が通信プロトコルである。
変更の影響範囲を限定
通信プロトコルは機能ごとに階層(レイヤー)に分けられ、各レイヤーに属するプロトコルは他のレイヤーから独立している。例えばインターネット通信で使われるプロトコルは、4つのレイヤーから成る(図1-2)。これはIETF▼のRFC▼ 1122で規定されている▼。
プロトコルをレイヤーに分けるメリットは、あるレイヤーのプロトコルに変更があっても、他のレイヤーに影響が及ばないことだ。
例えばインターネット層のプロトコルであるIP▼には、IPv4とIPv6がある。両者に相互運用性はないので、それぞれ別々に使われている。しかしアプリケーション層からは利用するIPの種類を意識せずに済む。インターネット層のプロトコルを変更してもアプリケーション層のプロトコルには影響しないからだ。







