IPA|情報処理技術者試験

【ネスペ午後対策】必須プロトコル解説:ARP, RIP, HTTP/3の仕組みを徹底理解

ネットワークスペシャリスト試験の午後問題では、特定のプロトコルが「なぜ」「どのように」使われているかを問うシナリオが頻繁に出題されます。ARP、PPP、RIPといった古典的なプロトコルから、HTTP/3やQUICのような最先端の技術まで、その動作原理を深く理解していなければ、複雑なネットワークトラブルの切り分けや、最適な設計を論理的に説明することはできません。

「RSTPとBFDはどう使い分けるのか」「GREとMPLSは何が違うのか」「HTTP/2の登場でWeb通信はどう変わったのか」。これらの問いに、自信を持って答えることができますか?

本記事では、ネットワークスペシャリスト試験で問われる多種多様なプロトコルを、「LANの基礎」「WAN接続」「経路選択」「Web高速化」「安定稼働」という5つのカテゴリに分け、それぞれの役割と仕組みを体系的に解説します。個々の知識を整理し、技術同士の関連性を理解することで、実践的な応用力を身につけていきましょう。


目次

LANの基礎を支えるアドレス解決と制御│ARP, RSTP, LLDPの役割

快適な通信の土台となるLAN(Local Area Network)。その安定稼働は、機器同士が互いを認識し、ループのない正常な経路を維持し、管理者がネットワークの構成を正確に把握することにかかっています。このセクションでは、その根幹を支えるアドレス解決の応用技術と、レイヤ2の制御プロトコルについて解説します。

アドレス解決の応用:RARPとGratuitous ARP

IPアドレスからMACアドレスを調べるARP (Address Resolution Protocol)は有名ですが、その仕組みを応用したプロトコルも存在します。

  • RARP (Reverse ARP)
    これは文字通りARPの逆で、自身のMACアドレスからIPアドレスを問い合わせるためのプロトコルです。電源を入れたばかりのディスクレスコンピュータなどが、自身に割り当てられるべきIPアドレスを知らない場合に、「このMACアドレスを持つのは私ですが、IPアドレスは何ですか?」とネットワーク全体に問い合わせるために使われていました。現在では、より高機能なDHCPBOOTPにその役目を譲り、ほとんど使われていません。

  • Gratuitous ARP (GARP)
    これは「ただでくれるARP」という意味で、特定の問い合わせなしに一方的に送信されるARPパケットを指します。主な目的は2つです。

    1. IPアドレスの重複検出: ネットワークに参加したコンピュータが、自身に割り当てられたIPアドレスを送信元としてGARPをブロードキャストします。「このIPアドレスは私が使います!」と宣言するわけです。もし他のコンピュータがそのIPアドレスをすでに使用していれば、そのコンピュータからARP応答が返ってくるため、IPアドレスの重複を検知できます。
    2. ARPキャッシュの即時更新: サーバーの冗長化構成(VRRPなど)で、稼働系から待機系に切り替わった際、新しい稼働系サーバーが自身のMACアドレスと仮想IPアドレスを紐付けたGARPを送信します。これにより、ネットワーク内の各機器は古いARPキャッシュ情報を即座に更新でき、通信断を最小限に抑えることができます。

【実生活での例え】📢

GARPは、新しい部署に来た担当者が「本日から〇〇(IPアドレス)の担当は、私、△△(MACアドレス)です!皆様よろしく!」とフロア全体に挨拶して回るようなものです。これにより、他の社員(ネットワーク機器)は古い担当者の情報を新しいものに更新でき、重複した担当者がいればすぐに発覚します。

レイヤ2のセキュリティと安定性:ARP Spoofing対策とRSTP

ARP Spoofing対策としてのARP Snooping

ARPは信頼性の上に成り立つプロトコルであり、その応答を無条件に信じてしまう脆弱性があります。これを悪用したのがARPスプーフィング(なりすまし)攻撃です。攻撃者は、正規の端末になりすまして偽のARP応答を送りつけ、通信を盗聴・改ざんします。

この対策として機能するのがARP Snoopingです。これは、信頼できるポートと信頼できないポートをL2スイッチ上で設定し、信頼できないポートからの不正なARPパケットを監視・破棄する機能です。通常、ルーターやサーバーが接続されるポートを「信頼できるポート」、クライアントPCが接続されるポートを「信頼できないポート」とします。これにより、クライアントPCが他のPCになりすますことを防ぎます。

ループを防ぐ高速な経路切り替え:RSTP

