ネットワーク通信の仕組みを学ぶ際に必ず登場するのが「OSI参照モデル」です。
OSI参照モデルとは、ネットワーク通信の機能を7つの層に分けて整理したフレームワークで、各層に対応するプロトコルが存在します。
「ネットワーク層って何?」「トランスポート層のプロトコルは?」という疑問を持つ方に向けて、本記事では各層の役割と代表的なプロトコルをわかりやすく解説していきます。
OSI参照モデルとは何か?7層の概要と役割
それではまず、OSI参照モデルの概要と各層の役割について解説していきます。
OSI参照モデル(Open Systems Interconnection reference model)とは、国際標準化機構(ISO)が策定した、ネットワーク通信の機能を7つの階層(レイヤー)に分類したモデルです。
このモデルは異なるベンダーのシステム間でも通信できるよう、共通の概念フレームワークを提供します。
OSI参照モデルの7層一覧と代表的なプロトコル
| 層番号 | 層の名前 | 役割 | 代表的なプロトコル・技術 |
|---|---|---|---|
| 第7層 | アプリケーション層 | ユーザーアプリとの直接的なやり取り | HTTP・HTTPS・FTP・SMTP・DNS・SSH |
| 第6層 | プレゼンテーション層 | データの形式変換・暗号化・圧縮 | SSL/TLS・JPEG・ASCII・MPEG |
| 第5層 | セッション層 | 通信セッションの確立・維持・終了 | NetBIOS・RPC・SIP |
| 第4層 | トランスポート層 | エンドツーエンドの通信制御 | TCP・UDP |
| 第3層 | ネットワーク層 | ルーティング・IPアドレス管理 | IP・ICMP・OSPF・BGP |
| 第2層 | データリンク層 | 隣接ノード間の通信・MACアドレス | Ethernet・PPP・Wi-Fi(IEEE802.11) |
| 第1層 | 物理層 | ビットの物理的な伝送 | ケーブル規格・光ファイバー・無線LAN |
OSI参照モデルとTCP/IPモデルの違い
実際のインターネット通信ではOSI参照モデルよりも「TCP/IPモデル(Internetモデル)」が実装の基準として使われることが多いです。
TCP/IPモデルはOSIの7層を4層にまとめた実用的なモデルで、アプリケーション層・トランスポート層・インターネット層・ネットワークアクセス層という構成になっています。
OSI参照モデルは「学習・設計・トラブルシューティングの共通言語」として、TCP/IPモデルは「実際のインターネット実装の標準」として使い分けるとよいでしょう。
各層の詳細解説とプロトコルの役割
続いては、OSI参照モデルの各層を詳しく解説していきます。
第7層・第6層・第5層:アプリケーション関連の層
アプリケーション層(第7層)は、ユーザーが直接利用するアプリケーションと通信機能をつなぐ層です。
WebブラウジングにはHTTP/HTTPS、メール送信にはSMTP、ファイル転送にはFTPが使われます。
DNSはドメイン名をIPアドレスに変換するプロトコルで、アプリケーション層に属しています。
プレゼンテーション層(第6層)はデータの形式変換・暗号化・圧縮を担当します。
SSL/TLSはプレゼンテーション層に相当し、HTTPSの暗号化機能を提供しています。
セッション層(第5層)は通信セッションの確立・管理・終了を担当します。
ビデオ通話でのセッション管理やSIP(Session Initiation Protocol)などがこの層に相当します。
第4層:トランスポート層とTCP・UDP
トランスポート層(第4層)は、エンドツーエンドの通信制御を行う非常に重要な層です。
代表的なプロトコルはTCP(信頼性重視)とUDP(速度重視)の二つです。
TCPは接続確立(3ウェイハンドシェイク)・順序保証・再送制御・エラーチェックを行い、データの確実な到達を保証します。
UDPは接続確立や再送制御を行わない代わりに、低遅延・高速な通信を実現します。
トランスポート層はポート番号によってアプリケーションを区別する重要な役割も担っています。
HTTPは80番ポート、HTTPSは443番ポート、FTPは21番ポート、SSHは22番ポートというように、各アプリケーションには標準的なポート番号が割り当てられています。
IPアドレスがコンピューター(建物)を特定し、ポート番号がそのコンピューター上のアプリケーション(部屋)を特定するという関係です。
第3層:ネットワーク層とIP
ネットワーク層(第3層)は、送信元から宛先までのルーティング(経路選択)とIPアドレスの管理を担当します。
IP(Internet Protocol)はインターネット上のすべての通信の基盤となるプロトコルで、各デバイスを識別するIPアドレスの割り当てとパケットの転送を担います。
ICMP(Internet Control Message Protocol)はネットワーク診断に使われるプロトコルで、「ping」コマンドがICMPを利用しています。
OSPF・BGPはルーターがルーティングテーブルを動的に更新するためのルーティングプロトコルです。
第2層・第1層:物理的な通信を担う層
データリンク層(第2層)は、同じネットワーク(LAN)内の隣接ノード間の通信を担当します。
MACアドレス(物理アドレス)を使ってデバイスを識別し、EthernetフレームやWi-Fiフレームの形式でデータを送受信します。
物理層(第1層)は、ケーブル・光ファイバー・無線などの物理媒体を通じてビット(0と1)を電気信号・光信号・電波として送信する層です。
OSI参照モデルを使ったトラブルシューティング
続いては、OSI参照モデルを活用したトラブルシューティングの考え方を確認していきます。
OSI参照モデルは、ネットワーク障害が発生した際のトラブルシューティングに非常に役立ちます。
「ボトムアップ(第1層から第7層へ)」または「トップダウン(第7層から第1層へ)」という順番で問題を切り分けていく手法が一般的です。
ボトムアップのトラブルシューティング例
第1層(物理層):ケーブルは接続されているか?ランプは点灯しているか?
第2層(データリンク層):MACアドレスは解決されているか?(arpコマンドで確認)
第3層(ネットワーク層):IPアドレスは正しく設定されているか?(pingで確認)
第4層(トランスポート層):ポートは開放されているか?(netstatで確認)
第7層(アプリケーション層):アプリの設定・認証は正しいか?
まとめ
本記事では、OSI参照モデルの概要・各層の役割・代表的なプロトコル・TCP/IPモデルとの違い・トラブルシューティングへの活用についてまとめました。
OSI参照モデルはネットワーク通信を理解するための共通言語として、エンジニアが問題を整理・解決するための強力なフレームワークです。
各層のプロトコルの役割を理解することで、ネットワーク設計・開発・運用・トラブルシューティングのすべての場面での対応力が大幅に向上するでしょう。