簡體   English   中英

在Python的netaddr模塊中將IPv4地址更改為IPv6地址時,這是什么意思“ compatible = true”

[英]what does mean “compatible=true”, in changing IPv4 address to IPv6 address in netaddr module in python

例如:

import netaddr
addr = netaddr.IPAddress('192.168.1.1')
addr = addr.ipv6()
addr = addr.ipv(ipv4_compatible=True)

第3行將輸出::ffff:192.168.1.1 ,但第4行將輸出::192.168.1.1 我的問題是,它們到底是什么意思?

如果您想得到一個簡單的答案,請參閱Wikipedia上有關“ IPv4映射的IPv6地址 ”的一些信息,

例如,:: ffff:192.0.2.128表示IPv4地址192.0.2.128。 與IPv4兼容的IPv6地址不建議使用的格式為:: 192.0.2.128。

因此,使用ipv4_compatible = True將使用不贊成使用的格式,而不是當前格式。 否則,您當然可以閱讀標准(RFC 4291)。

請記住,以這種方式將IPv4映射到IPv6地址實際上並不意味着您將使用IPv6。 即使已為IPv6打開套接字,使用這些地址也僅告訴操作系統使用IPv4而不是IPv6。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM