リンクローカルアドレス

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

同じリンク(ルータを越えない範囲)内での通信に使うIPアドレスである。IPv4とIPv6の両方に存在し、IPv4では169.254.0.0/16、IPv6ではfe80::/10の範囲を使う。これらのアドレスを送信元または宛先とするパケットを、ルータは別のリンクへ転送しない。

イマシルちゃんの解説

IPv6の通信を始めるときは、インターネット用のアドレスをまだ持っていなくても、近くのルーターとやり取りしたい場合があるよ。
そのときに使えるのが、リンクローカルアドレスというIPアドレスだよ。
使えるのは、ルーターを越えずに直接やり取りできる同じネットワークの中だけなんだ。

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)。

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

ネットワークスペシャリスト

午前Ⅱ
午後Ⅱ

この用語が出てくる記事

↑