IPA|情報処理技術者試験

【NW試験 午後対策】LB・DHCP・NAPTなど、必須ネットワークサービスを完全理解!

これまでの記事で、ネットワークの基本接続(L2/L3)と主要プロトコルを学んできました。今回はその上で動作する「ネットワークサービス」に焦点を当てます。

Webサイトの安定稼働を支える負荷分散装置(LB)、IPアドレスを自動で払い出すDHCP、インターネット接続に不可欠なNAPT、そして通信を代理するプロキシサーバ。これらは、通信そのものを実現するわけではありませんが、現代のネットワークを効率的かつ安全に運用するためには欠かせない"縁の下の力持ち"です。

本記事では、これらのサービスの役割と仕組みを正確に理解し、午後問題のシナリオ読解力を完成させましょう。

1. 【LB (負荷分散装置)】Webサイトの安定稼働を支える司令塔

人気のWebサイトやサービスでは、大量のアクセスを一台のサーバで処理するのは困難です。LB(Load Balancer、負荷分散装置)は、複数のサーバに処理を振り分ける(負荷分散する)ことで、システムの処理能力や可用性を向上させる重要な装置です。

なぜ負荷分散が必要か?

単一のサーバでサービスを運用すると、アクセス集中時に性能が限界に達し、レスポンスが著しく遅くなったり、サービスが停止したりする可能性があります。また、そのサーバが故障するとサービス全体が停止してしまいます(単一障害点)。LBを導入してサーバを複数台構成にすることで、これらのリスクを回避できます。

負荷分散の代表的な方式

LBには、通信のどの層を見て振り分けを判断するかによって、いくつかの種類があります。

  • L4 LB: トランスポート層(TCP/UDP)の情報、主に宛先IPアドレスとポート番号を見てトラフィックを分散します。高速に動作しますが、通信の中身までは見ません。
  • L7 LB: アプリケーション層の情報、例えばHTTPヘッダやURLを見て、より高度な振り分けを行います。「/images/へのアクセスは画像サーバへ」「/video/へのアクセスは動画サーバへ」といった柔軟な制御が可能です。

学習のポイント:ヘルスチェックとセッション維持

LBの重要な機能として、以下の2つは必ず押さえておきましょう。

  • ヘルスチェック: LBは定期的に配下のサーバが正常に稼働しているかを監視します。応答がないサーバを故障と判断し、自動的に振り分け対象から外すことで、サービス全体の可用性を保ちます。
  • セッション維持: ログインが必要なECサイトなどで、ユーザーの一連の通信が常に同じサーバに振り分けられるようにする仕組みです。送信元IPアドレスやCookieを利用して実現します。

2. 【DHCP/DHCPv6】IPアドレス自動設定の仕組み

ネットワークにPCを接続するたびに、手動でIPアドレスやデフォルトゲートウェイを設定するのは非常に手間がかかり、設定ミスの原因にもなります。DHCP (Dynamic Host Configuration Protocol)は、これらのネットワーク設定情報をクライアントに自動的に割り当てるためのプロトコルです。

DHCPの基本シーケンス

DHCPによるIPアドレスの割り当ては、DORAと呼ばれる4ステップのプロセスで行われます。

  1. Discover: クライアントが、ネットワーク上のDHCPサーバを探すためにブロードキャスト要求を送信します。「誰かIPアドレスを貸してください!」
  2. Offer: 要求を受信したDHCPサーバが、クライアントに貸し出すIPアドレスなどの設定情報を提示します。「このアドレスはいかがですか?」
  3. Request: クライアントは、提示された情報を使用したい旨をDHCPサーバに通知します。「ありがとうございます。そのアドレスを使います。」
  4. Ack (Acknowledgement): DHCPサーバが要求を正式に許可し、IPアドレスの貸し出し(リース)が完了します。「承知しました。どうぞお使いください。」

DHCPリレーエージェントの役割

DHCPのDiscoverメッセージはブロードキャストのため、通常はルータを越えて他のネットワークセグメントには届きません。しかし、各セグメントにDHCPサーバを置くのは非効率です。そこで、ルータなどにDHCPリレーエージェントの機能を持たせることで、特定のDHCPサーバにクライアントの要求を中継(リレー)させることができます。これにより、1台のDHCPサーバで複数のネットワークセグメントを管理できます。

学習のポイント:DHCP Snooping

ネットワーク内に不正なDHCPサーバが設置されると、クライアントに偽のIPアドレスやDNSサーバ情報を割り当て、通信を盗聴するなどの攻撃が可能になります。これを防ぐセキュリティ機能がDHCP Snoopingです。スイッチの機能で、信頼できるDHCPサーバが接続されたポート以外からのDHCP Offerメッセージをブロックします。

3. 【NAPT/NAT】IPv4アドレス枯渇問題を解決する技術

社内LANなどのプライベートネットワーク内で使われるプライベートIPアドレスと、インターネット上で使われるグローバルIPアドレスを相互に変換する技術がNAT(Network Address Translation)です。これにより、限られたグローバルIPアドレスを多くの端末で共有でき、IPv4アドレスの枯渇問題に対応しています。

NATとNAPTの違い

