【セキュリティ2026 #5】ネットワーク基礎

🏁
目標
この後のネットワークセキュリティ講義で必要となるネットワークの基礎知識を押さえる

TCP/IPモデル

  • インターネットの通信はTCP/IPモデルという階層構造で整理される
  • 各層が役割を分担し、上位層は下位層の仕組みに依存する
役割 代表的なプロトコル データの単位
アプリケーション層 ユーザーが直接触れるサービス HTTP, HTTPS, DNS, NTP, SSH メッセージ
トランスポート層 端末間のデータ転送制御 TCP, UDP セグメント / データグラム
インターネット層 ネットワーク間のルーティング IP, ICMP, ARP パケット
ネットワークインターフェース層 物理的な通信 Ethernet, Wi-Fi フレーム
💡
セキュリティの攻撃は各層で発生します。どの層の話をしているか意識すると、攻撃手法の理解が深まります

IPアドレス

  • ネットワーク上の機器を識別するための住所
  • IPv4:192.168.1.1 のように8ビットずつ4つに区切った32ビットの数値

グローバルIPとプライベートIP

種類 用途 アドレス範囲(例)
グローバルIP インターネット上で一意 上記以外のアドレス
プライベートIP LAN内でのみ使用 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16

LAN と WAN

  • LAN(Local Area Network):社内やビル内など限られた範囲のネットワーク
  • WAN(Wide Area Network):地理的に離れた拠点間を結ぶ広域ネットワーク
    • MPLS-VPNや専用線などの閉域網もWANの一種(こちらは比較的安全)
    • インターネット(公衆網)もWANの一種(こちらは信頼できない)
  • セキュリティの文脈では「内部ネットワーク(LAN)は比較的安全、インターネット側は危険」という前提で設計されることが多い
    • 近年は内部ネットワークも侵害されうる前提で、アクセスを都度検証する(ゼロトラスト)考え方が広まっている

CIDR表記とサブネットマスク

  • IPアドレスはネットワーク部ホスト部に分かれる
  • CIDR表記:192.168.1.0/24 → 上位24ビットがネットワーク部
  • サブネットマスク:255.255.255.0 → 同じ意味
  • /24 なら同一ネットワーク内に最大254台(2^8 - 2)のホストを配置できる
10.0.0.0/16 のネットワークには最大何台のホストを配置できるでしょうか?
答え

65,534台(2^16 - 2)

ネットワークアドレス(10.0.0.0)とブロードキャストアドレス(10.0.255.255)を除くため

ブロードキャスト

  • 同一ネットワーク内の全端末にパケットを一斉送信する仕組み
  • 宛先IPにブロードキャストアドレス(例:192.168.1.255)を指定する
  • 攻撃に悪用されることがある(後のセキュリティ講義で扱います)

MACアドレスとARP

MACアドレス

  • ネットワーク機器(NIC)に割り当てられた物理的な識別子
  • 00:1B:44:11:3A:B7 のような48ビットの値
  • IPアドレスが「住所」なら、MACアドレスは「名前」のようなもの
  • LAN内の通信ではMACアドレスを使って宛先を特定する

ARP(Address Resolution Protocol)

  • IPアドレスからMACアドレスを求めるプロトコル
  • 通信の流れ:
    1. 192.168.1.20 のMACアドレスは?」とLAN内にブロードキャスト(ARP要求)
    2. 該当する端末が「00:1B:44:11:3A:B7 です」と応答(ARP応答)
    3. 応答結果をARPテーブルにキャッシュして次回以降はキャッシュを使う
sequenceDiagram
    participant A as 端末A<br>192.168.1.10
    participant Broadcast as LAN内全端末<br>(ブロードキャスト)
    participant B as 端末B<br>192.168.1.20
    A->>Broadcast: ARP要求「192.168.1.20 のMACアドレスは?」
    Note over Broadcast: LAN内の全端末が受信
    B-->>A: ARP応答「00:1B:44:11:3A:B7 です」
    Note over A: ARPテーブルに<br>192.168.1.20 → 00:1B:44:11:3A:B7<br>をキャッシュ
⚠️
ARPには認証の仕組みがないため、偽の応答を返すことが可能です。これがセキュリティ上の弱点になります

TCP と UDP

  • トランスポート層の2大プロトコル
特徴 TCP UDP
接続 コネクション型(接続確立が必要) コネクションレス型(確立不要)
信頼性 高い(到達確認・再送あり) 低い(送りっぱなし)
速度 やや遅い 速い
用途 HTTP, SSH, メールなど DNS, NTP, 動画配信など

TCPの3ウェイハンドシェイク

  • TCPで通信を開始する前に、送信側と受信側で接続を確立する手順
sequenceDiagram
    participant C as クライアント
    participant S as サーバー
    C->>S: ① SYN「接続したい」
    S-->>C: ② SYN-ACK「OK、こちらも接続したい」
    C->>S: ③ ACK「了解、接続確立」
    Note over C,S: データ通信開始
⚠️
この手順を悪用した攻撃が存在します(SYN Flood)。3ウェイハンドシェイクの仕組みを覚えておいてください

UDPの特徴(セキュリティ観点)

  • コネクション確立がないため、送信元IPアドレスの偽装(なりすまし)が容易
  • この特徴がさまざまな攻撃に悪用される
sequenceDiagram
    participant C as クライアント
    participant S as サーバー
    Note over C,S: TCPと違い接続確立なし
    C->>S: データ送信(送信元IPの検証なし)
    Note over S: 送信元IPが本物か<br>確認する手段がない

主要プロトコル

セキュリティ講義で登場するプロトコルを簡単に紹介します。

ICMP(Internet Control Message Protocol)

  • ネットワークの疎通確認や障害通知に使用
  • ping コマンドはICMPエコー要求/応答を使っている
  • ポート番号の概念がない(IP層で直接動作する)

DNS(Domain Name System)

  • ドメイン名(例:example.com)をIPアドレスに変換する
  • 主にUDPの53番ポートを使用
  • 問い合わせは小さいが、応答は大きくなることがある(増幅性)

NTP(Network Time Protocol)

  • ネットワーク上の機器の時刻を同期するプロトコル
  • UDPの123番ポートを使用
  • 小さな要求に対して大きな応答を返す機能がある

ポート番号

  • トランスポート層でアプリケーションを識別するための番号(0〜65535)
  • IPアドレスが「住所」なら、ポート番号は「部屋番号」

代表的なポート番号(Well-known Ports)

ポート プロトコル 用途
22 SSH リモートログイン
53 DNS 名前解決
80 HTTP Webサイト(暗号化なし)
123 NTP 時刻同期
443 HTTPS Webサイト(暗号化あり)
💡
ACL(アクセスリスト)を扱う際にポート番号が登場します。上記は最低限覚えておきましょう

まとめ

概念 ポイント
TCP/IPモデル 4層構造。攻撃がどの層で起きるか意識する
IPアドレス グローバル/プライベート、CIDR表記、ブロードキャスト
ARP IP→MACの変換。認証がなく偽装可能
TCP vs UDP TCPは3ウェイハンドシェイク。UDPは送信元偽装が容易
主要プロトコル ICMP, DNS, NTPの役割と特徴
ポート番号 22(SSH), 53(DNS), 80(HTTP), 123(NTP), 443(HTTPS)