一种nd邻居表项的处理方法及装置的制作方法

文档序号:7723443阅读:209来源:国知局

专利名称::一种nd邻居表项的处理方法及装置的制作方法
技术领域
:本发明涉及通信
技术领域
,尤其涉及一种ND邻居表项的处理方法及装置。
背景技术
:ND(NeighborDiscovery,邻居发现协议)是IPv6协议的一个基本组成部分,实现了在IPv4中的ARP(AddressResolutionProtocol,地址解析协议)、ICMP(InternetControlMessageProtocol,Internet控制报文协议)中的路由器发现部分功能、重定向协议的所有功能及邻居不可达检测机制。其中,为了保证和其他主机的正常通信,在网络设备的每个接口上都需要保存ND的邻居信息,以通过使用该ND的邻居信息完成和其他主机的正常通信。在ND技术中,邻居表项资源需要保存最近发送过流量的一系列邻居表项,其中,邻居表项资源中的邻居单播IP地址能够唯一确定邻居,同时一系列的邻居表项中还包括邻居的链路层地址、IsRouter标志位(用于标识邻居是主机还是路由器)、排队报文指示器(用于指示等待地址解析完成的排队报文)等信息,以及邻居不可达检测算法的信息(例如,可达性信息、未被应答的探针报文个数、下一个邻居不可达检测时间发生的时间等信息)。具体的,邻居表项的状态机包含5种状态,分别为1、未完成(INCOMPLETE)状态,地址解析工作正在进行,但是还没有获得链路层地址。2、可达(REACHABLE)状态,最近可达,例如,几十秒钟之前邻居已经可达。3、陈旧(STALE)状态,邻居可达性未知,但是如果没有报文发送到该邻居,则主机不会尝试验证该邻居的可达性。4、延迟(DELAY)状态,邻居可达性未知,但是最近有流量发送到该邻居,延迟发送探针比马上发送更好一些,从而保证给上层协议一个提供可达性确认的机会。5、探测(PR0BE)状态,邻居可达性未知,正在发送邻居请求探针以确认可达性。如图1所示,为一种ND邻居学习机制状态迁移示意图,在图1中,Stale状态到Reachable状态、以及Delay状态到Reachable状态的箭头表示由上层协议决定的状态转换,只要传输数据仍在进行当中,相关的邻居表项将会始终保持Reachable状态;同时,每当上层协议表示要开始传输数据时,邻居表项中的可达时间就会被刷新,并转到Reachable状态。Incomplete状态到Stale状态、以及Empty(空闲)状态到Stale状态的箭头表示RS(RouterRequest,足各由器i青求)/RA(RouterAdvertisement,足各由器通告)矛艮文决定的状态转换;当在Empty状态或者Incomplete状态时,节点只需要收到RS或者RA报文,就会转到Stale状态。图1中其他状态之间的箭头表示NS/NA(NeighborRequest/NeighborAdvertisement,邻居请求/邻居公告)报文导致的状态变化。具体的,相关的状态迁移过程包括1、开始邻居表项处在Empty状态,节点A要访问节点B时,节点A首先发送请求节点的组播NS报文到节点B,并在本地生成邻居节点B的邻居表项,将状态迁移为Incomplete状态。2、如果节点B向节点A返回邻居通告报文NA,则在节点A中节点B对应的邻居表项变为Reachable状态;否则,10秒后节点B对应的邻居表项变为Empty状态。3、节点B在收到NS报文后,如果报文的选项中包含了源链路地址选项时,节点B将创建关于节点A的邻居表项,并将节点A对应的邻居表项变为Stale状态;如果该节点A对应的邻居表项已经存在时,则将相应的状态变为Stale状态。4、节点A中节点B对应的邻居表项的Reachable状态在经过可达时间(例如,缺省时的30秒)耗尽,或者收到节点B的非请求NA,且链路层地址不同时,将变为Stale状态,并且一直保持该状态,直到有数据包发送为止。5、在Stale状态下如果有报文发送时,则需要验证可达性,并在发送NS请求之前,为等待上层协议提供可达性确认,变为Delay状态。6、Delay状态下发送NS请求,在经过一定的时间(例如,缺省时的5秒)后,如果没有应答信息,则变为Probe状态;如果有NA应答,则变为Reachable状态。7、在Probe状态下,按照RA报文的字段RetransTimer(或者主机配置值)发送单播邻居请求报文NS,如果无应答,则删除对应的邻居表项,并进入Empty状态;如果有应答,则进入Reachable状态。需要说明的是,在上述状态迁移的过程中,邻居表项在任何时刻,都可以从其他状态进入到Empty状态(图中没有画出)。但是,在上述ND邻居学习机制状态迁移的过程中,至少存在以下问题1、邻居表项不能有效地老化,当一个用户正常学习邻居表项,且一段时间内都没有流量后,将会进入到Stale状态,Stale状态下的邻居表项如果无流量触发,则始终存在,一直不会被删除。上述操作方式虽然减少了邻居表项反复添加和删除的操作,但是极大地浪费了邻居表项的存贮空间,当累积下去时,网络中继设备很容易出现邻居表项资源被占满,进而正常流量无法通讯的问题。2、可达性检测机制存在一定的缺陷,当一个邻居表项在正常学习成功后,将到达Reachable状态,而为了保证发送报文的目的都是可达的,邻居表项增加了可达性检测机制,即Reachable状态只保持30秒,在30秒后该邻居表项将无条件的进入到Stale状态,而对于无流量的邻居表项,该邻居表项将会始终处于Stale状态,不进行处理;对于有流量的邻居表项,需要再从Stale状态迁移到Delay状态,然后到Probe状态进行可达性探测。在进行可达性检测的过程中,需要主动发送NS报文到目的地址,如果有回应报文,则证明目的地址可达,该邻居表项迁移到Reachable状态;如果没有回应报文,则证明该邻居表项对应的目的地址已经不可达了,直接将该邻居表项删除。而且现有技术中,可达性检测机制对于有流量的邻居表项需要每30秒探测一次,大大的增加了探测的频率,从而导致网络中的冗余流量过多,而对于没有流量的邻居表项将始终不进行处理,又大大的浪费了邻居表项的资源。63、现有的实现机制存在发送到黑洞目的地址的问题,当一个用户正常学习邻居表项,且一段时间内没有流量后,将保持在Stale状态;如果此时网络设备需要向该邻居表项对应的目的地址发送报文时,则需要先探测该邻居表项对应的目的地址是否可达,而由于进行可达性检测需要进行状态迁移并等待探测回应报文,等待时间将比较长,为了保证报文可以及时地发送,在Stale状态时,报文将直接被发送出去,即报文发送和可达性探测是同步进行的。如果该邻居表项此时已经不可达,则直接发送的报文就会被发送到一个不可达的黑洞地址,直到邻居表项重新学习后,后续报文才能被正常发送到目的地址。可以看出,在邻居表项有效更新之前发送的报文都有可能发送到不可达的目的地址,继而会造成流量中断的问题,即可达性检测机制并没有有效地解决邻居表项更新问题。为了解决上述问题,现有技术中有两种处理方式,分别是为Stale状态的邻居表项增加一个老化机制,和对Reachable状态的存留时间进行调节。在采用为Stale状态的邻居表项增加一个老化机制解决上述问题时,需要增加一个老化定时器,并定期将到Stale状态的邻居表项进行老化,如果Stale状态的邻居表项老化时间到达后,则直接将该邻居表项删除,从而保证Stale状态的邻居表项不会长时间占用ND邻居表项资源而不释放。在采用对Reachable状态的存留时间进行调节来解决上述问题时,Reachable状态存留的时间长短将决定邻居表项对应的目的地址的可达性检测的探测周期,如果该周期过短,则网络中的探测流量过多,将大大占用网络带宽资源,而增加了该调节功能后,可以根据用户网络状况调整可达性检测的周期,当调整的周期较大时,可以避免频繁的探测过程。在通过使用为Stale状态的邻居表项增加一个老化机制时,对所有用户的老化时间都是一定的,没有区分用户的需要,并进行区别的设置。而且老化前没有探测就直接删除了,对于有流量通讯的邻居表项会造成定期的流量中断。在通过使用对Reachable状态的存留时间进行调节时,还是会存在周期性的探测过程,并没有区分该邻居表项是否需要探测,而且邻居表项对应的用户信息有更新时(例如,用户邻居表项对应的端口和所属的虚拟局域网VLAN发生变化)也不能及时更新对应的ND邻居表项。
发明内容本发明提供了一种ND邻居表项的处理方法及装置,以优化ND邻居表项的学习机制。本发明提供了一种邻居发现协议ND邻居表项的处理方法,应用于包括用户设备、网络设备和授权中心的系统中,所述方法包括以下步骤所述授权中心为所述用户设备分配ND老化时间和/或优先级,并将为所述用户设备分配的所述ND老化时间和/或优先级下发给所述网络设备;所述网络设备判断所述用户设备对应的ND邻居表项是否存在;当判断结果为所述用户设备对应的ND邻居表项存在时,所述网络设备根据为所述用户设备分配的所述ND老化时间和/或优先级更新所述网络设备上存储的ND邻居表项资源。优选的,将为所述用户设备分配的所述ND老化时间和/或优先级下发给所述网络设备之后,还包括所述网络设备保存为所述用户设备分配ND老化时间和为所述用户设备分配的所述优先级。优选的,所述网络设备根据为所述用户设备分配的所述ND老化时间和/或优先级更新所述网络设备上存储的ND邻居表项资源具体包括所述网络设备使用为所述用户设备分配的所述ND老化时间和/或优先级替换所述网络设备上存储的所述用户设备对应的ND邻居表项的ND老化时间和/或优先级。优选的,当所述用户设备有流量发送到所述网络设备时,所述方法还包括所述网络设备判断所述用户设备对应的ND邻居表项是否存在;当判断结果为所述用户设备对应的ND邻居表项存在时,所述网络设备通过使用所述用户设备对应的ND邻居表项对所述用户设备的流量进行处理;当判断结果为所述用户设备对应的ND邻居表项不存在时,所述网络设备判断所述网络设备是否保存有所述用户设备对应的优先级;当判断结果为所述网络设备中保存有所述用户设备对应的优先级时,所述网络设备根据所述用户设备对应的优先级建立所述用户设备对应的ND邻居表项。优选的,所述网络设备根据所述用户设备对应的优先级建立所述用户设备对应的ND邻居表项具体包括所述网络设备判断当前ND邻居表项资源是否已经学习满;当所述ND邻居表项资源没有学习满时,所述网络设备根据为所述用户设备分配的所述优先级为所述用户设备建立对应的ND邻居表项;当所述ND邻居表项资源已经学习满时,所述网络设备判断自身存储的所有ND邻居表项对应的优先级中是否有低于为所述用户设备分配的所述优先级;如果有,删除低于为所述用户设备分配的所述优先级的所有优先级中最低优先级所对应的ND邻居表项,并根据为所述用户设备分配的所述优先级为所述用户设备建立对应的ND邻居表项;否则,无法为所述用户设备建立对应的ND邻居表项。优选的,所述授权中心具体为远程用户拨入认证RADIUS服务器和/或支持IPv6的动态主机配置协议DHCPV6服务器,所述授权中心为所述RADIUS服务器时,当所述用户设备通过所述RADIUS服务器的授权认证时,所述RADIUS服务器将为所述用户设备分配的所述ND老化时间下发给所述网络设备,并将为所述用户设备分配的所述优先级下发给所述网络设备;所述授权中心为DHCPV6服务器时,当所述用户设备通过所述DHCPV6服务器动态获取IPv6地址时,所述DHCPV6服务器将为所述用户设备分配的所述ND老化时间下发给所述网络设备,并将为所述用户设备分配的所述优先级下发给所述网络设备;当所述授权中心为所述RADIUS服务器和所述DHCPV6服务器时,根据预设策略选择的所述RADIUS服务器或者所述DHCPV6服务器为所述用户设备分配的所述ND老化时间下发给所述网络设备,并将为所述用户设备分配的所述优先级下发给所述网络设备。优选的,所述网络设备根据为所述用户设备分配的所述ND老化时间和/或优先级更新所述网络设备上存储的ND邻居表项资源,之后还包括所述网络设备在老化时间到期前预设的时间内对所述用户设备进行可达性检测,如果有回应报文,则更新所述用户设备对应的所述ND邻居表项;如果无回应报文,则删除所述用户设备对应的所述ND邻居表项;和/或,当所述用户设备对应的媒体访问控制MAC表项发生变化需要更新时,所述网络设备确定需要更新的所述用户设备对应的MAC表项,并根据所述用户设备对应的MAC表项的更新结果更新所述网络设备上的所述用户设备对应的ND邻居表项。本发明提供了一种授权中心,应用于包括用户设备、网络设备和授权中心的系统中,所述授权中心包括分配模块,用于为所述用户设备分配ND老化时间和/或优先级;发送模块,与所述分配模块连接,用于将为所述用户设备分配的所述ND老化时间和/或优先级下发给所述网络设备;由所述网络设备在所述用户设备对应的ND邻居表项存在时,根据为所述用户设备分配的所述ND老化时间和/或优先级更新所述网络设备上存储的ND邻居表项资源。本发明提供了一种ND邻居表项的处理装置,应用于包括用户设备、网络设备和授权中心的系统中,所述ND邻居表项的处理装置作为所述网络设备,包括接收模块,用于接收所述授权中心为所述用户设备分配并下发的所述用户设备的ND老化时间和/或优先级;判断模块,与所述接收模块连接,用于判断所述用户设备对应的ND邻居表项是否存在;处理模块,与所述接收模块和判断模块连接,用于当判断结果为所述用户设备对应的ND邻居表项存在时,根据所述用户设备的ND老化时间和/或优先级更新所述网络设备上存储的ND邻居表项资源。优选的,还包括存储模块,用于保存为所述用户设备分配ND老化时间和为所述用户设备分配的所述优先级。优选的,所述处理模块具体用于,使用为所述用户设备分配的所述ND老化时间和/或优先级替换所述网络设备上存储的所述用户设备对应的ND邻居表项的ND老化时间和/或优先级。优选的,所述用户设备有流量发送到所述网络设备时,所述处理模块还用于,判断所述用户设备对应的ND邻居表项是否存在;当判断结果为所述用户设备对应的ND邻居表项存在时,通过使用所述用户设备对应的ND邻居表项对所述用户设备的流量进行处理;当判断结果为所述用户设备对应的ND邻居表项不存在时,判断所述网络设备是否保存有所述用户设备对应的优先级;当判断结果为所述网络设备中保存有所述用户设备对应的优先级时,根据所述用户设备对应的优先级建立所述用户设备对应的ND邻居表项。优选的,所述处理模块还用于,判断当前ND邻居表项资源是否已经学习满;当所述ND邻居表项资源没有学习满时,根据为所述用户设备分配的所述优先级为所述用户设备建立对应的ND邻居表项;当所述ND邻居表项资源已经学习满时,判断自身存储的所有否有低于为所述用户设备分配的所述优先级;如果有,删除低于为所述用户设备分配的所述优先级的所有优先级中最低优先级所对应的ND邻居表项,并根据为所述用户设备分配的所述优先级为所述用户设备建立对应的ND邻居表项;否则,无法为所述用户设备建立对应的ND邻居表项。优选的,所述处理模块,还用于在老化时间到期前预设的时间内对所述用户设备进行可达性检测,如果有回应报文,则更新所述用户设备对应的所述ND邻居表项;如果无回应报文,则删除所述用户设备对应的所述ND邻居表项;和/或,当所述用户设备对应的MAC表项发生变化需要更新时,确定需要更新的所述用户设备对应的MAC表项,并根据所述用户设备对应的MAC表项的更新结果更新所述网络设备上的所述用户设备对应的ND邻居表项。与现有技术相比,本发明具有以下优点本发明中,在网络设备上通过引入授权中心实现了ND邻居表项老化时间和优先级的动态下发,并根据下发的优先级来实现用户的分级管理,有效的优化了ND邻居表项的老化机制,提高了ND邻居表项的资源使用效率。图1是现有技术中ND邻居学习机制状态迁移示意图;图2为本发明中提出的一种ND邻居表项的处理方法流程图;图3为本发明一种应用场景下提出的一种ND邻居表项的处理方法流程图;图4为对应图3应用场景扩展RADIUS属性中封装内容的示意图;图5为本发明另一种应用场景下提出的一种ND邻居表项的处理方法流程图;图6和图7为对应图5应用场景Optionll和Option7的具体格式及说明示意图;图8为本发明提出的一种应用场景示意图;图9为对应图8应用场景所提出的ND邻居表项的处理方法流程图;图10为对应图8应用场景所提出的另一种ND邻居表项的处理方法流程图;图11为本发明中提出的一种授权中心的结构示意图;图12为本发明中提出的一种ND邻居表项的处理装置的结构示意图。具体实施例方式本发明的核心思想为在进行ND邻居表项学习的过程中,通过引入授权中心,由授权中心根据预设的策略对每个用户动态分配ND老化时间和优先级,不同的用户可以分配不同的ND老化时间和优先级,并根据该ND老化时间和优先级进行ND邻居表项学习机制的优化。具体地,ND邻居表项老化时间为每个用户动态分配,实现了用户的动态分级管理。而且通过为ND邻居表项设置优先级,高优先级的ND邻居表项可以抢占低优先级的ND邻居表项,使得有限的ND邻居表项资源可以始终为较高级别的用户服务,充分保证了较高级别用户的正常使用。通过对原有可达性探测机制进行优化,减少了冗余的探测报文,提高了ND邻居表项使用效率,有效保证了网络流量的稳定性。并且通过增加MAC表项与ND邻居表项的联动机制,可以有效更新ND邻居表项迁移信息,保证通讯的正确性。10如图2所示,本发明提出了一种ND邻居表项的处理方法,应用于包括用户设备、网络设备和授权中心的系统中,所述方法包括以下步骤步骤201,所述授权中心为所述用户设备分配ND老化时间和/或优先级,并将为所述用户设备分配的所述ND老化时间和/或优先级下发给所述网络设备。步骤202,所述网络设备判断所述用户设备对应的ND邻居表项是否存在。当判断结果为所述用户设备对应的ND邻居表项存在时,转到步骤203。步骤203,所述网络设备根据为所述用户设备分配的所述ND老化时间和/或优先级更新所述网络设备上存储的ND邻居表项资源。基于上述思想,本发明在一种应用场景下提出了一种ND邻居表项的处理方法,如图3所示,包括以下步骤步骤301,授权中心对每个用户的Stale状态下的ND邻居表项进行动态分级老化处理,即为不同用户的ND邻居表项分配不同的ND老化时间和优先级。本发明中,通过引入一个动态授权机制为不同用户的ND邻居表项分配不同的ND老化时间和优先级,而网络设备可以根据授权中心动态下发的不同用户所对应的ND老化时间和优先级,对用户实现动态分级的老化管理。其中,在授权中心上,管理员可以根据设定的用户的级别为不同用户配置不同的ND邻居表项老化时间,从而保证高级别的用户老化时间长,低级别的用户老化时间短,即有效保证了较高级别的用户可以更多的使用ND邻居表项资源。具体地,与目前实现中ND邻居表项的老化时间一定,所有用户的老化时间相同,而本发明中,通过引入一个授权中心,并通过该授权中心动态下发每个用户的ND邻居表项老化时间和用户的优先级,从而对用户进行区分,继而对用户进行分级管理。该授权中心可以是RADIUS(RemoteAuthenticationDialInUserService,远程用户拨入认证服务)SERVER(服务器),也可以是DHCPV6(DynamicHostConfigurationProtocolforIPv6,支持IPv6的动态主机配置协议)SERVER。当然,在实际应用中,该授权中心还可以为其他的服务器,本发明中不再详加说明。本应用场景下,以RADIUS服务器为例进行说明,其中,该RADIUS服务器可以根据实际的需要,为不同的用户设置不同的用户级别,例如,当用户A的重要性很高时,可以为该用户设置很高的级别,继而使得用户A的ND邻居表项的老化时间很长,从而保证重要用户A的ND邻居表项能够长时间使用。其中,级别越低的用户老化时间越短,级别越高的用户老化时间越长。步骤302,RADIUS服务器动态下发ND邻居表项的ND老化时间和优先级。为了充分有效地使用ND邻居表项,RADIUS服务器将根据用户的级别和权限,下发该用户的ND邻居表项的ND老化时间和优先级,并通过扩展RADIUS属性来实现该下发过程,当然,实际应用中,并不局限于该实现方式,RADIUS服务器可以根据自身需要任意选择实现方式,本发明中不再详细说明。具体的,扩展RADIUS属性的一种具体格式及说明如表1所示。其中,表1中的内容还可以根据实际的需要进行调整和修改,在此不再赘述。表1,扩展属性RD_UserNd_Option说明11<table>tableseeoriginaldocumentpage12</column></row><table>例如,当允许用户的ND邻居表项老化时间为60分钟时,将优先级设置为10,即属性内容为OxOOOOOElO和0x0000000A,扩展属性中封装的内容如图4所示。其中,OxOOOOOElO中的EIO为3600s,即60分钟,而0x0000000A为IO,是优先级值。需要说明的是,该ND邻居表项的老化时间和优先级均是根据实际需要任意选择的,例如,RADIUS服务器可以最大支持165535秒的老化时间设置,而本发明中为了方便描述,是以老化时间为1到60分钟为例进行说明的。本步骤中,RADIUS服务器将根据用户级别的不同,对不同的用户下发不同的参数信息(例如,ND老化时间和优先级),即通过扩展RADIUS属性携带不同用户的ND老化时间和优先级,并发送给网络设备,由网络设备存储该用户所对应的ND老化时间和优先级,并根据该用户所对应的ND老化时间和优先级进行后续的相关处理过程。步骤303,网络设备根据RADIUS服务器下发的用户所对应的ND老化时间和优先级设置用户所对应的ND邻居表项。具体地,当网络设备接收到RADIUS服务器下发的用户所对应的ND老化时间和优先级后,如果该网络设备中有该用户所对应的ND邻居表项,则需要将该ND老化时间和优先级填充到用户所对应的ND邻居表项中。即网络设备将根据该用户所对应的ND老化时间填充本节点的用户所对应的ND邻居表项的老化时间,并将该用户所对应的优先级填充本节点的用户所对应的ND邻居表项的优先级。例如,当RADIUS服务器下发的扩展RADIUS属性为图4所示时,则ND老化时间为60分钟,网络设备将自身的用户所对应的ND邻居表项的老化时间填充为60分钟。其中,在实际应用中,该老化时间的范围可以根据实际的需要进行调整,例如,本发明中将ND邻居表项的老化时间填充为1到60分钟。如图5所示,以下以授权中心为DHCPV6服务器对上述ND邻居表项的处理方法进行进一步的说明,包括以下步骤步骤501,DHCPV6服务器对每个用户的Stale状态下的ND邻居表项进行动态分级老化处理。步骤502,DHCPV6服务器动态下发ND邻居表项的ND老化时间和优先级。为了充分有效地使用ND邻居表项资源,DHCPV6服务器根据用户的级别和权限,下发该用户的ND邻居表项的ND老化时间和优先级,并通过DHCPV6Optionll和Option7来实现该下发过程,当然,实际应用中,并不局限于该实现方式,DHCPV6服务器可以根据自身需要任意选择实现方式,本发明中不再详细说明。具体地,DHCPV6的Optionll和Option7的具体格式及说明分别如图6和图7所示。其中,Optionll用来存放DHCPV6服务器下发的ND邻居表项的ND老化时间,Option7用来存放DHCPV6服务器下发的优先级。因此,当网络设备在通过DHCPV6服务器动态获取IPV6地址后,即可以同时获取到上述的Optionll信息和0ption7信息,继而获取到ND老化时间和优先级信息。步骤503,网络设备根据DHCPV6服务器下发的用户所对应的ND老化时间和优先级设置用户所对应的ND邻居表项。需要说明的是,在根据授权中心(RADIUS服务器和DHCPV6服务器)下发的用户所对应的ND老化时间和优先级对用户所对应的ND邻居表项进行处理后,本发明中还需要对原有的可达性检测机制进行优化;该优化过程具体包括(1)对Stale状态的ND邻居表项所对应的用户不再进行可达性检测,从而避免了对可达ND邻居表项对应的用户的冗余探测,并减少网络冗余报文。(2)对Stale状态的用户所对应的ND邻居表项在老化时间到期(即老化)前预设的时间(例如,5秒)进行可达性检测,如果有回应报文,则更新该用户所对应的ND邻居表项及老化时间;如果无回应报文,则将该用户所对应的ND邻居表项删除。从而保证了持续通讯的流量不会因定期老化删除而造成流量中断。(3)增加ND邻居表项与MAC表项联动机制。如果用户所对应的MAC表项发生同一MAC地址迁移的情况,则通知该用户所对应的ND邻居表项,此时,该用户所对应的ND邻居表项也随之修改对应的内容,从而有效地防止了因用户迁移而造成的流量中断。为了更加清楚的阐述本发明提供的技术方案,以下结合图8所示的应用场景对本发明提出的ND邻居表项的处理方法进行进一步的说明。其中,在图8中,网络设备可以为接入设备或网关设备,并上行连接到RADIUS服务器和DHCPV6服务器,下行连接到用户设备(即PC1、PC2和PC3)。而用户设备需要通过该网络设备连接到上游网络。初始配置时,需要在该网络设备上使能802.IX功能,而用户设备需要通过该网络设备进行802.IX认证,其中,PC1和PC2为静态配置IPV6地址,PC3为动态获取IPV6地址。各个用户设备可以根据自身的使用情况和组网来选择不同的授权中心。可以看出,根据使用情况和组网情况,由于PC1和PC2为静态配置IPV6地址,即不能将DHCPV6服务器作为授权中心,需要使用RADIUS服务器作为授权中心,而PC3为动态获取IPV6地址,能够将DHCPV6服务器作为授权中心。实际应用中,当RADIUS服务器和DHCPV6服务器同时存在时,可以根据实际的需要选择作为授权中心的服务器,例如,对于上述的PC3,需要从DHCPV6服务器动态获取IPV6地址,并需要在RADIUS服务器上进行认证和授权,此时,可以选择RADIUS服务器作为该PC3的授权中心,也可以选择DHCPV6服务器作为该PC3的授权中心,本发明中以选择DHCPV6服务器作为该PC3的授权中心为例进行说明。如图9所示,为PC1和PC2使用RADIUS服务器作为授权中心的情况,包括以下步骤步骤901,PC1和PC2静态配置IPV6地址,并配置成功。步骤902,PC1和PC2通过网络设备进行802.1X认证,并认证成功。其中,由于网络设备上已经使能了802.IX功能,即可以对PC1和PC2进行802.IX认证的相关过程,该过程为现有技术,本发明中不再赘述。步骤903,PCI和PC2在RADIUS服务器进行802.IX认证时,网络设备从RADIUS服务器下发的PCI和PC2的信息中获取ND邻居表项的ND老化时间及用户优先级。当然,在实际应用中,并不局限于802.IX认证过程获取ND老化时间及用户优先级,对于其他的认证方式,也可以获取ND老化时间及用户优先级,并实现本发明中提出的技术方案,本发明中不再详加赘述。具体地,在进行802.IX的认证过程中,RADIUS服务器将通过扩展RADIUS属性将ND老化时间和优先级信息发送给该网络设备,其中,该ND老化时间和优先级信息为RADIUS服务器根据实际需要任意设置的。例如,RADIUS服务器根据实际情况,设置PCI的ND老化时间为60分钟,优先级为60;设置PC2的ND老化时间为40分钟,优先级为40。而本步骤中,PCI和PC2在进行认证时,该网络设备即可以从RADIUS服务器下发的PCI和PC2的信息中获取到ND老化时间及用户优先级。步骤904,网络设备根据该ND老化时间和优先级更新PCI和PC2所对应的ND邻居表项,并将ND老化时间和优先级保存在自身的用户优先级表中。其中,PC1和PC2的处理方式相同,后续过程中以PCI为例进行说明。具体的,在初始过程中,PCI即会分别向网络设备发送NDNS请求报文,而网络设备将根据该NDNS请求报文建立PCI所对应的ND邻居表项。而此时如果已经没有邻居表项资源时,则无法为PCI建立对应的ND邻居表项。本步骤中,当获取到PCI的ND老化时间和优先级后,如果网络设备上有PCI所对应的ND邻居表项时,则该网络设备可以将老化时间和优先级添加到PCI所对应的ND邻居表项中,并将ND老化时间和优先级保存在自身的用户优先级表中。而如果网络设备上没有PCI所对应的ND邻居表项时,则该网络设备不能将老化时间和优先级添加到PCI所对应的ND邻居表项中,此时,只需要将ND老化时间和优先级保存在自身的用户优先级表中。步骤905,当PCI有流量发送到网络设备时,网络设备判断是否有PCI对应的ND邻居表项是否存在。当判断结果为是时,转到步骤906,否则,转到步骤907。步骤906,网络设备通过使用PCI对应的ND邻居表项对PCI的流量进行处理。步骤907,网络设备从用户优先级表中提取PCI的优先级,并根据该PCI的优先级进行处理。上述过程中,将信息保存在用户优先级表时,在该用户优先级表中保存了PC的MAC地址与ND老化时间及用户优先级的对应信息,如表1所示的一种对应关系。<table>tableseeoriginaldocumentpage14</column></row><table>当PCI有流量发送到网络设备时,该网络设备需要根据PCI的MAC地址从用户优先级表中查找到用户优先级和ND老化时间,并提取到PCI的优先级。此外,上述处理过程具体为网络设备判断当前ND邻居表项资源是否已经学习满;当ND邻居表项资源没有学习满时,网络设备根据为用户分配的优先级为用户建立对应的ND邻居表项;当ND邻居表项资源已经学习满时,网络设备判断自身存储的所有ND邻居表项对应的优先级中是否有低于为用户分配的优先级;如果有,删除低于为用户分配的优先级的所有优先级中最低优先级所对应的ND邻居表项,并根据为用户分配的优先级为用户建立对应的ND邻居表项;否则,无法为用户建立对应的ND邻居表项。综上可以看出,高等级的用户可以抢占低等级用户的ND邻居表项,即在ND邻居表项资源已经满时,则最低优先级的用户的ND邻居表项将被删除,空闲出的ND邻居表项资源用来添加新的优先级高的用户的ND邻居表项,使得高等级的ND邻居表项可以无条件的覆盖低等级的ND邻居表项,而不论该等级用户的ND邻居表项处于什么状态,从而充分保证了有限的ND邻居表项资源下,可以优先满足较高等级用户的使用。另外,如果从用户优先级表中查找用户优先级时,没有找到相关的用户信息,则按默认值来进行填充,即老化时间为5分钟,优先级为0。其中,该老化时间和优先级数值可以根据实际需要进行调整。需要说明的是,在网络设备上,能够存储不同用户的ND邻居表项,而该网络设备能够存储的ND邻居表项数量是一定的,即ND邻居表项资源一定,当ND邻居表项资源已经满时,则说明无法再存储多余的ND邻居表项,而本发明中,通过高等级的用户可以抢占低等级用户的ND邻居表项,从而充分保证了有限的ND邻居表项资源下,可以优先满足较高等级用户的使用。在本发明中,根据实际的需要,该RADIUS服务器可以调整该PCI和PC2的ND老化时间和优先级,在调整过程,根据现有的协议规定,需要将网络设备上该PCI和PC2的ND信息(例如,ND邻居表项和对应的用户优先级表)删除,而且PCI和PC2需要重新到RADIUS服务器进行认证,并重新执行上述步骤中的操作,即当RADIUS服务器将调整后的ND老化时间和优先级下发到网络设备时,网络设备可以根据该调整后的ND老化时间和优先级建立ND邻居表项,该过程本发明中不再详加赘述。如图10所示,为针对图8所示的应用场景,PC3使用DHCPV6服务器作为授权中心的情况,包括以下步骤步骤1001,PC3通过网络设备进行802.IX认证,并认证成功。步骤1002,PC3从DHCPV6服务器动态获取IPV6地址时,网络设备从DHCPV6服务器下发的PC3的信息中获取ND邻居表项的ND老化时间及用户优先级。具体地,在从DHCPV6服务器动态获取IPV6地址的过程中,DHCPV6服务器将通过Optionll和0ption7将ND老化时间和优先级信息发送给该网络设备,其中,该ND老化时间和优先级信息为DHCPV6服务器根据实际需要任意设置的。例如,DHCPV6服务器根据实际情况,设置PC3的ND老化时间为IO分钟,优先级为10。步骤1003,网络设备根据该ND老化时间和优先级更新PCI和PC2所对应的ND邻居表项,并将ND老化时间和优先级保存在自身的用户优先级表中。步骤1004,PC3动态获取IPV6地址成功。步骤1005,当PC3有流量发送到网络设备时,网络设备判断是否有PC3对应的ND邻居表项是否存在。当判断结果为是时,转到步骤1006,否则,转到步骤1007。步骤1006,网络设备通过使用PCI对应的ND邻居表项对PCI的流量进行处理。步骤1007,网络设备从用户优先级表中提取PC3的优先级,并根据该PC1的优先级进行处理。15需要说明的是,在本发明中,根据实际的需要,该DHCPV6服务器可以调整该PC3的ND老化时间和优先级,在调整过程,根据现有的协议规定,需要将网络设备上该PC3的ND信息(例如,ND邻居表项和对应的用户优先级表)删除,而且PC3需要重新进行认证并获取IPV6地址,并重新执行上述步骤中的操作,即当DHCPV6服务器调整后的ND老化时间和优先级下发到网络设备时,网络设备可以根据该调整后的ND老化时间和优先级建立ND邻居表项,该过程本发明中不再详加赘述。可以看出,通过上述图9所示的流程和图10所示的流程,PC1、PC2和PC3均与网络设备建立了正确的ND邻居表项,即PC1、PC2和PC3可以通过网络设备访问网络资源。根据优先级的高低排列,为PCI>PC2>PC3;而且根据ND老化时间的高低排列,同样为PCI>PC2>PC3。由于PC1和PC2的优先级较高,老化时间较长,充分保证了PC1和PC2访问网络的稳定性;而PC3的优先级最低,老化时间最短,可以在需要时,优选释放该PC3的ND邻居表项,从而保证高优先级用户的正常使用。如果在ND邻居表项资源有限的情况下,PC3已经有ND邻居表项了,此时PC1或者PC2需要添加ND邻居表项时,则PC1或者PC2可以覆盖PC3的ND邻居表项,使得优先级高的用户PC1或者PC2可以正常上网,而优先级较低的PC3则要等其他ND邻居表项资源释放后才可以重新使用。如果经过一段时间后,PC1、PC2和PC3都没有流量通讯,则ND邻居表项会对上述三个用户分别进行老化处理,即在到达老化时间前5秒(可达性检测对应的时间)时,向对应的PC发送NDNS报文来进行探测,如果有回应,则说明对应的PC仍然存在,不对该PC的ND邻居表项进行老化,并重新更新老化时间,以保证用户通讯的稳定性和正确性;而如果没有回应,则删除该PC对应的ND邻居表项。如果有一个移动PC4从房间1移动到了房间2,并需要访问网络时,则该PC4对应的MAC表项中的端口将发生变化,该PC4对应网络设备的ND邻居表项也需要从房间1连接的端口迁移到房间2连接的端口。此时,由于有PC4的流量触发,网络设备的MAC表项需要进行更新,当MAC表项信息发生变化之后,需要通知ND邻居表项,并由网络设备更新本地的ND邻居表项,从而保证ND邻居表项的正确性,继而可以有效的保证移动PC4正常访问网络。如图11所示,本发明提出了一种授权中心,应用于包括用户设备、网络设备和授权中心的系统中,所述授权中心包括分配模块1110,用于为所述用户设备分配ND老化时间和/或优先级;发送模块1120,与所述分配模块1110连接,用于为所述用户设备分配的所述ND老化时间和/或优先级下发给所述网络设备;由所述网络设备在所述用户设备对应的ND邻居表项存在时,根据为所述用户设备分配的所述ND老化时间和/或优先级更新所述网络设备上存储的ND邻居表项资源。如图12所示,本发明提出了一种ND邻居表项的处理装置,应用于包括用户设备、网络设备和授权中心的系统中,所述ND邻居表项的处理装置作为所述网络设备,包括接收模块1210,用于接收所述授权中心为所述用户设备分配并下发的所述用户设备的ND老化时间和/或优先级;判断模块1220,与所述接收模块1210连接,用于判断所述用户设备对应的ND邻居表项是否存在;处理模块1230,与所述接收模块1210和判断模块1220连接,用于当判断结果为所述用户设备对应的ND邻居表项存在时,根据所述用户设备的ND老化时间和/或优先级更新所述网络设备上存储的ND邻居表项资源。其中,所述处理模块1230具体用于使用为所述用户设备分配的所述ND老化时间和/或优先级替换所述网络设备上存储的所述用户设备对应的ND邻居表项的ND老化时间和/或优先级。存储模块1240,用于保存为所述用户设备分配ND老化时间和为所述用户设备分配的所述优先级。当所述用户设备有流量发送到所述网络设备时,所述处理模块1220还用于判断所述用户设备对应的ND邻居表项是否存在;当判断结果为所述用户设备对应的ND邻居表项存在时,通过使用所述用户设备对应的ND邻居表项对所述用户设备的流量进行处理;当判断结果为所述用户设备对应的ND邻居表项不存在时,判断所述网络设备是否保存有所述用户设备对应的优先级;当判断结果为所述网络设备中保存有所述用户设备对应的优先级时,根据所述用户设备对应的优先级建立所述用户设备对应的ND邻居表项。所述处理模块1230还用于判断当前ND邻居表项资源是否已经学习满;当所述ND邻居表项资源没有学习满时,根据为所述用户设备分配的所述优先级为所述用户设备建立对应的ND邻居表项;当所述ND邻居表项资源已经学习满时,判断自身存储的所有ND邻居表项对应的优先级中是否有低于为所述用户设备分配的所述优先级;如果有,删除低于为所述用户设备分配的所述优先级的所有优先级中最低优先级所对应的ND邻居表项,并根据为所述用户设备分配的所述优先级为所述用户设备建立对应的ND邻居表项;否则,无法为所述用户设备建立对应的ND邻居表项。所述处理模块1220还用于在老化时间到期前预设的时间内对所述用户设备进行可达性检测,如果有回应报文,则更新所述用户设备对应的所述ND邻居表项;如果无回应报文,则删除所述用户设备对应的所述ND邻居表项;和/或,当所述用户设备对应的MAC表项发生变化需要更新时,确定需要更新的所述用户设备对应的MAC表项,并根据所述用户设备对应的MAC表项的更新结果更新所述网络设备上的所述用户设备对应的ND邻居表项。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。上述本发明序号仅仅为了描述,不代表实施例的优劣。以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。1权利要求一种邻居发现协议ND邻居表项的处理方法,应用于包括用户设备、网络设备和授权中心的系统中,其特征在于,所述方法包括以下步骤所述授权中心为所述用户设备分配ND老化时间和/或优先级,并将为所述用户设备分配的所述ND老化时间和/或优先级下发给所述网络设备;所述网络设备判断所述用户设备对应的ND邻居表项是否存在;当判断结果为所述用户设备对应的ND邻居表项存在时,所述网络设备根据为所述用户设备分配的所述ND老化时间和/或优先级更新所述网络设备上存储的ND邻居表项资源。2.如权利要求1所述的方法,其特征在于,将为所述用户设备分配的所述ND老化时间和/或优先级下发给所述网络设备之后,还包括所述网络设备保存为所述用户设备分配ND老化时间和为所述用户设备分配的所述优先级。3.如权利要求1所述的方法,其特征在于,所述网络设备根据为所述用户设备分配的所述ND老化时间和/或优先级更新所述网络设备上存储的ND邻居表项资源具体包括所述网络设备使用为所述用户设备分配的所述ND老化时间和/或优先级替换所述网络设备上存储的所述用户设备对应的ND邻居表项的ND老化时间和/或优先级。4.如权利要求2所述的方法,其特征在于,当所述用户设备有流量发送到所述网络设备时,所述方法还包括所述网络设备判断所述用户设备对应的ND邻居表项是否存在;当判断结果为所述用户设备对应的ND邻居表项存在时,所述网络设备通过使用所述用户设备对应的ND邻居表项对所述用户设备的流量进行处理;当判断结果为所述用户设备对应的ND邻居表项不存在时,所述网络设备判断所述网络设备是否保存有所述用户设备对应的优先级;当判断结果为所述网络设备中保存有所述用户设备对应的优先级时,所述网络设备根据所述用户设备对应的优先级建立所述用户设备对应的ND邻居表项。5.如权利要求4所述的方法,其特征在于,所述网络设备根据所述用户设备对应的优先级建立所述用户设备对应的ND邻居表项具体包括所述网络设备判断当前ND邻居表项资源是否已经学习满;当所述ND邻居表项资源没有学习满时,所述网络设备根据为所述用户设备分配的所述优先级为所述用户设备建立对应的ND邻居表项;当所述ND邻居表项资源已经学习满时,所述网络设备判断自身存储的所有ND邻居表项对应的优先级中是否有低于为所述用户设备分配的所述优先级;如果有,删除低于为所述用户设备分配的所述优先级的所有优先级中最低优先级所对应的ND邻居表项,并根据为所述用户设备分配的所述优先级为所述用户设备建立对应的ND邻居表项;否则,无法为所述用户设备建立对应的ND邻居表项。6.如权利要求l-5任一项所述的方法,其特征在于,所述授权中心具体为远程用户拨入认证RADIUS服务器和/或支持IPv6的动态主机配置协议DHCPV6服务器,所述授权中心为所述RADIUS服务器时,当所述用户设备通过所述RADIUS服务器的授权认证时,所述RADIUS服务器将为所述用户设备分配的所述ND老化时间下发给所述网络设备,并将为所述用户设备分配的所述优先级下发给所述网络设备;所述授权中心为DHCPV6服务器时,当所述用户设备通过所述DHCPV6服务器动态获取IPv6地址时,所述DHCPV6服务器将为所述用户设备分配的所述ND老化时间下发给所述网络设备,并将为所述用户设备分配的所述优先级下发给所述网络设备;当所述授权中心为所述RADIUS服务器和所述DHCPV6服务器时,根据预设策略选择的所述RADIUS服务器或者所述DHCPV6服务器为所述用户设备分配的所述ND老化时间下发给所述网络设备,并将为所述用户设备分配的所述优先级下发给所述网络设备。7.如权利要求1-5中任一项所述的方法,其特征在于,所述网络设备根据为所述用户设备分配的所述ND老化时间和/或优先级更新所述网络设备上存储的ND邻居表项资源,之后还包括所述网络设备在老化时间到期前预设的时间内对所述用户设备进行可达性检测,如果有回应报文,则更新所述用户设备对应的所述ND邻居表项;如果无回应报文,则删除所述用户设备对应的所述ND邻居表项;和/或,当所述用户设备对应的媒体访问控制MAC表项发生变化需要更新时,所述网络设备确定需要更新的所述用户设备对应的MAC表项,并根据所述用户设备对应的MAC表项的更新结果更新所述网络设备上的所述用户设备对应的ND邻居表项。8.—种授权中心,应用于包括用户设备、网络设备和授权中心的系统中,其特征在于,所述授权中心包括分配模块,用于为所述用户设备分配ND老化时间和/或优先级;发送模块,与所述分配模块连接,用于将为所述用户设备分配的所述ND老化时间和/或优先级下发给所述网络设备;由所述网络设备在所述用户设备对应的ND邻居表项存在时,根据为所述用户设备分配的所述ND老化时间和/或优先级更新所述网络设备上存储的ND邻居表项资源。9.一种ND邻居表项的处理装置,应用于包括用户设备、网络设备和授权中心的系统中,其特征在于,所述ND邻居表项的处理装置作为所述网络设备,包括接收模块,用于接收所述授权中心为所述用户设备分配并下发的所述用户设备的ND老化时间和/或优先级;判断模块,与所述接收模块连接,用于判断所述用户设备对应的ND邻居表项是否存在;处理模块,与所述接收模块和判断模块连接,用于当判断结果为所述用户设备对应的ND邻居表项存在时,根据所述用户设备的ND老化时间和/或优先级更新所述网络设备上存储的ND邻居表项资源。10.如权利要求9所述的装置,其特征在于,还包括存储模块,用于保存为所述用户设备分配ND老化时间和为所述用户设备分配的所述优先级。11.如权利要求9所述的装置,其特征在于,所述处理模块具体用于,使用为所述用户设备分配的所述ND老化时间和/或优先级替换所述网络设备上存储的所述用户设备对应的ND邻居表项的ND老化时间和/或优先级。12.如权利要求IO所述的装置,其特征在于,当所述用户设备有流量发送到所述网络设备时,所述处理模块还用于,判断所述用户设备对应的ND邻居表项是否存在;当判断结果为所述用户设备对应的ND邻居表项存在时,通过使用所述用户设备对应的ND邻居表项对所述用户设备的流量进行处理;当判断结果为所述用户设备对应的ND邻居表项不存在时,判断所述网络设备是否保存有所述用户设备对应的优先级;当判断结果为所述网络设备中保存有所述用户设备对应的优先级时,根据所述用户设备对应的优先级建立所述用户设备对应的ND邻居表项。13.如权利要求12所述的装置,其特征在于,所述处理模块还用于,判断当前ND邻居表项资源是否已经学习满;当所述ND邻居表项资源没有学习满时,根据为所述用户设备分配的所述优先级为所述用户设备建立对应的ND邻居表项;当所述ND邻居表项资源已经学习满时,判断自身存储的所有ND邻居表项对应的优先级中是否有低于为所述用户设备分配的所述优先级;如果有,删除低于为所述用户设备分配的所述优先级的所有优先级中最低优先级所对应的ND邻居表项,并根据为所述用户设备分配的所述优先级为所述用户设备建立对应的ND邻居表项;否则,无法为所述用户设备建立对应的ND邻居表项。14.如权利要求9-13任一项中所述的装置,其特征在于,所述处理模块,还用于在老化时间到期前预设的时间内对所述用户设备进行可达性检测,如果有回应报文,则更新所述用户设备对应的所述ND邻居表项;如果无回应报文,则删除所述用户设备对应的所述ND邻居表项;和/或,当所述用户设备对应的MAC表项发生变化需要更新时,确定需要更新的所述用户设备对应的MAC表项,并根据所述用户设备对应的MAC表项的更新结果更新所述网络设备上的所述用户设备对应的ND邻居表项。全文摘要本发明公开了一种ND邻居表项的处理方法,该方法包括所述授权中心为所述用户设备分配ND老化时间,并将为所述用户设备分配的所述ND老化时间下发给所述网络设备;所述网络设备根据为所述用户设备分配的所述ND老化时间设置所述用户设备对应的ND邻居表项的老化时间。本发明中,有效的优化了ND邻居表项的老化机制,提高了ND邻居表项的资源使用效率。文档编号H04L12/56GK101753458SQ200910266110公开日2010年6月23日申请日期2009年12月30日优先权日2009年12月30日发明者张楠,李培申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1