计算机网络: IPv6 简述
计算机网络: IPv6 简述
计算机网络: IPv6 简述
IPv6 作为替代 IPv4 的协议,目前正在全球高速普及,它以近乎无穷的 IP 地址数和简单高效的结构被全球各大互联网企业推广。
##IPv6 来源 开发 IPv6 的起因是因为 IPv4 不够用了,我们知道 IPv4 的 IP 地址长度为 32bit,因此最多有 2^32 种,而且在 2011 年的时候 IPv4 已经被分配完了。目前已经无法申请获得新的 IPv4 的地址了,基于此原因,IPv6 应运而生。
IPv6 与 IPv4
下面是一些 IPv6 与 IPv4 的对比。
描述 | IPv4 | IPv6 |
---|---|---|
地址长度 | 32位 | 128位 |
地址数 | 2^10 | 2^128 |
IP 报头 | 20~60可变长度 | 40固定长度 |
分片/重组 | 由发送方(主机或路由器)对其分段,以适应要传输的下一链路 | 只能在源节点进行分段,且只能在目标节点完成重新装配。 |
从上面的对比可以看出,IPv6 占用的空间更大,其可用数目也更多,而且它固定长度的报头和分片重组策略能加快数据包的处理。
IPv4 迁移到 IPv6
虽然 IPv6 有诸多好处,但是目前整个互联网基本上是基于 IPv4 的,而且 IP 就像房子的基石一样,稍有不慎整栋大楼就会崩塌,所以目前 IPv6 的推广主要以下面两种形式展开。
双栈
这是目前最常用方法,使用该方法的 IPv6 结点还具有完整的 IPv4 实现,在于 IPv4 结点互操作时,使用 IPv4 数据报,与 IPv6 结点则使用 IPv6数据报。因此它同时具有 IPv6 和 IPv4 两种地址。 需要注意的是,如果发送方或接收方中任意一个(包括传输路径上的)仅支持 IPv4,则必须使用 IPv4 数据报。如下图,从 A 发往 F 只能用 IPv6,其原因是 IPv6 在转换成 IPv4 时一些特定字段会丢失。
隧道
这是前几年常用的方法。 但是建隧道这个方法解决了上面双栈面临的问题。假定两个 IPv6 结点中间经过 IPv4 路由器,如上图的 B 和 E,则把中间的 IPv4 路由器的集合当成隧道。在隧道发送端的 IPv6 结点可将整个 IPv6 数据报放到一个 IPv4 数据报的数据字段中。隧道接收端的 IPv6 结点最终收到该 IPv4 数据报,在确定了数据报中含有 IPv6 数据报后,从中取出 IPv6 数据报,再为该 IPv6 数据报提供路由,如下如所示: