CN107547510A - 一种邻居发现协议安全表项处理方法和装置 - Google Patents
一种邻居发现协议安全表项处理方法和装置 Download PDFInfo
- Publication number
- CN107547510A CN107547510A CN201710536608.XA CN201710536608A CN107547510A CN 107547510 A CN107547510 A CN 107547510A CN 201710536608 A CN201710536608 A CN 201710536608A CN 107547510 A CN107547510 A CN 107547510A
- Authority
- CN
- China
- Prior art keywords
- messages
- safe list
- list items
- host address
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Small-Scale Networks (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提供一种邻居发现协议ND安全表项处理方法,应用于二层交换设备,其通过信任端口连接路由器网关、通过验证端口连接主机,方法为:接收NS报文或NA报文;从报文中获取报文发送方的主机地址;如果本设备上不存在与该主机地址对应的ND安全表项,则新建与该主机地址对应的临时未生效的ND安全表项,通过信任端口发送探测该主机地址是否已被使用的NS报文;若在设定时间内从信任端口收到通告该主机地址已被使用的NA报文则删除新建的ND安全表项;若在设定时间内未从信任端口收到NA报文则生效该ND安全表项;设定时间为从信任端口收到的RA报文包括的重新传输计时器字段值。该方法使得ND安全内表项的表项探测时长可动态调整。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种ND(Neighbor Discovery,邻居发现协议)安全表项处理方法和装置。
背景技术
RFC(request for comments,请求注解协议)6620定义描述了IPv6(InternetProtocol Version 6,互联网协议第6版)的源地址验证机制:在连接路由器网关和主机的二层交换设备上生成ND安全表项,用于验证到达二层交换设备的数据报文的合法性;如果数据报文的源地址未记录在ND安全表项中则该数据报文不合法会被丢弃,如果数据报文的源地址已记录在ND安全表项中则该数据报文合法会被正常转发。ND安全表项为数据报文的转发和丢弃提供了凭证,保证了源地址的有效性,可以防止非法报文的攻击。
发明内容
有鉴于此,本申请提供一种ND安全表项处理方法和装置,用于动态调整ND安全表项的表项探测时长,保证了在各类网络下的适应性。
具体地,本申请是通过如下技术方案实现的:
本申请第一方面,提供了一种ND安全表项处理方法,所述方法应用于二层交换设备,所述二层交换设备通过信任端口连接路由器网关、通过验证端口连接主机,所述方法包括:
接收NS报文或NA报文;
从所述NS报文或NA报文中获取报文发送方的主机地址;
如果本设备上不存在与所述主机地址对应的ND安全表项,则
新建与所述主机地址对应的临时未生效的ND安全表项,并通过信任端口发送用于探测所述主机地址是否已被使用的NS报文;如果在设定时间内从信任端口收到用于通告所述主机地址已被使用的NA报文,则删除新建的ND安全表项;如果在设定时间内未从信任端口收到用于通告所述主机地址已被使用的NA报文,则生效新建的ND安全表项;其中,所述设定时间为从信任端口收到的RA报文包括的重新传输计时器字段值。
本申请第二方面,提供了一种ND安全表项处理装置,所述装置可以应用于二层交换设备,所述二层交换设备通过信任端口连接路由器网关、通过验证端口连接主机,所述二层交换设备具有实现上述方法的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块或单元。
一种可能的实现方式中,所述装置包括:
接收单元,用于接收NS报文或NA报文;
主机地址获取单元,用于从所述NS报文或NA报文中获取报文发送方的主机地址;
ND安全表项处理单元,用于在本设备上不存在与所述主机地址对应的ND安全表项时,新建与所述主机地址对应的临时未生效的ND安全表项,并通过信任端口发送用于探测所述主机地址是否已被使用的NS报文;如果在设定时间内所述接收单元从信任端口收到用于通告所述主机地址已被使用的NA报文,则删除新建的ND安全表项;如果在设定时间内所述接收单元未从信任端口收到用于通告所述主机地址已被使用的NA报文,则生效新建的ND安全表项;其中,所述设定时间为从信任端口收到的RA报文包括的重新传输计时器字段值。
另一种可能的实现方式中,所述装置包括通信接口、处理器、存储器和总线,所述通信接口、所述处理器和所述存储器之间通过总线相互连接;所述处理器通过读取所述存储器中存储的逻辑指令,执行本申请第一方面所述的ND安全表项处理方法。
本申请将RA报文中包括的重新传输计时器字段值,也即NS报文的重传时间,作为判断ND安全表项何时生效的表项探测时长;由于在不同网络中,NS报文的重传时间是不同的,这也使得在无状态配置网络中,二层交换设备生效ND安全内表项的时长可动态调整,解决了在不同网络环境中固定时间或人工配置时间无法匹配所有网络的时延的问题。
附图说明
图1是RA报文的格式示意图;
图2是本申请提供的方法流程图;
图3是本申请提供的一个具体实施例的组网图;
图4是本申请提供的装置功能模块框图;
图5是本申请提供的图4所示装置的硬件架构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以下,首先对ND协议进行简单介绍。
ND协议使用的报文类型包括:
1)RS(Router Solicitation,路由请求)报文,类型号为133,主机发送RS报文用于向路由器网关发出请求,请求前缀和其它配置信息,用于主机的自动配置。
2)RA(Router Advertisement,路由通告)报文,类型号为134,路由器网关周期地发出RA报文,或因响应RS报文而发送RA报文。RA报文的格式如图1所示,这里仅介绍其中与本申请有关的部分字段:
重新传输计时器(Retrans Timer):单位为毫秒,通告重传NS报文的间隔,一般用于地址解析和邻居不可达检测机制。
可达时间(Reachable time):单位为毫秒,通告邻居可达时间,一般用于邻居不可达检测机制。
3)NS(Neighbor Solicitation,邻居请求)报文,类型号为135,可用于地址解析,即请求目标节点的链路层地址,以节点(主机或路由器网关)A要获取节点B的链路层地址为例,此时NS报文的源地址为节点A的IPv6地址,目的地址为节点B的被请求节点组播地址;也可用于可达性检测,以节点A要验证节点B是否可达为例,此时NS报文的源地址为节点A的IPv6地址,目的地址为节点B的IPv6地址;也可用于DAD(Duplicate Address Detection,重复地址检测),确认该地址是否已被其它节点使用,此时NS报文的源地址为未指定地址“::”,目的地址为待检测的IPv6地址对应的被请求节点组播地址,报文内容中包含了待检测的IPv6地址。
本申请中,有时会使用DAD NS报文来指代用于进行重复地址检测的NS报文,使用非DAD NS报文来指代用于地址解析或可达性检测的NS报文。
4)NA(Neighbor Advertisement,邻居通告)报文,类型号为136,用于对NS报文进行响应,或者节点在链路层变化时也可以主动发送NA报文,向邻居节点通告本节点的变化信息。
5)Redirect(重定向)报文,类型号为137,当满足一定的条件时,缺省网关通过向源主机发送重定向报文,使该源主机重新选择正确的下一跳地址进行后续报文的发送。
ND协议功能强大,但是协议本身没有安全机制,容易被攻击者利用。攻击者可以仿冒主机或路由器网关发送伪造的ND报文,对网络进行攻击,这可能会改写路由器网关或者主机上的邻居表项,导致被仿冒用户的报文错误的发送到攻击者的终端上。
目前可以通过源地址验证机制来解决这一问题,即通过在连接路由器网关和主机的二层交换设备上生成ND安全表项,来验证数据报文的合法性。
在无状态地址自动生成网络中,ND安全表项的建立流程如下:
当二层交换设备从验证端口(即二层交换设备上连接主机的二层端口,也称非信任端口)收到未知源地址的ND报文或者数据报文时,可以新建一个临时未生效的ND安全表项,此时该ND安全表项处于无效状态;随后二层交换设备通过接收上述报文的接口所属VLAN内的信任端口(即二层交换设备上连接路由器网关的二层端口)发送两次间隔250ms的DAD NS报文进行探测,以确认上述报文的源地址是否与信任端口侧的设备地址冲突。如果二层交换设备在指定时间内(比如500ms)未收到NA报文,则说明地址不冲突,ND安全表项正式生效;反之,如果二层交换设备在指定时间内收到NA报文,则说明局域网中已存在冲突地址,ND安全表项不生效。
在现有技术中,上述用来生效ND安全表项的指定时间(以下简称表项探测时长)一般为一固定时间或人工配置的一段时间,由于在不同网络中的时延不同,故DAD NS报文在网络中的传输时间也不同,固定或人工配置的表项探测时长无法匹配所有网络的时延。
本申请提供一种ND安全表项的处理方案来解决目前所面临的困境。请参考图2,为本申请提供的方法流程图,该方法可应用于二层交换设备,该二层交换设备通过信任端口连接路由器网关,通过验证端口连接主机。如图2所示,该流程可包括以下步骤:
步骤201:二层交换设备接收NS报文或NA报文。
步骤202:二层交换设备从接收的NS报文或NA报文中获取报文发送方的主机地址。
其中,对于DAD NS报文,其源地址为未指定地址(一般用“::”表示),目的地址为该DAD NS报文发送方的主机地址所对应的被请求节点组播地址,该DAD NS报文发送方的主机地址包含在报文内容中,因此二层交换设备在根据报文类型和报文源地址确定接收的报文为DAD NS报文时,可以从该报文的内容中获取到报文发送方的主机地址。
对于非DAD NS报文或NA报文,其源地址为报文发送方的主机地址,目的地址为该报文发送方的邻居主机的主机地址,因此二层交换设备在根据报文类型和报文源地址确定接收的报文为非DAD NS报文或NA报文时,可以直接从该报文的源地址字段中获取到报文发送方的主机地址。
步骤203:二层交换设备判断本设备上是否存在与该主机地址对应的ND安全表项。
ND安全表项记录了合法主机的信息,包括该合法主机的IP地址和MAC(MediumAccess Control,媒体接入控制)地址,该合法主机所属的VLAN(Virtual Local AreaNetwork,虚拟局域网),以及该合法主机发送的报文在二层交换设备上的入端口。后续,只有IP地址、MAC地址、VLAN和入端口与ND安全表项完全匹配的数据报文,才可以被二层交换设备正常转发,否则将被丢弃。
在步骤203中,二层交换设备可以根据报文发送方的IP地址和VLAN来查找对应的ND安全表项。
步骤204:如果本设备上不存在与该主机地址对应的ND安全表项,则二层交换设备新建与该主机地址对应的临时未生效的ND安全表项,并通过信任端口发送用于探测该主机地址是否已被使用的NS报文。
这里,用于探测该主机地址是否已被使用的NS报文,即是DAD NS报文。
步骤205:如果二层交换设备在设定时间内从信任端口收到用于通告该主机地址已被使用的NA报文,则删除新建的ND安全表项,其中,该设定时间为从信任端口收到的RA报文包括的重新传输计时器字段值。
在现有技术中,对于从信任端口收到的RA报文,二层交换设备会直接对该RA报文进行广播;对于从验证端口收到的RA报文,二层交换设备会直接丢弃。
而在本申请中,对于从验证端口收到的RA报文,二层交换设备也会直接丢弃;但对于从信任端口收到的RA报文,二层交换设备会解析该RA报文,从中获取通告给无状态主机的参数,包括报文的重新传输计时器字段值和可达时间字段值,其中可达时间字段值将在下文ND安全表项的老化方案中使用到,这里暂不详述。
重新传输计时器字段值用于通告NS报文的重传时间,即主机在发出NS报文后隔多久重发一次NS报文。不同的网络有不同的NS报文重传时间,本申请将NS报文的重传时间作为ND安全表项的表项探测时长,可以使ND安全表项的表项探测时长能够适应各类网络的时延。
步骤206:如果二层交换设备在上述设定时间内未从信任端口收到用于通告该主机地址已被使用的NA报文,则生效新建的ND安全表项。
作为一个实施例,步骤203中二层交换设备在判断本设备上是否存在与该主机地址对应的ND安全表项时,其判断结果还可能是本设备上存在与该主机地址对应的ND安全表项,但该ND安全表项的状态为无效。这表示二层交换设备之前已经收到了相同IP地址和相同VLAN的主机发送的NS报文并新建了对应的ND安全表项,因还未从信任端口收到应答的NA报文或是还未到达NS报文的重传时间,故该ND安全表项还存在且处于无效状态。
基于此,在一种情况下,如果该NS报文或NA报文是从本设备的验证端口收到,则当报文为NS报文时表示该主机地址对应的主机可能发生主机迁移,当该报文为NA报文时表示可能有其它主机在使用该主机地址,二层交换设备可以根据该NS报文或NA报文的MAC地址和入端口更新该ND安全表项的内容,即将该ND安全表项中记录的MAC地址字段和入端口字段更新为该NS报文或NA报文的MAC地址值和入端口值。在另一种情况下,如果该NS报文或NA报文是从本设备的信任端口收到,则表示已经有路由器网关或其它服务器占用了该主机地址,在信任端口侧的路由器网关或服务器占用了某主机地址的情况下,该主机地址将不再分配给验证端口侧的主机使用,故二层交换设备可以删除该ND安全表项。
作为一个实施例,步骤203中二层交换设备在判断本设备上是否存在与该主机地址对应的ND安全表项时,其判断结果还可能是本设备上存在与所述主机地址对应的ND安全表项,且该ND安全表项的状态为有效。这表示二层交换设备之前已经收到了相同IP地址和相同VLAN的主机发送的NS报文并新建了对应的ND安全表项,并且因为在NS报文的重传时间内未收到应答的NA报文,该ND安全表项已经从临时未生效状态变为有效状态。
基于此,在一种情况下,如果该ND安全表项记录的MAC地址和入端口与该NS报文或NA报文的MAC地址和入端口一致,则二层交换设备可以更新该ND安全表项的老化时间,即刷新该ND安全表项的存活时间。在另一种情况下,如果该ND安全表项记录的MAC地址和入端口与该NS报文或NA报文的MAC地址和入端口不一致,则二层交换设备可以通过该ND安全表项记录的入端口发送用于探测该主机地址是否仍被使用的NS报文。当在上述设定时间(即NS报文的重传时间)内从该ND安全表项记录的入端口收到用于通告该主机地址仍被使用的NA报文时,二层交换设备可以保持该ND安全表项的内容(即ND全表项中的IP地址字段、VLAN字段、MAC地址字段、入端口字段等)不变,并更新该ND安全表项的老化时间;当在上述设定时间内未从该ND安全表项记录的入端口收到用于通告该主机地址仍被使用的NA报文时,二层交换设备可以根据该NS报文或NA报文的MAC地址和入端口更新该ND安全表项的内容,并更新该ND安全表项的老化时间。
通过图2所示的流程可以看出,本申请将RA报文中包括的重新传输计时器字段值,也即NS报文的重传时间,作为判断ND安全表项何时生效的表项探测时长;由于在不同网络中,NS报文的重传时间是不同的,这也使得在无状态配置网络中,二层交换设备生效ND安全内表项的时长可动态调整,解决了在不同网络环境中固定时间或人工配置时间无法匹配所有网络的时延的问题。
现有技术中,为了防止已经关闭(或下线)的主机继续占用ND安全表项的规格,还要考虑ND安全表项的老化流程。
目前,在无状态地址自动生成网络中,ND安全表项的老化流程如下:
如果ND安全表项在有效状态超时时间内未收到ND更新报文(如NS报文、NA报文等),则进入无效状态;随后二层交换设备可以向ND安全表项对应的入端口发送两次DAD NS报文进行探测。如果二层交换设备在ND安全表项的无效状态超时时间内未收到对应主机应答的NA报文,则说明原主机已经跟该入端口断开连接,二层交换设备可以删除对应的ND安全表项;如果二层交换设备在ND安全表项的无效状态超时时间内收到对应主机应答的NA报文,则说明原主机未跟该入端口断开,二层交换设备可以保留对应的ND安全表项,使该ND安全表项重新进入有效状态。
本申请提出了一种新的ND安全表项老化方法,具体过程如下:
1)在新建的ND安全表项生效后,为该生效的ND安全表项设置老化时间,该老化时间为从信任端口收到的RA报文所包括的可达时间字段值与一随机时间的和值。
2)当该生效的ND安全表项到达上述老化时间时,通过该ND安全表项记录的入端口发送用于探测该主机地址是否仍被使用的NS报文。如果在设定时间内从该ND安全表项记录的入端口收到用于通告该主机地址仍被使用的NA报文,则更新该ND安全表项的老化时间,如果在设定时间内未从该ND安全表项记录的入端口收到用于通告该主机地址仍被使用的NA报文,则删除该ND安全表项。这里的设定时间,即步骤205中所说的从信任端口收到的RA报文包括的重新传输计时器字段值,也即NS报文的重传时间。
这里的可达时间用于通告邻居可达时间,例如,当主机A向主机B发送NS报文,探测主机B是否可达,如果主机A收到主机B应答的NA报文,则认为主机B在该可达时间内是可达的。当超过该可达时间后,主机A可以再次向主机B发送NS报文,确认主机B是否仍可达。
由于各主机之间本身就可以通过NS报文和NA报文来探测对端主机是否可达,因此,本申请可以利用这一机制,将ND安全表项的老化时间设置成可达时间字段值与一随机时间的和值,通过主机之间来往的NS报文和NA报文,及时更新ND安全表项的老化时间,减少不必要的DAD NS报文探测操作。
例如,假设在二层交换设备上保存了主机A和主机B对应的ND安全表项,主机A上保存了主机B的邻居表项(类似于到主机B的路由表);当主机A上保存的主机B的邻居表项到达可达时间时,主机A将发送目的地址是主机B的IPv6地址的NUD(Neighbor UnreachabilityDetection,邻居可达性探测)报文,NUD报文是NS报文的一种。二层交换设备收到该NUD报文后将刷新主机A对应的ND安全表项的老化时间。之后,如果二层交换设备收到主机B应答的NA报文,将刷新主机B对应的ND安全表项的老化时间;如果二层交换设备没有收到主机B应答的NA报文,当主机B对应的ND安全表项的老化时间超时后,届时二层交换设备可以通过主机B对应的ND安全表项记录的入端口向主机B发送DAD NS报文。
另外,本申请中,之所以将可达时间字段值加上一随机时间作为最终的老化时间,是考虑到实际应用中可能存在大量主机同时上线的情况,这意味着二层交换设备上同时会生成大量的ND安全表项,如果这些ND安全表项同时老化,将对二层交换设备的CPU(CentralProcessing Unit,中央处理器)造成较大的冲击。为了将老化探测离散化,因此本申请在老化时间中引入了随机时间。
为了使本领域技术人员更加清楚和明白,以下结合图3所示的组网场景来描述本申请的实现过程。
在图3所示的无状态地址自动配置组网图中,Device A为网关设备,定期发送RA报文通告网关和前缀。HostA和HostB为无状态主机,根据RA报文内的IPv6前缀网段生成IPv6地址,并将DeviceA对应的本地链路地址作为网关。Device B为二层交换设备,其中与DeviceA相连的端口为信任端口,与HostA、HostB相连的端口为非信任端口。
对于上述组网,报文及处理的步骤如下:
1.无状态主机Host A、Host B上线时发送RS报文请求网关。
2.网关Device A定期发送RA报文通告网关和前缀。二层交换设备DeviceB侦听VLAN内信任端口的RA报文,获取RA报文中通告给无状态主机的各项参数,包含RA报文的重新传输计时器字段记录的NS报文的重传时间,以及RA报文的可达时间字段记录的可达时间等。
3.Host A、Host B主机收到RA报文后,根据RA报文中携带的前缀选项生成IPv6地址,地址生效前会发送DAD报文进行冲突检测。
4.Device B从非信任端口收到DAD报文,添加分别与HostA和HostB对应的临时未生效的ND安全表项,再从HostA和HostB的入端口所属VLAN内的其它信任端口发送DAD NS报文进行探测;其中,ND安全表项的表项探测时长为侦听Device A的RA报文获取到的NS报文的重传时间。
5.到达ND安全表项的表项探测时长后,这里假设Device B在上述NS报文的重传时间内,未收到从HostA和HostB的入端口所属VLAN内的其它信任端口回应的NA报文,DeviceB将临时未生效的ND安全表项更新为有效的ND安全表项,并设置ND安全表项的老化时间为从RA报文中获取的可达时间字段值加上一随机时间的和值。Device B上添加了HostA和HostB对应的ND安全表项后,来自HostA和来自HostB的数据报文能正常通过。
6.Host A与Host B通信后互相学习到对端的邻居表项,Host A发送给Host B的NS报文可以匹配上Device B上保存的Host A对应的ND安全表项,Device B可以刷新Host A对应的ND安全表项的老化时间,即将其老化时间恢复成可达时间字段值与一随机时间的和值。同理,二层交换设备上保存的Host B对应的ND安全表项的老化时间也可以按照这一流程被刷新。
7.Host A上的Host B表项到达可达时间,Host A发送NUD报文。该NUD报文可以匹配上Device B上保存的Host A对应的ND安全表项,Device B可以刷新Host A对应的ND安全表项的老化时间。如果Host B无应答,则二层交换设备上保存的Host B对应的ND安全表项的老化时间不会刷新。
8.Device B上保存的Host B对应的ND安全表项到达老化时间,Device B从对应端口发送DAD NS报文,设置超时时间为从RA报文中获取到的NS报文的重传时间,如果在该超时时间内未从该对应端口收到应答,则删除本设备上保存的Host B对应的ND安全表项。
以上对本申请提供的方法进行了描述。下面对本申请提供的装置进行描述。
参见图4,为本申请提供的一种ND安全表项处理装置的功能模块框图,该装置可以应用于二层交换设备,所述二层交换设备通过信任端口连接路由器网关、通过验证端口连接主机。如图4所示,所述装置可以包括以下单元:
接收单元401,用于接收NS报文或NA报文。
主机地址获取单元402,用于从所述NS报文或NA报文中获取报文发送方的主机地址。
ND安全表项处理单元403,用于在本设备上不存在与所述主机地址对应的ND安全表项时,新建与所述主机地址对应的临时未生效的ND安全表项,并通过信任端口发送用于探测所述主机地址是否已被使用的NS报文;如果在设定时间内所述接收单元401从信任端口收到用于通告所述主机地址已被使用的NA报文,则删除新建的ND安全表项;如果在设定时间内所述接收单元402未从信任端口收到用于通告所述主机地址已被使用的NA报文,则生效新建的ND安全表项;其中,所述设定时间为从信任端口收到的RA报文包括的重新传输计时器字段值。
在其中一种实施方式中,如果本设备上存在与所述主机地址对应的ND安全表项且该ND安全表项的状态为无效;则
所述ND安全表项处理单元403,还可以用于如果所述NS报文或NA报文从本设备的验证端口收到,则根据所述NS报文或NA报文的媒体接入控制MAC地址和入端口更新该ND安全表项的内容;如果所述NS报文或NA报文从本设备的信任端口收到,则删除该ND安全表项。
在其中一种实施方式中,如果本设备上存在与所述主机地址对应的ND安全表项且该ND安全表项的状态为有效;则
所述ND安全表项处理403,还可以用于如果该ND安全表项记录的MAC地址和入端口与所述NS报文或NA报文的MAC地址和入端口一致,则更新该ND安全表项的老化时间;如果该ND安全表项记录的MAC地址和入端口与所述NS报文或NA报文的MAC地址和入端口不一致,则通过该ND安全表项记录的入端口发送用于探测所述主机地址是否仍被使用的NS报文;当在所述设定时间内所述接收单元401从该ND安全表项记录的入端口收到用于通告所述主机地址仍被使用的NA报文时,保持该ND安全表项的内容不变,并更新该ND安全表项的老化时间;当在所述设定时间内所述接收单元401未从该ND安全表项记录的入端口收到用于通告所述主机地址仍被使用的NA报文时,根据所述NS报文或NA报文的MAC地址和入端口更新该ND安全表项的内容,并更新该ND安全表项的老化时间。
在其中一种实施方式中,在生效新建的ND安全表项后,所述ND安全表项处理单元403,还可以用于:为生效的ND安全表项设置老化时间,所述老化时间为从信任端口收到的RA报文包括的可达时间字段值与一随机时间的和值;当生效的ND安全表项到达所述老化时间时,通过该ND安全表项记录的入端口发送用于探测所述主机地址是否仍被使用的NS报文;如果在所述设定时间内所述接收单元401从该ND安全表项记录的入端口收到用于通告所述主机地址仍被使用的NA报文,则更新该ND安全表项的老化时间,如果在所述设定时间内所述接收单元401未从该ND安全表项记录的入端口收到用于通告所述主机地址仍被使用的NA报文,则删除该ND安全表项。
在其中一种实施方式中,所述主机地址获取单元402具体用于:对于重复地址检测DAD NS报文,从该报文的内容中获取报文发送方的主机地址;对于非DAD NS报文或NA报文,从该报文的源地址字段中获取报文发送方的主机地址。
需要说明的是,本发明实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在本申请的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
至此,完成图4所示装置的描述。
参见图5,本申请还提供一种二层交换设备的硬件架构图,该二层交换设备包括:通信接口501、处理器502、存储器503和总线504;其中,通信接口501、处理器502和存储器503通过总线504完成相互间的通信。
其中,通信接口501,用于与其它节点通信。处理器502可以是一个中央处理器(CPU),存储器503可以是非易失性存储器(non-volatile memory),并且存储器503中存储有ND安全表项处理逻辑指令,处理器502可以执行存储器503中存储的ND安全表项处理逻辑指令,以实现上述图2所示流程中的二层交换设备的功能。
至此,完成图5所示的硬件结构描述。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种邻居发现协议安全表项处理方法,其特征在于,所述方法应用于二层交换设备,所述二层交换设备通过信任端口连接路由器网关、通过验证端口连接主机,所述方法包括:
接收邻居请求NS报文或邻居通告NA报文;
从所述NS报文或NA报文中获取报文发送方的主机地址;
如果本设备上不存在与所述主机地址对应的邻居发现协议ND安全表项,则
新建与所述主机地址对应的临时未生效的ND安全表项,并通过信任端口发送用于探测所述主机地址是否已被使用的NS报文;如果在设定时间内从信任端口收到用于通告所述主机地址已被使用的NA报文,则删除新建的ND安全表项;如果在设定时间内未从信任端口收到用于通告所述主机地址已被使用的NA报文,则生效新建的ND安全表项;
其中,所述设定时间为从信任端口收到的路由通告RA报文包括的重新传输计时器字段值。
2.如权利要求1所述的方法,其特征在于,本设备上存在与所述主机地址对应的ND安全表项且该ND安全表项的状态为无效;所述方法还包括:
如果所述NS报文或NA报文从本设备的验证端口收到,则根据所述NS报文或NA报文的媒体接入控制MAC地址和入端口更新该ND安全表项的内容;
如果所述NS报文或NA报文从本设备的信任端口收到,则删除该ND安全表项。
3.如权利要求1所述的方法,其特征在于,本设备上存在与所述主机地址对应的ND安全表项且该ND安全表项的状态为有效;所述方法还包括:
如果该ND安全表项记录的MAC地址和入端口与所述NS报文或NA报文的MAC地址和入端口一致,则更新该ND安全表项的老化时间;
如果该ND安全表项记录的MAC地址和入端口与所述NS报文或NA报文的MAC地址和入端口不一致,则通过该ND安全表项记录的入端口发送用于探测所述主机地址是否仍被使用的NS报文;当在所述设定时间内从该ND安全表项记录的入端口收到用于通告所述主机地址仍被使用的NA报文时,保持该ND安全表项的内容不变,并更新该ND安全表项的老化时间;当在所述设定时间内未从该ND安全表项记录的入端口收到用于通告所述主机地址仍被使用的NA报文时,根据所述NS报文或NA报文的MAC地址和入端口更新该ND安全表项的内容,并更新该ND安全表项的老化时间。
4.如权利要求1所述的方法,其特征在于,在生效新建的ND安全表项后,所述方法还包括:
为生效的ND安全表项设置老化时间,所述老化时间为从信任端口收到的RA报文包括的可达时间字段值与一随机时间的和值;
当生效的ND安全表项到达所述老化时间时,通过该ND安全表项记录的入端口发送用于探测所述主机地址是否仍被使用的NS报文;如果在所述设定时间内从该ND安全表项记录的入端口收到用于通告所述主机地址仍被使用的NA报文,则更新该ND安全表项的老化时间,如果在所述设定时间内未从该ND安全表项记录的入端口收到用于通告所述主机地址仍被使用的NA报文,则删除该ND安全表项。
5.如权利要求1所述的方法,其特征在于,所述从所述NS报文或NA报文中获取报文发送方对应的主机地址,包括:
对于重复地址检测DAD NS报文,从该报文的内容中获取报文发送方的主机地址;
对于非DAD NS报文或NA报文,从该报文的源地址字段中获取报文发送方的主机地址。
6.一种邻居发现协议安全表项处理装置,其特征在于,所述装置应用于二层交换设备,所述二层交换设备通过信任端口连接路由器网关、通过验证端口连接主机,所述装置包括:
接收单元,用于接收邻居请求NS报文或邻居通告NA报文;
主机地址获取单元,用于从所述NS报文或NA报文中获取报文发送方的主机地址;
邻居发现协议ND安全表项处理单元,用于在本设备上不存在与所述主机地址对应的ND安全表项时,新建与所述主机地址对应的临时未生效的ND安全表项,并通过信任端口发送用于探测所述主机地址是否已被使用的NS报文;如果在设定时间内所述接收单元从信任端口收到用于通告所述主机地址已被使用的NA报文,则删除新建的ND安全表项;如果在设定时间内所述接收单元未从信任端口收到用于通告所述主机地址已被使用的NA报文,则生效新建的ND安全表项;其中,所述设定时间为从信任端口收到的路由通告RA报文包括的重新传输计时器字段值。
7.如权利要求6所述的装置,其特征在于,本设备上存在与所述主机地址对应的ND安全表项且该ND安全表项的状态为无效;
所述ND安全表项处理单元,还用于如果所述NS报文或NA报文从本设备的验证端口收到,则根据所述NS报文或NA报文的媒体接入控制MAC地址和入端口更新该ND安全表项的内容;如果所述NS报文或NA报文从本设备的信任端口收到,则删除该ND安全表项。
8.如权利要求6所述的装置,其特征在于,本设备上存在与所述主机地址对应的ND安全表项且该ND安全表项的状态为有效;
所述ND安全表项处理,还用于如果该ND安全表项记录的MAC地址和入端口与所述NS报文或NA报文的MAC地址和入端口一致,则更新该ND安全表项的老化时间;如果该ND安全表项记录的MAC地址和入端口与所述NS报文或NA报文的MAC地址和入端口不一致,则通过该ND安全表项记录的入端口发送用于探测所述主机地址是否仍被使用的NS报文;当在所述设定时间内从该ND安全表项记录的入端口所述接收单元收到用于通告所述主机地址仍被使用的NA报文时,保持该ND安全表项的内容不变,并更新该ND安全表项的老化时间;当在所述设定时间内所述接收单元未从该ND安全表项记录的入端口收到用于通告所述主机地址仍被使用的NA报文时,根据所述NS报文或NA报文的MAC地址和入端口更新该ND安全表项的内容,并更新该ND安全表项的老化时间。
9.如权利要求6所述的装置,其特征在于,在生效新建的ND安全表项后,所述ND安全表项处理单元,还用于:
为生效的ND安全表项设置老化时间,所述老化时间为从信任端口收到的RA报文包括的可达时间字段值与一随机时间的和值;
当生效的ND安全表项到达所述老化时间时,通过该ND安全表项记录的入端口发送用于探测所述主机地址是否仍被使用的NS报文;如果在所述设定时间内所述接收单元从该ND安全表项记录的入端口收到用于通告所述主机地址仍被使用的NA报文,则更新该ND安全表项的老化时间,如果在所述设定时间内所述接收单元未从该ND安全表项记录的入端口收到用于通告所述主机地址仍被使用的NA报文,则删除该ND安全表项。
10.如权利要求6所述的装置,其特征在于,所述主机地址获取单元具体用于:
对于重复地址检测DAD NS报文,从该报文的内容中获取报文发送方的主机地址;
对于非DAD NS报文或NA报文,从该报文的源地址字段中获取报文发送方的主机地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710536608.XA CN107547510B (zh) | 2017-07-04 | 2017-07-04 | 一种邻居发现协议安全表项处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710536608.XA CN107547510B (zh) | 2017-07-04 | 2017-07-04 | 一种邻居发现协议安全表项处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107547510A true CN107547510A (zh) | 2018-01-05 |
CN107547510B CN107547510B (zh) | 2020-03-06 |
Family
ID=60970583
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710536608.XA Active CN107547510B (zh) | 2017-07-04 | 2017-07-04 | 一种邻居发现协议安全表项处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107547510B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108173980A (zh) * | 2018-01-18 | 2018-06-15 | 浙江农林大学暨阳学院 | 一种sdn环境中的重复地址检测方法 |
CN109067764A (zh) * | 2018-08-29 | 2018-12-21 | 新华三技术有限公司 | 一种建立设备表项的方法及装置 |
CN109862137A (zh) * | 2019-03-28 | 2019-06-07 | 新华三技术有限公司 | 报文传输方法及装置 |
CN110611678A (zh) * | 2019-09-24 | 2019-12-24 | 锐捷网络股份有限公司 | 一种识别报文的方法及接入网设备 |
CN111131545A (zh) * | 2019-12-27 | 2020-05-08 | 浪潮思科网络科技有限公司 | 一种ND Snooping绑定表更新方法、设备及介质 |
CN111343103A (zh) * | 2020-02-27 | 2020-06-26 | 紫光云技术有限公司 | 一种安全组规则不能立即生效问题的解决方法 |
CN111416887A (zh) * | 2020-03-31 | 2020-07-14 | 清华大学 | 地址检测的方法、装置、交换机及存储介质 |
CN111585903A (zh) * | 2020-04-13 | 2020-08-25 | 华南理工大学 | 一种OpenFlow流表项自适应超时的方法及系统 |
CN113992583A (zh) * | 2021-10-26 | 2022-01-28 | 新华三信息安全技术有限公司 | 一种表项维护方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080031189A1 (en) * | 2006-08-04 | 2008-02-07 | Samsung Electronics Co., Ltd. | Method and mobile terminal for allocating IP address in wireless network |
CN101222513A (zh) * | 2008-01-28 | 2008-07-16 | 杭州华三通信技术有限公司 | 一种防止重复地址检测攻击的方法及网络设备 |
CN101552783A (zh) * | 2009-05-20 | 2009-10-07 | 杭州华三通信技术有限公司 | 一种防止伪造报文攻击的方法和装置 |
CN102186261A (zh) * | 2011-05-30 | 2011-09-14 | 杭州华三通信技术有限公司 | 一种WLAN中IPv6邻居发现协议的实现方法和装置 |
CN104394243A (zh) * | 2014-12-15 | 2015-03-04 | 北京搜狐新媒体信息技术有限公司 | 一种重复地址检测方法和装置 |
-
2017
- 2017-07-04 CN CN201710536608.XA patent/CN107547510B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080031189A1 (en) * | 2006-08-04 | 2008-02-07 | Samsung Electronics Co., Ltd. | Method and mobile terminal for allocating IP address in wireless network |
CN101222513A (zh) * | 2008-01-28 | 2008-07-16 | 杭州华三通信技术有限公司 | 一种防止重复地址检测攻击的方法及网络设备 |
CN101552783A (zh) * | 2009-05-20 | 2009-10-07 | 杭州华三通信技术有限公司 | 一种防止伪造报文攻击的方法和装置 |
CN102186261A (zh) * | 2011-05-30 | 2011-09-14 | 杭州华三通信技术有限公司 | 一种WLAN中IPv6邻居发现协议的实现方法和装置 |
CN104394243A (zh) * | 2014-12-15 | 2015-03-04 | 北京搜狐新媒体信息技术有限公司 | 一种重复地址检测方法和装置 |
Non-Patent Citations (1)
Title |
---|
IETF: ""RFC 6620-FCFS SAVI: First-Come, First-Served Source Address Validation Improvement for Locally Assigned IPv6 Addresses"", 《HTTPS://TOOLS.IETF.ORG/PDF/RFC6620.PDF》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108173980A (zh) * | 2018-01-18 | 2018-06-15 | 浙江农林大学暨阳学院 | 一种sdn环境中的重复地址检测方法 |
CN109067764A (zh) * | 2018-08-29 | 2018-12-21 | 新华三技术有限公司 | 一种建立设备表项的方法及装置 |
CN109862137B (zh) * | 2019-03-28 | 2022-01-28 | 新华三技术有限公司 | 报文传输方法及装置 |
CN109862137A (zh) * | 2019-03-28 | 2019-06-07 | 新华三技术有限公司 | 报文传输方法及装置 |
CN110611678A (zh) * | 2019-09-24 | 2019-12-24 | 锐捷网络股份有限公司 | 一种识别报文的方法及接入网设备 |
CN110611678B (zh) * | 2019-09-24 | 2022-05-20 | 锐捷网络股份有限公司 | 一种识别报文的方法及接入网设备 |
CN111131545A (zh) * | 2019-12-27 | 2020-05-08 | 浪潮思科网络科技有限公司 | 一种ND Snooping绑定表更新方法、设备及介质 |
CN111343103A (zh) * | 2020-02-27 | 2020-06-26 | 紫光云技术有限公司 | 一种安全组规则不能立即生效问题的解决方法 |
CN111343103B (zh) * | 2020-02-27 | 2023-11-03 | 紫光云技术有限公司 | 一种安全组规则不能立即生效问题的解决方法 |
CN111416887A (zh) * | 2020-03-31 | 2020-07-14 | 清华大学 | 地址检测的方法、装置、交换机及存储介质 |
CN111585903B (zh) * | 2020-04-13 | 2021-09-21 | 华南理工大学 | 一种OpenFlow流表项自适应超时的方法及系统 |
CN111585903A (zh) * | 2020-04-13 | 2020-08-25 | 华南理工大学 | 一种OpenFlow流表项自适应超时的方法及系统 |
CN113992583A (zh) * | 2021-10-26 | 2022-01-28 | 新华三信息安全技术有限公司 | 一种表项维护方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107547510B (zh) | 2020-03-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107547510A (zh) | 一种邻居发现协议安全表项处理方法和装置 | |
Narten et al. | RFC 4861: Neighbor discovery for IP version 6 (IPv6) | |
Narten et al. | Neighbor discovery for IP version 6 (IPv6) | |
US7333482B2 (en) | Route optimization technique for mobile IP | |
US8098668B2 (en) | Methods and arrangements for LAN emulation communications | |
US20070104197A1 (en) | Propagating black hole shunts to remote routers with split tunnel and IPSec direct encapsulation | |
US10298616B2 (en) | Apparatus and method of securing network communications | |
McPherson et al. | Architectural considerations of IP anycast | |
WO2009089713A1 (fr) | Procédé de transmission d'un message bfd, procédé et dispositif de détection d'une défaillance de liaison | |
CN113132342A (zh) | 方法、网络装置、隧道入口点装置及存储介质 | |
US8483069B1 (en) | Tracing Ethernet frame delay between network devices | |
JP2019009596A (ja) | 車載通信装置、通信制御方法および通信制御プログラム | |
KR20100087124A (ko) | 액세스 네트워크에서 멀티캐스트 ip 패킷들을 제어하기 위한 방법 및 장치 | |
US7945656B1 (en) | Method for determining round trip times for devices with ICMP echo disable | |
US7567522B2 (en) | Suppression of router advertisement | |
Templin | Asymmetric Extended Route Optimization (AERO) | |
JP4752722B2 (ja) | パケット転送装置及びパケット転送方法 | |
US20090201931A1 (en) | Method and apparatus for transferring IP transmission session | |
US9025606B2 (en) | Method and network node for use in link level communication in a data communications network | |
Cisco | AppleTalk Commands | |
Cisco | AppleTalk Commands | |
US20180097776A1 (en) | Network protection entity and method for protecting a communication network against fraud messages | |
Cisco | AppleTalk Commands | |
Cisco | AppleTalk Commands | |
Cisco | access-list additional-zones to appletalk eigrp-timers |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |