1.

OSI 第 7 層 (アプリケーション層) 完全ガイド|HTTP/HTTPS/FTP/SMTP/DNS/SSH と L7 LB

編集
この記事の要点
  • OSI 参照モデルの第 7 層。エンドユーザーが利用する具体的アプリケーションプロトコルが集まる層
  • 代表プロトコル: HTTP/HTTPS (Web) / SMTP/POP3/IMAP (Email) / DNS/DHCP/NTP/SNMP/LDAP (基盤) / SSH/Telnet/RDP (リモート)
  • TCP/IP モデルでは L5+L6+L7 をまとめてアプリケーション層と呼ぶ
  • L7 ロードバランサ (ALB) は HTTP ヘッダや URL を解析してルーティング
  • WAF は L7 の知識を使って SQL インジェクション / XSS を防御

アプリケーション層とは

OSI 参照モデルの 7 層構造の中で最上位 (第 7 層) に位置する層です。ユーザーや業務アプリケーションが直接利用するプロトコル群が集まり、ブラウザでの Web 閲覧、メール送受信、ファイル転送、リモートログイン等、私たちが「ネットワークを使う」と意識する場面のほとんどはこの層の上で起きています。

OSI 7 層モデル全体像

名前主な役割
7アプリケーション具体的サービスHTTP, SMTP, DNS
6プレゼンテーション文字コード, 暗号化, 圧縮TLS, JPEG, ASCII
5セッションセッション管理NetBIOS, RPC
4トランスポート信頼性TCP, UDP
3ネットワークルーティングIP, ICMP
2データリンク同一セグメント転送Ethernet, PPP
1物理電気信号1000BASE-T, 光ファイバ

代表的なアプリケーション層プロトコル

Web 系

プロトコルポート用途
HTTPTCP/80Web 閲覧 (平文)
HTTPSTCP/443Web 閲覧 (TLS)
HTTP/2TCP/443多重化、ヘッダ圧縮
HTTP/3 (QUIC)UDP/443UDP ベース、0-RTT 再接続
WebSocketTCP/80, 443双方向リアルタイム通信

メール系

プロトコルポート用途
SMTPTCP/25, 587 (Submission)メール送信
SMTPSTCP/465SMTP over TLS
POP3TCP/110, 995 (TLS)メール受信 (削除型)
IMAPTCP/143, 993 (TLS)メール受信 (サーバ保持)

ファイル転送・リモート

プロトコルポート用途
FTPTCP/21 (制御), 20 (データ)ファイル転送 (平文、非推奨)
FTPSTCP/990 等FTP over TLS
SFTPTCP/22SSH 上のファイル転送
SSHTCP/22暗号化リモートシェル
TelnetTCP/23平文リモートシェル (非推奨)
RDPTCP/3389Windows リモートデスクトップ

基盤系

プロトコルポート用途
DNSUDP/53, TCP/53名前解決
DHCPUDP/67, 68IP 自動割当
NTPUDP/123時刻同期
SNMPUDP/161, 162 (Trap)ネットワーク監視
LDAPTCP/389, 636 (TLS)ディレクトリサービス
NFSTCP/UDP 2049UNIX ファイル共有
SMB/CIFSTCP/445Windows ファイル共有

TCP/IP モデルでの位置づけ

実際のインターネットで使われる TCP/IP モデル (4 層) では、OSI の L5 ~ L7 がまとめて「アプリケーション層」として扱われます:

TCP/IP モデルOSI 対応
アプリケーションL5 セッション + L6 プレゼン + L7 アプリ
トランスポートL4
インターネットL3
ネットワークインターフェースL1 + L2

L7 ロードバランサ (Application Load Balancer)

L7 LB は HTTP / HTTPS の中身を解析してルーティングを変えられます。L4 LB が TCP/UDP ポートしか見ないのに対し、URL パスや Host ヘッダ、Cookie で振り分けが可能。

# AWS Application Load Balancer のルーティング例
- Host: api.example.com  → API ターゲットグループ
- Host: example.com / Path: /admin/*   → 管理画面ターゲットグループ
- Host: example.com / Header: X-Beta:1 → ベータ環境ターゲットグループ
- Default → Web ターゲットグループ

# できること
- パスベース / ホストベースルーティング
- Sticky Session (Cookie ベース)
- HTTP/2, gRPC 対応
- TLS 終端 / SNI ベース複数証明書

WAF (Web Application Firewall)

WAF は L7 の知識を使って Web アプリへの攻撃を防御します:

  • SQL インジェクション: クエリパラメータ・本文の SQL 構文を検知
  • XSS: <script> 等のスクリプトタグを検知
  • パストラバーサル: ../ の検知
  • レート制限: 単一 IP からの大量リクエスト遮断
  • Bot 制御: User-Agent / フィンガープリント分析

curl で各プロトコルを試す

# HTTP/HTTPS
curl -v https://example.com
curl -X POST -H "Content-Type: application/json" -d '{"a":1}' https://api.example.com/users

# FTP
curl ftp://ftp.example.com/file.txt -u user:pass

# SMTP
curl smtp://smtp.example.com --mail-from "me@example.com" \
  --mail-rcpt "you@example.com" --upload-file mail.txt

# LDAP
curl "ldap://ldap.example.com/dc=example,dc=com?cn"

# DNS (dig)
dig example.com
dig @8.8.8.8 example.com AAAA

# NTP
ntpdate -q time.cloudflare.com

FAQ

Q: HTTPS は何層?
A: アプリケーション層 (HTTP) + プレゼンテーション層 (TLS) の組み合わせ。TCP/IP モデルではどちらもアプリケーション層に含めます。

Q: L4 LB と L7 LB の使い分け
A: TCP/UDP の単純振り分けや非 HTTP プロトコルなら L4 (NLB)、URL 単位でルーティングしたいなら L7 (ALB)。コスト・遅延は L4 のほうが軽い。

Q: gRPC はどの層?
A: アプリケーション層。HTTP/2 をトランスポートとして使う RPC プロトコルで、L7 LB の対応有無に注意。

編集
Post Share
子ページ

子ページはありません

同階層のページ
  1. アプリケーション層(第7層)
  2. プレゼンテーション層(第6層)
  3. セッション層(第5層)
  4. トランスポート層(第4層)
  5. ネットワーク層(第3層)
  6. データリンク層(第2層)
  7. 物理層(第1層)

最近更新/作成されたページ