讲完了基本的IP原理,介绍了传统的IPv4协议族的基本知识,现在我觉得可以升一级讲讲现在全球都在主推的IPv6协议,简单介绍一下发展历程,我觉得这一部分还是可以了解一下历程才知道为什么IPv6现在发展的这么好。
发展历程:
- 最早1992年初提出了IPv6的理论模板,并开始对模型进行实践的发展。
- 1996年最初版的定义IPv6的RFC发表出来,但是在全是IPv4的网络中,或全是IPv6的网络中时,两者无法直接进行通信,需要依靠中间网关或者其他过渡机制。
- 2003年IETF发布了IPv6测试性网络,为为IPv6产品及网络的测试和试商用部署提供测试环境。
- 截止到2009年6月,IPv6测试性网络环境已经支持了39个国的260个组织结构。
- 2011年,个人计算机和服务器操作系统都已经支持高质量的IPv6相关配置。
- 2012年6月6号,国际互联网协会举行了世界IPv6启动纪念日,这一天全球IPv6网络正式投入生成使用,当天全球标准时间0点(北京时间8点整)很多大型企业开始永久性支持IPv6的访问。
- 2017年11月26日,中共中央办公厅、国务院办公厅印发《推进互联网协议第六版(IPv6)规模部署行动计划》。
- 2019年4月16日,工业和信息化部发布《关于开展2019年IPv6网络就绪专项行动的通知》。
- 截至2022年6月底,全球IPv6的活跃用户数占网民数的比重已经超过31%
- 截至2022年6月,IPv6地址数量为63079块/32,较2021年12月增长0.04%
- 截至2022年8月8日,我国IPv6互联网活跃用户数达6.93亿,移动网络IPv6流量占比突破40%。
IPv6基本概述:
看IPv6的发展历程也是很长的技术沉淀,据我自己目前的了解,IPv6协议可谓是全方面超越了IPv4协议,所以目前我国也在积极推动IPv6的技术改革。可能很多小伙伴接触的大都是传统的IPv4组网,就刚好讲IPv6需要和IPv4对比,才能更好的去理解IPv6的相关知识。 传统的IPv4 有三大缺点: 1、地址资源远远无法满足现在互联网的需求。 2、终端用户配置不够简便。 3、协议本身不具备安全性和QOS特性。
IPv6基本原理:
IPv6的地址协议族是采用了冒分十六进制的计算,而IPv4只是采用了点分十进制的计算,相比较而言IPv6的冒分十六进制,每段有16位,共8段,一共有128位,可以获取到的有效地址是2的128次方的数字,约等于3.4X10^38个可用地址,是一个极其大的数字,而这个就是现在全球主推IPv6协议的最主要的原因,其他的都是附带优点。
IPv6地址格式:
冒分十六进制,书写的格式大致是 X:X:X:X:X:X:X:X 显示出来的效果基本都是这样,但是又不可能每次书写都要写满8段的所有的内容,遇到一些特别的情况是可以进行简写的。
段内前导0压缩:
每一段开头的0,是可以进行省略缩写的,这里必须是开头的零,若是 0000 的话可以简写为 0,中间和后续都不可以缩写,就算是 1000 你也得照写不可以乱省略。 (举例;2001:0DB8:0000:0023:0008:0800:200C:417A这是一个标准的IPv6的地址,根据段内前导0压缩可以简写为,2001:DB8:0:23:8:800:200C:417A) 这样书写还是不够简单,8段内容全都需要写出来,而且全0的段,书写出来的没有任何标识意义,有没有还可以更简单的书写,那你都能想到的,高智商的科研人员肯定也想到了呀。
全0段压缩:
字面意思就是一个段里面全都是0的可以直接压缩为一个::表示,并且一个IPv6地址中只能出现一个::地方,不能出现两个。 (举例;2001:0D81:0000:0000:F401:0000:0000:417A这个地址中有两段连续0的地方,可以简写为 2001:D81::F401:0:0:417A 或者 2001:D81:0:0:F401::417A两种方式都是可以。但是不能简写为2001:0D81::F401::417A,这种不用我提醒,你写上去设备就会提示报错) 通常遇到一个IPv6地址,都是结合两种0段缩写的方式一起使用,尽量写的简单些好识别一些,不然每次那么一长串要是写错一个那就差十万八千里了。
内嵌IPv4地址:
这个就是为了实现IPv4和IPv6互通且想保留原来IPv4地址标识的一种书写方式,其实也已经算不上简写了,但IPv6也支持这种操作,参与项目前期网络规划的同学应该就会知道,现在基本都是使用IP段来区分业务,若全都换成IPv6又得重新规划新的业务地址,且你也得重新记录新的IPv6地址,你才可以知道那一段是什么业务,有这个混合使用的场景,你就可以结尾处保留原来的IPv4地址十分方便,简单讲解一下其实就是前96位是IPv6,后96位是IPv4地址,X:X:X:X:d.d.d.d 这种写法,前面的IPv6的地址内容依旧可以适用上述两个0段压缩的书写方式。
网段划分:
IPv6这么复杂这么长一串,那么该如何区分他的网段呢,虽然IPv6地址特别庞大,理论上来讲是可以把全球的所有需要联网的设备都写入一个网段的,但是总有一些特别的需求场景需要划分网段的,比如每个国家的政务专线,那肯定不能跟你私人上网娱乐是同一个段吧,那让黑客也太方便了吧,分分钟攻陷你国家内部网络。所以IPv6也是有网段划分的。 前缀: 网段划分很重要的一个就是根据前缀来进行,前缀长度和数字一致则认为同为一个网段,这个前缀简单类比就是IPv4的子网掩码一样的东西。(举例;FE80::/10,就是前10位需要相同,后面的118位是可以随机的,即FE80:0000:00FF:FFFF:FFFF:FFFF:FFFF:FFFF,只需要符合前面10位是一样的,后面的F就是代表随机的,且IPv6的子网前缀长度也是/10,就可以认为是同一网段的)
IPv6地址分类:
接口标识符:
根据Mac地址计算得来,且全球唯一,为什么说唯一,因为这个地址得来的基础是依靠设备的Mac地址得来的,Mac地址是全球唯一,所以这里计算得来的也是全球唯一的,大概计算过程就是,把Mac地址从中间拆开,添加一段随机的IPv6地址的数字,然后把保留下来的链路本地前缀地址添加在最前面,即得来一个根据Mac地址计算得到IPv6链路本地地址,链路本地IPv6地址使用接口标识符(IID),若IPv6地址是以000开头地址,这种情况下必须使用64位的前缀,其他的情况下则没有这种要求。在同一个网络前缀下,接口标识符(IID)必须是唯一的。这种64位前缀叫EUI-64格式,是专门用于计算Mac地址转换成IPv6地址的。 (举例:一个设备Mac地址为 00-AA-00-3F-2A-1C 的终端设备,根据从中间分开并添加IPv6字段FFFE得到 00AA:00FF:FE3F:2A1C,对 U/L 位(第一个字节中的第七位)求反。第一个字节的二进制形式为 00000000。将第七位求反后,变为 00000010 (0x02))得到:02AA:00FF:FE3F:2A1C。最后再加上FE80在开头处就得出了最后的IPv6地址,FE80::02AA:00FF:FE3F:2A1C)
单播地址:
全球单播地址
这个地址是IANA(互联网数字分配机构)进行分配的,其一点最主要的要求就是前三位必须是001,换成IPv6地址就是2000::/3,这个地址是全球可以访问的地址,并不需要再去通过NAT地址转换什么的,相当于全球在一个大的局域网内部了。还有一些特殊的全球单播地址。 2001::/16 目前用于IPv6因特网运营的前缀 2002::/16 6to4过度地址 3ff3::/16 用于6bone测试目的的前缀
本地链路地址
仅仅用于同网段内部通讯,自动生成,这个就是根据接口标识符(IID)计算得来的,所以是属于链路唯一的地址,前缀是64位标准指定的,后64位就是按照EUI-64格式来构造的,并且这个端口配置的IPv6地址,在路由表里看见的下一跳是对端端口的地址,并不是公网IP,所以仅仅在本地链路上进行使用,不能跨链路。
未指定地址
::/128 该地址是不可以配置在接口下的,是接口未配置任何地址时的一个源地址的显示。类似于DHCP分配地址时候本机没分配到地址但是会获取一个169.254.0.0/16 的任意随机的一个地址。这个未指定意思和这个差不多。
本地环回地址
::1/128 该地址就是表示自己的一个虚拟的身份代表,这个接口是不存在的,是一个逻辑接口,基本是用来确定自己网卡是否能正常通讯的 ,类别于IPv4的 127.0.0.1。
站点本地地址
FEC0::/10 这个是一个私有地址,跟IPv4的私有保留地址是一个意思,只能在本站点内使用,无法再公网上使用。
IPv4兼容地址
::192.168.10.1 这个地址在前面也提到过,也是属于特殊的单播地址类别,就是IPv4在IPv6地址中一种体现。
组播地址:
FFFF+ 4bits标识 + 4bits范围 IPv6取消了广播的概念,只保留了组播的概念。 标志位为 0000 表示为永久保留的组播地址,分配给各种技术使用; 标志位为 0001 表示是用户可使用的临时组播地址; 范围段定义了组播地址的范围, 0001 1 本地接口地址 0010 2 本地链路范围 0011 3 本地子网范围 0100 4 本地管理范围 0101 5 本地站点范围 1000 8 组织机构范围 1110 E 全球范围,类似组播的公网地址
任播地址:
任播地址和单播地址的使用地址范围是一样的,一个任播地址可以分配给多台设备,当有多条去往相同任播地址的路由时,会选择其中最小的任播地址。
标签:0000,前缀,地址,IPv4,IPv6,网段 From: https://blog.51cto.com/u_14167341/5801664