当前位置:文档之家› ipv6邻居发现协议

ipv6邻居发现协议

IPv6地邻居发现技术

2、工作原理

邻居发现协议是IPv6协议的一个基本的组成部分,它实现了在IPv4中的地址解析协议(ARP)、控制报文协议(ICMP)中的路由器发现部分、重定向协议的所有功能,并具有邻居不可达检测机制。

邻居发现协议实现了路由器和前缀发现、地址解析、下一跳地址确定、重定向、邻居不可达检测、重复地址检测等功能,可选实现链路层地址变化、输入负载均衡、泛播地址和代理通告等功能。

邻居发现协议采用5种类型的IPv6控制信息报文(ICMPv6)来实现邻居发现协议的各种功能。这5种类型消息如下。

(1)路由器请求(Router Solicitation):当接口工作时,主机发送路由器请求消息,要求路由器立即产生路由器通告消息,而不必等待下一个预定时间。

(2)路由器通告(Router Advertisement):路由器周期性地通告它的存在以及配置的链路和网络参数,或者对路由器请求消息作

出响应。路由器通告消息包含在连接(on-link)确定、地址配置的前缀和跳数限制值等。

(3)邻居请求(Neighbor Solicitation):节点发送邻居请求消息来请求邻居的链路层地址,以验证它先前所获得并保存在缓存中的邻居链路层地址的可达性,或者验证它自己的地址在本地链路上是否是惟一的。

(4)邻居通告(Neighbor Advertisement):邻居请求消息的响应。节点也可以发送非请求邻居通告来指示链路层地址的变化。

(5)重定向(Redirect):路由器通过重定向消息通知主机。对于特定的目的地址,如果不是最佳的路由,则通知主机到达目的地的最佳下一跳。

3、主机的数据结构

IPv6的一个设计要求是:即使在一个有限的网络内,主机也必须正确工作,而不像路由器不能储存路由表,不能有永久的配置,因此主机必须能自动配置,必须能学到交换数据的有关目的地的最小信息。这些信息储存的存储器叫做缓存,这些数据结构是一系列记录的排列,称作表项。每个表项储存的信息有一定的有效期,需要周期性地清除缓存中的表项,以保证缓存的空间大

小。

主机需要为每一接口维护以下信息。

·邻居缓存:一组有关单个邻居的表项,这些邻居接收到了最新的数据流。表项是连接单播地址的关键,它包括的信息有:其链路层地址、指示邻居是路由器还是主机的标志、指向任何排队等待完成地址解析数据包的指针等。邻居缓存表项还包括由邻居不达检测算法所使用的信息,如可达状态、探测无应答的次数以及下一次邻居不达检测发生的时间。

·目的地缓存:一组有关最近收到数据流的目的地节点表项。目的地缓存包括“在连接(on-link)”和“非连接(off-link)”目的地,并在其中提供一定程度的间接寻址。目的地缓存能把目的地IP地址映射成下一跳邻居的IP地址,该缓存通过重定向消息进行信息更新。如果在目的地缓存表项中存储与邻居发现没有直接关系的附加信息,例如路径MTU(PMTU)以及由传输协议设定的往返时间,则执行时会更加方便。

·前缀列表:规定一组“在连接(on-link)”地址的前缀组成的列表。前缀列表表项产生于路由器通告接收到的信息。每一个表项都有一个相关的失效计时器值(由通告信息确定),它用于在前缀

失效时废弃这些前缀。除非在后续通告中收到了一个新的(有限)值,否则特殊的“无限”计时器值规定前缀永久有效。本地链路(1ink-local)前缀位于带有无限失效计时器的前缀列表,而不管路由器是否正在向其通告前缀。接收的路由器通告不应该修改本地链路前缀的失效计时器。

·缺省路由器列表:接收数据包的路由器列表。路由器列表的表项指向邻居缓存中的相应的表项。缺省路由器的选择算法是:选择那些已知可达的路由器,而不选择可达性还不确定的路由器。每一个表项还有一个相关的失效计时器值(从路由器通告信息中得到),它的作用是删除不再通告的表项。

上述数据结构可以用不同的方法实现。其中一种实现方法是对所有数据结构使用单个最长匹配路由表。不管采用哪种特定的实现方法,为了防止重复性的邻居不可达检测,路由器的邻居缓存表项可以由使用该路由器的所有目的地缓存表项共享。

邻居缓存包含有邻居不可达检测算法维护的信息。邻居可达性状态是最关键的信息,它的取值是下列的5个值之一。

·不完整性(INCOMPLETE):正在进行地址解析,邻居的链路层地址还没确定。

·可达性(REACHABLE):邻居在最近处于可达状态(在小于10s以前)。

·失效性(STALE):在数据流发送给该邻居以前邻居是不可达的,并无法验证其可达性。

·延迟(DELAY):邻居不再是可达的,同时数据流在最近已经发送给邻居,但不立即对该邻居进行探测,而在一个短时延后发送探测信息,这样就可以为上层协议提供可达性确认。

·探测(PROBE):邻居不再是可达的,同时发送单播邻居请求探测以验证可达性。

4、数据包的发送算法

节点向目的地发送数据包时,使用目的地缓存、前缀列表、默认路由器列表确定合适的下一跳的IP地址,然后路由器查询邻居缓存确定邻居的链路层地址。

IPv6单播地址的下一跳确定操作如下:发送者使用前缀列表中的前缀进行最长前缀匹配,确定包的目的地是在连接的还是非

连接的。如果下一跳是在连接的,下一跳地址就和目的地地址相同,否则发送者从默认路由器列表中选择下一跳。如果默认路由器列表为空,则发送者认为目的地是在连接的。

下一跳确定的信息存储在目的地缓存中,下一个包可以使用这些信息。当路由器发送包时,首先检查目的地缓存,如果目的地缓存没有相关信息存在,就激活下一跳确定过程。

在学习到下一跳路由器的IPv6地址后,发送者检查邻居缓存以决定链路层地址。如果没有下一跳IPv6地址的表项存在,路由器的工作如下:

·创建一个新表项,并设置其状态为不完全。

·开始进行地址解析。

·对传送的包进行排队。

当地址解析结束时,获得链路层地址,存储在邻居缓存中。此时表项到达新的可达状态,排队的包能够传送。

对于组播包,下一跳总是认为在连接,确定组播IPv6地址的链路层地址取决于链路类型。当邻居缓存开始传送单播包时,发送者根据邻居不可达检测算法检测相关的可达性信息,验证邻居的可达性。当邻居不可达时,再次执行下一跳确定,验证到达目的地的另一条路径是否是可达的。

如果知道了下一跳节点的IP地址,发送方就检查邻居缓存

中有关邻居的链路层信息。如果没有表项存在,发送方就创建一条,并设置其状态为“不完整性”,同时启动地址解析,然后对没有完成地址解析的数据包进行排队。对具有组播功能的接口来说,地址解析的过程是发送一个邻居请求信息,以及等待一个邻居通告。当收到一个邻居通告应答时,链路层地址被表项在邻居缓存中,同时发送排队的数据包。

在传输单播数据包期间每次读取邻居发现缓存的表项,发送方根据邻居不可达性检测的算法检查邻居不可达性检测的相关信息,但不可达性检测会使发送方发出单播邻居请求,以验证该邻居还是可达的。

数据流第一次送往目的地时就执行下一跳确定的操作,随后该目的地如果仍能正常通信,目的地缓存的表项就可以继续使用。如果邻居不可达算法决定在某一点终止通信,则需要重新执行下一跳确定,例如故障路由器的流量应该切换到正常工作的路由器,流向移动节点的数据流可能要重新路由到“移动代理”。

当节点重做下一跳确定时,不需要丢弃整个目的地缓存的表项,其中PMTU和往返计时器值的信息是很有用的。

5、邻居发现协议的功能

(1)路由器和前缀发现

路由器必须无条件丢弃不满足有效性检查的路由器请求和路由器通告消息。

路由器发现功能用来标识与给定链路相连的路由器,并获取与地址自动配置相关的前缀和配置参数。

作为对请求消息的响应,路由器应周期地发送组播路由器通告消息,来通告链路上节点的可达性。每个主机从链路上相连的路由器上接收路由器通告消息,并建立默认路由器列表(当到达目的地的路径不可知时所使用的路由器)。如果路由器很频繁地产生路由器通告消息,那么主机就能在几分钟内学习到路由器的存在,否则就要使用邻居不可达检测。

路由器通告消息应包含用来确定在连接可达性的前缀列表。主机通过使用从路由器通告消息中提取的前缀,来确定目的地是否在连接,能否直接可达,或者是否非连接,还是仅通过一个路由器就可达。目的地是在连接的,但这个目的地没有被路由器通告消息学到的前缀覆盖,在这种情况下,主机认为目的地是非连接的,路由器发送重定向消息给发送者。

路由器通告消息应包含一些标志位,这些标志位通知主机怎样执行地址的自动配置,例如路由器能指定主机是使用有状态地址配置还是无状态地址配置。

另外,路由器通告消息中还应包含简化网络集中管理的参数,例如主机产生的数据包中使用的跳数限制参数的缺省值,或链路MTU值。

当主机向路由器发出路由器请求消息时,路由器应立刻发送路由器通告消息,通过这种方式能加速节点的配置过程。

(2)地址解析

IPv6节点通过邻居请求和邻居通告消息将IPv6地址解析成链路层地址,对组播地址不执行地址解析。

节点通过组播邻居请求消息来激活地址解析过程,邻居请求消息用来请求目标路由器返回它的链路层地址。源路由器在邻居请求消息中包含了它的链路层地址,并将邻居请求消息组播到与目标地址相关的请求节点组播地址,目标路由器在单播的邻居通告消息中返回它的链路层地址。这一对消息使源和目标路由器能解析出相互的链路层地址。

