【技术实现步骤摘要】
本专利技术涉及网络地址转换(Network Address Translator,NAT)
,具体涉及基于UDT打洞和TCP中转实现NAT穿越的系统和方法。
技术介绍
为了解决公网互联网协议(IP,Intemet Protocol)地址紧缺以及安全等问题,广域网上通信双方的两个主体常被网络地址转换(NAT,Network)/防火墙设备或软件隐藏,由处于同一NAT设备后的多台主机共享一个公网IP地址;一个私网内的主机通过NAT设备与公网的其他主机通信,通常都是由私网内的主机主动发起连接,数据包经过网络地址转换后送给公网上的服务器。但是这种通信方式是不允许从公网上主动向位于私网内的主机主动发起连接的,这也就阻隔了用户之间的直接通信。因此,到目前为止出现多种不同的解决方法,常用的穿越NAT的方法主要包括ALG方式,MIDCOM方式、STUN方式、TURN方式、FullProxy方式、UDP打洞、TCP打洞等。其中基于UDP协议的NAT穿越技术是目前运用得比较多的方法,其成功率比较高,但是由于UDP是不可靠传输协议,在网络环境比较差时,发生丢包的现象比较严重,无法 ...
【技术保护点】
基于UDT打洞和TCP中转实现NAT穿越的系统,其特征在于包括:用于向NAT穿越服务器进行注册,使用UDT进行打洞或TCP中转实现NAT穿越的终端;与终端交互的NAT穿越服务器,用于保存所述终端的注册信息,协助终端进行UDT打洞和TCP中转;以及与终端交互的索引服务器,用于为所述终端提供包含在线终端ID的peer列表信息。
【技术特征摘要】
1.基于UDT打洞和TCP中转实现NAT穿越的系统,其特征在于包括:用于向NAT穿越服务器进行注册,使用UDT进行打洞或TCP中转实现NAT穿越的终端;与终端交互的NAT穿越服务器,用于保存所述终端的注册信息,协助终端进行UDT打洞和TCP中转;以及与终端交互的索引服务器,用于为所述终端提供包含在线终端ID的peer列表信息。2.根据权利要求1所述的基于UDT打洞和TCP中转实现NAT穿越的系统,其特征在于所述终端包括:UDT打洞模块,用于除了当两个终端处于都处于Symmetric NAT后或者一方处于SymmetricNAT后而另一方处于Port Restricted Cone NAT后的情况外,建立UDT连接进行数据传输。TCP中转模块,用于本地终端和对方终端都处于Symmetric NAT后或者一方处于SymmetricNAT后而另一方处于Port Restricted Cone NAT后,建立TCP连接进行数据传输。3.基于UDT打洞和TCP中转实现NAT穿越的方法,其特征在于包括以下步骤:步骤S10、客户节点向NAT穿越服务器发送包括客户节点ID和名称的注册请求,从而在NAT穿越服务器上注册,建立主连接;步骤S20、NAT穿越服务器通过步骤S10中得到的客户节点ID和名称并保存,然后向客户节点返回注册成功信息;步骤S30、客户节点向索引服务器获取peer列表,该列表中包含每个客户节点的ID和名称;步骤S40、使用UDT打洞进行NAT穿越;若成功,则跳到步骤S60,否则转到下一步骤;步骤S50、使用TCP中转进行NAT穿越;步骤S60、数据传输。4.根据权利要求3所述的基于UDT打洞和TCP中转实现NAT穿越的方法,其特征在于所述步骤S40包括:步骤401、本地客户节点创建一个UDT套接字向NAT穿越服务器的协助打洞模块发送打洞请求报文A,请求与对方客户节点进行UDT打洞,报文A的内容包含本地客户节点ID和对方客户节点ID;步骤402、NAT穿越服务器收到报文A后,通过网络接口得到发起NAT穿越请求方的外部IP...
【专利技术属性】
技术研发人员:林光华,谢胜利,吴润凯,伍明彰,吴宗泽,
申请(专利权)人:华南理工大学,
类型:发明
国别省市:81[中国|广州]