zoukankan      html  css  js  c++  java
  • IPv4如何转换为IPv6?

    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地址了,一下子就高大上了不少。

    二、ipv6的好处

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

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

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

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

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

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

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

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

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

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

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

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

    三、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。当然也是可以通过工具直接转换。

  • 相关阅读:
    Docker--Dockerfile引用及指令集的功能用法
    Docker容器的启动与停止
    Docker--删除容器实例和镜像
    CentOS安装Docker
    Docker运行简单的Demo
    VMware安装的Windows10下Docker的安装
    ASP.NET Core使用EPPlus操作Excel
    只有程序员才懂的幽默(转)
    iOS 简单代理(delegate)实现
    iOS设计模式——委托(delegate)
  • 原文地址:https://www.cnblogs.com/linuxprobe/p/11367075.html
Copyright © 2011-2022 走看看