IPV6技术架构
技术背景
- IPv4地址资源的紧张限制了Internet的进一步发展
NAT、CIDR、VLSM等技术的使用仅仅暂时缓解IPv4地址紧张,但不是根本解决办法。
新技术的出现对IP协议提出了更多的需求
IPv4的局限性
- IPv4只有32bits地址长度,空间小(大约40亿左右可用地址)
- 地址分配的及其不合理,用于历史原因,发展中国家的地址获取受到了极大的限制.因此IPv6的推行在亚太区及其迫切
- 中国截止2002年8月,只有大约2502万个IPv4地址,B类地址不足200个, A类地址一个没有.2002年8月后,有所增加,但仍然不能满足当前网络需要
- 主机的地址配置变得很困难,如果没有DHCP服务的存在,只能人为完成地址配置,容易出现地址冲突
- 路由器上各种路由协议配置比较复杂
ipv6的优势
超大的地址空间
- 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的。
Link-Local(链路本地地址)
第一段前十位,是FE80::/10开头的地址。
相当于IPv4的mac地址
不管有几个AGUA地址,不管有没有启用Link-Local地址,接口都会自动生成一个Link-Local地址
并且Link-Local地址只有一个
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
任意播
R2#show ipv int f1/0 //查看接口下的ip
- 单播地址配置方法:
IPv6 enable自动生成Link-Local地址
通过配置+EUI-64机制
手工配置
- mac
组播MAC地址,开头定为33.33,后面的32位由IPv6组播地址的后32位,直接填充进MAC地址上来。
重复地址检测DAD
- 重复地址检测(Duplicate Address Detection)确保网络中无两个相同的单播地址
任何地址均需做DAD
- 地址配置给接口前称为“tentative地址”,暂时不可用
IPv4 到 IPv6的过渡技术
- 双栈技术
链路层收到数据帧后,拆开并检查IP包头
如果包头中第一个字段为4,则该数据包由IPv4协议栈处理
如果包头中第一个字段为6,则该数据包由IPv6协议栈处理
双栈要求网络节点必须同时支持IPv4 & IPv6
- 隧道技术
- 手动隧道:GRE隧道,IPv6 over IPv4隧道
- 自动隧道:IPv4兼容隧道,6to4隧道