異なるコンピュータ同士がデータをやり取りする際は,一体どんな仕組みを利用しているのか。プロのITエンジニアならば,当然答えられなくてはならない質問だ。今回はその答えである「OSI基本参照モデル」について解説しよう。

 インターネットのような巨大なネットワークの中で,複数のコンピュータ同士がなぜ相手を識別してデータをやり取りできるのか──。こんな疑問を持ったことはないだろうか。

 その答えを知るガイドとなるのが「OSI基本参照モデル」だ。OSI基本参照モデルは,ネットワーク構造の設計指針である「OSI(Open Systems Interconnection:開放型システム間相互接続)」に基づいて,ネットワークの仕組みを7つの層に分類したものである。

 OSI基本参照モデルは1977年にISO(国際標準化機構)によって制定され,1984年にCCITT(国際電信電話諮問委員会,現ITU-TS)で承認された。制定の目的は,個々の層ごとにプロトコル(通信規約)を標準化して,異なるメーカー間や異機種間の通信を容易にすることである。OSI基本参照モデルの実態は,この「プロトコル」に他ならない(表1)。プロトコルの階層を表した「プロトコル・スタック」も同じだと考えてよい。

表1●OSI基本参照モデルにおける各層の役割
表1●OSI基本参照モデルにおける各層の役割
7つの層は,ネットワークの基盤となる機能を提供する「下位層(第1層~第4層)」と,ネットワークを利用した各種サービスを提供する「上位層(第5層~第7層)」に大きく分類できる
[画像のクリックで拡大表示]

 OSI基本参照モデルは,ネットワークが苦手だと悩んでいるITエンジニアにとって,ネットワークの基本的な仕組みを整理・理解するための学習教材にもなる。今回は,現在インターネットのプロトコルとして主流になっている「TCP/IP」と照らし合わせながら,OSI基本参照モデルの個々の層が持つ機能について説明していこう。

OSI基本参照モデルの7階層

 皆さんが誰かにメールを送ったとしよう。ユーザーが入力したデータは,メールソフト,OS,ネットワークカードの順に伝えられ,通信ケーブルから,ハブ,ルーター,モデムなどを通ってインターネットに送り出される。このように,ネットワークの仕組みは,様々な階層のソフトウエアやハードウエアによって実現されている。この階層を整理したものが,OSI基本参照モデルだ。

 OSI基本参照モデルではネットワークの仕組みを,ユーザーが直接触れる「アプリケーション層(応用層とも呼ぶ)」から,通信ケーブルの中をデータが流れる「物理層」までの7つのに分けている(図1)。個々の層はそれと接する上下の層とだけデータをやり取りする。

図1●ネットワークを介してデータを送受信する仕組み
図1●ネットワークを介してデータを送受信する仕組み
送信したデータは,ネットワーク構造の設計指針であるOSI(Open Systems Interconnection:開放型システム間相互接続)に基づく7つの層(OSI基本参照モデル)を通してやり取りされる。各層ではそれぞれ,通信規約(プロトコル)を定めている
[画像のクリックで拡大表示]

 送信者が送ったデータは,第7層から第1層までを順にたどって通信ケーブルから出ていく。受信者は,通信ケーブルから第1層~第7層を順にたどったデータを受け取ることになる。これが,データのいわば物理的な流れだ。

 ただし,論理的には,送信元と受信先が同じ層のプロトコルでデータをやり取りしていると考えられる(図1の点線)。例えば,アプリケーション層のメールソフトは,互いに取り扱うことが可能な共通のプロトコルを決めているため,ユーザーはあたかもメールソフト同士が直接,通信し合っているように感じるはずだ。

ネットワーク基盤となる下位層

 OSI基本参照モデルの7つの層は,ネットワークの基盤となる機能を提供する「下位層(第1層~第4層)」と,ネットワークを利用した各種サービスを提供する「上位層(第5層~第7層)」に大別できる。下位層から役割と働きを見ていこう。

 最下位の層にあたる物理層の役割は,通信媒体に応じた信号でデータを伝送することにある。信号は,通信媒体が電線なら電気信号,光ケーブルなら光信号,無線なら電波信号が使われる。通信ケーブルやコネクタの規格も,物理層の取り決めに含まれる。ただし「ハードウエアに関する取り決めがすべて物理層で行われる」とは限らない。例えば,イーサネットのネットワークカードは,物理層だけでなく,データリンク層のプロトコルによっても取り決められている。

 データリンク層は,同じ種類の通信媒体で直接つながっているコンピュータ同士がデータを送受信するための取り決めだ。イーサネットのネットワークカードを使ったLANでは,同じハブに接続されたコンピュータ同士が「MACアドレス(ネットワークカードのROMに焼き込まれている番号)」で互いを識別し,「イーサフレーム」と呼ぶデータの固まりを送り合う。このプロトコルが,データリンク層の取り決めである。