APIPA

出典: フリー百科事典『ウィキペディア(Wikipedia)』
2013年3月24日 (日) 04:08時点におけるAddbot (トーク)による版 (ボット: 言語間リンク 3 件をウィキデータ上の d:q3274845 に転記)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先: 案内検索

APIPA(Automatic Private IP Addressing、エーピーアイピーエー)は、ネットワーク機器でリンクローカルIPアドレスを自動的に割り当てる機能。

通常、ネットワーク機器は手動で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 Force169.254.1.0 から 169.254.254.255 までのアドレスブロックをIPv4でのリンクローカル用アドレスとして予約していた[note 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と呼ばれることも多い。

IPv6の場合

IPv6では、アドレスブロック fe80::/10 がリンクローカル・アドレッシング向けに予約されている[2]。実際にリンクローカルアドレスとして使われているのはプレフィックス fe80::/64 のアドレス群である[6][note 2]。それらは自動(ステートレス)機構かステートフル(例えば、DHCPv6)機構で割り当てられる[note 3]

IPv4とは異なり、IPv6では使用中のネットワークインタフェースについて必ずリンクローカルアドレスを必要とし、別にルーター通過可能なアドレスなどが割り当てられていてもリンクローカルアドレスが必須である[7]。つまり、IPv6を使用するネットワークインタフェースには必ず複数のIPv6アドレスが割り当てられている。リンクローカルアドレスは近隣者発見プロトコルのIPv6サブレイヤーやDHCPv6などのIPv6ベースのプロトコルで必要とされる。

IPv6では RFC 4862 に規定されている通り、「ステートレスアドレス自動設定」を近隣者発見プロトコル (NDP) の一部として実行する[8]。そのアドレスは、そのインタフェースのMACアドレスとルーティングプレフィックスから構成される。

IPv6のリンクローカルアドレスの割り当てでは、他のスコープのアドレスとは異なり、このルーティングプレフィックスがリンク上に存在することが暗黙に前提とされている。

IPv6では追加のアドレス割り当て手段が提供されている。NDPのルーティングプレフィックス広告を通して、ルーターまたは専用サーバがそのリンクに接続している全インタフェースに設定情報を通知し、それによって受信した各インタフェースで追加のIPアドレス割り当てがなされ、ローカルまたはグローバルのルーティングに使われる。この場合プレフィックスサーバは個々のホストでの割り当てをいちいち受信したり記録したりしないので、この処理もある意味でステートレスである。アドレスの一意性はアドレス選択方式(RFC 4862 の場合はMACアドレス方式、RFC 4941 の場合はランダム方式)と重複アドレス検出 (DAD) アルゴリズムの組合わせによって自動的に保証される

脚注

テンプレート:Reflist

出典

テンプレート:Reflist

関連項目

ru:Link-local address
  1. 1.0 1.1 RFC 3927, Dynamic Configuration of IPv4 Link-Local Addresses, S. Cheshire, B. Aboba, E. Guttman, The Internet Society (May 2005)
  2. 2.0 2.1 RFC 4291,IP Version 6 Addressing Architecture, R. Hinden, S. Deering, The Internet Society (February 2006)
  3. RFC 3927 section 1.9
  4. RFC 3927 section 2.6.1
  5. テンプレート:Cite web
  6. RFC 4291, section 2.5.6. Link-Local IPv6 Unicast Addresses
  7. RFC 4291, section 2.8. A Node's Required Addresses
  8. RFC 4862, IPv6 Stateless Address Autoconfiguration, S. Thompson, T. Narten, T. Jinmei (September 2007)


引用エラー: 「note」という名前のグループの <ref> タグがありますが、対応する <references group="note"/> タグが見つからない、または閉じる </ref> タグがありません