(3)重定向功能

当包必须发送到一个非连接的目的地时,需要选择转发包的路由器。当选择的路由器作为消息传送的下一跳并不是最好的下一跳时,路由器需产生重定向消息,通知源节点到达目的地存在一个更佳的下一跳路由器。

路由器必须能够确定每个邻居路由器的本地链路(1ink-local)地址,以保证重定向消息里的目标地址根据本地链路地址来识别邻居路由器。

在源端没有正确应答重定向消息,或者源端选择忽略没有被验证的重定向消息的情况下,为了节省频带和处理的费用,路由器必须限定发送重定向消息的速率。

在收到重定向消息时,路由器不能更新路由表。

(4)邻居不可达检测

任何时候通过邻居或到达邻居的通信,会因各种原因而中断,包括硬件故障、接口卡的热插入等。如果目的地失效,则恢复是不可能的,通信失败;如果路径失效,则恢复是可能的。因此节点应该主动跟踪数据包发向邻居的可达性状态。

主机与邻居节点之间所有路径都应进行邻居不可达性检测,包括主机到主机、主机到路由器以及路由器到主机之间的通信,也可用于路由器之间,以检测邻居或邻居前向路径发生的故障。

如果路由器最近收到确认,邻居的IP层已经收到最近发送到它的数据包,那么该邻居是可达的。邻居不可达检测使用两种方法进行确认:一种是从上层协议来的提示,提供“连接正在处理”的确认;另一种是路由器发送单播邻居请求消息,收到了应答的邻居通告消息。为了减少不必要的网络流量,探测消息仅发送到邻居。

邻居不可达性检测与向邻居发送数据包同时进行。在邻居可达性确认期间,路由器继续向缓存链路层地址的邻居发送数据包;如果没有数据包发向邻居,则不发送检测。

6、邻居发现协议与ARP的比较

邻居发现协议比IPv4协议的相应部分在许多方面有了更大的改善。

在IPv4中,由IP层到链路层地址的解析(ARP)是基于链路层的广播机制来实现的,数据包由LLC网桥进行转发,在一个

比较大的站点范围内会占用大量的带宽,有时还会引起“广播风暴”。而在IPv6中,这一过程是基于IP层的组播机制实现的,这样,在地址解析的过程中受到地址解析发送包影响的节点数大大减少,而且非IPv6节点根本不受影响。

另外,IPv6的邻居发现协议中路由器通告消息会带着自己的链路层地址,还会带着本地链路的前缀,从而避免了每个节点配置自己的子网掩码。

IPv4的ARP是不安全的,无法保证回应ARP探测消息的节点是需要的节点,这样会导致发往一个节点的数据包被另一个节点窃听到。而邻居发现协议运行在IPv6之上,它属于网络层协议,它的安全性可由IPv6的安全性来保证。

IPv4的ARP运行在数据链路层,不同的网络介质需要有不同的ARP协议,例如Ethernet ARP与FDDI ARP就不完全相同。而邻居发现协议运行在网络层,与介质无关,任何网络媒介都可以运行相同的邻居发现协议。

与IPv4协议不同,通过邻居发现协议得到的各种地址信息都有一定的生存期,这些生存期由这些信息的发送者规定。路由器能够通知主机如何执行地址配置,例如路由器能指示主机是使

用状态地址配置还是使用无状态地址配置。路由器能够通告链路的最大传输单元信息(MTU),以使同一链路上的所有节点使用相同的MTU值。对于无状态地址自动配置来说,邻居发现协议能够提供主机进行无状态地址自动配置所需要的全部信息。

在IPv4到IPv6的早期过渡阶段,所有实现IPv6的节点都应该被配制成一种双栈结构。双栈结构使节点能够与IPv4保持兼容,因此现存的IPv4协议层应该被一种既支持IPv4又支持IPv6的协议层所取代,而且TCP和UDP层应该被升级支持IPv6。支持两个版本的IP协议的最大困难在于同时处理两种不同结构的地址,邻居发现中的邻居自动发现功能可以很容易地处理这种功能。

IPv6邻居发现机制IPv6协议中一个重要特性就是IPv6的邻居发现机制

IPv6邻居发现机制 IPv6协议中一个重要特性就是IPv6的邻居发现机制,在本课题的实验中可以看到IPv6邻居发现机制中的众多特性。地址自动配置与邻居发现有密切的关系,因此也将在本节中涉及。 一、邻居发现 IPv6邻居发现最初在RFC 1970(参考文献〔7〕)中描述,目前已在RFC 2461 [i]中重新定义。 IPv6邻居发现提供了几种不同用途,包括以下方面的支持: l 路由器发现。即帮助主机来识别本地路由器。 2 前缀发现。节点使用此机制来确定指明链路本地地址的地址前缀以及必须发送给路由器转发的地址前缀。 3 参数发现。此机制帮助节点确定诸如本地链路MTU之类的信息。 4 地址自动配置。用于IPv6节点地址自动配置 [ii]。 5 地址解析。替代了ARP和RARP,帮助节点从目的IP地址中确定本地节点(即邻居)的链路层地址。 6 下一跳确定。可用于确定包的下一个目的地,即可确定包的目的地是否在本地链路上。如果在本地链路,下一跳就是目的地;否则,包需要路由,下一跳就是路由器,邻居发现可用于确定应使用的路由器。 7 邻居不可达检测。邻居发现可帮助节点确定邻居(目的节点或路由器)是否可达。l 重复地址检测。邻居发现可用于帮助节点确定它想使用的地址在本地链路上是否已被占用。 8 重定向。有时节点选择的转发路由器对于待转发的包而言并非最佳,这种情况下,该转发路由器可以对节点进行重定向,以将包转发到最佳的路由器。例如,节点将发往Internet的包发送给为节点的内联网服务的默认路由器,该内联网路由器可以对节点进行重定向,以将包发送给连接在同一本地链路上的Internet路由器。 邻居发现服务通过5种ICMPv6 [iii]报文类型来执行,这些报文包括: 9 路由器宣告。要求路由器周期性地发送多点传送路由器宣告消息,宣告其可用性及其可到达的在线节点、用于配置的链路和Internet参数。这些宣告包含对所使用的网络地址前缀、建议的路程段极限值及本地的MTU的指示,也包括指明节点应使用的自动配置类型的标志。 10 路由器请求。主机可以请求本地路由器立即发送其路由器宣告。路由器必须周期性地发送这些宣告,但是在收到路由器请求报文时,不必等到下一个预定传送时间到达。而应立即发送宣告信息。 11 邻居宣告。节点在收到邻居请求报文时或者链路层地址改变时,发出邻居宣告报文。 12 邻居请求。节点发送邻居请求来请求邻居的链路层地址,以验证它先前所获得并保存在告诉缓存中的邻居链路层地址的可达性,或者验证它自己的地址在本地链路上是唯一的。

ipv6,nd协议,广播

竭诚为您提供优质文档/双击可除 ipv6,nd协议,广播 篇一:网络基础邻居发现(nd)协议 网络基础邻居发现(nd)协议 ipv6邻居发现(nd)是一组确定邻居节点之间关系的消 息和过程。nd代替了在ipv4中使用的“地址解析协议(aRp)”、“internet控制消息协议(icmp)”、路由器发现和icmp重定向,并提供了其他功能。nd在RFc2461“用于ip版本6(ipv6)的邻居发现”(neighbordiscoveryforipVersion6(ipv6))中进行了描述。 邻居发现(nd)协议的使用主要可分为三个方面,包括nd由主机使用、nd由路由器使用和nd由节点使用。其中,在nd由主机使用中,主要用于探索邻居路由器、探索地址、地址前缀和其他配置参数;在nd由路由器使用中,主要用于公告它们的存在、主机配置参数以及处于链路的前缀,通知主机更好的下一个跃点地址,以便转发用于特定目标的数据包;在nd由节点使用中,主要用于解析ipv6数据包所转发到的邻居节点的链路层地址,确定邻居节点的链路层地址何时发生变化,确定ipv6数据包是否可以发送到邻居和能

否收到来自邻居的数据包。邻居发现(nd)协议的描述过程如表5-2所示。 篇二:ipV6基本协议分析实验 上机报告 篇三:ipv6协议实验 项目名称:实验报告 i.实验目的 1.配通自己pc的ipv6网络,熟悉ipv6相关的控制台命令; 2.学习nd及相关应用(如路由器发现、不可达检测、重复地址检测、前缀发现、参数发现、重定向等);(可选做其它感兴趣的协议或应用) ii.实验要求 在网络上抓取任意4种nd消息报文(至少4个截图),做报文分析。提交的作业内容包括: 1.自己pc的ipv6地址,如何知道ipv6是通的?请以截图配文字说明; 2.用抓包工具(如wireshark),抓取nd 消息报文,分析之,以截图(至少4个截图)配文字的形式。 iii.现有条件 学校的网络,能够上ipv6网站。microsoftwindows7操作系统抓包工具wiresharkv1.6.2 1.检测网络连接:

IPv6试题()

一、不定项选择题(含多选题或者单个选题,每题4分,少选得1分,多选或错选不得分,共20分) 1、IPv6 地址中包含下列类型() A、单播 B、多播 C、任播 D、广播 2、下列哪些地址是合法的链路本地地址() A、FE80::11 B、FEC0::2 C、FF02::A001 D、FF02::1:FF00:0101:0202 3、IPv6 中,链路层地址解析使用的报文是() A、ARP B、Neighbor Solicitation C、Neighbor Advertisement D、Neighbor Discovery(邻居发现) 4、IPv6 中,无状态地址自动配置过程中使用的主要报文包括哪些() A、RS(router solicication) B、RA(router advertisement) C、NS(neibour solicition) D、NA(neibour advertisement) 5、IPv6 中,邻居发现(Neighbor Discover)使用的主要报文类型包括哪些() A、路由器请求 B、路由器公告 C、邻居请求 D、邻居公告 E、重定向 二、单选题(只有一个选项是正确,每题4分,多选或错选不得分,共20分) 1、PMTU使用下面那类消息类型来实现探测() A、目的不可达(Destination Unreachable) B、数据包超长(Packet Too Big) C、超时(Time Exceede) D、参数(Parameter Proble) 2、下面Ipv6地址表示错误的是() A、::1/128 B、1:2:3:4:5:6:7:8:/64

