一种反向代理方法和反向代理服务器的制作方法

文档序号:7720147阅读:434来源:国知局
专利名称:一种反向代理方法和反向代理服务器的制作方法
技术领域
本发明涉及计算机网络上的代理服务领域,尤其涉及为网络上的客户机和服务器 提供反向代理的反向代理服务器和反向代理方法。
背景技术
随着计算机网络的不断发展,许多公司、组织和团体等内部形成了内部局域网,而 且通常内部局域网又需要和国际互联网hternet进行连接以便方便地从hternet上获得 信息。为了公司信息安全起见,通常采用了代理服务器来代理内部局域网络对hternet的 连接请求,此时局域网中客户机必须指定代理服务器,并将本来要直接发送到hternet上 的目标服务器的连接请求发送到代理服务器中,由代理服务器访问目标服务器。代理服务 器被设计为在hternet上搜寻多个不确定的服务器,而不是针对hternet上多个客户机 的请求访问某一个固定的服务器,因此普通的代理服务器不支持外部对内部网络的访问请 求。如果一个代理服务器能够代理外部网络上的客户机访问内部网络,那么这种代理 服务的方式称为反向代理服务,而且该代理服务器被称为反向代理服务器。此时该反向代 理服务器对外就表现为普通的服务器,外部网络上的客户机可以把该反向代理服务器当成 客户机要访问的服务器进行访问而不需要特定的配置。但是该反向代理服务器并不会真 正处理来自外部网络的客户机请求,而是将该请求转发到内部网络上的实际服务器进行处 理。例如,当反向代理的服务是WEB服务时,反向代理服务器没有保存任何网页的真实数 据,所有的静态网页或者动态网络应用程序都保存在内部网络中的WEB服务器上。因此对 反向代理服务器的攻击并不会使得网页信息遭到破坏,这样就增强了内部WEB服务器的安 全性。现有的反向代理技术虽然能对内部网络服务器的安全性起到一定的保护作用,但 是它与生俱来的技术特点导致了一些固有的缺陷。图1示出了在现有技术中的反向代理服务器的工作原理。如图1所示,现有反向代 理服务器120扮演了两个角色,即对真实的访问者如外部网络中的客户机110来说,它扮演 了提供服务者;而对真实的提供服务者如内网中的内部服务器130来说,它扮演了访问者。 为了实现反向代理功能,现有的反向代理服务120器必须拥有内部服务器130对外的IP地 址,以使得从外部客户机110看来,就如同在跟内部服务器130直接进行通信一样(这也即 传统意义上的的透明特性)。由于反向代理服务器120占用了内部服务器130的对外IP地 址,内部服务器应当更换其IP地址,这相当于IP地址前置到了反向代理服务器120上。如 图1所示,客户机110具有IP地址1. 1. 1. 2,而内部服务器130原先具有IP地址1. 1. 1. 1。 然而为了实现反向代理,该内部服务器130将其IP地址修改为另一个IP地址2. 2. 2. 1,而 反向代理服务器占用了内部服务器原先的IP地址1. 1. 1. 1,并且还使用了另一个IP地址 2. 2. 2. 2来和内部服务器进行通信。另外,由于现有反向代理服务器120在扮演访问者来代理访问内部服务器时,它使用自己的IP地址(即2. 2. 2. 2)而不是外部客户机110的真实IP地址。因此,从内部服 务器130来看,来访者是反向代理服务器,而不是真实的外部客户机,由此导致内部服务器 130不能获得外部客户机的真实访问情况。综上所述,传统的反向代理技术具有如下缺点1.在部署时须将内部服务器的IP地址前置到反向代理服务器上;2.内部服务器需修改其IP地址;3.反向代理服务器需配置新的IP地址与内部服务器进行通信;以及4.内部服务器无法获取真实的来访者IP,因而无法进行进一步的分析。所需要的是一种可以解决现有反向代理服务器和反向代理服务方法的上述缺点 的改进的反向代理方法和服务器。

