如何将IPv4地址手动转换为IPv6地址?

时间:2014-06-15 06:48:47

标签: ipv6 ipv4 subnet

我想知道是否有任何手动方法可以在不使用转换计算器或工具的情况下将IPv4地址转换为IPv6地址。例如:

我有一个IPv4地址,它的名称为:

129.130.100.11

当它被转换时,答案如下:

0::FFFF:8182:640B

是否有任何公式用于执行此类转换?

任何帮助都会很好。

2 个答案:

答案 0 :(得分:6)

对于IPv6,八位字节通常表示为十六进制数,而IPv4使用十进制数。因此,简化方法是首先将每个十进制八位字节(8位)转换为十六进制:

129 becomes 81
130 becomes 82
100 becomes 64
11 becomes 0B

然后将结果与前两个和最后两个八位字节之间的冒号连接起来:

8182:640B

::FFFF:添加到字符串的前面:

::FFFF:8182:640B

然而,IPv6地址有一些不同的格式。我把它们留在上面,因为你可以看到它们都包含某种类型的十进制十六进制转换和一些简单的字符串格式。其他替代方案包括:

  • 6到4地址
    • 2002:8182:640B:0:0:0:0:0
    • 2002:8182:640B ::
  • IPv4映射地址:
    • 0:0:0:0:0:FFFF:129.130.100.11
    • :: FFFF:129.130.100.11
    • :: FFFF:8182:640B
  • IPv4兼容性地址:
    • 0:0:0:0:0:0:129.130.100.11
    • :: 129.130.100.11
    • :: 8182:640B

答案 1 :(得分:2)

虽然另一个答案也是正确的,但有效的IPv6地址也可能以十进制数字结尾,正是为了提供这类内容。

你可以写

::FFFF:129.130.100.11

你已经完成了。