データ伝送web講座

9. 通信プロトコル

line

9.1. プロトコルの階層化

9.1.(1) 複雑化するプロトコル

◆ プロトコルの概念については、コラム 3.5 で説明しました。最近のプロトコルは、ますます、複雑化する傾向にあり、多くの内容を含んでいます。
プロトコル は、ハードウェアで実行される部分と、ソフトウェアで分担する部分とに分かれます。
複雑、大規模なプロトコルにおいては、そのソフトウェア部分が、一括して、ベタに書かれていると、分かり難く、使い難くなります。
◆ 複雑な、プロトコルのソフトウェア部分は、その内容によって分類し、各分類項目ごとに、分担して実行するようにすると、分かりやすく、使いやすくなります。

9.1.(2) 通信を小包にたとえる

9.1.(2-A) 通信と小包との類似性

◆ プロトコルは、とかく、理解し難い存在です。分かりやすく説明するために、通信を、小包 に、たとえて、説明します。物を送るのが小包で、データを送るのが通信ですから、適切な たとえ と言えるでしょう(図.1)。

[図.1] 通信を小包にたとえる

通信を小包にたとえる

◆ 図から分かるように、プロトコルは、小包の包装に、たとえられます。そして、小包の中身がデータです。小包を送るとき、中身を、むき出しで送ることは、できません。同様に、データもデータだけ送るわけには、行きません。

9.1.(2-B) 通信と小包の違い

◆ 勿論、通信と小包とで、異なる点もあります。第一に、データをやり取りする相互間で、プロトコルが互いに、等しくなければ、ならないことです。
送り側から送ったデータを、受け側では受け取ります。この意味での違いは、当然あります。しかし、これは、プロトコルの性質であり、プロトコルの違いでは、ありません。
◆ プロトコルが、互いに等しいということは、互いに、相手から送られてきた情報を、正しく認識できる、ということです。送り側と、受け側とで、プロトコルが異なるということは、やり取りをすることが、できないことを意味します(図.2)。

[図.2] プロトコルが等しくなければならない

プロトコルが等しくなければならない

◆ 極端な例ですが、ハードウェアレベルのプロトコルで、0 か 1 かの信号レベルが異なれば、0 と 1 との識別もできません。物理的信号レベルが互いに等しくて、1 と 0 とを識別できたとしても、文字コードが異なれば、やり取りはできません。
◆ 小包では、包装がしっかりしていれば、十分であり、包装のやり方が異なっていても、上記のプロトコルのような問題は、起こりません。この、小包と、プロトコルとの違いは、本物の小包には無い、次の性質を、小包に付け加えることによって、うまく、たとえ にすることができます。
「小包の包装のやり方に、多数の、細かな規約があり、受け取り側で、この規約をチェックして、1 個所でも規約に合致しない点があると、受け取りを拒否する」 ということです。

9.1.(3) プロトコル変換

9.1.(3-A) プロトコルには多数の種類がある

◆ 世の中で使われているプロトコルの種類が、1 つだけか、または少なければ、プロトコルが等しくなければならないということは、余り問題にはなりません。しかし、実際には、使われているプロトコルの種類は、多いのです。とくに以前は、似たようなものが、多数ありました。
◆ 最近は、似たものは整理されています。その代わり、インターフェースが多様化しています。ただし、インターフェースの種類が、たとえば、USBモデムのように、異なれば、互いにやり取りすることはありません。プロトコルが異なっていても、問題は起こりません。

9.1.(3-B) プロトコル変換とその種類

◆ プロトコルが異なるもの相互が、やり取りするためには、中間で、プロトコル変換を、行う必要があります(図.3)。

[図.3] 間にプロトコル変換装置を入れる

間にプロトコル変換装置を入れる

◆ プロトコル変換 には、図.3 に示したものの他に、図.4に示す、もう 1 つのタイプがあります。

[図.4] もう 1 つのタイプのプロトコル変換

もう 1 つのタイプのプロトコル変換

◆ 図.3 の方式は、包装を解いて、一旦、データをとり出してから、別の包装に取り替えます。
これに対して、図.4 のやり方は、包装を解かずに、2 重包装にします。このことから、図.3 の方式を、取り替え形 図.4 のやり方を、包み込み形 と呼ぶことにします。

9.1.(3-C) 内容によるプロとトコルの分担

◆ なお、図.3図.4 を、プロトコル変換ということで、説明しましたが、図.3 図.4 は、プロトコル変換ではなく、異なる 2 つのプロトコルを、それそれで、分担して実行するときにも、適用できます(9.1.(1)参照)。実際には、プロトコル変換ではなく、内容を分担することに、使用する方が、ほとんどです。
図.3図.4 のやり方は、そのプロトコルを実行する場所によって、どちらか一方しか使えないときもありますが、どちらも使用可能なところもあります。この場合、図.4 の方式、すなわち、包み込み方が、使いやすいので、包み込み形が多く使用されています。とくに、ハードウェア、ないしはハードウェア寄りのプロトコルは、必然的に、包み込み形になります。
◆ 実例として、パソコン間で、HDLC を使用し、モデムで変調して、電話回線で、データのやり取りをする場合を、図.5 に示します。

[図.5] HDLC とモデムによる伝送の例

構成 プロトコル

◆ ごく、簡単な例ですが、それでも 3 重包装になっています。

9.1.(4) プロトコルの階層構造

9.1.(4-A) 階層化された構造

◆ プロトコルが、包み込み形の構造体系になっているとき、プロトコルが、階層化されている といいます。階層は、包み込みの中側ほど高く、外側が低い階層です(図.6)。なお、厳密には、単に包み込み形になっているということだけでなく、下記に示す、各階層の独立性を、満たしている必要があります。

[図.6] プロトコルの階層

プロトコルの階層

◆ 階層化されたプロトコルでは、信号は、送信側の、最高の階層から出発して、送信側を順に、下位に下り、最低の階層で受信側に移ります。受信側では、逆に、最低の階層から、順に上位に移ります(図.5 の矢印つき実線)。
◆ このとき、互いに同位の階層同士で、プロトコルを実行します(図.5 の点線)。プロトコルを実行するとき、自分よりも、上位のプロトコルについては、何も知る必要はありません。自分よりも上位のプロトコルは、自分とっては、単なるデータです。
逆にいうと、上記のように、なるように、プロところが作られいる必要があります。この条件は、各階層のプロトコルが、互いに他の階層と、独立であるということです。

9.1.(4-B) 階層化プロトコルの例

◆ 以上から、推定されるように、階層化され、しかもその階層数が多いプロトコルは、大規模な、インターネットワーク用のプロトコルです。
その代表例は、TCP/IP です。TCP/IP は、コラムの図に示すように、ネットワーク層以下と、それより上位とでは、プロトコルの構造が異なっています。
TCP/IP については、9.3. で説明する予定です。
◆ もう 1 つの例が、OSI です。OSI は、国際標準機構の ISOCCITT とが標準化しているプロトコルです。OSI は、9.2. で解説する予定です。



目次に戻る   前に戻る   次に進む