IPv6 / IPv4第三方转换?

我正在阅读如何在Ubuntu上configurationIPv6 ,我已经阅读了关于阅读IPv6地址的一节,虽然前两个例子对我有意义,但是最后一个例子让我有点抓不住了,因为这已经过去了几年我最后一次networking课:

如何将第三种forms转换成长forms?

以下是我遇到的问题:

  • 第三种forms: – 2002 :: 10:0.0.1
  • 长forms: – 2002:0000:0000:0000:0000:0000:0a00:0001
  • 规范forms: – 2002 :: a00:1

我理解hex,而不是在数字超过九的时候,以十进制数字结尾,而不是以十进制数字结尾,最后用A,B,C,D,E和F来递增下一列的数字。

你能告诉我这是如何使用math,而不仅仅是一些在线JavaScript转换器?

谢谢!

    在IPv4中,每个字节由0到255的数字表示; 在IPv6中,使用hex表示代替00到ff。 在那里完成的转换是将IPv4地址的四个字节映射到IPv6地址的最后四个字节:

    IPv4的:

    aaa.bbb.ccc.ddd 

    IPv6的:

     XXXX::AABB:CCDD 

    因此,在input10.0.0.1 ,字节是0a0a ; 导致:

     ::0a00:0001 

    (缩短到::a00:1

    再举一个例子,我们取192.168.50.254

     ::c0a8:32fe 

    你可以看看使用v6decode转换成不同的格式 ; 尝试hover在地址的不同部分,以了解它们在不同格式之间的关系。