ICTSC2026 一次予選 問題解説: 問40
問40
複数のネットワークインターフェースを持つLinuxホストから、eth0と同一リンクにある宛先IPv6リンクローカルアドレス fe80::1 を指定したい。
ゾーン識別子を含む1つのIPv6アドレス文字列として正しい表記はどれか。
選択肢(択一選択)
- fe80::1/eth0
- fe80::1@eth0
- fe80::1%eth0
- eth0::fe80::1
正解
3
解説
IPv6のリンクローカルアドレスは、その名のとおり同一リンク内でのみ有効なアドレスです。複数のインターフェースを持つホストでは、同じリンクローカルアドレスが異なるリンクに存在し得るため、アドレスだけでは使用するリンクを一意に決められない場合があります。
そこで、使用するリンクを明示的に指定する場合は、IPv6アドレスの後ろにゾーン識別子を付けます。RFC 4007の第11節では、次の表記形式が示されています。
<address>%<zone_id>
Linuxでは、ゾーン識別子としてインターフェース名を使用できるため、fe80::1をeth0と同一のリンクにあるアドレスとして指定する場合は、fe80::1%eth0と表記します。したがって、正解は 3 です。
/はIPv6プレフィックス長を表す際に使われる文字であり、@はゾーン識別子の区切り文字ではありません。また、インターフェース名をIPv6アドレスの前に置くeth0::fe80::1も正しい表記ではありません。