用于重定向网络通信连接的方法及装置的制作方法

文档序号:7966919阅读:108来源:国知局
专利名称:用于重定向网络通信连接的方法及装置的制作方法
技术领域
本发明属于计算机网络安全技术领域,涉及一种重定向网络通信连接的方法和装置,特别是一种通过监测内部网络IP地址的活跃性,将特定的网络通信连接重定向到指定接收系统的方法和装置。
背景技术
一个通过网络连接装置连向外部internet互联网络(以下简称外部网络)的内部网络可能占有多个internet互联网IP地址(以下简称IP地址),这些IP地址中可能部分被内部网络的主机使用,部分未被使用。使用这些IP地址的主机可能当前正在和外部网络数据源进行通信,也可能没有。通常把当前正在和外部网络数据源进行通信的主机使用的IP地址称为活跃的IP地址,把其他主机使用的IP地址以及未使用的IP地址统称为非活跃的IP地址。
外部网络和内部网络通过一个网络连接装置相连,双方的数据交互都要通过这个网络连接装置来转发给对方。要将外部网络数据源向内部网络非活跃IP地址发起的通信连接重定向到指定接收系统,可以在网络连接装置上按如下操作来实现1、对于从外部网络数据源发来的数据包首先判别是否属于希望重定向的连接,如果是,重定向到指定接收系统。
2、对于从指定接收系统发来的数据包首先判断是否属于希望重定向的连接,如果是,重定向到外部网络数据源。
这样的通信连接的重定向需要解决几个问题A、一个内部网络的IP地址可能在某一时间是非活跃IP地址,可能在另一时间是活跃IP地址,这个重定向方法必须监测内部网络IP地址的活跃性,在该IP地址非活跃时重定向通信连接,在活跃时则停止重定向通信连接。
B、有的接收系统希望收集到原封不动的数据包,也有的接收系统希望数据包经过某些处理后再传送给它,比如将数据包的目的地址修改为接收系统的地址等等。
C、不能让外部网络数据源感觉到通信连接被重定向了,返回给外部网络数据源的数据包必须看上去象从原先企图连接的那个非活跃IP地址发出来的一样。
然而在已知的现有技术中,目前没有能够恰当地解决上述几个问题的方案。通常比较接近的方法是固定设置某一部分内部网络IP地址为活跃,另外一部分为非活跃,再在网络连接装置上设置一个处理和转发通道,该通道连向接收系统,最后将外部网络数据源向非活跃IP地址发起的通信连接通过这个处理和转发通道重定向到接收系统。这个方法存在的问题是不能监测哪些内部网络IP地址是活跃的,哪些是非活跃的,不能动态地根据IP地址的活跃性确定是否重定向一个通信连接。也就是说,现有技术中还没有能够监测内部网络IP地址活跃性并且实时地根据这个活跃性重定向通信连接的方法。

