
【基礎から学び直すITインフラ入門】#1ネットワークの階層モデル
私自身、いままでITエンジニアとしてアプリ開発をメインにやってきましたが、転職を機に金融系の基盤構築PMとして、プロジェクトに参画することになりました。
そこで「基礎から学びなおすITインフラ入門」ということで、いままでなあなあで済ましていたインフラ知識を整理すべく、学び直そうじゃあないか、という企画です。
どこまでやりきれるか怪しいところですが、新年で気持ちを切り替えて頑張ろうと思います。
はじめに
初回では、ネットワーク通信を理解するために、階層モデルの概念を解説します。ネットワークの基礎となるOSI参照モデルとTCP/IP4層モデルについて解説します。
OSI参照モデル
OSI(Open Systems Interconnection)参照モデルは、ISO(国際標準化機構)が定義した、ネットワーク通信を7つの階層に分けた概念モデルです。各層は特定の役割を持ち、上下の層とやり取りをしながら通信を実現します。
ネットワーク通信を階層化する理由は、複雑なシステムを管理可能にするためです。
ある層の技術を変更しても他の層に影響を与えないため、柔軟な改良が可能です。例えば、物理層で有線LANから無線LANに変更しても、アプリケーションは変更不要です。スマートフォンでWebサイトを閲覧するとき、Wi-Fiでも4G/5Gでも同じブラウザが動作するのは、この独立性のおかげです。
標準化による相互運用性も確保されていて、各層のインターフェースが標準化されているため、異なるメーカーの機器やソフトウェアが協調動作できます。世界中のどのスマートフォンからでも、どの国のWebサーバーにもアクセスできるのもこのためです。

第7層:アプリケーション層(Application Layer)
ユーザーが実際に利用するアプリケーションサービスを提供する層です。ネットワーク機能をアプリケーションに提供するためのインターフェースとして機能します。
第6層:プレゼンテーション層(Presentation Layer)
データの表現形式を統一し、アプリケーション層とそれ以下の層の間で「翻訳」を行う層です。データの見た目や形式を扱います。
第5層:セッション層(Session Layer)
通信の開始から終了までの「セッション」を管理する層です。対話の制御や同期を行います。
第4層:トランスポート層(Transport Layer)
エンドツーエンド(送信元から最終宛先まで)の信頼性のある通信を保証する層です。データを確実に、正しい順序で届けることを担当します。
第3層:ネットワーク層(Network Layer)
異なるネットワークをまたいでデータを転送するための経路選択(ルーティング)と論理アドレス管理を行う層です。
第2層:データリンク層(Data Link Layer)
直接接続された隣接ノード間での信頼性のあるデータ転送を提供する層です。物理層の生の伝送機能に、エラー検出とアクセス制御を追加します。
第1層:物理層(Physical Layer)
ビット列(0と1)を物理的な信号(電気、光、電波)に変換し、伝送媒体を通じて送受信する層です。ネットワークの最も基礎的な物理的側面を扱います。
TCP/IP4層モデル
実際にインターネットで使われているプロトコル群を整理して4層構造になっているモデルです。
OSI参照モデルはどちらかというと理論的なモデルで、TCP/IP4層モデルは、よりシンプルで、実装を重視した構造になっています。

第4層:アプリケーション層(Application Layer)
ユーザーが直接利用するネットワークサービスとアプリケーションを提供する層です。OSI参照モデルの第5層から第7層(セッション層、プレゼンテーション層、アプリケーション層)の機能を統合しています。
主要プロトコル:
HTTP/HTTPS: Webブラウジング
DNS: ドメイン名解決
SMTP/POP3/IMAP: 電子メール
FTP/SFTP: ファイル転送
SSH: セキュアリモートログイン
DHCP: IPアドレス自動割り当て
第3層:トランスポート層(Transport Layer)
アプリケーション間の論理的な通信を提供し、データの信頼性や通信品質を制御する層です。OSI参照モデルの第4層に相当します。
主要プロトコル:
TCP :信頼性重視の通信
UDP :速度重視の通信
ポート番号 :同一コンピュータでのアプリケーションの識別
第2層:インターネット層(Internet Layer)
異なるネットワーク間でデータを転送し、最適な経路を選択する層です。インターネット全体を一つの大きなネットワークとして機能させる中核的な役割を担っています。OSI参照モデルの第3層(ネットワーク層)に相当します。
主要プロトコル:
IP :ネットワーク上の住所(アドレス)
ICMP :エラー通知と診断
ARP :IPアドレスからMACアドレスへの変換
第1層:ネットワークインターフェース層(Network Interface Layer / Link Layer)
物理的なネットワークへの接続を提供し、直接接続されたノード間でのデータ転送を担当する層です。上位層からは同じインターフェースとして扱えるため、アプリケーションは物理層の違いを意識する必要がありません。OSI参照モデルの第1層と第2層(物理層とデータリンク層)の機能を統合しています。
物理層のため、プロトコルはありませんが、ハードウェアの規格として標準化されています。
最後に
つらつらと階層モデルについてまとめましたが、自分でもなんでOSI参照モデルとTCP/IPモデルの2種類あるんだ?って部分は意識したこともなかったので、勉強になりました。実務だとあまり意識したことはなかったですが、アプリ開発してて意識しなくて済んだのも、この階層構造の恩恵だったのだなと思いますね。
次回は、それぞれの階層でどのような処理をたどって我々の利用しているインターネットの通信を実現しているのか見ていきたいと思います。