IPv6基本介绍FW组目录一、IPv6常用地址二、IPv6邻居发现三、无状态自动配置四、6to4隧道五、NAT64(NAT-PT)六、快速部署-6RD七、DS_Lite一、IPv6常用地址1、单播(组播、广播)a,可聚合全球单播地址b,链路本地地址c,站点本地地址d,特殊地址(内嵌地址、::、::1等)1)可聚合全球单播地址(类似IPv4公网IP地址)最高3位固定为001(即:2或3开头的IPv6地址),其地址结构为:|______48bits_____|__16bits__|____________64bits___________|全球可路由前缀:48bits,用来区分不同地区、不同机构,便于路由聚合子网ID:16bits,用来划分子网接口ID:64bits,可以自动配置或手动配置(EUI-64)2)链路本地地址特定前缀:FE80::/64只能在连接到同一本地链路的节点之间使用(作用:邻居检测时使用)3)站点本地地址一个站点:某些链路组成的网络内(类似IPv4私网)站点本地地址类似于IPv4中的私网IP地址特定前缀:FEC0::/644)唯一本地地址此地址常用来防止IP地址泄露而造成网络故障(私网IP池露到公网)作为全球唯一的单播地址,其前缀前7位为FC00::/7,第8位L位置1或0前缀剩余的40位是随机产生的(有可能重复,但概率级低),由于此地址的唯一性从而就算其泄露至公网也无防。5)EUI-64接口ID的生成:以太网内IPv6地址的接口ID是由本接口的MAC地址映射转换而来。接口ID需要64位,而MAC地址只有48位,那剩余的16位从哪里来呢?(64-48=16?)EUI-64接口ID生成方法:接口MAC0012:3410:ABCD在0012:34|10:ABCD中34与10中间插入FFFE,即变成:0012:34FF:FE00:ABCD,然后在此地址的第7位将其置1,即变成:0212:34FF:FE00:ABCD,此地址即为生成的EUI-64地址二、IPv6邻居发现1、ND协议功能组成:1)地址解析(替代IPv4中的ARP)2)无状态地址自动配置路由器在其相连的链路上发布参数信息,主机捕获消息后,可获得v6地址的前缀、默认路由、链路参数等3)路由器重定向当本地链路上存在一个到达目网络有更好的链路时,路由器需要通告节点来进行相应的配置改变2、地址解析两部分功能:一是解析目的IP的链路层地址,二是邻居不可达检测1)地址解析过程:路由器A(1::1:A/64)路由器B(1::2:B/64)NSNASMAC:00E0:FC00:0001SMAC:00E0:FC00:0002DMAC:3333:FF02:000BDMAC:00E0:FC00:0001SIP:1::1:ASIP:1::2:BDIP:FF02:1:FF02:B(组播地址)DIP:1::1:A目标IP:1::2:B目标IP:1::2:B选项:00EO:FC00:0001选项:00E0:FC00:0002--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------(标志S位置1)S位置1表明是专门应答NS请求的2)地址不可达检测邻居表项建立后隔30秒后会失效,路由器会重新发送NS请求报文来检测对端是否还存在(如果在上层协议中暗示对端仍然存在,比如有TCP的连接时,邻居表项不会失效)需注意的是:A设备发送的NS收到B回应的NA是单向的,不能使B获取到A是否可达的信息,此时B也需要发送NS消息(此处的NS消息与地址解析时的NS消息是不一样的,这里的NS消息是没有包含本端的源IP地址的,只有本端的本地链路地址,其余都是对端信息)为什么邻居检测时发送的NS消息要使用本地链路地址?因为当两边的邻居失效后,如果A发送的NS消息源写IPv6的源IP地址的话,那么对端在回应A的NA消息中目的IP就是A的源IP,而此时B的邻居表项中已经没有A的源IP对应表项了,三层是不通的,A收不到B的NA回应消息,而本地链路却本是可通的。3、无状态地址自动配置共有三种机制:路由器发现、DAD检测、前缀重新编址1)路路由器发现、前缀发现、参数发现)ND协议中的RS/RA的交互由器发现(完成路由器发现的三大功能RS与RA的交互有两种方式:一是主机请求触发路由器通告(每个节点最多发送三个RS)二是路由器周期性的发送路由器通告(每隔200秒发送RA通告自已的配置信息)路由器通告过程如下:路由器A(前缀:2001:1::/64)------------------------------------------------------------主机B|RS(节点请求)|源地址:FE80::214::22FF:FED4:91B7|--------------------------------------------目的地址:FF02::2(所有路由器组播地址)RA(路由器通告)|源地址:FE80::214::22FF:FED4:91B7|目的地址:FF02::2(所有节点组播地址)-----------------------------------------|前缀:2001:1::/64节点自动配置地址||2)DAD地址重复检测DAD地址检测是通过NS与NA报文来实现的主机发送的NS报文(只发送一次)源地址为空,目的地址为被请求节点的组播IP(固定为FF02::1:FF01:000A),目标地址为本端接口需要被检测的IPv6地址,如果在规定时间内没有收到应答报文NA,则认为此地址可用,否则地址冲突。(规定时间为NS重传定时器所设置的时间,可以配置,单位是毫秒)3)前缀重新编址(优先时间=有效时间)前缀在重新编址期间,链路上是同时存在两个前缀的连接的优先时间(用旧前缀IPv6地址新建连接)旧的前缀有效时间(维持旧连接,为0后不再维持,连接自动老化)优先时间(旧前缀优先时间为0后新建连接)新的前缀有效时间(维持新连接)3、路由器重定向主机A路由器A路由器B主机B主机A发送第一个报文到它的默认路由器RTA,当该报文经过RTB时再到达主机B时,RTA知道RTB是链路上转发到主机B的最好路径。于是RTA向始发报文的主机A发送一个ICMPv6重定向报文,目标地址中含有RTB的IPv6地址,报文中目标链路层地址中也含有RTB的链路层地址。主机收到重定向报文后修改自己的目的缓存表,下一次发送就优先发送到RTB,重定向完成。1、6to4隧道报文封装格式2、NAT64转换(NAT-PT)原理为:当PC1向PC2发送报文时,源地址为2011::2,目的地址为2011::10.10.12.2,此报文到达FW1后,FW1查看目的地址的前缀为2011::,并根据它检查NAT64的规则,然后对其进行地址转换,从地址池中选取一个地址,比如:123.1.1.3来替换IPv6的源地地址2011::2,再根据IPv6的目的地址2011::10.10.12.2的低32位IPv4地址信息10.10.12.2来替换IPv6的目的地址。转换结果就是:源地址2011::2123.1.1.3,目的地址2011::10.10.12.210.10.12.2;转换后的报文到达PC2后,PC2回复此报文,FW1对其进行逆向转换。FW1FW2PC1PC2ETH0_0ETH0_1ETH0_1ETH0_0123.1.1.1123.1.1.22011::12011::22012::12012::2IPv4报头IPv6报头DATAFW1FW2PC1PC2ETH0_0ETH0_1ETH0_1ETH0_0123.1.1.1123.1.1.22011::12011::210.10.12.110.10.12.23、快速部署-6RDIPv6快速部署基于client/server模型,CE为client端,BR为server端CE端的IPv6前缀必须与BR端的IPv6前缀要一致(此处不是指BR端内部的IPv6地址前缀,指的是BR端数据配置里面需要填写的IPv6前缀)数据访问是从CE端到BR端CE1CE2BRETH0_0ETH0_0ETH0_1ETH0_1ETH0_1ETH0_0PC1PC2PC3IPv4IPv6IPv62011::22011::22011::12011::1123.1.1.1123.1.1.2123.1.1.32012::12012::24、DS_LiteDS_Lite基于client/server模型,B4为client端,AFTR为server端AFTR私网IP地址是用来DNS解析用的(暂未开发,不用配置)数据访问是从B4端到AFTR端一般要求在AFTR的v4出口做DS_Lite_NAT(可选)B4_1B4_2AFTRETH0_0ETH0_0ETH0_1ETH0_1ETH0_1ETH0_0PC1PC2PC3IPv6IPv4IPv410.10.11.210.10.12.210.10.13.210.10.11.110.10.12.110.10.13.12011::22011::32011::1