TCP/IP と OSI 参照モデルを図解で理解する入門ガイド(初心者向け)

IT基礎

1_概観

ネットワークモデルとは「通信を階層に分けて理解するための設計図」です。主なネットワークモデルとして、①OSI参照モデル②TCP/IPモデルがあります。
大まかに、OSI参照モデル学習や体系化に優れTCP/IPモデル実務でのパケット処理を理解するのに役立ちます。

バグ太郎
バグ太郎

何で通信を階層に分けて理解する必要があるのですか?モデルみたいな概念的な説明って、抽象的で分かりにくいんですよね・・・

C-3PU
C-3PU

その気持ちよくわかります。ただ、通信というのは、いくつもの技術(複数のプロトコルなど)が組み合わさって成立しています。
インターネットでWebページを開くという一見シンプルな操作の裏では、データの生成・送信・経路選択・受信・表示までさまざまな処理が段階的に行われています。これを一つの塊として捉えると非常に複雑ですが、階層に分けることで「どの段階で何が起きているか」を明確にできます。
例えるなら、ネットワークモデルは「建物の設計図」のようなものです。電気・水道・通信・構造などを分けて考えることで、問題が起きたときにどこを直せばいいかがすぐにわかります。

1-1_ネットワークモデル – 概略図
ネットワークモデルの全体像を示す図解イメージ。複雑なネットワークの通信をモデル化する意義を説明した画像

2_OSI参照モデルとは(7層に分解)

OSI参照モデルは、通信を7つの層に分けた概念モデルで、学習用の標準的フレームワークです。上から順に「アプリケーション」「プレゼンテーション」「セッション」「トランスポート」「ネットワーク」「データリンク」「物理」で構成され、それぞれが異なる役割を担っています。
実務で使う用語の多くはトランスポート層(TCP/UDP)やネットワーク層(IP)に集約されますが、OSIモデルは「どの層で問題が起きているか」を切り分けるために有効です。

2-1_OSI参照モデルの各レイヤー(階層)の役割と具体例
  • レイヤー7
    アプリケーション層

    通信データの本体(内容) ‐(例:WebブラウザでのHTTP)

  • レイヤー6
    プレゼンテーション層

    データ形式の変換や暗号化(例:TLSによる暗号化の処理位置)

  • レイヤー5
    セッション層

    通信の開始・維持・終了管理(例:セッションの確立と復旧)

  • レイヤー4
    トランスポート層

    信頼性順序制御(例 : TCPの再送・UDPの非接続性)

  • レイヤー3
    ネットワーク層

    送信元から宛先までの経路選択(例 : IPアドレスによるルーティング)

  • レイヤー2
    データリンク層

    隣接機器間のデータ転送(例 : スイッチ等におけるMACアドレスを元にした転送処理)

  • レイヤー1
    物理層

    デジタル信号を電気や光信号に変換(例 : ケーブルや電波、コネクタが該当)

バグ太郎
バグ太郎

確かに通信を階層化すると、自分みたいな素人でも分かりやすいかなとは思うんですが、7つも層があると余計に頭が混乱してきたような・・・

C-3PU
C-3PU

OSI参照モデルは細かく分類されている分、ネットワーク分野を勉強しようした時にありがたかったりするのですが、実務でネットワークにかかわる時にこの7つのレイヤー(階層)を意識していることはあまりないよう気がします・・・
実際は、次に紹介するTCP/IPモデルネットワークを捉えることが多いと思います。

3_TCP/IPモデルとは(4層に分解)

TCP/IPモデルは実務で広く使われるモデルで、実際のインターネット動作に基づいた4層構成です。上から「アプリケーション層」「トランスポート層」「インターネット層」「ネットワークインターフェース層」に分かれ、OSIの一部層を統合して実装に即した形に簡略化されています。
TCP/IPモデルは「実際に動いているネットワークの地図」と考えると理解しやすく、トラブル対応やパケットキャプチャの理解するのに直結します。