スイッチを複数台つないでネットワークの冗長性を高めると、意図せずループ構成が生まれ、ブロードキャストストームが発生する危険があります。これを防ぐのがスパニングツリープロトコル(STP)ですが、従来のSTPは障害発生時の経路切り替えに30秒〜50秒ほどかかるという欠点がありました。

RSTP (Rapid Spanning Tree Protocol)は、その名の通りSTPを高速化した改良版のプロトコルです。ポートの状態を細分化し、代替ポートをあらかじめ準備しておくことで、障害発生時には数秒以内という非常に高速な経路切り替えを実現します。現在ではSTPに代わり、RSTPが標準的に利用されています。

隣接機器の情報を交換する:LLDP

LLDP (Link Layer Discovery Protocol)は、ベンダーに依存しない標準的なプロトコルで、ネットワーク上の隣接機器(スイッチ、ルーターなど)の情報を収集するために使用されます。各機器は、自身の持つ情報(ホスト名、ポート番号、VLAN IDなど)をLLDPパケットとして定期的に隣接機器に送信します。

これにより、ネットワーク管理者は、物理的な配線を確認しなくても、どの機器のどのポートが、どの機器のどのポートに接続されているかを正確に把握できます。これはネットワーク構成の可視化やトラブルシューティングにおいて非常に強力なツールとなります。

プロトコル 主な目的 動作レイヤ
RARP MACアドレスからIPアドレスを取得 L2/L3
Gratuitous ARP IPアドレスの重複検出・キャッシュ更新 L2/L3
ARP Snooping ARPスプーフィング対策 L2
RSTP ネットワークループの防止と高速な経路切り替え L2
LLDP 隣接ネットワーク機器の情報の収集 L2

WAN接続とトンネリング技術の基礎│PPP, HDLC, GREの仕組み

離れた拠点間を結ぶWAN(Wide Area Network)接続では、データを安全かつ確実に送り届けるための作法(プロトコル)が定められています。ここでは、一対一の通信を確立する古典的なプロトコルと、ネットワーク上に仮想的なトンネルを作ることで多様な通信を実現するカプセル化技術について解説します。

1対1接続の作法:PPPとHDLC

PPP (Point-to-Point Protocol)HDLC (High-Level Data Link Control procedure) は、主に2つの地点を直接結ぶシリアル通信などで利用される、データリンク層の古典的なプロトコルです。

  • HDLC手順
    元々はメインフレームと多数の端末を結ぶために設計されたプロトコルで、データの誤り検出や再送制御といった信頼性の高い通信を実現します。HDLCでは、データの塊(フレーム)の開始と終了を示すために 01111110 という特別なビットパターン、フラグシーケンスを用います。データ本体に偶然同じパターンが現れても、ゼロ挿入1が5回続いたら強制的に0を入れる)という処理を行うことで、フレームの境界を正確に識別できる仕組みになっています。

  • PPP (Point-to-Point Protocol)
    HDLCをベースに、より汎用的に使えるように拡張されたプロトコルです。家庭用のインターネット接続(PPPoE)の原型としても知られています。PPPの大きな特徴は、単にデータを送るだけでなく、以下の3つの要素で構成されている点です。

    1. カプセル化: HDLC互換のフレーム形式でデータを包む。
    2. LCP (Link Control Protocol): 通信回線の接続確立、維持、切断といったリンク自体の制御を行う。
    3. NCP (Network Control Protocol): TCP/IPなど、上位のネットワーク層プロトコルに関する設定や制御を行う。

【実生活での例え】📦

HDLCが「荷物の梱包ルール(段ボールの形やテープの貼り方)」だとすれば、PPPはそれに加えて「配送伝票の書き方(LCP)」と「内容物の取り扱い指定(NCP)」まで含んだ、より包括的な宅配便の配送手順に例えられます。

ネットワークを越えるトンネル:GRE (Generic Routing Encapsulation)

拠点Aと拠点Bが、インターネットを経由して接続しているとします。このとき、拠点Aの内部でしか使えないプライベートIPアドレス宛のパケットは、そのままではインターネット上を流れることができません。

GRE (Generic Routing Encapsulation)は、このような状況を解決するシンプルなトンネリング技術です。元のパケット(例:プライベートIPパケット)全体を、新たなIPヘッダ(GREヘッダ)で包み込んでカプセル化します。この新しいIPヘッダには、インターネット上の拠点Aと拠点Bの出入り口となるルーターのグローバルIPアドレスが設定されます。

