一种将TCP网络通信服务端转换为客户端的方法技术

技术编号:5389166 阅读:482 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种将TCP网络通信服务端转换为客户端的方法,包括:建立在TCP网络中提供数据转发的转发服务器,至少有一个内网服务端机器通过命令端口和数据端口与转发服务器建立连接;至少有一个外网客户端机器通过所述命令端口和数据端口与转发服务器建立连接;转发服务器中设置有一个TCP网络IP地址、设置有命令端口和数据端口,转发服务器始终监听命令端口和数据端口;本发明专利技术转发服务器只负责服务注册、服务查询、通信中转等处理,内网服务端机器不直接对外网暴露服务,提高了内网安全性,不再需要配置固定IP,减少了固定IP这一宝贵资源;本发明专利技术是基于TCP通信转发的通用实现方法,现有的服务端、客户端软件不需要修改,可以充分利用已有的软件资产。

【技术实现步骤摘要】
一种将TCP网络通信服务端转换为客户端的方法
本专利技术应用于计算机网络通信领域,特别涉及一种将TCP网络通信服务端转换为 客户端的方法,该方法采用一个公共的转发服务器模块,实现外网客户端与内网服务器之 间的通信转发,服务端机器不需要配置固定IP,不需要修改现有的服务端和客户端软件,就 能使外网机器能够访问内网机器上的服务。
技术介绍
在企业内部网络中,为了保证网络安全,都会设置防火墙,只允许内网机器作为客 户端连接外网的服务端机器,而不允许内网机器作为服务端,让外网机器来连接。如一般公 司内网中的机器都可以作为客户端访问互联网网页或者互联网上的FTP服务器,但内网的 FTP服务器等机器,是不允许外网机器访问的。不允许内网机器作为服务端被外网访问,除了安全因素,还有一个原因 是,如果作为服务端被外网访问,服务端必须具备固定的外网IP和端口号。由于固定的外 网IP资源数量有限,非常宝贵,因此,一般企业只是申请很少几个固定IP。通过网络地址转 换(NAT)技术,可以允许很多台内网机器作为客户端连接外网,共享这几个固定IP,例如以 太网络。虽然每个客户端连接使用的外网IP相同,但端口号不同本文档来自技高网...

【技术保护点】
一种将TCP网络通信服务端转换为客户端的方法,其特征在于,包括转发服务器模块、服务端代理和客户端机器,所述方法的步骤包括:  至少有一个提供数据转发的转发服务器模块建立在TCP网络中,转发服务器模块中设置有一个TCP网络IP地址、设置有命令端口和数据端口、设置有一个数据转发器和一个用户认证子模块,转发服务器模块始终监听命令端口和数据端口,准备接收服务端代理和客户端机器发起的连接,所述客户端机器包括客户端代理和客户端;  至少有一个内网服务端代理通过所述命令端口和数据端口与转发服务器模块建立连接,所述内网服务端代理至少连接一个内网服务端的实际服务;  至少有一个外网客户端机器的客户端代理通过所述...

【技术特征摘要】
1.一种将TCP网络通信服务端转换为客户端的方法,其特征在于,包括转发服务器模 块、服务端代理和客户端机器,所述方法的步骤包括至少有一个提供数据转发的转发服务器模块建立在TCP网络中,转发服务器模块中设 置有一个TCP网络IP地址、设置有命令端口和数据端口、设置有一个数据转发器和一个用 户认证子模块,转发服务器模块始终监听命令端口和数据端口,准备接收服务端代理和客 户端机器发起的连接,所述客户端机器包括客户端代理和客户端;至少有一个内网服务端代理通过所述命令端口和数据端口与转发服务器模块建立连 接,所述内网服务端代理至少连接一个内网服务端的实际服务;至少有一个外网客户端机器的客户端代理通过所述命令端口与转发服务器模块建立 连接,同一个客户端机器的客户端与转发服务器模块的数据端口建立连接。2.根据权利要求1所述的一种将TCP网络通信服务端转换为客户端的方法,其特征在 于,所述转发服务器模块执行的步骤包括命令端口监听线程处理和数据端口监听线程处 理;所述命令端口监听线程处理步骤包括收到命令连接后,通过用户认证子模块进行用 户名、密码验证;密码验证出错,关闭该连接,继续等待新的命令连接;密码验证成功,启动 命令处理线程;所述数据端口监听线程处理步骤包括先接收定长的数据连接命令字和服务访问ID 信息,然后接收与具体服务相关的数据,所述转发服务器模块只解析开头的定长数据,然后 直接进行转发处理,所述数据连接命令字有“提供服务”和“访问服务”,“提供服务”命令由 服务端代理数据连接发送,“访问服务”命令由客户端数据连接发送,如果“提供服务”连接 与“访问服务”有相同的服务访问ID,表明这两个连接对应的是同一个服务访问请求,传入 两个连接的Socket信息并记为SocketSl和SocketS2,启动通信转发线程。3.根据权利要求2所述的一种将TCP网络通信服务端转换为客户端的方法,其特征在 于,所述转发服务器模块命令处理线程的步骤是a.判断命令类型;对于服务端代理服务注册命令保存服务注册信息和该连接的 Socket信息,返回注册结果信息;对于客户端代理服务查询命令返回目前注册的所有服 务信息列表,然后等待后续的服务选择命令;b.收到服务选择命令后,根据命令中选择的服务条目,向对应的服务端代理Socket发 送服务选择命令;c.服务端代理Socket返回服务选择命令执行结果,如果执行成功,返回服务访问ID 值,转发服务器模块将该ID返回给客户端代理;如果执行失败,转发服务器模块将错误描 述信息返回给客户端代理;d.之后继续等待后续的服务选择命令,直到退出该线程。4.根据权利要求1所述的一种将TCP网络通信服务端转换为客户端的方法,其特征在 于,所述命令端口与服务端代理和客户端代理的连接采用SSL/TLS传输层加密机制。5.根据权利要求1所述的一种将TCP网络通信服务端转换为客户端的方法,其特征在 于,所述服务端...

【专利技术属性】
技术研发人员:姚威邓伟王彦彬王雷
申请(专利权)人:北京中科大洋科技发展股份有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1