CN101577675B - IPv6网络中邻居表保护方法及邻居表保护装置 - Google Patents

IPv6网络中邻居表保护方法及邻居表保护装置 Download PDF

Info

Publication number
CN101577675B
CN101577675B CN2009100861283A CN200910086128A CN101577675B CN 101577675 B CN101577675 B CN 101577675B CN 2009100861283 A CN2009100861283 A CN 2009100861283A CN 200910086128 A CN200910086128 A CN 200910086128A CN 101577675 B CN101577675 B CN 101577675B
Authority
CN
China
Prior art keywords
message
address
neighbor table
prefix
record
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
CN2009100861283A
Other languages
English (en)
Other versions
CN101577675A (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.)
New H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies 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 Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN2009100861283A priority Critical patent/CN101577675B/zh
Publication of CN101577675A publication Critical patent/CN101577675A/zh
Application granted granted Critical
Publication of CN101577675B publication Critical patent/CN101577675B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种IPv6网络中邻居表保护方法和邻居表保护装置,该方法包括:监听用于分配IPv6地址前缀的分配报文,记录其中携带的IPv6地址前缀;监听用于冲突地址检测DAD的DAD报文,记录与所述记录的IPv6地址前缀相对应的DAD报文中携带的地址配置信息;根据所述记录的地址配置信息,对用于邻居表学习的学习报文进行合法性判断,阻止根据非法的学习报文进行正常的邻居表操作。该方法和装置能够提高邻居表的健壮性和安全性,同时实现简单,无需升级IPv6协议栈,容易部署且维护量小。

Description