发明内容
本发明提供了一种可以解决上述现有反向代理服务器和反向代理方法的反向代 理方法和服务器。根据本发明的一个方面,提供了一种反向代理服务器,其适于布置在外部客户机 和内部服务器之间,为外部客户机访问内部服务器提供反向代理服务,该反向代理服务器 包括用于和外部客户机进行数据通信的通信接口 WAN 口 ;用于和内部服务器进行数据通 信的通信接口 LAN 口 ;数据收发装置,解除从所述WAN 口和LAN 口接收的数据包的MAC层封 装;数据包解封装装置,用于解除所述数据包的IP层和更高层的封装;数据包处理装置,用 于对由所述数据包解封装装置解封装的数据包进行处理;以及数据包封装装置,用于参考 所述数据包解封装装置对所述数据包解封装时的封装信息,对经处理的数据包进行重新封 装,其中被重新封装的数据包的源IP地址和目的IP地址和在解除封装之前的数据包一致; 其中所述数据收发装置复原由所述数据包封装装置重新封装的数据包的MAC层封装,并且 经由所述WAN 口或者LAN 口发送该数据包。根据本发明的另一方面,提供了一种适用于根据本发明的反向代理服务器的反向 代理方法,包括步骤接收反向代理服务器的通信端口所截获的数据包;解除所截获数据 包的MAC层封装;解除数据包的IP层或者更高层封装,并存储封装信息;对解除了封装的 数据包进行处理;参考所存储的封装信息,对经处理的数据包进行重新封装,其中重新封装 后的数据包的源IP地址和目的IP地址和在解除封装之前的数据包一致;以及复原该重新 封装后的数据包的MAC层封装,并且从对应的通信接口发送该数据包。本发明通过使代理服务器以内部服务器的身份和外部客户机建立IP连接,并以 外部客户机的身份与内部服务器建立IP连接(反之亦然),从而通过这两个IP连接建立了 外部客户机和内部服务器之间的虚拟连接。内部服务器和外部客户机都不需要任何额外设 置,而且内部服务器可以获得有关对其进行访问的外部客户机的IP信息,从而解决了上述 所提及的传统反向代理服务器所存在的问题。另外,由于可以不需要对内部服务器进行任何设置就可以在内部服务器和外部客 户机之间部署根据本发明的反向代理服务器,因此,根据本发明的反向代理服务器特别适 于在已有的网络中部署。


