3.

ネットワーク 基礎 — OSI 7 階層 / TCP-IP / IP アドレス / DNS / HTTPS / VPN / CDN

編集
この記事の要点
  • ネットワークは OSI 7 階層モデル または TCP/IP 4 階層モデル で構造化される
  • IP アドレス: IPv4(32bit、約 43 億)/ IPv6(128bit、ほぼ無限)。CIDR 表記192.168.0.0/24 のように記述
  • 主要プロトコル: TCP(信頼性)/ UDP(高速)/ HTTP・HTTPS(Web)/ DNS(名前解決)/ TLS-SSL(暗号化)/ SSH(リモート)
  • 機器: ルーター(L3)/ スイッチ(L2)/ ファイアウォール / ロードバランサー / プロキシ / CDN / VPN ゲートウェイ
  • NAT(プライベート IP ↔ グローバル IP 変換)と DNS(ドメイン ↔ IP 変換)が現代インターネットの基幹

ネットワークとは

ネットワークとは、複数のコンピュータや機器を通信回線で接続し、データをやり取りできるようにした仕組みです。家庭の LAN から世界規模のインターネットまで全てネットワークです。

ネットワーク技術を体系的に理解するために、階層モデルが使われます。代表的なのが OSI 参照モデル(7 階層)と TCP/IP モデル(4 階層)です。

OSI 7 階層モデル

名前役割代表プロトコル・機器
7アプリケーション層ユーザーが触るサービスHTTP、SMTP、DNS、FTP、SSH
6プレゼンテーション層データ表現・暗号化TLS、SSL、文字コード
5セッション層セッション管理NetBIOS、RPC
4トランスポート層エンド間通信・信頼性TCP / UDP、ポート番号
3ネットワーク層ルーティング・論理アドレスIP、ICMP、ルーター
2データリンク層同一セグメント内通信Ethernet、MAC アドレス、スイッチ
1物理層電気信号・電波LAN ケーブル、無線、ハブ

TCP/IP 4 階層モデル(実用版)

TCP/IP 層OSI 相当代表プロトコル
アプリケーション5〜7HTTP、HTTPS、DNS、SMTP、SSH、FTP
トランスポート4TCP、UDP
インターネット3IP(v4/v6)、ICMP
ネットワークインターフェース1〜2Ethernet、Wi-Fi

IP アドレス

IPv4 は 32bit。例 192.168.1.10。約 43 億個しか作れず枯渇問題に。IPv6 は 128bit で約 340 澗(10^36)個。例 2001:db8:85a3::8a2e:370:7334

種類範囲用途
クラス A プライベート10.0.0.0/8大企業 LAN
クラス B プライベート172.16.0.0/12中規模 LAN、Docker
クラス C プライベート192.168.0.0/16家庭・小規模 LAN
ループバック127.0.0.0/8自分自身(localhost)
リンクローカル169.254.0.0/16DHCP 失敗時の自動割当

CIDR とサブネット

192.168.1.0/24
       ↑      ↑
       ネットワーク部 24bit
                 ホスト部 8bit (256 個、実用 254 個)

サブネットマスク表記:
/24 = 255.255.255.0
/16 = 255.255.0.0
/8  = 255.0.0.0
/30 = 255.255.255.252 (4 個、2 ホスト)

例: 192.168.1.0/26
ネットワーク部 26bit、ホスト部 6bit (64 個、実用 62 個)
ブロック範囲: 192.168.1.0 〜 192.168.1.63

TCP と UDP の違い

項目TCPUDP
接続3-way ハンドシェイクで確立コネクションレス
信頼性到達保証、順序保証、再送無保証(送りっぱなし)
速度低い(オーバーヘッド大)高い
用途HTTP、HTTPS、SSH、メール、DBDNS、VoIP、動画ストリーミング、ゲーム

主要ポート番号

ポートプロトコル用途
20, 21FTPファイル転送
22SSHリモートログイン、SCP、SFTP
25SMTPメール送信
53DNS名前解決
80HTTPWeb (平文)
110POP3メール受信
143IMAPメール受信
443HTTPSWeb (暗号化)
3306MySQLDB
5432PostgreSQLDB
6379RedisKVS
8080HTTP 代替開発用、Tomcat 等

