• IPV6技术架构
  • 技术背景
  • IPv4的局限性
  • ipv6的优势基础知识
  • 重复地址检测DAD
  • IPv4 到 IPv6的过渡技术
  • IPv4和IPv6地址的对应关系
  • 常见的IPv6地址
  • IPv4地址资源的紧张限制了Internet的进一步发展,虽然后期出现了NAT、CIDR、VLSM等技术的使用仅仅暂时缓解IPv4地址紧张,但不是根本解决办法。

    新技术的出现对IP协议提出了更多的需求

  • IPv4只有32bits地址长度,空间小(大约40亿左右可用地址)
  • 地址分配的及其不合理,用于历史原因,发展中国家的地址获取受到了极大的限制.因此IPv6的推行在亚太区及其迫切
  • 中国截止2002年8月,只有大约2502万个IPv4地址,B类地址不足200个, A类地址一个没有.2002年8月后,有所增加,但仍然不能满足当前网络需要
  • 主机的地址配置变得很困难,如果没有DHCP服务的存在,只能人为完成地址配置,容易出现地址冲突
  • 路由器上各种路由协议配置比较复杂

超大的地址空间

  • IPv6提供了 128bits (大约3.4*1038个地址,理论上是地球表面原子数的100倍, 广告语:每粒沙子都有一个IP地址)的地址空间
  • IPv6地址具备全球可达性和灵活性
  • 端到端的访问不再依赖于NAT技术
  • 简化路由表
  • 一个接口可以配置多个IPv6地址,因此更容易实现重编址

简单的包头

  • 包头简单,定长大小(40Bytes),使数据转发效率更高
  • 扩展包头可以实现新的技术扩展,并且不影响原包头
  • 没有广播数据,全都被组播数据取代
  • 没有校验和,靠二层与四层的检测机制来确认完整性

移动性和安全性

  • IPSec和Mobile IP内嵌到了 IPv6中,支持性更好

多种迁移方法

  • 双协议栈(同时支持IPv4与IPv6)
  • 在IPv4与IPv6地址之间进行NAT-P的转换
  • 判断主机当前运行的是否是IPv6网络
  • www.kame.net 查看ip地址数量
  • IPv6地址表示

    一个地址分为8段,每段里面有4个十六进制数。段和段之间冒号分十六进制用冒号来分割。

    IPv6定义了一种简写方式:

    1.每段中,从左往右的起始的0可以省略掉

    2.一段中如果是4个0,可以简写为一个0

    3.对于中间几段都为连续的0,我们可以简写为“::”,

    注意:一个IPv6地址只能有一个“::”。

  • IPv6地址分类

    1.单播

    与IPv4一样,就是点到点的流量类型,用来作为全球唯一的标示符。

    2.组播

    跟IPv4一样,一对多,多对多或者多对一。只不过在IPv6中,组播功能比IPv4的组播功能多了点,IPv6组播还可以代替IPv4的广播。

    3.任意播

    就是提供相同服务的服务器,只要给他们配置了相同的IPv6单播地址,这个时候我们 就称之为叫任意播地址。

  • 单播地址

    1 可聚合全球单播地址(简称AGUA地址)

    相比IPv4,就好比IPv4的公网地址。

    AGUA地址范围:

    前缀一般是从2000::/3开始分发的

    最小值:2000::

    最大值:3FFF:FFFFFF

    最常用的AGUA地址是2001::/16开头的

    而2002::/16是用于做6to4 tunnel的。

  1. link-Local(链路本地地址)

第一段前十位,是FE80::/10开头的地址。

相当于IPv4的mac地址

不管有几个AGUA地址,不管有没有启用link-Local地址,接口都会自动生成一个link-Local地址

并且link-Local地址只有一个

  1. Site-Local(站点本地地址)

并不是官方定义的,是由微软定义的,比尔盖茨定义的

相当于IPv6地址中的私有地址

第一字段的前10bite以FEC0::/10开头的地址

4.Unspecified address(未指定地址)

在IPv4当中有这么一种情况,就是PC不知道自己的IP地址,但是还想发送IP报文,在报文中必须包含源与目的IP地址,而源IP地址我不知道,我该填什么?

一般会填0.0.0.0/32,这个地址代表我想要发包,但是由于我不知道我本地地 址,我只能暂时使用这个地址来表明我自己。

而IPv6也有类似情况,IPv6的未指定地址是 0:0:0:0:0:0:0:0/128。

