因特网中访问私网服务器的方法

文档序号:7867642阅读:324来源:国知局
专利名称:因特网中访问私网服务器的方法
技术领域
本发明涉及一种通信技术,具体说,涉及一种因特网中访问私网服务器的方法。
背景技术
公网、内网是两种Internet的接入方式。内网接入方式上网的计算机得到的IP地址是Inetnet上的保留地址,保留地址有如下3种形式10. X. X. X172. 16. X. X 至 172. 31. x. x192. 168. x. x内网的计算机以静态网络地址转换(NAT, Network Address Translation)协议,通过一个公共的网关访问Internet。内网的计算机可向Internet上的其他计算机发送连接请求,但Internet上其他的计算机无法向内网的计算机发送连接请求。公网接入方式上网的计算机得到的IP地址是Inetnet上的非保留地址。公网的计算机和Internet上的其他计算机可随意互相访问。静态网络地址转换(NAT, Network Address Translation)是网络地址转换,它实现内网的IP地址与公网的地址之间的相互转换, 将大量的内网IP地址转换为一个或少量的公网IP地址,减少对公网IP地址的占用。NAT的最典型应用是在一个局域网内,只需要一台计算机连接上Internet,就可以利用NAT共享Internet连接,使局域网内其他计算机也可以上网。使用NAT协议,局域网内的计算机可以访问Internet上的计算机,但Internet上的计算机无法访问局域网内的计算机。Client/Server结构(C/S结构)是大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。C/S又称Client/Server或客户/服务器模式。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如ORACLE、SYBASE、InfORMix或SQLServer。客户端需要安装专用的客户端软件。