IPv6网络中邻居表保护方法及邻居表保护装置
技术领域
本发明涉及IPv6技术领域,特别涉及IPv6网络中邻居表保护方法及邻居表保护装置。
背景技术
因特网协议版本6(IPv6)是下一代的互联网网络层协议,与现有的版本4(IPv4)最明显的区别在于地址位数增加到128位,以解决目前IP地址短缺的问题。在IPv6网络中,加入网络的节点都需要分配IP地址,目前IP地址的分配方案主要包括:手工配置、支持IPv6的动态主机配置协议(DHCPv6,Dynamic Host Configuration Protocol for IPv6)分配、IPv6邻居发现(ND)协议分配、远程认证拨号用户服务(RADIUS,RemoteAuthentication Dial-In User Service)分配等。其中,由于IPv6的地址很长,手工配置相当繁琐,因此目前IPv6网络中大多采用DHCPv6、ND和RADIUS方案分配IP地址。
在DHCPv6方案中,客户端通过请求(Request)消息向服务器提出配置申请,服务器通过响应(reply)消息返回为客户端分配的IP地址等相应的地址配置信息,以实现IP地址等信息的动态配置。如果服务器和客户端在同一个链路范围内,客户端可以通过链路范围的组播地址直接与DHCPv6服务器通信,否则需要通过DHCPv6中继(relay)来转发DHCPv6报文。
ND协议方案中,使用ICMPv6消息实现地址分配,重复地址检测、路由发现等功能,例如节点可以通过发送邻居请求(NS,Neighbor Solicitation)消息,获取邻居链路层地址、验证邻居是否可达和进行重复地址检测(DAD);节点通过发送邻居通告(NA,Neighbor Advertisement)消息对NS消息进行响应,并在链路层变化时通过主动发送NA消息,向邻居节点通告本节点的变化信息;节点启动后,可以通过路由器请求(RS,Router Solicitation)消息向路由器请求IPv6地址前缀和其他配置信息,用于节点的地址自动配置;路由器可以通过路由器通告(RA,Router Advertisement)消息,对RS消息进行响应,将分配给节点的地址配置信息下发给节点;在没有抑制RA消息发布的条件下,路由器也会周期性地发布RA消息,其中包括前缀信息选项和一些标志位的信息。
RADIUS方案中,则是通过RFC3162扩展了RADIUS协议,使其可以支持IPv6地址分配,其中,增加的两个关键属性如下:
Framed-Interface-Id——分配的接口ID
Framed-IPv6-Prefix——分配的IPv6前缀
RADIUS客户端如网络接入服务器(NAS)可以根据节点的请求在认证请求(Access-Request)报文中向RADIUS服务器申请IPv6地址,而RADIUS服务器将在认证接受(Access-Accept)报文中通过上述两个属性来指定节点可以使用的IPv6前缀和接口ID,NAS再将该报文转发给节点,从而实现为节点分配IPv6地址。
不管使用哪一种IPv6地址分配方案,由于完整的IPv6地址分为前缀和接口ID两部分,因此在具体分配IPv6地址时,又可分为两种具体的分配方式,既地址分配方式和前缀分配方式两种,地址分配是指由负责分配IPv6地址的接入设备将完整的128位IPv6地址分配给接入网络的节点;而前缀分配是指负责分配IPv6地址的分配设备仅分配IPv6地址的前缀部分,接口ID由接入网络的节点自行生成,并组成完整IPv6地址,然后再使用ND协议中规定的地址检测(DAD)过程进行冲突地址检测,如果没有发现冲突,则地址生效,若有冲突,则重新生成一个接口ID再进行冲突地址检测,直到没有冲突为止。
对于前缀分配方式来说,因为接口ID不是分配设备所指定的,因此分配设备和网络中原有的节点预先无法知道新加入网络的节点的完整IPv6地址,因此为了能够使新加入网络的节点和网络中原有的节点之间可以互相通信,在完成DAD过程之后,节点可以通过使用动态邻居表学习来获知其他节点的地址配置信息。
动态邻居表学习是指:节点将自身的链路地址(MAC)、完整IP地址、节点名称等地址配置信息通过ND协议中的NS报文发送给网络内的其他节点,而接收到该NS报文的节点将自身的链路地址、完整IP地址、节点名称等配置信息通过ND协议中的NA报文返回给发送NS报文的节点,这样,发送NS报文的节点以及网络内其他节点就可以知道对方的地址配置信息,从而根据地址配置信息进行正常的邻居表操作,如将对方的地址配置信息加入自己的邻居表中建立新的邻居表项,或修改原有邻居表项等,完成动态邻居表学习。
但由于ND协议是明文协议,在邻居表学习的过程中,如果某些节点恶意伪造ND协议报文,可能会给其它节点造成不良的影响,比如伪造大量NS报文,使网络内的节点被迫学习大量的邻居表项,而邻居表项的数目过大会降低数据包转发的效率,使节点的数据包发送性能下降,且一般邻居表项的数量是有上限的,大量伪造的NS报文会占用有限的表项,虽然一般邻居表都具有表项老化更新的机制,邻居表中表项超过老化期后会被删除,但由于无法分辨出正常的NS报文和伪造的NS报文,使得邻居表正常的表项老化更新机制无法对根据伪造NS报文产生的邻居表项进行有效的控制。另外,因为接收到NA报文的节点会根据NA报文的内容更改邻居表项,因此通过伪造NA报文可以迫使其他节点对邻居表项进行更改,很容易造成邻居表混乱,从而使数据包发送产生错误。因此现有IPv6网络中邻居表的安全性和健壮性并不理想,是IPv6网络的一个重大的不安全因素。
为解决此问题,现有两种解决方案,其一是静态地址分配方案:针对网络中每一个可能的接入节点,预先统一配置静态的邻居表项,而不使用动态邻居表学习功能,以保护邻居表。其二是安全邻居发现(SEND,Secure ND,RF3971中规定)方案:通过对ND协议报文进行加密认证,保证邻居节点之间交互的ND协议报文是经过认证的,从而使接入设备能够辨别出伪造报文,从而控制网络中用于邻居表学习报文的转发。
但是上述两种方案中,第一种方案由于要预先配置邻居表项,对于大规模的IPv6部署来说,所需配置量巨大,网络部署和管理成本很高,且后期维护量也很庞大,网络部署很不灵活;而SEND方案则需要升级现有IPv6协议栈,实现复杂,目前支持该方案的设备很少,部署难度很大,几乎不具备可行性。
发明内容
本发明实施例提供一种IPv6网络中邻居表保护方法,能够提高IPv6网络中邻居表的安全性,且实现简单。
本发明实施例提供一种邻居表保护装置,能够提高IPv6网络中邻居表的安全性,且实现简单。
为达到上述目的,本发明的技术方案具体是这样实现的:
一种IPv6网络中邻居表保护方法,该方法包括:
监听用于分配IPv6地址前缀的分配报文,记录其中携带的IPv6地址前缀;
监听用于冲突地址检测DAD的DAD报文,记录与所述记录的IPv6地址前缀相对应的DAD报文中携带的地址配置信息;
根据所述记录的地址配置信息,对用于邻居表学习的学习报文进行合法性判断,阻止根据非法的学习报文进行正常的邻居表操作。
一种邻居表保护装置,该装置包括:
前缀监听模块,监听用于分配IPv6地址前缀的分配报文;
前缀记录模块,与所述前缀监听模块相连,用于记录所述分配报文中携带的IPv6地址前缀;
DAD监听模块,监听用于DAD的DAD报文;
地址记录模块,与所述DAD监听模块和前缀记录模块分别相连,用于记录与所述前缀记录模块记录的IPv6地址前缀相对应的DAD报文中携带的地址配置信息;
邻居表保护模块,与所述地址记录模块相连,用于根据所述地址记录模块记录的地址配置信息,对用于邻居表学习的学习报文进行合法性判断,允许根据合法的学习报文进行正常的邻居表操作,阻止根据非法的学习报文进行正常的邻居表操作。
由上述的技术方案可见,本发明的这种邻居表保护方法和装置对地址分配过程中所进行的报文交互进行监听,记录合法报文中的地址配置信息,并根据记录的地址配置信息保护邻居表。由于伪造的非法报文中的地址配置信息不是通过正常地址分配过程产生的,所以不会被记录,因此,通过比较记录的地址配置信息与报文中携带的地址配置信息,就可以识别出报文是否为伪造;这样就可以根据记录的合法的地址配置信息对邻居表学习进行控制,阻止根据非法报文对邻居表进行修改的操作,以保护邻居表,提高邻居表的健壮性和安全性,与此同时,本发明的方法无需修改IPv6协议栈,只需很少的计算量和很小的存储空间即可实现,实现简单,且部署和维护量小。
附图说明
图1为本发明实施例的邻居表保护方法总体流程图;
图2为本发明实施例一的邻居表保护装置结构示意图;
图3为本发明实施例二的邻居表保护装置结构示意图;
图4为本发明实施例三的邻居表保护装置结构示意图;
图5为本发明实施例四的邻居表保护装置结构示意图;
图6本发明实施例的邻居表保护模块结构示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
本发明主要是对地址分配过程中所进行的报文交互进行监听,记录合法报文中的地址配置信息,并根据记录的地址配置信息保护邻居表。由于伪造的非法报文中的地址配置信息不是通过正常地址分配过程产生的,所以不会被记录,因此,通过比较记录的地址配置信息与报文中携带的地址配置信息,就可以识别出报文是否为伪造;这样就可以根据记录的合法的地址配置信息对邻居表学习进行控制,阻止根据非法报文对邻居表进行修改的操作,以保护邻居表,提高邻居表的健壮性和安全性,同时实现简单,无需升级IPv6协议栈,部署和维护量小。
图1为本发明实施例的邻居表保护方法总体流程图,如图1所示,该流程包括如下步骤:
根据所述记录的地址配置信息,对用于邻居表学习的学习报文进行合法性判断,阻止根据非法的学习报文进行正常的邻居表操作。
步骤101,监听用于分配IPv6地址前缀的报文,记录其中携带的IPv6地址前缀。
这里用于分配IPv6地址前缀的报文根据不同的分配方案而有所不同,例如DHCPv6中可以是reply报文,ND协议中可以是RA报文,RADIUS中可以是Access-Accept报文,其他分配方案不再赘述,只要是用于分配IPv6地址前缀且携带IPv6地址前缀的报文均可。以下为了方便表述将用于分配IPv6地址前缀的报文统称为分配报文。
步骤102,监听用于DAD的报文,记录与所述记录的IPv6地址前缀相对应的DAD报文中携带的地址配置信息。
采用前缀分配方式的情况下,节点在接收到分配的前缀后,将自行生成接口ID部分,组成完整的IPv6地址,然后通过ND协议中的NS报文发起DAD检测过程。因此仅监听用于分配IPv6地址前缀的报文无法得到完整的IPv6地址,还需要监听用于DAD的NS报文,将与之前记录过的前缀相对应的完整IPv6地址、链路地址、节点名称等地址配置信息记录下来。以下为了方便表述将用于DAD检测过程的报文统称为DAD报文。
步骤103,根据所述记录的地址配置信息,对用于邻居表学习的报文进行合法性判断,阻止根据非法的用于邻居表学习的报文进行正常的邻居表操作。
IPv6地址分配的过程中,各种报文的交互是有先后顺序的,步骤102中记录DAD NS报文中的地址配置信息时,只有与之前记录过的地址前缀相对应时才会被记录,而用于邻居表攻击的伪造报文是孤立的,其报文中的伪造的地址配置信息不是正常分配的,不会被记录,因此,通过步骤101、102所记录的地址配置信息可以认为是合法的地址配置信息,可以根据记录的地址配置信息对用于邻居表学习的报文进行合法性判断,如果报文中携带的地址配置信息被记录过,则可认为该报文合法,否则非法,例如可以被动监听用于邻居表学习的报文,若所述记录的地址配置信息中包含用于邻居表学习的报文中携带的地址配置信息,则判断该用于邻居表学习的报文合法,否则判断为非法。以下为了方便表述将用于邻居表学习的报文统称为学习报文。
另外,在步骤103中,对于合法的学习报文,允许进行正常的邻居表操作,即建立新的表项或修改原表项等,而对于非法的报文,可以直接丢弃,或者,仅允许根据非法的学习报文建立老化期小于正常邻居表表项,且优先删除的低优先级邻居表表项,以区别于合法的邻居表表项;当然这需要邻居表支持这样的操作,具体如何对非法的学习报文进行处理,可以根据邻居表的具体功能而定,这里不再赘述。
下面以DHCPv6的地址分配方案为例对本发明实施例作详细的介绍。
在DHCPv6中,用于地址分配的是reply报文,用于DAD的是DAD NS报文,在监听到reply报文时,可以将其中携带的前缀记录在预先建立的合法前缀表中,在监听到DAD NS报文时,可以将其中携带的与前缀记录对应的地址配置信息记录在预先建立的地址绑定表中,其中合法前缀表和地址绑定表的格式分别举例如下:
表一,合法前缀表
Figure G2009100861283D00082
表二,地址绑定表
表一中,合法前缀项是必须包括的,而报文发出的时间和前缀生存期可选。其中,报文发出的时间是从监听的reply报文中获取的;记录报文发出时间,配合预设的监听维持期,可以用于限制后续监听DAD NS报文时是否对地址配置信息进行记录,因为正常情况下,节点在接收到reply报文后,会立即进行DAD检测,如果在监听到reply报文后很长时间才收到与reply报文中携带的前缀对应的后续进行DAD检测的NS报文,则可以认为接收reply报文的节点不正常,或者是该DAD检测的NS报文为伪造,将报文直接丢弃掉,不再进行处理。这个监听维持期的具体时长可以参考RFC4861标准中定义的重传定时器(RETRANS_TIMER)的时长,例如为1,000毫秒(ms)。具体实现时,可以在记录合法前缀表的条目时,启动该条目的监听定时器。
前缀生存期也是从监听的reply报文中获取的;在分配IPv6地址前缀时,分配设备都会给分配的地址前缀设定生存期,超过这个期限,该前缀将失效,需要重新分配新的前缀,因此在表一中记录这个前缀生存期,可以保证合法前缀表不会无限制扩大,避免出现无效的记录。具体实现时,可以在记录合法前缀表的条目时,启动该条目的生存期定时器,若定时器超过生存期时长,则将该表项从表一中删除。
表二中,记录与表一中记录的前缀所对应的地址配置信息,例如IP地址、链路地址和接入点名称等,当然,具体信息任意,只要保证能够根据这些信息唯一确定某个节点即可,这些与节点的地址相关的配置信息可以统称为地址配置信息。其中IP地址是节点的完整地址,包括前缀部分和接口ID部分,地址配置信息与表一中记录的前缀对应就是指地址配置信息中的前缀部分与与表一中记录的前缀相同。而表项的状态用于指示该表项是否生效,其中INIT表示表项未知的状态,还没有根据该表项进行过学习报文的合法性判断,当然也可以不设置该项。
对于表二的记录,在监听到DAD NS报文后,首先可以根据在表一中记录前缀时启动的监听定时器来判断是否需要进行记录,如果监听到DADNS报文时监听定时器已经超时,则直接丢弃,若没有超时,则可查找表一,如果DAD NS报文携带的地址配置信息,与表一中记录的前缀相对应,即地址配置信息中的前缀与表一中记录的前缀相同,则记录地址配置信息,设置表项状态为INIT。
表二记录后,即可根据记录的表项对学习报文进行合法性验证,具体可以通过监听ND协议报文中如NS、NA报文等学习报文实现,如果NS或NA报文中携带的地址配置信息与表二中记录的相对应,则认为该用于邻居表学习的报文合法,此时可将表项中对应的表项的状态变更为“已知”允许根据该报文进行邻居表表项的创建等正常操作。否则,认为该报文非法,属于伪造报文,直接将该报文丢弃,或者,不丢弃,但仅允许根据该报文创建低安全级别的邻居表表项(老化时间小于ND协议要求时长,并且最先删除的表项,需要邻居表支持此功能)。
另外,如果实施本发明方法的节点关闭了动态邻居表学习功能,不对接收到的用于邻居表学习的NS或NA报文进行处理,也可以设置一个后台进程,主动对表二中所有INIT状态表项的IP地址发送NS报文,当收到与表项内容对应的应答NA报文时,将表项状态转换为“已知”态,并创建或修改对应的邻居表表项,从而实现邻居表的学习。
为实现表二中的表项更新,也可以为表项设置老化时间,该时间可以比邻居表的表项老化时间长,邻居表表项的老化期的具体时长可以参考RFC4861标准,例如为延迟时长(DELAY_FIRST_PROBE_TIME)加上重传定时器的时长(RETRANS_TIMER),此时可以设置表二的表项老化时间为邻居表表项老化期的2倍,这样可以保证邻居表表项从建立到老化的过程都可以根据表二进行保护,实现邻居表的高安全性。另外,当收到DHCP租约释放报文时,还可以删除表二中相应的地址绑定表项及邻居表表项,节省表项资源。
另外,表一和表二也可以合成一个表,且记录表一、表二中的信息还可以采用数据库等其他方式实现,这里不再赘述。
对于其他的地址分配方案,如ND协议方案及RADIUS方案,根据分配IPv6地址的报文不同,监听的具体报文也不同,ND协议方案中,通过RA报文分配IPv6地址,因此可以监听RA报文,从RA报文中的Options域中获取前缀进行记录;而RADIUS方案中,通过认证接受(Access-Accept)报文分配IPv6地址,因此可以监听Access-Accept报文,从Access-Accept中的Attribute域中获取前缀进行记录。
对于其他任何地址分配方案,都可以通过上述的方法对邻居表进行保护,只是监听和分析的报文根据不同的地址分配方案有所不同,其他步骤和DHCPv6的实施例相同,不再赘述。本发明实施例中的方法可以在交换机、路由器、服务器等任何可用于转发上述所需监听的报文的设备(例如DHCPv6中继、启用DHCPv6 Snooping的交换机、NAS设备)上部署,从而实现对本地邻居表的直接控制,提高本地邻居表的高安全性,同时,通过上述对监听到的DAD报文、学习报文的丢弃机制,还可以实现对网络内与地址相关的伪造报文的过滤,从而实现对网络中其他终端(如接入网络的计算机等)的邻居表的间接控制,提高网络中所有具有邻居表设备的邻居表安全性。
图2为本发明实施例一的邻居保护装置结构示意图,如图2所示,该装置包括:
前缀监听模块201,监听用于分配IPv6地址前缀的分配报文;
前缀记录模块202,与所述前缀监听模块201相连,用于记录所述用于分配IPv6地址前缀的报文中携带的IPv6地址前缀;
DAD监听模块203,监听用于DAD的报文;
地址记录模块204,与所述DAD监听模块203和前缀记录模块202分别相连,用于记录与所述前缀记录模块记录的IPv6地址前缀相对应的DAD报文中携带的地址配置信息;
邻居表保护模块205,与所述地址记录模块204相连,用于根据所述地址记录模块204记录的地址配置信息,对学习报文进行合法性判断,允许根据合法的学习报文进行正常的邻居表操作,阻止根据非法的学习报文进行正常的邻居表操作。
该装置可以集成于任何用于转发分配报文、DAD报文的设备中,例如DHCP relay设备或启用DHCPv6 snooping的交换机、任何运行ND转发的设备、任何运行RADIUS客户端的设备。
图3为本发明实施例二的邻居保护装置结构示意图,如图3所示,该装置除包括图2中所有模块(图3中示为前缀监听模块301、前缀记录模块302、DAD监听模块303、地址记录模块304和邻居表保护模块305)外,还进一步包括:
生存期记录模块306,与所述前缀监听模块301相连,用于记录所述前缀监听模块301监听到的分配报文中携带的前缀生存期;
前缀维护模块307,与所述生存期记录模块306和前缀记录模块302相连,用于在所述IPv6地址前缀的记录时间超过了所述前缀生存期时,将该IPv6地址前缀的记录从所述前缀记录模块302中删除。
图4为本发明实施例三的邻居保护装置结构示意图,如图4所示,该装置除包括图2中所有模块(图4中示为前缀监听模块401、前缀记录模块402、DAD监听模块403、地址记录模块404和邻居表保护模块405)外,还进一步包括:
时间记录模块406,与所述前缀监听模块401相连,用于记录述前缀监听模块401监听到的分配报文中携带的报文发送时间;
维持期判断模块407,连接于所述地址记录模块404和DAD监听模块403之间,并与所述时间记录模块406相连,用于在所述DAD监听模块403监听到DAD报文时,根据所述时间记录模块406记录的报文发送时间,判断DAD报文被监听到的时间是否超过所述监听维持期;将没有超过所述监听维持期的DAD报文发送给所述地址记录模块,丢弃超过所述监听维持期的DAD报文。
图5为本发明实施例四的邻居保护装置结构示意图,如图4所示,该装置除包括图3、图4中所有模块(图5中示为前缀监听模块501、前缀记录模块502、DAD监听模块503、地址记录模块504、邻居表保护模块505、生存期记录模块506、前缀维护模块507、时间记录模块508、维持期判断模块509)外,还进一步包括:
地址维护模块510,与所述地址记录模块504相连,用于根据预先设置的地址配置老化期,在所述记录地址配置信息的时间超过所述地址配置老化期时,将所述地址配置信息的记录从所述地址记录模块504中删除。
上述实施例一、二、三、四中的各模块的组合也可以组成其他实施例,如在实施例一的基础上添加实施例二、三中的模块,或将实施例四中的地址维护模块与实施例一、二、三分别组合,由于篇幅所限,无法一一举例,这里不再赘述。
图6为本发明实施例的邻居表保护模块结构示意图,如图6所示,所述邻居表保护模块包括:
邻居学习监听单元601,用于监听用于邻居表学习的报文;
合法性判断单元602,与所述邻居学习监听单元601和地址记录模块204(实施例一中为地址记录模块204、实施例二中为地址记录模块304,实施例三中为地址记录模块404,实施例四中为地址记录模块504)分别相连,若所述地址记录模块204记录的地址配置信息中包含所述用于邻居表学习的报文中携带的地址配置信息,则判断该用于邻居表学习的报文合法,否则判断为非法;
邻居表控制单元603,与所述合法性判断单元602相连,用于对邻居表操作进行控制,允许根据合法的用于邻居表学习的报文进行正常的邻居表操作,阻止根据非法的用于邻居表学习的报文进行正常的邻居表操作。
较佳地,邻居表控制单元303具体可以用于丢弃非法的用于邻居表学习的报文;或者,仅允许根据非法的用于邻居表学习的报文建立老化期小于正常邻居表表项,且优先删除的邻居表表项。
上述各模块所执行的操作和实现的功能可以参考方法实施例,这里不再赘述。
由上述的实施例可见,本发明的邻居表保护方法和邻居表保护装置通过对正常分配的地址配置信息进行记录,从而识别出报文是否为伪造;阻止根据非法报文对邻居表进行修改的操作,以保护邻居表,提高邻居表的健壮性和安全性,同时实现简单,无需升级IPv6协议栈,部署和维护量小。
所应理解的是,以上所述仅为本发明的较佳实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (14)

