首页> 中国专利> 拨号隧道代理装置、利用拨号隧道穿越NAT的方法

拨号隧道代理装置、利用拨号隧道穿越NAT的方法

摘要

本申请公开了无公网IP的拨号隧道代理装置,包括监听模块,用于监听所连接的客户端的地址信息以及当客户端发送的报文的目的IP地址在监控系统的IP地址段内时,将报文传给报文转发模块;隧道建立模块,用于利用其中一个客户端的IP地址建立应用隧道,拨号隧道服务器的地址信息为预先配置;并接收拨号隧道服务器所分配的虚拟IP地址;报文转发模块,用于将报文中的客户端IP地址转换成虚拟IP地址,通过应用隧道将报文转发至拨号隧道服务器;以及将从拨号隧道服务器返回的报文的虚拟IP地址转换成客户端IP地址。本申请还公开了利用拨号隧道穿越NAT的方法。本申请能够减轻拨号隧道服务器的压力,提升用户体验。

著录项

  • 公开/公告号CN104468625A

    专利类型发明专利

  • 公开/公告日2015-03-25

    原文格式PDF

  • 申请/专利权人 浙江宇视科技有限公司;

    申请/专利号CN201410833313.5

  • 发明设计人 周迪;徐婷婷;

    申请日2014-12-26

  • 分类号H04L29/06(20060101);H04L29/12(20060101);H04L12/46(20060101);

  • 代理机构11415 北京博思佳知识产权代理有限公司;

  • 代理人林祥

  • 地址 310051 浙江省杭州市滨江区西兴街道江陵路88号10幢南座1-11层

  • 入库时间 2023-12-18 08:49:45

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-07-13

    授权

    授权

  • 2015-06-10

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20141226

    实质审查的生效

  • 2015-03-25

    公开

    公开

说明书

技术领域

本申请涉及拨号隧道技术,尤其涉及无公网IP的拨号隧道代理装置和利 用拨号隧道穿越NAT的方法。

背景技术

随着基于IP网络的视频监控技术和移动互联网技术的不断发展,远程视 频监控已成为新的行业热点,跨广域网连接的监控的需求越发强烈。出于保 护内部网络安全的考虑以及节省公网IP数量的目的,运营商都会在私网的出 口位置部署NAT网关设备,远程视频监控不可避免地要遇到穿越运营商公网 NAT的问题。

目前,针对视频监控系统穿越NAT设备、防火墙和安全网闸,有一种拨 号应用隧道解决方案,拨号应用隧道方案是一项视频监控系统穿越公私网的 方案,它以应用层通道技术为基础,结合监控双网卡方案,让监控系统轻松 的穿越各种网闸、防火墙和NAT设备,让复杂的监控网络变得简单,同时提 高了用户的网络安全,节省用户预算。拨号应用隧道方案通过在客户端与监 控系统中的监控设备之间、上下级域监控设备之间建立一条应用层通道,后 续通道两端的设备之间通讯时都走该通道进行转发,不需要用户进行引流操 作,不需要用户增加额外的公网地址,极大的减少网闸厂家的二次开发工作 量。

但是在拨号应用隧道方案使用时,每一个客户端想与拨号隧道服务器建 立连接,都必须有一个独立的拨号,这样由于过多的连接数会照成拨号隧道 服务器的压力太大,另外用户在访问监控设备前必须先手动进行拨号建立一 个连接,用户体验不佳。

发明内容

本申请提供一种无公网IP的拨号隧道代理装置和利用拨号隧道穿越NAT 的方法,能够减轻拨号隧道服务器的压力,提升用户体验。

根据本申请实施例的第一方面,提供一种无公网IP的拨号隧道代理装置, 用于通过与拨号隧道服务器建立应用隧道,实现客户端与监控系统之间的通 信,所述的拨号隧道代理装置无公网IP地址,其包括:

监听模块,用于监听所连接的客户端的地址信息以及客户端发送的报文; 所述客户端的地址信息包括IP地址;当所述客户端发送的报文的目的IP地 址在监控系统的IP地址段内时,则将所述报文传给报文转发模块;

隧道建立模块,用于利用其中一个所述客户端的IP地址与所述拨号隧 道服务器的IP地址建立应用隧道,所述拨号隧道服务器的地址信息预先配置 于所述无公网IP地址的拨号隧道代理装置中;并接收所述拨号隧道服务器所 分配的虚拟IP地址;

报文转发模块,用于将所述报文中的客户端IP地址转换成所述虚拟IP 地址,通过所述应用隧道将所述报文转发至所述拨号隧道服务器;以及将从 所述拨号隧道服务器返回的报文的所述虚拟IP地址转换成所述客户端IP地 址后,将所述报文发送至所述客户端。

本申请还提供一种利用拨号隧道穿越NAT的方法,用于通过与拨号隧道 服务器建立应用隧道,实现客户端与监控服务器之间的通信,包括步骤:

监听所连接的客户端的地址信息;所述客户端的地址信息包括IP地址;

利用其中一个所述客户端的地址信息与所述拨号隧道服务器建立应用 隧道,所述拨号隧道服务器的地址为预先配置;并接收所述拨号隧道服务器 所分配的虚拟IP地址;

如果所述客户端发送的报文的目的地址在监控系统的地址段内,将所述 报文中的客户端IP地址转换成所述虚拟IP地址,通过所述应用隧道将所述 报文转发至所述拨号隧道服务器;以及将从所述拨号隧道服务器返回的报文 的所述虚拟IP地址转换成所述客户端IP地址后,将所述报文发送至所述客 户端。

本申请通过无公网IP的拨号隧道代理装置与拨号隧道服务器建立一条 应用隧道,通过该应用隧道来转发客户端与监控系统之间交互的报文,无需 像现有技术每个客户端与拨号隧道服务器建立一个应用通道,因此大大减轻 了拨号隧道服务器的压力,另外,由于应用隧道的建立过程由无公网IP的拨 号隧道代理装置自动完成,无需用户拨号,因此提升了用户的体验。同时, 由于无公网IP的拨号隧道代理装置无需具有公网IP地址,当无公网IP的拨 号隧道代理装置需要与拨号隧道服务器建立应用隧道时,利用所获取的其中 一个客户端的地址信息与拨号隧道服务器发起连接请求。由于目前公网IP 资源的短缺,申请一个公网IP地址需要花费不少资金,使用该无公网IP的 拨号隧道代理装置在组网中大大减少了公网IP的使用,节约了公网IP的资 源,降低了设备成本。

附图说明

图1为本申请实施例中一个应用场景中组网图;

图2为本申请利用拨号隧道穿越NAT的方法的流程图;

图3a为本申请实施例中预先拨号建立应用隧道的信令图;

图3b为本申请实施例中动态拨号建立应用隧道的信令图;

图4a为本申请实施例中隧道表项的结构图;

图4b为本申请实施例中更新建立隧道的客户端地址的流程图;

图5a为本申请实施例中客户端地址信息转换的示意图;

图5b为本申请实施例中构建转发报文的消息格式示意图;

图6为本申请实施例中无公网IP的拨号隧道代理装置的硬件架构图;

图7为本申请实施例中无公网IP的拨号隧道代理装置的内部结构逻辑框 图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的 描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的 要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所 有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一 些方面相一致的装置和方法的例子。

在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制 本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所 述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。

参见图1,为使用本申请提供的方案建立应用隧道的应用场景示意图。 各个客户端与监控系统中的各个监控设备位于不同的私网中,分别通过两个 私网的网关接入广域网。在本申请中,每个客户端均与无公网IP的拨号隧道 代理装置连接,通过无公网IP的拨号隧道代理装置与监控系统所在网络中的 拨号隧道服务器建立应用隧道,实现客户端与监控系统之间的通信。拨号隧 道客户端可以是所有需要使用拨号隧道方案接入的主体,其可能包括:监控 前端、监控客户、监控服务器等。拨号隧道服务器可以是指允许拨号隧道客 户端接入并进行不同应用层隧道间报文转发的设备,其可能包括:路由器设 备、Linux服务器。无公网IP的拨号隧道代理装置可以是同时兼有二层/三 层报文转发功能的设备。