NATとNAPTはしばしば混同されますが、その変換方式には明確な違いがあります。

  • NAT (Basic NAT): プライベートIPアドレスとグローバルIPアドレスを1対1で変換します。この方式では、同時にインターネットへ接続できる端末の数は、利用可能なグローバルIPアドレスの数に制限されます。
  • NAPT (Network Address Port Translation): IPアドレスに加えて、TCP/UDPのポート番号も使って変換します。これにより、1つのグローバルIPアドレスを、異なるポート番号を割り当てることで多数の端末が共有できます。家庭用ルータなどで一般的に使われているのは、このNAPTであり、「IPマスカレード」とも呼ばれます。

NAPTの変換テーブル

NAPTルータは、内部からの通信が発生すると、「送信元プライベートIPアドレス+ポート番号」と「変換後のグローバルIPアドレス+ポート番号」の対応を変換テーブルに記録します。インターネットから戻ってきた応答パケットは、このテーブルを参照することで、どの端末宛の通信かを正確に判断し、適切に振り分けることができます。

学習のポイント:CGNとNAT444

近年では、ISP側でも大規模なNAPT(CGNまたはLSN)を導入し、複数の契約者で一つのグローバルIPアドレスを共有するケースが増えています。この結果、ユーザ宅内のNAPTとISPのCGNで、2段階のNAPT(NAT444)が行われることがあります。この構成がなぜ必要で、オンラインゲームやサーバ公開などにどのような影響を与えるかを理解しておくことが重要です。

目的:IPv4枯渇への対処として、限られたグローバルIPv4を多数ユーザで共有しつつ通信を継続する。

用語整理

  • NAPT:アドレス+ポート番号を変換し、多数端末を少数のグローバルIPで収容。
  • CGN / LSN:ISP側で行う大規模NAPT。加入者宅のNAPTと組み合わさり二重NATになりやすい。
  • NAT44:「IPv4 → IPv4」のアドレス変換の総称。家庭用ルータのNAPTやCGN/LSNも含まれる。
    ※「NT44」と表記されることもあるが一般的にはNAT44

典型トポロジ(簡易テキスト図)

宅内端末 192.168.1.2:12345
   ↓(宅内NAPT)
宅内ルータ 10.0.0.2:50001
   ↓(ISPのCGN/LSNでNAPT)
グローバル 203.0.113.1:40001 → インターネット
  

※ ISP内の加入者向けアドレスで 100.64.0.0/10(CGNAT用)を使うことが多い。

メリットとデメリット

観点 メリット デメリット
IPv4資源 少数のグローバルIPv4で多数ユーザを収容 固有グローバルIPの付与が困難(固定IP要件に不向き)
疎通性 アウトバウンド中心の通信は容易 インバウンド通信不可、P2P/VoIP/ゲームに影響
運用・追跡 IPv4消費抑制で運用継続可能 ログはIP+ポート+時刻で記録必須、規模・保全コスト増
パフォーマンス 冗長化で高可用性構成可能 CGN装置がボトルネック/単一障害点になり得る

学習要点

  • NAT44=IPv4→IPv4変換の総称。
  • CGN/LSN=ISPレベルの大規模NAPT。二重NAT・ログ管理・アプリ互換が論点。
  • 根本解決はネイティブIPv6の普及。

4. 【プロキシサーバ】代理アクセスによるセキュリティと効率化

プロキシ(Proxy)とは「代理」を意味し、プロキシサーバは文字通り、クライアントやサーバに代わってインターネット接続を中継するサーバです。誰の代理として、どこに設置されるかによって、大きく2種類に分類されます。

フォワードプロキシとリバースプロキシ

  • フォワードプロキシ: 社内ネットワークなど、内部のクライアントの代理としてインターネットにアクセスします。クライアントからのリクエストを一度受け取り、クライアントに代わってWebサーバへ接続します。これにより、クライアントのIPアドレスを隠蔽したり、特定のWebサイトへのアクセスを制限(URLフィルタリング)したりできます。
  • リバースプロキシ: Webサーバなど、公開サーバの代理としてクライアントからのアクセスを受け付けます。外部からのリクエストを一旦受け取り、後段の適切なWebサーバに転送します。負荷分散(ロードバランシング)機能を持たせたり、SSL/TLSの暗号化・復号処理を肩代わりさせたり(SSLアクセラレーション)する役割を担います。

学習のポイント:具体的な利用目的

プロキシサーバは、単に通信を中継するだけでなく、その通信に介在することで様々な付加価値を提供します。午後問題では、構成図の中でプロキシサーバがどのような目的で利用されているかを問われることがよくあります。

  • セキュリティ向上: URLフィルタリング、ウイルスチェック、不正アクセスの防止
  • 負荷軽減: キャッシュによる応答の高速化、SSLアクセラレーション
  • 匿名性の確保: 内部クライアントのIPアドレス隠蔽

これらの具体的な役割を、フォワード/リバースのどちらの機能なのかと関連付けて整理しておくことが重要です。


まとめ

今回解説したLB、DHCP、NAPT、プロキシサーバといったネットワークサービスは、通信そのものを実現する技術ではありませんが、現代のネットワークを効率的かつ安全に運用するためには不可欠な要素です。

午後問題では、これらのサービスが構成図のどこに配置され、どのような目的で、どのような設定で動作しているかを読み解くことが求められます。特に、通信の「流れ」がこれらのサービスによってどのように変化するのかを意識することが重要です。各サービスの役割を正確に覚え、実践力をさらに高めていきましょう。

-IPA|情報処理技術者試験