1.一种IPv6网络中邻居表保护方法,其特征在于,该方法包括:
监听用于分配IPv6地址前缀的分配报文,记录其中携带的IPv6地址前缀;
监听用于冲突地址检测DAD的DAD报文,记录与所述记录的IPv6地址前缀相对应的DAD报文中携带的地址配置信息;
根据所述记录的地址配置信息,对用于邻居表学习的学习报文进行合法性判断,阻止根据非法的学习报文进行正常的邻居表操作;
其中,所述根据记录的地址配置信息,对用于邻居表学习的报文进行合法性判断,包括:
监听所述学习报文,若所述记录的地址配置信息中包含所述学习报文中携带的地址配置信息,则判断所述学习报文合法,否则为非法。
2.根据权利要求1所述的IPv6网络中邻居表保护方法,其特征在于,所述阻止根据非法的所述学习报文进行正常的邻居表操作包括:丢弃非法的学习报文;或者,仅允许根据非法的学习的报文建立老化期小于正常邻居表表项,且优先删除的邻居表表项。
3.根据权利要求1~2中任一项权利要求所述的IPv6网络中邻居表保护方法,其特征在于,所述监听分配报文,记录其中携带的IPv6地址前缀,进一步包括:记录其中携带的前缀生存期;
若IPv6地址前缀的记录时间超过了所述前缀生存期,则将该IPv6地址前缀的记录删除。
4.根据权利要求1~2中任一项权利要求所述的IPv6网络中邻居表保护方法,其特征在于,该方法进一步包括:预先设置监听维持期;
所述监听分配报文,记录其中携带的IPv6地址前缀,进一步包括:记录其中携带的报文发送时间;
在记录与所述记录的IPv6地址前缀相对应的DAD报文中携带的地址配置信息之前,该方法进一步包括:根据所述记录的报文发送时间,对DAD报文被监听到的时间是否超过所述监听维持期进行判断,仅记录没有超过所述监听维持期的DAD报文中携带的地址配置信息。
5.根据权利要求1~2中任一项权利要求所述的IPv6网络中邻居表保护方法,其特征在于,该方法进一步包括:预先设置地址配置老化期;
若所述记录地址配置信息的时间超过所述地址配置老化期,则将所述地址配置信息的记录删除。
6.根据权利要求5所述的IPv6网络中邻居表保护方法,其特征在于,所述地址配置老化期比邻居表的表项老化期长。
7.根据权利要求1~2中任一项权利要求所述的IPv6网络中邻居表保护方法,其特征在于,所述IPv6地址前缀,记录在预先建立的合法前缀表中。
8.根据权利要求1~2中任一项权利要求所述的IPv6网络中邻居表保护方法,其特征在于,所述地址配置信息记录于预先建立的地址绑定表中。
9.一种邻居表保护装置,其特征在于,该装置包括:
前缀监听模块,监听用于分配IPv6地址前缀的分配报文;
前缀记录模块,与所述前缀监听模块相连,用于记录所述分配报文中携带的IPv6地址前缀;
DAD监听模块,监听用于DAD的DAD报文;
地址记录模块,与所述DAD监听模块和前缀记录模块分别相连,用于记录与所述前缀记录模块记录的IPv6地址前缀相对应的DAD报文中携带的地址配置信息;
邻居表保护模块,与所述地址记录模块相连,用于根据所述地址记录模块记录的地址配置信息,对用于邻居表学习的学习报文进行合法性判断,允许根据合法的学习报文进行正常的邻居表操作,阻止根据非法的学习报文进行正常的邻居表操作。
10.根据权利要求9所述的邻居表保护装置,其特征在于,所述邻居表保护模块包括;
邻居学习监听单元,用于监听所述学习报文;
合法性判断单元,与所述邻居学习监听单元和地址记录模块分别相连,若所述地址记录模块记录的地址配置信息中包含所述学习报文中携带的地址配置信息,则判断所述学习报文合法,否则判断为非法;
邻居表控制单元,与所述合法性判断单元相连,用于对邻居表操作进行控制,允许根据合法的学习报文进行正常的邻居表操作,阻止根据非法的学习报文进行正常的邻居表操作。
11.根据权利要求10所述的邻居表保护装置,其特征在于,所述邻居表控制单元用于丢弃非法的学习报文;
或者,仅允许根据非法的学习报文建立老化期小于正常邻居表表项,且优先删除的邻居表表项。
12.根据权利要求9~10中任一项权利要求所述的邻居表保护装置,其特征在于,该装置进一步包括:
生存期记录模块,与所述前缀监听模块相连,用于记录所述前缀监听模块监听到的分配报文中携带的前缀生存期;
前缀维护模块,与所述生存期记录模块和前缀记录模块相连,用于在所述IPv6地址前缀的记录时间超过了所述前缀生存期时,将该IPv6地址前缀的记录从所述前缀记录模块中删除。
13.根据权利要求9~10中任一项权利要求所述的邻居表保护装置,其特征在于,该装置进一步包括:
时间记录模块,与所述前缀监听模块相连,用于记录所述前缀监听模块监听到的分配报文中携带的报文发送时间;
维持期判断模块,连接于所述地址记录模块和DAD监听模块之间,并与所述时间记录模块相连,用于在所述DAD监听模块监听到DAD报文时,根据所述时间记录模块记录的报文发送时间,判断DAD报文被监听到的时间是否超过预设的监听维持期;将没有超过所述监听维持期的DAD报文发送给所述地址记录模块,丢弃超过所述监听维持期的DAD报文。
14.根据权利要求9~11中任一项权利要求所述的邻居表保护装置,其特征在于,该装置进一步包括:
地址维护模块,与所述地址记录模块相连,用于根据预先设置的地址配置老化期,在所述记录地址配置信息的时间超过地址配置老化期时,将所述地址配置信息的记录从所述地址记录模块中删除。
CN2009100861283A 2009-06-02 2009-06-02 IPv6网络中邻居表保护方法及邻居表保护装置 Active CN101577675B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100861283A CN101577675B (zh) 2009-06-02 2009-06-02 IPv6网络中邻居表保护方法及邻居表保护装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100861283A CN101577675B (zh) 2009-06-02 2009-06-02 IPv6网络中邻居表保护方法及邻居表保护装置