图2对本申请通过无公网IP的拨号隧道代理装置实现NAT穿越的方法流 程图。以下以图2中的流程应用于图1中的应用场景为例,对本申请通过拨 号隧道穿越NAT的方法进行详细阐述。

S201,无公网IP的拨号隧道代理装置监听所连接的一个或多个客户端 的地址信息;并将其中一个所连接的客户端的地址信息作为建立应用隧道时 无公网IP的拨号隧道代理装置所使用的地址信息;

无公网IP的拨号隧道代理装置与多个客户端连接,监听所连接的各个 客户端的地址信息。在一个例子中,可以通过侦测客户端的DHCP(Dynamic  Host Configuration Protocol,动态主机配置协议)交互过程来获取客户端 的地址信息,所获取的地址信息至少包括客户端的IP地址和网关的IP地址。 在优选方案中,可以获取每个客户端所有通过DHCP获得的动态IP地址和MAC 地址和并记录。所获取的地址信息在可选方案和优选方案中的使用方式可参 见下文中相应的实施例。

S202,通过建立应用隧道时所使用的客户端的地址信息向预先配置的拨 号隧道服务器地址建立应用隧道;并接收拨号隧道服务器所分配的虚拟IP 地址。

拨号隧道服务器的地址预先配置于无公网IP的拨号隧道代理装置上, 一般填写拨号隧道服务器所在私网的路由器上的公网IP地址。

本申请的无公网IP的拨号隧道代理装置无需具有公网IP地址,当无公 网IP的拨号隧道代理装置需要与拨号隧道服务器建立应用隧道时,利用所获 取的其中一个客户端的地址信息与拨号隧道服务器发起连接请求。由于目前 公网IP资源的短缺,申请一个公网IP地址需要花费不少资金,使用该无公 网IP的拨号隧道代理装置在组网中大大减少了公网IP的使用,节约了公网 IP的资源,降低了设备成本。利用其中一个客户端的地址信息建立拨号隧道 的时刻在本申请中提供多种选择,以预先拨号和动态拨号为例,可以是在获 取到首个客户端的地址信息时触发建立拨号隧道的流程,也可以是在收到首 个客户端发给监控系统的报文时触发建立拨号隧道的流程,当然不局限于此 两种触发方式。预先拨号和动态拨号触发拨号隧道的流程可详见下文图3a 和图3b的相关实施例。

拨号隧道服务器在收到无公网IP的拨号隧道代理装置的连接请求后, 首先对其进行接入身份验证,作为一个例子,无公网IP的拨号隧道代理装置 可以默认带有用户名及密码,在向拨号隧道服务器发起连接时会带上用户名 及密码,拨号隧道服务器对用户名密码进行认证,认证通过后再与无公网IP 的拨号隧道代理装置建立连接。与现有技术的拨号隧道技术相类似,建立应 用隧道后,拨号隧道服务器会从无人使用的虚拟地址池中选择一个虚拟地址 分配给无公网IP的拨号隧道代理装置,并将所分配的虚拟地址发给无公网 IP的拨号隧道代理装置。以便后续无公网IP的拨号隧道代理装置和拨号隧 道服务器之间使用虚拟IP地址进行报文交互,交互报文在应用隧道中转发, 不会受到中间网络防火墙、NAT设备、网闸的干扰,实现对这些网络的穿越。

S203,当无公网IP的拨号隧道代理装置需要转发报文给拨号隧道服务器 时,即客户端发送的报文的目的地址在监控系统的地址段内时,将报文中的 客户端IP地址转换成无公网IP的拨号隧道代理装置的虚拟IP地址,根据网 关IP地址,通过应用隧道将报文转发至所述拨号隧道服务器;

无公网IP的拨号隧道代理装置中可以记录有监控系统的地址段。根据不 同的建立隧道的方式(例如预先拨号、动态拨号),记录监控系统的地址段的 时刻可以有所不同,可以参考下文图3a和图3b相关实施例了解详细过程。

