OSI参照モデルを徹底解説!TCP/IPとの違いって?
はじめに
- 「OSI参照モデル」は通信規格の統一化を目指して策定されたモデルである
- 国際標準化機構(ISO)という組織が策定した
- OSI参照モデルは通信のやり取りが7階層に細分化されている
- 通信のやり取りは「プロトコル」と呼ばれる各層のルールで制御されている
- 実際に利用されている規格は「TCP/IP」だが、OSI参照モデルの考え方も身に着けよう
OSI参照モデルとは
「OSI(Open System Interconnection)参照モデル」とは、国際標準化機構(ISO)という組織がコンピュータなどで行う通信方法を統一するために策定した規格のことです。なぜ、統一する必要があったのでしょうか。
たとえば、海外に旅行へ行ったら自国とは違った言葉や風習などのルールがあって、戸惑う経験をされた方も中にはいらっしゃるでしょう。しかし、統一されたルールがありそれを知っていれば問題なくやり取りができます。これと同じで、たとえば、通信を行うために必要な機器や製品を手掛けるベンダー(メーカー)がいたとしましょう。企業ごとにそれぞれ独自の通信ルールで機器や製品を販売し利用していたら、異なるベンダー(メーカー)間の機器や製品では通信がうまくやり取りできません。このため、共通した通信規格が必要でした。
この流れにより、国際標準化機構(ISO)という組織が「通信をおこなう際はこのモデルでやり取りをしましょう」と規格を作るに至りました。
OSI参照モデルの階層
ルールづくりのため分けられた7つの階層は、次の図の通りです。各層はたとえば第7層と呼ばず、一般的に「アプリケーション層」や「レイヤ7(なな)」と呼ばれます。
OSI参照モデル | ||
第7層(レイヤ7) | アプリケーション層 | アプリケーションごとの固有の規定 |
第6層(レイヤ6) | プレゼンテーション層 | データの表現形式を規定 |
第5層(レイヤ5) | セッション層 | 通信プログラム間の通信の確立、維持、終了 |
第4層(レイヤ4) | トランスポート層 | ノード間のデータ転送における信頼性の確保 |
第3層(レイヤ3) | ネットワーク層 | ネットワーク間におけるエンドツーエンドの通信 |
第2層(レイヤ2) | データリンク層 | 直接的に接続されたノード間の通信 |
第1層(レイヤ1) | 物理層 | ビット列を電気信号に変換 |
階層の覚え方は、「アプセトネデブ」の語呂合わせがよいでしょう。アプセトネは英語で「動揺」という意味です。
OSI参照モデルとプロトコル
OSI参照モデルでは、ネットワークを7つの階層に分け、各層のルール「プロトコル」に従って通信を行います。ネットワークで通信する際のやり取りは大変複雑で膨大なため、細分化してルールを整理したほうがわかりやすくなります。そのため、OSI参照モデルではルールの階層が7つに分かれているのです。
OSI参照モデル:7つの階層の役割
では、7つに分けられた各階層はどのような役割を担っているのでしょうか。各層ごとに図解をまじえて解説します。
第7層(レイヤ7):アプリケーション層
アプリケーション層は、ユーザとのインターフェースを規定する層です。通信を行うため、アプリケーション(ソフトウェア)ごとの固有のルールが決められています。
第6層(レイヤ6):プレゼンテーション層
プレゼンテーション層は、データの表現形式を規定する層です。文字コードや画像のフォーマットの取り決めもこの層でしています。文字が正しく表示されない、いわゆる「文字化け」が起こるのはこの層で、異なる文字コードでやり取りをした際に発生します。
第5層(レイヤ5):セッション層
セッション層は、セッションの管理をするためのルールを規定する層です。セッションとはアプリケーションによる通信全体を指す用語です。簡単にいうと通信の開始から終了までのことといえます。
第4層(レイヤ4):トランスポート層
トランスポート層は、通信の信頼性を確保するためのルールを規定する層です。データのやり取りをしていて適切に届いているかを宛先に確認するための手順が決められています。
第3層(レイヤ3):ネットワーク層
ネットワーク層は、エンドツーエンドの通信をするためのルールを規定する層です。送信元から隣接するさまざまな機器を経由して本来の宛先にデータを届ける必要があります。その際に利用するのが「IPアドレス」です。この層で規定されたIIPアドレスを使うことで異なるLANへの通信が可能になります。
ネットワーク層についてはネットワーク層とは?OSI参照モデルを図解でわかりやすく解説という記事で詳細に解説していますので参考にしてみてください。
第2層(レイヤ2):データリンク層
データリンク層は、隣接する機器と通信をするためのルールを規定する層です。通信が始まって最初の相手はケーブルなどでつながる通信機器です。この隣接する機器と正しく通信をするために必要なルールが決められています。
データリンク層についてはデータリンク層とは?OSI参照モデルを図解でわかりやすく解説という記事で詳細に解説していますので参考にしてみてください。
第1層(レイヤ1):物理層
物理層は、ビットを正しく送受信するための層です。電気信号や光信号など、物理的な信号を正しく相手側へ届けるために必要なルールが決められています。
物理層について、OSI参照モデルの物理層を分かりやすく解説という記事で詳細に解説していますので参考になさってください。
データの送受信の順番とカプセル化
OSI参照モデルの各層でレイヤ7が上位にあるのは、通信の処理が行われる送信側の処理の順番がレイヤ7からスタートし、レイヤ1で終わるためです。逆に受信側はレイヤ1からスタートし、レイヤ7で処理を終了してデータを受信します。
次項で図を使用して解説します。
送信側の処理とカプセル化
送信側のデータが、レイヤ7からレイヤ1へと処理されていくのは前項で述べた通りです。各層でルール通りに処理されると、処理した情報はヘッダとしてデータの前に付け加えられますが、上位層から順番に処理された情報をヘッダとして下位層へ包んでいくことを「カプセル化」といいます。カプセル化された情報は最終的にレイヤ1で電気信号となって送られ、送信側の作業は完了です。なお、レイヤ2のヘッダでは受信したフレームに誤りがないかをチェックするための「FCSヘッダ」も付け加えられます。
受信側の処理と非カプセル化
送信側とは逆で、受信側ではレイヤ1からレイヤ7へと処理を進めていくことも前項で述べました。送信側から電気信号として送られた情報は、受信側のレイヤ1でビット列に変換されます。受信側で下位層から上位層へと順番に処理する際、ヘッダの情報に間違いがないことを確認した後ヘッダを取り外す作業があり、これを「非カプセル化」といいます。レイヤ7まで到達したとき正しいデータが受信側に受け渡され、データの送受信は完了です。
PDUについて
コンピュータ間の送受信で使用される最小のデータ単位のことを「PDU(Protocol Data Unit)」といいます。PDUは各層のルール(制御情報:ヘッダ)部分とそれ以外の通信データの中身である「ペイロード」からなります。
階層 | PDU | |
レイヤ7 | アプリケーション層 | メッセージ |
レイヤ6 | プレゼンテーション層 | |
レイヤ5 | セッション層 | |
レイヤ4 | トランスポート層 | セグメント |
レイヤ3 | ネットワーク層 | パケット |
レイヤ2 | データリンク層 | フレーム |
レイヤ1 | 物理層 | ビット |
OSI参照モデルとTCP/IP
これまでOSI参照モデルの話をしてきましたが、最近では、通信を行う際にOSI参照モデルよりTCP/IPモデルが多く利用されています。TCP/IPはOSI参照モデルの7階層を4階層で分けています。ではなぜこれまでOSI参照モデルの説明をしたかというと、これには歴史的背景があるためです。OSI参照モデルを作成している間にTCP/IPが広く普及したため、結果としてすでに普及しているTCP/IPがデファクトスタンダード(世界標準)となりました。
TCP/IPは、アメリカ国防総省が軍用コンピュータ網のために作成した通信規格です。これを理解するためにもOSI参照モデルの仕組みを押さえておきましょう。
【OSI参照モデルとTCP/IPの対応表】
OSI参照モデル | TCP/IP |
アプリケーション層 | アプリケーション層 |
プレゼンテーション層 | |
セッション層 | |
トランスポート層 | トランスポート層 |
ネットワーク層 | インターネット層 |
データリンク層 | ネットワークインターフェイス層 |
物理層 |
まとめ
「OSI参照モデル」とは、通信規格の統一化のために国際標準化機構(ISO)という組織が策定した規格のことです。OSI参照モデルは通信のやり取りが7階層に細分化されているのでわかりやすく、通信のやり取りは各層のプロトコル(ルール)で制御されています。送信側から各層のデータはヘッダ情報を付加して下位層へ渡し(カプセル化)、その逆で受信側はヘッダ情報を取り外していき(非カプセル化)データを受け取ります。しかしながら実際に多く利用されている規格は「TCP/IP」です。こちらを理解するためにもOSI参照モデルの考え方を押さえておきましょう。