一种数据包过滤规则的配置方法、装置及系统转让专利

申请号 : CN201510946745.1

文献号 : CN106888198B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张展樊辉

申请人 : 华为技术有限公司

摘要 :

本发明的实施例提供一种数据包过滤规则的配置方法、装置及系统,涉及通信技术领域,能够动态配置数据包过滤规则,从而提高拦截防护的效果。该方法包括:PCP服务器接收私有网络中的PCP客户端发送的第一PCP请求消息,第一PCP请求消息携带过滤操作码、第一PCP请求消息的生命周期和位于公有网络中的主机的公有网络地址信息,第一PCP请求消息的生命周期大于零,第一PCP请求消息的源地址信息为PCP客户端的私有网络地址信息;PCP服务器根据第一PCP请求消息的生命周期和过滤操作码,生成包含有主机的公有网络地址信息以及PCP客户端的私有网络地址信息的数据包过滤规则;PCP服务器向PCP客户端发送第一确认消息。

权利要求 :

1.一种数据包过滤规则的配置方法,其特征在于,包括:

端口控制协议PCP服务器接收私有网络中的PCP客户端发送的第一PCP请求消息,所述第一PCP请求消息携带过滤操作码、所述第一PCP请求消息的生命周期和位于公有网络中的主机的公有网络地址信息,所述第一PCP请求消息的源地址信息为所述PCP客户端的私有网络地址信息,所述第一PCP请求消息的生命周期大于零,所述过滤操作码用于请求对与所述公有网络地址信息以及所述PCP客户端的私有网络地址信息相对应的数据包过滤规则进行处理,所述第一PCP请求消息的生命周期用于表示根据所述公有网络地址信息以及所述PCP客户端的私有网络地址信息生成的数据包过滤规则的维持时间或老化时间;

所述PCP服务器根据第一PCP请求消息的生命周期和所述过滤操作码,生成包含有所述主机的公有网络地址信息以及所述PCP客户端的私有网络地址信息的数据包过滤规则,以便于所述PCP服务器在所述第一PCP请求消息的生命周期内利用所述数据包过滤规则对经由所述PCP服务器的目标数据包进行过滤,所述目标数据包的源地址信息为所述主机的公有网络地址信息,所述目标数据包的目的地址信息为所述PCP客户端的私有网络地址信息;

所述PCP服务器向所述PCP客户端发送第一确认消息。

2.根据权利要求1所述的配置方法,其特征在于,所述PCP服务器向所述PCP客户端发送第一确认消息之后,所述配置方法还包括:在所述第一PCP请求消息的生命周期内,所述PCP服务器接收到所述PCP客户端发送的第二PCP请求消息,所述第二PCP请求消息携带所述过滤操作码、所述第二PCP请求消息的生命周期和所述主机的公有网络地址信息,所述第二PCP请求消息的源地址信息为所述PCP客户端的私有网络地址信息,所述第二PCP请求消息的生命周期等于零;

所述PCP服务器删除包含有所述主机的公有网络地址信息以及所述PCP客户端的私有网络地址信息的数据包过滤规则;

所述PCP服务器向所述PCP客户端发送第二确认消息。

3.根据权利要求1或2所述的配置方法,其特征在于,所述PCP服务器向所述PCP客户端发送第一确认消息之后,所述配置方法还包括:确定所述第一PCP请求消息的生命周期结束,所述PCP服务器则删除包含有所述主机的公有网络地址信息以及所述PCP客户端的私有网络地址信息的数据包过滤规则。

4.一种数据包过滤规则的配置方法,其特征在于,包括:

端口控制协议PCP客户端向PCP服务器发送第一PCP请求消息,所述第一PCP请求消息携带过滤操作码、所述第一PCP请求消息的生命周期和位于公有网络中的主机的公有网络地址信息,所述第一PCP请求消息的源地址信息为所述PCP客户端的私有网络地址信息,所述第一PCP请求消息的生命周期大于零,所述第一PCP请求消息用于请求所述PCP服务器根据所述过滤操作码和所述第一PCP请求消息的生命周期生成包含有所述主机的公有网络地址信息以及所述PCP客户端的私有网络地址信息的数据包过滤规则,所述过滤操作码用于请求对所述数据包过滤规则进行处理,所述第一PCP请求消息的生命周期用于表示所述数据包过滤规则的维持时间或老化时间;

所述PCP客户端接收所述PCP服务器发送的响应于所述第一PCP请求消息的第一确认消息。

5.根据权利要求4所述的配置方法,其特征在于,所述PCP客户端接收所述PCP服务器发送的响应于所述第一PCP请求消息的第一确认消息之后,所述配置方法还包括:所述PCP客户端向所述PCP服务器发送第二PCP请求消息,所述第二PCP请求消息携带所述过滤操作码、所述第二PCP请求消息的生命周期和所述主机的公有网络地址信息,所述第二PCP请求消息的源地址信息为所述PCP客户端的私有网络地址信息,所述第二PCP请求消息的生命周期等于零,所述第二PCP请求消息用于请求所述PCP服务器删除包含有所述主机的公有网络地址信息以及所述PCP客户端的私有网络地址信息的数据包过滤规则;

所述PCP客户端接收所述PCP服务器发送的响应于所述第二PCP请求消息的第二确认消息。

6.一种端口控制协议PCP服务器,其特征在于,包括:

接收单元,用于接收私有网络中的PCP客户端发送的第一PCP请求消息,所述第一PCP请求消息携带过滤操作码、所述第一PCP请求消息的生命周期和位于公有网络中的主机的公有网络地址信息,所述第一PCP请求消息的源地址信息为所述PCP客户端的私有网络地址信息,所述第一PCP请求消息的生命周期大于零,所述过滤操作码用于请求对与所述公有网络地址信息以及所述PCP客户端的私有网络地址信息相对应的数据包过滤规则进行处理,所述第一PCP请求消息的生命周期用于表示根据所述公有网络地址信息以及所述PCP客户端的私有网络地址信息生成的数据包过滤规则的维持时间或老化时间;

