APIPA
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/11/17 14:28 UTC 版)
通常、ネットワーク機器は手動でIPアドレスを設定するかもしくはDHCPサーバより自動的に割り振られたアドレスが設定される。しかし、これらを管理する人がいない、あるいは知識がない場合、自身のアドレスを設定する技術として開発された。この技術は小規模な閉じたネットワークを対象としている。
リンクローカルアドレス
リンクローカルアドレス(英: link-local address)とは、ローカルネットワークの範囲内の通信または1対1のコネクションにおいてのみ使用することを意図されているIPアドレスである。ルーターはリンクローカルアドレスのついたパケットを転送しない。
リンクローカルアドレスは管理者が人手で割り当てるか、オペレーティングシステムの手続きによって割り当てる。ほとんどの場合、「ステートレスアドレス自動設定」を使って割り当てる。IPv4では[1]、外部に Dynamic Host Configuration Protocol (DHCP) などのアドレス割り当て機構が存在しない場合や、そういった割り当て機構が失敗した場合にのみ、リンクローカルアドレスを割り当てる。IPv6では[2]リンクローカルアドレスは必須であり、各種プロトコル部品の内部の動作で必要とされる。
IPv4のリンクローカルアドレスはアドレスブロック 169.254.0.0/16 に定義されている。RFC 5735 の中にLink Local Address Blockとして、このアドレスに関する規定がある。IPv6では、プレフィックス fe80::/64 が割り当てられている。
IPv4の場合: APIPA
RFC 3927 において、 Internet Engineering Task Force は 169.254.1.0 から 169.254.254.255 までのアドレスブロックをIPv4でのリンクローカル用アドレスとして予約していた[注 1]。リンクローカルアドレスは他のアドレス割り当て手段が利用可能でない場合、ホスト内部で「ステートレスアドレス自動設定」によってインタフェースに割り当てられる[1]。
RFC 3927 では例えば、リンクローカルアドレスとグローバルなルーター通過可能なアドレスを同一ホストに同時に設定するなど、異なるスコープ[3]での複数アドレスの同時使用に対して警告している。そのため、ホストはリンクローカルアドレスを割り当てる前にネットワーク上にDHCPサーバがないか、問い合わせる。Windowsの実装ではAPIPAによる割り当ての前にDHCPでの接続を試みるため、起動に時間を要する場合がある。
自動アドレス設定処理 (APIPA) では、予約された範囲からランダムに候補アドレスを選択し、Address Resolution Protocol (ARP) 要求をブロードキャストしてネットワーク上の他の機器に同じアドレスが使われていないか、確認する。ARPに応答があれば、候補IPアドレスがすでに使われていることがわかる。その場合、再びランダムに候補IPアドレスを選択し、同じことを繰り返す。この処理はARPパケットに応答がない場合に終了し、候補IPアドレスが使用可能となる。
リンクローカルアドレスが割り当てられた後、グローバルなルーター通過可能なアドレスやプライベートなアドレスが利用可能になった際、新たなコネクションにはリンクローカルアドレスよりもそれらの新しいアドレスを使うことが推奨されているが、リンクローカルアドレスによる通信が突然不可能になるわけではない[4]。
マイクロソフトは、このアドレス自動設定技術を Automatic Private IP Addressing (APIPA) と呼んでいる[5]。一般にはAutoIPと呼ばれることも多い。
注釈
- ^ 169.254/16 のブロックの最初と最後の256個のアドレスは後に RFC 3927 で使うために予約された。
- ^ アドレス範囲 fe80::/10 がリンクローカルアドレス向けに予約されているものの、そのうち54ビットはゼロに設定しなければならないので、実際のプレフィックスは fe80::/64 となる (RFC 4291, section 2.5.6.)。
- ^ しかし、あるホストのインタフェースがリンクローカルアドレスを既に持っている場合、そのホストがそのインタフェースのためにDHCPメッセージを送ってアドレスを得ようとするのは、そのリンクローカルアドレスを別の手段で割り当てた場合に限る(RFC 3315, sections 1.1 and 16 を参照)。
出典
- ^ a b RFC 3927, Dynamic Configuration of IPv4 Link-Local Addresses, S. Cheshire, B. Aboba, E. Guttman, The Internet Society (May 2005)
- ^ a b RFC 4291,IP Version 6 Addressing Architecture, R. Hinden, S. Deering, The Internet Society (February 2006)
- ^ RFC 3927 section 1.9
- ^ RFC 3927 section 2.6.1
- ^ “APIPA”. Microsoft. 2010年8月2日閲覧。
- ^ RFC 4291, section 2.5.6. Link-Local IPv6 Unicast Addresses
- ^ RFC 4291, section 2.8. A Node's Required Addresses
- ^ RFC 4862, IPv6 Stateless Address Autoconfiguration, S. Thompson, T. Narten, T. Jinmei (September 2007)
- APIPAのページへのリンク