发明内容
本发明所解决的技术问题是提供一种因特网中访问私网服务器的方法,使得私网服务器可以与客户端建立连接,使TCP/IP的应用范围更加广阔。技术方案如下一种因特网中访问私网服务器的方法,包括设置客户Client端和服务器Server端,使所述客户端和所述服务器端一个连接公网,另一个连接私网;建立路由映射,分别创建客户端进程和服务器进程;建立服务器进程进行绑定和监听,所述客户端进程和服务器进程通过一对套接字的读写来互相通信。进一步所述客户端的电脑与公网连接,所述服务器端的电脑与路由器的局域网口连接,所述路由器的广域网口与公网连接,让所述服务器端的电脑处在私网当中。进一步所述客户端的配置为IP地址设为IPClient,子网掩码设为Subnetmaskl,默认网关设为Default gateway I,端口号设为PORTClient ;在所述网关中,广域网WAN端口的配置为IP地址设为IPGateway,子网掩码设为Subnet maskl,默认网关设为Default gatewayl,端口号设为PORTGateway ;局域网LAN端口的配置为IP地址设为IPLAN,子网掩码设为Subnet mask2,默认网关设为Default gateway2 ;与所述网关的LAN口连接的服务器端的配置为IP地址设为IPServer,子网掩码设为SUbnetmask2,默认网关设为 Default gateway2,端口号设为 PORTServer。 进一步建立路由映射时,先启动私网中的Client程序,所述Client程序中的IP地址和端口号是公网Client的IP地址和端口号;向网关发送伪连接请求,之后不等待应答包,其目的是为了建立路由映射;建立完路由映射后,再建立公网中的Client,向IPGateway+PORTGateway发送连接请求,私网中的服务器收到连接请求后,向公网Client发送应答包,公网Cl ient在收到私网中的服务器发出的应答包后,再向这个服务器发送确认已收到应答包,从而完成TCP协议建立连接时需要的三次握手方式。进一步所述Client端的电脑与第一路由器的局域网口连接,所述第一路由器的广域网口与公网连接,所述Client端的电脑处在第一私网中;所述Server端的电脑与第二路由器的LAN 口连接,所述第二路由器的WAN 口与公网连接,所述Server端的电脑处在第二私网中。进一步建立路由映射时,所述第一网关中,广域网WAN端口的配置为IP地址设为IPGatewayl,子网掩码设为Subnet maskl,默认网关设为Default gatewayl,端口号设为PORTGatewayl,局域网LAN端口的配置为IP地址设为IPLAN1,子网掩码设为Subnet mask2,默认网关设为Default gateway2,与所述第一网关的LAN 口连接的客户端的配置为IP地址设为IPClient,子网掩码设为Subnet mask2,默认网关设为Defaultgateway2,端口号设为PORTClient ;在第二网关中,广域网WAN端口的配置为IP地址设为IPGateway2,子网掩码设为Subnet maskl,默认网关设为Default gatewayl,端口号设为PORTGatewayl,局域网LAN端口的配置为IP地址设为IPLAN2,子网掩码设为Subnetmask4,默认网关设为Default gateway4,与所述第一网关的LAN 口连接的客户端的配置为IP地址设为IPServer,子网掩码设为Subnet mask4,默认网关设为Default gateway4,端口号设为PORTServer。进一步先运行所述第二私网中服务器端的Client程序,向IPGatewayl和PORTGatewayl发送伪连接请求,其目的是为了建立路由端口映射;建立完路由端口映射后,再启动所述第一私网中的Client程序,向对面发送连接请求,等待应答包,由于之前建立了端口映射,所以连接请求可以到达所述第二网关中,然后通过端口映射从而到达所述第二私网中的Server端,所述第二私网中的Server收到连接请求后,向所述第一私网Client发送应答包,所述第一私网的Client在收到所述第二私网的Server发出的应答包后,再向所述第一私网中Server发送确认已收到应答包,从而完成TCP协议建立连接时需要的三次握手方式。
进一步在建立所述第二私网中的Server进程时,需要对其进行绑定和监听,设定端口 号 PORTServer、PORTClient, PORTGatewayl 和 P0RTGateway2,在 while 函数语句下,所述第二私网中Client设置时间间隔循环向所述第一私网中Server发请求包,等待所述第一私网中Server的应答包,如果超时,则所述第一私网中Client程序返回值为_1,跳出;如果在规定时间内所述第一私网中Server发送了应答包,则在所述第一私网中的Client端执行Connect函数,同时返回O值,在所述第二私网中服务器端的Server程序得到SOCKET ERROR RIGHT的指令;所述第一私网中的Client向所述第二私网中Server发送确认收到应答包的指令,并执行Accept函数,建立m_socket,利用m_socket收发信息,建立互相通信。本发明技术方案带来的技术效果包括(I)公网客户端向私网服务器端发送连接请求的实现; (2)私网客户端向私网服务器端发送连接请求的实现;(3)基于这种技术的发明实现,可以使得私网服务器可以与客户端建立连接,使TCP/IP的应用范围更加广阔。(4)基于这种技术的发明实现,可以实现一种基于无线局域网的可视电话技术的实现,彼此之间借助WIFI技术,相互访问,突破了公网与私网的局限,应用前景十分广泛。(5)基于该项技术,也可以应用于办公系统等实时多媒体业务的主流市场中。如高清晰度电视(HDTV)、VOIP、视频会议、IMS、远程教育、远程医疗等。


