CN100375480C - 一种限制用户使用代理上网的方法 - Google Patents
一种限制用户使用代理上网的方法 Download PDFInfo
- Publication number
- CN100375480C CN100375480C CNB02137080XA CN02137080A CN100375480C CN 100375480 C CN100375480 C CN 100375480C CN B02137080X A CNB02137080X A CN B02137080XA CN 02137080 A CN02137080 A CN 02137080A CN 100375480 C CN100375480 C CN 100375480C
- Authority
- CN
- China
- Prior art keywords
- tcp
- user
- address
- dns
- maximum number
- 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.)
- Expired - Lifetime
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种限制用户使用代理上网的方法,通过设定用户的可同时发起的TCP连接最大个数和DNS服务请求最大个数,当用户的TCP连接个数或DNS服务请求个数超过设定的最大值时,系统将丢弃用户新的请求。采用本发明的方法可以很好地满足网络运营商限制非授权用户使用代理服务器上网的需求,保证了正常用户的网络性能,使网络运营商的损失降低到最小,可广泛应用于各种接入服务器中。
Description
技术领域
本发明涉及TCP/IP通讯协议技术,应用在接入服务器上,用来防止非授权用户通过代理服务器上网。
背景技术
目前接入服务器在对用户的数据报文进行处理的时候,在判断该报文是由合法的IP地址发来的后,都对它进行正常的转发。但是,这里存在一个问题,即当一个用户申请了一个合法的帐号后(即对应一个合法的IP地址,可能通过静态分配,也可能是动态分配)。如果该用户在具有合法IP地址的主机上安装了代理服务器,然后为多个没有申请合法帐号的主机提供代理服务,按照代理服务器的实现原理,在接入服务器上是无法区分一个数据包是由合法的IP地址发来的,还是由合法IP地址所代理的非授权用户主机发来的。因为非授权的主机发来的数据包在通过代理服务器实现代理操作的过程中,它的源IP地址变成了代理服务器的合法的IP地址,因此通过接入服务器是能得到正常转发的。而由于接入服务器在性能上要求对用户数据包进行线速转发,因此也就决定了它不能对每个数据包进行更深入地分析处理,因此,导致了多个非授权用户可以通过在一个授权用户上安装代理服务器而实现同时上网,由于多个非授权用户同时上网时占用的网络带宽要高于单个用户时的情况;因此,如果对这种通过安装代理上网方式不加限制的话,这部分非授权用户将占用大量的网络带宽,严重影响正常用户的网络性能,并给网络运营商带来损失。
发明内容
本发明解决的技术问题是提供一种可以限制用户使用代理上网的方法,避免大量非授权用户主机通过以合法帐号的用户为代理上网,保证了正常用户的网络性能。
本发明所述的限制用户使用代理上网的方法可以以下面的方式实现:
步骤一,通过统计的方法,计算出一个合理的,单个用户上网所能发起的TCP(传输控制协议)连接最大个数;
步骤二,接入服务器对用户数据包进行处理的过程中,计算某个IP地址发起的TCP连接个数;
步骤三,判断上述IP地址的TCP连接个数是否超过设定的单用户TCP连接最大个数;
步骤四,如果超过了,丢弃新的TCP建链包;如果没有超过,接受新的TCP建链包。
本发明所述的限制用户使用代理上网的方法还可以如下的步骤实现:
步骤一,通过统计的方法,计算出一个合理的,单个用户上网所能发起的DNS(域名解析服务)请求最大个数;
步骤二,接入服务器对用户数据包进行处理的过程中,计算某个IP地址发起的DNS请求个数;
步骤三,判断上述IP地址的DNS请求个数是否超过设定的单用户DNS请求最大个数;
步骤四,如果超过了,丢弃新的UDP(用户数据报协议)报文;如果没有超过,接受新的UDP报文。
采用本发明所述的方法,一方面对网络处理器上的微码改动很少,另一方面由于只需要分析到数据包中的TCP/UDP报头,对系统的线速转发性能的影响也不大。此外,单个用户可同时发起的TCP连接最大个数和DNS服务请求最大个数可以根据实际运行情况通过网管命令动态设置。在通过统计的方法获得一个合理的单用户最大可同时发起的TCP连接个数和DNS请求个数值后,该种方法可以很好地满足网络运营商限制非授权用户使用代理服务器上网的需求,保证了正常用户的网络性能,使网络运营商的损失降低到最小。
附图说明
图1是本发明接入服务器用户侧网络处理器对TCP建链报文的处理流程。
图2是本发明接入服务器用户侧网络处理器对TCP拆链报文的处理流程。
图3是本发明接入服务器用户侧网络处理器对DNS报文的处理流程。
图4是本发明接入服务器用户侧网络处理器中用户信息表中DNS请求定时老化、刷新的操作处理流程。
具体实施方式
下面结合附图说明本发明的具体实现过程:
目前用户上网主要使用常用的几种应用层协议,如HTTP(HypertextTransfer Protocol,WWW服务程序所用的协议),FTP(File Transfer Protocol,文件传输协议),TELNET(远程登录),SMTP(Simple Message Transfer Protocol,简单邮件传输协议),POP(Post Office Protocol,邮局协议)等,而这几种应用层协议都是基于TCP之上的。用户每次浏览一个网页,每次启动一个FTP应用,每次发起一个TELNET连接或每次收发一个Email,都需要建立一个或者多个TCP连接。因此,理论上可以得出,多个非授权用户同时使用代理服务器上网时,由这个代理服务器发起的TCP连接个数肯定要多于单个用户所发起的TCP连接个数。本发明的方法就是通过统计的方法,计算出一个合理的,单个用户上网所能发起的TCP连接最大个数。然后,在接入服务器对用户数据包进行处理的过程中,判断对应某个IP地址发起的TCP连接个数是否超过了这个最大连接个数。如果超过了,我们就认为该IP地址对应的主机安装了代理服务器,我们要对其上网进行限制;否则,我们就认为该IP地址发来的IP报文是正常数据包,对其进行正常的转发操作。
采用限制合法用户TCP最大连接个数的步骤如下:
第一步:
接入服务器用户侧网络处理器对TCP建链报文的处理。
本步骤又可以包括下列步骤:
1.在接入服务器用户侧的线卡上,网络处理器判断收到的数据报文是否是TCP的建链包,即分析TCP包头中的SYN位是否为1。
2.如果是TCP建链包,提取TCP包头中的源IP地址和源端口号。并根据用户信息表中的信息,判断该TCP连接是否是一条新的连接。如果是新的连接,判断同该源IP地址相关的,正在使用的TCP连接个数是否已经达到了系统规定的最大连接个数。
3.如果此时,同该源IP地址相关的TCP连接个数已经达到了系统规定的最大值,则丢弃该新的TCP建链包;否则,将该IP包的源IP端口号添加到用户信息表中(对应一个新的TCP连接);同时,将同该IP地址相关的TCP连接个数加一,用于下一次比较操作。
4.如果步骤3中的后一种情况成立,则接入服务器正常转发用户的数据包。
第二步:
接入服务器用户侧网络处理器对TCP拆链报文的处理。
1.在接入服务器用户侧的线卡上,网络处理器判断收到是否是TCP的拆链包,即分析TCP包头中的FIN位是否为1。
2.如果是TCP建链包,提取TCP包头中的源IP地址和源端口号。并从对应的用户信息表中的删除相应的TCP连接记录信息,并将对应该IP地址的正在使用的TCP连接个数减一。
3.正常转发该报文。
另外,目前用户上网时,无论是浏览一个网页,启动一个FTP应用,或发起一个telnet连接,或收发一个Email,都需要给出对方的IP地址。而在实际的情况下,为了使用上的方便,用户使用的都是域名(Domain name)。既用户上网时的每一个连接请求,都需要进行一次域名解析服务(DNS)。该服务使用UDP报文来承载,域名服务器的端口号为53。因此,理论上可以得出,多个非授权用户同时使用代理服务器上网时,由这个代理服务器发起的域名解析请求个数肯定要多于单个用户所发起的域名解析请求个数。因此,可以通过统计的方法,计算出一个合理的,单个用户上网所能发起的DNS请求最大个数。然后,在接入服务器对用户数据包进行处理的过程中,判断对应某个IP地址发起的DNS请求个数是否超过了这个最大请求个数。如果超过了,我们就认为该IP地址对应的主机安装了代理服务器,我们要对其上网进行限制;否则,我们就认为该IP地址发来的IP报文是正常数据包,对其进行正常的转发操作。
采用限制合法用户DNS最大请求个数的步骤如下:
第一步:接入服务器用户侧网络处理器对DNS请求报文的处理。
本步骤又可以包括下列步骤:
1.在接入服务器用户侧的线卡上,网络处理器判断收到是否是UDP报文,如果是UDP报文,分析它的目的端口号是否为53。
2.如果是UDP报文,并且它的目的端口号也为53,则根据用户信息表中记录的信息,判断该用户当前发起的DNS请求是否已经达到了系统规定的最大个数。
3.如果此时,同该源IP地址相关的DNS请求个数已经达到了系统规定的最大值,则丢弃该UDP报文;否则,将该IP包的源IP端口号添加到用户信息表中(对应一个新的DNS请求),并给该记录打上时间戳标志。同时,同该IP地址相关的DNS请求个数加一,用于下一次比较操作。
4.如果步骤3中的后一种情况成立,则接入服务器正常转发用户的数据包。
第二步:用户侧网络处理器对用户数据表中的DNS请求记录老化操作。
该步骤的详细描述如下:
由于UDP协议不是面向连接的协议,它没有建链和拆链操作。所以,本发明中设计了一个定时刷新操作函数。网络处理器为用户信息表中各个用户的每个DNS请求记录打上时间戳标志,然后系统定时轮循,对每条DNS记录执行老化操作。对于每次老化操作后,时间戳值超过有效时限的DNS记录,在用户信息表中删除,并将同该用户相关的当前有效的DNS请求个数减1。即通过该方法,将每个用户在某一个时间段内发起的DNS请求个数控制在某个最大值的范围内。
对于以上两种实施方式既可以在系统中分别独立采用,也可以结合起来完成限制用户使用代理上网。
利用本发明提供的方法,不需对接入服务器现有的实现流程做大的修改,对于限制TCP最大连接个数的方式,只需要在网络处理器的用户信息表中增加授权用户当前正在使用的TCP连接个数记数值以及授权用户当前正在使用的TCP连接列表(可通过记录对应TCP连接的源端口号实现)即可。用户侧网络处理器微码中只需要添加几条指令,用来解析进来的TCP数据包的包头,判断是否是建链,拆链包;以及对应的用户信息表中的连接记录的添加,删除操作,对应的连接个数的加1,减1操作即可。对于限制DNS最大请求个数的方式,只需要在网络处理器的用户信息表中增加授权用户当前正在使用的DNS请求个数记数值以及授权用户当前发起的DNS请求记录列表(可通过记录对应的UDP连接的源端口号实现)即可。用户侧网络处理器微码中需要添加几条指令,用来解析进来的UDP数据包的包头,判断是否是DNS报文;对用户信息表中的相应的DNS请求记录执行添加,删除操作;对应的连接个数的加1,减1操作;系统轮询对用户信息表中各个DNS请求记录执行老化操作等等。
Claims (4)
1.一种限制用户使用代理上网的方法,包括以下步骤:
步骤一,通过统计的方法,计算出一个合理的,单个用户上网所能发起的TCP(传输控制协议)连接最大个数;
步骤二,接入服务器对用户数据包进行处理的过程中,计算某个IP地址发起的TCP连接个数;
步骤三,判断上述IP地址的TCP连接个数是否超过设定的单用户TCP连接最大个数;
步骤四,如果超过了,丢弃新的TCP建链包;如果没有超过,接受新的TCP建链包。
2.一种限制用户使用代理上网的方法,包括以下步骤:
步骤一,通过统计的方法,计算出一个合理的,单个用户上网所能发起的DNS(域名解析服务)请求最大个数;
步骤二,接入服务器对用户数据包进行处理的过程中,计算某个IP地址发起的DNS请求个数;
步骤三,判断上述IP地址的DNS请求个数是否超过设定的单用户DNS请求最大个数;
步骤四,如果超过了,丢弃新的UDP(用户数据报协议)报文;如果没有超过,接受新的UDP报文。
3.根据权利要求2所述的限制用户使用代理上网的方法,其特征在于,所述步骤二中计算某个IP地址发起的DNS请求个数,是通过给用户的每个已接受DNS请求记录打上时间戳标志,然后系统定时轮循,对每条DNS记录执行老化操作,对于时间戳值超过有效时限的DNS记录,在用户信息表中删除,并将同该用户相关的当前有效的DNS请求个数减1。
4.根据权利要求2或3所述的限制用户使用代理上网的方法,其特征在于,同时还包括以下处理步骤:
通过统计的方法,计算出一个合理的,单个用户上网所能发起的TCP(传输控制协议)连接最大个数;
接入服务器对用户数据包进行处理的过程中,计算某个IP地址发起的TCP连接个数;
判断上述IP地址的TCP连接个数是否超过设定的单用户TCP连接最大个数;
如果超过了,丢弃新的TCP建链包;如果没有超过,接受新的TCP建链包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB02137080XA CN100375480C (zh) | 2002-09-18 | 2002-09-18 | 一种限制用户使用代理上网的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB02137080XA CN100375480C (zh) | 2002-09-18 | 2002-09-18 | 一种限制用户使用代理上网的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1484415A CN1484415A (zh) | 2004-03-24 |
CN100375480C true CN100375480C (zh) | 2008-03-12 |
Family
ID=34146848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB02137080XA Expired - Lifetime CN100375480C (zh) | 2002-09-18 | 2002-09-18 | 一种限制用户使用代理上网的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100375480C (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1968147B (zh) * | 2006-11-27 | 2010-04-14 | 华为技术有限公司 | 业务处理方法、网络设备及业务处理系统 |
CN101488953B (zh) * | 2008-01-14 | 2012-03-14 | 鸿富锦精密工业(深圳)有限公司 | 网络通信设备及其网络通信协议会话的分配方法 |
CN103685329B (zh) * | 2012-08-30 | 2017-11-21 | 华耀(中国)科技有限公司 | 基于负载均衡的高级访问控制系统及方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6330226B1 (en) * | 1998-01-27 | 2001-12-11 | Nortel Networks Limited | TCP admission control |
-
2002
- 2002-09-18 CN CNB02137080XA patent/CN100375480C/zh not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6330226B1 (en) * | 1998-01-27 | 2001-12-11 | Nortel Networks Limited | TCP admission control |
Also Published As
Publication number | Publication date |
---|---|
CN1484415A (zh) | 2004-03-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7047561B1 (en) | Firewall for real-time internet applications | |
US9832169B2 (en) | Method and system for communicating over a segmented virtual private network (VPN) | |
US7398552B2 (en) | Method and system for integrating performance enhancing functions in a virtual private network (VPN) | |
CN111385235B (zh) | 一种基于动态变换的DDoS攻击防御系统和方法 | |
US20030219022A1 (en) | Method and system for utilizing virtual private network (VPN) connections in a performance enhanced network | |
JP4454072B2 (ja) | IP通信ネットワークシステム及びQoS保証装置 | |
CN101019405A (zh) | 用于在通信网络中缓解拒绝服务的方法和系统 | |
US8180856B2 (en) | Testing a network | |
Shen et al. | On TCP-based SIP server overload control | |
WO2006071065A1 (en) | System and method for detecting and interception of ip sharer | |
CN100375480C (zh) | 一种限制用户使用代理上网的方法 | |
EP1695515B1 (en) | Internet listener/publisher for secure access to intranet web services via firewalls | |
US7143163B1 (en) | System and method for exacting a system resource access cost | |
CN101043465A (zh) | 动态主机配置协议服务管理方法以及系统 | |
Aracil et al. | Analysis of Internet Services in IP over ATM networks | |
MacDonald et al. | Microsoft windows 2000 tcp/ip implementation details | |
JP2004180315A (ja) | Ackフィルタリングを用いる改良されたプロトコル性能 | |
WO2010081321A1 (zh) | 实现上送速率动态联动的方法、装置和系统 | |
Cisco | Feature Guide for Cisco IOS Release 11.2 F | |
Cisco | Designing the IP Telephony Network | |
Cisco | Dial Solutions Command Reference Cisco IOS Release 12.0 | |
Cisco | Dial Solutions Command Reference Cisco IOS Release 11.3 | |
Cisco | Cisco IOS Dial Services Command Reference Release 12.1 | |
GB2407729A (en) | Releasing unused connections | |
Fu et al. | Using parasite flows to camouflage flow traffic |
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 | ||
CX01 | Expiry of patent term |
Granted publication date: 20080312 |
|
CX01 | Expiry of patent term |