OSI参照モデル
ネットワークを理解するための基礎となる「OSI参照モデル」について解説します。
OSI参照モデルとは、プロトコルの階層とその役割を明確化したものです。
具体的には、以下の表になります。
階層 | 階層名 | 役割 |
レイヤ7 | アプリケーション層 | アプリケーションの動作を規定し、サービスを提供する |
レイヤ6 | プレゼンテーション層 | アプリケーションに送受されるデータフォーマットを補正し、交換する |
レイヤ5 | セッション層 | セッションの確立や切断をする |
レイヤ4 | トランスポート層 | データ通信を管理し、通信の信頼性を確保する |
レイヤ3 | ネットワーク層 | 異なるネットワーク間でのデータ通信を実現する |
レイヤ2 | データリンク層 | 同一ネットワーク内でのデータ通信を実現する |
レイヤ1 | 物理層 | 物理的な接続方法を規定する |
全体イメージ
各階層の具体的な役割については後に説明しますので、まずは大まかなイメージを掴みましょう。
レイヤ1 → 物理的な接続
レイヤ2 → 機器間のデータ通信の実現
レイヤ3 → ネットワーク間のデータ通信の実現
レイヤ4 → 通信の信頼性を確保
レイヤ5 → 機器間でのセッションの管理
レイヤ6 → データ形式の統一
レイヤ7 → サービスの提供
上記のようなイメージで、サービスの提供までの通信が成り立っています。
それでは、各階層の役割について説明していきます。
各階層について
レイヤ1「物理層」
レイヤ1である物理層の役割は、「物理的な接続方法の規定」です。
物理層の目的:機器とケーブルを接続し、電気信号を相互に変換すること
そのために、ケーブル種別やコネクタの形状などの物理的な要件を規定しています。
「通信における物理的な要件=物理層」という認識でOKです。
レイヤ2「データリンク層」
レイヤ2であるデータリンク層の役割は、「同一ネットワーク内での通信の実現」です。
データリンク層の目的:同一ネットワーク内での通信を確立し、送信元や宛先を明確化すること
そのために、「MACアドレス」を用いて通信を識別します。
機器固有であるMACアドレスの情報を通信パケットに付加することで、通信における送信元と宛先を明確化しています。
「MACアドレスによる通信=データリンク層」という認識でOKです。
レイヤ3「ネットワーク層」
レイヤ3であるネットワーク層の役割は、「異なるネットワーク間での通信の実現」です。
ネットワーク層の目的:異なるネットワーク間での通信を確立し、送信元や宛先を明確化すること
そのために、「IPアドレス」を用いて通信を識別します。
IPアドレスの情報を通信パケットに付加することで、通信における送信元と宛先を明確化します。
また、IPアドレスを用いることで、「ルーティング」の技術を使うことができます。
ルーティングにより、異なるネットワーク間での通信を実現することができます。
「IPアドレスによる通信=ネットワーク層」という認識でOKです。
レイヤ4「トランスポート層」
レイヤ4であるトランスポート層の役割は、「データ通信の管理、信頼性の確保」です。
トランスポート層の目的:アプリケーション間でのデータ通信を実現すること
そのために、「TCP(Transmission Control Protocol)」というプロトコルを用いて信頼性を確保します。
TCPコネクション(仮想的な専用通信路)の確立、エラー検出・訂正と再送制御、データ順序の制御、輻輳制御など、様々な機能があります。
TCPコネクションは、「スリーウェイハンドシェイク」によって確立されます。
また、TCPではなく「UDP(User Datagram Protocol)」というプロトコルを用いることで、信頼性確保のための動作をあえて実施せず、通信効率やデータ伝送速度の向上を図ることもできます。
トランスポート層には様々なプロトコルがあり、「ポート番号」が定められています。
そのポート番号により、どのような通信をするのかを取り決めています。
「ポート番号による通信の識別=トランスポート層」という認識でOKです。
レイヤ5「セッション層」
レイヤ5であるセッション層の役割は、「連続する対話的な通信の開始や終了、同一性の維持などの管理」です。
セッション層の目的:セッションの確立・維持・切断をすること
そのために、通信の開始から終了までのルールを取り決める役割を担っています。
このパケットが届いたら通信開始だからセッションを張って、このパケットが届いたら通信完了だからセッションを切っていい、というような動作の取り決めです。
「セッションの確立/維持/切断=セッション層」という認識でOKです。
レイヤ6「プレゼンテーション層」
レイヤ6であるプレゼンテーション層の役割は、「適切な形式のデータフォーマットへの変換」です。
プレゼンテーション層の目的:アプリケーション間での適切なデータ通信を実現すること
そのために、アプリケーション間でやり取りされるデータ通信における形式の違いなどを補正します。
具体的には、通信に用いられるデータの暗号化や圧縮、ファイル形式やデータ形式、文字コードの定義や形式間の変換などが挙げられます。
「通信における形式の変換=プレゼンテーション層」という認識でOKです。
レイヤ7「アプリケーション層」
レイヤ7であるアプリケーション層の役割は、「アプリケーション動作の規定、サービスの提供」です。
アプリケーション層の目的:サービスにおける機能の利用を実現すること
そのために、仕様や通信手順、データ形式などを定めており、 利用者から入力されたデータを相手方へ送信したり、受信したデータを利用者に提示したり、という役割を担っている。
「サービスの提供=アプリケーション層」という認識でOKです。
コメント