文档库 最新最全的文档下载
当前位置:文档库 › ipv6

ipv6

ipv6
ipv6

1. ND协议介绍

邻居发现协议(Neighbor Discovery Protocol,以下称ND协议)是IPv6的一个关键协议,可以说,ND协议是IPv4某些协议在IPv6中综合起来的升级和改进,如ARP、ICMP路由器发现和ICMP重定向等协议。当然,作为IPv6的基础性协议,ND还提供了其他功能,如前缀发现、邻居不可达检测、重复地址检测、地址自动配置等。

1.1 IPv6协议格式

Version(4-bit):IP版本,该字段值为6

Traffic Class(8-bit):流量分类,与IPv4包头的TOS类似

Flow Label(20-bit):流标签,用来标记IPv6数据包的一个流

Payload Length(16-bit):有效载荷的长度,有效载荷为紧跟IPv6包头的数据包的其他部分

Next Header(8-bit):处理选项字段,分段,安全,移动性,松散源路由,记录路由等的新方式。该字段在承载ND报文时字段值为58(ICMPv6)。该字段详细字段值对应如下表

Value Type of Header

0Hop-by-Hop Options Header

6TCP

17UDP

41Encapsulated IPv6 Header

43Routing Header

44Fragment Header

50Encapsulating Security Payload

51Authentication Header

58ICMPv6

59No next header

60Destination Options Header

Hop Limit:(8-bit):定义IP数据包所能经过的最大跳数,每跳一次将此值减1

Source Address(128-bit):IP数据包的源地址

Destination Address(128-bit):IP数据包的目的地址

1.2 ND报文类型

ND协议定义的报文使用ICMP承载,其类型包括:路由器请求报文(RS)、路由器通告(RA)报文、邻居请求报文(NS)、邻居通告报文(NA)和重定向报文。

1.2.1 路由器请求报文RS Router Solicitation Message

主机启动后,通过RS消息向路由器发出请求,期望路由器立即发送RA消息响应。RS报文格式如下图

?Type 类型字段,值133

?Code 代码字段,值0

?Options 选项字段

o源链路层地址选项仅用于已编址的链路层可用于RS报文的只有源链路层地址选项,表明该报文发送者的链路层地址。如果IPv6头的源地址为未指

定地址,则不能包括该选项

同时,IPv6报文头中的字段要求如下:

?Hop Limit 值255,保证是本地链路上的报文

?Source Address 发送接口的本地链路地址或未指定地址

?Destination Address 本地链路中所有路由器的组播地址FF02::2

1.2.2 路由器通告报文RA Router Advertisement Message

路由器周期性的发布RA消息,其中包括前缀和一些标志位的信息,或者以RA报文响应路由器请求报文RS。RA的报文格式如下图。

?Type 类型字段,值134

?Code 代码字段,值0

?M管理地址配置标识(Managed address configuration)

o0-无状态地址分配,客户端通过无状态协议(如ND)获得IPv6地址;

o1-有状态地址分配,客户端通过有状态协议(如DHCPv6)获得IPv6地址。

?O 其它有状态配置标识(Other stateful configuration)

o0-客户端通过无状态协议(如ND)获取除地址外的其他配置信息;

o1-客户端通过有状态协议(如DHCPv6)获取除地址外的其他配置信息,如DNS、SIP服务器信息。协议规定,若M标记置为1,则O标记也应置为1,

否则无意义。

?Router Lifetime 缺省路由器的生命周期(单位:秒)

表示发送该RA报文的路由器作为缺省路由器的生命周期。Router Lifetime最长9000秒小时,缺省值30分钟。如果该字段为0时,表示该路由器不能作为缺省路由器,但RA报文的其他信息仍然有效。

?Reachable Time 可达时间(单位:毫秒)

发送NS报文后,在得到邻居可达性确认后,认为邻居可达的时间,0表示不指定。路由器在接口上通过发送RA报文,让同一链路上的所有节点都使用相同的可达时间。若Reachable Time为0,表示路由器不指定该字段参数。该值可配置,RA报文中缺省值为0。

?Retrans Timer 重传定时器(单位:毫秒)

重传NS报文的时间间隔,用于邻居不可达检测和地址解析。若该值为0,表示路由器不指定该字段参数。该值可配置,RA报文缺省值为0。

?Options 选项字段

o源链路层地址选项仅用于已编址的链路层。当路由器正在多个链路层地址上进行负荷分担时,要忽略该选项。

o MTU选项链路的可变MTU

o前缀信息选项用于地址自动配置的前缀信息,可包含多个

o路由信息选项用于主机生成缺省路由,表明前缀通过该路由器是可达的同时,IPv6报文头中的字段要求如下:

?Source Address 必须是发送接口的本地链路地址

?Destination Address 组播地址FF02::1,或发送RS请求报文的主机的单播地址1.2.3 邻居请求报文NS Neighbor Solicitation Message

主机通过NS消息可以得到邻居的链路层地址、检查邻居是否可达、重复地址检测等。

?Type 类型字段,值135

?Code 代码字段,值0

?Target Address 目标地址,16bytes

请求目标的IP地址,不能是组播地址,可以是本地链路、本地站点、全局地址。

?Options 选项字段

o源链路层地址选项,和RS报文的选项相同,可用于NS报文的只有源链路层地址选项。源链路层选项仅用于已编址的链路层,如果IPv6头的源地址

为未指定地址,则不能包括该选项。

同时,IPv6报文头中字段要求如下:

?Source Address 发送接口的地址或未指定地址(DAD检测)

?Destination Address 目的节点单播地址或目的节点地址对应的请求节点组播地址

需要说明,如果源地址为未指定地址,则目的地址应为被请求节点的组播地址,并且没有源链路层地址选项。

1.2.4 邻居通告报文NA Neighbor Advertisement Message

NA报文是主机对NS的响应报文,同时主机在链路层地址变化时也可以主动发送NA消息,以通知相邻节点自己的链路层地址或者角色发生改变。

?Type 类型字段,值136

?Code 代码字段,值0

?R 路由器标记(Router Flag)

表示NA报文发送者的角色。置位表示发送者是路由器,复位表示发送者为主机。

?S 请求标记(Solicited Flag)

置位表示为响应单播NS发送的NA报文。在NUD探测中,S标记作为邻居可达性确认标记;在组播通告或非请求单播通告中,S标记必须清零,如DAD检测中NS报文用的是被请求节点的组播地址,当地址冲突时,回应的NA报文的S标记需要清零。

?O 重载标记(Override Flag)

1-表示需要用目标链路层地址选项中的链路层地址,来更新邻居缓存表。

0-只有在链路层地址未知时,才能用目标链路层地址选项来更新邻居缓存表。

?Target Address 目标地址,16bytes

如果是针对NS而发送NA,该字段直接拷贝NS报文目标地址;如果不是针对NS发送的NA,该地址是链路层地址发生改变的网络节点的IP地址。目标地址不能是组播地址。

?Options 选项字段,只能是目的链路层地址选项,通告发送者的链路层地址。

同时,IPv6报文头中字段要求如下:

?Source Address 必须是发送接口的单播地址

?Destination Address 单播地址或者所有节点的组播地址(FF02::1)

1.2.5 重定向报文 Redirect Message

路由器通过重定向报文通知主机到目的地有更好的下一跳地址,或者通知主机目的地址为本网段邻居。

?Type 类型字段,值137

?Code 代码字段,值0

?Target Address 目标地址,16bytes

到达目的地址的下一跳地址。如果目标为路由器(本地链路外的报文),必须使用路由器的本地链路地址;如果是主机(本地链路报文),目标地址和目的地址必须一致。

?Destination Address 目的地址,即IPv6头部的目的地址,16bytes

?Options 选项字段

o目标链路层地址选项:新下一跳的链路层地址。

o重定向头选项:触发报文尽可能多的部分,但不应使重定向报文超过1280bytes。

同时,IPv6报文头中字段要求如下:

?Source Address 发送接口的本地链路地址

?Destination Address 触发重定向的数据报文的单播地址

1.3 ND主要功能

1.3.1 路由器发现

路由器发现是指主机怎样定位本地链路上路由器和确定其配置信息的过程,主要包含以下三方面的内容:

?路由器发现

?前缀发现

?参数发现

在路由器通告报文RA中承载着路由器的相关信息,ND协议通过RS和RA的报文交互完成路由器发现、前缀发现和参数发现三大功能。协议交互主要有两种情况:主机请求触发路由器通告和路由器定期发送路由器通告。

1.3.2 地址解析

地址解析是指某节点在知道目的节点IP地址的情况下,确定目的链路层地址的过程。

当一个节点需要得到同一本地链路上另外一个节点的链路层地址时,需要进行地址解析,该机制类似于IPv4中的ARP。 ND协议用NS和NA报文完成IPv6地址到链路层地址的解析,解析后的链路层地址和IP地址等信息用来建立节点的一个邻居缓存表项。

1.3.3 邻居不可达检测NUD

邻居不可达检测是节点怎样确定邻居不可达状态的过程。ND协议用NS和NA报文来验证邻居节点的可达性。

1.3.4 重复地址检测DAD

重复地址检测是节点确定即将使用的地址是否被另一节点使用的过程。

在节点自动配置某个接口的IPv6单播地址之前,必须在本地链路范围内验证要使用的临时地址是唯一的,并且未被其他节点使用过。ND协议使用NS/NA报文完成该功能。

2. ND常见攻击

2.1 重复地址检测DAD攻击

在结点使用无状态协议自动配置时发送NS报文,NS报文中附带了结点准备使用的地址target address,攻击者伪造NA报文,回复称该地址已被使用,迫使结点更换target address,如此反复,结点将无法完成无状态协议自动配置。

针对DAD攻击,可以采用ND snooping,DHCP snooping,ND detection技术防范。

DHCP snooping与IPv4一样,通过监听DHCP的交互进程,获得用户的IP,MAC,连接的交换机端口号的绑定表项。ND snooping与前者很类似,监听ND协议的DAD交互过程,获取用户的IP、MAC、Port的对应关系。

ND Detection是H3C在ND防攻击方面的创新技术,通过结合已经建立的绑定表项,这个绑定表项可以是使用ND snooping,DHCP snooping,手工来进行配置的,通过比较已经获取到的可信表项中的IP与MAC地址,对ND报文进行过滤,丢弃异常的报文。相比单纯使用ACL进行的用户绑定,ND Detection技术结合绑定表项对ND报文进行过滤,能够较好的防御ND攻击。

2.2 地址欺骗

地址欺骗类似IPv4中的ARP欺骗,攻击者伪造RS/NS/NA报文来修改受害主机或网关上受害主机的MAC地址,造成受害主机无法与网络进行正常的通信。

防范方法与DAD攻击防范方法类似。

2.3 网络配置参数攻击(RA伪造攻击)

RA能够携带很多网络配置信息,包括默认路由器,网络前缀列表,是否使用DHCP服务器进行有状态地址分配等网络配置的关键信息。如果受害者接收了虚假的RA信息,会造成网络配置错误,从而引发欺骗攻击。

防范方法为设置RA信任端口,将来自不信任端口的RA报文丢弃。

2.4 针对网关的泛洪攻击

通过发送大量的NS/RS报文,造成网关的表项溢出。

为了避免网关的ND表项被异常的ND报文打满溢出造成DoS攻击,在网关上能够针对端口配置最大的ND表项学习数量,能够缓解此类攻击。

3. ND snooping实现机制

以下为简单翻译结果,详细请参考 IETF草案Control Packet Snooping Based Binding draft-bi-savi-cps-00.txt 8.3节

3.1 DAD交互过程

根据本文1.3.4重复地址检测DAD的描述,主机在自动配置或手动配置IPv6地址时,会通过NS/NA报文检测是否存在重复地址。详细步骤如下:

?主机发送NS请求,并设置如下字段值

o source address为0.0.0.0

o desnation address为ff02::1(组播地址)

o target address为主机准备配置的地址,DAD即检测这个地址是否在网络上有重复

o Hop Limit字段值为255,主要是为了防止一跳以外的节点伪造ND报文?链路内收到该NS报文的主机将检测自身地址是否和target address重复,不重复则忽略,重复则发送NA报文,如果target address也是自己准备配置的地址,则

放弃该地址并忽略NS报文

?回复的NA报文的target address是从NS报文target address段直接复制过来,destination address 为组播地址

3.2 ND snooping监听过程

ND snooping则监听DAD交互过程,产生MAC-IP对应表filter table.步骤如下:

?交换机收到DAD过程中的NS报文,将NS中的target address插入监听列表BST(Binding State Table)(如果这个地址不在BST中的话)设置ND snooping状

态为SAC_START,初始化计时器MAX_DAD_DELAY

?MAX_DAD_DELAY超时前如果收到其他主机的NA回复报文,则删除BST中该地址信息,本次ND snooping监听结束,反之设置ND snooping状态为SAC_BOUND,初始化计

时器MAX_SAC_LIFETIME,将该地址信息加入FT(filter table)

?计时器MAX_SAC_LIFETIME超时后,重设计时器MAX_DAD_PREPARE_DELAY,并发送NS报文到这个地址以期望得到它的MAC地址,在MAX_DAD_PREPARE_DELAY超时前如果没有收到NA回复,则删除BST,FT中的该地址信息,ND snooping监听结束,反

之取出NA报文中的MAC地址,加入FT中,并设置计时器MAX_SAC_LIFETIME,ND

snooping状态为SAC_QUERY

?计时器MAX_SAC_LIFETIME超时后,交换机将返回上一步重新发送NS报文,以确认该地址是否正常,是否需要更新BST,FT。

3.3 ND snooping流程图

IPv6地址规划方法

IPv6地址规划方法 今年初ICANN和APNIC的IPv4地址池全部耗尽,亚太地区成为全球首个无法满足IPv4需求的地区。伴随着我国互联网产业的高速增长以及未来三网融合和物联网的发展,当前我国掌握的IPv4地址资源远无法满足高速增长的用户需求,我国将成为全球最早受地址匮乏影响的国家之一。 IPv4地址耗尽将迫使我国网络运营商加速部署IPv6网络和服务,在IPv6部署初期制定科学合理的网络、业务发展规划至关重要,而结合网络层次、路由协议、流量特征等因素,建立IPv6地址资源部署策略是网络整体规划的关键环节,将影响到基础网络运行效率、互联网管理效果。本文主要总结了提早完成IPv6地址规划的重要意义,探讨IPv6地址通过承载各种信息提升路由、安全、管理性能的方案,以科学规划、可持续发展为原则提出我国IPv6地址全国规划布局的总体策略。 一、 IPv6地址规划将深刻影响我国互联网发展 互联网发展初期缺少对IPv4地址规划重要性的认知,导致当前严重的路由膨胀、地址过早耗尽、无法有效管理等问题。在IPv6地址全面部署前夕,应充分了解IP地址作为互联网的基础资源,其全盘布局策略将全面影响网络基础设施部署水平、可持续发展以及互联网管理能力。 IPv6地址规划方案影响全网路由聚合能力。IPv4地址缺乏层次结构,地址分配和管理缺乏统一规划,导致网络路由效率低下。除运营商之外,其他有地址需求的单位也掌握了数量可观的地址资源,接入运营商网络后产生大量无法聚合的地址碎片,这是造成IPv4 BGP路由表迅速膨胀、路由效率下降的主因。此外,流量工程、Multihoming、携地址转网等使问题更加严重化。在沿袭IPv4地址分配模式的背景下,IPv6海量地址空间对提高路由聚合能力提出了更高要求,否则潜在大量地址碎片必然导致路由表过快增长。因此IPv6地址规划的首要任务在于减少网络地址碎片,增强路由聚合能力,降低路由器等设备的CPU、内存等消耗,提高网络路由效率。 IPv6地址规划制约地址利用率,进而影响IPv6地址生命周期。由32位扩展到128位,IPv6极大地扩展了地址空间,但也并非无限可用,通过分析典型网络的IPv6地址配置方式可以看出,IPv6往往以浪费地址资源的方式保障地址配置唯一性,IPv6地址无状态自动配置造成了IPv6地址利用率相对较低,如移动通信网络的IPv6地址以“/64”为单位为每个PDP上下文分配地址前缀、家庭网络以“/48”为单位分配前缀等。因此,IPv6地址虽然提供了庞大的空间,但无序发展将导致IPv6地址严重浪费,迫切要求在初期进行科学规划,节约地址空间,尽量延长IPv6地址生命周期,避免重蹈 IPv4地址空间过早耗尽的覆辙。 IPv6地址分配方案影响地址的有效管理。当前对已分配的IP地址,我国尚缺乏有效的管理手段。通过科学规划IPv6地址方案,有利于提高我国在互联网收到攻击时的网络溯源能力,保障网络安全性和可信任性。 二、层次化结构和海量地址空间为IPv6地址扩展语义创造了条件 总体来说,IPv6地址包括全球路由前缀、子网标识以及64位接口标识符三个部分。对除由国际地址分配机构(ICANN、APNIC等)分配的前缀外,剩余地址比特位(前缀至第65比特前)可以由规划机构、互联网运营商自行划定,并制定相关含义。同时,64位接口标识符目前也没有形成全球明确的分配规则,可以在规划时统一考虑利用接口标识符承载多种信息。根据当前研究成果,IPv6地址能够承载的信息主要有以下几类。 地址分配与层次化网络拓扑结构相适应,为在地理上属于同一个范围的子网分配相同的网络前缀,使64位IPv6地址前缀体现地理位置信息。按照骨干网、省网、城域网的层次结构分配IPv6地址,有利于缩小路由表规模、增强系统稳定性强,便于实现最短路径寻址。