5.缺省地址

和IPv4的缺省地址一样,表达方式为0:0:0:0:0:0:0:0/0。

  • 总结:

    单播

    AGUA地址—公网地址

    link-Local地址—链路本地—默认由mac地址得来的

    站点本地地址—微软定义—私网

    未指定地址—::/128

    缺省地址:::/0

    组播

    FF00::/8的第一个0代表是Flag位,第二个0代表是Scope。

    我们接触最多的Flag位是0,代表永久组播地址

    如果Flag位为1,代表是临时组播地址

Scope位:

1代表接口本地有效

2代表广播域内有效

3不关心

4不关心

5代表AS内有效

8也不关心

E代表整个Internet有效

见到最多的组播地址都是以FF02开头,也是常用的IPv6组播地址

FF02::1 ————— All nodes (link-local)

FF02::2 ————— All routers (link-local)

FF02::5 ————— OSPFv3 routers

FF02::6 ————— OSPFv3 designated routers

FF02::9 ————— Routing Information Protocol (RIPng)

FF02::A ————— EIGRP routers

FF02:: D————— All PIM routers

任意播

R2show ipv int f1/0 //查看接口下的ip

  • 单播地址配置方法:

    IPv6 enable自动生成link-Local地址

    通过配置+EUI-64机制

    手工配置

  • mac

    组播MAC地址,开头定为33.33,后面的32位由IPv6组播地址的后32位,直接填充进MAC地址上来。

  • 重复地址检测(Duplicate Address Detection)确保网络中无两个相同的单播地址

    任何地址均需做DAD

  • 地址配置给接口前称为“tentative地址”,暂时不可用
  • 双栈技术

    链路层收到数据帧后,拆开并检查IP包头

    如果包头中第一个字段为4,则该数据包由IPv4协议栈处理

    如果包头中第一个字段为6,则该数据包由IPv6协议栈处理

    双栈要求网络节点必须同时支持IPv4 & IPv6

  • 隧道技术
  • 手动隧道:GRE隧道,IPv6 over IPv4隧道
  • 自动隧道:IPv4兼容隧道,6to4隧道

为了使您更好的理解 IPv6,在这里给出一个表格,以比较IPv4和IPv6地址对应关系和区别。

IPv4地址

IPv6地址

组播地址( 224.0.0.0/4)

IPv6组播地址(FF00::/8)

广播地址

无,只有任播( anycast)地址

未指定地址为 0.0.0 .0

未指定地址为 ::

回路地址为 127.0.0.1

回路地址为 ::1

公用 IP地址

可汇聚全球单播地址

私有地址( 10.0.0 .0/8、172.16.0.0/12和192.168.0.0/16)

本地站点地址( FEC0::/48)

Microsoft自动专用IP寻址自动配置的地址(169.254.0.0/16)

本地链路地址( FE80::/64)

表达方式:点分十进制

表达方式:冒号十六进制式(取消前置零、零压缩)

子网掩码表示:以点阵十进制表示法或前缀长度表示法( CIDR)

子网掩码表示:仅使用前缀长度表示法( CIDR)

? ::/128 即0:0:0:0:0:0:0:0,只能作为尚未获得正式地址的主机的源地址,不能作为目的地址,不能分配给真实的网络接口。

? ::1/128 即0:0:0:0:0:0:0:1,回环地址,相当于IPv4中的localhost(127.0.0.1),ping locahost可得到此地址。

? 2001::/16 全球可聚合地址,由 IANA 按地域和ISP进行分配,是最常用的IPv6地址,属于单播地址。

? 2002::/16 6 to 4 地址,用于6to4自动构造隧道技术的地址,属于单播地址。

? 3ffe::/16 早期开始的IPv6 6bone试验网 地址,属于单播地址。

? fe80::/10 本地链路地址,用于单一链路,适用于自动配置、邻机发现等,路由器不转发以fe80开头的地址。

? ff00::/8 组播地址。

? ::A.B.C.D 兼容IPv4的IPv6地址,其中<A.B.C.D>代表IPv4地址。自动将IPv6包以隧道方式在IPv4网络中传送的IPv4/IPv6节点将使用这些地址。

? ::FFFF:A.B.C.D 是IPv4映射过来的IPv6地址,其中<A.B.C.D>代表IPv4地址,例如 ::ffff:202.120.2.30 ,它是在不支持IPv6的网上用于表示IPv4节点。