一、ipv6优势(为什么有ipv6)
- 地址量巨大(解决目前ipv4地址量不足的问题)使用128bit 地址量是2的128次方
- 简化头部(与ipv4相比较,ipv6头部不可变)
- 自带安全特性支持IPSec
- 支持任意播(可做地址冗余)
二、ipv6表示方法
ipv6表示方法为冒号十六进制 主要能看懂并缩写ipv6地址
举例
2001:0000:0000:0192:0168:0000:0000:0005/64
缩写 2001::192:168:0:0:5/64
规则
- 首位0可以不写
- 连续的0可以用“::”表示;但一个地址中只能使用一次;“::”优先0段数多的使用;相同则地址前面优先。
- 一个地址只有“0000”时不能缩写成“::”
三、ipv6地址分类
单播
1、全球聚合单播地址
地址范围:2000::/3-3fff:ffff:ffff:ffff:ffff:ffff:ffff:ffff/3
类似ipv4公网地址
2、本地链路单播地址
地址范围:fe80::/10-febf/10
用于标识本地链路;可取代ipv4中的互联地址;
如果未配置本地链路地址;根据EUI-64自动生成
fe80(标识网络)::+EUI-64(标识接口)===link-local地址
ipv6中解决了ipv4的两大问题
地址浪费 地址重编址
地址浪费
在ipv6 中 互联地址使用本地链路单播地址进行互联;全球聚合单播地址只用于设备或系统;从而节省大量的地址用于业务。
地址重编址
ipv4中修改地址会导致邻居重新建立;但在ipv6中,不更改本地链路地址就不会导致重新建立;
网络和拓扑分离
全球单播地址--路--网络
链路本地地址--由--拓扑
网络和拓扑分离优点
- 互联地址可以用本地链路地址标识
- 可以配置多个业务地址
3、唯一本地单播地址
地址范围:fec0::/7
目的 与公网隔离
类似ipv4的私网地址
不同站点的ipv6私网地址时唯一的
ipv6会在地址中加入global id global id通过伪随机算法生成
组播
FFXY::/16
X=flag 标记位
Y=scope 范围
举例
ff02::1----标识本地链路所有主机、系统
ff02::2----标识本地链路所有路由器
ff02::5
ff02::6-----OSPFV3
ff02:13----pim
组播mac 3333:......
请求节点地址:ff02::1:ffxx:xxxx
xx:xxxx 来源于本接口的ipv6单播地址 用于地址冲突检测
地址冲突检测过程 DAD检测
借助NDP 邻居发现协议 新增报文
Type 133:RS 路由器请求
Type 134:RA 路由器通告
Type 135:NS 邻居请求
Type 136:NA 邻居通告
Type 137:rediect 类似ipv4 重定向
功能
- DAD---地址冲突检测
- 邻居发现----代替arp
- 自动配置
无状态配置
有状态配置
无状态与有状态联动 - MTU路径发现-----与ipv4 类似
- redirect :icmp重定向
设备ipv6 enable 之后 会发送 NS报文;NS报文以“::”为目的发送携带请求节点地址的组播
此时的 设备上的ipv6地址为实验地址;
当未收到NA报文时;
则认为没有冲突地址
收到NA报文时;NA报文是以本地链路地址为源发送给所有主机
此ipv6地址会置为duplicate状态 地址失效;ipv6协议down
发送NS报文 sip:::
dip:本端ipv6地址的请求节点组播地址
<-----------------发送NA报文
sip:本链路的本地链路地址
dip:ff02::1 -----本链路的所有主机
任播
共享单播地址空间
单播:一个地址标识一个接口或一个设备
任播:一个地址标识多个接口或多个设备 具有移动性 访问采用就近原则
特点:
不能作为源地址
不会地址冲突
四、地址获取
无状态自动获取
AR1 clint
ipv6 enable
ipv6 address auto global ------------>无状态自动获取 触发请求RS
注
ipv6 address auto global default //追加default会增加一条默认路由。
AR2 server
ipv6 enable
undo ipv6 nd ra half -------->打开ipv6 nd ra 周期性通告 200s-600s 、收到RS请求则立即通告
报文交互过程
AR1 ---------> 发送RS报文
sip:本地链路地址
dip:通告所有主机 ff02::1
<--------------- AR2 回复RA报文
sip:本地链路地址
dip:通告所有主机 ff02::1
AR2回复后 AR1 根据 prfix 时间标记 EUI-64 随机生成一个 ipv6地址。
生成地址后 发送NS进行DAD(地址冲突检测)
有状态自动获取
Dhcpv6
AR1:client
ipv6 enable
pv6 address auto dhcp -------------------------> 触发solicit
AR2:server
dhcp enable
#
dhcpv6 pool 1
address prefix 3FFF::/64
interface GigabitEthernet0/0/0
ipv6 enable
ipv6 address FE80::2 link-local
dhcpv6 server 1 ----------------------------------->有状态自动获取,回复advertise
#
报文交互过程
AR1------------->触发solicit
sip:AR1的link-local地址
dip: ff02::1:2(dhcpv6组播地址)
返回advertise <---------------- AR2
sip:AR2 link-local地址
dip:AR1 link-local地址
AR1------------>发送request
sip:AR1 link-local地址
dip:ff02::1:2(dhcpv6组播地址)
回复reply<----------------------AR2
sip:AR2 link-local地址
dip:AR1 link-local地址
注:
dhcpv6 如果要配置dhcpv6自动获取地址;需要额外配置auto link-local
原因:dhcpv6只能获取global地址;不能自动产生 link-local地址
解决方案:
ipv6 address auto link-local
有状态与无状态之间的交互
Flag
management ip地址 掩码 网关
other dns 等
有状态与无状态通过
ipv6 nd autoconfig managed-address-flag -------> ip地址切换为有状态
ipv6 nd autoconfig other-flag ---------------------->dns等切换为有状态