发明内容
本发明的目的是提供一种监测内部网络IP地址的活跃性,并将外部网络向内部网络非活跃IP地址发起的通信连接重定向到指定的接收系统,而在该IP地址变为活跃时停止重定向的方法;以及一种根据同样的构思对从接收系统发往外部网络的数据进行重定向的方法。
本发明的另一目的是提供用于实现上述方法的网络连接装置,该装置称为重定向网关,该网关有一条连向外部网络的通道,一条连向内部网络的通道,以及一条连向接收系统的通道。
所述的重定向网络通信连接的方法是一种两步处理法,即首先查表判别数据包是否符合重定向要求,其后根据查询结果放行或者重定向该数据包。由于其中将查询的表即时地反映着当前活跃的IP地址,这样本方法就能够即时重定向一个通信连接,也能即时停止重定向该通信连接。
上述的重定向方法根据数据包的流动方向可分为正向和逆向两种情况。其中所述的正向指从外部网络数据源到接收系统的方向,所述的逆向指从接收系统到外部网络数据源的方向。
其中,重定向方法中的正向处理过程由一个IP地址转发规则模块和一个正向转发模块完成。其中的IP地址转发规则模块用于判断外部网络数据源向内部网络数据目标发起的通信连接是否应该被重定向,其构成具有如下特征1、此模块包括一张IP地址转发规则表,该表用于登记内部网络的活跃IP地址。该表的每个表项包含如下属性一个IP地址、一个自动随时间不断递减的剩余存活时间。
2、内部网络数据源向外部网络数据目标发送的数据包都需要通过两个网络连接处的重定向网关来转发,重定向网关每收到这样一个来自内部网络的数据包时首先查询该数据包的源地址是否已经登记到IP地址转发规则表的表项中,如果该IP地址已经登记到一个表项了,则将该表项里面的剩余存活时间恢复为初始值,如果该IP地址还没有登记,则新建一个表项来登记这个IP地址,并将其剩余存活时间设置为初始值。
3、每隔一定时间遍历一次IP地址转发规则表,将剩余存活时间递减到0的表项删除。
其中的正向转发模块的构成有如下特征1、该模块包含一个数据包改造参数表,该表用于记录被重定向的每一个通信连接以及对该连接所属数据包的正向和逆向改造的参数。正向改造可以使得数据包符合接收系统的要求,逆向改造可以使得返回给外部网络数据源的数据包看上去象从原先企图连接的那个非活跃IP地址发出来的一样,也就是说外部网络数据源无法感觉到通信连接被重定向了。具体的正向改造和逆向改造的策略可以由使用者预先定义。
2、此数据包改造参数表的每个表项包含四个属性通信连接、正向改造参数表、逆向改造参数表、一个随时间不断递减的剩余存活时间。
3、每次IP地址转发规则模块传递一个数据包给正向转发模块时都会查找该数据包所属通信连接是否已经存在于数据包改造参数表中,如果存在,该通信连接表项的剩余存活时间恢复为初始值。这点在后面的正向处理方法还会提及。
4、每隔一定时间遍历一次数据包改造参数表,将剩余存活时间递减到0的表项删除。整个重定向通信连接的正向处理方法的详细步骤描述如下1)当一个来自外部网络的数据包到达重定向网关后,IP地址转发规则模块首先查询其目的地址是否在IP地址转发规则表中,如果是,则不干预这个数据包的流向,如果不是,将数据包交给正向转发模块处理。
2)正向转发模块收到数据包后查询数据包改造参数表,判断此数据包是否属于表中记录的某个通信连接,如果是,则取出该通信连接的正向改造参数并用此参数对数据包做正向改造,改造完毕后发送给接收系统,同时将该通信连接表项的剩余存活时间恢复为初始值。如果发现此数据包不属于表中记录的任何通信连接,则根据此数据包构造一个通信连接、根据预定的正向改造策略确定正向改造参数、根据预定的逆向改造策略确定逆向改造参数,然后将该通信连接及其正向改造参数、逆向改造参数、初始剩余存活时间组合成一个表项插入到数据包改造参数表中,最后根据所述的正向改造参数对数据包做正向改造后发送给接收系统。
逆向处理方法由上述的数据包改造参数表和一个逆向转发模块完成,其中,逆向转发模块包括数据包改造参数表的查询单元,用于查询正向转发模块中的数据包改造参数表;数据包改造单元,用于根据被查询到的通信连接的逆向改造参数对数据包做逆向改造;数据包发送单元,用于将改造后的数据包发送给外部网络数据源。
逆向处理步骤描述如下逆向转发模块收到来自接收系统的数据包之后查询正向转发模块中的数据包改造参数表,判断该数据包是否属于表中某个通信连接,如果是,则取出该通信连接的逆向改造参数并用此参数对数据包做逆向改造,改造完毕后发送给外部网络数据源。如果发现此数据包不属于表中记录的任何通信连接,则不干预此数据包的流向。
本发明的技术效果在于1)实现了对内部网络IP地址的活跃性的实时监测,并且能够即时地重定向外部网络向内部非活跃IP地址发起的通信连接。
2)实现了重定向通信连接过程时对数据包的灵活改造。
本领域的技术人员能够理解,上述的重定向方法中的逆向和正向处理步骤是基于同一发明构思、实现同一发明目的两个对称的方面。在实际运用中,不包含逆向处理步骤的重定向方法同样也能够实现本发明的目的并达到本发明所述的效果。而逆向处理步骤的加入则能够使本发明更加完善。


图1为本发明重定向通信连接装置(重定向网关)的外部关系示意图;图2为重定向通信连接方法的正向处理流程图;图3为重定向通信连接方法的逆向处理流程图。
具体实施例方式
下面参照本发明的附图,结合最佳实施例详细描述本发明。
如图1所示,是重定向网关连接外部网络、内部网络和接收系统的示意图。在本实施中重定向网关采用一台三网卡的计算机系统,分别连接外部网络、内部网络、接收系统。
如图2所示,表示重定向通信连接方法中的正向处理流程图。
(1)由于外部网络、内部网络、接收系统分别接在本装置计算机系统的不同网口上,所以本例可以根据数据包的接收网口判断数据包来自何处。在步骤(1)中,假定一个来自外部网络的TCP数据包到达此计算机。
(2)根据数据包的目的地址查询IP地址转发表,如果查询到,说明该数据包发往一个活跃IP地址,重定向网关不干预此数据包的流向,直接放行。如果没查询到,则说明该数据包发往一个非活跃IP地址,重定向网关将数据包交给正向转发模块处理。
(3)正向转发模块取出此数据包的协议、目的和源地址等通信连接的描述信息构成一个查询组合并用此组合查询数据包改造参数表,判别是否有某个通信连接可以匹配上这个组合。如果没有匹配上,转到下一步,如果匹配上了,直接转到步骤(5)。
(4)根据上一步骤生成的查询组合构造出的通信连接的描述,再结合预先定义的正向和逆向改造策略,生成正向和逆向改造参数表,最后将通信连接的描述、正向和逆向改造参数表以及初始化剩余存活时间形成一个表项插入到数据包改造参数表中。假定预先定义的正向改造方案是修改数据包目的地址为接收系统,则正向改造参数表有接收系统的IP地址、端口等信息。假定逆向改造方案是修改数据包源地址为本通信连接原本企图连向的非活跃IP地址,则逆向改造参数表有此非活跃IP地址及其端口。
(5)从数据包改造参数表中取出此数据包所属通信连接的正向改造参数信息并对数据包做正向改造,同时将该通信连接表项的剩余存活时间恢复为初始值。在本实施例中具体为用正向改造参数的IP地址、端口替换数据包的目的地址和目的端口,以及将剩余存活时间恢复为初始值。
(6)由于数据包目的地址已经指向接收系统,此数据包被放回计算机系统的网络协议栈通道后回到达接收系统。
如图3所示,表示重定向通信连接方法中的逆向处理流程图。逆向处理方法描述如下(1)逆向转发模块收到来自接收系统的数据包之后查询正向转发模块所属数据包改造参数表,判断该数据包是否属于表中某个通信连接。如果是,转到第2步,如果不是,则不干预此数据包的流向。
(2)如果数据包属于表中某个通信连接,则取出该通信连接的逆向改造参数并用此参数对数据包做逆向改造,改造完毕后发送给外部网络数据源。在本实施例中数据包改造参数表存放的逆向改造参数是原非活跃IP地址及其端口,故用此IP地址和端口替换数据包的源地址和端口,然后此数据包被发送到外部网络。注意在本实施例中由于数据包的源地址和端口被替换为非活跃IP地址及其端口,故外部网络数据源无法感知本通信连接是否被重定向。
如上所述,本发明通过检查内部网络向外发送数据包来确定活跃的IP地址,这使得本转发构架简洁明了,快速高效。本发明适用于各种需要灵活、隐蔽地截获数据包的情况,具有良好的跨平台兼容性、可扩展性和实用性。
所述的实施例已经在申请人研制的千兆级网关上应用,取得了很好的效果,不仅实现了对特定通信连接的即时重定向,并且和以往的方案相比转发效率提高了50%,圆满地实现了本发明的目的。本发明具有很好的实用性和推广应用前景。
尽管为说明目的公开了本发明的具体实施例和附图,其目的在于帮助理解本发明的内容并据以实施,但是本领域的技术人员可以理解在不脱离本发明及所附的权利要求的精神和范围内,各种替换、变化和修改都是可能的。例如,重定向网关除了是三块网卡分别构成三个通道连向外部网络、内部网络和接收系统,还可以只有两块网卡,其中一块构成一个通道连向外部网络,一块接内部网络,接收系统占用部分内部网络的IP地址,这样一块网卡上就存在通道连向内部网络,也存在通道连向接收系统。又如,如果重定向网关的正向和逆向改造策略分别是DNAT和un_DNAT操作,则正向和逆向转发模块可以使用linux操作系统的DNAT模块来实现,该模块本身已经包含DNAT和un_DNAT操作。另外,重定向模块的正向和逆向改造策略也可以是空操作。因此,本发明不应局限于本说明书最佳实施例和附图所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。
权利要求
1.一种用于重定向网络通信连接的方法,包括以下步骤(1)当来自外部网络的数据包到来后,首先查询其目的地址是否在IP地址转发规则表中,如果是,则不干预该数据包的流向,否则将该数据包交给正向转发模块处理;(2)正向转发模块收到所述的数据包后查询数据包改造参数表,判断该数据包是否属于表中记录的某个通信连接,如果是,则取出该通信连接的相应改造参数对该数据包做正向改造,改造完毕后发送给预定的接收系统,同时将该通信连接表项的剩余存活时间恢复为初始值,否则转入下一步骤;(3)根据所述的数据包构造一个通信连接,并根据预定的正向改造策略确定正向改造参数,然后将该通信连接及其正向改造参数、初始剩余存活时间组合成一个表项插入到数据包改造参数表中,最后根据所述的正向改造参数对数据包做正向改造后发送给接收系统。
2.如权利要求1所述的方法,其特征在于,还包括以下步骤收到来自接收系统的数据包后,查询所述的数据包改造参数表,判断该数据包是否属于表中某个通信连接,如果是,则取出该通信连接的相应改造参数并用此参数对数据包做逆向改造,改造完毕后发送给外部网络数据源,否则不干预此数据包的流向;并且,在所述的步骤(3)中所构造并插入到数据包改造参数表中的通信连接还包括根据逆向改造策略确定的逆向改造参数。
3.一种用于重定向网络通信连接的装置,包括IP地址转发规则模块,用于判断外部网络数据源向内部网络数据目标发起的通信连接是否应该被重定向;正向转发模块,用于根据IP地址转发规则模块的判断结果将数据包做正向改造后转发给接收系统。
4.如权利要求3所述的装置,其特征在于,还包括逆向转发模块,用于根据IP规则转发模块的判断结果将数据包转发给外部网络数据源。
5.如权利要求3或4所述的装置,其特征在于,所述的IP地址转发规则模块包括一张IP地址转发规则表,该表用于登记内部网络的活跃IP地址,其每个表项包含如下属性一个IP地址、一个自动随时间不断递减的剩余存活时间。
6.如权利要求5所述的装置,其特征在于,所述的IP地址转发规则表是动态变化的,其变化如下(1)每当所述的装置收到一个来自内部网络的数据包时就检查该数据包的源地址是否已经登记在IP地址转发规则表,如果已经登记,则将该表项的剩余存活时间属性恢复到初始化值,否则登记上该源地址,并赋予剩余存活时间为预定的初始化值;(2)每个表项中的剩余存活时间属性都自动随时间不断递减,递减到0时该表项被删除。
7.如权利要求3或4所述的装置,其特征在于,所述的正向转发模块包括一个数据包改造参数表,该表用于记录被重定向的通信连接以及对该连接所属数据包的正向和逆向改造的参数。其表项包含四个属性通信连接、正向改造参数表、逆向改造参数表和一个随时间不断递减的剩余存活时间。
8.如权利要求7所述的装置,其特征在于,所述的数据包改造参数表是动态变化的,其变化如下(1)每当正向转发模块收到一个IP地址转发规则模块传来的数据包时就检查该数据包所属的通信连接是否已经登记在数据包改造参数表,如果已经登记,则将该表项的剩余存活时间属性恢复到初始化,否则生成该数据包所属的通信连接,然后登记在表上,并赋予剩余存活时间为预定的初始化值;(2)每个表项中的剩余存活时间属性都自动随时间不断递减,递减到0时该表项被删除。
9.如权利要求3所述的装置,其特征在于,所述的逆向转发模块包括数据包改造参数表的查询单元,用于查询正向转发模块中的数据包改造参数表;数据包改造单元,用于根据被查询到的通信连接的逆向改造参数对数据包做逆向改造;数据包发送单元,用于将改造后的数据包发送给外部网络数据源。
全文摘要
一种用于重定向网络通信连接的方法和装置,所述的方法是一种两步处理法,即首先查表判别数据包是否符合重定向要求,其后根据查询结果放行或者重定向该数据包。由于其中将查询的表即时地反映着当前活跃的IP地址,这样本方法就能够即时重定向一个通信连接,也能即时停止重定向该通信连接。所述的装置包括IP地址转发规则模块、正向转发模块;还可以包括逆向转发模块。上述方法和装置实现了对内部网络IP地址的活跃性的实时监测,并且能够即时地重定向外部网络向内部非活跃IP地址发起的通信连接。同时还实现了重定向通信连接过程时对数据包的灵活改造。
文档编号H04L12/66GK1960330SQ200610113380
公开日2007年5月9日 申请日期2006年9月26日 优先权日2006年9月26日
发明者韩心慧, 韦韬, 诸葛建伟, 邹维, 叶志远, 游红宇, 张行功, 梁知音 申请人:北京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1