異機種コンピュータシステム間でネットワークを通じてデータをやり取りすることを実現化するために、階層化ネットワークモデルであるOSI参照モデルが採用されている。このOSI参照モデルでは分割して統治するという方式を用いており、ひとつの課題をより小さくて自己完結的な7つの課題に分割する。7つの課題に対処するソリューションは、OSI参照モデル内に階層という形で実現される。このような階層化方式はベンダの実装形態がどうあるべきかという規定ではない。単なる特定の製品を開発するためにベンダが利用するフレームワークであり、OSI参照モデルに基づいて開発された標準やプロトコルに準拠するわけである。
通信を実現するため、送信時には情報がスタックを降下し、受信時にはスタックを上昇する。このようにネットワーク機能スタック内で分割されていると、次のような利点が生まれる。
あるシステムに属する各階層では、それ自身の階層プロトコルを使って、別のシステムの同等の階層(ピア階層という)と通信を行う。このときピア階層は、PDUをやり取りして通信する。これがピアツーピア通信である。
このときPDUは階層によって異なる。
トランスポート層 | セグメント |
ネットワーク層 | パケット |
データリンク層 | フレーム |
物理層 | ビット |
これら以外の階層のPDUは一般にデータと呼ばれる。
OSI参照モデルの階層化は、ピア同士の直接の通信を禁じている。物理層でさえ、直接に通信することはできない。必ずネットワークを経由する必要がある。
OSI7層構造モデルとは、ISO(International Standard Organization:国際標準化機構)と呼ばれる組織が提唱しているOSI(Open System Interconnection:開放型システム間相互接続)のことである。プロトコル4階層を細かくしたものである。
通信を行うにあたって「こういった方法を取るのが理想的ですよ」という提案である。提案なので、守らなければならないという制約もない。実際に昔のコンピュータの通信ではこのプロトコル7階層からはずれた、独自のプロトコルを実装したものもある。
OSI参照モデルでは、次のようにプロトコルを7層に階層化し、それぞれの層が上位の層に提供するサービス機能を定義している。1から4までを下位層といい、5から7までを上位層という。
レイヤ番号 | レイヤ名 | 概要 | ネットワーク機器 | プロトコル |
7 | アプリケーション層(Application Layer) | ・ユーザーに対するサービスが実行される層 ・業務に依存した処理 | ・FTP ・TLENET | |
6 | プレゼンテーション層(Presentation Layer) | ・OSで異なるアプリケーションのデータ表現形式の差異を吸収 ・データ表現方法の取り決め(使用する文字コードなど) ・使用されるデータ形式と変換を実行し、アプリケーションで取り扱える形式のデータにする。 ・データ暗号化と復号化を実行し、第三者によるデータの盗聴や改竄を防止する。 ・データ圧縮を実行し、チャンネル(システム上の1通信パス)の使用効率を最適化する。 | ||
5 | セッション層(Session Layer) | ・アプリケーション間のセッション定義、双方向同時・双方向交互・単方向 ・業務を開始/終了するための取り決め ・セッションは2つまたはそれ以上のシステムのプレゼンテーション層の対話により成立する。 ・アプリケーション層、プレゼンテーション層、セッション層はアプリケーション層同士がデータを共有し、簡単に通信を行うための標準化を担当する階層のこと。これらの階層ではデータを目的地に送り届ける処理は行われない。 | ・NFS ・SQL ・RPC | |
4 | トランスポート層(Transport Layer) | ・上位層と下位層の中間に位置する。 ・上位層に対してエンドツーエンドのデータ転送サービスを提供。 ・上位アプリケーションをセグメント化する。 ・エンドホストから相手のエンドホストへセグメントを送信する。 ・エラー検出と訂正を定義して、信頼性の高いデータ転送を保証する。 ・アプリケーション同士の電文の送受信 | ・ゲートウェイ | ・TCP ・UDP ・NetBEUI ・SPX |
3 | ネットワーク層(Network Layer) | ・ネットワークへの接続を定義、コネクション型・コネクションレス型 ・コンピュータ同士の電文の送受信 | ・ルーター ・レイヤ3スイッチ | ・IP ・IPX ・ICMP |
2 | データリンク層(Data Link Layer) | ・物理的伝送媒体を通じ信頼性あるデータ配送、エラー検出・フロー制御 ・隣接したノードに1ビットを転送する | ・スイッチングハブ ・ブリッジ | ・PPP ・PPPoE ・CSMA/CD方式 ・トークンバッシング方式 ・HDLC手順 |
1 | 物理層(Physical Layer) | ・ネットワーク伝送媒体の物理的な特性を定義 ・伝送路の物理特性(ハードウェア依存) | ・リピーターハブ ・リピーター ・DCE(Data Circuit Terminating Equipment:データ回線終端装置) |
最も上部の層に位置するアプリケーション層は、コンピュータを操作するユーザが使用するアプリケーション(サービス)と下の層の橋渡しをするものである。
例えば、アプリケーション層の働きによって、FTPの情報は相手のFTPに、TELNETの情報は相手のTELNETに間違えなく引き渡される。
例えば、「こんにちは」という情報はデジタル信号に変換する必要がある。ここでは、その変換(逆の変換もある)が行われる。
プレゼンテーション層で符号化されたデータを相手に送信する機能を持っている。また互いの通信の終了などもセッション層で管理している。
OSI参照モデルの7階層モデルの第7層から第5階層まではTCP/IPのプロトコルの4階層モデルの第1階層と対応している。
トランスポート層は、通信を行う両者の間でポートの情報交換を管理することとデータ転送の方法を決める。
このトランスポート層にはTCPとUDPという機能の異なる2つの通信プロトコルがある。この2つのプロトコルはデータの信頼性と速度面で互いに使われ方が違う。
アプリケーションの送受信のセグメントの追跡と管理をポート番号を使って行う。送信元アプリケーションと宛先アプリケーションはあらかじめ決められているポート番号を使うので、送信元システムと宛先システムのトランスポート層は、適切な上位層アプリケーションにセグメントを送受信することができる。
トランスポートの役目として、送信元システムと宛先システムの間に、エンドツーエンド接続を確立することも挙げられる。エンドツーエンド接続を確立するために、トランスポート層は一連のハンドシェイク、つまり一方のシステムから他方のシステムに要求を送って接続を確立する手続きを行う。ハンドシェイクはシステム間の接続を確立する過程で実行され、同期や接続のパラメータを調整する。
さらにトランスポートの役目として、接続の確立とシステム間のデータ転送を開始した後で提供される。トランスポート層は、システム間でセグメントを送信し、すべてのセグメントが宛先に到達したことをチェックする。なぜそういう仕組みがあるのかというと、システム間で転送するデータは破棄されてしまうことがありえるからである。一番多い原因は輻輳である。コンピュータによって生成されたトラフィックがネットワークの転送能力を超えてしまいと、輻輳が発生する。また複数のコンピュータから同一の宛先やゲートウェイの転送能力を超えたときにも、輻輳が発生する。
トランスポート層は輻輳を制御するためにフロー制御を行う。フロー制御とは送信側システムのデータ送信を受信側システムのデータ処理能力に合わせて調整するメカニズムである。トランスポート層は3つのフロー制御方式を使用できる。
フロー制御方式の一種。各システムには情報のバッファリングに使える一定量のメモリが確保されている。受信側システムのトランスポート層は十分なバッファがあることを確認し、処理能力を超える帯域幅でデータを転送しないように調整する。受信側システムのバッファが足りなくなった場合は、バッファ内のデータが処理されるまで、データ転送を一時的に停止するためにnot readyメッセージが送信側システムに送信される。バッファ内のデータ処理が終わったら、受信側システムからreadyメッセージが送信側システムに送られる。
パケットの中のアドレスにより、さらに届け先を限定する。これを担当する通信プロトコルがIPである。
また、送信する情報は、実際には複数のパケットに分割されて送信される。通信によってはパケットのひとつが欠けたり、消失してしまう可能性がある。それでは何のデータだかわからなくてエラーが起こってしまう。これを防ぐために、それらの細分化されたデータのひとつひとつを管理し、データが抜け落ちていないか監視し、もし抜けがあった場合には相手のネットワーク層に連絡して抜けていた情報の再送信するように依頼するなどの機能を持つ。これを担当する通信プロトコルをICMPである。
第3層のネットワーク層では、相手のアドレスが明確になる。しかし実際にネットワークは1対1で接続されているわけではない。そこで最終的にデータリンク層で届け先を限定する。これを実現する通信プロトコルとして、Ethernet、PPP、トークンリングなどがある。
物理層では、データリンク層から渡されたデジタル信号を実際に伝送するための電気信号に変換したり、届いた電気信号に変換したりする層である。ここでは10BASE,100BASEやISDN,アナログ電話などのケーブルの規格などが当てはまる。