- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
TCPIP路由穿透方案设计
摘要:分析Sever/Client方式在实际应用中的重要的作用,使其在p2p发展
迅速的网络应用中依然有一席之地;通过服务器以多线程管理客户端通信的方式
稳定,高效,并且提供了单一或者多方备份与加密的可行性方案;Sever/Client
穿透防火墙,路由的方式适用面广,信息传递准确性高,提高了连接效率和安全
性.
关键词:Sever/Client;P2P;TCP;UDP;穿透;多线程
前言
随着P2P与NAT技术的日益发展与成熟,P2P网络在应用领域获得了巨大的
成功,然而传统的Sever/Client的互联方式依然有着重要的实际应用作用――企业
的远程财务管理,企业的可调控视频会议,学校课程预约,手机短信息定向发送
等等方面的工作从应用角度考虑更合适Sever/Client方式互联.
Sever/Client网络应用程序的设计都需要考虑路由穿透的问题,而基于
UDP,TCP两种通讯都可以完成穿透工作,本文重点讨论TCP/IP穿透路由的技术
方案.
一.概述
对于目标用户来说,管理服务总是可见的,它有一个固定的公网IP,目标用
户可以通过
手动”登陆”或者后台工作等方式主动访问管理服务器,建立一个TCP/IP连接.
利用这种方式目标用户可以在自己的终端—计算机,手机等等客户端绕过防火
墙,穿过路由器与管理服务器建立一条稳定可靠的”通道”只至,有一方动取消连接
为止.
利用这些”通道”管理服务器可以,记录并管理这些目标用户的网络地址,并把
即时消息,服务器指令,目标用户之间的通讯消息,目标用户的网络地址发给所有
或者指定的目标用户,从而实现目标用户与管理服务器之这间的防火墙,路由穿透,
目标用户之间的防火墙,路由目标穿透,达到无障碍阻通讯的目的.
二.目标用户客户端的设计
目标用户客户端的设计总方向为简化数据管理,加强数据处理,丰富人机交
互.
C++,VC++中已经封装好的套接字CAsyncSocket,CSOCKET对于网络通讯
编程来说,使用简单,然而效率和控制却不及原始套接字SOCKET.下面就以
SOCKET为例说明客户端的设计方案。
对于套接字的阻塞通信方式,客户端可以启动一个线程来完成对服务器
端口的监听接收和发送工作,在VC++中可以封装为一个网络收发线程类来使
用,这样做可以保证网络数据的安全与正确,同时还兼顾到数据的实时性,方便
扩展。
网络线程类主要工作分为四个部分:
1.将各模块对服务器请求指令打包处理
主要将请求内容封装为网络数据,即在TCP/IP数据包的基础上对数据进行
二次封装,便于程序处理。分为包头,包内容,包结束。包头一般包括长度,日
期,类型等内容;包内容则是请求数据;包结束通常包含数据包的结束标志,或
者数据是否分包发送,此为第几包等等内容。
2.发送对服务器的请求
将封装好的数据包根据类型,调用不同函数发送至服务器——根据程序内容
也可以
调用同一函数发送。
3.监听接收服务器数据
采用阻塞式通信套接字,线程监听与服务器通信的端口,实时接收数据内容。
4.将接收到服务器的数据分类发送至处理模块
根据数据包的类型,将数据包内容分门别类,取出数据包内容后通过消息机
制发送给不同的数据处理模块进行工作。
目标用户客户端之间通讯时可以采用服务转发与直接通讯两种方式,前者更
加方便实现管理记录功能但加重了管理服务器的工作负担;后者效率更高却比较
难以管理记录,各有长短,设计者可以根据具体情况进行设计.
在目标客户端之间进行直接连接时,可以使用UDP连接,然而由于网关会动
态改变UDP的端口映射,即使采用心跳数据包的方式也并不稳定,所以这种方案
并不理想.
使用TCP连接由管理服务器中转发双方的IP地址,采用管理服务器伪造数据
报,实现目标用户双手三次握手并连接的等方法.
三.管理服务器的设计
管理服务器的设计设计思路为采用多线程点
您可能关注的文档
- (完整版)四川高职单招英语模拟题含答案20965.pdf
- 2023年幼儿园大班学期工作计划下学期幼儿园大班教师个人成长计划通用(13篇).pdf
- 天然气长输管道项目竣工环境保护验收.pdf
- HACCP管理体系在航空食品安全配餐管理中的应用(第一次改).pdf
- 初中生物期末复习计划.pdf
- 多功能抓取机械手臂的设计毕业设计.pdf
- 2023年广东省汕尾市电梯作业电梯电气安装维修(T2)冲刺模拟卷(附答案).pdf
- 九年级期末物理在线考试题带答案和解析(2023年云南省昆明市五华区云大附中).pdf
- 小学语文项目化学习案例:给学生插上自主学习的翅膀.pdf
- 2023年教师党员个人工作计划(2篇).pdf
文档评论(0)