ipv6

IPV6 中,链路层地址解析使用的报文是NDP邻居发现协议 IPV6共有多少位128 iPv6 中,链路层地址解析使用的报文是NDP邻居发现协议 下列哪一个IPv6地址是错误地址? ::FFFF ::1 ::1:FFFF ::1::FFFF 错 下列哪些地址是合法的请求节点组播地址( d ) A、FE80::11 B、FEC0::2 C、FF02::A00 D、FF02::1:FF01:1111 对 下面等价于IPV6地址FE80:0:0:ABC::1的地址 是?( b ) FE80:0:ABC::1 FE80:0:0:ABC:0:0:0:1 对 F3CC::ABC:0:1111 FE80:ABC:1 iPv6地址中,组播地址的前几位特定比特值是1110 手工配置IPv6静态默认路由的命令是ipv6 route ::/0 F0/1 iPv6 中,无状态地址自动配置过程中使用的主要报文包括哪些RA(router advertisement) IPv6地址空间中(链路本地地址) 地址设计用于单条链路上的地址分配,例如用于自动地址配置,邻站发现等 下面那个报文不是DHCPv6过程报文(Discover) IPv4地址用点分十进制表示,IPv6地址用( 冒号十六进制)表示。 IPv6的128位地址被分(8)段,每(4 )位为一段,每段被转化为一个(4 )位(十

六)进制数,并用(冒号)隔开 IPv6 中,邻居发现(Neighbor Discover)使用的主要报文类型 ipv6地址中用:号隔开的每一块有(16)位 “IPv6的邻居发现”中定义了以下机制,下面表述正确的是?ABCD 替代ARP 无状态自动配置 路由重定向 任播 组播适合应用的场合包括(ABD ) IPTV VOD 电台广播 网上远程教学 ipv6地址类型分为( ABC ) 单播 多播 任播 广播 ipv6地址单播地址类型分为( BCD ) 组播本地地址 全局单播地址 站点本地地址 链路本地地址 ipv6单播地址中链路本地地址的开头和网络接口 分别是( AD ) FE80:: FC30:: /64 /10

IPv6的邻居发现技术

IPv6的邻居发现技术 1、引言 随着IP网络规模和业务的迅速发展,IP网络的用户数急剧增加,正因为如此,IP网络也暴露出越来越多的问题,如地址空间不足、QoS、安全问题等。为了解决Internet的这些问题,尤其是解决地址空间不足的问题,IETF于1992年在IPv4的基础上定义了下一代的Internet协议,被称之为“Ipng”或“IPv6”。 IPv6解决的最大问题是扩大了地址空间,另外,它与IPv4相比在其它许多方面都具有优势,例如安全性、服务质量、移动性等。IPv6的一个显著特点就是它具有“即插即用”功能。即插即用使节点直接连接到网络后,不需要经过任何人工配置就能够使用,即插即用使网络的管理和控制变得更加简单;其次,节点只需要知道自己的链路层地址及本地网络的子网前缀,就能够通过IPv6的无状态或者全状态自动配置得到惟一的IPv6地址,从而成为网络的一部分;另外,IPv6还实现了更好的对节点移动性的支持。这些功能都是通过邻居发现协议来实现的,同一个子网内的所有主机和路由器之间的交互也都是通过邻居发现协议来实现的。 2、工作原理 邻居发现协议是IPv6协议的一个基本的组成部分,它实现了在IPv4中的地址解析协议(ARP)、控制报文协议(ICMP)中的路由器发现部分、重定向协议的所有功能,并具有邻居不可达检测机制。 邻居发现协议实现了路由器和前缀发现、地址解析、下一跳地址确定、重定向、邻居不可达检测、重复地址检测等功能,可选实现链路层地址变化、输入负载均衡、泛播地址和代理通告等功能。 邻居发现协议采用5种类型的IPv6控制信息报文(ICMPv6)来实现邻居发现协议的各种功能。这5种类型消息如下。 (1)路由器请求(Router Solicitation):当接口工作时,主机发送路由器请求消息,要求路由器立即产生路由器通告消息,而不必等待下一个预定时间。 (2)路由器通告(Router Advertisement):路由器周期性地通告它的存在以及配置的链路和网络参数,或者对路由器请求消息作出响应。路由器通告消息包含在连接(on-link)确定、地址配置的前缀和跳数限制值等。 (3)邻居请求(Neighbor Solicitation):节点发送邻居请求消息来请求邻居的链路层地址,以验证它先前所获得并保存在缓存中的邻居链路层地址的可达性,或者验证它自己的地址在本地链路上是否是惟一的。 (4)邻居通告(Neighbor Advertisement):邻居请求消息的响应。节点也可以发送非请

