IPv6
什么是ipv6
--一些官方,较书面的定义--
简介
IPv6最大的优势就在于其地址数量远大于IPv4协议,IPv6协议将IPv6的地址长度增至128bit,分成8个部分,每个部分为16bit。地址的表达通常有3类。
首选IPv6地址表示:8个由冒号隔开的16位字段,每个字段由4个十六进制数构成,比如AA22:BB11:1122:CDEF:1234:AA99:7654:7410。
压缩形式压:缩形式将多个具有0值的连续片段替换成双冒号(:),并且该双冒号只在IPv6地址中出现一次,否则无法判断每个压缩包中有几个完全0的分组。
混合形式:混合形式是将IPv4地址与IPv6地址合并而成的新地址。在RFC2373中定义了3种IPv6地址类型:单播地址、组播地址和住播地址。而单播地址又分为了3种地址:链路-本地地址、站点-本地地址和全局IPv6单播地址。
IPv6地址表示
IPv6的128位地址通常写成8组,每组为四个十六进制数的形式。比如:AD80:0000:0000:0000:ABAA:0000:00C2:0002 是一个合法的IPv6地址。这个地址比较长,看起来不方便也不易于书写。零压缩法可以用来缩减其长度。如果几个连续段位的值都是0,那么这些0就可以简单的以::来表示,上述地址就可写成AD80::ABAA:0000:00C2:0002。这里要注意的是只能简化连续的段位的0,其前后的0都要保留,比如AD80的最后的这个0,不能被简化。还有这个只能用一次,在上例中的ABAA后面的0000就不能再次简化。当然也可以在ABAA后面使用::,这样的话前面的12个0就不能压缩了。这个限制的目的是为了能准确还原被压缩的0,不然就无法确定每个::代表了多少个0。例如,下面是一些合法的IPv6地址 :
CDCD:910A:2222:5498:8475:1111:3900:2020
1030::C9B4:FF12:48AA:1A2B
2000:0:0:0:0:0:0:1
同时前导的零可以省略,因此2001:0DB8:02de::0e13等价于2001:DB8:2de::e13。
IPv6与IPv4的区别
IPv6没有arp协议(arp依赖广播,对网络资源消耗较大),使用NDP邻居发现协议
无穷的地址空间:128位长度,约有340万亿个地址
更高的安全性:天然支持ESP等安全封装,提供了分组的保密性和完整性
更优的用户体验:路由表精简,转发速度提高
IT管理更加敏捷:可更好的实现自动化配置,网络管理变得更加高效、敏捷
众所周知的组播地址
编址的定义
组播地址:一般FF0开头的都是组播地址
单播地址:
回环地址:
::/128
::1/128
链路本地地址:
FE80::/10
可聚合全局单播地址(也就相当于ipv4互联网/公网地址的概念):
2001::/16
2002::/16
3FFE::/16
唯一本地地址:
FC00::/7
IPv4兼容地址:0:0:0:0:0:0::/96
任意播地址(一般用于服务器):
所有单播地址、组播地址都可以作为任意播地址使用,可以指定他为任博地址
指定了任意播地址后,客户端访问服务器会自动寻址查找较近的节点去通信,单一节点故障也会自动找寻其他可达的节点。实现了自动选路,和冗余。
掩码前缀
举例:运营商给某公司分配了一个2001::/48
的ipv6网段,公司现要将其划分为四个网段,要怎么划分。
2001::/48
/48说明前48个比特是固定的,也就是说48÷4=12位 是固定的。所以2001::/48
意味着前面的2001:0000:0000是固定的。那么可以做以下划分:
以上两个数字48、12分别是什么意思呢,48是指二进制下的位数前48位。12是指十六进制下的前12位 。我们这里书写用的是十六进制。 ipv6的二进制位为128位,十六进制位数为32位。
4个部门:
2001:0000:0000:0000::/64
2001:0000:0000:0001::/64
2001:0000:0000:0002::/64
2001:0000:0000:0003::/64
......(如果需要增加更多网段,可以按照规律往后规划。最大可以到FFFF个网段,也就是2的16次方)
2001:0000:0000:FFFFF::/64
动态路由
大部分路由协议都还是直接支持IPv6,比如RIP、BGP
OSPF动态路由协议是基于ip协议实现的,没法直接支持IPv6