2016-09-23 7 views
-2

私は、ホスト内のプロセス間で通信するために使用できるユニークなIPv6ループバックアドレスを生成できる必要があります。 IPv4のPythonで一意のループバックIPv6アドレスを生成する方法は?

私が見つかりました:

>>> import random, ipaddress 
>>> ipaddress.IPv4Address('127.0.0.1') + random.randrange(2**24 - 2) 
IPv4Address('127.23.181.175') 

は、IPv6のためのアナログはありますか?

+0

IPv6には1つのループバックアドレス(:: 1)があり、IPv4には1600万のアドレス範囲(127.0.0.0/8)があります。 –

+1

これはなぜですか?今は[XY問題](http://meta.stackexchange.com/q/66377/189912)のように見えます。 –

答えて

1

IPv6には、単一のループバックアドレス(::1)しかありません。詳細はRFC 4291, IP Version 6 Addressing Architecture, Section 2.5.3 The Loopback Address

2.5.3です。ループバックアドレス

ユニキャストアドレス0:0:0:0:0:0:0:1はループバックアドレスと呼ばれます。 IPv6パケットをノードに送信するためにノードによって使用される可能性があります。物理インターフェイスには を割り当てる必要がありません。これは、 リンクローカルスコープを持つものとして扱われ、仮想ローカルインターフェイス(通常は「ループバック インターフェイス」と呼ばれます)のリンクローカルユニキャスト アドレスと見なされ、どこにも行き渡らない架空のリンクになります。

単一ノードの外部に送信されたパケット のループバックアドレスをIPv6の送信元アドレスとして使用しないでください。 のループバックの宛先アドレスを持つIPv6パケットは、単一ノードの の外部に送信されてはならず、IPv6ルーターによって決して転送されてはなりません。宛先アドレスがループバックのインターフェイス上で受信されたパケット は、 を廃棄する必要があります。

関連する問題