IPv6邻居发现协议的安全性研究

IPv6邻居发现协议的安全性研究 宋浪 湖南理工学院计算机学院,岳阳 414000 Email: sl.class19@https://www.doczj.com/doc/f54377613.html, 【摘要】邻居发现协议(Neighbor Discovery Protocol,NDP)作为IPv6协议的重要组成部分,取代了IPv4中的ARP协议、ICMP路由发现和ICMP重定向功能。文章分析了NDP存在的安全问题,尤其是伪造IP地址攻击,并在此基础上提出采用加密生成地址和签名技术等来解决这些安全威胁。 【关键词】IPV6 邻居发现安全加密生成地址 【中图分类号】TP393 【文献标识码】G434 Analysis on IPv6 Neighbor Discovery Protocol Security Song Lang (School of Computer Science,Hunan Institute Science and Technology, Yueyang 414000)【Abstract】NDP(Neighbor Discovery Protocol, NDP) is an important part of IPv6 protocol, which corresponds to acombination of ARP protocol, ICMP router discovery and ICMP redirect function in IPv4. This paper analyses security problem that may be subjected to NDP, especially IP address spoofing attack. At last, this paper puts forward CGA(Cryptographically Generated Addresses, CGA) and signature to solve the threats of IPv6 NDP. 【keywords】IPV6 neighbor discovery security CGA 1 引言 随着网络规模迅速发展,IPv4网络暴露出越来越多的问题,IETF于1992年在IPv4的基础上定义了下一代的Internet协议,被称之为“IPng”或“IPv6”。 IPv6[1]的一个显著特点是它的地址自动配置功能,它由IPv6协议中的邻居发现协议实现,主机不需要任何人工操作即可自动获得一个合法的IPv6地址进行通信。邻居发现协议[2]解决了连接在同一条链路上的所有节点之间的互连问题,它主要完成路由器发现、重定向功能、地址自动配置、重复地址检测、地址解析和邻居不可达探测的功能。然而,地址自动配置也带来了一些安全问题,使得邻居发现协议可能遭受到各种网络攻击。了解并发现各种攻击手段,提出有效的防御措施是目前亟待解决的。 2 邻居发现协议的伪造IP地址进行攻击

ipv6邻居发现协议

IPv6地邻居发现技术 2、工作原理 邻居发现协议是IPv6协议的一个基本的组成部分,它实现了在IPv4中的地址解析协议(ARP)、控制报文协议(ICMP)中的路由器发现部分、重定向协议的所有功能,并具有邻居不可达检测机制。 邻居发现协议实现了路由器和前缀发现、地址解析、下一跳地址确定、重定向、邻居不可达检测、重复地址检测等功能,可选实现链路层地址变化、输入负载均衡、泛播地址和代理通告等功能。 邻居发现协议采用5种类型的IPv6控制信息报文(ICMPv6)来实现邻居发现协议的各种功能。这5种类型消息如下。 (1)路由器请求(Router Solicitation):当接口工作时,主机发送路由器请求消息,要求路由器立即产生路由器通告消息,而不必等待下一个预定时间。 (2)路由器通告(Router Advertisement):路由器周期性地通告它的存在以及配置的链路和网络参数,或者对路由器请求消息作

出响应。路由器通告消息包含在连接(on-link)确定、地址配置的前缀和跳数限制值等。 (3)邻居请求(Neighbor Solicitation):节点发送邻居请求消息来请求邻居的链路层地址,以验证它先前所获得并保存在缓存中的邻居链路层地址的可达性,或者验证它自己的地址在本地链路上是否是惟一的。 (4)邻居通告(Neighbor Advertisement):邻居请求消息的响应。节点也可以发送非请求邻居通告来指示链路层地址的变化。 (5)重定向(Redirect):路由器通过重定向消息通知主机。对于特定的目的地址,如果不是最佳的路由,则通知主机到达目的地的最佳下一跳。 3、主机的数据结构 IPv6的一个设计要求是:即使在一个有限的网络内,主机也必须正确工作,而不像路由器不能储存路由表,不能有永久的配置,因此主机必须能自动配置,必须能学到交换数据的有关目的地的最小信息。这些信息储存的存储器叫做缓存,这些数据结构是一系列记录的排列,称作表项。每个表项储存的信息有一定的有效期,需要周期性地清除缓存中的表项,以保证缓存的空间大

RFC4861 IPv6邻居发现协议-2007

RFC4861 IPv6邻居发现协议 2007

