令和7年 午後Ⅱ問1 が 1 問まるごと IPv6 でした。IPv4 と「似ているが少しずつ違う」ところが設問になるので、 IPv4 で当たり前だった何が IPv6 には無いか(ブロードキャスト、ARP、NAT、途中ルータでのフラグメント)を軸に、 PC がアドレスを手に入れて通信を始めるまでの順番どおりに説明します。
IPv4 のアドレスは 32 ビットで約 43 億個しかなく、世界中で新規の割当てが枯渇しています。多くの組織は NAPT(1 つのグローバルアドレスを社内で共有)でしのいできましたが、 NAPT には「外から内への通信が始められない」「変換装置が性能と障害の単一点になる」「端末ごとの識別ができない」という限界があります。
そこで 128 ビットのアドレスを持つ IPv6 が作られました。アドレスは事実上無限なので端末 1 台 1 台にグローバルアドレスを振り、NAT なしで端から端まで通すのが基本設計です。 SaaS やクラウド、スマートフォン網はすでに IPv6 が標準で、社内ネットワークも対応を迫られています。
128 ビットを 16 ビットずつ 8 ブロックに分け、16 進で書いてコロンで区切ります。各ブロックの先頭の 0 は省略でき、0 だけのブロックが連続する箇所は1 か所だけ :: に縮められます。
2001:0db8:0000:0000:0008:0800:200c:417a → 2001:db8::8:800:200c:417a (先頭 0 を省略し、連続する 0 ブロックを :: に) ::/0 デフォルトルート(全部 0、プレフィックス長 0) ::1/128 ループバック(IPv4 の 127.0.0.1)
社内のセグメントは原則/64 です。上位 64 ビットがネットワークを表すプレフィックス、下位 64 ビットがそのセグメント内で端末を区別するインタフェース ID です。 インタフェース ID は、MAC アドレス 48 ビットの真ん中に ff:fe を挿入して 64 ビットにし、先頭から 7 ビット目を反転して作る Modified EUI-64 方式か、乱数で作ります。
| 種類 | 範囲 | 役割 |
|---|---|---|
| GUA(グローバルユニキャスト) | 2000::/3 | インターネットで到達できるアドレス。IPv4 のグローバルアドレスに相当。ISP から /48 などの塊でもらう |
| LLA(リンクローカル) | fe80::/10(実際は fe80::/64) | 同じリンク(データリンク層で届く範囲)の中だけで有効。ルータを越えない。全インタフェースが必ず 1 つ持つ。近隣探索・RA・OSPFv3 の隣接関係はこれで行う |
| ULA(ユニークローカル) | fc00::/7(実際は fd00::/8) | 組織内だけで使う。IPv4 のプライベートアドレスに相当。インターネットには出さない |
| マルチキャスト | ff00::/8 | ff02::1 全ノード、ff02::2 全ルータ、ff02::5 全 OSPF ルータ、ff02::1:ffxx:xxxx 要請ノード |
| エニーキャスト | ユニキャストと同じ形 | 同じアドレスを複数の機器に付け、経路上いちばん近いものが応答する |
IPv4 では DHCP サーバが IP アドレス・サブネットマスク・デフォルトゲートウェイ・DNS をまとめて配りました。IPv6 ではルータ自身が RA でプレフィックスとデフォルトルータを教え、端末が自分でアドレスを作るのが基本です(SLAAC、ステートレスアドレス自動設定)。 この手順はすべて ICMPv6 の近隣探索プロトコル NDP のメッセージで行われます。
PC は fe80::/64 に自分のインタフェース ID を付けて仮の LLA を作ります。ただちに使わず、「このアドレスを使っている人はいますか」と NS(Neighbor Solicitation、近隣要請)を要請ノードマルチキャスト宛てに送ります。 一定時間 NA(Neighbor Advertisement、近隣広告)が返ってこなければ誰も使っていないと判断して正式採用します。これが DAD(重複アドレス検出)です。
LLA を送信元にして全ルータマルチキャスト ff02::2 へ RS(Router Solicitation、ルータ要請)を送ります。ルータは RA(Router Advertisement、ルータ広告)で「このリンクのプレフィックスは 2001:db8:aabb:1::/64」「デフォルトルータは私(送信元の LLA)」を返します。 RA は RS が無くても定期的に送られています。
RA でもらったプレフィックスに、すでに決めてあるインタフェース ID をくっつけて GUA を作ります。新しく作るのは上位 64 ビットだけで、下位は LLA と同じです。これも仮アドレスとして NS を送り、応答が無ければ正式採用します。だから図2 には NS/NA が 2 往復出てきます。
同じリンクの相手に送るとき、IPv4 は ARP リクエストをブロードキャストし、相手が ARP リプライで MAC を返しました。IPv6 は同じことを NS/NA で行います。 NS の宛先は相手の要請ノードマルチキャストアドレス(ff02::1:ff +相手アドレスの下位 24 ビット)で、下位 24 ビットが一致する端末だけが受け取って NA を返します。 解決結果は ARP テーブルの代わりに近隣キャッシュに入ります。
| IPv4 | IPv6 | 備考 |
|---|---|---|
| ARP リクエスト(ブロードキャスト) | NS(要請ノードマルチキャスト) | 関係ない端末の NIC を起こさない |
| ARP リプライ | NA | 送信元リンク層アドレスオプションに MAC を入れる |
| Gratuitous ARP(重複検出) | DAD(NS に応答が無いことを確認) | LLA と GUA で 2 回行う |
| DHCP の配布(アドレス・GW) | RS/RA(プレフィックス・デフォルトルータ) | DHCP サーバ不要。DNS サーバは RA の RDNSS オプションか DHCPv6 で |
| ICMP リダイレクト | NDP リダイレクト | 別のルータの方が近いと教える |
RA には M フラグと O フラグがあります。M=1 なら「アドレスは DHCPv6 サーバからもらえ」(ステートフル DHCPv6)、O=1 なら「アドレスは SLAAC で作り、DNS サーバなどのその他の情報だけ DHCPv6 で取れ」(ステートレス DHCPv6)です。 どの端末にどのアドレスが付いたかを台帳で管理したい企業はステートフル DHCPv6 を選びます。
ISP やレジストリからは組織単位で /48 をもらうのが標準です。/48 から /64 までの 16 ビットでサブネットを 65,536 個作れるので、「拠点ごとに /56 や /52 を切り、その中で VLAN ごとに /64」という階層設計にします。 階層にしておくと、拠点ルータは自分の配下を 1 本の経路(/52 など)に集約して本社に広告でき、経路表が小さくなります。
IPv6 の経路制御は OSPFv3(IPv6 版 OSPF)か BGP(MP-BGP の IPv6 アドレスファミリ)で、仕組みは IPv4 版と同じです。違いは次の 3 点です。
上流ルータ A が「2001:db8:yyyy::/48 はルータ B へ」という集約経路を持ち、B は実在する /64 だけを知っていると、/48 の中の未使用アドレス宛てのパケットは、B で一致する経路がデフォルトルートしかないため A に送り返され、A はまた B へ送ります。 IPv4 の TTL にあたるホップリミットが 0 になるまで往復して廃棄されます(ルーティングループ)。
対策は B に /48 → Null(廃棄用の経路、ヌルルート)を置くことです。実在する /64 はプレフィックス長が長いのでロンゲストマッチで優先され、正常な通信には影響しません。 IPv4 でも同じ話ですが、IPv6 は /48 を丸ごともらうので集約が前提になり、この論点が出やすくなります(令和7年 午後Ⅱ問1 設問4(5)(6)、IPv4 では令和3年 午後Ⅰ問2)。
IPv4 では NAPT があるおかげで「内側から始めた通信の戻りしか入ってこない」という事実上の防壁がありました。IPv6 は端末までグローバルアドレスを振るので、この防壁はありません。 FW のアクセス制御だけが頼りになるので、FW のポリシー設計が必須です(令和7年 午後Ⅱ問1 設問4(7))。 逆に、ルータ間のリンクに GUA を振らず LLA だけにしておけば、インターネットから到達しようがないのでアクセス制御の代わりになります(同 設問4(1))。ただし traceroute6 で経路を調べたとき LLA しか表示されず機器を識別しにくいので、管理用に GUA を振る設計もあります(同 設問4(2))。
IPv4 では途中のルータが大きいパケットを分割(フラグメント)できましたが、IPv6 では途中のルータは分割しません。送信元だけが分割できます。 そのため送信元は PMTUD(パス MTU 探索)で経路上の最小 MTU を知る必要があり、途中のルータが返す ICMPv6 の「Packet Too Big」メッセージを使います。 FW で ICMPv6 を全部落とすと PMTUD が働かず通信が壊れるので、「ICMPv6 は一律拒否してはいけない」が設計の定石です(同 設問4(8))。
社内を IPv6 対応するときの現実解は、IPv4 と IPv6 を両方動かすデュアルスタックです。端末は名前解決で A(IPv4)と AAAA(IPv6)の両方を引き、IPv6 を優先して接続します。 IPv6 がつながらなければ OS やブラウザが黙って IPv4 で再試行します(Happy Eyeballs)。
DNS の応答は AAAA が増えると大きくなります。UDP の 512 バイトを超える場合、EDNS0 に対応していれば UDP のまま大きな応答を扱えますが、相手が EDNS0 に非対応なら TCP の 53 番に切り替えて問い合わせます(同 設問3(1))。 逆引きは ip6.arpa ゾーンで、アドレスを 4 ビットずつ逆順に並べます。
| 方式 | 仕組み | 使いどころ |
|---|---|---|
| デュアルスタック | 全機器が IPv4 と IPv6 を両方持つ | 企業ネットワークの基本。管理対象が 2 倍になる |
| トンネル(6in4・6rd など) | IPv6 パケットを IPv4 で包んで IPv4 網を越える | IPv4 しか通らない区間を越えるとき。MTU が減る |
| DNS64 / NAT64 | IPv6 だけの端末が IPv4 サーバと話す。DNS64 が A を合成 AAAA(64:ff9b::/96 など)に変換し、NAT64 が IPv6 → IPv4 に変換する | スマートフォン網や IPv6 オンリー網 |
| 464XLAT | 端末側の CLAT と網側の PLAT(NAT64)の 2 段変換で、IPv4 しか話せないアプリも IPv6 オンリー網で動かす | 携帯網で標準 |
| 用語 | 意味 | 午後でのポイント |
|---|---|---|
| LLA(リンクローカルアドレス) | fe80::/64。同じリンク内だけで有効 | デフォルトルータ・OSPFv3 の隣接とネクストホップはこれ。リンクが違えば重複してよい |
| GUA(グローバルユニキャスト) | 2000::/3。インターネットで到達できる | RA のプレフィックス+インタフェース ID で作る。ルータ間リンクに振らなければ外から到達されない |
| インタフェース ID | 下位 64 ビット。EUI-64 か乱数 | EUI-64 は端末追跡の問題があり非推奨。乱数だと管理者が PC を特定しづらい |
| NDP(近隣探索) | ICMPv6 の NS/NA/RS/RA/リダイレクトの 5 種 | NS/NA が ARP と DAD、RS/RA がプレフィックス配布 |
| DAD(重複アドレス検出) | 仮アドレスで NS を送り応答が無いことを確認 | LLA と GUA で 2 回。「同じリンク上に同じアドレスの端末がいないことを確認するため」 |
| SLAAC | RA のプレフィックスで端末が自分でアドレスを作る | DHCP サーバ不要。ルータが RS に RA で応答する設定が要る |
| RA の M/O フラグ | M=アドレスも DHCPv6、O=その他情報だけ DHCPv6 | 台帳管理したいならステートフル DHCPv6 |
| 要請ノードマルチキャスト | ff02::1:ff +アドレス下位 24 ビット | ブロードキャストの代わり。該当端末だけが受け取る |
| ホップリミット | IPv4 の TTL。ルータを通るたびに 1 減る | ループの終わり方を説明するときに使う |
| ヌルルート | 廃棄先を Null にした経路 | 集約経路と対で置き、未使用アドレス宛てのループを防ぐ |
| ロンゲストマッチ | プレフィックス長が最も長い経路を選ぶ | ヌルルート(/48)より実在経路(/64)が勝つ理由 |
| PMTUD / Packet Too Big | 経路上の最小 MTU を ICMPv6 で知る | 途中ルータは分割しない。ICMPv6 を一律拒否すると壊れる |
| AAAA レコード | 名前 → IPv6 アドレス | デュアルスタックでは A と両方引く。応答が大きくなると TCP |
| Happy Eyeballs | IPv6 を優先しつつダメなら IPv4 へ即座に切替 | 障害に気づけない。ping6 監視が要る |
| RA ガード | 許可ポート以外からの RA を捨てる L2SW 機能 | 不正 RA 対策。DHCP スヌーピングの IPv6 版 |
| OSPFv3 | IPv6 版 OSPF。LLA で隣接、ルータ ID は 32 ビット | ネクストホップは LLA。出口 IF とセット |
| 設問の型 | 答え方 | 出た年度 |
|---|---|---|
| IPv4 の ARP の手順の空欄(宛先 IP アドレス・ブロードキャスト・リプライ) | ARP リクエストはターゲット IP を入れてブロードキャスト、相手が ARP リプライで MAC を返す。対比で NS/NA を説明させる前振り | R7 午後Ⅱ問1 |
| アドレス構造の数字(16 ビット区切り・MAC 48 ビット・ID 64 ビット) | 8 ブロック×16 ビット、EUI-64 は 48 ビット MAC から 64 ビット | R7 午後Ⅱ問1 |
| LLA が一意であればよい範囲 | データリンク層で通信可能な範囲(同じリンクの中) | R7 午後Ⅱ問1 |
| 仮アドレスで NS を送る目的 | 同じリンク上に同じアドレスを使うノードがいないことを確認するため(DAD) | R7 午後Ⅱ問1 |
| RA から作られる GUA とプレフィックス長 | RA のプレフィックス+LLA と同じインタフェース ID、/64 | R7 午後Ⅱ問1 |
| 乱数のインタフェース ID の管理上の考慮点 | PC を特定しづらくなる(メリットのプライバシーではなくデメリットを書く) | R7 午後Ⅱ問1 |
| DNS 応答が大きいときのプロトコル | TCP(EDNS0 非対応で 512 バイト超) | R7 午後Ⅱ問1 |
| IPv6 の障害に利用者が気づかない理由 | IPv4 にフォールバックして同じページにアクセスできるから。監視は ping6 | R7 午後Ⅱ問1 |
| ルータ間リンクに GUA を割り当てない理由 | インターネットからルータや FW にアクセスできないようにするため | R7 午後Ⅱ問1 |
| SLAAC のために L3SW が行う動作 | PC の RS に対して RA を応答する(メッセージ名を必ず書く) | R7 午後Ⅱ問1 |
| 経路表のネクストホップ(空欄) | 出口 IF の対岸にある機器の LLA(fe80::1 など)。GUA ではない | R7 午後Ⅱ問1 |
| ヌルルートが無いときの動作と、あるときに効く理由 | ホップリミットが 0 になるまで転送し合い廃棄。ロンゲストマッチで実在経路が優先される | R7 午後Ⅱ問1(IPv4 の集約は R3 午後Ⅰ問2) |
| IPv4 で防壁になっていた機能 | NAPT | R7 午後Ⅱ問1 |
| PMTUD で分かるもの | 通信経路における最小の MTU | R7 午後Ⅱ問1 |
クリックで答えが開きます。
手元の Windows PC だけでも、2 章・3 章の大半は確認できます。
ipconfig /all IPv6 アドレス(一時アドレスが複数)、リンクローカル fe80::…、デフォルトゲートウェイが fe80:: で表示される netsh interface ipv6 show neighbors 近隣キャッシュ(ARP テーブルの IPv6 版) netsh interface ipv6 show route ::/0 のネクストホップがルータの LLA になっている ping -6 ipv6.google.com / tracert -6 IPv6 到達性。ISP が IPv6 非対応だと失敗する(それ自体が学び) nslookup -type=AAAA www.google.com AAAA レコード Cisco(OSPFv3 の最小形) ipv6 unicast-routing interface GigabitEthernet0/1 ipv6 address 2001:db8:1:1::1/64 ipv6 ospf 1 area 0 ipv6 router ospf 1 router-id 1.1.1.1 ← IPv6 でも 32 ビット show ipv6 route ospf ← ネクストホップが FE80:: で表示される
このページの用語集(16 語)から作った確認問題です。「意味 → 用語」は意味の説明(用語そのものは__で伏せてある)を読んで用語を入力し、Enter で答え合わせします。 表記ゆれで × になったときは「合っていた」で直せます。「用語 → 意味」は口で説明してから答えを開いて自己採点します。結果はこのブラウザに保存され、「×だけ」で間違えた語だけを解き直せます。
作成 2026-10-28。ネットワークスペシャリスト 科目B(午後)対策。出典の年度・設問番号は IPA 公開の解答例で確認したもの(令和7年春 午後Ⅱ問1、令和3年春 午後Ⅰ問2)。 関連: OSPF とは、DNS とは、午後 解答用紙 令和7年。