これにより、あたかも拠点Aと拠点Bが直接つながっているかのような仮想的な通信路(トンネル)が形成され、プライベートアドレスでの通信や、インターネットでは通常流せない特殊なプロトコルの通信が可能になります。

【実生活での例え】🚚

社内便(元のパケット)を、遠くの支社に送りたいとします。しかし、社内便は公道(インターネット)を走れません。そこで、社内便のトラックを丸ごと、公道を走れる大型の運送トラック(GREによるカプセル化)に載せてしまいます。これにより、中身を気にすることなく、目的の支社まで安全に届けることができるのです。

プロトコル 主な用途 特徴
HDLC 1対1のシリアル通信 信頼性のあるフレーム転送、フラグシーケンス
PPP 1対1のシリアル通信、PPPoEなど LCP/NCPによる高度なリンク・NW制御
GRE VPNなどのトンネリング 様々なプロトコルをIPパケットでカプセル化

経路選択と次世代ネットワークの転送技術│RIP, NHRP, MPLS

ネットワークが大規模化・複雑化するにつれて、パケットを宛先まで届ける「経路選択」と、それをいかに高速に処理するかという「転送技術」が重要になります。ここでは、小規模ネットワークで利用される古典的なルーティングプロトコルと、より高度なネットワークサービスを実現するための次世代技術を解説します。

ルーティングの基本:RIP (Routing Information Protocol)

RIPは、小規模なネットワークで使われる最もシンプルなルーティングプロトコルの一つです。ประเภทは「ディスタンスベクター型」に分類され、宛先までのホップ数(経由するルーターの数)を距離(メトリック)として、最もホップ数が少ない経路を最適と判断します。

  • RIP-1: クラスフルアドレッシングにしか対応しておらず、サブネットマスクの情報を扱えない古いバージョンです。
  • RIP-2: サブネットマスクの情報(VLSM)を扱えるように改良され、認証機能も追加されたことで、より柔軟なネットワーク設計が可能になりました。

RIPは30秒ごとに自身の知っている経路情報(ルーティングテーブル)を隣接ルーターにブロードキャスト(RIP-2ではマルチキャスト)で広告しあうことで、ネットワーク全体の経路を学習します。シンプルさが利点ですが、最大ホップ数が15と定められているため、大規模ネットワークには適していません。

【実生活での例え】🗣️

RIPは「人から人への伝言ゲーム」のようなものです。「Aさんに行くには、Bさんを経由するのが一番近い(1ホップ)」という情報を、Bさんが隣のCさんに伝えます。Cさんは「Bさん経由ならAさんに2ホップで行ける」と学習し、その情報をさらに隣のDさんに伝えます。このようにして、全員が目的地までの最短乗り換え回数を知るのです。

動的トンネル網でのアドレス解決:NHRP

NHRP (Next Hop Resolution Protocol)は、DMVPN(Dynamic Multipoint VPN)のような、多数の拠点がハブ&スポーク構成で接続されるネットワークで重要な役割を果たします。

通常、拠点(スポーク)間の通信は一度中央のハブを経由するため、非効率です。DMVPNでは、スポーク同士が直接通信するための動的なトンネル(スポーク間トンネル)を確立できます。しかし、通信したい相手拠点のトンネル終端アドレス(物理IPアドレス)が分かりません。

ここでNHRPが登場します。各スポークは起動時に、自身のトンネルアドレスと物理IPアドレスのマッピング情報を、NHS (Next Hop Server)と呼ばれるハブに登録しておきます。スポークAがスポークBと通信したいとき、まずハブ(NHS)に「スポークBの物理IPアドレスは何ですか?」と問い合わせます。ハブから応答を得ることで、スポークAはスポークBとの間に直接トンネルを確立できるようになるのです。これは、ARPがIPアドレスからMACアドレスを解決する仕組みに似ています。

ラベルによる高速なパケット転送:MPLS

MPLS (Multi-Protocol Label Switching)は、従来のIPルーティングの課題を解決し、高速なパケット転送と高度なサービス品質(QoS)を実現するための技術です。

通常のルーティングでは、各ルーターがパケットの宛先IPアドレスを見て、ルーティングテーブルと照合し、次の転送先を決定します。この処理はルーターにとって負荷が高いものでした。

MPLSネットワークでは、入り口のルーター(LER: Label Edge Router)がパケットを受け取ると、宛先に応じて「ラベル」と呼ばれる短い識別子を付与します。ネットワーク内部の中継ルーター(LSR: Label Switch Router)は、パケットのIPヘッダを見ることなく、このラベルだけを見て機械的に次の転送先を判断します。これにより、非常に高速なスイッチング(転送)が可能になります。出口のLERでラベルは取り外され、通常のIPパケットとして宛先に届けられます。

【実生活での例え】🏷️

MPLSは「空港の手荷物タグ」システムです。カウンターで荷物を預けると、行き先(最終目的地)に応じたバーコードタグ(ラベル)が付けられます。空港の内部では、作業員は荷物の中身や宛名(IPヘッダ)をいちいち確認せず、タグのバーコードをスキャンするだけ(ラベルスイッチング)で、荷物を正しい飛行機へと高速に仕分けていきます。

技術 主な目的 特徴
RIP 小規模NWでの経路情報の交換 ホップ数をメトリックとするディスタンスベクター型
NHRP DMVPN等での拠点アドレス解決 ハブ(NHS)が各拠点のIPアドレス情報を管理
MPLS 高速なパケット転送、QoSの実現 IPヘッダを見ず、「ラベル」に基づいて転送処理を行う

Webを高速化するプロトコルの進化│HTTP/2とHTTP/3の世界

現代のWebサイトは、テキストだけでなく、多くの画像、CSS、JavaScriptファイルで構成されています。従来のHTTP/1.1では、これらのリソースを効率的に取得することが難しく、ページの表示速度に限界がありました。ここでは、その課題を解決するために登場したHTTP/2と、さらにその先を目指すHTTP/3の進化について解説します。

HTTP/1.1からの大きな飛躍:HTTP/2

HTTP/2は、Webの体感速度を向上させるために、HTTP/1.1の抱えていたいくつかの根本的な問題を解決しました。

  1. 通信の多重化 (Multiplexing)
    HTTP/1.1では、1つのTCPコネクションで一度に1つのリクエストしか処理できず、多数のリソースを取得するには複数のコネクションを張る必要がありました(HOLブロッキング問題)。HTTP/2では、1つのTCPコネクション上にストリームという仮想的な通信路を複数作り、1つのコネクションで同時に多数のリクエストとレスポンスを並行して送受信できます。これにより、コネクションを張るためのオーバーヘッドが削減され、効率的な通信が可能です。
  2. ヘッダ圧縮 (HPACK)
    HTTPリクエストには、毎回似たようなヘッダ情報(User-Agent, Acceptなど)が含まれており、無駄が多くありました。HTTP/2では、HPACKという専用の圧縮方式を導入し、一度送ったヘッダ情報を差分だけ送ることで、転送量を大幅に削減します。
  3. サーバープッシュ
    クライアントがHTMLファイルをリクエストした際に、サーバーが「このHTMLにはこのCSSとJSファイルが必要だろう」と判断し、クライアントからリクエストされる前に関連リソースを送りつける機能です。

プロトコルネゴシエーション:ALPN

クライアントとサーバーがHTTP/2で通信するためには、TLSのハンドシェイク中に、どのアプリケーション層プロトコル(HTTP/2 or HTTP/1.1)を使うかをお互いに合意する必要があります。この交渉(ネゴシエーション)を行うためのTLS拡張がALPN (Application-Layer Protocol Negotiation)です。これにより、同じポート(443番)を使いながら、相手が対応しているプロトコルに応じてスムーズに通信を開始できます。

TCPの課題を乗り越える:HTTP/3とQUIC

HTTP/2は通信を大幅に効率化しましたが、その土台であるTCPが原因の新たなHOLブロッキング問題が残っていました。TCPではパケットロスが発生すると、後続の正しく届いているパケットも、失われたパケットが再送されるまで待たされてしまいます。HTTP/2では1つのコネクションを共有するため、1つのストリームでのパケットロスが、他のすべてのストリームに影響を与えてしまうのです。

QUIC (Quick UDP Internet Connections)は、この問題を解決するためにGoogleが開発した、UDPをベースとした新しいトランスポート層プロトコルです。

  • UDPベース: そもそも再送制御の仕組みを持たないUDPをベースにすることで、TCPのHOLブロッキング問題を回避します。
  • ストリームごとのフロー制御: QUIC自体が、HTTP/2のストリームに似た、信頼性のある多重化通信の仕組みを持っています。これにより、あるストリームでパケットロスが起きても、他のストリームは影響を受けずに処理を続けられます。
  • 迅速な接続確立: TLSハンドシェイクとコネクション確立を同時に行うことで、TCP+TLSよりも高速に(0-RTTも可能)通信を開始できます。