无公网IP的拨号隧道代理装置收到的客户端的报文中携带有客户端的 IP地址和需要访问的监控系统中的某个设备的IP地址,在一个例子中,将 报文中的客户端IP地址转换成无公网IP的拨号隧道代理装置的虚拟IP地址 并封装进应用隧道的过程可以是:拨号代理装置监听到客户端发往监控系统 中的某个设备的报文,首先将其报文头中的源地址转换为无公网IP的拨号隧 道代理装置的虚拟地址,封装成IP头部是虚拟源地址(无公网IP的拨号隧 道代理装置的虚拟地址)和虚拟目的地址(客户端需要访问的监控系统地址 段的某个IP地址)的报文。为了此报文能够在广域网中进行三层转发,报文 外层需要再封装一个真实地址的IP头和隧道标识头部。这个真实地址的IP 头中真实的源IP地址可以是建立应用隧道时所使用的客户端的IP地址,真 实的目的地址可以是拨号隧道服务器所映射的公网的IP地址。这个报文通过 路由转发给拨号隧道服务器后,拨号隧道服务器根据隧道标识将报文外层封 装的真实地址IP头部和隧道标识头部剥离,再根据其目的虚拟地址IP头将 报文转发给监控系统内的某个监控设备,以便进行监控业务。

建立应用隧道时S204,将从拨号隧道服务器返回的报文中无公网IP的 拨号隧道代理装置的虚拟IP地址转换成所述客户端IP地址后,将所述报文 发送至所述客户端。

从拨号隧道服务器发给无公网IP的拨号隧道代理装置的报文封装和处 理方式和步骤S203类似。此时报文中内层封装的虚拟源地址为拨号监控系统 内某设备的IP地址,而虚拟目的地址为无公网IP的拨号隧道代理装置的虚 拟地址。无公网IP的拨号隧道代理装置收到经过两次封装消息头后的报文后, 将外层封装的IP头部和隧道标识头部剥离,再将虚拟目的地址转换为客户端 的真实IP地址,转发给该客户端。

图3a和图3b是两种不同的建立应用隧道的时机的应用实例的信令图。

图3a描述的是预先拨号的应用实例中应用隧道的建立流程。

在该应用实例中,无公网IP的拨号隧道代理装置在侦测到首个客户端的 IP地址时就向拨号隧道服务器发起连接请求。该实施例中建立应用隧道时所 使用的客户端的地址信息即为首个被侦测到动态IP地址的客户端的地址信 息。监控系统的地址段可以是在应用隧道建立后下发给无公网IP的拨号隧道 代理装置进行记录。监控系统地址段的下发步骤和将分配给无公网IP的拨号 隧道代理装置的虚拟IP地址下发的步骤可以是同一步骤,也可以是不同步骤。

图3b描述的是动态拨号的应用实例中应用隧道的建立流程。

在该实施例中,无公网IP的拨号隧道代理装置是在侦测到需要转发的报 文时也就是当某个客户端发起指向监控系统地址的会话时,向拨号隧道服务 器发起连接请求。在该实施例中,建立应用隧道时所使用的客户端的地址信 息即为首个向监控系统发送报文的客户端的地址信息。由于需要判断客户端 所发送的报文的地址是否是指向监控系统,因此,在该实施例中需要将监控 系统的地址段预先配置在无公网IP的拨号隧道代理装置中。

优选的,无公网IP的拨号隧道代理装置监听所连接的客户端的所有报文, 根据五元组判断是否为指向监控系统的报文。五元组是指源IP地址,源端口, 目的IP地址,目的端口,传输层协议号这五个量组成的一个集合。而对于客 户端访问其他非监控系统地址段的地址时,针对指向监控系统的客户端会话 通过无公网IP的拨号隧道代理装置会将会话中的源地址转换为无公网IP的 拨号隧道代理装置的虚拟地址,然后封装进应用隧道进行三层转发,而对于 客户端访问其他非监控系统地址段的地址时,无公网IP的拨号隧道代理装置 利用客户端的mac地址按照二层(数据连接层)报文转发方式将报文转发出 去,具体转发过程可以参照现有技术中所揭示的二层转发的流程执行,在此 不再赘述。

优选的,如果无公网IP的拨号隧道代理装置监听到不止一个客户端的报 文是指向监控系统时,由于无公网IP的拨号隧道代理装置与隧道代理服务器 只建立一条应用层隧道,因此无公网IP的拨号隧道代理装置将每个需要转发 的报文中的客户端的IP地址及端口均进行转换,将客户端的IP地址转换为 无公网IP的拨号隧道代理装置的虚拟IP地址,将客户端的端口转换为无公 网IP的拨号隧道代理装置上一个未使用的端口作为该客户端端口的映射端 口,并记录转换表项。而后无公网IP的拨号隧道代理装置在收到拨号隧道服 务器返回来的报文时,再根据报文中的端口号和转换表项判断该将报文转发 给哪个客户端,进而将目的虚拟IP地址转换为该客户端的IP地址,将报文 转给该客户端。

作为图2中S201的一个优选方案,无公网IP的拨号隧道代理装置记录 每个所连接的客户端的所有通过DHCP所获得的动态IP地址。当无公网IP 的拨号隧道代理装置通过步骤S201所获得的MAC地址监听到用于建立应用隧 道的客户端的地址信息更新后,无公网IP的拨号隧道代理装置将其中一个客 户端当前正在使用的地址信息和应用隧道的标识构建隧道更新消息,并通知 拨号隧道服务器将之前记录的用于建立应用隧道的客户端的地址信息更新为 当前正在使用的地址信息,具体过程参见图4b。

在本实施例中,拨号隧道服务器和无公网IP的拨号隧道代理装置记录的 隧道表项结构如图4a所示。与拨号隧道服务器建立应用隧道的可以是多个私 网中的多个无公网IP的拨号隧道代理装置,因此隧道ID用来记录各个无公 网IP的拨号隧道代理装置所建立的应用隧道的标识。拨号隧道服务器的隧道 表项中的“对端真实IP地址”和“真实端口”与无公网IP的拨号隧道代理 装置的隧道表项中的“真实IP地址”和“真实端口”相一致,记录用来建立 应用隧道的客户端的IP地址和端口号。拨号隧道服务器的隧道表项中的“对 端虚拟IP地址”和“虚拟端口”和无公网IP的拨号隧道代理装置的隧道表 项中的“虚拟IP地址”和“虚拟端口”相一致,记录无公网IP的拨号隧道 代理装置的虚拟IP地址以及发送某条客户端报文时所使用的无公网IP的拨 号隧道代理装置上的虚拟端口。

如图4b,S401,当用来拨号的客户端由于重启或重新联网等原因导致动 态IP地址发生变化时,客户端会向DHCP服务器发送广播报文,无公网IP 的拨号隧道代理装置监听到报文;

S402,根据报文中的MAC地址查找所存储的用来拨号建立隧道的客户端 IP地址;

S403,根据所记录的用来拨号建立隧道的客户IP地址查找本身的隧道表 项,找出隧道ID。

S404,无公网IP的拨号隧道代理装置更新隧道表项,并封装一个包含隧 道ID和一个新的客户端的IP地址和端口的私有信令报文作为隧道更新消息, 通过应用隧道传给服务器。新的客户端的IP地址可以是先前用于建立拨号隧 道的客户端更新后的动态IP地址,也可以是其他客户端的动态IP地址。

拨号隧道服务器根据这个私有信令报文中的隧道ID将对应表项中的对 端真实IP地址和真实端口替换成新的IP地址和端口。

通过本优选方案,可以实现在客户端的拨号IP地址更新后,拨号隧道服 务器无需重新拨号,通过上述更新过程实现无缝切换,原有的隧道业务不会 受到影响。

以下为本申请的通过无公网IP的拨号隧道代理装置与客户端及拨号隧 道服务器交互的用户案例,本用户案例中隧道创建流程为预先拨号。

监控系统位于总部网络,监控系统地址段为192.168.1.1/24,网关为 192.168.1.1,拨号隧道服务器的经过路由器映射后的公网地址为15.0.0.2。 192.168.1.129/25子网地址无人使用,因此作为拨号隧道服务器为无公网IP 的拨号隧道代理装置分配虚拟IP地址的地址池。

预先在无公网IP的拨号隧道代理装置中配置好拨号隧道代理服务器的 地址15.0.0.2。

无公网IP的拨号隧道代理装置侦测客户端的DHCP交互过程,获取客户 端的IP地址和MAC地址,客户端所获得的IP地址为10.0.0.2,和网关的IP 地址(10.0.0.1),记录所连接的各个客户端所有通过DHCP获得的动态IP。 在本例中,可以通过监听客户端的DHCPREQUEST报文来获取客户端的地址信 息。客户端在该报文中的“option”字段的“Request IP Address”选项中 会填入DHCP服务器分配给它的IP地址。“server identifier”选项中会填 入DHCP服务器(即网关)的IP地址。

无公网IP的拨号隧道代理装置以客户端的动态IP(10.0.0.2),向拨 号隧道服务器的真实地址(15.0.0.2)发起连接。

拨号隧道服务器进行接入身份认证后,建立隧道,并给无公网IP的拨号 隧道代理装置分配虚拟IP(如192.168.1.129)。

拨号隧道服务器将监控系统的地址段(192.168.1.1/24)下发给盒子。

拨号隧道服务器会侦听客户端发起的会话报文。当客户端访问其它地址 时,盒子直接利用客户端MAC地址通过链路层透传;如图5a,当客户端发起 的会话指向监控系统的地址,即客户端的源地址为自身的IP地址,目的地址 为监控系统地址段内的一个IP地址(例如IP地址为192.168.1.128的监控 设备),则将该会话中的客户端IP地址转换成无公网IP的拨号隧道代理装 置的虚拟IP地址,如果当前存在不止一个指向监控系统的会话,则还需要将 客户端的端口转换为无公网IP的拨号隧道代理装置的一个空闲端口,并记录 当前会话的客户端的IP地址、端口以及转换后的虚拟IP地址和端口;将转 换地址信息后的报文封装进隧道。封装后的消息结构如图5b所示。

无公网IP的拨号隧道代理装置要监测所有拨号隧道服务器回来的报文, 根据其五元组判断,不是监控业务的报文直接按二层链路层继续转发,对于 监控业务报文则先将外层隧道的封装给剥离,再匹配转换表项,将目的虚拟 IP地址转换成客户端真实IP地址后转给客户端(如图5a)。

无公网IP的拨号隧道代理装置根据MAC地址监听到原先用来拨号的动态 IP发生变化时,会先根据MAC地址查找原先所记录的拨号用的客户端的IP 地址,随后查找本身的隧道表项,找出隧道ID。如果一各客户端原IP地址 已经失效或已经被其它机器使用了,DHCP服务器则会回应一个DHCPNACK封 包给客户端,要求其从新执行Dhcpdiscover。客户端发出Dhcpdiscover报 文广播报文,且报文中带着自身的MAC地址,因此在本例中,隧道拨号代理 装置通过监听Dhcpdiscover来判断客户端的IP是否发生变化。

而拨号代理盒子上记录有PC机原先的IP地址、MAC地址。所以当盒子 收到一个Dhcpdiscover报文时,从报文中的MAC地址便可以看出原先的哪个 IP地址发生了变化。

将隧道表项中所记录的客户端的IP地址更新为新客户端的地址后,封装 一个包含隧道ID和新IP地址和端口的私有信令报文通过隧道传给服务器。 以便服务器根据报文中的隧道ID将对应表项中的对端真实IP和端口替换成 新的IP地址和端口。

与上述通过无公网IP的拨号隧道代理装置实现NAT穿越的方法相对应, 本申请还提供了无公网IP的拨号隧道代理装置。

本申请的无公网IP的拨号隧道代理装置的实施例可以应用在网络设备上。无 公网IP的拨号隧道代理装置实施例可以通过软件实现,也可以通过硬件或者 软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是 通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到 内存中运行形成的。从硬件层面而言,如图6所示,为本申请无公网IP的拨 号隧道代理装置所在设备的一种硬件结构图,除了图6所示的处理器、网络 接口、内存以及非易失性存储器之外,实施例中装置所在的设备通常还可以 包括其他硬件。

图7是本申请无公网IP的拨号隧道代理装置通过软件实现时内部结构的 逻辑框图。在该实施例中,无公网IP的拨号隧道代理装置700包括监听模块 701、隧道建立模块702和报文转发模块703。监听模块701与多个客户端连 接,可以用于监听所连接的各个客户端的地址信息以及各个客户端所发送的 报文,并判断客户端所发送的报文是否是需要监控系统处理的报文。隧道建 立模块702可以利用监听模块701所获取的客户端的地址信息与拨号隧道服 务器建立应用隧道。在应用隧道建立后,拨号隧道服务器会分配给无公网IP 的拨号隧道代理装置一个虚拟IP地址,隧道建立模块702在收到这个虚拟 IP地址后转发给报文转发模块。报文转发模块可以通过虚拟IP地址利用应 用隧道将需要发给监控系统处理的报文发给拨号隧道服务器进行处理,并在 收到拨号隧道服务器回复的报文后,将虚拟IP地址转换为目的客户端的IP 地址后发给该客户端。

以下对无公网IP的拨号隧道代理装置700的各模块的功能进行说明。

监听模块,用于监听至少一个所连接的客户端的地址信息以及客户端发 送的报文;当客户端发送的报文的目的地址在监控系统的地址段内时,则将 所述报文传给报文转发模块;

隧道建立模块,用于通过其中一个客户端的地址信息向预先配置的拨号 隧道服务器地址建立应用隧道;并接收所述拨号隧道服务器所分配的虚拟IP 地址;

报文转发模块,用于将报文中的客户端IP地址转换成所述虚拟IP地址, 通过所述应用隧道将所述报文转发至所述拨号隧道服务器;以及将从所述拨 号隧道服务器返回的报文的所述虚拟IP地址转换成所述客户端IP地址后, 将所述报文发送至所述客户端。

在一个实施例中,建立应用隧道时所使用的客户端的地址信息为所述监 听模块收到首个地址信息的客户端的地址信息;隧道建立模块进一步用于在 建立应用隧道时从所述应用隧道服务器接收所述监控系统的地址段传给监听 模块。

在另一个实施例中所述监控系统的地址段为预先配置;建立应用隧道时 所使用的客户端的地址信息为所述监听模块收到的首个发送的报文中的目的 地址在所述监控系统的地址段内的客户端的地址信息。

优选的,监听模块进一步用于获取所连接的每个所述客户端通过DHCP 所获得的所有地址信息和所述客户端的MAC地址;监听模块当根据所述MAC 地址监听到用于建立应用隧道的所述客户端的地址信息更新后,通知所述隧 道建立模块;隧道建立模块根据所述MAC地址查找到所述用于建立应用隧道 的所述客户端的地址信息所对应的应用隧道的标识;并将其中一个客户端当 前正在使用的地址信息和所述应用隧道的标识构建隧道更新消息,并通知所 述拨号隧道服务器将所述用于建立应用隧道的所述客户端的地址信息更新为 所述当前正在使用的地址信息。

优选的,当至少两个所述客户端发送的报文的目的地址在监控系统的地 址段内时,所述报文转发模块进一步用于将所述报文中的客户端端口转换成 所述无公网IP的拨号隧道代理装置上的映射端口,以及将从所述拨号隧道服 务器返回的报文的所述映射端口转换成所述客户端端口。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本 申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性 变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申 请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被 视为示例性的,本申请的真正范围和精神由下面的权利要求指出。

应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确 结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所 附的权利要求来限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号