该备忘录状态: 本文档为Internet社区指定了Internet标准跟踪协议,并请求讨论和改进建议。有关本协议的标准化状态和状态,请参阅当前版本的“互联网官方协议标准”(STD 1)。这份备忘录的分发是不受限制的。 概述: 本文档定义了IPv6邻居发现协议。位于同一链路(子网)上IPv6节点使用邻居发现协议去发现每个节点的存在,确定每个其他节点的链路层地址,发现路由器,并管理&维护到活动邻居路径的可达性信息。 修订记录

目录 目录 (3) 1引言 (6) 2术语 (6) 2.1通用术语 (6) 2.2链路类型 (9) 2.3地址 (10) 2.4要求 (11) 3协议概述 (11) 3.1与IPv4的对比 (15) 3.2支持的链路类型 (16) 3.3保护邻居发现消息 (17) 4消息格式 (18) 4.1路由器请求(RS)消息格式 (18) 4.2路由器通告(RA)消息格式 (19) 4.3邻居查询(NS)消息格式 (21) 4.4邻居通告(NA)消息格式 (22) 4.5重定向(Redirect)消息格式 (24) 4.6选项格式 (26) 4.6.1源/目标链路层地址 (26) 4.6.2前缀信息 (27) 4.6.3重定向头 (28) 4.6.4MTU (29) 5主机概念模型 (30) 5.1概念数据结构 (30) 5.2概念发送算法 (31) 5.3垃圾回收与超时要求 (33)

6路由器和前缀发现 (33) 6.1消息检查 (34) 6.1.1RS消息有效性检查 (34) 6.1.2RA消息有效性检查 (35) 6.2路由器规范 (35) 6.2.1RA配置变量 (35) 6.2.2成为通告接口 (39) 6.2.3RA消息内容 (39) 6.2.4发送未经请求的RA (40) 6.2.5停止作为通告接口 (41) 6.2.6处理RS (41) 6.2.7RA一致性 (42) 6.2.8链路本地地址变化 (43) 6.3主机规范 (44) 6.3.1主机配置变量 (44) 6.3.2主机变量 (44) 6.3.3接口初始化 (45) 6.3.4处理RA (45) 6.3.5前缀和默认路由器的超时 (48) 6.3.6默认路由器的选择 (48) 6.3.7发送RS (48) 7地址解析和邻居不可达检测 (50) 7.1消息检查 (50) 7.1.1NS的有效性检查 (50) 7.1.2NA的有效性检查 (51) 7.2地址解析 (51) 7.2.1接口初始化 (52) 7.2.2发送NS (52) 7.2.3接收NS (53) 7.2.4发送NA (54)

IPv6知识点整理