《IPv6地址设置及使用方法详解》

IPv6地址设置及使用方法详解 一、IPv6 协议栈的安装及IPv6 地址设置指南 1. Windows XP/Windows 2003 操作系统 (1) IPv6 协议栈的安装 在开始--> 运行处执行ipv6 install (2) IPv6 地址设置 在开始--> 运行处执行netsh 进入系统网络参数设置环境,然后执行 interface ipv6 add address “ 本地连接” 2001:da8:207::9402 (3) IPv6 默认网关设置 在上述系统网络参数设置环境中执行 interface ipv6 add route ::/0 “ 本地连接” 2001:da8:207::9401 publish=yes (4) 网络测试命令 ping6 、tracert6 2. Windows 2000 操作系统 (1) 下载IPv6 软件包 (2) 安装IPv6 软件包 解压后,执行hotfix (3 ) 添加IPv6 协议 从控制面板中,进入网络和拨号连接中,右击本地连接,点击属性,打开本地连接属性窗口,点击安装按钮,然后在弹出的窗口中,选择协议,并点击添加,在弹出的窗口中,你会发现Microsoft IPv6 Protocol ,选择这个选项,点击确定,Reboot 计算机,以使IPv6 协议栈生效。 (4)IPv6 地址设置 在开始--> 运行处执行ipv6 adu 4/2001:da8:207::9402 (5) IPv6 默认网关设置 在开始--> 运行处执行ipv6 rtu ::/0 4/2001:da8:207::9401 (6) 网络测试命令 ping6 、tracert6 3. Linux 操作系统 (1) 安装ipv6协议 modprobe ipv6 (2)IPv6 地址设置 ifconfig eth0 inet6 add 2001:da8:207::9402 (3) IPv6 默认网关设置 route -A inet6 add ::/0 gw 2001:da8:207::9401 (4) 网络测试命令 ping6 、traceroute6 4. Solaris 操作系统 (1) 创建IPv6 接口 touch /etc/hostname6.hme0 (2)添加IPv6 地址 在/etc/inet/ipnodes 文件中,加入如下一行:

ipv6地址一般设置多少_ipv6地址设置指南

ipv6地址一般设置多少_ipv6地址设置指南 IPv6(Internet Protocol Version 6)是IETF(互联网工程任务组)设计的用于替代现行版本IP协议(IPv4)的下一代IP协议。目前IP协议的版本号是4(简称为IPv4),它的下一个版本就是IPv6。随着IPv4资源的急剧紧缺,相信在不久的未来,IPv6将成为最一代互联网地址的标准。与IPv4相比,IPv6具有丰富的地址资源,它由用点号分隔的六段数字组成。 认识IPv6地址IPv4地址是类似A.B.C.D 的格式,它是32位,用\。\分成四段,用10进制表示;而IPv6地址类似X:X:X:X:X:X:X:X的格式,它是128位的,用\:\分成8段,用16进制表示;可见,IPv6地址空间相对于IPv4地址有了极大的扩充。 一个完整的IPv6地址的表示法:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx 例如:2001:0000:1F 1F :0000:0000:0100:11A 0:ADDF 为了简化其表示法,每段中前面的0可以省略,连续的0可省略为\::\,但只能出现一次。例如: 1080:0:0:0:8:800:200C :417A 可简写为1080::8:800:200C :417A FF01:0:0:0:0:0:0:101 可简写为FF01::101 0:0:0:0:0:0:0:1 可简写为::1 0:0:0:0:0:0:0:0 可简写为:: 类似于IPv4中的CDIR表示法,IPv6用前缀来表示网络地址空间,比如: 2001:251:e000::/48 表示前缀为48位的地址空间,其后的80位可分配给网络中的主机,共有2的80次方个地址。 2.IPv6地址作用域和地址分类IPv6地址指定给接口,一个接口可以指定多个地址。IPv6地址有作用域: link local地址本链路有效 site local地址本区域(站点)内有效,一个site通常是个校园网 global地址全球有效,即可汇聚全球单播地址

检查IPV6地址例子