Site cover image

fhhm’s blog

🌐TCP/IP

情報処理安全確保支援士の試験勉強のまとめ。基礎的な部分だけまとめてみようと思う。『情報処理教科書 情報処理安全確保支援士 2026年版』をベースにしている。

今回はTCP/IPについてをまとめる。

TCP/IPの概要

  • TCP/IP(Transmission Control Protocol/Internet Protocol)は、インターネットや組織内ネットワークで標準的に使われている通信プロトコル群
  • 通信を4つの階層に分類している
TCP/IP階層OSI参照モデルプロトコル例
アプリケーション層アプリケーション層(第7層)
プレゼンテーション層(第6層)
セッション層(第5層)
FTP, Telnet, SMTP, POP3, HTTP, S/MIME, PGP
トランスポート層トランスポート層(第4層)TCP, UDP, SSL, TLS, SSH
インターネット層ネットワーク層(第3層)IPv4, IPv6, ICMP, IPsec
ネットワークインターフェース層データリンク層(第2層)
物理層(第1層)
Ethernet, PPP, FDDI, PPTP, L2TP

IP

  • IP(Internet Protocol)はTCP/IPを構成する代表的なプロトコル
  • ネットワークに接続された機器をIPアドレスで一意に識別し、パケットの経路制御を行う

IPv4

  • IPv4のヘッダーにはバージョン、ヘッダー長、パケットTTL、プロトコル番号、送信元IPアドレス、宛先IPアドレスなどが含まれる
問題点
  • 利用者の増加に伴い、IPアドレスの枯渇可能性
  • オプションフィールドによってヘッダーが可変長となっているため、IPパケットを中継するルーターに負荷がかかる

IPv6

  • 下記を背景で誕生した
    • IPv4のIPアドレス枯渇問題への対応
    • 機密性の高い通信の増加
    • 動画/音声の配信の増加
  • IPv6のヘッダーには、バージョン、優先度、ペイロード長、次ヘッダー、ホップリミット、送信元IPアドレス、宛先IPアドレスなどが含まれる
    • 常に40バイトの固定長
  • 下記を特徴としている
    • ルーター等の負担軽減
    • セキュリティの向上
      • IPv6ではパケット暗号化プロトコルであるIPsecを標準機能としている
      📝 IPsecとは?
      ℹ️
      Internet Protocol Securityの略で、IP通信を暗号化して安全にする仕組みのこと。
    • NAT問題からの解放
      • アドレス空間が大きいので、NATする必要がない

TCPとUDP

  • TCP(Transmission Control Protocol): 信頼性のための確認応答や順序制御などの機能を持つ
    • 3ウェイハンドシェイクで通信を開始する
    • 順序保証や再送機能がある
    • HTTP、ファイル転送などで使われる
  • UDP(User Datagram Protocol): コネクションレスのデータグラム通信を行う
    • 通信開始の手続きはない(コネクションレス)
    • 高速だがTCPに比べて信頼性は低い
    • 動画配信、音声通話などで使われる

ICMP

  • ICMP(Internet Control Message Protocol): IP通信でのエラー関連の情報や制御メッセージを通知するためのコネクションレス型のプロトコル
    • 📝pingはICMPのタイプコード8のエコー要求

電子メール

全体像

Image in a image block
上原孝之. 情報処理教科書 情報処理安全確保支援士 2026年版. 翔泳社
名称主な役割製品、プログラム例
MUA(Mail User Agent)メールの送受信Outlook, Thunderbird, …
MSA(Mail Submission Agent)メールの投稿受付、ユーザー認証Postfix, sendmail, qmail, …
MTA(Mail Transfer Agent)メールの中継Postfix, sendmail, qmail, …
MDA(Mail Delivery Agent)メールボックスへの格納mail.local, procmail, …
MRA(Mail Retrieval Agent)ユーザー認証、メールの取り出しQpoper, uw-imap, …

送受信の流れ

  1. MUAによって作成したメールをLAN上の社内メールサーバーにSMTPで送信する
  2. MSAが送信者の識別/認証を行い、MTAにメールの送信(中継)を依頼する
  3. MTAが社外向けメールサーバーにSMTPで中継する
    1. 📝 社外向けメールサーバー: SMTPゲートウェイサーバー(インターネットとの境界に設置するMTA)
    2. SMTPゲートウェイサーバー以外にウイルス検査用サーバーなどセキュリティを高める各種サーバーを経由する場合も多い
    3. 受信時と送信時で経路が異なることも多い
  4. 送信側MTAが受信側MTAにSMTPでメールを中継する
  5. 受信側MTAが社内メールサーバーのMTAに中継する
  6. 社内メールサーバーのMTAがMDAにメールを引き渡す
  7. MDAが受け取ったメールの宛先メールボックスに格納する
  8. MRAが受信者の識別/認証を行い、メールボックスからメールを取り出してMUAに送る
    1. このとき、POP3やIMAP4が使われる
  9. 受信者がMUAでメールを読む

DNS

リゾルバ

  • 名前解決を行う仕組みで、実体はプログラムや関数
  • スタブリゾルバ: OSなどに搭載されている機能で、フルサービスリゾルバへリクエストして、レスポンスをもとに名前解決をする
  • フルサービスリゾルバ: キャッシュサーバーのこと

コンテンツサーバー

  • 権威DNSサーバーのこと
  • リゾルバからの非再帰的な名前解決要求に対して、自身が管理するドメイン内の名前解決にのみ応じる

