リンクローカルアドレス

読み:りんくろーかるあどれす / 英語表記:link-local address

同じリンク(ルータを越えない範囲のネットワーク)の中だけで使えるIPv6アドレス。fe80::/10の範囲で、IPv6の機器は必ず自動で持つ。

イマシルちゃんの解説

IPv6の機器は、ネットワークにつながった瞬間に、まず「ご近所専用の名札」を自分で作るんだ。
これがリンクローカルアドレス!

ご近所専用だから、ルータを越えて遠くには届かない。
でも、ルータを見つけたり、ご近所さんと話したりするには、これで十分なんだよ。

より深い解説

定義

リンクローカルアドレスは、同じリンク内の通信にだけ使えるIPv6のユニキャストアドレスである。プレフィックスはfe80::/10と決まっていて、実際には fe80::/64 の形で使う。ルータは、リンクローカルアドレスを宛先や送信元とするパケットを、ほかのリンクへ転送しない。

IPv6が有効なインタフェースは、グローバルアドレスがあってもなくても、必ずリンクローカルアドレスを自動で持つ。

プレフィックスは固定

リンクローカルアドレスのプレフィックスは仕様で決まっているので、ルータ広告などで受け取る必要はない。ルータ広告で知らせるのは、インターネットでも使えるグローバルユニキャストアドレスのプレフィックスである。

インタフェースIDの作り方

下位64ビット(インタフェースID)は、次のいずれかの方法で作る。

方法内容
修正EUI-6448ビットのMACアドレスの真ん中にFFFEを挟んで64ビットにし、先頭から7ビット目(U/Lビット)を反転させる
ランダムな値などプライバシー保護のため、MACアドレスを含まない値を使う(RFC 7217など)。最近のOSの多くはこちら

例:MACアドレスが 00-1A-2B-3C-4D-5E の場合、修正EUI-64では 021a:2bff:fe3c:4d5e となり、リンクローカルアドレスは fe80::21a:2bff:fe3c:4d5e になる。

作ったアドレスは、使う前に重複アドレス検出で重複がないかを確かめる。

使われる場面

ゾーンIDが必要な理由

どのインタフェースにも同じ fe80::/64 があるため、リンクローカルアドレスだけでは、どのインタフェースから送ればよいか決まらない。そこで fe80::1%eth0 のように、% の後にインタフェースを示すゾーンIDを付けて指定する。

IPv4で似たもの

IPv4では、DHCPサーバからアドレスをもらえなかったときに、169.254.0.0/16の範囲から自動でアドレスを付けることがある(リンクローカルアドレス、APIPA)。

実際の試験ではここに出る!

この用語が出てくる記事

↑