ITPub博客

首页 > Linux操作系统 > Linux操作系统 > IPv4如何转换为IPv6?

IPv4如何转换为IPv6?

原创 Linux操作系统 作者:梦共里醉 时间:2019-08-17 00:46:28 0 删除 编辑
ipv6已经逐渐在应用,现在已经有很多的运营商支持ipv6,前天我们也发布了如何让电脑使用ipv6地址?有很多朋友在问?ipv6有什么作用,它的表示方式是什么,今天我们来一起来详细了解下ipv6相关计算与转换。

IPv4如何转换为IPv6?IPv4如何转换为IPv6?

一、什么是ipv6?

我们现在用的是ipv4的地址是32位,例如这样的,59.123.123.123。总数大约有43亿个左右,地球上每个人平均分不了一个,更别说每台电脑了,还要减去内网专用的192、170地址段,就更少了,到现在为止,就更少了。随着科技的进步与物联网的发展,ipv4显然已经满足不了要求了,严重约束了互联网的应用与发展,所以ipv6应运而生。

那什么是ipv6呢?

IPv6是Internet Protocol Version 6的缩写,其中Internet Protocol译为“互联网协议”。IPv6是用于替代现行版本IP协议(IPv4)的下一代IP协议,号称可以为全世界的每一粒沙子编上一个网址。

较之IPv4使用的32位地址,IPv6使用128位地址:

按照地址数的计算方法,我们可以计算出IPv6能够提供的地址数为:

2^128-1个(大约340万亿个)

IPV6地址极为丰富,几乎是取之不尽的,号称地球上的每一粒沙子都能分配到自己的地址,更不用说每台手机、电脑了,连冰箱、洗衣机都能拥有属于自己独一无二的ip地址了,一下子就高大上了不少。

Linux书籍: https://www.linuxprobe.com/books

二、ipv6的好处

ipv6有什么用,这也是很多朋友在问,其实ipv6的好处还是挺多的。

1、拥有使用不完的ip地址数量

128位的ipv6拥有大量的ip地址,为将来数十年提供了足够的IP地址,巨大的地址空间为数十亿新设备提供了全球唯一地址,就是老百姓也可以拥有公网ip了,在ipv4时期,由于地址有限,只有企业才能申请公网,我们使用的网络都是私有地址,而ipv6,每个设备都可以拥有公网ip,那么拥有了公网能干啥呢?

作用非常多,比如我们项目监控,可以直接用公网ip地址访问了,就能很好的解决监控中远程控制访问问题,异地监控集中控制也就不用那么麻烦了。

对于企业或个人也可以搭建服务器,使用唯一标识的ipv6地址就可以访问这个服务器了,共享文件极其简单。

2、多等级层次有助于路由聚合,提供了路由的效率和可扩展性

可以有更快的速度,这个呢,用专业的话讲,人类无法感受到的微小的速度提升,但毕竟还是快了。

3、能够更有效的处理移动性和安全机制

更加安全,以前大家会经常莫名其妙的中木马或者病毒,这个在IPv6里会明显减少。

4、会让智能家居和物联网迎来最好的时代。

难以想象,手机、电脑、汽车、电视、空调、机器人、、、都分到了一个独一无二ip后,会是怎样的,物联网发展将会只受想象力的限制。

三、ipv6的表示方式

IPV6地址的表示采用16进制的表示方法。将128bit分为8组,每组16比特,用4个16进制数表示,各组之间用":"隔开,每组中最前面的0可以省略,但每组必须得有一个数。

1、冒分十六进制表示法

格式为 X:X:X:X:X:X:X:X,其中每个X代表16个bit,以十六进制显示,如下面这些:

ip一:ABCD:EF01:2345:6789:ABCD:EF01:2345:6789

ip二:FEDC:BA98:7654:3210:FEDC:BA98:7654:3210

ip三:1080:0:0:0:8:800:200C:417A

2、0位压缩表示法

在某些情况下,一个IPv6地址中问可能包含很长的一段0,可以把连续的一段0压缩为“::”。但为保证地址解析的唯一性,地址中”::”只能出现一次,例如:

1080:0:0:0:8:800:200C:417A =1080::8:800:200C:417A

FF01:0:0:0:0:0:0:101=FF01::101

FF01:0:0:0:0:0:0:1101 = FF01::1101

0:0:0:0:0:0:0:1 = ::1

0:0:0:0:0:0:0:0 = ::

3、内嵌IPv4地址表示法

为了实现IPv4-IPv6互通,IPv4地址会嵌入IPv6地址中,此时地址常表示为:X:X:X:X:X:X:d.d.d.d,

也就是前6组用冒分十六进制表示,后二组用十进制表示,而最后32bit地址则使用IPv4的点分十进制表示,例如::192.168.0.1与就是一个典型的例子 。

四、如何将ipv4转换为ipv6地址?

上面我们提到了,ipv4地址要与ipv6地址互通,需要将ipv4转换为ipv6地址。

举例:

如果IPv4的一个地址为135.75.43.52,现有32位地址,那么如何转换为ipv6呢?

1、非标准转换:

只需要在ip地址前面6组共96位补充0即可,即

0000:0000:0000:0000:0000:0000:135.75.43.52

也就是::135.75.43.52(内嵌IPv4表示法)

2、标准转换

135.75.43.52 按十六进制算出即87.4B.2B.34,

而87.4B.2B.34串地址一组还是8位,所以需要两组v4地址合成v6地址,

再把前96位补零,它可以被转化为

0000:0000:0000:0000:0000:0000:874B:2B34或者::874B:2B34。

补充下:十进制如何转化为16进制?

这里弱电君有必要补充下十进制如何转化为16进制,在ipv6时代,可能会经常需要用到。

方法是:十进制数除以16,反向取余数,除到不能除为止。当然大家听到这个方法可能是一头雾水,我们具体来看下举例计算过程。

例如10进制的ipv4地址:135.75.43.52 ,化成16进制的。

为了方便大家了解原理,具体计算过程可以看下图:
IPv4如何转换为IPv6?IPv4如何转换为IPv6?
16进制的10、11、12、13、14、15分别用A、B、C、D、E、F来表示。

所以十进制的135.75.43.52 最终得出的是十六进制87.4B.2B.34,转成ipv6就是::874B:2B34。当然也是可以通过工具直接转换。



来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31524109/viewspace-2653973/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2018-03-07

  • 博文量
    59
  • 访问量
    36365