キャッシュサーバー

  • リゾルバからの再帰的なリクエストに対して、必要に応じて他のDNSサーバーに問い合わせを行う
  • 名前解決した内容は一定時間キャッシュする
  • オープンリゾルバ: リクエスト元や問い合わせ対象ドメインの制限がないもの
    • DNSキャッシュポイズニングDNSリフレクションに対して脆弱

DNSラウンドロビン

  • 一つのドメイン名に複数のIPアドレスを割り当てておき、負荷分散すること
  • メリット
    • 専用のLBが不要
  • デメリット
    • リクエストごとに接続先が変わるので、セッション管理で問題が発生する可能性がある
      📝 クライアント側で名前解決結果をキャッシュするから特に問題にならないのでは?
      ℹ️
      クライアント(アプリケーション)やOSのDNSキャッシュ、リゾルバなど、複数のレイヤーでキャッシュが行われるが、TTLが切れると名前解決が必要になる。
    • 障害が起こっているサーバーに振り分け続けてしまうことがある

ダイナミックDNS

  • RFC 2136で規定されたDynamic Updates in the Domain Name Systemの呼称
  • 本来は静的情報として管理されているIPアドレスとホスト名の対応を、動的に更新する仕組み
  • これによって、ISPからIPアドレスを動的に付与する環境でも、ホスト名を一定に保つことができる
📝 詳細
ℹ️
本来はIPアドレスとホスト名は静的情報として登録される(example.com ←→ 203.0.113.10)。このとき、サーバーのIPが変わるとDNS設定の更新が必要になる。DDNSでは下記の流れで自動更新を行う。
  • 端末が自分のIPを確認
  • IPが変わったらDDNSサービスへ通知
  • DNSのAレコードを更新

家庭のインターネットでは、ISP(Internet Service Provider)が動的IPアドレスを割り当てることが多いため、昨日と今日でIPアドレスが異なるケースもある。自宅サーバーを公開するときなどでもDDNSを使うとIPアドレスの変更に自動で対応できる。

スイッチ

  • スイッチ: LANに接続される各ホストの集線装置として設置され、サックホストが送信するぱけっとの ヘッダ情報(主にMACアドレス)に基づいて適切な接続ポートにのみパケットを高速送信することでLANの交通整理を行う装置
    • ブリッジスイッチと同様にネットワークセグメント間を接続する装置
    📝 MACアドレスとは?
    ℹ️
    Media Access Controlの略で、ネットワーク機器に割り当てられている固有のハードウェア識別子のこと。LAN内の通信ではMACアドレスを使って通信相手を識別する。

必要性

📝 イーサネットとは?

LANでコンピュータ同士を通信させるための最も一般的な規格のこと。ほとんどの有線ネットワークはイーサネット。

  • スイッチが無い場合、PC-A, B, Cがフレームを受け取り、宛先のPC以外は読み捨てる
    • 無駄なトラフィックが増える
    • 盗聴の危険性も高まる
flowchart TD
    subgraph LAN
        PC1[PC-A]
        PC2[PC-B]
        PC3[PC-C]
    end

    Internet --> Router
    Router --> PC1
    Router --> PC2
    Router --> PC3
  • スイッチによって、LANを論理的に小さなグループに分け、宛先にのみフレームが転送されるようにできる
flowchart TD
    subgraph LAN
        Switch
        PC1[PC-A]
        PC2[PC-B]
        PC3[PC-C]
    end

    Internet --> Router
    Router --> Switch
    
    Switch --- PC1
    Switch --- PC2
    Switch --- PC3

    Switch -->|frame| PC3

VLAN

  • VLAN: L2スイッチに接続されたホストをいくつかのグループに分けることで仮想的に作られたLAN
    • グループとはMACアドレスで直接通信できるホストの集まりで、ブロードキャストドメインとも呼ばれる
  • 異なるVLANは別のネットワークとして扱われる
  • VLAN間でフレームのやり取りをするにはルーターやL3スイッチが必要になる
VLANの構成公式

ポートベースVLAN(スタティックVLAN)

  • スイッチのポート単位に物理的にVLANグループを設定する方式
  • 接続さえすれば誰でもVLANに参加できるため、セキュリティ面では問題がある
  • レイアウト変更などで接続するポートを変えると、VLANの設定も変更しなければならない

アドレスベースVLAN

  • スイッチに接続される各ノードに付されたアドレス(MACアドレス or IPアドレス)によってVLANグループを設定する方式
  • IPアドレスを使う場合は、スイッチがIPアドレスを認識する必要があるため、L3スイッチを使う
  • スイッチのポートとは関係がないため、ポートベースVLANよりも柔軟にネットワークを構成できる

ポリシーベースVLAN

  • 構築したポリシーに沿ってVLANを構成する方式
  • e.g. プロトコルベースVLAN, サブネットベースVLAN

タグVLAN

  • パケット内の拡張タグ(ヘッダー)に指定された情報によってVLANを構成する方式
  • 複数のスイッチにまたがったVLANを構成することが可能

L3スイッチ

  • スイッチにルーティング機能を足したもの
  • スイッチ技術が浸透する前はトラフィックが増加するとルーターに負荷が集中し、ネットワーク全体のボトルネックになっていた
  • 上記の解消のためにスイッチにルーティング機能を持たせたL3スイッチが誕生した

VXLAN

  • Virtual eXtensible Local Area Networkの略
  • L3ネットワーク内に論理的なL2ネットワークを構築するプロトコル

感想

LAN、スイッチについてはほぼ全く知らなかったので、色々調べつつのまとめになった。普段のアプリケーション開発ではあまり気にしなくてもなんとかなる部分なので新鮮でおもしろかった。