处理单元,用于根据所述接收单元接收到的所述第一PCP请求消息的生命周期和所述过滤操作码,生成包含有所述主机的公有网络地址信息以及所述PCP客户端的私有网络地址信息的数据包过滤规则,以便于所述PCP服务器在所述第一PCP请求消息的生命周期内利用所述数据包过滤规则对经由所述PCP服务器的目标数据包进行过滤,所述目标数据包的源地址信息为所述主机的公有网络地址信息,所述目标数据包的目的地址信息为所述PCP客户端的私有网络地址信息;

发送单元,用于向所述PCP客户端发送第一确认消息。

7.根据权利要求6所述的PCP服务器,其特征在于,

所述接收单元,还用于在所述发送单元向所述PCP客户端发送第一确认消息之后,在所述第一PCP请求消息的生命周期内接收到所述PCP客户端发送的第二PCP请求消息,所述第二PCP请求消息携带所述过滤操作码、所述第二PCP请求消息的生命周期和所述主机的公有网络地址信息,所述第二PCP请求消息的源地址信息为所述PCP客户端的私有网络地址信息,所述第二PCP请求消息的生命周期等于零;

所述处理单元,还用于删除包含有所述主机的公有网络地址信息以及所述PCP客户端的私有网络地址信息的数据包过滤规则;

所述发送单元,还用于向所述PCP客户端发送第二确认消息。

8.根据权利要求6或7所述的PCP服务器,其特征在于,

所述处理单元,还用于在所述发送单元向所述PCP客户端发送第二确认消息之后,确定所述第一PCP请求消息的生命周期结束,则删除包含有所述主机的公有网络地址信息以及所述PCP客户端的私有网络地址信息的数据包过滤规则。

9.一种端口控制协议PCP客户端,其特征在于,包括:

发送单元,用于向PCP服务器发送第一PCP请求消息,所述第一PCP请求消息携带过滤操作码、所述第一PCP请求消息的生命周期和位于公有网络中的主机的公有网络地址信息,所述第一PCP请求消息的源地址信息为所述PCP客户端的私有网络地址信息,所述第一PCP请求消息的生命周期大于零,所述第一PCP请求消息用于请求所述PCP服务器根据所述过滤操作码和所述第一PCP请求消息的生命周期生成包含有所述主机的公有网络地址信息以及所述PCP客户端的私有网络地址信息的数据包过滤规则,所述过滤操作码用于请求对所述数据包过滤规则进行处理,所述第一PCP请求消息的生命周期用于表示所述数据包过滤规则的维持时间或老化时间;

接收单元,用于接收所述PCP服务器发送的响应于所述发送单元发送的所述第一PCP请求消息的第一确认消息。

10.根据权利要求9所述的PCP客户端,其特征在于,

所述发送单元,还用于在所述接收单元接收所述PCP服务器发送的响应于所述第一PCP请求消息的第一确认消息之后,向所述PCP服务器发送第二PCP请求消息,所述第二PCP请求消息携带所述过滤操作码、所述第二PCP请求消息的生命周期和所述主机的公有网络地址信息,所述第二PCP请求消息的源地址信息为所述PCP客户端的私有网络地址信息,所述第二PCP请求消息的生命周期等于零,所述第二PCP请求消息用于请求所述PCP服务器删除包含有所述主机的公有网络地址信息以及所述PCP客户端的私有网络地址信息的数据包过滤规则;

所述接收单元,还用于接收所述PCP服务器发送的响应于所述发送单元发送的所述第二PCP请求消息的第二确认消息。

11.一种数据包过滤规则的配置系统,其特征在于,包括如上述权利要求6-8中任意一项所述的PCP服务器以及如上述权利要求9-10中任意一项所述的PCP客户端,其中,所述PCP客户端与所述PCP服务器之间通过网络进行通信。

说明书 :

一种数据包过滤规则的配置方法、装置及系统

技术领域

[0001] 本发明涉及通信技术领域,尤其涉及一种数据包过滤规则的配置方法、装置及系统。

背景技术

[0002] RFC6887描述的端口控制协议(PCP,Port Control Protocol)定义了互联网协议的第四版(IPV4,Internet Protocol Version 4)/互联网协议的第六版(IPV6,Internet Protocol  Version  6)网络中一种新的网络地址转换(NAT,Network  Address Translation)机制,改变了以前具有NAT功能的网关设备、或运营商级NAT(CGN,Carrier Grade NAT)、防火墙等在执行NAT功能的过程中,对私有网络中的主机来说几乎不可知不可控的状况,可以由私有网络中的主机主动要求NAT网关设备完成NAT转换以及告知NAT网关设备该如何完成NAT转换。
[0003] 私有网络中的主机作为PCP客户端与具有PCP服务器功能的NAT网关设备通过PCP消息协商创建PCP客户端的私有网络地址和公有网络地址的映射关系,基于上述映射关系就可以实现PCP客户端到公有网络中的其他主机或公有网络的其他主机到PCP客户端的业务交互。
[0004] PCP客户端与PCP服务器之间的PCP消息利用用户数据报协议(UDP,User Datagram Protocol)承载,是一种无状态的协商过程。PCP消息主要包括PCP客户端发送的请求消息以及PCP服务器回复的响应消息。
[0005] RFC6887定义了MAP(匹配)操作码的协商模式主要适用于私有网络中的主机作为服务器为公有网络中的主机提供服务的应用场景。
[0006] PCP服务器除了能够进行网络地址转换(NAT,Network Address Translation)以外,还可以作为安全设备,比如防火墙设备,起安全防护的作用。作为安全设备的PCP服务器一般会提供数据包过滤规则,PCP服务器利用其存储的数据包过滤规则能够禁止某些业务访问,拦截恶意或非必要的访问流量。
[0007] 现有的PCP服务器存储的数据包过滤规则是由设备管理员预先配置的,而在MAP操作码的协商模式下,对于由公有网络中的主机发起的业务而言,设备管理员并不能提前获知公有网络中的主机所使用的公有网络地址信息,因此,设备管理员无法配置与该类型业务相对应的数据包过滤规则,从而导致现有的PCP服务器并不能够禁止某些不可预期的业务访问,从而导致拦截防护的效果较差。

