CN104394243B - 一种重复地址检测方法和装置 - Google Patents

一种重复地址检测方法和装置 Download PDF

Info

Publication number
CN104394243B
CN104394243B CN201410778746.5A CN201410778746A CN104394243B CN 104394243 B CN104394243 B CN 104394243B CN 201410778746 A CN201410778746 A CN 201410778746A CN 104394243 B CN104394243 B CN 104394243B
Authority
CN
China
Prior art keywords
dad
messages
record
target
addresses
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.)
Active
Application number
CN201410778746.5A
Other languages
English (en)
Other versions
CN104394243A (zh
Inventor
刘晓
章宇东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Sohu New Media Information Technology Co Ltd
Original Assignee
Beijing Sohu New Media Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Sohu New Media Information Technology Co Ltd filed Critical Beijing Sohu New Media Information Technology Co Ltd
Priority to CN201410778746.5A priority Critical patent/CN104394243B/zh
Publication of CN104394243A publication Critical patent/CN104394243A/zh
Application granted granted Critical
Publication of CN104394243B publication Critical patent/CN104394243B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5092Address allocation by self-assignment, e.g. picking addresses at random and testing if they are already in use
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/659Internet protocol version 6 [IPv6] addresses

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例公开了一种重复地址检测方法和装置,其中所述方法包括:判断DAD报文的发送主机发送DAD报文是否到达预设次数,如果是,丢弃DAD报文。在本发明实施例中,预设了各个主机的对于DAD报文的最大发送次数,通过丢弃达到预设次数的端口所发送的DAD报文,使得正常主机在通过重复地址检测进行IPv6地址的申请时,攻击主机所伪造包括该目标IPv6地址的DAD NS报文或DAD NA报文被丢弃,进而达到避免网络中可能存在的攻击主机对于网络的影响的目的。

Description

一种重复地址检测方法和装置
技术领域
本发明涉及互联网领域,特别是涉及一种重复地址检测方法和装置。
背景技术
NDP(邻居发现协议,Neighbor Discovery Protocol)是TCP/IP(传输控制协议/因特网互联协议,Transmission Control Protocol/Internet Protocol)的协议栈的一部分,主要与IPv6(因特网互联协议第六版,Internet Protocol Version 6)共同使用。NDP工作在数据链路层,负责在链路上发现其他节点和相应的地址,并确定可用路由和维护关于可用路径和其他活动节点的信息可达性。
NDP的具体功能包括进行重复地址检测、地址解析、邻居不可达检测、路由发现、前缀发现等。其中,重复地址检测是在为主机分配IPv6地址中的必要步骤,重复地址检测的具体方式包括:在为待配置IP v6地址的主机预配置IPv6地址后,该待配置IPv6地址的主机发送一个NS(邻居请求)报文,并启动定时器;该NS报文的源IPv6是2000::1,目的IP是IPv6的请求组播地址,该NS报文中还包括待检测的目标地址,目标地址为该主机预配置的IPv6地址,在定时器超预设时长前,如果收到其它主机发送的包括有上述目标地址的DAD NS报文或DAD NA报文,则认为原预配置IPv6地址与其他主机冲突,因此不能生效,否则目标地址生效,可以将原预配置IPv6地址分配给该待配置IP v6地址的主机使用。
发明人经过研究发现,现有技术中的重复地址检测的方式,当网内存在攻击主机时,攻击主机可以通过伪造DAD NS报文或DAD NA报文使主机的IPv6地址无法正常配置,从而影响网络的正常使用。
发明内容
为了实现防止攻击主机通过伪造DAD NS报文或DAD NA报文使主机的IPv6地址无法正常配置的目的,本发明提供了重复地址检测方法和装置,具体的:
一种重复地址检测方法,其特征在于,包括:
判断主机的重复地址检测DAD报文发送次数是否到达预设次数,如果是,丢弃所述DAD报文。
优选的,在本发明实施例中,还包括:
当所述主机的DAD报文发送次数小于所述预设次数时,获取所述DAD报文中所包括的目标IPv6地址;
判断邻居表项中是否包括所述目标IPv6地址的记录;
如果包括,判断所述记录中的目标IPv6地址的状态是否为生效;
如果不包括,在所述邻居表项添加与所述DAD NS报文对应的记录,标识所述记录中的目标IPv6地址的状态是否为生效;
当所述记录中的目标IPv6地址状态为尚未生效,丢弃所述DAD报文;
当所述记录中的目标IPv6地址状态为生效,判断所述DAD报文的类型;
当所述DAD报文的类型为DAD NS报文时,向所述DAD NS报文的发送主机回复DADNA报文,以指示所述目标IPv6地址为重复地址;当所述DAD报文的类型为DAD NA报文时,转发所述DAD NA报文。
优选的,在本发明实施例中,判断主机的重复地址检测DAD报文发送次数是否到达预设次数,如果是,还包括:
生成预警信息。
优选的,在本发明实施例中,所述标识所述记录中的目标IPv6地址的状态是否为生效,包括:
在所述目标IPv6地址生效前在所述记录中设有状态标识字段,并在所述目标IPv6地址生效时删除所述状态标识字段;所述记录中包括状态标识字段,表示所述目标IPv6地址尚未生效;所述记录中不包括状态标识字段,表示所述目标IPv6地址生效。
优选的,在本发明实施例中,所述标识所述记录中的目标IPv6地址的状态是否为生效,包括:
设有所述记录中所述目标IPv6地址是否生效的状态标识。
优选的,在本发明实施例中,所述在所述目标IPv6地址生效前在所述记录中设有状态标识字段,并在所述目标IPv6地址生效时删除所述状态标识字段,包括:
判断在所述邻居表项添加与所述DAD报文对应的记录的时间是否超过预设时间,在超过预设时间前,在所述记录中设有状态标识字段;在超过预设时间后,删除所述状态标识字段。
优选的,在本发明实施例中,所述设有所述记录中所述目标IPv6地址是否生效的状态标识,包括:
判断在所述邻居表项添加与所述DAD报文对应的记录的时间是否超过预设时间,在超过预设时间前,将所述状态标识字段标识为尚未生效;在超过预设时间后,将所述状态标识字段标识为生效。
优选的,在本发明实施例中,所述判断在所述邻居表项添加与所述DAD报文对应的记录的时间是否超过预设时间,包括:
根据所述邻居表项中的计时器,判断在所述邻居表项添加与所述DAD报文对应的记录的时间是否超过预设时间。
在本发明实施例的另一面,还提供了一种重复地址检测装置,包括:
屏蔽单元,当判断到主机的重复地址检测DAD报文发送次数到达预设次数时,丢弃所述DAD报文;
优选的,在本发明实施例中,还包括:
地址获取单元,用于当所述主机的DAD报文发送次数小于所述预设次数时,获取所述DAD报文中所包括的目标IPv6地址;
判断单元,用于判断邻居表项中是否包括所述目标IPv6地址的记录;
第一处理单元,用于如果所述邻居表项中包括所述目标IPv6地址数据的记录,判断所述记录中的目标IPv6地址的状态是否为生效;
如果所述邻居表项中不包括所述目标IPv6地址数据的记录,在所述邻居表项添加与所述DAD报文对应的记录,并标识所述记录中的目标IPv6地址的状态是否为生效;
第二处理单元,用于当所述记录中的目标IPv6地址状态为尚未生效,丢弃所述DAD报文;
当所述记录的中目标IPv6地址状态为生效,判断所述DAD报文的类型;
第三处理单元,用于当DAD报文的类型为DAD NS报文时,向所述DADNS报文的发送主机回复DAD NA报文,以指示所述目标IPv6地址为重复地址;当DAD报文的类型为DAD NA报文时,转发所述DAD NA报文。
优选的,在本发明实施例中,还包括:
预警单元,用于判断到主机的DAD报文发送次数是到达预设次数时,生成预警信息。
优选的,在本发明实施例中,所述第一处理单元,包括:
字段增删模块,用于在所述目标IPv6地址生效前在所述记录中设有状态标识字段,并在所述目标IPv6地址生效时删除所述状态标识字段;所述记录中包括状态标识字段,表示所述目标IPv6地址尚未生效;所述记录中不包括状态标识字段,表示所述目标IPv6地址生效。
优选的,在本发明实施例中,所述第一处理单元,包括:
状态标识模块,用于在所述记录中设有所述目标IPv6地址是否生效的状态标识。
优选的,在本发明实施例中,所述字段增删模块根据所述邻居表项中的计时器,判断在所述邻居表项添加与所述DAD报文对应的记录的时间是否超过预设时间。
优选的,在本发明实施例中,所述设有所述记录中所述目标IPv6地址是否生效的状态标识,包括:
所述状态标识模块,用于根据所述邻居表项中的计时器,判断在所述邻居表项添加与所述DAD报文对应的记录的时间是否超过预设时间;在超过预设时间前,将所述状态标识字段标识为尚未生效;在超过预设时间后,将所述状态标识字段标识为生效。
从上述的技术方案可以看出,在本发明实施例中,预设了各个主机的对于DAD报文的最大发送次数,通过丢弃达到预设次数的端口所发送的DAD报文,使得正常主机在通过重复地址检测进行IP v6地址的申请时,攻击主机所伪造包括该目标IPv6地址的DAD NS报文或DAD NA报文被丢弃,进而达到避免网络中可能存在的攻击主机对于网络的影响的目的。
进一步的,在本发明实施例中,还在邻居表项中标识了每个记录中IPv6地址数据是否已经生效,这样,通过邻居表项,可以判断出DAD报文中曾经被申请过的目标IPv6地址数据是否已经生效;进而根据DAD报文类型的不同,转发接收到的DAD NA报文,或是,执行向DAD NS报文的发送主机回复DAD NA报文以提示目标IPv6地址为重复地址;由于在本发明实施例中,当一个主机通过DAD NS报文申请一个已经生效的重复IPv6地址时,网络设备可以代理回复DAD NA报文,从而使该主机不必等待已经使用该IPv6地址的主机通过DAD NA报文进行回复即可得知其申请的IPv6地址为冲突,从而提高了重复地址检测的检测效率。
进一步的,现有技术中的技术方案,当两个主机以同一IPv6地址为申请的目标IPv6地址,且申请的前后时间间距很小时,会出现这两个主机的申请均无法生效的情况;在本发明实施例中,当判断到一个主机发送DADNS/NA报文中的目标IPv6地址为一个尚未生效的重复IPv6地址时,通过丢弃该DAD NS报文的方式,使得已经申请了该IPv6地址为目标IPv6地址,但是尚未生效的原主机不会收到后续的其他主机所发送的、包括有相同目标IPv6地址的DAD NS/NA报文,从而也就不会影响该IPv6地址在原主机的生效,从而也就避免了现有技术中,可能出现的两个主机的申请均无法生效的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中所述重复地址检测方法的流程示意图;
图2为本发明实施例中所述重复地址检测装置的结构示意图;
图3为本发明实施例中所述重复地址检测装置的又一结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了实现防止攻击主机通过伪造DAD NS报文或DAD NA报文使主机的IP v6地址无法正常配置的目的,本发明实施例提供了一种重复地址检测方法,如图1所示,包括:判断主机的重复地址检测DAD报文发送次数是否到达预设次数,如果是,丢弃DAD报文。
本发明实施例中的DAD报文具体可以包括DAD NS报文和DAD NA报文,发明人经过研究发现,现有技术中,攻击主机之所以可以使网络中的其他主机的IPv6地址无法正常配置,影响网络的正常使用,其原因在于,当一个主机为攻击主机时,对于网络中的任何其他主机在通过重复地址检测以任何IPv6地址为申请所需的目标IPv6地址进行申请时,攻击主机都会伪造包括该目标IPv6地址的DAD NS报文或DAD NA报文,使原申请主机认为该目标IPv6地址已经被使用,从而使各主机的IPv6地址申请失败;由于攻击主机所发送的DAD报文明显会多于正常申请的主机。
基于以上原因,在本发明实施例中,通过设有预设次数来判断网络中的主机是否为攻击主机,具体的方式可以是,可以以网络设备为执行主体,当一个主机发送DAD报文达到该预设次数时,网络设备判断该主机为攻击主机,该攻击主机所发送的DAD报文将被丢弃,也就是说,攻击主机的DAD报文将不被转发,这样正常主机在通过重复地址检测进行IPv6地址的申请时,攻击主机所伪造包括该目标IPv6地址的DAD NS报文或DAD NA报文被丢弃后,就不会影响正常主机的申请。
在实际应用中,预设次数的具体数值,可以由本领域人员根据实际需要来设定,在此并不作具体的限定。
以预设次数的数值为10举例,具体的技术方案可以是,通过设有网络中各主机的端口的计数器,来统计各主机的DAD报文的发送次数,当某一主机的DAD报文的发送次数到达10时,屏蔽该主机的端口,丢弃该主机所发送的报文,以避免该主机影响网络中其他主机的IP v6地址的申请;进一步的,通过本发明实施例,当网络中出现攻击主机时,还可以起到辅助预警的作用,即,可以通过对于主机的DAD报文发送次数的判断,当某一主机发送DAD报文的次数到达预设次数时生成预警信息,从而可以使工作人员尽快的获知网络正在受到攻击,以及时的进行相应处理。
在本发明实施例的另一实施例中,本发明实施例中的重复地址检测方法,在当主机的重复地址检测DAD报文发送次数到达预设次数时,丢弃DAD报文后,还可以包括后续流程,如图1所示,整体的流程可以是:
判断主机的重复地址检测DAD报文发送次数是否到达预设次数,如果是,丢弃DAD报文;
当主机的DAD报文发送次数小于预设次数时,获取DAD报文中所包括的目标IPv6地址;
判断邻居表项中是否包括目标IPv6地址的记录;
如果包括,判断记录中的目标IPv6地址的状态是否为生效;如果不包括,在邻居表项添加与DAD报文对应的记录,标识记录中的目标IPv6地址的状态是否为生效;
当记录的中目标IPv6地址状态为尚未生效,丢弃DAD报文;当记录中的目标IPv6地址状态为生效,判断DAD报文的类型;
当DAD报文的类型为DAD NS报文时,向DAD NS报文的发送主机回复DAD NA报文,以提示目标IPv6地址为重复地址;当DAD报文的类型为DAD NA报文时,转发DAD NA报文。
在本实施例中,核心的发明思路为,利用邻居表项中的信息,来判断当前正在申请的IPv6地址是否已经被申请过;此外,在本发明实施例中还对邻居表项进行修改,加入了用于判断邻居表项的记录中的目标IPv6地址的状态是否为生效的标识;这样,就可以判断出DAD报文中曾经被申请过的目标IPv6地址数据是否已经生效;进而就可以根据DAD报文类型的不同,转发接收到的DAD NA报文,或是,执行向DAD NS报文的发送主机回复DAD NA报文以提示该目标IPv6地址为重复地址;由于在本发明实施例中,当一个主机通过DAD NS报文申请一个已经生效的重复IPv6地址时,网络设备可以代理回复DAD NA报文,从而使该主机不必等待已经使用该IPv6地址的主机通过DAD NA报文进行回复即可得知其申请的IPv6地址为冲突,从而提高了重复地址检测的检测效率。
具体的,本发明实施例的具体步骤可以是:
S11、判断主机的重复地址检测DAD报文发送次数是否到达预设次数,如果是,丢弃DAD报文。
以主机X所发送的DAD报文为DAD NS报文,DAD NS报文中所包括的目标IPv6地址为“2000::1”举例:
网络设备接收到该DAD NS报文后,通过统计主机X所发送的DAD报文的次数是否到达预设次数,来判断主机X是否为攻击主机。
S12、当主机的DAD NS报文发送次数小于预设次数时,获取DAD报文中所包括的目标IPv6地址;
如果主机X的DAD NS报文发送次数小于预设次数,则需要进一步的获取DAD NS报文中所包括的目标IPv6地址,即“2000::1”;
S13、判断邻居表项中是否包括所述目标IPv6地址的记录;
在网络设备中,包括有邻居表项,邻居表项中会记录有各主机发送DAD报文的信息,包括DAD报文中所包括的IPv6地址,以及,该DAD报文的发送主机的MAC地址以及使用端口号等信息。
S14、如果包括,判断所述记录中的目标IPv6地址的状态是否为生效;
如果不包括,在所述邻居表项添加与所述DAD报文对应的记录,标识所述记录中的目标IPv6地址的状态是否为生效;
在本发明实施例中,利用了已有的邻居表项中的信息,来判断当前DAD报文中的目标IPv6地址是否已经被申请;此外,本发明实施例中,还对于邻居表项进行了改造,通过改造后的邻居表项还可以判断邻居表项中的IPv6地址是否已经生效,具体的可以是通过标识记录中的目标IPv6地址的状态是否为生效的方式,来标识IPv6地址的当前状态:
具体的,当主机X所发送的DAD NS报文中的目标IPv6地址“2000::1”,已近存在于邻居表项的记录中时,说明已经有其他主机以该地址进行了申请;如果邻居表项的记录中不包括该地址,则说明该地址为首次申请,此时需要在邻居表项中增加相应的记录,在增加记录时,需要标识所述记录中的目标IPv6地址的状态是否为生效。
可选的,在标识所述记录中的目标IPv6地址的状态是否为生效时,具体可以包括:
在目标IPv6地址生效前在记录中设有状态标识字段,并在目标IPv6地址生效时删除状态标识字段;记录中包括状态标识字段,表示目标IPv6地址尚未生效;记录中不包括状态标识字段,表示目标IPv6地址生效。
也就是说,通过判断邻居表项中的记录中是否包括状态标识字段的方式来识别该IPv6地址是否生效;在实际应用中,状态标识字段的建立可以是当在邻居表项中建立该DAD报文的记录的同时,设有该状态标识字段,同时,通过邻居表项中的计时器,来记录该状态标识字段建立的时长,在经过预设时长后,通过删除该状态标识字段来表示该IPv6地址已经生效。
此外,在本发明实施例中,还可以为每个邻居表项中的记录建立对应的状态标识,即,通过该状态标识,即可识别该记录中的IPv6地址是否生效;该状态标识同样可以是利用计时器,来在该记录建立后的预设时长内,将该记录中的IPv6地址的状态标识为尚未生效,在预设时长后,将该记录中的IPv6地址的状态标识为生效。
S15、当记录的中目标IPv6地址状态为尚未生效,丢弃DAD报文;
当记录中的目标IPv6地址状态为生效,判断DAD报文的类型;
具体的,当邻居表项中记录的包括目标IPv6地址“2000::1”,且该地址的状态为尚未生效,说明在主机X以地址“2000::1”为目标IPv6地址进行申请的时间点,与该时间点的时间差很小的另一时间点其他主机也以地址“2000::1”为目标IPv6地址进行了申请,只是该地址“2000::1”尚未生效。这样,本发明实施例通过将当前DAD报文进行丢弃的方式,使得主机X的申请失败,从而避免影响原来已经申请过该地址“2000::1”的主机,避免两个以相同的地址为目标IPv6地址的主机同时申请失败,进而提高了重复地址检测方式下的地址申请效率。
S16、当DAD报文的类型为DAD NS报文时,丢弃DAD报文,并向DAD NS报文的发送主机回复DAD NA报文,以指示目标IPv6地址为重复地址;当DAD报文的类型为DAD NA报文时,转发DAD NA报文。
此外,当记录中的目标IPv6地址状态为生效时,说明已经有其他的主机已经在正常使用该地址“2000::1”;此时,如果当前DAD报文为DAD NS报文,需要通知该报文的发送主机(即主机X)其申请地址为重复地址,需要另行申请。
现有技术中的方式为将该DAD报文转发,主机X在等待使用的该地址“2000::1”的主机所反馈的DAD NA报文后,才会知道其申请地址为重复地址,需要另行申请;在本发明实施例中,为了提高重复地址检测的检测效率,在通过对记录中的目标IPv6地址状态进行判断,得知已经有其他的主机已经在正常使用该地址“2000::1”后,代理该地址“2000::1”的使用主机直接向主机X反馈DAD NA报文,从而节省了主机X的等待时间,提高了重复地址检测的检测效率。
在本申请的另一实施例中,还提供了一种重复地址检测装置,如图2所示,包括屏蔽单元11,当判断到主机的重复地址检测DAD报文发送次数到达预设次数时,丢弃DAD报文;
在本发明实施例中,屏蔽单元11通过设有预设次数来判断网络中的主机是否为攻击主机,具体的方式可以是,网络设备中的重复地址检测装置01的屏蔽单元11,通过各主机的端口的计数器对各主机发送DAD报文的次数进行统计,当一个主机发送DAD报文达到该预设次数时,屏蔽单元11判断该主机为攻击主机,该攻击主机所发送的DAD报文将被丢弃,也就是说,攻击主机的DAD报文将不被转发,这样正常主机在通过重复地址检测进行IP v6地址的申请时,攻击主机所伪造包括该目标IPv6地址的DAD NS报文或DAD NA报文被丢弃后,就不会影响正常主机的申请。
进一步的,在发明实施例中还可以包括有预警单元12,用于判断到主机的DAD报文发送次数是到达预设次数时,生成预警信息。
这样,预警单元12可以通过对于主机的DAD报文发送次数的判断,当某一主机发送DAD报文的次数到达预设次数时生成预警信息,从而可以使工作人员尽快的获知网络正在受到攻击,以及时的进行相应处理。
在本申请的另一实施例中,本发明实施例中的重复地址检测装置,如图3所示,在包括屏蔽单元11和预警单元12的同时,还包括地址获取单元13,判断单元14、第一处理单元15、第二处理单元16和第三处理单元17,其中:
地址获取单元13,用于当主机的DAD报文发送次数小于预设次数时,获取DAD报文中所包括的目标IPv6地址;
判断单元14,用于判断邻居表项中是否包括目标IPv6地址的记录;
第一处理单元15,用于如果邻居表项中包括目标IPv6地址数据的记录,判断记录中的目标IPv6地址的状态是否为生效;
如果邻居表项中不包括目标IPv6地址数据的记录,在邻居表项添加与所述DAD报文对应的记录,并标识记录中的目标IPv6地址的状态是否为生效;
第二处理单元16,用于当记录中的目标IPv6地址状态为尚未生效,丢弃DAD报文;
当记录的中目标IPv6地址状态为生效,判断DAD报文的类型;
第三处理单元17,用于当DAD报文的类型为DAD NS报文时,向DAD NS报文的发送主机回复DAD NA报文,以指示目标IPv6地址为重复地址;当DAD报文的类型为DAD NA报文时,转发DAD NA报文。
以主机X所发送的DAD报文为DAD NS报文,DAD NS报文中所包括的目标IPv6地址为“2000::1”举例:
网络设备接收到该DAD NS报文后,屏蔽单元11通过统计主机X所发送的DAD报文的次数是否到达预设次数,来判断主机X是否为攻击主机。
如果主机X的DAD NS报文发送次数大于预设次数,此时可以屏蔽主机X的端口,丢弃该主机所发送的报文,以避免主机X影响网络中其他主机的IP v6地址的申请;同时,可选的,还可以通过预警单元12生成预警信息来提示网络当前正在受到攻击。
如果主机X的DAD报文发送次数小于预设次数,则需要通过地址获取单元13进一步的获取DAD报文中所包括的目标IPv6地址,即“2000::1”;然后,再通过判断单元14判断邻居表项中是否包括所述目标IPv6地址的记录。
根据判断单元14的判断结果,第一处理单元15,在邻居表项中包括目标IPv6地址数据的记录的情况下,判断记录中的目标IPv6地址的状态是否为生效;或者是,在邻居表项中不包括目标IPv6地址数据的记录的情况下,在邻居表项添加与DAD报文对应的记录,并标识记录中的目标IPv6地址的状态是否为生效;
在本发明实施例中,利用了已有的邻居表项中的信息,来判断当前DAD报文中的目标IPv6地址是否已经被申请;此外,本发明实施例中,还对于邻居表项进行了改造,通过改造后的邻居表项还可以判断邻居表项中的IPv6地址是否已经生效,具体的可以是通过标识记录中的目标IPv6地址的状态是否为生效的方式,来标识IPv6地址的当前状态:
具体的,当主机X所发送的DAD NS报文中的目标IPv6地址“2000::1”,已近存在于邻居表项的记录中时,说明已经有其他主机以该地址进行了申请;如果邻居表项的记录中不包括该地址,则说明该地址为首次申请,此时需要在邻居表项中增加相应的记录,在增加记录时,需要标识所述记录中的目标IPv6地址的状态是否为生效。
可选的,在标识所述记录中的目标IPv6地址的状态是否为生效时,具体可以包括:
通过字段增删模块,在目标IPv6地址生效前在记录中设有状态标识字段,并在目标IPv6地址生效时删除状态标识字段;这样,当记录中包括状态标识字段时,表示目标IPv6地址尚未生效;当记录中不包括状态标识字段时,表示目标IPv6地址生效。
也就是说,通过判断邻居表项中的记录中是否包括状态标识字段的方式来识别该IPv6地址是否生效;在实际应用中,状态标识字段的建立可以是当在邻居表项中建立该DAD报文的记录的同时,通过字段增删模块设有该状态标识字段,同时,通过邻居表项中的计时器,来记录该状态标识字段建立的时长,在经过预设时长后,通过字段增删模块删除该状态标识字段来表示该IPv6地址已经生效。
此外,在本发明实施例中,还可以通过状态标识模块为每个邻居表项中的记录建立对应的状态标识,即,通过该状态标识,即可识别该记录中的IPv6地址是否生效;该状态标识模块同样可以是利用计时器,来在该记录建立后的预设时长内,将该记录中的IPv6地址的状态标识为尚未生效,在预设时长后,将该记录中的IPv6地址的状态标识为生效。
接着,第二处理单元16根据第一处理单元15中对于目标IPv6地址状态的判断结果进行相应处理,具体可以包括:
具体的,当邻居表项中记录的包括目标IPv6地址“2000::1”,且该地址的状态为尚未生效,说明在主机X以地址“2000::1”为目标IPv6地址进行申请的时间点,与该时间点的时间差很小的另一时间点其他主机也以地址“2000::1”为目标IPv6地址进行了申请,只是该地址“2000::1”尚未生效。这样,第二处理单元16通过将当前DAD报文进行丢弃的方式,使得主机X的申请失败,从而避免影响原来已经申请过该地址“2000::1”的主机,避免两个以相同的地址为目标IPv6地址的主机同时申请失败,进而提高了重复地址检测方式下的地址申请效率。
具体的,当记录中的目标IPv6地址状态为生效时,说明已经有其他的主机已经在正常使用该地址“2000::1”;此时,如果当前DAD报文为DAD NS报文,需要通知该报文的发送主机(即主机X)其申请地址为重复地址,需要另行申请;为此还需要第二处理单元16对DAD报文的类型进行判断;然后,第三处理单元17根据第二处理单元16中对于DAD报文的类型的判断结果进行相应处理,具体可以包括:
当DAD报文的类型为DAD NS报文时,第三处理单元17丢弃DAD报文,并向DAD NS报文的发送主机回复DAD NA报文,以指示目标IPv6地址为重复地址;当DAD报文的类型为DADNA报文时,第三处理单元17通知网络设备转发DAD NA报文。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例提供的装置而言,由于其与实施例提供的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所提供的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所提供的原理和新颖特点相一致的最宽的范围。

Claims (13)

1.一种重复地址检测方法,其特征在于,包括:
接收主机发送的DAD报文,所述DAD报文是DAD NS报文或DAD NA报文;
判断所述主机的重复地址检测DAD报文发送次数是否到达预设次数,如果是,丢弃所述DAD报文;
如果否,获取所述DAD报文中所包括的目标IPv6地址;
判断邻居表项中是否包括所述目标IPv6地址的记录;
如果包括,判断所述记录中的目标IPv6地址的状态是否为生效;
如果不包括,在所述邻居表项添加与所述DAD NS报文对应的记录,标识所述记录中的目标IPv6地址的状态是否为生效;
当所述记录中的目标IPv6地址状态为尚未生效,丢弃所述DAD报文;
当所述记录中的目标IPv6地址状态为生效,判断所述DAD报文的类型;
当所述DAD报文的类型为DAD NS报文时,向所述DAD NS报文的发送主机回复DAD NA报文,以指示所述目标IPv6地址为重复地址;当所述DAD报文的类型为DAD NA报文时,转发所述DAD NA报文。
2.根据权利要求1所述的重复地址检测方法,其特征在于,判断主机的重复地址检测DAD报文发送次数是否到达预设次数,如果是,还包括:
生成预警信息。
3.根据权利要求1所述的重复地址检测方法,其特征在于,所述标识所述记录中的目标IPv6地址的状态是否为生效,包括:
在所述目标IPv6地址生效前在所述记录中设有状态标识字段,并在所述目标IPv6地址生效时删除所述状态标识字段;所述记录中包括状态标识字段,表示所述目标IPv6地址尚未生效;所述记录中不包括状态标识字段,表示所述目标IPv6地址生效。
4.根据权利要求1所述的重复地址检测方法,其特征在于,所述标识所述记录中的目标IPv6地址的状态是否为生效,包括:
设有所述记录中所述目标IPv6地址是否生效的状态标识。
5.根据权利要求3所述的重复地址检测方法,其特征在于,所述在所述目标IPv6地址生效前在所述记录中设有状态标识字段,并在所述目标IPv6地址生效时删除所述状态标识字段,包括:
判断在所述邻居表项添加与所述DAD报文对应的记录的时间是否超过预设时间,在超过预设时间前,在所述记录中设有状态标识字段;在超过预设时间后,删除所述状态标识字段。
6.根据权利要求4所述的重复地址检测方法,其特征在于,所述设有所述记录中所述目标IPv6地址是否生效的状态标识,包括:
判断在所述邻居表项添加与所述DAD报文对应的记录的时间是否超过预设时间,在超过预设时间前,将所述状态标识字段标识为尚未生效;在超过预设时间后,将所述状态标识字段标识为生效。
7.根据权利要求5或6中所述的重复地址检测方法,其特征在于,所述判断在所述邻居表项添加与所述DAD报文对应的记录的时间是否超过预设时间,包括:
根据所述邻居表项中的计时器,判断在所述邻居表项添加与所述DAD报文对应的记录的时间是否超过预设时间。
8.一种重复地址检测装置,其特征在于,包括:
接收单元,用于接收主机发送的DAD报文,所述DAD报文是DAD NS报文或DAD NA报文;
屏蔽单元,当判断到所述主机的重复地址检测DAD报文发送次数到达预设次数时,丢弃所述DAD报文;
地址获取单元,用于当所述主机的DAD报文发送次数小于所述预设次数时,获取所述DAD报文中所包括的目标IPv6地址;
判断单元,用于判断邻居表项中是否包括所述目标IPv6地址的记录;
第一处理单元,用于如果所述邻居表项中包括所述目标IPv6地址数据的记录,判断所述记录中的目标IPv6地址的状态是否为生效;
如果所述邻居表项中不包括所述目标IPv6地址数据的记录,在所述邻居表项添加与所述DAD报文对应的记录,并标识所述记录中的目标IPv6地址的状态是否为生效;
第二处理单元,用于当所述记录中的目标IPv6地址状态为尚未生效,丢弃所述DAD报文;
当所述记录的中目标IPv6地址状态为生效,判断所述DAD报文的类型;
第三处理单元,用于当DAD报文的类型为DAD NS报文时,向所述DAD NS报文的发送主机回复DAD NA报文,以指示所述目标IPv6地址为重复地址;当DAD报文的类型为DAD NA报文时,转发所述DAD NA报文。
9.根据权利要求8所述的重复地址检测装置,其特征在于,还包括:
预警单元,用于判断到主机的DAD报文发送次数是到达预设次数时,生成预警信息。
10.根据权利要求8所述的重复地址检测装置,其特征在于,所述第一处理单元,包括:
字段增删模块,用于在所述目标IPv6地址生效前在所述记录中设有状态标识字段,并在所述目标IPv6地址生效时删除所述状态标识字段;所述记录中包括状态标识字段,表示所述目标IPv6地址尚未生效;所述记录中不包括状态标识字段,表示所述目标IPv6地址生效。
11.根据权利要求8所述的重复地址检测装置,其特征在于,所述第一处理单元,包括:
状态标识模块,用于在所述记录中设有所述目标IPv6地址是否生效的状态标识。
12.根据权利要求10所述的重复地址检测装置,其特征在于,
所述字段增删模块根据所述邻居表项中的计时器,判断在所述邻居表项添加与所述DAD报文对应的记录的时间是否超过预设时间。
13.根据权利要求11所述的重复地址检测装置,其特征在于,所述设有所述记录中所述目标IPv6地址是否生效的状态标识,包括:
所述状态标识模块,用于根据所述邻居表项中的计时器,判断在所述邻居表项添加与所述DAD报文对应的记录的时间是否超过预设时间;在超过预设时间前,将所述状态标识字段标识为尚未生效;在超过预设时间后,将所述状态标识字段标识为生效。
CN201410778746.5A 2014-12-15 2014-12-15 一种重复地址检测方法和装置 Active CN104394243B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410778746.5A CN104394243B (zh) 2014-12-15 2014-12-15 一种重复地址检测方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410778746.5A CN104394243B (zh) 2014-12-15 2014-12-15 一种重复地址检测方法和装置

Publications (2)

Publication Number Publication Date
CN104394243A CN104394243A (zh) 2015-03-04
CN104394243B true CN104394243B (zh) 2018-10-19

Family

ID=52612078

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410778746.5A Active CN104394243B (zh) 2014-12-15 2014-12-15 一种重复地址检测方法和装置

Country Status (1)

Country Link
CN (1) CN104394243B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107547510B (zh) * 2017-07-04 2020-03-06 新华三技术有限公司 一种邻居发现协议安全表项处理方法和装置
CN108234688B (zh) * 2017-12-29 2021-08-03 迈普通信技术股份有限公司 重复地址检测的方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101222513A (zh) * 2008-01-28 2008-07-16 杭州华三通信技术有限公司 一种防止重复地址检测攻击的方法及网络设备
CN101267312A (zh) * 2008-04-30 2008-09-17 中兴通讯股份有限公司 一种网络中防止地址冲突检测欺骗的方法
CN102130905A (zh) * 2011-01-27 2011-07-20 中兴通讯股份有限公司 一种提高邻居发现监听安全性的方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2844941B1 (fr) * 2002-09-24 2005-02-18 At & T Corp Demande d'acces securise aux ressources d'un reseau intranet

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101222513A (zh) * 2008-01-28 2008-07-16 杭州华三通信技术有限公司 一种防止重复地址检测攻击的方法及网络设备
CN101267312A (zh) * 2008-04-30 2008-09-17 中兴通讯股份有限公司 一种网络中防止地址冲突检测欺骗的方法
CN102130905A (zh) * 2011-01-27 2011-07-20 中兴通讯股份有限公司 一种提高邻居发现监听安全性的方法及装置

Also Published As

Publication number Publication date
CN104394243A (zh) 2015-03-04

Similar Documents

Publication Publication Date Title
CN103401726B (zh) 网络路径探测方法及装置、系统
CN104301184B (zh) 链路的健康检查方法和装置
KR101863024B1 (ko) 분산 로드 밸런서
CN105763440B (zh) 一种报文转发的方法和装置
JP4769609B2 (ja) スイッチ装置
CN111130931B (zh) 一种违规外联设备的检测方法及装置
CN104780139B (zh) 一种基于mac地址攻击的防御方法和系统
CN103428032B (zh) 一种攻击定位、辅助定位装置和方法
CN103166852B (zh) Mpls网络中lsp的路径追踪方法和路由设备
CN106470251B (zh) 域名解析方法及虚拟dns权威服务器
CN108270602A (zh) 一种数据链路的检测方法、装置及系统
CN105991347A (zh) Dns请求报文的重定向方法和装置
CN106130827B (zh) 网络设备可达性的检测方法和装置
CN104394243B (zh) 一种重复地址检测方法和装置
CN107682470A (zh) 一种检测nat地址池中公网ip可用性的方法及装置
CN108667732A (zh) 一种报文转发方法及装置
CN114430394A (zh) 报文处理方法、装置、电子设备及可读存储介质
CN106603464A (zh) 网络检测方法与系统、装置
US8526334B2 (en) Choosing connectable end points for network test
EP3291486B1 (en) Selective transmission of bidirectional forwarding detection (bfd) messages for verifying multicast connectivity
CN106878106A (zh) 一种可达性检测方法及装置
CN104683152B (zh) Vxlan报文处理方法以及装置
US8861378B2 (en) Method, system and network device for node configuration and path detection
WO2021083375A1 (zh) 检测链路状态的方法及装置
CN109413022A (zh) 一种基于用户行为检测http flood攻击的方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant