プロトコル・スタックってなんね?
はじめに
ネットワークはなぜつながるのかを読んでいると、「プロトコル・スタック」という言葉が何度も出てきます。また横文字か…と嫌気が差しつつも重要な概念なので整理しておきたいと思い記事にしました。
1. プロトコル・スタックとは?
まずプロトコル・スタックのざっくりした説明を引用すると、
ある通信方式を実現するために、低い階層から順にプロトコル(通信規約)を積み重ねて全体として機能するようにした組み合わせのこと。各プロトコルを処理する機器やソフトウェアの積み重ねを指すこともある。(引用元)
…ですが、これだけではピンと来ないので、
もう少し噛み砕いて説明すると、プロトコル・スタックはネットワーク通信の仕組みを分業して支えるチームのようなものです。それぞれの階層が自分の役割を果たしながら、上下の階層と協力して通信全体を成立させます。
例えば、インターネットを動かす代表的なモデルとして、以下の2つがあります。
- OSI参照モデル(7階層に分かれている)
- TCP/IPモデル(実際に使われている簡略版)
ちなみに、プロトコル・スタックを説明しているこの動画、めちゃ分かりやすいのでオススメです!
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階層に圧縮されているので覚えやすい!
-
アプリケーション層(7〜5層をまとめたもの)
- 例: HTTP、DNS
-
トランスポート層(4層)
- 例: TCP、UDP
-
インターネット層(3層)
- 例: IP(住所の管理)
-
ネットワークインターフェース層(2〜1層)
- 例: Ethernet、Wi-Fi
4. まとめ
プロトコル・スタックは、ネットワークを支える分業体制みたいなもの。最初は難しそうですが、分業することで管理しやすくなっているんですね。
以上、この記事が少しでも理解の助けになればうれしいです!
さいごに!
この度、沖縄のエンジニアが集まるZennコミュニティを立ち上げました。
現在、Publicationメンバーを募集中です。
沖縄出身の方はもちろん、沖縄が好きなエンジニアの方も大歓迎です!
ゆるく発信しながら、一緒に盛り上げていきましょう!
少しでも気になった方は、ぜひXのDMまでご連絡ください🌴
Discussion