CN102843240A - 基于多ip地址检测的网关计费方法 - Google Patents
基于多ip地址检测的网关计费方法 Download PDFInfo
- Publication number
- CN102843240A CN102843240A CN2012103389756A CN201210338975A CN102843240A CN 102843240 A CN102843240 A CN 102843240A CN 2012103389756 A CN2012103389756 A CN 2012103389756A CN 201210338975 A CN201210338975 A CN 201210338975A CN 102843240 A CN102843240 A CN 102843240A
- Authority
- CN
- China
- Prior art keywords
- address
- gateway
- client
- server
- 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.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于多IP地址检测的网关计费方法,包括步骤:客户端将自身的所有IP地址发送到服务器;服务器检测所述客户端的所有IP地址是否有效,并在有效IP地址中确定需要计费的IP地址;服务器将所述需要计费的IP地址发送到网关,所述网关对所述需要计费的IP地址进行计费。该方法通过计费网关与服务器的联动,使得计费网关只需关心计费相关的业务逻辑,而IP地址有效性检测的内容由服务器完成,实现了网关对多个IP地址进行计费,从而使得网关计费系统的设计更为合理、清晰。
Description
技术领域
本发明涉及网络通信技术领域,具体涉及一种基于多IP地址检测的网关计费方法。
背景技术
近年来,随着网络技术的发展和市场竞争的日趋激烈,用户对于互联网接入服务的稳定性和可靠性要求不断提高,作为接入服务中重要的组成部分,网关系统的稳定性和可靠性对整个互联网接入服务的质量起着非常重要的作用。
目前的网关计费系统一般采用Client/Server架构。在传统的计费网关中,计费客户端需要在请求消息中填入用户的IP地址信息,这样计费服务器端就可以在此后的操作中将此IP地址与用户身份进行关联,然后对该IP地址进行计费。在用户终端只有一个IP地址的情况下,这是可行的。而当用户终端有多个IP地址时,采用这种传统的计费方式便带来了一些难以避免的问题。例如,在用户终端同时具有无线和有线两个接口的情况下,计费客户端在向计费服务器端发送请求时携带哪个地址进行计费,就成为一个难题。又如,在IPv6环境下,只具有一个网络接口的终端也可能有多个有效的IP地址,因此也面临携带哪个地址进行计费的难题。并且,用户可能希望能够同时对其具有的多个IP地址进行统一计费;另外,在用户终端的多个IP地址中,并不是所有的IP地址都是可达的,而且IP地址的可达性也会随时发生变化,这些都为计费系统的设计带来了巨大的挑战。
随着互联网技术的不断发展,各种终端设备的网络功能也日趋强大,越来越多的终端具有多个网络接口,以及IPv6网络的日益成熟,终端多地址已逐渐成为一个普遍现象。在这种日趋复杂的网络环境下,如何针对多地址终端设计有效的网关计费系统,成为一个亟待解决的问题。
发明内容
(一)要解决的技术问题
本发明主要解决现有技术中当用户设备有多个IP地址时,网关无法实现对多个IP地址进行计费的技术问题。
(二)技术方案
本发明提供了一种基于多IP地址检测的网关计费方法,所述方法是在客户端、服务器以及计费网关之间组成的互联网中依次按以下步骤实现的:
A、客户端将自身的所有IP地址发送到服务器;
B、服务器检测所述客户端的所有IP地址是否有效,并在有效IP地址中确定需要计费的IP地址;
C、服务器将所述需要计费的IP地址发送到网关,所述网关对所述需要计费的IP地址进行计费。
其中,所述步骤B具体包括:
服务器分别以客户端的所有IP地址为目的地址,向所述客户端发送请求消息,如果在预定时间内接收到客户端对所述请求消息的响应,则相应IP地址有效,否则,相应IP地址无效;
所述服务器在有效IP地址中确定需要计费的IP地址。
其中,在所述步骤A之前,客户端获取本机所有IP地址。
其中,所述步骤A具体包括:
所述客户端向服务器发送请求消息,该请求消息包括客户端的组号ID、客户端的所有IP地址、以及需要计费的IP地址。
其中,所述步骤C具体包括:
所述服务器将所述客户端的组号ID、以及所述需要计费的IP地址发送给所述网关;
所述网关对所述需要计费的IP地址进行计费。
进一步的,所述网关将接收到的所述客户端的组号ID和需要计费的IP地址存入数据库。
进一步的,当所述服务器收到所述客户端的注销请求时,所述服务器通知所述网关将相应的IP地址从数据库中删除,并停止对所述IP地址计费。
进一步的,本发明所述网关计费方法还包括以下步骤:
客户端每隔预定时间向服务器发送一次重认证请求;
服务器如果在所述预定时间内没有收到客户端的重认证请求,则通知所述网关将相应的IP地址从数据库中删除,并停止对所述IP地址计费。
(三)有益效果
本发明提供了一种基于多IP地址检测的网关计费方法,该方法通过计费网关与服务器的联动,使得计费网关只需关心计费相关的业务逻辑,而IP地址有效性检测的内容由服务器依据网络协议完成,实现了网关对多个IP地址进行计费,从而使得网关计费系统的设计更为合理、清晰。同时,计费网关能够灵活地根据用户需求对其某个或某些IP地址进行计费或停止计费,满足了用户需求的多样化和个性化。而且,服务器能够即时查询客户端某个IP地址的有效性情况,然后通过与计费网关的联动,保证了用户计费的准确性。
附图说明
图1是本发明的网关计费方法的流程图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
如图1所示,本发明的网关计费方法包括以下步骤:
A、客户端将自身的所有IP地址发送到服务器;
B、服务器检测所述客户端的所有IP地址是否有效,并在有效IP地址中确定需要计费的IP地址;
C、服务器将所述需要计费的IP地址发送到网关,所述网关对所述需要计费的IP地址进行计费。
其中,所述步骤B具体包括:
服务器分别以客户端的所有IP地址为目的地址,向所述客户端发送请求消息,如果在预定时间内接收到客户端对所述请求消息的响应,则相应IP地址有效,否则,相应IP地址无效。所述服务器在有效IP地址中确定需要计费的IP地址。
其中,在所述步骤A之前,客户端获取本机所有IP地址。
其中,所述步骤A具体包括:
所述客户端向服务器发送请求消息,该请求消息包括客户端的组号ID、客户端的所有IP地址、以及需要计费的IP地址。
其中,所述步骤C具体包括:
所述服务器将所述客户端的组号ID、以及所述需要计费的IP地址发送给所述网关,所述网关对所述需要计费的IP地址进行计费。
进一步的,所述网关将接收到的所述客户端的组号ID和需要计费的IP地址存入数据库。
进一步的,当所述服务器收到所述客户端的注销请求时,所述服务器通知所述网关将相应的IP地址从数据库中删除,并停止对所述IP地址计费。
进一步的,本发明所述网关计费方法还包括以下步骤:
客户端每隔预定时间向服务器发送一次重认证请求,服务器如果在所述预定时间内没有收到客户端的重认证请求,则通知所述网关将相应的IP地址从数据库中删除,并停止对所述IP地址计费。
该方法通过计费网关与服务器的联动,使得计费网关只需关心计费相关的业务逻辑,而IP地址有效性检测的内容由服务器依据网络协议完成,实现了网关对多个IP地址进行计费,从而使得网关计费系统的设计更为合理、清晰。
同时,计费网关能够灵活地根据用户需求对其某个或某些IP地址进行计费或停止计费,满足了用户需求的多样化和个性化。而且,服务器能够即时查询客户端某个IP地址的有效性情况,然后通过与计费网关的联动,保证了用户计费的准确性。
下面以SIP协议为例,进行具体说明。
SIP(Session Initiation Protocol,会话初始协议)是由IETF(InternetEngineering Task Force,互联网工程任务组)提出的一个类似于HTTP的基于Client/Server模型的应用层控制协议,可以用来建立、修改、和终止多媒体会话(或者会议)。SIP协议是基于Client/Server模型的经典的通信协议,SIP协议标准中定义的OPTIONS消息是所有标准SIP服务器端和客户端都支持的请求,利用它的请求(REQUEST)/应答(RESPONSE)机制,通过设计合理的检测机制和IP地址存储机制,能够对客户端IP地址的有效性进行实时检测。
本发明以终端多IP地址有效性检测为基础,提出了一种网关计费方法,具体实现流程如下所述。
SIP客户端获取本机所有IP地址,显示在登陆界面上,用户除了输入SIP账号(即用户ID)和密码以外,还可以选择需要对本机上的哪些IP地址打开网关,不选择则表示仅打开SIP协议分组的源IP地址,然后点击登陆。
SIP客户端和SIP服务器端利用SIP协议的认证机制对用户身份进行认证,认证成功,继续下一步骤,认证不成功,结束。
SIP客户端向SIP服务器端发送的OPTIONS请求消息中除了包括组号ID和客户端的所有IP地址以外,还将用户希望打开网关的IP地址的信息填入该OPTIONS消息的Message Body中。OPTIONS消息中Message Body的内容格式以XML格式定义,保证SIP服务器端能够正确解析组号ID、客户端的所有IP地址和希望打开网关的IP地址。
OPTIONS请求消息具体如下表1所示。其中以客户端和服务器端协商好的XML格式,写入了客户端的组号ID(group id)、所有的IP地址和希望打开网关的IP地址。
表1
SIP服务器端对IP地址进行有效性检测的具体步骤为:SIP服务器端分别以SIP客户端的所有IP地址为目的地址,向SIP客户端发送请求消息,如果在预定时间内接收到SIP客户端对所述请求消息的响应,则相应IP地址有效,否则,相应IP地址无效。
同时,SIP服务器端对IP地址列表数据库进行相应的操作,并且为该数据库添加一个域,用以标识此IP地址是否请求打开网关;扩展后的IP地址列表数据库的表结构具体设计如下表2所示。其中IsGate是新增加的域,表示此IP地址是否请求打开网关;其他的域的含义如下:Username表示用户ID;GroupID即组号ID,用于唯一标识一台终端,表示该IP地址属于哪个终端,建议使用对终端MAC地址进行哈希计算后的值;IPAddress域存储客户端的IP地址;IsMainIP表示该IP地址是否为客户端的主IP地址;IsValid表示该IP地址是否可达。
Username | GroupID | IPAddress | IsMainIP | IsValid | IsGate |
表2
该数据库中,一个组号ID(GroupID)可以对应多个IP地址(IPAddress);同时,由于本发明支持用户用一个账号实现多个终端的同时上网并统一计费,因此一个用户ID(Username)可以对应多个组号ID;另外,由于目前有些网络运营商采用IPv4和IPv6分别认证计费的机制,因此即使是同一个组号ID,也可以对应不同的用户ID。
根据有效性检测结果,SIP服务器端将用户ID、客户端机器的组号ID、用户希望打开网关且可达性检测通过的IP地址发送给网关。
SIP服务器端和计费网关之间的消息通信可以采用任何双方协商好之后的方式,下面以SOAP协议(Simple ObjectAccess Protocol,简单对象访问协议)为例进行说明。SOAP协议是一种轻量的、简单的、基于XML的协议,它被设计成在WEB上交换结构化的和固化的信息。SOAP可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议(HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。SIP服务器端向网关发送SOAP请求的方法具体如下表3所示(使用Perl语言实现):
表3
网关收到SIP服务器端发来的请求消息,向其发送响应消息,表示接收到SIP服务器端的请求,以及对哪些IP地址进行放行和计费。
网关将用户ID、组号ID和IP地址存入数据库,并放行这些IP地址,开始对其进行计费。
根据网关的响应情况,SIP服务器端通过OPTIONS消息通知SIP客户端哪些IP地址成功打开网关,哪些IP地址打开网关失败(例如,由于IP地址有效性检测失败,或者网关对每个用户放行的IP地址数量有限制等)。
SIP服务器端向SIP客户端发送的OPTIONS消息具体如下表4所示:
表4
进一步的,当用户主动选择通过SIP客户端注销时,SIP客户端向SIP服务器端发送注销请求,SIP服务器端收到注销请求,向SIP客户端发送响应的同时,通知网关将数据库中属于<用户ID,组号ID>表项的所有IP地址注销,终止对相应IP地址的计费。具体步骤如下:
SIP服务器端收到SIP客户端发来的注销请求,SIP服务器端根据请求消息的源IP地址查询IP地址列表数据库,获得组号ID,然后向网关发送请求消息,通知网关需要注销<用户ID,组号ID>所对应的所有IP地址;
以SOAP协议为例,SIP服务器端向网关发送SOAP请求的方法具体如下表5所示(使用Perl语言实现):
表5
网关收到SIP服务器端发来的请求消息,向其发送响应消息,表示接收到SIP服务器端的请求;
网关将<用户ID,组号ID>所对应的IP地址从数据库删除,停止对这些IP地址的放行和计费。
进一步的,在移动网络环境下,IP地址发生变化时,SIP服务器利用SIP客户端和服务器端之间Keep-Alive的机制及时获知用户IP地址的变化情况,然后通知网关,并且当失效IP地址是终端唯一在网关计费的IP地址,SIP服务器端还会将终端的其他有效IP地址通知网关,以保证用户的实时在线。具体步骤如下:
SIP服务器端检测到客户端某个IP地址失效,并且此IP地址已请求打开了网关,则SIP服务器端向网关发送通知消息,消息体中包含用户ID、组号ID和失效IP地址,如果此失效IP地址是<用户ID,组号ID>唯一在网关计费的IP地址,则SIP服务器端从其IP地址列表数据库中选择一个<用户ID,组号ID>对应的有效IP地址作为备用IP地址,包含在消息体中,一起发送到网关,并且在数据库中标注该IP地址请求打开网关;如果<用户ID,组号ID>没有对应的有效的IP地址,则表示用户已经异常下线;
以SOAP协议为例,SIP服务器端向网关发送SOAP请求的方法具体如下表6所示(使用Perl语言实现):
表6
网关收到SIP服务器端发来的请求消息,向其发送响应消息,表示接收到SIP服务器端的请求;
对于失效IP地址,网关将<用户ID,组号ID,失效IP地址>对应的表项从数据库中删除,停止该IP地址的放行和计费;如果请求消息中包含备用IP地址信息,则网关还需将备用IP地址与<用户ID,组号ID>相关联,写入数据库,对备用IP地址放行,并开始计费。
进一步的,由于网络连接等原因导致用户虽然没有主动通过SIP客户端注销,但实际上已经与网关断开了连接,此时为保证计费的公平性,计费网关应停止计费,直到用户再次连接时才重新开始计费。网关对用户异常下线的判断可以通过SIP协议所定义的重认证机制以及网关与SIP服务器端的联动来实现。SIP协议的重认证机制,要求SIP客户端每隔一定时间(通常为120秒)向服务器端发送一次重认证请求,如果在指定时间内SIP服务器端没有收到客户端的重认证请求,则认为客户端已经下线,此时SIP服务器端将该终端对应的IP地址从数据库中删除,并通知网关相应地注销该地址并停止计费,保证用户异常下线时不会对用户造成额外损失。具体步骤如下:
SIP服务器端通过SIP协议的重认证机制检测到SIP客户端不再发送认证请求,则将SIP客户端对应的<用户ID,组号ID>发送到网关;
网关收到SIP服务器端发来的请求消息,向其发送响应消息,表示接收到SIP服务器端的请求;
网关将<用户ID,组号ID>所对应的IP地址从数据库删除,停止对这些IP地址的放行和计费。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和替换,这些改进和替换也应视为本发明的保护范围。
Claims (9)
1.一种基于多IP地址检测的网关计费方法,其特征在于,该方法包括以下步骤:
A、客户端将自身的所有IP地址发送到服务器;
B、服务器检测所述客户端的所有IP地址是否有效,并在有效IP地址中确定需要计费的IP地址;
C、服务器将所述需要计费的IP地址发送到网关,所述网关对所述需要计费的IP地址进行计费。
2.如权利要求1所述的网关计费方法,其特征在于,所述步骤B具体包括:
服务器分别以客户端的所有IP地址为目的地址,向所述客户端发送请求消息,如果在预定时间内接收到客户端对所述请求消息的响应,则相应IP地址有效,否则,相应IP地址无效;
所述服务器在有效IP地址中确定需要计费的IP地址。
3.如权利要求1所述的网关计费方法,其特征在于,在所述步骤A之前,进一步包括:
客户端获取本机所有IP地址的步骤。
4.如权利要求1所述的网关计费方法,其特征在于,所述步骤A具体包括:
所述客户端向服务器发送请求消息,该请求消息包括客户端的组号ID、客户端的所有IP地址、以及需要计费的IP地址。
5.如权利要求4所述的网关计费方法,其特征在于,所述步骤C具体包括:
所述服务器将所述客户端的组号ID、以及所述需要计费的IP地址发送给所述网关;
所述网关对所述需要计费的IP地址进行计费。
6.如权利要求5所述的网关计费方法,其特征在于,所述服务器将所述客户端的组号ID、以及所述需要计费的IP地址发送给所述网关之后,进一步包括:
所述网关将接收到的所述客户端的组号ID和需要计费的IP地址存入数据库的步骤。
7.如权利要求6所述的网关计费方法,其特征在于,该方法进一步包括以下步骤:
当所述服务器收到所述客户端的注销请求时,所述服务器通知所述网关将相应的IP地址从数据库中删除,并停止对所述IP地址计费。
8.如权利要求1所述的网关计费方法,其特征在于,该方法进一步包括:
客户端每隔预定时间向服务器发送一次重认证请求的步骤。
9.如权利要求8所述的网关计费方法,其特征在于,该方法进一步包括以下步骤:
服务器如果在所述预定时间内没有收到客户端的重认证请求,则通知所述网关将相应的IP地址从数据库中删除,并停止对所述IP地址计费。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210338975.6A CN102843240B (zh) | 2012-09-13 | 2012-09-13 | 基于多ip地址检测的网关计费方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210338975.6A CN102843240B (zh) | 2012-09-13 | 2012-09-13 | 基于多ip地址检测的网关计费方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102843240A true CN102843240A (zh) | 2012-12-26 |
CN102843240B CN102843240B (zh) | 2015-12-09 |
Family
ID=47370317
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210338975.6A Active CN102843240B (zh) | 2012-09-13 | 2012-09-13 | 基于多ip地址检测的网关计费方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102843240B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103986589A (zh) * | 2013-02-07 | 2014-08-13 | 电信科学技术研究院 | 一种基于签约会话的计费方法和设备 |
CN106603334A (zh) * | 2016-12-14 | 2017-04-26 | 北京启明星辰信息安全技术有限公司 | 一种ip地址监测方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1402468A (zh) * | 2001-08-13 | 2003-03-12 | 华为技术有限公司 | 因特网接入服务器的选择性计费方法 |
CN1744508A (zh) * | 2004-09-01 | 2006-03-08 | 华为技术有限公司 | IPv6网络中对多地址用户进行授权计费的实现方法 |
-
2012
- 2012-09-13 CN CN201210338975.6A patent/CN102843240B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1402468A (zh) * | 2001-08-13 | 2003-03-12 | 华为技术有限公司 | 因特网接入服务器的选择性计费方法 |
CN1744508A (zh) * | 2004-09-01 | 2006-03-08 | 华为技术有限公司 | IPv6网络中对多地址用户进行授权计费的实现方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103986589A (zh) * | 2013-02-07 | 2014-08-13 | 电信科学技术研究院 | 一种基于签约会话的计费方法和设备 |
CN103986589B (zh) * | 2013-02-07 | 2017-10-27 | 电信科学技术研究院 | 一种基于签约会话的计费方法和设备 |
CN106603334A (zh) * | 2016-12-14 | 2017-04-26 | 北京启明星辰信息安全技术有限公司 | 一种ip地址监测方法及装置 |
CN106603334B (zh) * | 2016-12-14 | 2019-10-18 | 北京启明星辰信息安全技术有限公司 | 一种ip地址监测方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102843240B (zh) | 2015-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105634956B (zh) | 一种报文转发方法、装置和系统 | |
CN103096502B (zh) | 建立设备到设备连接的方法、装置和系统 | |
CN103731812A (zh) | 会话关联方法、装置、网关、业务侧接入设备和服务器 | |
WO2018208295A1 (en) | Iot device connectivity, discovery, and networking | |
US9319309B2 (en) | Mobile router information management server, mobile router, mobile router network, and communication method for same | |
CN102882853A (zh) | 一种互联网用户身份验证的系统和方法 | |
CN102714636A (zh) | 用于便于越过网络边界的推送通信的方法和装置 | |
CN104679528B (zh) | 应用程序远程更新的方法和装置 | |
CN103812845A (zh) | 一种基于6LoWPAN网络的服务发现方法及装置 | |
CN101951325A (zh) | 基于自动发现的网络终端配置系统及其配置方法 | |
CN103796188A (zh) | 下行传输数据的方法和设备 | |
CN106713084A (zh) | 物联网多网关系统 | |
CN101616405A (zh) | 无线上网方法及无线路由器 | |
CN102263793A (zh) | 一种mtc服务器权限验证控制方法、系统及装置 | |
CN102571811A (zh) | 用户接入权限控制系统和方法 | |
CN101895856A (zh) | 用户重定向方法及系统 | |
CN102104603A (zh) | Web网站服务器对移动终端注册的方法、系统及装置 | |
CN102801825A (zh) | 终端多ip地址有效性检测方法 | |
CN105246129B (zh) | 一种智能终端的组网方法及装置 | |
CN102843240A (zh) | 基于多ip地址检测的网关计费方法 | |
CN104717640A (zh) | 一种基于定位的无线网络通信的实现方法 | |
KR101995871B1 (ko) | M2m 로밍을 위한 m2m 교환 플랫폼 | |
CN105246128B (zh) | 一种智能终端的组网方法及装置 | |
EP3190746B1 (en) | Dynamic provision of application related sponsored data connectivity | |
CN103124216A (zh) | 一种Ipv4/Ipv6双栈用户计费方法及装置 |
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 |