什么是ipv6地址

知识技巧 - 什么ipv6地址还不是很熟,看完这篇文章,你就知道什么是ipv6了?

图片需求描述

兄弟们,是不是对ipv6还有点陌生,看到这么一长串数字,看着就头疼,那是因为你对ipv6地址还不是很熟,那今天我们就来从最简单的讲起,谁都能看懂的ipv6文章?看完ipv6这几个小知识点,那你就明白了什么是ipv6地址了。

图片解决过程

首先我们来看一下,ipv4和ipv6都一共有多少个ip地址,我们换算一下,ipv4是有42.9亿个IP地址,但是ipv4地址已经耗尽。

那现在ipv6有多少个ip地址呢?ipv6约3.4 x 10^38个地址,可以满足无限数量的设备需求,号称可以为全球每一粒沙子分配一个ipv6地址,那就问你ipv6牛不牛吧!

图片

我们在学习ipv4时,ipv4是以点分十进制表示的,如:192.168.1.1这个一看就是ipv4地址,点分十进制表示,一共32bit。

192.168.1.1十进制转换成二进制。

1100 0000.1010 1000.0000 0001.0000 0001

可以数一下,一共32bit(位)。

那ipv6,是以冒号分隔十六进制表示:

“2001:0db8:85a3:0000:0000:8a2e:0370:7334”

图片

我们来看一下2001,这四个数字,这四个数字都是16进制的。

那2的16进制转换成二进制就是0010。

那0的16进制转换成二进制就是0000。

那0的16进制转换成二进制就是0000。

那1的16进制转换成二进制就是0001。

这个ipv6地址的第一段2001:就是0010 0000 0000 0001,一共是16bit(位)。那一个ipv6,一共用有8段,那一共就是128bit(位)。

那我们再来看一下,我电脑中的ipv6地址。我们再来分析一下,本地链接ipv6地址。

图片

fe80::92e7:276c:b5e0:3409%5

我们在这个ipv6地址,后面发现有个%,那这个%号后面的数字5是什么意思呢?我们来看一下?

我们来看一下,这个%5,这个5到底是什么?我们使用route print或者使用netstat -r(也是显示路由表)。我们可以看到,接口列表中,有个数字5。这个数5就是这个网卡的接口标识。

图片

我们再使用,ipconfig/all查看一下,这个网卡的ipv6地址,可以看到%5,就是我们在上图中看到的这个网卡的接口标识,相当于网卡在系统中的编号。

图片

那我们再分析一下,我们电脑自己的ipv6网卡,对于很多小白,可能对十六进制和二进制转换不太熟悉,那就看这张表。

图片

fe80::92e7:276c:b5e0:3409,这个就是我电脑ipv6的地址。

十六进制的f转换成二进制:f=1111bit

十六进制的e转换成二进制:e=1110bit

十六进制的8转换成二进制:8=1000bit

十六进制的0转换成二进制:0=0000bit

fe80也就是1111 1110 10000 0000 一共是16bit。

那一共有8组这个fe80的组合,那就是8x16bit=128bit。那ipv6也就是128bit位。

fe80::92e7:276c:b5e0:3409

为什么我这个ipv6,只有5组呢?不是说好有8组16bit位的吗?一共是128bit,一共有8组,现在怎么只有5组了呢?

那是由于,ipv6地址太长了,有的时候,会有很多个0,也是为了让ipv6地址更容易看,所以也有缩写方式。

图片

当ipv6中,8个段中,有多个段是连续的0组成,这时就可以通过::两个冒号,代表其中省略的0。

我们再来看一下,我电脑的ipv6地址,fe80::,后面有两个冒号,这两个冒号代表着:连续的3组16bit都是0,这时就可以缩写成两个冒号,而且,一个ipv6地址中,仅且只能有一组双冒号代替。如果一个ipv6地址中,有多个“::”你就分不清这两个冒号中,分别有几个0了,这样容易产生歧义。

于是ipv6在书写的时候,没有ipv4那么好写,而且,ipv6这巨大的地址空间,就难免,ipv6地址中会有很多个0,这时如果有连续的0出现,就可以使用两个冒号代替。

