公开/公告号CN101325523A
专利类型发明专利
公开/公告日2008-12-17
原文格式PDF
申请/专利权人 纬创资通股份有限公司;
申请/专利号CN200710109976.2
发明设计人 黄世勇;
申请日2007-06-11
分类号H04L12/28;H04L29/08;H04L29/06;
代理机构北京市柳沈律师事务所;
代理人蒲迈文
地址 中国台湾台北县
入库时间 2023-12-17 21:06:40
法律状态公告日
法律状态信息
法律状态
2014-01-01
授权
授权
2009-02-11
实质审查的生效
实质审查的生效
2008-12-17
公开
公开
技术领域
本发明提供一种通过代理伺服器在客户端与伺服器端建立网络连线的方法及其相关系统,尤指一种利用超文本传输协议在客户端与伺服器端建立网络连线的方法及其相关系统。
背景技术
近年来,计算机与网络设备的普及与合理的售价促使局域网(Local AreaNetwork,LAN)的架设大幅且不断地成长。局域网可轻易地在家里或办公室里等小型区域中被建立起来,使得更多的人可通过所建立的局域网来将特定范围内所有的计算机连结起来并共享资源。然而,为了防止来自外部的威胁以及破坏,局域网中通常架设有防火墙,用来保护局域网内的计算机。然而,防火墙虽可保护自身内部网络的安全,但却减少了便利性。因此,如何控管局域网安全却不影响局域网的便利性,即成为建立局域网时所必须正视的课题之一。
请参考图1,图1为现有技术位于网络上的一系统10的示意图。系统10包含一伺服器端110、一第一客户端120以及一第二客户端130。伺服器端110、第一客户端120以及第二客户端130通过同一个局域网150连线。举例来说,局域网150可以是企业机构、学校校园或者行政单位的内部网络。伺服器端110用来提供各式各样的网络服务,如打印数据、分享文件、传输数据、提供网络储存空间等。一般在局域网里,第一客户端120或第二客户端130通过传输控制协议及因特网协议(Transmission ControlProtocol/Internet Protocol,TCP/IP)直接连接到伺服器端110,以使用伺服器端110所提供的各式各样的网络服务。
请参考图2,图2为图1中的第一客户端120与伺服器端110的互动方式的示意图。如图2所示,首先,第一客户端120须向伺服器端110发出连接的要求(Request)。此时,对TCP/IP网络而言,第一客户端120须先知道伺服器端110的IP地址(IP Address)和通讯端口号(Port Number)。接着,伺服器端110会根据一套规则来决定是否接受或者拒绝第一客户端120所发出的连接要求。若伺服器端110接受第一客户端120所发出的连接要求时,第一客户端120会发出一请求或者一命令;该请求或者该命令的实际内容与伺服器端110所提供的网络服务有关,举例而言,第一客户端120对伺服器端110发出「下载一个文件」、「删除一个文件」、「新建一个目录」、「打印数据」...等的请求或者命令。最后,伺服器端110在处理该请求后,会将数据和结果回传给第一客户端120,并送出一响应(Response)至第一客户端120。
一般而言,使用者在办公室所使用各式各样的网络服务,大部分都可用上述的Client/Server模型来描述。然而,当使用者离开办公室,使用者可以连上因特网(Internet)却无法轻易地使用办公室所提供的网络服务。请参考图3,图3为现有技术位于网络上的一系统30的示意图。系统30包含一伺服器端310、一第一客户端320、一第二客户端330以及一防火墙340,其中,伺服器端310与第二客户端330通过同一个局域网350连线,第一客户端320位于局域网350外的一因特网380上。而防火墙340位于局域网350与因特网380之间,用来阻隔因特网380上的计算机(如第一客户端320)任意接触局域网350内部的计算机(如伺服器端310和第二客户端330),如此一来,第一客户端320无法通过因特网380连线至局域网350内部的计算机。虽然防火墙340可保护自身内部网络的安全却也减少了便利性。
在局域网中,使用网络服务的方式通过TCP/IP协议直接连接到伺服器端。然而,为了阻隔因特网上的计算机(如第一客户端320)任意接触局域网内部的计算机(如伺服器端310和第二客户端330),一般企业会架设防火墙来保护局域网内的计算机。另一方面,局域网内的计算机或者网络设备,大都使用虚拟IP地址,通过网络地址转换(Network Address Translation,NAT)设备可以连接到因特网,但反过来看,因特网上的计算机却无法连接到局域网内部的计算机。因此,当使用者在家里或出差,使用者可以连上因特网却无法轻易地使用那些办公室里所提供的网络服务。为了让因特网上的计算机也可以使用局域网内部的网络服务或者连接到局域网内部的计算机,可采用虚拟私人网络(Virtual Private Network,VPN)或者Port Mapper等技术,但涉及的设备与配置十分复杂,且成本的考虑上很不经济。
发明内容
本发明提供一种通过代理伺服器在客户端与伺服器端利用超文本传输协议建立网络连线的方法。该方法包含:接收该客户端的连线请求;向该伺服器端发出连线请求;在该客户端与该伺服器端之间建立一连线通道并设定该客户端的通道识别码;以及传送该通道识别码给该客户端。该方法还包含接受该客户端所发出的建立一写入通道的请求,以及向该代理伺服器发出建立一读取通道的请求。其中,该客户端的连线请求为一超文本传输协议请求。
本发明还提供一种利用超文本传输协议从因特网连线至一局域网的系统。该系统包含一客户端、一伺服器端以及一代理伺服器。该伺服器端用以提供传输数据的服务。该代理伺服器可与该客户端通过一因特网连线,且该代理伺服器可与该伺服器端通过该局域网连线。其中,该伺服器端与该代理伺服器通过该局域网连线,且该客户端仅能通过该因特网与该代理伺服器连线。其中,当该客户端通过超文本传输协议连接到该代理伺服器并发出连线请求时,该代理伺服器则使用传送控制协议分别与该客户端及该伺服器端连线,并传送一通道识别码至该客户端。该客户端还用来发送一超文本传输协议请求至该代理伺服器,而该代理伺服器还用来发送一传送控制协议连接请求至该伺服器端。该客户端另用来发送建立一写入信道的请求给该代理伺服器,以及发送建立一读取信道的请求给该代理伺服器。
附图说明
图1为现有技术位于网络上的一系统的示意图。
图2为图1中的第一客户端与伺服器端的互动方式的示意图。
图3为现有技术位于网络上的一系统的示意图。
图4为本发明一实施例位于网络上的一系统的示意图。
图5为为图4中的第一客户端、代理伺服器与伺服器端的互动方式的示意图。
图6为本发明一第一实施例说明一种通过代理伺服器在客户端与伺服器端利用超文本传输协议建立网络连线的方法的流程的示意图。
附图符号说明
10、30、40 系统
110、310、410 伺服器端
120、320、420 第一客户端
130、330、430 第二客户端
150、350、450 局域网
340、440 防火墙
380、480 因特网
470 代理伺服器
60 流程
602-622 步骤
具体实施方式
请参考图4,图4为本发明一实施例位于网络上的一系统40的示意图。系统40包含一伺服器端410、一第一客户端420、一第二客户端430、一防火墙440以及一代理伺服器470。伺服器端410、第二客户端430与代理伺服器470通过同一个局域网450连线,第一客户端420位于局域网450外的一因特网480上。防火墙440位于局域网450与因特网480之间,用来阻隔因特网480上的计算机(如第一客户端420)任意接触局域网450内部的计算机(如伺服器端410和第二客户端430)。代理伺服器470可与第一客户端420通过因特网480连线,且代理伺服器470可与该伺服器端410通过局域网450连线。请注意,伺服器端410与代理伺服器470通过局域网450连线,且第一客户端420仅能通过因特网480与代理伺服器470连线。当第一客户端420通过超文本传输协议连接到代理伺服器470并发出连线请求时,代理伺服器470则使用传送控制协议分别与第一客户端420及伺服器端410连线,并传送一通道识别码至第一客户端420。
上述的第一客户端420、代理伺服器470以及伺服器端的运作方式,将于图5详细说明。其中,第一客户端420还可用来发送一超文本传输协议请求至代理伺服器470,可与代理伺服器470通过因特网480连线。而代理伺服器470在接收到该超文本传输协议请求,还可用来发送一传送控制协议连接请求至伺服器端410,代理伺服器470可与该伺服器端410通过局域网450连线。之后,第一客户端420还可用来发送建立一写入信道的请求给代理伺服器470,以及发送建立一读取信道的请求给代理伺服器470,以建立两个TCP连接。最后,代理伺服器470还可用来将第一客户端420所发送的建立该写入通道的请求传送到伺服器端410,伺服器端410还用来发送一响应给代理伺服器470,而代理伺服器470还用来传送一超文本传输协议响应给第一客户端420。
在上述的实施例中,局域网450可以是企业机构、学校或者行政单位的内部网络,但不局限于此,也可为其它的局域网。此外,伺服器端410用来提供各式各样的网络服务,像是「下载一个文件」、「删除一个文件」、「新建一个目录」、「打印数据」、「传输数据」...等,但不局限于此,也可为其它的网络服务。
请参考图5,图5为图4中的第一客户端420、代理伺服器470与伺服器端410的互动方式的示意图。如图5所示,首先,第一客户端420向代理伺服器470发出一HTTP连接请求,比如说可以用HTTP GET或HTTP POST命令,必须指定伺服器端的IP地址(IP Address)和通讯端口号(Port Number)。请注意,有关HTTP命令的功能与运用,此为本领域技术人员所熟悉的技术,在此不再赘述。接着,代理伺服器470按照第一客户端420所提供的IP地址和通讯端口号,向伺服器端410发出连接的请求。此时,伺服器端410会根据一预设规则来决定是否接受或者拒绝代理伺服器470所发出的连接要求。在伺服器端410接受代理伺服器470所发出的连接要求后,代理伺服器470会在第一客户端420与伺服器端410之间建立一连线通道并设定第一客户端420的一通道识别码(Channel ID)。第一客户端420必须记录此信道识别码,并在一个独立的TCP连接中使用HTTP POST命令向代理伺服器470发出建立一写入通道(Writing Channel)的请求。请注意,之后第一客户端420要发送的所有请求都将经由这个TCP连接传送至代理伺服器470。当第一客户端420向代理伺服器470发出建立该写入信道的请求时,代理伺服器470将第一客户端420所发送的建立该写入通道的请求不加修饰地转发给伺服器端410。然后,第一客户端420在另一个独立的TCP连接中使用HTTPGET命令向代理伺服器470发出建立一读取通道(Reading Channel)的请求。当代理伺服器470将第一客户端420所发送的建立该读取通道的请求传送到伺服器端410时,伺服器端410将处理后的数据和结果传送到代理伺服器470,并发送一响应(Response)给代理伺服器470。最后,代理伺服器470在读取信道的TCP连接中使用HTTP响应的方式将伺服器端410所发出的响应转发给第一客户端420。请注意,之后伺服器端410的所有响应都将经由这个TCP连接传送至第一客户端420。
在上述的实施例中,该HTTP连接请求可以是HTTP GET或HTTP POST命令,或者其它的HTTP命令。请注意,本例子中共包含两个独立的TCP连接,第一个TCP连接建立该写入通道,第一客户端420要发送的所有请求都通过这个TCP连接传送至代理伺服器470;第二个TCP连接建立该读取通道,伺服器端410的所有响应都通过这个TCP连接传送至第一客户端420。通过本发明的方法,不论第一客户端420位于何处,都可使用HTTP协议轻易地连接到代理伺服器470,再转接到局域网450内部的计算机(如伺服器端410或者第二客户端430)。
请参考图6,图6为本发明一第一实施例说明一种通过代理伺服器在客户端与伺服器端利用超文本传输协议建立网络连线的方法的流程60的示意图。流程60包含以下的步骤:
步骤602:流程开始。
步骤604:代理伺服器470接收第一客户端410的HTTP连接请求。
步骤606:代理伺服器470向伺服器端410发出一TCP连接请求。
步骤608:伺服器端410接受或者拒绝代理伺服器470所发出的TCP连接请求。若伺服器端410接受代理伺服器470所发出的TCP连接请求,则执行步骤610;否则,执行步骤622。
步骤610:代理伺服器470在第一客户端420与伺服器端410之间建立一连线通道并设定第一客户端420的一通道识别码。
步骤612:第一客户端420向代理伺服器470发出建立一写入通道的请求。
步骤614:代理伺服器470将第一客户端420所发送的建立该写入通道的请求传送到伺服器端410。
步骤616:第一客户端420向代理伺服器470发出建立一读取通道的请求。
步骤618:伺服器端410发送一响应给代理伺服器470。
步骤620:代理伺服器470传送一HTTP响应给第一客户端420。
步骤622:代理伺服器470回报连接错误给第一客户端420。
请结合图5以便说明。首先,代理伺服器470接收第一客户端410的HTTP连接请求(步骤604)。接着,代理伺服器470根据第一客户端420的HTTP连接请求,向伺服器端410发出TCP连接请求(步骤606),而伺服器端410可以接受或者拒绝代理伺服器470所发出的TCP连接请求(步骤608)。接下来,分两个部分来说明:当伺服器端410接受代理伺服器470所发出的TCP连接请求时,执行步骤610-620;当伺服器端410拒绝代理伺服器470所发出的TCP连接请求时,执行步骤622。若伺服器端410接受代理伺服器470所发出的TCP连接请求,代理伺服器470在第一客户端420与伺服器端410之间建立一连线通道并设定第一客户端4 20的一通道识别码(步骤610)。第一客户端420必须记录此信道识别码,并在两个独立的TCP连接中向代理伺服器470分别发出建立该写入通道的请求(步骤612),以及建立该读取通道的请求(步骤616)。在步骤614中,代理伺服器470再将第一客户端420所发送的建立该写入通道的请求不加修饰地转发给伺服器端410。在步骤618-620中,伺服器端410将处理后的数据和结果传送到代理伺服器470,并发送一响应给代理伺服器470,而代理伺服器470再发出HTTP响应给第一客户端420。另一方面,若伺服器端410拒绝代理伺服器470所发出的TCP连接请求时,代理伺服器470回报连接错误给第一客户端420(步骤622)。
请注意,在传送该通道识别码时,将一通道建立完成的该HTTP响应(HTTPResponse)及该通道识别码一起传送给第一客户端420。
在上述的实施例中,由于伺服器端410与代理伺服器470通过同一个局域网450连线,代理伺服器470可使用TCP/IP协议直接连接到伺服器端410。另一方面,虽然第一客户端420位于局域网450外的因特网480上,第一客户端420仅能通过因特网480与代理伺服器470连线,但由于使用HTTP协议连接到代理伺服器470,大部分的防火墙都可允许HTTP,所以无须太多额外的配置工作即可轻易地连接到局域网450内的计算机(如伺服器端410)。
请注意,流程60仅为本发明所举可行的实施例,并非限制本发明的限制条件,且其中的步骤顺序可依情况做变化。
以上所述的实施例仅用来说明本发明,并不局限本发明的范畴。文中所提到的局域网450可以是企业机构、学校校园或者行政单位的内部网络,但不局限于此,也可为其它的局域网。第一客户端420、第二客户端430仅用来说明本发明,其个数并不局限于两个,也可扩充至多个,可视实际应用而改变。此外,本发明采用两个独立的TCP连接(该写入信道以及该读取信道),分别用来传送第一客户端420要发送给代理伺服器470的所有请求以及伺服器端410要发送给第一客户端420的所有响应。请注意,流程60仅为本发明所举可行的实施例,并非限制本发明的限制条件,且其中的步骤顺序可依情况做变化。
由上可知,本发明提供一种通过代理伺服器在客户端与伺服器端利用超文本传输协议建立网络连线方法及其相关系统。由于因特网480上的第一客户端420使用HTTP协议连接到代理伺服器470,大部分的防火墙都可允许HTTP,所以无须太多额外的配置工作即可轻易地连接到局域网450内的计算机(如伺服器端410)。通过本发明的方法,不论第一客户端420位于何处,皆可使用HTTP协议轻易地连接到代理伺服器470,再转接到局域网450内部的计算机(如伺服器端410或者第二客户端430)。至于本发明的应用,在第一客户端420的修改工作并不复杂,只须更改建立TCP连接的程序(将原先一个TCP连接改成两个独立的TCP连接),再加上一些简单的HTTP表头,而在伺服器端410则完全不须修改。不但在使用上十分简单、便利,且无需花费额外的成本。因此,如果使用者在家里或出差,使用者不但可以连上因特网更可以轻易地使用那些办公室里所提供的网络服务。
以上所述仅为本发明的较佳实施例,凡依本发明权利要求所做的均等变化与修饰,皆应属本发明的涵盖范围。
机译: 在网络客户端和交换消息的第二部分之间向用户提供消息的方法;客户端网络的第一用户与第二部分消息交换方法之间的管理消息的方法;在网络客户端的第一用户与客户端网络中的第二用户之间的S消息;处理系统操作员消息,以处理客户端网络的用户与消息交换的第二部分之间的消息。
机译: 在通信网络中建立客户端站的远程客户端与远程服务器之间的远程通信连接的方法,包括通过移动终端在通信网络中建立远程通信连接
机译: 通过建立到客户端网络计算机上实现的故障转移服务器的连接以断开连接模式操作客户端网络计算机的系统和方法