TCP/IPにともに広く普及したイーサネット。そのイーサネットの規格と、基本的な通信モデルのCSMA/CDアクセス制御方式について解説。
今回からTCP/IPプロトコルの詳細な解説を行っていく。TCP/IPのネットワーク・プロトコルは基本的には4階層に分かれており、その最下層に位置するネットワーク・インターフェイス層のプロトコルでは、イーサネットというネットワーク・システムが広く普及している。イーサネット自体はTCP/IPプロトコルで規定されているものではないが、TCP/IPはイーサネットとともに発展・普及してきたし、イーサネットの知識なしにTCP/IPを理解することも困難なほどこの2つは強く結びついている。今回から3回に渡ってイーサネットについて取り上げ、その詳細について見ていくことにする。
TCP/IPを利用するアプリケーションがデータを送信するとき、データはTCP/IPの階層を下層の方に向かって順に転送され、最終的にネットワーク媒体に向けて、電磁気的な信号として送出される。TCP/IPの各層がデータを転送するとき、送信データが宛先となるアプリケーションに到達できるように、さまざまな情報をデータに追加していく。データの先頭に追加する情報を「ヘッダ(header)」と呼び、末尾に付ける情報を「トレーラ(trailer)」と呼ぶ。
アプリケーションがトランスポート層のプロトコルとしてTCPを利用して通信する場合、送信するべきデータをTCP層に渡す。するとTCP層ではデータにTCPヘッダを追加して「TCPセグメント」というデータの集まりに加工し、それをIP層に転送する。IP層ではTCPセグメントにIPヘッダを追加して「IPデータグラム」に加工し、ネットワーク インターフェイスに転送する。ネットワーク インターフェイスにはさまざまなものがあるが、今回取り上げるイーサネットの場合は、IPデータグラムにヘッダとトレーラを追加して「イーサネット フレーム」に加工し、信号に変換してからネットワーク媒体に送出し、宛先のノードに転送する。なお、ここではデータの集まりを「セグメント」とか「データグラム」、「フレーム」などとさまざまな呼び方をしているが(「パケット」という用語も総称としてよく使われる)、これはTCP/IPの各層における一般的な呼び方なので、このまま覚えておくとよいだろう。
このように上位層のデータを下位層の情報で包み込むことを「カプセル化(encapsulation)」と呼ぶ。カプセル化されたデータを受け取った宛先のノードは、カプセル化とは逆の手順、つまりヘッダやトレーラの情報をもとに各層でデータを取り出し上位層に転送していき、最終的には宛先となっているアプリケーションにデータが転送されるのである。
各層では、同時に複数の上位プロトコルを扱うことができるため、カプセル化の処理では、上位層のどのプロトコルのデータを転送しているのかという情報がヘッダに含まれている。例えば、トランスポート層のプロトコルにはTCPの他にUDPもあるので、IPデータグラムではTCPセグメントのほかにUDPデータグラム(UDPはアプリケーションデータにUDPヘッダを追加し、UDPデータグラムに加工する)も転送する可能性がある(ほかにも何種類かある)。宛先ノードのIP処理モジュールでは、転送されてきたIPデータグラムから上位層のデータを取り出した後で、データをTCPとUDP、もしくはそれ以外のどのプロトコル処理モジュールに転送すればよいのかを、IPヘッダ中に記録された情報から判断する。
このように単一のプロトコルが任意の上位プロトコルを格納して転送できるようにすることを「多重化(multiplexing)」と呼び、多重化されたデータから選別して上位層のプロトコルに転送することを「多重分離(demultiplexing)」とよぶ。
カプセル化や多重化/多重分離によって、各プロトコルは、配送するデータ(上位プロトコル)が何であれ、同じ処理を行うことができる。つまり各層はそれぞれが独立しているのである。今回取り上げるイーサネットも、TCP/IPの階層構造で見ると、ネットワーク・インターフェイス層に位置付けられるプロトコルであるが、これはTCP/IPだけを配送するためだけのものではなく、さまざまなデータやプロトコルを配送できる汎用的なネットワーク・システムである。逆に、TCP/IPはその配送システムとして、イーサネット以外のネットワーク・システムを利用することもできるわけである。
Copyright© Digital Advantage Corp. All Rights Reserved.