RFC:(Request for Comments)意即“请求注解”,包含了关于Internet的几乎所有重要的文字资料。 IETF:(Internet Engineering Task Force)即因特网工程任务组,又叫互联网工程任务组,成立于1985年底。 NGI是Next Generation Internet,下一代互联网。ND:邻居发现协议。IPSec协议即网络安全体系结构。 互联网控制消息协议第六版即ICMPv6(ICMP for IPv6)是互联网控制消息协议(ICMP)在IPv6协议下的新版本。 RFC:请求注释request for comment IPng:所有有关下一代网络协议的总称。 IPv4存在问题:地址空间匮乏;存在网络安全隐患;不提供服务质量保证;IP地址配置复杂;缺少移动性支持。 IPv4与IPv6数据包包头比较:简化字段;扩充地址位数;IPv4数据包长度可变,IPv6不可变 地址表示方式:冒号分16进制;压缩模式;内嵌IPv4地址的IPv6地址格式。任播和单播共用IPv6地址p57 IPv6地址分类:单播地址;任播地址;多播地址。(任播地址是从单播地址空间中每个划分出来的) 任播地址不能作为一个IPv6数据包的源地址;一个任播地址不能分配给一个主机,只能分配给路由器。 取消广播地址的原因:用多播地址取代广播地址实现的功能,广播可能会为网络性能设置障碍。P51 ICMPv6与ICMPv4的比较:ICMPv6支持Mobile IPv6协议;IPv6中引入了邻居发现(ND)协议,使用ICMPv6报文确定同一个链路上的邻居的链路层地址、发现路由器、随时跟踪哪些邻居是可连接的,以及检测更改的链路层地址;原来IPv4的Internet组管理协议(IGMP)功能被加到ICMPv6中;ARP与RARP功能被加入到ICMPv6中了。 ICMPv6报文格式及其内容:差错报文:目标不可达,数据包过长,超时,参数问题。如traceroute 信息报文:回送请求报文,回送应答报文。如ping命令 ICMPv6差错报文功能:该报文是由目标或中间路由器发送的,用于报告在转发或传送IPv6数据包过程中出现的错误。因为该报文的8位类型字段中的最高位都为0,所以该报文的类型字段的有效范围是0~127。 ICMPv6信息报文功能:该报文提供了简单的诊断功能,来协助发现和处理故障。包括回送请求报文和回送应答报文,后面将作详细介绍。另外,还有一些ICMPv6信息报文是在邻居发现和多播侦听发现中使用。 邻居发现(ND)协议的组成:路由请求报文;路由通告报文;邻居请求报文;邻居通告消息报文;重定向报文。 IPv6路由协议:基于距离向量:RIPng(RIP Next Generation)协议; 基于链路状态:OSPFv3(Open Shortest Path First)协议,IS-IS协议; 基于路径向量:BGP-4(Border Gateway Protocol)协议,IDRPv2(Inter-Domain Routing Protocol)协议; IPSec主要包括两方面的协议:AH/ESP(Authentication Header/Encapsulating Security Payload)安全协议和IKE(Internet Key Exchange)密钥交换协议。 IPSec提供的安全服务包括:数据源认证、无连接机密性、抗重播攻击和有限的数据流机密性保护功能,可以对运行在IP层之上的任何协议起到保护作用,如TCP、UDP和ICMP。 IP QoS可以分为两种基本类型:基于资源预留:网络资源按照某个业务的QoS要求进行分配,制定资源管理策略。互联网工程任务组IETF(Internet Engineering Task Force)提出的综合服务(Integrated Services,IntServ)体系结构便是基于这种策略,资源预留协议(Resource reSerVation Protocol, RSVP)是其核心部分。 基于优先级:网络边界节点对业务流进行分类、整形、标记。核心节点按照资源管理策略分配资源,对QoS要求高的业务给以优先处理。IETF提出的区分服务(Differentiated Services,DiffServ)便是基于这种策略 IETF已经提出了几种IP QoS模型和机制,主要有: 综合服务和资源预留协议IntServ/RSVP:以RSVP信令向网络提出业务流传输规格(Flowspec),并建立和拆除传输路径上的业务流状态。主机和路由器节点建立和保持业务流状态信息。尽管RSVP经常用于单个流,但也用于聚流的资源预留。 区分服务:在区分服务网络中,边界路由器根据用户的流规格(stream profile)将用户流划分为不同的级别,再聚合成流聚集,聚集信息存放在IP包头的DS标记域,称为DS标记(Differentiated Services CodePoint,DSCP)。内部节点则根据DSCP提供不同质量的调度转发服务。 多协议标记交换(MultiProtocol Lable Switch,MPLS):根据分组头的标记,通过网络路径控制来提供流聚集的带宽管理 子网带宽管理(Subnet Bandwidth Management,SBM):负责OSI第二层(数据链路层)的分类和优先级排列,同IEEE 802网络进行共享和交换。 移动主机(MobileHost):移动IP协议中每个移动主机在家乡链路(HomeLink)上有一个唯一的家乡地址,当它漫游到外地网络时,将获得一个临时的转交地址(CareOf Address)。移动主机可以将接入Internet的位置从一条链路切换到另一条链路上,仍保持正在进行的通信。家乡代理(HomeAgent):是一台与移动主机家乡网络相连的路由器,也称归属代理。当移动主机位置切换时,HA负责维护移动主机当前位置信息,处理和响应移动主机注册请求消息。 外地代理(ForeignAgent):是移动主机所在外地链路上的一台路由器。一方面为移动主机提供转交地址,帮助移动主机将转交地址通知

IPV6模拟试题

《IPv6原理与技术》模拟试题一.选择题(共43分) (2分) A 分组交换理论的提出和TCP/IP协议的开发成功 B 自由的学术交流环境 2.下列字段中,()不是IPv4报头中的字段。(1分) A头xx B有效载荷xx C业务类型 D标识符 3.目前来看,下面哪些描述可以认为是IPv4的不足?()(4分) A IPv4地址空间即将耗尽 B路由表急剧膨胀 C无法提供多样的QOS D网络安全令人担忧 4.如果某IPv4网络的IP地址为192.168.1.200,子网掩码为 255.255.255.0,那么该IP所在的子网ID为()(1分) A 192.168.1 B 192.168

C 192.168.1.200 D 192.168.1.255 5.下列关于IPv6基本报头中有效载荷长度字段的描述是错误的()。(1分)A字段长度为16bit B有效载荷xx不包含基本报头的xx C一个IPv6数据报可以容纳64k八比特组的数据 D 有效载荷xx包含基本报头的xx 6.下面是一些由IPv6基本报头,扩展报头和高层报头组成的IPv6信息包,它们出现的顺序哪些是正确的?()(2分) A 基本报头,路由报头,跳到跳选项报头,TCP报文段 B基本报头,认证报头,路由报头,TCP报文段 C 基本报头,路由报头,分段报头,TCP报文段 D基本报头,路由报头,TCP报文段 7.IPV6扩展报头选项中的选项类型(Option Type)字段的格式为()。其中X表示未定义。(1分) A NNXXXM B XXXNNM C NNMMXX D NNMXXX 8.如果跳到跳选项报头的报头长度(Header Length)的值为8,那么该报头的实际总长度为()。(1分) A 0个8bit组

相关主题
文本预览
相关文档 最新文档