そして、このQUICの上で動作するHTTPがHTTP/3です。HTTP/3は、Web通信のさらなる高速化と信頼性向上を実現する次世代のプロトコルとして、普及が進んでいます。

【実生活での例え】🛒

  • HTTP/1.1: レジが1つしかないスーパー。前の客の会計が終わるまで、後ろの客はずっと待たなければなりません。
  • HTTP/2: レジは1つだが、超優秀な店員がいて、複数客の商品を同時にスキャンできるようなもの。効率は上がったが、レジ自体が故障(パケットロス)すると、全員がストップします。
  • HTTP/3 (QUIC): セルフレジが複数台あるスーパー。1台のレジでトラブルが起きても、他の客は別のレジで会計を続けられます。

ネットワークの安定稼働とサービス品質│BFD, RSVP, RTSPの役割

ネットワークはただ繋がるだけでなく、常に安定して稼働し、動画や音声のような特定のサービスに求められる品質を保証する必要があります。このセクションでは、障害を瞬時に検知する仕組みや、特定の通信の品質を確保するためのプロトコルなど、ネットワークの信頼性と付加価値を高める技術を解説します。

高速な障害検知メカニズム:BFD

ルーターなどの機器は、OSPFやBGPといったルーティングプロトコル自体が持つタイマー(Hello/Keepalive)を使って隣接機器の死活監視を行っています。しかし、これらのタイマーは秒単位(例:OSPFで10秒)であり、検知までに時間がかかるのが一般的でした。

BFD (Bidirectional Forwarding Detection)は、特定のプロトコルに依存せず、非常に短い間隔(ミリ秒単位)で死活監視パケットを送り合うことに特化した、高速な障害検知専用のプロトコルです。BFDはルーティングプロトコルなどと連携して動作し、BFDが隣接機器との通信断を検知すると、即座にその情報をルーティングプロトコルに通知します。通知を受けたプロトコルは、バックアップ経路へ瞬時に切り替えることができます。これにより、サービス断の時間を劇的に短縮することが可能です。

【実生活での例え】❤️

BFDは、集中治療室(ICU)の心電図モニターのようなものです。通常の健康診断(ルーティングプロトコルのタイマー)が数分〜数十分おきのチェックなのに対し、心電図モニターは心臓の動きを常にミリ秒単位で監視し、異常があれば即座にアラームを鳴らして医師に知らせます。

帯域予約による品質保証:RSVP

ネットワーク上でリアルタイムの動画配信やIP電話を行う際、通信の遅延やパケットロスがサービスの品質を大きく損ないます。

RSVP (Resource Reservation Protocol)は、このような通信のために、ネットワーク経路上の帯域幅を事前に予約し、通信品質(QoS)を保証するためのプロトコルです。通信を開始する前に、送信者から受信者までの一連のルーターに対して「これから毎秒1Mbpsの帯域を使いますので、確保しておいてください」と要求(予約)をします。経路上のすべてのルーターがこの要求を承認して初めて、実際の通信が開始されます。これにより、他の通信の影響を受けずに、安定したサービスを提供できます。

その他の重要プロトコル

  • RTSP (Real Time Streaming Protocol)
    YouTubeのようなオンデマンドの動画配信サービスで使われるプロトコルです。クライアント(視聴者)からの「再生」「一時停止」「早送り」といった再生制御のコマンドをサーバーに送る役割を担います。実際の動画データ(ストリーム)の配送は、RTPといった別のプロトコルが担当します。RTSPは、あくまでビデオデッキのリモコンのような役割です。

  • WPAD (Web Proxy Auto-Discovery) / PACファイル
    企業内ネットワークなどで、Webブラウザのプロキシ設定を自動化するための仕組みです。

    • PAC (Proxy Auto-Config) ファイル: 特定のURLにアクセスする際に、どのプロキシサーバーを使うべきか、あるいはプロキシを使わずに直接接続すべきか、といったルールをJavaScriptで記述した設定ファイルです。
    • WPAD: このPACファイルがどこにあるかを、DHCPやDNSを使ってクライアントPCに自動的に教えるためのプロトコルです。利用者は手動でプロキシ設定をする必要がなくなります。
  • CS-ACELP (G.729)
    これはVoIP(IP電話)で利用される音声コーデック(符号化方式)の一つです。人間の話し声を低いビットレート(8kbps)でデジタルデータに変換・圧縮することができます。ネットワーク帯域の消費を抑えながら、クリアな音質を保つことができるため、多くのIP電話システムで標準的に利用されています。

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