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

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

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

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

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

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モデルが実務に即しているというのが今一つ分かってない感じです・・・

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モデルで捉えるのが分かりやすいですね!

基本はTCP/IPモデルで見つつ、必要に応じて細かく分類されているOSI参照モデルを確認していくのが個人的におススメです。
4_OSI参照モデルとTCP/IPモデルのまとめ
ここまでの内容について、OSI参照モデルとTCP/IPモデルの対応表に加え、今後解説予定の各種通信機器がどのレイヤーに対応しているかを以下の図に落とし込んでまとめております。

(参考1)よくある質問
- Q1OSIとTCP/IPのどちらを覚えればよい?
- A1
初心者はOSIで全体像を、実務ではTCP/IPモデルを使うのが効率的です。
- Q2どの層で暗号化は行われる?
- A2
通常はプレゼンテーション層で扱いますが、実装上はアプリ層(TLS)として現れます。
- Q3トラブルはどの層から調べる?
- A3
物理層→データリンク→ネットワーク→トランスポート→アプリの順で下層から確認します。
(参考2)エラー発生時の原因切り分け(層ごとのチェックリスト)
トラブルシュートは「下層から上層へ」「レイヤー毎のチェック」を基本に行います。
チェックリスト形式で「確認項目」「コマンド例」「想定される原因」を並べると実務で使いやすく、初心者でも順番に試せるハンドブックになります。

コメント