图1是本发明中第一种方案网络结构图;图2是本发明中第一种方案发送连接请求的时间线流程图;图3是本发明中第一种方案建立路由映射示意图;图4是本发明中第二种方案网络结构图;图5是本发明中第二种方案发送连接请求的时间线流程图;图6是本发明中第二种方案建立路由映射示意图。
具体实施例方式网络应用程序的核心由一对程序组成一个客户程序和一个服务器程序。当这两个程序执行的时候,创建一个客户端进程和一个服务器进程,并且这两个进程通过一对套接字(Socket)的读写来互相通信。本发明中,在Visual C++环境下利用C语言进行Socket编程。套接字是应用程序通信的基石,是支持TCP/IP协议(Transmission ControlProtocol/Internet Protocol,中传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议)的网络通信应用的基本操作单元。可以将套接字看作是不同主机间的进程进行双向通信的端点网络中两台通信的主机各自在自己机器上建立通信的端点,即套接字,然后使用套接字进行数据通信。在本发明中,一共有两种方案第一种方案是让客户端处在公网,服务器处在私网,从而实现二者之间的相互通信;第二种方案是让客户端和服务器端都处在私网,实现二者之间的通信。
下面参考附图和优选实施例,对本发明技术第一种方案作详细描述。步骤1:设置客户端和服务器端;如图1所示,是本发明中第一种方案网络结构图。在优选实施例中,客户端处在公网,让客户端(Client端)的电脑与公网连接;服务器端(Server端)的电脑与路由器的局域网(LAN, Local Area Network) 口连接,路由器的广域网(WAN, Wide Area Network)口与公网连接,让Server端的电脑处在私网当中。在Client端,相关的配置为IP地址设为IPaient,子网掩码设为Subnet Iiiask1,默认网关设为Default gatewa}^,端口号设为P0RTaient。在网关中,广域网(WAN)端口的配置为IP地址设为IPeateway,子网掩码设为 Subnet Iiiask1,默认网关设为 Default gatewayi,端口号设为 PORTtoteway。局域网(LAN)端口的配置为=IP地址设为IPlm,子网掩码设为Subnet mask2,默认网关设为Defaultgateway^与网关的LAN 口连接的服务器端的配置为IP地址设为IPSe OT,子网掩码设为Subnet mask2,默认网关设为 Default gateway2,端口号设为 PORTserver。下面以在Visual C++环境下利用C语目进行Socket编程为例,对本发明因特网中访问私网服务器的方法作详细说明。步骤2 :建立路由映射,分别创建客户端进程和服务器进程;如图2所示,是本发明中第一种方案发送连接请求的时间线流程图。依据第一种网络结构,我们需要通过分别创建客户端进程和服务器进程建立路由映射,那么建立进程和路由映射的时候我们需要向客户端和服务器端发送适当的连接请求。公网Client访问私网Server时发送连接请求内容1、私网 Serer — Gateway
权利要求
1.一种因特网中访问私网服务器的方法,包括设置客户Client端和服务器Server端,使所述客户端和所述服务器端一个连接公网, 另一个连接私网;建立路由映射,分别创建客户端进程和服务器进程;建立服务器进程进行绑定和监听,所述客户端进程和服务器进程通过一对套接字的读写来互相通信。
2.如权利要求1所述的因特网中访问私网服务器的方法,其特征在于所述客户端的电脑与公网连接,所述服务器端的电脑与路由器的局域网口连接,所述路由器的广域网口与公网连接,让所述服务器端的电脑处在私网当中。
3.如权利要求2所述的因特网中访问私网服务器的方法,其特征在于所述客户端的配置为IP地址设为IPaient,子网掩码设为Subnet Iiiask1,默认网关设为Default gatewayi,端口号设为PORTaient ;在所述网关中,广域网WAN端口的配置为IP地址设为IPcate胃,子网掩码设为Subnet Iiiask1,默认网关设为Default gatewa}^,端口号设为 PORTcateway ;局域网LAN端口的配置为IP地址设为IPlan,子网掩码设为Subnet mask2,默认网关设为Default gateway2 ;与所述网关的LAN 口连接的服务器端的配置为IP地址设为IPse i·,子网掩码设为Subnet mask2,默认网关设为Default gateway2,端口号设为 PORTserver0
4.如权利要求3所述的因特网中访问私网服务器的方法,其特征在于建立路由映射时,先启动私网中的Client程序,所述Client程序中的IP地址和端口号是公网Client的 IP地址和端口号;向网关发送伪连接请求,之后不等待应答包,其目的是为了建立路由映射;建立完路由映射后,再建立公网中的Client,向IP—+P0RT—发送连接请求,私网中的服务器收到连接请求后,向公网Cl ient发送应答包,公网Cl ient在收到私网中的服务器发出的应答包后,再向这个服务器发送确认已收到应答包,从而完成TCP协议建立连接时需要的三次握手方式。
5.如权利要求1所述的因特网中访问私网服务器的方法,其特征在于所述Client 端的电脑与第一路由器的局域网口连接,所述第一路由器的广域网口与公网连接,所述 Client端的电脑处在第一私网中;所述Server端的电脑与第二路由器的LAN 口连接,所述第二路由器的WAN 口与公网连接,所述Server端的电脑处在第二私网中。
6.如权利要求5所述的因特网中访问私网服务器的方法,其特征在于建立路由映射时,所述第一网关中,广域网WAN端口的配置为IP地址设为IPeatewayl,子网掩码设为Subnet Hiask1,默认网关设为Default gateway”端口号设为PORTeatewayl,局域网LAN端口的配置为IP地址设为IPuni,子网掩码设为Subnet mask2,默认网关设为Default gateway2,与所述第一网关的LAN 口连接的客户端的配置为IP地址设为IPaient,子网掩码设为Subnet mask2,默认网关设为Default gateway2,端口号设为PORTaient ;在第二网关中,广域网WAN 端口的配置为=IP地址设为IPeateway2,子网掩码设为Subnet Hiask1,默认网关设为Default gateWayi,端口号设为PORTeatewayl,局域网LAN端口的配置为IP地址设为IPun2,子网掩码设为Subnet mask4,默认网关设为Default gateway4,与所述第一网关的LAN 口连接的客户端的配置为IP地址设为IPservel ,子网掩码设为Subnet mask4,默认网关设为Default gateway4,端口号设为 P0RTServer。
7.如权利要求6所述的因特网中访问私网服务器的方法,其特征在于先运行所述第二私网中服务器端的Client程序,向IPeatewayl和PORTeatewayl发送伪连接请求,其目的是为了建立路由端口映射;建立完路由端口映射后,再启动所述弟一私网中的Client程序,向对面发送连接请求,等待应答包,由于之前建立了端口映射,所以连接请求可以到达所述第二网关中,然后通过端口映射从而到达所述第二私网中的Server端,所述第二私网中的 Server收到连接请求后,向所述第一私网Client发送应答包,所述第一私网的Client在收到所述第二私网的Server发出的应答包后,再向所述第一私网中Server发送确认已收到应答包,从而完成TCP协议建立连接时需要的三次握手方式。
8.如权利要求7所述的因特网中访问私网服务器的方法,其特征在于在建立所述第二私网中的Server进程时,需要对其进行绑定和监听,设定端口号P0RTSe,ve,、PORTclient, PORTcatewayl和PORTeateway2,在while函数语句下,所述第二私网中Client设置时间间隔循环向所述第一私网中Server发请求包,等待所述第一私网中Server的应答包,如果超时,贝U 所述第一私网中Client程序返回值为-1,跳出;如果在规定时间内所述第一私网中Server 发送了应答包,则在所述第一私网中的Client端执行Connect函数,同时返回O值,在所述第二私网中服务器端的Server程序得到S0CKET_ERR0RRIGHT的指令;所述第一私网中的 Client向所述第二私网中Server发送确认收到应答包的指令,并执行Accept函数,建立 m_socket,利用m_socket收发信息,建立互相通信。
全文摘要
本发明公开了一种因特网中访问私网服务器的方法,包括设置客户Client端和服务器Server端,使所述客户端和所述服务器端一个连接公网,另一个连接私网;建立路由映射,分别创建客户端进程和服务器进程;建立服务器进程进行绑定和监听,所述客户端进程和服务器进程通过一对套接字的读写来互相通信。本发明技术方案使得私网中服务器可以与客户端建立连接,使TCP/IP的应用范围更加广阔。
文档编号H04L12/749GK103023789SQ20121051866
公开日2013年4月3日 申请日期2012年12月5日 优先权日2012年12月5日
发明者李争平, 马礼, 张永梅, 刘文楷, 刘玏 申请人:北方工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1