如何在Python中生成唯一的环回IPv6地址?

时间:2016-09-23 22:05:09

标签: python ipv6

我需要能够生成一个唯一的IPv6环回地址,我可以用它来进行主机内进程之间的通信,但不能在它之外进行通信。

对于IPv4我发现:

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

IPv6是否有模拟?

1 个答案:

答案 0 :(得分:2)

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数据包   必须永远不要在a之外发送loopback的目标地址   单个节点,绝不能由IPv6路由器转发。一包   在具有回送目的地址的接口上接收必须   被丢弃。