Publications (2)

Publication Number Publication Date
CN101577675A CN101577675A (zh) 2009-11-11
CN101577675B true CN101577675B (zh) 2011-11-09

Family

ID=41272466

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100861283A Active CN101577675B (zh) 2009-06-02 2009-06-02 IPv6网络中邻居表保护方法及邻居表保护装置

Country Status (1)

Country Link
CN (1) CN101577675B (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102299974B (zh) * 2010-06-25 2016-02-24 中兴通讯股份有限公司 一种实现IPv6前缀分配的方法和装置
CN101888387B (zh) * 2010-07-14 2014-09-10 福建星网锐捷网络有限公司 重新建立绑定表项的方法、装置及侦听设备
CN102143050A (zh) * 2010-09-29 2011-08-03 华为终端有限公司 用于IPv6网络的网络连接处理方法及其装置
CN102082801B (zh) * 2011-02-16 2014-10-22 中兴通讯股份有限公司 一种防止IPv6地址重复检测攻击的方法及系统
WO2013020283A1 (zh) * 2011-08-10 2013-02-14 华为技术有限公司 处理地址的方法、数据网关和系统
CN103384213B (zh) 2011-12-31 2017-07-21 华为数字技术(成都)有限公司 一种检测规则优化配置方法及设备
CN103685593B (zh) * 2012-09-20 2017-04-19 清华大学 一种IPv6地址的配置方法
CN102984288B (zh) * 2012-11-19 2017-11-17 中兴通讯股份有限公司 一种自动管理IPv6地址冲突的方法及系统
CN103347102B (zh) * 2013-06-28 2016-08-10 华为技术有限公司 冲突地址检测报文的识别方法及装置
CN104243454A (zh) * 2014-08-28 2014-12-24 杭州华三通信技术有限公司 一种IPv6报文过滤方法和设备
CN105516375A (zh) * 2014-09-24 2016-04-20 中兴通讯股份有限公司 一种IPv6地址管理方法、装置、终端和网关设备
CN104283882B (zh) * 2014-10-11 2018-01-12 武汉烽火网络有限责任公司 一种路由器的智能安全防护方法
CN107294961A (zh) * 2017-06-09 2017-10-24 华南理工大学 一种用户真实信息安全认证系统和方法
CN110061914B (zh) * 2019-04-29 2022-06-21 新华三技术有限公司 一种报文转发方法及装置
CN110401646B (zh) * 2019-07-15 2020-05-05 中国人民解放军战略支援部队信息工程大学 IPv6安全邻居发现过渡环境中CGA参数探测方法及装置
JP7376289B2 (ja) * 2019-09-10 2023-11-08 アズビル株式会社 アドレス監視装置およびアドレス監視方法
CN110611678B (zh) * 2019-09-24 2022-05-20 锐捷网络股份有限公司 一种识别报文的方法及接入网设备
CN112492058A (zh) * 2020-11-16 2021-03-12 赛尔网络有限公司 真实源IPv6地址的分配方法、系统、电子设备和介质
CN113542211B (zh) * 2021-05-17 2023-10-20 新华三信息安全技术有限公司 一种信息处理方法及装置

Also Published As

Publication number Publication date
CN101577675A (zh) 2009-11-11

Similar Documents

Publication Publication Date Title
CN101577675B (zh) IPv6网络中邻居表保护方法及邻居表保护装置
CN101572712B (zh) 一种防止伪造报文攻击的方法和中继设备
CN101692674B (zh) 双栈接入的方法和设备
CN102771149B (zh) 用于管理IPv6地址和访问策略的系统和方法
CN101534329B (zh) 一种ip地址分配方法及系统
CN101552783B (zh) 一种防止伪造报文攻击的方法和装置
CN101179583B (zh) 一种防止用户假冒上网的方法及设备
CN101827138B (zh) 一种优化的ipv6过滤规则处理方法和设备
CN101753458B (zh) 一种nd邻居表项的处理方法及装置
CN101582888B (zh) 一种创建邻居发现表项的方法和一种服务器
EP2780815B1 (en) Selective ip address allocation for probes that do not have assigned ip addresses
CN101883090A (zh) 一种客户端的接入方法、设备及系统
CN101217482A (zh) 一种穿越nat下发策略的方法和一种通信装置
CN102594818A (zh) 网络访问权限控制方法、装置及相关设备
CN101820432A (zh) 无状态地址配置的安全控制方法及装置
WO2005076851A2 (en) A method and system for creating, deleting, and maintaining logical networks
CN102014142A (zh) 一种源地址验证方法和系统
CN102340509A (zh) 对双栈用户进行访问控制的方法和设备
CN103414641B (zh) 邻居表项释放方法、装置和网络设备
CN101562576B (zh) 一种路由发布方法和设备
CN101577723B (zh) 一种防止邻居发现协议报文攻击的方法及装置
CN101179515B (zh) 一种抑制黑洞路由的方法和装置
CN112910863A (zh) 一种网络溯源方法及系统
CN101909007B (zh) 绑定表项生成方法、装置及网络设备
CN104349511A (zh) Wlan网络中ap地址的分配方法与装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Patentee after: Xinhua three Technology Co., Ltd.

Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base

Patentee before: Huasan Communication Technology Co., Ltd.