通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通 技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明 的限制。而且在整个附图中,用相同的参考符号表示相同的部件。其中在附图中,参考数字 之后的字母标记指示多个相同的部件,当泛指这些部件时,将省略其最后的字母标记。在附 图中图1示意性地示出了在现有技术中的反向代理服务器的工作原理;图2示意性地示出了根据本发明一个实施例的反向代理服务器的工作原理;图3示意性地示出了根据本发明一个实施例的反向代理服务器对ARP协议的处理 方式;图4示意性地示出了根据本发明一个实施例的反向代理服务器中的包解码和封 装方式;图5示意性地示出了根据本发明一个实施例的反向代理服务器的结构框图;以及图6示意性地示出了根据本发明一个实施例的反向代理方法的流程图。
具体实施例下面结合附图和具体的实施方式对本发明作进一步的描述。图2示意性地示出了根据本发明一个实施例的反向代理服务器220的工作原理。 如图2所示,和图1中的现有反向代理服务器120的不同之处在于,反向代理服务器220并 没有占用内部服务器的原IP地址,而是甚至都没有配置IP地址。反向代理服务器220以 内部服务器230的身份和外部客户机210建立连接,并且同时以真实外部客户机210的身 份与内部服务器建立连接。具体而言,在图2中,反向代理服务器和外部客户机之间的通信 接口称为WAN 口,则反向代理服务器和内部服务器之间的通信接口为LAN 口。反向代理服 务器220在WAN 口处以虚拟IP地址1. 1. 1和外部客户机建立IP连接,同时在LAN 口处以 虚拟客户机IP地址1. 1. 1. 2和内部服务器建立连接。利用这两个IP连接,反向代理服务 器在外部客户机和内部服务器之间建立了虚拟的IP连接,其中外部客户机和内部服务器 都不会意识到中间的反向代理服务器的存在,即反向代理服务器220是透明的,而且内部 服务器230可以获得外部客户机的真实IP地址,以进而可以进行针对外部客户机的进一步 分析。下面将结合图2-图4来说明根据本发明实施例的反向代理方式的实现方式。具 体而言,本发明的反向代理服务应用于IP通信领域,尤其是基于以太网的IP通信领域,为 了使得外部客户机和内部服务器之间经由反向代理服务器进行通信,就必须解决以下几个 方面的问题1.外部客户机和内部服务器之间的通信必须知道对方的MAC地址,而当外部客户 机和内部服务器之间存在有反向代理服务器时,外部客户机和内部服务器如何才能学习到 对方的MAC地址?2.外部客户机和内部服务器之间的通信中的数据包目标MAC是对方的MAC,居于 中间的反向代理服务器是如何将目标MAC不属于自己的数据包截获?
3.外部客户机与内部服务器之间的通信中的数据包的目标IP地址是对方的IP地 址,反向代理服务器是如何将不属于自己的IP包进行解码并进行分析?4.反向代理服务器和外部客户机以及内部服务器之间的通信接口都不配置IP地 址,则应当如何来分别和内部服务器以及外部客户机建立IP连接?如本领域技术人员早已知道的那样,IP通信协议通过分层来实现通信,其中IP层 的通信依赖于其下面层的通信。对于以太网来说,通信双方需要知道对方的MAC地址才可 以进行通信,而在IP协议簇中,ARP协议是用于学习MAC地址并将MAC地址和IP地址进行 绑定的协议。图3示意性地示出了根据本发明一个实施例的反向代理服务器对ARP协议的 处理方式。反向代理服务器220对所有IP层以下的数据包,例如与ARP协议相关的数据包 一律放行,不做检测,因此外部客户机210和内部服务器220能成功学习到对方的MAC地 址,从而解决了上面所提出的第一个问题。另外,根据以太网中对通信接口的相关规定,通 信接口可以具有普通模式和混杂模式。当通信接口为混杂模式时,可以接收所有经网络传 送的数据包。通过把反向代理服务器220和外部客户机210以及内部服务器230之间的通 信接口设置为混杂模式,这样反向代理服务器可以截获目标MAC不是自身的外部客户机和 内部服务器之间的通信数据包,从而解决了上面提出的第二个问题。通过上述设置,反向代理服务器220已经可以截获在外部客户机和内部服务器之 间的任何IP通信数据包。图4示意性地示出了根据本发明一个实施例的反向代理服务器 中的包解码和封装方式。反向代理器在WAN 口接收到数据包时,解除该数据包的MAC层封 装,并判断该数据包的目标IP是否为内部服务器的IP。如果发现目标IP不是内部服务器 的IP,则将数据包恢复原状从LAN 口发送出去。相反,如果该数据包的目标IP是内部服务 器的IP,则反向代理服务器220将数据包强行解码以送至IP层的上层协议,如TCP协议层 进行处理,并且在处理之后,还原之前的数据包封装,从LAN 口发送给内部服务器。同理,反向代理服务器按照类似的方式来处理从内部服务器返回给外部客户机的 数据包。具体而言,反向代理服务器在LAN 口截获到数据包时,解除该数据包的MAC层封 装,判断该数据包是否是反向代理服务器要进行处理的来自内部服务器的数据包。可以有 多种方式来判断该数据包是否是反向代理服务器要进行处理的数据包,例如判断该数据包 的源IP地址是否为内部服务器的IP地址。或者考虑到在一般情况下,通常是外部客户机 发起到内部服务器的通信,而反向代理服务器通常会在处理从外部客户机到内部服务器的 IP连接时保留相应的连接信息,因此当在LAN 口收到数据包时,可以参考该保留的连接信 息来判断该数据包是否为来自内部服务器的相应响应信息,并基于此确定该数据包是反向 代理服务器要处理的数据包。此外,也可以结合上述两种方式来进行判断,所有这些都在本 发明的保护范围之内。如果发现数据包不是反向代理服务器要处理的数据包,则将数据包 恢复原状从WAN 口发送出去。相反,如果该数据包是反向代理服务器要处理的数据包,则反 向代理服务器220将数据包强行解码以送至IP层的上层协议,如TCP协议层进行处理,并 且在处理之后,还原之前的数据包封装,从WAN 口发送给外部客户机。根据上述处理,就可以解决上面的第三个问题。此外,在反向代理服务器对来自外 部客户机的数据包进行了处理并发送给内部服务器时,使用外部客户机的IP地址作为数 据包的源I P地址。同样,在反向代理服务器对来自内部服务器的数据包进行了处理并发 送给外部客户机时,使用内部服务器的IP地址作为数据包的源IP地址。因此,代理服务器虽然其WAN 口和LAN都没有配置IP地址,但是分别以外部客户机和内部服务器的IP地址 作为源IP地址和内部服务器和外部客户机建立IP连接,从而解决了上面的第四个问题。如上所述,根据本发明的反向代理服务器和反向代理方法可以解决上面所提出 的、使得外部客户机和内部服务器之间经由反向代理服务器进行通信所要解决的问题,从 而可以通过外部客户机和反向代理服务器以及反向代理服务器和内部服务器之间的两个 真实IP连接建立了外部客户机和内部服务器之间的虚拟连接。内部服务器和外部客户机 都不需要任何额外设置,而且内部服务器可以获得有关对其进行访问的外部客户机的IP fn息ο图5示意性地示出了根据本发明一个实施例的反向代理服务器220的结构框图。 反向代理服务器包括和外部客户机210进行数据通信的通信接口 WAN 口 221以及和内部服 务器230进行数据通信的通信接口 LAN 口 222。反向代理服务器220可以具有多个WAN 口 和多个LAN 口。优选地,这些WAN 口和LAN 口成对出现,在反向代理服务器不具有IP路由功 能的情况下,强制来自某个WAN 口的数据包从配对的LAN 口送出,并且强制来自相应LAN 口 的数据包从配对的WAN 口送出,这样可以使得反向代理服务器220不需要IP路由的功能, 使得反向代理服务器220的功能更加专一。由于WAN 口 221和LAN 口 222都设置成混杂模式,因此WAN 口 221和LAN 口 222 可以接收目标地址不是反向代理服务器220的数据包。从WAN 口 221和LAN 口 222接收的 数据包由数据收发装置223进行处理。数据收发装置223对于在IP协议簇中、处于IP层之下的数据包仅仅进行转发而 不做其他处理,即将从WAN 口 221接收的二层数据包送至LAN 口 222送出,反之亦然,从而 使得外部客户机和内部服务器可以经由ARP协议来学习相互的MAC地址。对于I P层及其之上的数据包,数据收发装置223解除所接收的数据包的MAC层 封装,并将解除了 MAC层封装的数据包发送到包处理判断装置2M来判断该数据包是否是 反向代理服务器要进行进一步处理的数据包。例如如果数据包是从WAN 口 221接收的,则 包处理判断装置2M将目标IP地址为内部服务器的IP的数据包确定为是要进行进一步处 理的数据包。而如果数据包在LAN 口 222接收的,则包处理判断装置2 可以有多种方式 来判断该数据包是否是反向代理服务器要进行进一步处理的数据包,例如将源IP地址为 内部服务器的IP地址的数据包确定为是反向代理服务器要进行进一步处理的数据包。或 者考虑到在一般情况下,通常是外部客户机发起到内部服务器的通信,而反向代理服务器 通常会在处理从外部客户机到内部服务器的IP连接时保存相应的连接信息(例如,保留在 IP连接存储器2 中),因此当在LAN 口 222收到数据包时,可以参考该保存的连接信息来 判断该数据包是否为来自内部服务器的对应响应信息,并基于此确定该数据包是反向代理 服务器要处理的数据包。此外,也可以结合上述两种方式来进行判断,所有这些都在本发明 的保护范围之内。当包处理判断装置2 确定数据包不是反向代理服务器要进一步处理的数据包 时,则将该数据包送回到数据收发装置223,此时数据收发装置223将复原该数据包的MAC 层封装,并且从对应的网络接口发送该数据包(例如,将来自WAN 口 221的数据包从LAN 口 222发出,反之亦然)。当包处理判断装置2 确定数据包是反向代理服务器要进一步处理的数据包时,则将该数据包发送至数据包解封装装置225。可选地,当数据包是从WAN 口 221接收的、来 自外部客户机对内部服务器的IP连接请求时,还将相应的信息存储在IP连接存储器2 中,以供反向代理服务器在对内部服务器的返回数据包进行处理时使用,或者根据IP协议 而对数据包进行其他处理时使用。数据包解封装装置225解除数据包的IP层乃至更高层的封装,将相应的封装信息 存储在封装信息存储器228中,并随后将解除了封装的数据包送至数据包处理装置2 进 行处理,也就是说,将目的IP地址是内部服务器或者外部客户机的数据包送往反向代理服 务器的数据包处理装置2 进行处理。数据包处理装置226中的处理可以是各种各样的,例如可以包括对包内容的检 查、记录和检测等等,所有这些处理内容都在本发明的保护范围之内。在数据包处理装置2 对数据包进行了处理之后,将经处理的数据包发送给数据 包封装装置227。数据包封装装置227参考封装信息存储器2 中的相关内容,对经处理的 数据包进行重新封装,并且将封装好的数据包发送给数据收发装置226。此时,被重新封装 的数据包的源IP地址和目的IP地址和在解除封装之前的数据包一致,也就是说,此时,数 据包封装装置227以内部服务器或者外部客户机的名义封装数据包,并将该数据包发送至 相应的外部客户机或者内部服务器。数据收发装置223复原该数据包的MAC层封装,并且从对应的网络接口发送该数 据包(例如,将来自WAN端口的数据包从LAN端口发出,反之亦然)。应当注意的是,数据包解封装装置225、数据包处理装置2 和数据包封装装置 227的处理从整体上看包括两个IP连接的处理过程,即首先以内部服务器或者外部客户机 的名义对来自外部客户机或者内部服务器的IP数据包进行处理,并随后以外部客户机或 者内部服务器的名义将经处理的IP数据包发送给内部服务器或者外部客户机。由于数据包处理装置2 在对数据包进行处理时,希望能够利用现有的遵循TCP/ IP协议的各种数据包处理装置和方法,而所接收的数据包的目的IP地址并非本机、即反向 代理服务器的IP地址,因而在利用现有数据包处理装置和方法直接处理这些数据包时可 能会出现错误。为此,有利地是,数据包解封装装置225在解除数据包的IP层封装时,将数 据包的目的IP地址和目的网络端口设置为127. 0. 0. 1和本机的Ioopback (本地环回)端 口。而数据包封装装置227在对处理后的IP地址进行封装时进行对应的操作,从而可以最 大限度地利用现有的数据包处理方法。还应当注意的是,上面根据反向代理服务器220所执行的功能对反向代理服务器 220中的各个部件进行了划分,但是应当理解,这种划分仅仅是示意性的,这些部件中的一 些可以进一步划分或者可以组合成一个部件,所有这些都在本发明的保护范围之内。图6示出了根据本发明一个实施例的反向代理方法600的流程图。该方法适于在 根据本发明的反向代理服务器上执行,用于提供外部客户机和内部服务器之间的透明反向 代理服务。方法600始于步骤S610,在步骤S610处,反向代理服务器接收被反向代理服务 器的通信端口所截获的数据包。在步骤S615处,判断所截获的数据包是否为IP层之下的数 据包(例如,ARP协议相关的数据包),如果是,则不做任何处理,通过步骤S617从对应的通 信端口送出该数据包,从而使得外部客户机和内部服务器可以经由ARP协议来学习相互的 MAC地址。如果不是,则随后在步骤S620处,解除所截获数据包的MAC层封装,并判断是否要对该包进行进一步处理。如上参考根据本发明的反向代理服务器所述,如果数据包是从 反向代理服务器的WAN端口接收的,则将目标IP地址为内部服务器的IP地址的数据包确 定为是要进行进一步处理的数据包。而如果数据包在反向代理服务器的LAN端口接收的, 则可以有多种方式来判断该数据包是否是反向代理服务器要进行进一步处理的数据包,例 如将源IP地址为内部服务器的IP地址的数据包确定为是反向代理服务器要进行进一步 处理的数据包。或者考虑到在一般情况下,通常是外部客户机发起到内部服务器的通信,而 反向代理服务器通常会在处理从外部客户机到内部服务器的IP连接时保留相应的连接信 息,因此当在LAN端口收到数据包时,可以参考该保留的连接信息来判断该数据包是否为 来自内部服务器的对应响应信息,并基于此确定该数据包是反向代理服务器要进一步处理 的数据包。此外,也可以结合上述两种方式来进行判断,所有这些都在本发明的保护范围之 内。当在步骤S620处确定该数据包不是要进一步处理的数据包时,则在步骤S630处, 复原该数据包的MAC层封装,并且从对应的网络接口发送该数据包。在应用本方法的反向 代理服务器不具有IP路由功能的情况下,可选地,可以配对使用反向代理服务器的LAN和 WAN端口,即强制来自某个WAN端口的数据包从配对的LAN端口送出,并且强制来自相应 LAN端口的数据包从配对的WAN端口送出。当然,在反向代理服务器具有IP路由功能时,可 以经由IP路由来选择相对应的网络端口来发送数据包,所有这些都在本发明的保护范围 之内。当在步骤S620处确定该数据包是要进一步处理的数据包时,则在步骤S640处,解 除数据包的IP层或者更高层封装,并存储封装信息。也就是说,解除目的IP地址是内部服 务器或者外部客户机的数据包的封装,并在反向代理服务器中对其进行进一步处理。步骤S650对在步骤S640中解除了封装的数据包进行处理,该处理可以是各种各 样的,例如可以包括对包内容的检查、记录和检测等等,所有这些处理内容都在本发明的保 护范围之内。在步骤S650对数据包进行处理之后,在步骤S660处,参考步骤S640处所保存的 封装信息,对经处理的数据包进行重新封装。重新封装后的数据包的源IP地址和目的IP 地址和在解除封装之前的数据包一致,也就是说,该反向代理方法以内部服务器或者外部 客户机的名义封装数据包以便将该数据包发送至相应的外部客户机或者内部服务器。随后,在步骤S670处,复原该重新封装后的数据包的MAC层封装,并且从对应的通 信接口发送该数据包(例如,将来自WAN端口的数据包从LAN端口发出,反之亦然),并结束 本方法的反向代理处理。在根据本发明的反向代理方法中,通过两个IP连接来建立外部客户机和内部服 务器之间的虚拟连接,即通过首先以内部服务器或者外部客户机的名义与外部客户机或者 内部服务器进行IP连接,并随后以外部客户机或者内部服务器的名义与内部服务器或者 外部客户机建立连接来建立该虚拟连接。外部客户机和内部服务器都认为自己是IP连接 的建立双方,其实是他们各自与反向代理服务器建立IP连接,反向代理服务器起到了中转 数据的作用,因此可以将根据本发明的反向代理服务器放置在内部服务器前,以对内部服 务器进行安全防护。另外,应当指出的是,根据本发明的反向代理服务器与现有的二层透明防火墙也有着本质的不同。二层透明防火墙不分别与服务器和客户机建立IP连接,而且也不进行三 层协议栈的解码。根据本发明的反向代理服务器通过两个IP连接建立了外部客户机和内部服务器 之间的虚拟连接。内部服务器和外部客户机都不需要任何额外设置,而且内部服务器可以 获得有关对其进行访问的外部客户机的IP信息,从而解决了传统反向代理服务器所存在 的问题。另外,由于可以不需要对内部服务器进行任何设置就可以在内部服务器和外部客 户机之间部署根据本发明的反向代理服务器,因此,根据本发明的反向代理服务器特别适 于在已有的网络中部署。应该注意的是,上述实施例对本发明进行说明而不是对本发明进行限制,并且本 领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求 中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存 在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个 这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机 来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬 件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释 为名称。
权利要求
1.一种反向代理服务器,适于布置在外部客户机和内部服务器之间,为外部客户机访 问内部服务器提供反向代理服务,该反向代理服务器包括用于和外部客户机进行数据通信的通信接口 WAN 口 ; 用于和内部服务器进行数据通信的通信接口 LAN 口 ; 数据收发装置,解除从所述WAN 口和LAN 口接收的数据包的MAC层封装, 数据包解封装装置,用于解除所述数据包的IP层和更高层的封装; 数据包处理装置,用于对由所述数据包解封装装置解封装的数据包进行处理;以及 数据包封装装置,用于参考所述数据包解封装装置对所述数据包解封装时的封装信 息,对经处理的数据包进行重新封装,其中被重新封装的数据包的源IP地址和目的IP地址 和在解除封装之前的数据包一致;其中所述数据收发装置复原由所述数据包封装装置重新封装的数据包的MAC层封装, 并且经由所述WAN 口或者LAN 口发送该数据包。
2.如权利要求1所述的反向代理服务器,还包括包处理判断装置,用于确定是否要对所述解除了 MAC层封装的数据包进行进一步处 理,如果确定不需要对所述数据包进行进一步处理,则将该数据包送回到所述数据收发装 置,所述数据收发装置将复原该数据包的MAC层封装,并且经由所述WAN 口或者LAN 口发送 该数据包;以及所述包处理判断装置将确定要进行进一步处理的数据包送给所述数据包解 封装装置。
3.如权利要求2所述的反向代理服务器,其中所述包处理判断装置将从WAN口接收的、 目标IP地址为内部服务器的IP的数据包确定为是要进行进一步处理的数据包。
4.如权利要求2或者3所述的反向代理服务器,其中所述包处理判断装置将从LAN口 接收的、源IP地址为内部服务器的IP的数据包确定为是要进行进一步处理的数据包。
5.如权利要求2-4中的任一个所述的反向代理服务器,其中所述包处理判断装置存储 从WAN 口接收的、从外部客户机到内部服务器的IP连接请求的数据包的IP连接信息,并且 参考该IP连接信息来将从LAN 口接收的、对应于该IP连接的响应数据包确定为是要进行 进一步处理的数据包。
6.如权利要求1-5中的任一个所述的反向代理服务器,其中所述数据收发装置对于在 IP协议簇中、处于IP层之下的数据包仅仅进行转发而不做其他处理。
7.如权利要求1-6中的任一个所述的反向代理服务器,其中所述WAN口和LAN 口成对 出现,其中来自某个WAN 口的数据包从配对的LAN 口送出,以及来自相应LAN 口的数据包从 配对的WAN 口送出。
8.一种适用于反向代理服务器的反向代理方法,所述反向代理服务器,适于布置在外 部客户机和内部服务器之间,为外部客户机访问内部服务器提供反向代理服务,所述反向 代理服务器包括用于和外部客户机进行数据通信的通信接口 WAN 口以及用于和内部服务 器进行数据通信的通信接口 LAN 口,而且所述反向代理方法包括步骤接收反向代理服务器的通信端口所截获的数据包; 解除所截获数据包的MAC层封装; 解除数据包的IP层或者更高层封装,并存储封装信息; 对解除了封装的数据包进行处理;参考所存储的封装信息,对经处理的数据包进行重新封装,其中重新封装后的数据包 的源IP地址和目的IP地址和在解除封装之前的数据包一致;以及复原该重新封装后的数据包的MAC层封装,并且从对应的通信接口发送该数据包。
9.如权利要求8所述的反向代理方法,还包括步骤判断是否要对所述解除了 MAC层封装的数据包进行进一步处理,如果不需要对所述数 据包进行进一步处理,则复原所述数据包的MAC层封装,并从对应的通信接口发送该数据 包。
10.如权利要求9所述的反向代理方法,其中将从WAN口接收的、目标IP地址为内部服 务器的I P的数据包确定为是要进行进一步处理的数据包。
11.如权利要求9或者10所述的反向代理方法,其中将从LAN口接收的、源IP地址为 内部服务器的IP的数据包确定为是要进行进一步处理的数据包。
12.如权利要求9-11中的任一个所述的反向代理方法,还包括步骤从WAN 口接收的、从外部客户机到内部服务器的IP连接请求的数据包的IP连接信息;以及参考该IP连接信息来将从LAN 口接收的、对应于该IP连接的响应数据包确定为是要 进行进一步处理的数据包。
13.如权利要求8-12中的任一个所述的反向代理方法,还包括步骤当从所述反向代理服务器的通信端口所截获的数据包为IP层之下的数据包时,则直 接从对应的通信端口送出该数据包。
14.如权利要求8-13中的任一个所述的反向代理方法,其中所述WAN口和LAN 口成对 出现,该方法还包括步骤将来自WAN 口的数据包从配对的LAN 口送出;以及 将来自LAN 口的数据包从配对的WAN 口送出。
全文摘要
本发明公开了一种适用于反向代理服务器的反向代理方法,该反向代理服务器适于布置在外部客户机和内部服务器之间以便为外部客户机访问内部服务器提供反向代理服务,所述反向代理方法包括接收反向代理服务器的通信端口所截获的数据包;解除所截获数据包的MAC层封装、IP层或者更高层封装;对解除了封装的数据包进行处理,并随后对经处理的数据包进行重新封装,并且从对应的通信接口发送该数据包,其中重新封装后的数据包的源IP地址和目的IP地址和在解除封装之前的数据包一致。
文档编号H04L29/06GK102065111SQ200910238028
公开日2011年5月18日 申请日期2009年11月13日 优先权日2009年11月13日
发明者刘志旭, 欧怀谷 申请人:北京神州绿盟信息安全科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1