3-1_TCP/IPモデルの各レイヤー(階層)の役割と具体例
  • レイヤー5~7
    アプリケーション層

    OSI 参照モデルのアプリケーション層(第7層)/プレゼンテーション層(第6層)/セッション層(第5層)に対応

  • レイヤー4
    トランスポート層

    OSI 参照モデルのトランスポート層(第4層)に対応

  • レイヤー3
    インターネット層

    OSI 参照モデルのネットワーク層(第3層)に対応

  • レイヤー1~2
    ネットワークインターフェース層

    OSI 参照モデルのデータリンク層(第2層)/物理層(第1層)に対応

バグ太郎
バグ太郎

おぉ・・・4つになると大分シンプルになりますね!
ただ、このTCP/IPモデルが実務に即しているというのが今一つ分かってない感じです・・・

C-3PU
C-3PU

TCP/IPモデルが実際の通信に即しているというのは、パケット(データの中身)を実際に見てみるのが一番かと思います。

3-2_実例で学ぶ(HTTP の送信について、パケットの中身を追っていく)

Web通信(HTTP通信)を例にして、パケットの内容を追っていきましょう。
PCからデータを送信する際、以下❶から❹の手順で通信データを作成しています。
流れとしてはまずデータ本体を作成して、ヘッダやフレームと呼ばれる宛先等の付加情報がどんどん足されていく形になります。

  • データ内容の作成
    ユーザーがブラウザでURLを入力するとアプリケーション層でHTTPリクエスト(Webページの要求)が作成されます。
  • (データ内容)+ TCPヘッダの付与
    トランスポート層でTCPコネクション(3ウェイハンドシェイク)が確立し、ポート80をサービスの入口とするため、TCPヘッダを付与します
  • (データ内容 + TCPヘッダ) + IPヘッダの付与
    インターネット層では送信元/宛先情報が、IPヘッダとして付与され、ルーター等の通信機器はこのIPヘッダを元に経路を決定します
  • (データ内容 + TCPヘッダ + IPヘッダの付与) + MACフレームの付与
    ネットワークインターフェース層で、宛先にたどり着くための隣接機器の情報がMACフレームとして付与されます。
パケット構成の概念図。データ本体にTCPヘッダ・IPヘッダ・MACフレームが順に付与される様子を示す断面図
バグ太郎
バグ太郎

なるほど・・・実際に通信データが作成されている過程を見ていくと、TCP/IPモデルで捉えるのが分かりやすいですね!

C-3PU
C-3PU

基本はTCP/IPモデルで見つつ、必要に応じて細かく分類されているOSI参照モデルを確認していくのが個人的におススメです。

4_OSI参照モデルとTCP/IPモデルのまとめ

ここまでの内容について、OSI参照モデルとTCP/IPモデルの対応表に加え、今後解説予定の各種通信機器がどのレイヤーに対応しているかを以下の図に落とし込んでまとめております。

OSIとTCP/IPのまとめ図。各層の主な機能とプロトコル及び対応通信機器を示している。

(参考1)よくある質問

Q1
OSIとTCP/IPのどちらを覚えればよい?
A1

初心者はOSIで全体像を、実務ではTCP/IPモデルを使うのが効率的です。

Q2
どの層で暗号化は行われる?
A2

通常はプレゼンテーション層で扱いますが、実装上はアプリ層(TLS)として現れます。

Q3
トラブルはどの層から調べる?
A3

物理層→データリンク→ネットワーク→トランスポート→アプリの順で下層から確認します。

(参考2)エラー発生時の原因切り分け(層ごとのチェックリスト)

トラブルシュートは「下層から上層へ」「レイヤー毎のチェック」を基本に行います。

  • 物理層:ケーブル抜け、リンクライト、チャンネル干渉の確認。
  • データリンク層:MACテーブルやスイッチのポート設定、フレームエラー。
  • ネットワーク/インターネット層:IPアドレス設定やルーティング、pingやtracerouteで経路確認。
  • トランスポート層:ポートがリッスンしているか(ss/netstat/lsof)、SYN/ACKの有無、再送やタイムアウト。
  • アプリ/セッション層:アプリの設定、認証やセッションタイムアウト、プロトコル固有のエラーログ。

チェックリスト形式で「確認項目」「コマンド例」「想定される原因」を並べると実務で使いやすく、初心者でも順番に試せるハンドブックになります。

コメント

タイトルとURLをコピーしました