DNS の仕組み

DNS(Domain Name System)はドメイン名(example.com)を IP アドレスに変換する仕組みです。階層構造で世界中の DNS サーバーが分担します。

# 名前解決
nslookup google.com
dig google.com
dig google.com +short

# レコードタイプ
# A     IPv4 アドレス
# AAAA  IPv6 アドレス
# CNAME 別名(エイリアス)
# MX    メールサーバー
# TXT   テキスト(SPF、DKIM、所有権検証)
# NS    ネームサーバー
# SOA   ドメイン管理情報

dig example.com MX
dig example.com TXT

HTTPS と TLS/SSL

HTTPS は HTTP を TLS(Transport Layer Security、旧 SSL)で暗号化したもの。3 つの保証を提供:

  • 機密性: 通信内容を盗聴できない(暗号化)
  • 完全性: 改ざんを検出
  • 真正性: 接続先サーバーが本物(証明書)

証明書は Let's Encrypt(無料)、DigiCert 等の認証局 (CA) が発行。現在の Web では HTTPS が事実上必須(Chrome は HTTP を「保護されていません」と表示)。

ネットワーク機器とサービス

機器・概念動作層役割
ハブL1全ポートへ電気信号を中継
スイッチL2MAC アドレスで宛先ポートへ振分
ルーターL3IP アドレスで異なるネットワーク間を中継
ファイアウォールL3〜L7通信のフィルタリング
NATL3プライベート IP ⇔ グローバル IP 変換
ロードバランサーL4 / L7複数サーバーへトラフィック分散
プロキシL7クライアントとサーバーの中継
CDNL7世界各地のエッジサーバーで配信高速化
VPNL3暗号化トンネルで離れた拠点を接続

診断コマンド

# 疎通確認
ping google.com
ping -c 4 8.8.8.8

# 経路追跡
traceroute google.com         # Linux/macOS
tracert google.com            # Windows

# ネットワーク設定確認
ip addr                        # Linux (新)
ifconfig                       # Linux/macOS (旧)
ipconfig /all                  # Windows

# ルーティングテーブル
ip route                       # Linux
route -n                       # 古い Linux
netstat -rn                    # macOS

# ポート確認
netstat -tunlp                 # リスニングポート
ss -tunlp                      # 新しい代替
lsof -i :80                    # 80 番を使うプロセス

# ポートスキャン
nmap -p 1-1000 192.168.1.1
nc -zv example.com 443         # netcat で接続テスト

# DNS 確認
dig google.com
nslookup google.com
host google.com

# HTTP 通信確認
curl -v https://example.com
curl -I https://example.com    # ヘッダーのみ

FAQ

Q: IPv4 はいつ枯渇する?
A: 既に枯渇しています。プロバイダは NAT (CGNAT) で複数ユーザーが 1 つの IPv4 を共有することで凌いでいます。長期的には IPv6 への移行が必要。

Q: HTTP/2、HTTP/3 とは?
A: HTTP/2(2015)は多重化・ヘッダ圧縮で高速化。HTTP/3(2022)は TCP ではなく QUIC(UDP ベース)を使い、さらに低遅延。Cloudflare 等が広く採用。

Q: VPN は何のため?
A: ①リモートワークで社内 LAN にアクセス、②公衆 Wi-Fi での盗聴対策、③地理制限の回避(ただし合法性に注意)。

Q: CDN は必須?
A: 画像・動画を扱うサイトや、海外ユーザーがいるサイトでは事実上必須。Cloudflare、CloudFront、Fastly が代表的。

編集
Post Share
子ページ
  1. ネットワークの範囲と種類
  2. ネットワーク機器
  3. OSI参照モデル
  4. プロトコル
  5. ポート番号
  6. IPアドレス
  7. MACアドレス
  8. プロキシ
同階層のページ
  1. プログラミング言語
  2. データベース
  3. ネットワーク
  4. OS
  5. ソフトウェア
  6. ハードウェア
  7. ファームウェア
  8. API
  9. セキュリティ
  10. Webサービス
  11. AI 人工知能
  12. 技術・設計・規格
  13. SEO
  14. 開発工程
  15. エンジニア
  16. 電子工作
  17. その他用語一覧
  18. クラウド・インフラ