IPV6 邻居发现ND协议解析
- 格式:ppt
- 大小:547.00 KB
- 文档页数:47
NDP(Neighbor Discovery Protocol,邻居发现协议)是IPv6的一个关键协议,它组合了IPv4中的ARP、ICMP路由器发现和ICMP重定向等协议,并对它们作了改进。
作为IPv6的基础性协议,NDP还提供了前缀发现、邻居不可达检测、重复地址监测、地址自动配置等功能。
1.地址解析:地址解析是一种确定目的节点的链路层地址的方法。
NDP中的地址解析功能不仅替代了原IPv4中的ARP,同时还用邻居不可达检测(NUD)方法来维持邻居节点之间的可达性状态信息。
2.无状态地址配置:NDP中特有的地址自动配置机制,包括一些列相关功能,如路由器发现、接口ID自动生成、重复地址监测等。
通过无状态自动配置机制,链路上的节点可以自动获得IPv6全球单播地址。
a)路由器发现:路由器与其他相连的链路上发布网络参数信息,主机捕获此信息后,可以获得全球单播IPv6地址前缀、默认路由、链路参数(链路MTU)等信息。
b)接口ID自动生成:主机根据EUI-64规范或其他方式为接口自动生成接口标识符。
c)重复地址监测(DAD):根据前缀信息生成或手动配置IPv6地址后,为保证该地址的唯一性,在其可以使用之前,主机需要检验它是否已被链路上的其他节点所使用。
d)前缀重新编址:当网络前缀变化时,路由器在与其相连的链路上发布新的网络参数信息,主机捕获这些新信息后,重新配置前缀、链路MTU等地址相关信息。
3.路由重定向:当在本地链路上存在一个更好的到达目的网络的路由器时,路由器需要通告节点来进行相应配置改变。
NDP定义了5种ICMPv6报文类型,包括RS、RA、NS、NA和Redirect报文,如表2-1所示。
表2-1 ICMPv6报文类型ICMPv6类型消息名称 ICMPv6类型消息名称Type=133 RS(Router Solicitation,路由器请求)Type=136 NA(Neighbor Advertisement,邻居公告)Type=134 RA(Router Advertisment,路由器公告 Type=137 Redirect(重定向报文)Type=135 NS(Neighbor Solicitationh,领居请求)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的一个设计要求是:即使在一个有限的网络内,主机也必须正确工作,而不像路由器不能储存路由表,不能有永久的配置,因此主机必须能自动配置,必须能学到交换数据的有关目的地的最小信息。
这些信息储存的存储器叫做缓存,这些数据结构是一系列记录的排列,称作表项。
IPv6地址解析之链路层地址学习
IPV6地址解析包括两个部分:一部分解析目的IP对应的链路层地址(类似于IPV4的ARP 协议),另一部分是邻居状态可达性检测(NUD)。
IPV6地址解析工作在网络层,与链路层协议无关。
地址解析过程:
假设PC1pingPC2
PC1------------------------------------------------------PC2
2001:0206::1/64 2001:0206::2/64
00:24:ac:ef:47:8a 00:24:ee:ee:ee:88
1、PC1pingPC2需要封装二层头部,首先暂停发送该ping包,学习链路层地址。
2、PC1发送一条请求消息(NS),请求PC2的链路层地址,该请求消息的目的IP为被请求节点的组播地址,源地址为PC1的IP地址。
3、PC2收到该请求后,回应一个邻居宣告消息(NA),源IP为PC2,目的IP为PC1(单播)。
消息的内容是PC2的链路层地址。
PC2将PC1的IP地址和MAC地址加入自己的邻居缓存表中。
4、PC1收到邻居宣告消息后,将PC2的IP地址和MAC地址加入自己的邻居缓存表中。
5、此时PC1可以发送对PC2的ping包了。
解析过程中NS消息二层地址与三层地址的形成:
三层地址:取全球单播地址的后24位,与固定前缀FF02:1:FF::/104形成。
二层地址:RFC2464规定使用33-33-xx-xx-xx-xx,其后32位取用三层地址后32位。
IPv6 ND配置举例关键词:IPv6 ND摘要:本文主要介绍IPv6 ND的应用及其典型配置。
缩略语:目录1特性简介 (3)2应用场合 (3)3配置举例 (3)3.1组网需求 (3)3.2配置思路 (4)3.3配置步骤 (4)3.3.1 Router A的配置 (4)3.3.2 Router B的配置 (5)3.3.3 Host的配置 (6)3.3.4验证结果 (6)4相关资料 (8)4.1相关协议和标准 (8)1特性简介IPv6邻居发现协议(IPv6 ND,简称ND)是IPv6的一种基础协议,它利用NA、NS、RA、RS 和重定向五种类型的ICMPv6消息,来确定邻居节点之间关系和地址信息,实现地址解析、验证邻居是否可达、重复地址检测、路由器发现/前缀发现、地址自动配置和重定向等功能。
邻居发现协议代替了IPv4中的ARP、ICMP路由器发现(Router Discovery)和ICMP重定向消息(Redirect Message),并提供了一系列增强功能,保障了设备的安全性。
2应用场合在IPv6通信过程中始终需要运行ND协议。
例如,通信节点间转发IPv6报文、主机和路由器间交换IPv6地址配置信息时,都需要使用ND协议获得链路层地址、邻居可达性等必要的信息。
主机通过ND可以实现:发现邻居路由器;自动获取地址前缀和其他相关配置参数。
路由器通过ND可以实现:发布路由器的存在、主机配置参数和地址前缀;通知主机向特定目的地址转发报文的理想下一跳地址。
通过ND,主机和路由器还可以实现:解析邻居节点的链路层地址;按照一定机制维护邻居信息。
一般情况下,ND默认的配置就可以满足普通用户的需求,但是,下面两种情况下,需要在设备上进行ND的配置:网络状态不稳定或网络中存在安全隐患时,为了保证设备间通信稳定,需要调整部分参数;设备为其他主机提供地址前缀信息时,需要对设备进行设置。
3配置举例3.1组网需求如下图所示,Router A,Router B为SR6602。
竭诚为您提供优质文档/双击可除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网站。
linux内核 ipv6邻居表项的老化机制
Linux内核中的IPv6邻居表项的老化机制是通过NDISC(邻
居发现协议)来实现的。
NDISC是IPv6网络中用于解析邻居(即相邻路由器或主机)的IPv6地址与链路层地址的协议。
在Linux内核中,NDISC协议在IPv6邻居缓存中会为每个邻
居表项设置一个存活时间(lifetime),即表项在该时间之后
将被认为过期并从缓存中删除。
存活时间由邻居发现过程中的各种信息和事件动态地更新。
当IPv6邻居表项未被访问一段
时间后,其存活时间会递减,直到到达零值。
当邻居表项的存活时间为零时,内核会发送一个NDISC Neighbor Advertisement(邻居广告)报文,以验证邻居的存在。
如果该邻居正常回复一个NDISC Neighbor Solicitation(邻居
请求)报文,则邻居表项的存活时间会被重新设置并重新开始计时。
如果邻居没有回复,那么该邻居表项将被认为已经过期,会从邻居缓存中删除。
此外,内核还会通过其他机制来更新邻居表项,如接收到邻居的数据包、链路状态改变等。
这些事件会触发对邻居表项的更新和存活时间的刷新。
总结来说,Linux内核中的IPv6邻居表项的老化机制是通过NDISC协议和存活时间的动态调整来实现的。
邻居表项在一
段时间内未被访问时,存活时间会递减,直到零。
当存活时间为零时,内核会发送邻居广告报文来验证邻居的存在,并根据
回复情况来决定是否将表项删除或重新计时。
同时,其他事件也会触发对邻居表项的更新和存活时间的刷新。