如果写全了,就是如下所示:

fe80:0000:0000:0000:92e7:276c:b5e0:3409

学习ipv6地址之前,我们还要在学一个mac地址,mac地址是由6组两个十六制组字母组成,一共48位。本地链接pv6地址,就是通过这mac地址演变过来的。

图片

我们都知道,ipv4地址是分网络位和主机位的,那ipv6是怎么分的呢?

ipv6是分前缀和接口标识的。前64个是ipv6前缀,后64个是接口标识。前缀就相当于我们的ipv4的网络位,接口标识,就是我们主机位。

图片

我们再来看一下,ipv6的地址分类。

ipv6地址分为这三种类型,单播地址、任播地址、组播地址。其实,我们除了把组播地址除外,把任播地址,也可以看作是单播地址。

图片

那我们先来看一下,这几个地址的类型吧!

首先我们来看一下,全球单播地址,什么叫全球单播地址呢?地址可以在全球上面跑,那肯定就是公网地址了,就相当于ipv4中的公网地址,当然了,你想获取这个全球单播地址,那肯定是要向运营商申请的。

图片

240e:03a0:1519:a141这是前4段。

其实这开头的240e或者2000,开头的都是有规定的。

IANA就是分配IPv6地址的机构。ipv6按全球地区划分。一个是North American北美是2001开头的ipv6地址,另外一个是Africa 亚洲2ABC开头的ipv6地址,等等。

图片

当我们看到IPv6是以2001开头的,就是知道是美国那边的,当以2ABC开头的,就是亚太这边的公网地址。一般都是ipv6的第一段分全球的地区,第二段,是分配的是哪家运营商,第三段、第四段就是分配到公司区域。我们可以看到,下面这个获取公网地址,前缀就是64,后面4段就是代表这个路由器的接口标识,这个接口的ip地址了。

图片

我使用的运营商是南京电信的,我的路由器获取到的全球单播地址是以240e开头的,按理论上来说,南京电信的,只要想获取全球单播地址的,应该都是以240e开头的,这个我们以后在实际使用过程中,再验证吧!

那全球单播地址看完了,那下面我们再来看一下,链路本地地址。

图片

链路本地地址,fe80::,也就是本地链接ipv6地址,说白了,就是和ipv4地址一样,是一个内网ip地址,也就相当于,内网的192网段的地址,只能在公司内部局域网使用,不能在公网上使用。

这个本地链接ipv6地址,有个好处就是,它可以在网络中没有路由器,没有dhcpv6的情况下,自己生成这个ipv6地址。它的前缀就是fe80:,当我们看到一个ip地址是fe80,那就说明这个ipv6地址是局域网地址。

图片

图片

fe80::,就是IPv6前缀 。1c86:2d0d:d8d9:21eb,后四段就是接口标识。

其它的几个地址类型,我们这里暂时不讲,后期使用到我们再讲解。

在这里我们还有一个知识点,要看一下,也就是全球单播地址前缀默认是3,链路本地地址是10,那这个二进制是多少呢?

图片

2000::/3,也就是0010 0000 0000 0000,那前3个就是001。

图片

fe80::/10,也就是1111 1110 1000 0000,本地链路接口ipv6地址,其中就用了前10位,就是1111 1110 10,前10位换算成十六进制就是fe80,有10个bit就够用了,后面54bit全是0。后面64位代表着接口标识,通过你的mac地址转换成ipv6主机标识。

图片

还有一点要注意的就是,ipv6每一段的前面如果全是0的可以默认缺省。如0D8B,可以写成D8B,如0346可以写成346。

图片

后期,我们再分享一下,关于ipv6的一些应用。

反馈留言  -  RSS订阅  -  百度蜘蛛  -  谷歌地图  -  必应爬虫  -  搜狗蜘蛛  -  奇虎地图  -  神马爬虫

本网站只提供WEB页面,若侵权,我们会及时处理。

请给邮箱地址来信

Copyright © huiku.cc All Rights Reserved.