专利名称:基于邻居发现技术的用户探测的实现方法
技术领域:
本发明涉及网络通信技术领域,尤其涉及一种基于邻居发现技术的用户探测的实现方法。
背景技术:
随着网络技术的飞速发展,网络已经深入到我们生活工作的各方面。尤其是中小网络的应用更加广泛,在中小网络中常用的地址分配方式是无状态地址分配。因为无状态地址分配简单,易于实现,而且不需要服务器就可以完成地址分配。但是因为有状态地址分配的功能比无状态完备地址分配,所以,无状态地址分配常用于中小网络中。这里一般运用IPv6(网络协议)协议,ITEF的RFC2461和RFC2462定义了主机的无状态地址分配(StatelessAddress Autoconfiguration),使得主机不再需要DHCPv6(基于第六版互联网协议的动态主机配置协议)服务器即可获取到IPv6的地址,可以方便的应用于中小网络中。
由于IPv6整体并不十分成熟,在以ND(邻居发现)为基础的无状态地址分配技术中并没有明确规定路由器或其他接入设备(以下统一简称为路由器)如何快速准确地探测到主机用户是否在线。这样给基于主机管理的认证和计费等方面带来了很大的麻烦,如电信网络中的收费等。比如用户的系统应用程序死机、网络中间的物理线路中断(但用户无法发现),如果我们不能快速切断用户,那么如果该用户是按照时长来计费的话,将一直给他计费。这显然是不合理的,会给用户和网络管理者带来不必要的麻烦。
发明内容
鉴于上述现有技术所存在的问题,本发明的目的是提供一种基于邻居发现技术的用户探测的实现方法,本发明的目的是通过以下技术方案实现的本发明提供了一种基于邻居发现技术的用户探测的实现方法,包括A、路由器向主机发送基于ND协议的报文;B、在线的主机收到所述的报文后,向路由器返回响应报文;C、路由器根据是否收到主机返回的响应报文,确定主机是否在线。
所述的步骤A的基于ND协议的报文包括邻居请求NS报文或反向邻居请求INS报文;并且,当所述的基于ND的报文为NS报文时,此NS报文承载着主机的IP地址信息。
在所述的步骤B中主机对于NS报文返回的响应报文为邻居宣告NA报文;主机对于INS报文返回的响应报文为反向邻居宣告INA报文。
所述的INA报文中承载着主机的链路地址信息。
所述的步骤C包括判断在设定的时间内是否收到主机返回的响应报文,如收到则确定主机在线,如未收到则确定主机不在线。
所述的步骤C还包括当路由器收到INA报文时,将INA报文中承载的主机链路地址信息与本地保存的主机链路地址信息匹配,如果匹配命中,则确定主机在线,否则主机不在线。
所述的用户包括无状态地址分配用户或基于第六版互联网协议的动态主机配置协议DHCPv6用户。
所述的步骤A包括路由器定时向主机发送基于ND的报文。
由上述本发明提供的技术方案可以看出,本发明中路由器在无状态地址分配和DHCPv6模式(如果DHCPv6模式下,主机和路由器支持ND和IND的处理)下,在不改动标准协议的情况下,实现在线主机用户探测。而且路由器分别采用ND协议中发送NS报文的方法和IND协议中发送INS报文的方法探测主机用户是否在线。
该方法在不修改相关RFC协议和标准的情况下,实现了路由器探测主机用户的两种方法,从而准确及时判断了无状态地址分配用户乃至DHCPv6用户是否在线,并可以达到更加准确地对主机用户地管理和计费的操作。
图1为无状态地址分配的过程示意图;图2为路由器采用ND协议中发送NS报文的方法探测主机用户是否在线的流程图;图3为路由器采用IND协议中发送INS报文的方法探测主机用户是否在线的流程图。
具体实施例方式
基于现有技术状况,本发明提供一种基于邻居发现技术的用户探测的实现方法,通过使用ND规定的报文和相关流程,能准确、及时地判断主机用户是否在线。从而给计费等方面提供准确的信息。
本发明适用于支持ND技术的基于无状态地址分配的主机用户和基于DHCPv6的主机用户,且需要主机和路由器均支持ND和IND的处理过程。
首先,通过对无状态地址分配的流程简单介绍一下ND技术涉及在主机与路由器间传递的报文,如图1所示IPv6的主机在开机时,首先生成自己的If-ID(interface identifier,接口标识),并使用If-ID生成link-local(链路本地)地址,整个过程和方法可以参见RFC2373,然后主机开始进行DAD(重复地址检测)过程,检测过程结束,则完成无状态地址分配过程,所述的DAD过程如图1所示,具体包括以下步骤步骤11通过组播发送NS(邻居请求)报文,报文中携带着本地生成的link-local地址,以便于在路由器上,比较所述的link-local地址与同该主机在一个组播域中的其他主机link-local地址是否相同,即同一个组播域中是否出现重复的link-local地址,如果发现重复,则执行步骤12,如果不重复,则丢弃所述的NS报文;步骤12向发出NS报文的主机发送NA(邻居宣告)报文。
步骤13在进行DAD检测的同时或者之后,主机可以发送RS报文给路由器使用无状态地址分配申请site-local(站点本地)和/或global(全局)地址的Prefix(前缀);步骤14路由器将步骤13所请求的相关的地址Prefix包括地址的租期等信息通过RA(路由宣告)报文发送给主机,完成地址分配的过程。
另外,RFC3122(请求注解3122)中还定义了IND(反向ND)技术,反向ND技术是指当主机或路由器知道对方的IP地址但不知道对方的链路地址时,首先会向对方发送INS报文,对方如果收到后将回送INA报文,INA报文中承载着主机的链路地址。
基于上述ND技术,在主机用户上线后的过程中,本发明可以使用下述方法探测主机(用户)是否在线在无状态地址分配过程中,路由器向主机发送基于ND的报文,所述的向主机发送的ND报文包括NS报文或INS报文,而且,所述的NS报文承载着主机的IP地址信息。在线的主机接收路由器发来的报文,如收到NS报文,则向路由器返回NA报文作为响应报文;如收到INS报文则向路由器返回INA报文作为响应报文;如路由器收到NA报文,确定主机在线;如路由器收到INA报文,将INA报文中承载的主机链路地址信息与本地保存的主机链路地址信息匹配,如果匹配命中,则确定主机在线,否则主机不在线;如路由器未收到任何报文,则确定主机不在线。
可以看出,通过上述处理过程,实现了在IPv6网络中对用户是否在线的探测功能,从而可以及时准确地了解用户是否在线,便于网络中基于主机的认证、计费等管理。
下面将结合附图分别描述使用NS报文和INS报文进行探测主机(用户)是否在线的过程。
(1)使用NS报文的情况如图2所示,参见步骤21,路由器向主机定时发送NS报文,并且此NS报文承载着主机的IP地址信息,目的是检测在路由器控制的网络中是否该主机是否在线,主要原理是采用DAD检测的原理;如果主机在线,当收到该NS报文时,检查发现NS报文中承载的IP地址与本端的IP地址相同,必将会给路由器发送NA报文,以表示该主机地址与路由器发送的地址出现冲突;参见步骤22,在路由器端需要判断是否收到主机返回的响应报文(即NA报文),路由器收到响应报文后,则如步骤24所示,认为该主机在线;如果在规定的时间内没有收到主机的NA报文,表明主机或链路发送故障,如步骤23所示,认定该主机已经不在线,这时路由器就可以根据配置的策略决定下一步的操作,比如删除该主机用户数据,发送计费停止报文等。
(2)使用INS报文的情况如图3所示,参见步骤31,路由器也可以通过定时向主机发送INS报文实现本发明,主机如果收到INS报文后将回送INA报文,INA报文中包括主机链路地址。如图32所示,路由器判断在设定的时间内是否收到所述的INA报文,如果路由器在规定的时间内收到INA报文,则进一步执行步骤33,判断INA报文中的链路地址与路由器保存的该主机的链路地址信息是否匹配,如果匹配命中,即链路地址正确,则如步骤34所示,确定该主机用户在线;如果链路地址匹配不正确,则如步骤35所示,确定该主机用户数据错误,主机用户不在线;如果路由器在规定的时间内没有收到INA报文,则同样执行步骤35,确定该主机用户已经不在线。如果确定主机用户不在线,则路由器便可以根据配置的策略决定下一步针对该主机用户的操作处理,比如删除该主机用户数据,发送计费停止报文等。
由上述描述可以看出,本发明提供的两种具体实现方法可以在不修改相关RFC协议和标准的情况下,在路由器上实现主机用户是否在线的探测,从而准确及时判断了无状态地址分配用户乃至DHCPv6用户是否在线,并可以达到更加准确地对主机用户的管理和计费的操作。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
权利要求
1.一种基于邻居发现技术的用户探测的实现方法,其特征在于,包括A、路由器向主机发送基于邻居发现ND协议的报文;B、在线的主机收到所述的报文后,向路由器返回响应报文;C、路由器根据是否收到主机返回的响应报文,确定主机是否在线。
2.根据权利要求1所述的基于邻居发现技术的用户探测的实现方法,其特征在于,所述的步骤A的基于ND协议的报文包括邻居请求NS报文或反向邻居请求INS报文;并且,当所述的基于ND的报文为NS报文时,此NS报文承载着主机的IP地址信息。
3.根据权利要求1所述的基于邻居发现技术的用户探测的实现方法,其特征在于,在所述的步骤B中主机对于NS报文返回的响应报文为邻居宣告NA报文;主机对于INS报文返回的响应报文为反向邻居宣告INA报文。
4.根据权利要求3所述的基于邻居发现技术的用户探测的实现方法,其特征在于,所述的INA报文中承载着主机的链路地址信息。
5.根据权利要求1所述的基于邻居发现技术的用户探测的实现方法,其特征在于,所述的步骤C包括判断在设定的时间内是否收到主机返回的响应报文,如收到则确定主机在线,如未收到则确定主机不在线。
6.根据权利要求1、2、3、4或5所述的基于邻居发现技术的用户探测的实现方法,其特征在于,所述的步骤C还包括当路由器收到INA报文时,将INA报文中承载的主机链路地址信息与本地保存的主机链路地址信息匹配,如果匹配命中,则确定主机在线,否则主机不在线。
7.根据权利要求1、2、3、4或5所述的基于邻居发现的用户探测的实现方法,其特征在于,所述的用户包括无状态地址分配用户或基于第六版互联网协议的动态主机配置协议DHCPv6用户。
8.根据权利要求1、2、3、4或5所述的基于邻居发现的用户探测的实现方法,其特征在于,所述的步骤A包括路由器定时向主机发送基于ND的报文。
全文摘要
本发明涉及一种基于邻居发现技术的用户探测的实现方法。该方法包括路由器向主机发送基于邻居发现ND的报文的邻居请求NS报文或反向邻居请求INS报文,且当所述NS报文中承载有主机的IP地址;在线的主机收到所述的报文后,将向路由器返回响应报文;这样,路由器便可以根据是否收到主机返回的响应报文,确定主机是否在线,从而实现用户探测功能。因此,本发明可以在不修改相关RFC协议和标准的情况下实现,同时还保证路由器可以及时准确地探测到用户是否在线,以达到准确地对主机用户进行管理和计费。
文档编号H04L29/06GK1744528SQ200410055380
公开日2006年3月8日 申请日期2004年9月1日 优先权日2004年9月1日
发明者夏阳松, 唐周和, 管红光 申请人:华为技术有限公司