🌺

プロトコルスタックってなんね?

2024/12/07に公開

はじめに

技術書を読んでいると、「これ何?」と思う専門用語が頻出しますよね。例えば、ネットワークはなぜつながるのかを読んでいると、「プロトコルスタック」という言葉が何度も出てきます。最初は「また横文字か…」と嫌気が差しましたが、実はこれ、ネットワークを理解する上で超重要な概念なんです。

そんな難しそうな言葉に出くわすと、思考が止まってしまうこともありますが、ちょっとした前提知識があるだけで一気に読みやすくなります。そして、「分からない」を楽しむことも技術書の醍醐味かもしれません。(正直、私自身まだ「技術が好きです!」と胸を張って言えるほどではないのですが、だからこそ少しずつ理解を深める楽しさを感じています。)

この記事では、「プロトコルスタックって何?」という疑問を解消しつつ、その仕組みや日常生活での例えも交えて、分かりやすく説明していきます!

1. プロトコルスタックとは?

まず「プロトコル・スタック」のざっくりした説明を引用すると、

ある通信方式を実現するために、低い階層から順にプロトコル(通信規約)を積み重ねて全体として機能するようにした組み合わせのこと。各プロトコルを処理する機器やソフトウェアの積み重ねを指すこともある。(引用元

…ですが、これだけではピンと来ないですよね?

もう少し噛み砕いて説明すると、プロトコルスタックは「ネットワーク通信の仕組みを分業して支えるチーム」のようなものです。それぞれの階層(レイヤ)が自分の役割を果たしながら、上下の階層と協力して通信全体を成立させます。

例えば、インターネットを動かす代表的なモデルとして、以下の2つがあります。

  • OSI参照モデル(7階層に分かれている)
  • TCP/IPモデル(実際に使われている簡略版)

ちなみに、プロトコルスタックを説明しているこの動画、めちゃ分かりやすいのでオススメです!
https://youtu.be/0zOQMQ2VxTQ?si=UimfxygmRHdnV28P

2. OSI参照モデルの7階層

まずはOSI参照モデルの7つの階層を見てみましょう。これを日常生活の例に当てはめながらざっくり説明します!

1. アプリケーション層 (7層)

  • 役割: ユーザーと直接やり取り。例えばWebブラウザやメールアプリ。
  • 例え: 手紙を書く(内容を準備する感じ)。

2. プレゼンテーション層 (6層)

  • 役割: データ形式を整える(例: 文字コードや暗号化)。
  • 例え: 手紙を縦書きや横書きにする。

3. セッション層 (5層)

  • 役割: 通信のスタート・維持・終了を管理。
  • 例え: 手紙をやり取りするための「やり取りのルールを決める」。

4. トランスポート層 (4層)

  • 役割: データを分割し、壊れたら修復。
  • 例え: 手紙が無事届くようにチェックする。

5. ネットワーク層 (3層)

  • 役割: ルート(住所)を決める。
  • 例え: 宛名を書いて郵便番号を確認する。

6. データリンク層 (2層)

  • 役割: 隣り合うデバイス間で正確にデータをやり取り。
  • 例え: 郵便局で仕分けする。

7. 物理層 (1層)

  • 役割: 実際にデータを信号として送る(電気や光の形)。
  • 例え: トラックや配達員が手紙を運ぶ。

3. TCP/IPモデルの4階層

現実ではOSIよりもシンプルなTCP/IPモデルが使われています。4階層に圧縮されているので覚えやすい!

  1. アプリケーション層(7〜5層をまとめたもの)
    • 例: HTTP、DNS
  2. トランスポート層(4層)
    • 例: TCP、UDP
  3. インターネット層(3層)
    • 例: IP(住所の管理)
  4. ネットワークインターフェース層(2〜1層)
    • 例: Ethernet、Wi-Fi

4. 日常生活での例え

プロトコルスタックは難しく感じますが、郵便システムに例えると分かりやすいです。

  1. 手紙の内容を準備する(アプリケーション層)。
  2. 宛名を書いて封筒に入れる(プレゼンテーション層)。
  3. 郵便局で仕分けしてトラックに積む(データリンク層)。
  4. 配達員が家まで届ける(物理層)。

5. まとめ

プロトコルスタックは、ネットワークを支える分業体制みたいなもの。最初は難しそうですが、分業することで管理しやすくなっているんですね。

この記事が少しでも理解の助けになればうれしいです!「分からない」を楽しみつつ、一緒に技術を学んでいきましょう!

参考文献

Discussion