发明内容

[0008] 本发明的实施例提供一种数据包过滤规则的配置、装置及系统,能够动态配置数据包过滤规则,从而提高拦截防护的效果。
[0009] 为达到上述目的,本发明的实施例采用如下技术方案:
[0010] 本发明实施例提供一种数据包过滤规则的配置方法,包括:端口控制协议PCP服务器接收PCP客户端发送的携带过滤操作码、第一PCP请求消息的生命周期和位于公有网络中的主机的公有网络地址信息的第一PCP请求消息,所述第一PCP请求消息的生命周期大于零,所述第一PCP请求消息的源地址信息为所述PCP客户端的私有网络地址信息;然后,所述PCP服务器根据第一PCP请求消息的生命周期和所述过滤操作码,生成包含有所述主机的公有网络地址信息以及所述PCP客户端的私有网络地址信息的数据包过滤规则,以便于所述PCP服务器在所述第一PCP请求消息的生命周期内利用所述数据包过滤规则对经由所述PCP服务器的目标数据包进行过滤,其中,目标数据包的源地址信息为所述主机的公有网络地址信息,所述目标数据包的目的地址信息为所述PCP客户端的私有网络地址信息,最后,所述PCP服务器向所述PCP客户端发送第一确认消息。
[0011] 本发明实施例中的PCP请求消息是在现有PCP规定的PCP请求消息包含的内容中,增加了过滤操作码,该过滤操作码用于请求PCP服务器对数据包过滤规则进行相应处理。PCP请求消息中会包含有生命周期,该生命周期用于表示包含有该请求中的主机的公有网络地址信息以及PCP客户端的私有网络地址信息的数据包过滤规则所维持的时间。PCP服务器在接收到包含有过滤操作码、大于零的生命周期以及位于公有网络中的主机的公有网络地址信息的第一PCP请求消息后,根据该生命周期和过滤操作码,生成包含有主机的公有网络地址信息以及PCP客户端的私有网络地址信息的数据包过滤规则,从而使得PCP服务器在第一PCP请求消息的生命周期内利用数据包过滤规则对经由PCP服务器的目标数据包进行过滤,起到安全防护作用。
[0012] 进一步地,在所述PCP服务器向所述PCP客户端发送第一确认消息之后,所述配置方法还包括:在所述第一PCP请求消息的生命周期内,所述PCP服务器接收到所述PCP客户端发送的携带所述过滤操作码、第二PCP请求消息的生命周期和所述主机的公有网络地址信息的第二PCP请求消息,所述第二PCP请求消息的生命周期等于零,所述第二PCP请求消息的源地址信息为所述PCP客户端的私有网络地址信息;然后,所述PCP服务器删除包含有所述主机的公有网络地址信息以及所述PCP客户端的私有网络地址信息的数据包过滤规则向所述PCP客户端发送第二确认消息。
[0013] 进一步地,在所述PCP服务器向所述PCP客户端发送第一确认消息之后,所述配置方法还包括:确定所述第一PCP请求消息的生命周期结束,所述PCP服务器则删除包含有所述主机的公有网络地址信息以及所述PCP客户端的私有网络地址信息的数据包过滤规则。
[0014] 可以理解的是,第一PCP请求消息的生命周期结束意味着根据第一PCP请求消息生成的包含有所述主机的公有网络地址信息以及所述PCP客户端的私有网络地址信息的数据包过滤规则失效,PCP服务器删除包含有所述主机的公有网络地址信息以及所述PCP客户端的私有网络地址信息的数据包过滤规则,能够确保资源得到合理释放。
[0015] 本发明另一实施例提供一种数据包过滤规则的配置方法,包括:端口控制协议PCP客户端向PCP服务器发送携带过滤操作码、第一PCP请求消息的生命周期和位于公有网络中的主机的公有网络地址信息的第一PCP请求消息,所述第一PCP请求消息的生命周期大于零,所述第一PCP请求消息的源地址信息为所述PCP客户端的私有网络地址信息,所述第一PCP请求消息用于请求所述PCP服务器根据所述过滤操作码和所述第一PCP请求消息的生命周期生成包含有所述主机的公有网络地址信息以及所述PCP客户端的私有网络地址信息的数据包过滤规则;在PCP服务器生成包含有所述主机的公有网络地址信息以及所述PCP客户端的私有网络地址信息的数据包过滤规则后,所述PCP客户端接收所述PCP服务器发送的第一确认消息。
[0016] 本发明实施例中的PCP客户端根据业务需求,向PCP服务器发送第一PCP请求消息,用于请求PCP服务器根据第一PCP请求消息中的过滤操作码和第一PCP请求消息的生命周期生成包含有位于公有网络中的主机的公有网络地址信息以及所述PCP客户端的私有网络地址信息的数据包过滤规则,以便于PCP服务器能够根据生成的数据包过滤规则对来自位于公有网络中的主机的目标数据包进行过滤,从而提高了拦截防护的效果。
[0017] 进一步地,在所述PCP客户端接收所述PCP服务器发送的第一确认消息之后,所述配置方法还包括:所述PCP客户端向所述PCP服务器发送携带所述过滤操作码、第二PCP请求消息的生命周期和所述主机的公有网络地址信息的第二PCP请求消息,所述第二PCP请求消息的生命周期等于零,所述第二PCP请求消息用于请求所述PCP服务器删除包含有所述主机的公有网络地址信息以及所述PCP客户端的私有网络地址信息的数据包过滤规则;在PCP服务器删除包含有所述主机的公有网络地址信息以及所述PCP客户端的私有网络地址信息的数据包过滤规则之后,所述PCP客户端接收所述PCP服务器发送的第二确认消息。
[0018] 本发明实施例提供一种端口控制协议PCP服务器,包括:接收单元、处理单元和发送单元。
[0019] 具体的,本发明实施例提供的各个单元模块所实现的功能具体如下:
[0020] 接收单元,用于接收私有网络中的PCP客户端发送的第一PCP请求消息,所述第一PCP请求消息携带过滤操作码、所述第一PCP请求消息的生命周期和位于公有网络中的主机的公有网络地址信息,所述第一PCP请求消息的源地址信息为所述PCP客户端的私有网络地址信息,所述第一PCP请求消息的生命周期大于零;
[0021] 处理单元,用于根据所述接收单元接收到的所述第一PCP请求消息的生命周期和所述过滤操作码,生成包含有所述主机的公有网络地址信息以及所述PCP客户端的私有网络地址信息的数据包过滤规则,以便于所述PCP服务器在所述第一PCP请求消息的生命周期内利用所述数据包过滤规则对经由所述PCP服务器的目标数据包进行过滤,所述目标数据包的源地址信息为所述主机的公有网络地址信息,所述目标数据包的目的地址信息为所述PCP客户端的私有网络地址信息;
[0022] 发送单元,用于向所述PCP客户端发送第一确认消息。
[0023] 本发明实施例提供的PCP服务器的技术效果可以参见上述实施例中PCP服务器执行的数据包过滤规则的配置方法中描述的PCP服务器的技术效果,此处不再赘述。
[0024] 进一步地,所述接收单元,还用于在所述发送单元向所述PCP客户端发送第一确认消息之后,在所述第一PCP请求消息的生命周期内接收到所述PCP客户端发送的第二PCP请求消息,所述第二PCP请求消息携带所述过滤操作码、所述第二PCP请求消息的生命周期和所述主机的公有网络地址信息,所述第二PCP请求消息的源地址信息为所述PCP客户端的私有网络地址信息,所述第二PCP请求消息的生命周期等于零。
[0025] 进一步地,所述处理单元,还用于删除包含有所述主机的公有网络地址信息以及所述PCP客户端的私有网络地址信息的数据包过滤规则。
[0026] 进一步地,所述发送单元,还用于向所述PCP客户端发送第二确认消息。
[0027] 进一步地,所述处理单元,还用于在所述发送单元向所述PCP客户端发送第二确认消息之后,确定所述第一PCP请求消息的生命周期结束,则删除包含有所述主机的公有网络地址信息以及所述PCP客户端的私有网络地址信息的数据包过滤规则。
[0028] 本发明另一实施例提供一种端口控制协议PCP客户端,包括发送单元和接收单元。
[0029] 具体的,本发明实施例提供的各个单元模块所实现的功能具体如下:
[0030] 发送单元,用于向PCP服务器发送第一PCP请求消息,所述第一PCP请求消息携带过滤操作码、所述第一PCP请求消息的生命周期和位于公有网络中的主机的公有网络地址信息,所述第一PCP请求消息的源地址信息为所述PCP客户端的私有网络地址信息,所述第一PCP请求消息的生命周期大于零,所述第一PCP请求消息用于请求所述PCP服务器根据所述过滤操作码和所述第一PCP请求消息的生命周期生成包含有所述主机的公有网络地址信息以及所述PCP客户端的私有网络地址信息的数据包过滤规则。
[0031] 接收单元,用于接收所述PCP服务器发送的响应于所述发送单元发送的所述第一PCP请求消息的第一确认消息。
[0032] 本发明实施例提供的PCP客户端的技术效果可以参见上述实施例中PCP客户端执行的数据包过滤规则的配置方法中描述的PCP客户端的技术效果,此处不再赘述。
[0033] 进一步地,所述发送单元,还用于在所述接收单元接收所述PCP服务器发送的响应于所述第一PCP请求消息的第一确认消息之后,向所述PCP服务器发送第二PCP请求消息,所述第二PCP请求消息携带所述过滤操作码、所述第二PCP请求消息的生命周期和所述主机的公有网络地址信息,所述第二PCP请求消息的源地址信息为所述PCP客户端的私有网络地址信息,所述第二PCP请求消息的生命周期等于零,所述第二PCP请求消息用于请求所述PCP服务器删除包含有所述主机的公有网络地址信息以及所述PCP客户端的私有网络地址信息的数据包过滤规则。
[0034] 进一步地,所述接收单元,还用于接收所述PCP服务器发送的响应于所述发送单元发送的所述第二PCP请求消息的第二确认消息。
[0035] 本发明另一实施例提供一种数据包过滤规则的配置系统,包括如上述任意一项所述的PCP服务器以及如上述任意一项所述的PCP客户端,其中,所述PCP客户端与所述PCP服务器之间通过网络连接。
[0036] 本发明实施例提供的网络系统的技术效果可以参见上述实施例中PCP服务器执行的数据包过滤规则的配置方法中描述的PCP服务器的技术效果和上述实施例中PCP客户端执行的数据包过滤规则的配置方法中描述的PCP客户端的技术效果,此处不再赘述。
[0037] 可选的,上述任意一个实施例中所述PCP客户端的私有网络地址信息包括所述PCP客户端的私有网络互联网协议IP地址信息和与所述私有网络IP地址信息对应的端口信息,所述位于公有网络中的主机的公有网络地址信息包括所述主机的公有网络IP地址信息以及与所述公有网络IP地址信息对应的端口信息。

附图说明

[0038] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。
[0039] 图1为本发明实施例提供的数据包过滤规则的配置系统的结构示意图一;
[0040] 图2为本发明实施例提供的数据包过滤规则的配置系统的组成示意图;
[0041] 图3为本发明实施例提供的配置方法的流程示意图一;
[0042] 图4为本发明实施例提供的配置方法的流程示意图二;
[0043] 图5为本发明实施例提供的PCP服务器的结构示意图一;
[0044] 图6为本发明实施例提供的PCP服务器的结构示意图二;
[0045] 图7为本发明实施例提供的PCP客户端的结构示意图一;
[0046] 图8为本发明实施例提供的PCP客户端的结构示意图二。

具体实施方式

[0047] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述。
[0048] 本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于限定特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0049] 以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透切理解本发明。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
[0050] 另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
[0051] 图1是本发明实施例提供的数据包过滤规则的配置系统的结构示意图。参见图1,该配置系统包括PCP服务器10、一个或多个与PCP服务器10连接的PCP客户端11,一个或者多个与PCP服务器10连接的互联网服务提供商(ISP,Internet Service Provider)设备12。PCP客户端11归属于私有网络1,ISP设备12归属于公有网络2,PCP服务器10位于私有网络1与公有网络2的接口处。其中,私有网络可以是企业的局域网,公有网络可以是互联网。私有网络通过具有NAT功能的接入设备连接到公有网络。
[0052] 其中,本发明实施例中的PCP服务器10是指能够支持PCP的服务端设备,PCP客户端11是指能够支持PCP的客户端设备。
[0053] 可选的,本发明实施例中的PCP服务器10可以为防火墙(FW,Firewall)设备、具有NAT功能的网关设备或者CGN设备。
[0054] 可选的,本发明实施例中的PCP客户端11可以为用户终端,也可以为家庭网关。
[0055] 图2是本发明实施例提供的数据包过滤规则的配置系统的组成示意图。
[0056] 参见图2,该配置系统中的PCP服务器10包括数据包过滤规则数据库20,数据包过滤规则数据库20用于保存PCP服务器生成的数据包过滤规则。
[0057] 该PCP服务器10还包括接口电路100、处理器101以及存储器102。接口电路100用于和与该PCP服务器10相连接的PCP客户端11进行通信,以及和与该PCP服务器10相连接的ISP设备12进行通信。处理器101用于对数据包过滤规则进行相应处理。存储器102用于存储数据库20。
[0058] 该配置系统中的PCP客户端11包括接口电路110、处理器111以及存储器112。接口电路110用于和与该PCP客户端11相连接的PCP服务器10进行通信。
[0059] 实施例一
[0060] 图3为本发明实施例提供的一种数据包过滤规则的配置方法的流程示意图,该配置方法可以应用在图1或图2所示的应用场景中。
[0061] 参见图3,该配置方法包括:
[0062] S100、PCP客户端向PCP服务器发送携带过滤操作码、第一PCP请求消息的生命周期和位于公有网络中的主机的公有网络地址信息的第一PCP请求消息,其中,第一PCP请求消息的生命周期大于零,第一PCP请求消息的源地址信息为PCP客户端的私有网络地址信息。
[0063] 可选的,本发明实施例中的PCP客户端的私有网络地址信息包含PCP客户端的私有网络互联网协议(IP,Internet Protocol)地址信息以及与私有网络IP地址信息对应的端口信息,位于公有网络中的主机的公有网络地址信息包括该主机的公有网络IP地址信息以及与公有网络IP地址信息对应的端口信息。
[0064] 其中,第一PCP请求消息的生命周期用于表示根据第一PCP请求消息中的主机的公有网络地址信息以及PCP客户端的私有网络地址信息生成的数据包过滤规则的维持时间或老化时间。关于生命周期的具体定义可以参见RFC6887,此处不再对此进行详细赘述。
[0065] 具体的,本发明实施例中的过滤操作码用于请求PCP服务器对与主机的公有网络地址信息以及PCP客户端的私有网络地址信息相对应的数据包过滤规则进行处理。
[0066] 现有PCP规定的操作码只有MAP和PEER,这两种操作码仅仅是用于匹配和交换。本发明实施例中的PCP请求消息是在现有PCP规定的PCP请求消息包含的内容基础上,进一步增加了过滤操作码,具体地过滤操作码的取值可以为10,即Opcode=10,只要保证过滤操作码的值与现有操作码MAP和PEER的取值不同即可。
[0067] 实际应用中,PCP客户端发送的包含有过滤操作码的PCP请求消息还可以包括以下字段:
[0068] 映射随机数(Mapping Nonce),具体为PCP客户端选择的随机数,用于标识请求的唯一性;
[0069] 协议(Protocol),用于表示PCP请求可以支持的协议,若Protocol的值为零,则表示可以支持任意协议;
[0070] 内部端口(Internal Port),用于表示PCP客户端的端口,若Internal Port的值为零,则表示PCP客户端的所有端口。
[0071] 在此基础上,该PCP请求消息还可以包括若干的预留(Reserved)字段。
[0072] 关于Mapping Nonce、Protocol、Internal Port和Reserved的具体定义,可以参考RFC6887,此处不再进行详细赘述。
[0073] 示例性的,表1示出了本发明实施例中包含有过滤操作码的PCP请求消息的具体格式。如表1所示(表1中省去了字节标号),该PCP请求消息包括上述的所有字段以及若干的Reserved字段。
[0074] 表1
[0075]
[0076] 需要说明的是,表1所示的本发明实施例中的PCP请求消息的格式,仅仅为本发明实施例中的一个格式举例。在实际应用中,上述字段的长度以及各字段的位置可以根据协议实现需要灵活设置,此处不再一一列举。
[0077] S101、PCP服务器根据第一PCP请求消息的生命周期和过滤操作码,生成包含有主机的公有网络地址信息以及PCP客户端的私有网络地址信息的数据包过滤规则。
[0078] 第一PCP请求消息的生命周期大于零时,PCP服务器根据第一PCP请求消息的生命周期和过滤操作码,生成包含有主机的公有网络地址信息以及PCP客户端的私有网络地址信息的数据包过滤规则。
[0079] 进一步地,在第一PCP请求消息的生命周期内,PCP服务器利用其生成的数据包过滤规则对经由PCP服务器的目标数据包进行过滤,实现对恶意流量的拦截。其中,目标数据包的源地址信息为主机的公有网络地址信息,目标数据包的目的地址信息为PCP客户端的私有网络地址信息。
[0080] 具体的,PCP服务器在接收到业务报文后,判断该业务报文的源地址信息是否和已生成的数据包过滤规则中的主机的公有网络地址信息相同,并判断业务报文的目的地址信息是否和已生成的数据包过滤规则中的PCP客户端的私有网络地址信息相同,若均相同,则PCP服务器将其接收到的业务报文发送至PCP客户端。
[0081] 示例性的,PCP服务器接收到的第一PCP请求消息中包含:过滤操作码、PCP客户端的私有网络IP地址信息为1.1.1.1,PCP客户端的端口是8000,公有网络中的主机的公有网络IP地址信息是2.2.2.2,主机的端口是5000,生命周期为5分钟。PCP服务器根据该第一PCP请求消息生成的数据包过滤规则为:只允许公有网络中IP地址信息为2.2.2.2的主机通过5000这个端口访问私有网络中IP地址为1.1.1.1,且端口为8000的PCP客户端,该数据包过滤规则的生命周期为5分钟。PCP服务器在生成该数据包过滤规则后,5分钟之内只允许公有网络中IP地址信息为2.2.2.2的主机通过5000这个端口访问私有网络中IP地址为1.1.1.1,且端口为8000的PCP客户端,实现了对不可预期的业务的拦截。
[0082] S102、PCP服务器向PCP客户端发送第一确认消息。
[0083] PCP服务器根据第一PCP请求消息的生命周期和过滤操作码,生成包含有主机的公有网络地址信息以及PCP客户端的私有网络地址信息的数据包过滤规则后,向PCP客户端发送第一确认消息,以使得PCP客户端获知PCP服务器已经生成了包含主机的公有网络地址信息以及PCP客户端的私有网络地址信息的数据包过滤规则。
[0084] 进一步地,PCP服务器生成包含有主机的公有网络地址信息以及PCP客户端的私有网络地址信息的数据包过滤规则之后,PCP客户端还可以向PCP服务器发送包含有过滤操作码、生命周期等于零、上述主机的公有网络地址信息的第二PCP请求消息,请求PCP服务器删除包含有上述位于公有网络中的主机的公有网络地址信息以及上述PCP客户端的私有网络地址信息的数据包过滤规则。
[0085] 具体的,结合图3,如图4所示,本发明实施例提供的数据包过滤规则的配置方法在S102之后,还包括:
[0086] S103、PCP客户端向PCP服务器发送包含所述过滤操作码、第二PCP请求消息的生命周期和所述主机的公有网络地址信息的第二PCP请求消息,其中,第二PCP请求消息的生命周期等于零,第二PCP请求消息的源地址信息为PCP客户端的私有网络地址信息。
[0087] 第二PCP请求消息的生命周期为零,则说明PCP客户端不再对目标数据包进行过滤,其中,目标数据包的源地址信息为上述主机的公有网络地址信息,目标数据包的目的地址信息为上述PCP客户端的私有网络地址信息,也就是说,包含有第二PCP请求消息中的主机的公有网络地址信息以及PCP客户端的私有网络地址信息的数据包过滤规则失效,因此,PCP服务器需要将该数据包过滤规则删除。
[0088] S104、PCP服务器删除包含有所述主机的公有网络地址信息以及所述PCP客户端的私有网络地址信息的数据包过滤规则。
[0089] 由于第二PCP请求消息中包含的地址信息与第一PCP请求消息包含的地址信息相同,因此,即使第一PCP请求消息的生命周期没有结束,PCP服务器在接收到第二PCP请求消息后,也需要将根据第一PCP请求消息生成的数据包过滤规则删除。
[0090] S105、PCP服务器向PCP客户端发送第二确认消息。
[0091] 进一步地,PCP服务器生成包含有主机的公有网络地址信息以及PCP客户端的私有网络地址信息的数据包过滤规则之后,在PCP服务器确定第一PCP请求消息的生命周期结束时,PCP服务器删除包含有主机的公有网络地址信息以及PCP客户端的私有网络地址信息的数据包过滤规则。
[0092] 可以理解的是,PCP服务器根据第一PCP请求消息生成数据包过滤规则时,PCP服务器开始计时,以保证在第一PCP请求消息的生命周期内利用该数据包过滤规则对经由PCP服务器的目标数据包进行过滤。
[0093] 其中,本发明实施例中PCP服务器计时的方法可以为从0开始递加计时直至到达第一PCP请求消息的生命周期的值,停止计时,也可以为从第一PCP请求消息的生命周期的值开始递减计时直至为0,停止计时。
[0094] 本发明实施例中的PCP服务器根据接收到的过滤操作码和生命周期生成或删除包含主机的公有网络地址信息以及PCP客户端的私有网络地址信息的数据包过滤规则,以便于PCP服务器对经由自身的目标数据包进行动态拦截,从而提高了拦截防护的效果。
[0095] 实施例二
[0096] 本发明实施例提供一种端口控制协议PCP服务器1,所述PCP服务器1用于执行以上方法中的PCP服务器所执行的步骤。所述PCP服务器1可以包括相应步骤所对应的模块。如图5所示,该PCP服务器1包括:
[0097] 接收单元50,用于接收私有网络中的PCP客户端发送的第一PCP请求消息,所述第一PCP请求消息携带过滤操作码、所述第一PCP请求消息的生命周期和位于公有网络中的主机的公有网络地址信息,所述第一PCP请求消息的源地址信息为所述PCP客户端的私有网络地址信息,所述第一PCP请求消息的生命周期大于零。
[0098] 处理单元51,用于根据所述接收单元50接收到的所述第一PCP请求消息的生命周期和所述过滤操作码,生成包含有所述主机的公有网络地址信息以及所述PCP客户端的私有网络地址信息的数据包过滤规则,以便于所述PCP服务器在所述第一PCP请求消息的生命周期内利用所述数据包过滤规则对经由所述PCP服务器的目标数据包进行过滤,所述目标数据包的源地址信息为所述主机的公有网络地址信息,所述目标数据包的目的地址信息为所述PCP客户端的私有网络地址信息。
[0099] 发送单元52,用于向所述PCP客户端发送第一确认消息。
[0100] 进一步地,所述接收单元50,还用于在所述发送单元52向所述PCP客户端发送第一确认消息之后,在所述第一PCP请求消息的生命周期内接收到所述PCP客户端发送的第二PCP请求消息,所述第二PCP请求消息携带所述过滤操作码、所述第二PCP请求消息的生命周期、所述主机的公有网络地址信息,所述第二PCP请求消息的源地址信息为所述PCP客户端的私有网络地址信息,所述第二PCP请求消息的生命周期等于零。
[0101] 进一步地,所述处理单元51,还用于删除包含有所述主机的公有网络地址信息以及所述PCP客户端的私有网络地址信息的数据包过滤规则。
[0102] 进一步地,所述发送单元52,还用于向所述PCP客户端发送第二确认消息。
[0103] 进一步地,所述处理单元51,还用于在所述发送单元52向所述PCP客户端发送第二确认消息之后,确定所述第一PCP请求消息的生命周期结束,则删除包含有所述主机的公有网络地址信息以及所述PCP客户端的私有网络地址信息的数据包过滤规则。
[0104] 可选的,本发明实施例中的所述PCP客户端的私有网络地址信息包括所述PCP客户端的私有网络互联网协议IP地址信息和与所述私有网络IP地址信息对应的端口信息,位于公有网络中的主机的公有网络地址信息包括该主机的公有网络IP地址信息以及与公有网络IP地址信息对应的端口信息。
[0105] 可以理解的是,本实施例的PCP服务器1仅为根据该PCP服务器1实现的功能进行的逻辑划分,实际应用中,可以进行上述单元的叠加或拆分。并且该实施例提供的PCP服务器1所实现的功能与上述实施例一提供的数据包过滤规则的配置方法一一对应,对于该PCP服务器1所实现的更为详细的处理流程,在上述方法实施例一中已做详细描述,此处不再详细描述。
[0106] 本发明另一实施例提供一种PCP服务器,如图6所示,该PCP服务器包括接口电路100、处理器101、存储器102和系统总线103。
[0107] 其中,所述接口电路100、所述处理器101与所述存储器102之间通过所述系统总线103连接,并完成相互间通信。
[0108] 图6所示的PCP服务器与图2中PCP服务器相同,图2中未示出系统总线103。
[0109] 本领域技术人员可以理解,图6所示的PCP服务器的结构并不是对PCP服务器的限定,其可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0110] 具体的,当所述PCP服务器运行时,所述PCP服务器执行实施例一所描述的数据包过滤规则的配置方法。具体的数据包过滤规则的配置方法可参见上述如图3或图4所示的实施例中的相关描述,此处不再赘述。
[0111] 具体的,接口电路100用于实现该PCP服务器分别与PCP客户端和公有网络之间的通信连接,其中,PCP服务器分别与PCP客户端和公有网络之间的通信连接可以使用互联网,广域网,本地网,城域网等。
[0112] 具体的,所述存储器102可用于存储软件程序以及应用模块,处理器101通过运行存储在存储器102的软件程序以及应用模块,从而执行PCP服务器的各种功能应用以及数据处理。存储器102可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如发送确认消息功能)等;存储数据区可存储PCP服务器创建的数据(比如数据包过滤规则数据库20)等。
[0113] 其中,所述存储器102可以包括易失性存储器,例如高速随机存取存储器(RAM,Random Access Memory),所述存储器102也可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0114] 具体的,所述处理器101是PCP服务器的控制中心,利用各种接口和线路连接整个PCP服务器的各个部分,通过运行或执行存储在存储器102内的软件程序和/或应用模块,以及调用存储在存储器102内的数据,执行PCP服务器的各种功能和处理数据,从而对PCP服务器进行整体监控。
[0115] 其中,处理器101可以为中央处理器(CPU,Central Processing Unit)。所述处理器101还可以为其他通用处理器、数字信号处理器(DSP,Digital Signal Processing)或者其他可编程逻辑器件或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0116] 所述系统总线103可以包括数据总线、电源总线、控制总线和信号状态总线等。本实施例中为了清楚说明,在图6中将各种总线都示意为系统总线103。
[0117] 本发明实施例中的PCP服务器根据接收到的过滤操作码和生命周期生成或删除包含有主机的公有网络地址信息和PCP客户端的私有网络地址信息的数据包过滤规则,以便于PCP服务器对经由自身的目标数据包进行动态拦截,从而提高了拦截防护的效果。
[0118] 实施例三
[0119] 本发明实施例提供一种端口控制协议PCP客户端1,所述PCP客户端1用于执行以上方法中的PCP客户端所执行的步骤。所述PCP客户端1可以包括相应步骤所对应的模块。如图7所示,该PCP客户端1包括:
[0120] 发送单元60,用于向PCP服务器发送第一PCP请求消息,所述第一PCP请求消息携带过滤操作码、所述第一PCP请求消息的生命周期、位于公有网络中的主机的公有网络地址信息,所述第一PCP请求消息的源地址信息为所述PCP客户端的私有网络地址信息,所述第一PCP请求消息的生命周期大于零,所述第一PCP请求消息用于请求所述PCP服务器根据所述过滤操作码和所述第一PCP请求消息的生命周期生成包含有所述主机的公有网络地址信息以及所述PCP客户端的私有网络地址信息的数据包过滤规则。
[0121] 接收单元61,用于接收所述PCP服务器发送的响应于所述发送单元60发送的所述第一PCP请求消息的第一确认消息。
[0122] 进一步地,所述发送单元60,还用于在所述接收单元61接收所述PCP服务器发送的响应于所述第一PCP请求消息的第一确认消息之后,向所述PCP服务器发送第二PCP请求消息,所述第二PCP请求消息携带所述过滤操作码、所述第二PCP请求消息的生命周期、所述主机的公有网络地址信息,所述第二PCP请求消息的源地址信息为所述PCP客户端的私有网络地址信息,所述第二PCP请求消息的生命周期等于零,所述第二PCP请求消息用于请求所述PCP服务器删除包含有所述主机的公有网络地址信息以及所述PCP客户端的私有网络地址信息的数据包过滤规则。
[0123] 进一步地,所述接收单元61,还用于接收所述PCP服务器发送的响应于所述发送单元60发送的所述第二PCP请求消息的第二确认消息。
[0124] 可选的,本发明实施例中的所述PCP客户端的私有网络地址信息包括所述PCP客户端的私有网络互联网协议IP地址信息和与所述私有网络IP地址信息对应的端口信息,位于公有网络中的主机的公有网络地址信息包括该主机的公有网络IP地址信息以及与公有网络IP地址信息对应的端口信息。
[0125] 可以理解的是,本实施例的PCP客户端1仅为根据该PCP客户端1实现的功能进行的逻辑划分,实际应用中,可以进行上述单元的叠加或拆分。并且该实施例提供的PCP客户端1所实现的功能与上述实施例一提供的数据包过滤规则的配置方法一一对应,对于该PCP客户端1所实现的更为详细的处理流程,在上述方法实施例一中已做详细描述,此处不再详细描述。
[0126] 本发明另一实施例提供一种PCP客户端,如图8所示,该PCP客户端包括接口电路110、处理器111、存储器112和系统总线113。
[0127] 其中,所述接口电路110、所述处理器111与所述存储器112之间通过所述系统总线113连接,并完成相互间通信。
[0128] 图8所示的PCP客户端与图2中PCP客户端相同,图2中未示出系统总线113。
[0129] 本领域技术人员可以理解,图8所示的PCP客户端的结构并不是对PCP客户端的限定,其可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0130] 具体的,当所述PCP客户端运行时,所述PCP客户端执行如图3或图4所述的实施例的分配公网地址的方法。具体的分配公网地址的方法可参见上述如图3或图4所示的实施例中的相关描述,此处不再赘述。
[0131] 具体的,接口电路110用于实现该PCP客户端与PCP服务器之间的通信连接,二者之间的通信可以使用互联网,广域网,本地网,城域网等。
[0132] 具体的,所述存储器112可用于存储软件程序以及应用模块,处理器111通过运行存储在存储器112的软件程序以及应用模块,从而执行PCP客户端的各种功能应用以及数据处理。存储器112可主要包括存储程序区该存储程序区可存储操作系统、至少一个功能所需的应用程序(比如发送确认消息功能)等。
[0133] 其中,所述存储器112可以包括易失性存储器,例如高速随机存取存储器(RAM,Random Access Memory),所述存储器112也可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0134] 具体的,所述处理器111是PCP客户端的控制中心,利用各种接口和线路连接整个PCP客户端的各个部分,通过运行或执行存储在存储器112内的软件程序和/或应用模块,以及调用存储在存储器112内的数据,执行PCP客户端的各种功能和处理数据,从而对PCP客户端进行整体监控。
[0135] 其中,处理器111可以为中央处理器(CPU,Central Processing Unit)。所述处理器111还可以为其他通用处理器、数字信号处理器(DSP,Digital Signal Processing)或者其他可编程逻辑器件或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0136] 所述系统总线113可以包括数据总线、电源总线、控制总线和信号状态总线等。本实施例中为了清楚说明,在图8中将各种总线都示意为系统总线113。
[0137] 本发明实施例中的PCP客户端向PCP服务器发送包含过滤操作码、生命周期和位于公有网络中的主机的公有网络地址信息的第一PCP请求消息,用于请求PCP服务器根据过滤操作码和生命周期生成包含有主机的公有网络地址信息和PCP客户端的私有网络地址信息的数据包过滤规则,以便于PCP服务器能够根据生成的数据包过滤规则对经由PCP服务器的目标数据包进行过滤,从而提高了拦截防护的效果。
[0138] 实施例四
[0139] 本发明实施例提供一种数据包过滤规则的配置系统,该配置系统包括如实施例二所述的PCP服务器以及如实施例三所述的PCP客户端,其中,PCP服务器与PCP客户端之间通过网络连接。
[0140] 对于PCP服务器所实现的更为详细的处理流程,在上述实施例二中已做详细描述,此处不再详细描述。
[0141] 对于PCP客户端所实现的更为详细的处理流程,在上述实施例三中已做详细描述,此处不再详细描述。
[0142] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0143] 在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0144] 作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0145] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0146] 本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0147] 尽管已描述了本申请的可选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括可选实施例以及落入本申请范围的所有变更和修改。
[0148] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。