更新履歴
- 【Git】複数のコミットを一つにまとめる|squash/fixupで履歴を整える
- ダックタイピングとは?「アヒルのように鳴くならアヒル」をわかりやすく解説
- crontabファイルの場所はどこ?OS別の保存先パスと確認・編集方法を徹底解説
- 【pytest】特定のテストだけを実行する方法!ファイル・クラス・関数ごとに解説
- TeraTermのセッションが勝手に切れる原因と対策|タイムアウトを防ぐ設定ガイド
- WinMergeをインストール不要で使う!ポータブル版の導入手順とメリットを解説
- 【完全ガイド】WinMergeでバイナリ比較をする方法
- SwaggerとOpenAPIの違いを徹底解説!仕様とツールの関係性を理解する
- 【Python】ファイル存在チェックの実装方法(pathlib、os.path)
- Pythonで文字列を除去する方法を完全解説!strip・replace・正規表現
- スタック領域とヒープ領域の違いとは?メモリ管理から使い分けまで徹底解説
- Python Docstringの書き方完全ガイド|主要スタイルの比較と保守性を高める記述
- シングルトン(Singleton)デザインパターンを徹底解説!Java実装例・メリット・デメリット
- サインインとログインの違いとは?意味・使い分けをわかりやすく解説
- 静的サイトと動的サイトの違いを徹底比較!メリット・デメリットと選び方を解説
- モノリスとマイクロサービスの違いを比較|メリット・デメリットと選定基準
- RESTとSOAPの違いを徹底比較!特徴・メリット・使い分けを解説
- 同期・非同期とブロッキング・ノンブロッキングの違い|4つの概念を徹底比較
- マルチプロセスとマルチスレッドの違いを解説!メリット・デメリット・使い分け
- hostsファイルとDNSの違いとは?優先順位・仕組み・使い分けを解説
お役立ちツール
基本情報の勉強にお勧めの本
ネットワーク通信の基本である「OSI参照モデル(OSI 7階層)」は、基本情報技術者試験や実務において非常に重要な概念です。
1970〜80年代、各ベンダーが独自の通信プロトコルを使用していたため、異なるメーカーの機器同士では通信できない「ネットワークの孤島化」が起きていました。これを解決するために、国際標準化機構(ISO)が1984年に策定した、通信機能を整理するための**概念モデル(参照モデル)**がOSI参照モデルです。
※実際の通信はTCP/IPなどのプロトコルによって実現されています。
[!IMPORTANT] この記事のポイント
- 7つの階層: ネットワーク機能を7層に分けて標準化したモデル
- 定番の覚え方: 上から「アプセトネデブ」で一発暗記
- 試験対策: 各層の「役割」「データ単位」「対応機器」のセット理解が重要
OSI参照モデルとは
コンピューターが通信するために必要な機能を7つの階層(レイヤー)に分けたモデルです。OSI参照モデルはあくまで通信機能を整理するための理論モデルであり、実際のインターネット通信はTCP/IPモデルに基づいて実装されています。
なぜ「階層」に分けるのか?
通信のプロセスをバラバラに分解することで、以下のメリットが生まれます。
- 互換性の確保: 異なるメーカー同士でも通信できるようにするための共通の設計指針(参照モデル) を提供する。
- トラブルシューティングの容易化: 「Webが見られないのはL1(ケーブル抜け)の問題か、L3(ルーティングの問題)か、L7(Webサーバーの問題)か」といった切り分けができる。
- 分業・開発効率の向上: 物理層(ケーブル)の進化が、アプリケーション層(ブラウザ)の設計に影響を与えずに済む。
7層からなるOSI参照モデルとデータ単位
基本情報技術者試験では、各階層の名称だけでなく、やり取りされるデータの塊(PDU:Protocol Data Unit)の名称も問われます。
| 階層 | 名称 | データの単位 (PDU) | 役割の要約 |
|---|---|---|---|
| 第7層 | アプリケーション層 | メッセージ・データ | ユーザーとアプリのインターフェース。 |
| 第6層 | プレゼンテーション層 | メッセージ・データ | データの形式(暗号化、文字コード、圧縮)。 |
| 第5層 | セッション層 | メッセージ・データ | 通信セッション(開始から終了)を管理。 |
| 第4層 | トランスポート層 | セグメント(TCP)/データグラム(UDP) | 確実にデータを届ける(エラー訂正、分割)。 |
| 第3層 | ネットワーク層 | パケット | 宛先のネットワーク(IP)へ中継。 |
| 第2層 | データリンク層 | フレーム | 隣接するノード間の通信(MACアドレス)。 |
| 第1層 | 物理層 | ビット | 電気信号・光信号などの物理的なやり取り。 |
[!TIP] ざっくりしたイメージ
上位層(5~7層)は「対話の内容・アプリの仕様」、 下位層(1~3層)は「データの伝送・経路制御」、 トランスポート層(4層)は「通信の信頼性や制御(再送・順序制御など)」を担う層と理解すると整理しやすくなります。
カプセル化と非カプセル化
通信を行う際、データは階層を通るたびに「ヘッダ(制御情報)」という封筒に入れられます。
- カプセル化(送信時): 上の層から下の層へデータが降りていく際、各層が自分の封筒(ヘッダ)をどんどん追加していきます。
- 非カプセル化(受信時): 下の層から受け取ったデータを上の層へ渡す際、不要になった自分の階層のヘッダを剥がしていきます。
これにより、各階層は他の階層の詳細を知らなくても、自分に宛てられた命令だけを処理すれば良い仕組みになっています。
OSI参照モデルの覚え方(語呂合わせ)
階層の順番は、試験でも頻出します。以下の語呂合わせが定番です。
階層の順番覚え方(7層→1層):アプセトネデブ
上から順番に、アプセトネデブ で各階層の頭文字を取っています。
ア:アプリケーション層(第7層)プ:プレゼンテーション層(第6層)セ:セッション層(第5層)ト:トランスポート層(第4層)ネ:ネットワーク層(第3層)デ:データリンク層(第2層)ブ:物理層(第1層)
階層の順番覚え方(1層→7層):物好きなデート
下から順に覚えたい場合は、ストーリー仕立てのこちらが有名です。
「物好きなデートはネットでトラブル!センスあるプレゼントでアプローチ」
- 物好きな:物理層(第1層)
- デートは:データリンク層(第2層)
- ネットで:ネットワーク層(第3層)
- トラブル:トランスポート層(第4層)
- センスある:セッション層(第5層)
- プレゼントで:プレゼンテーション層(第6層)
- アプローチ:アプリケーション層(第7層)
対応機器の覚え方(1層→7層):ブリデブネルゲー
ブリ(物理層:リピータ)デブ(データリンク層:ブリッジ)ネル(ネットワーク層:ルータ)ゲー(上位層:ゲートウェイ)は各階層で動作する代表的なネットワーク機器の頭文字を取った覚え方です。
- ブ(L1物理層):リピータ(第1層:物理層)
- デ(L2データリンク層):ブリッジ / スイッチ(第2層:データリンク層)
- ネ(L3ネットワーク層):ルータ(第3層:ネットワーク層)
- ゲー(L4〜L7上位層):ゲートウェイ(第4層〜第7層:上位層)
ブリデブネルゲーというリズムで指を折りながら覚えると、試験中に「第3層は何だったっけ?」と迷った際にすぐに導き出せます。
OSI参照モデル 全7層の役割と特徴
各階層の役割をさらに詳しく見ていきましょう。
第1層:物理層 (Physical Layer)
物理的な接続に関するルールを定めています。コンピュータが扱う「0」と「1」のビット列を、電圧の変化や光の点滅(電気信号・光信号)に変換してケーブルに流します。
- 役割: ビット列の送受信、コネクタやケーブルの形状規定
- 具体例: LANケーブル、有線・無線の物理インターフェース
- 対応機器: リピーター、ハブ(※現在の主流はL2スイッチ)
第2層:データリンク層 (Data Link Layer)
直接つながっている隣同士の機器で、正しくデータをやり取りするためのルールです。「MACアドレス」を使用して、ネットワーク内のどの機器に送るかを判断します。
- 役割: 隣接機器間の通信、MACアドレスによる識別、エラー検出
- 具体例: イーサネット、無線LAN (Wi-Fi)、MACアドレス
- 対応機器: L2スイッチ、ブリッジ
第3層:ネットワーク層 (Network Layer)
異なるネットワークにまたがった通信(エンドツーエンド)を可能にします。「IPアドレス」を使い、複数のネットワークを経由して目的地まで届けるための「経路選択(ルーティング)」を行います。
- 役割: IPアドレスによる宛先管理、ルーティング(経路選択)
- 具体例: IP (IPv4/IPv6)、ICMP
- 対応機器: ルーター、L3スイッチ
第4層:トランスポート層 (Transport Layer)
通信の「品質」と「信頼性」を確保します。データが途中で消えたり壊れたりしていないかを確認し、 必要に応じて再送したり、順序を整えたりします。具体的には、再送制御・順序制御・フロー制御などを行い、アプリケーション間で正しくデータを届ける役割を担います。
- 役割: 通信の信頼性確保(再送制御、エラー確認)、ポート番号によるアプリの振り分け
- 具体例: TCP、UDP
- PDUの補足: TCPのデータ単位はセグメント、UDPのデータ単位はデータグラムと呼ばれます。
第5層:セッション層 (Session Layer)
アプリケーション間の「対話(セッション)」の開始から、データのやり取り、終了までを管理します。通信の確立(ログイン)から切断(ログアウト)までの「流れ」を司る階層です。
- 役割: セッションの確立・維持・切断、同期制御
第6層:プレゼンテーション層 (Presentation Layer)
データの「表現形式(見え方)」を管理します。文字コードの違いを吸収したり、データを圧縮・暗号化して、 送受信されるデータが互いに正しく理解できる形式に変換します。
- 役割: 文字コード変換、データの暗号化・復号、圧縮・展開
- 具体例: JPEG(画像形式)、SSL/TLS(暗号化)、文字コード変換
[!NOTE] SSL/TLSの階層区分 試験対策では、一般的に第6層(プレゼンテーション層) に分類されます。実際にはセッションの確立(L5相当)や暗号化(L6相当)など複数の層にまたがる性質を持ちますが、試験ではL6と覚えておけばOKです。
第7層:アプリケーション層 (Application Layer)
ユーザーが直接触れるアプリケーションに特化したネットワークサービスを提供します。Web閲覧やメール送信など、目的に応じた通信ルールが定められています。
- 役割: ネットワークサービスの提供、ユーザーインターフェース
- 具体例: HTTP (Web)、SMTP (メール)、FTP (ファイル転送)
各階層に対応するネットワーク機器
どの機器がどの層の判断基準(IPアドレスなのか、MACアドレスなのか等)を使って動いているかを理解しましょう。
| 階層 | 名称 | 代表的な機器 | 役割のポイント |
|---|---|---|---|
| L1 | 物理層 | リピータ(ハブ) | 弱まった電気信号を増幅するだけ。 |
| L2 | データリンク層 | ブリッジ(スイッチ) | MACアドレスを見て転送先を決める。 |
| L3 | ネットワーク層 | ルータ | IPアドレスを見て経路を選択する。 |
| L4〜L7 | トランスポート層 セッション層 プレゼンテーション層 アプリケーション層 | ゲートウェイ | プロトコル変換を行う多機能な装置。 |
[!TIP] 「リブルゲ」で頭文字暗記
リピータ(L1)→ブリッジ(L2)→ルータ(L3)→ゲートウェイ(L4-7)の順になります。
TCP/IPモデルとの対応
現代のネットワークでは、OSI参照モデルよりもシンプルな「TCP/IPモデル(4層)」が主流です。試験では「OSIのどの層が、TCP/IPのどの層に相当するか」が問われます。
- アプリケーション層(TCP/IP): OSIの L7, L6, L5 をまとめたもの。
- トランスポート層: OSIの L4 と同じ。
- インターネット層: OSIの L3(ネットワーク層) に相当。
- ネットワークインターフェース層: OSIの L2, L1 をまとめたもの。
基本情報・応用情報過去問
以下のリンクから実際の試験問題を解いて、知識を定着させましょう。
基本情報技術者平成23年秋期 午前問37
基本情報技術者平成24年秋期 午前問34
基本情報技術者平成27年秋期 午前問31
ソフトウェア開発技術者平成19年秋期 午前問54
応用情報技術者平成22年春期 午前問36
ネットワークスペシャリスト平成27年秋期 午前Ⅱ 問3
まとめ
OSI参照モデルの理解を深めるためのポイントを簡潔にまとめました。
- 順番の暗記: 「アプセトネデブ(7層→1層)」や「物好きなデート(1層→7層)」、機器の「リブルゲ」などの語呂合わせを活用して、各層の名称と機器をセットで確実にする。
- 4つの情報のセット: 各層の「名称」「役割」「データ単位(PDU)」「対応機器」をセットで覚えるのが合格への近道。
- 階層の役割理解: 下位層(L1〜L4)は「データの伝送」、上位層(L5〜L7)は「データの表現や処理」を担当していると区別する。
- TCP/IPとの対応: 現代の主流であるTCP/IPモデルの4つの階層と、OSIの各層がどう対応しているか(特に上位層の集約)を把握する。
これらの基礎をしっかり押さえておくことで、ネットワーク全体の仕組みや、トラブル発生時の切り分けがスムーズになります。
基本情報の勉強にお勧めの本
以上で本記事の解説を終わります。
よいITライフを!