CN101217536A - 穿越网络地址转换设备/防火墙的方法、***及客户端 - Google Patents

穿越网络地址转换设备/防火墙的方法、***及客户端 Download PDF

Info

Publication number
CN101217536A
CN101217536A CNA2007103063394A CN200710306339A CN101217536A CN 101217536 A CN101217536 A CN 101217536A CN A2007103063394 A CNA2007103063394 A CN A2007103063394A CN 200710306339 A CN200710306339 A CN 200710306339A CN 101217536 A CN101217536 A CN 101217536A
Authority
CN
China
Prior art keywords
client
synchronization packets
transmission control
control protocol
burrows
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2007103063394A
Other languages
English (en)
Other versions
CN101217536B (zh
Inventor
王志华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Tencent Cloud Computing Beijing Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN2007103063394A priority Critical patent/CN101217536B/zh
Publication of CN101217536A publication Critical patent/CN101217536A/zh
Application granted granted Critical
Publication of CN101217536B publication Critical patent/CN101217536B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种穿越网络地址转换设备/防火墙的方法,该方法包括:第一客户端通过打洞辅助服务器向第二客户端发起传输控制协议直接连接请求;打洞辅助服务器将第一客户端的公网IP地址及端口号发送给第二客户端,并将第二客户端的公网IP地址及端口号发送给第一客户端;第一客户端获取已测试得到的打洞可采用的传输控制协议数据包序列;第一客户端和第二客户端在打洞辅助服务器的协助下,按照所述打洞可采用的传输控制协议包序列,向对方的公网IP地址和端口号发送数据包,直到成功建立传输控制协议直接连接。本发明还相应的公开了与所述方法对应的***及客户端。本发明实施例提供的技术方案提高了穿越网络转换设备的成功率。

Description

穿越网络地址转换设备/防火墙的方法、***及客户端
技术领域
本发明涉及网络技术领域,尤其涉及一种穿越网络地址转换设备/防火墙的方法、***及客户端。
背景技术
目前,互联网中存在大量的网络地址转换(Network Address Translation,NAT)设备。网络地址转换设备解决了IPV4地址不足的问题,但同时也给P2P(Peer to Peer)网络中客户端的直接连接设置了障碍。因此,在P2P网络中,需要克服网络地址转换设备产生的障碍,建立通信连接,。
为实现上述目的,现有技术提出了一种TCP穿越网络地址转换设备的方法。请参见图1,两个私网分别通过NAT-A设备101和NAT-B设备102连接到公网,NAT-A设备101后面有一台客户端A103,NAT-B设备102后面有一台客户端B104,打洞辅助服务器105用于协助客户端A和客户端B建立直接的TCP连接,即由客户端B向客户端A打一个洞,让客户端A可以沿这个洞直接连接到客户端B,如同NAT-B设备不存在。现有的TCP穿越NAT设备的过程如下:
1)打洞辅助服务器启动两个端口侦听,一个为主连接侦听,一个为协助打洞侦听;
2)客户端A和客户端B分别与打洞辅助服务器的主连接保持联系;
3)当客户端A需要和客户端B建立直接的TCP连接时,客户端A首先连接打洞辅助服务器的协助打洞端口,并发送协助连接请求,同时在该端口启动侦听;
4)打洞辅助服务器收到客户端A的协助连接请求后,通过主连接向客户端B发送连接通知,并将客户端A经过NAT-A设备转换后的公网IP地址和端口号发送客户端B;
5)客户端B收到连接通知后,首先与打洞辅助服务器的协助打洞端口连接,随便发送一些数据后立即断开,这样做的目的是让打洞辅助服务器记录客户端B经过NAT-B设备转换后的公网IP地址和端口号;
6)客户端B尝试与客户端A的公网IP地址和端口进行连接,目的是为了NAT-B设备记录客户端A的公网IP地址和端口号,为接下来真正的连接做准备,这就是所谓的打洞,即客户端B为客户端A在NAT-B设备上打了一个洞;
7)客户端B在一切准备就绪以后通过主连接向打洞辅助服务器回复“已经准备好消息”;
8)打洞辅助服务器在收到上述回复消息后,将客户端B的公网IP地址和端口号发送给客户端A;
9)客户端A在收到客户端B的公网IP地址和端口号等信息后,开始连接客户端B的公网IP地址和端口号,由于在步骤6中客户端B曾经尝试连接过客户端A的公网IP地址和端口号,因此,NAT-B设备记录了此次连接的信息,所以当客户端A主动连接客户端B时,NAT-B设备会认为客户端A发送来的同步数据包(synchronize,SYN)是合法数据,允许通过,从而建立直接的TCP连接。
在对现有技术的研究和实践过程中,发明人发现现有技术的缺点是:穿越NAT设备的成功率很低,只有在特定的环境下才能成功。这是因为步骤6客户端B尝试与客户端A的公网IP地址和端口号进行连接时,有些NAT设备会认为这是一个非法的连接请求,此时,NAT-A设备会向客户端B发送一个复位消息(Reset the connection,RST),要求客户端B和NAT-B设备复位,这会导致NAT-B设备清除其记录的客户端A的公网IP地址和端口号,当步骤9客户端A主动连接客户端B时,由于NAT-B设备上没有客户端A的记录,因此,NAT-B设备认为客户端A的连接请求是非法的,从而拒绝客户端A的连接请求,TCP直接连接失败。
发明内容
本发明实施例要解决的技术问题是提供一种穿越网络地址转换设备/防火墙的方法、***及客户端,能够保证很高的穿越网络转换设备的成功率。
为解决上述技术问题,本发明所提供的实施例是通过以下技术方案实现的:
本发明实施例提供了一种穿越网络地址转换设备/防火墙的方法,包括:
第一客户端通过打洞辅助服务器向第二客户端发起传输控制协议直接连接请求;
打洞辅助服务器将第一客户端的公网IP地址及端口号发送给第二客户端,并将第二客户端的公网IP地址及端口号发送给第一客户端;
第一客户端获取已测试得到的打洞可采用的传输控制协议数据包序列;
第一客户端和第二客户端在打洞辅助服务器的协助下,按照所述打洞可采用的传输控制协议包序列,向对方的公网IP地址和端口号发送数据包,直到成功建立传输控制协议直接连接。
本发明实施例还提供了一种第一客户端,包括:
直连请求发送单元,用于通过打洞辅助服务器向第二客户端发起传输控制协议直接连接请求;
公网IP地址接收单元,用于接收打洞辅助服务器返回的第二客户端的公网IP地址及端口号;
包序列获取单元,用于获取已测试得到的打洞可采用的传输控制协议包序列;
直连建立单元,用于在打洞辅助服务器的协助下,按照所述打洞可采用的传输控制协议包序列,向第二客户端的公网IP地址和端口号发送数据包,直到成功建立传输控制协议直接连接。
本发明实施例还提供了一种穿越网络地址转换设备/防火墙的***,包括:第一客户端,第二客户端,打洞辅助服务器;
第一客户端,用于通过打洞辅助服务器向第二客户端发起传输控制协议直接连接请求,并获取已测试得到的打洞可采用的传输控制协议包序列;
打洞辅助服务器,用于将第一客户端的公网IP地址及端口号发送给第二客户端,并将第二客户端的公网IP地址及端口号发送给第一客户端;
第一客户端和第二客户端在打洞辅助服务器的协助下,按照所述打洞可采用的传输控制协议包序列,向对方的公网IP地址和端口号发送数据包,直到成功建立传输控制协议直接连接。
上述技术方案具有如下有益效果:
本发明实施例中,由于第一客户端保存了预先测试的打洞环境测试结果,第一客户端可以根据测试结果,向第二客户端的公网IP地址和端口号发送数据包,避免了现有技术只能在特定的环境下穿越NAT设备的缺陷,提高了穿越网络转换设备的成功率。
附图说明
图1为现有技术提供的TCP穿越网络地址转换设备的组网图;
图2为本发明实施例提供的穿越网络地址转换设备的***组成示意图
图3为本发明实施例提供的穿越网络地址转换设备的方法流程图;
图4为本发明第一实施例提供的穿越网络地址转换设备的方法流程图;
图5为本发明第二实施例提供的穿越网络地址转换设备的方法流程图;
图6为本发明第三实施例提供的穿越网络地址转换设备的方法流程图;
图7为本发明第四实施例提供的穿越网络地址转换设备的方法流程图;
图8为本发明第五实施例提供的穿越网络地址转换设备的方法流程图;
图9为本发明第六实施例提供的穿越网络地址转换设备的方法流程图。
具体实施方式
本发明实施例提供的穿越网络地址转换设备/防火墙的方法、***及客户端,用于在P2P网络中需要可靠数据传输的场合,建立TCP直接连接(TCP直连),本发明实施例提供的方法也可以简称为TCP打洞方法。
为使本发明实施例的目的、技术方案、及优点更加清楚明白,以下结合附图对本发明实施例进行详细说明。
以下以穿越网络地址转换设备的方法为例说明本发明实施例提供的方法,该方法也能够用于穿越防火墙。
请参见图2,为本发明实施例提供的穿越网络地址转换设备的***组成示意图,该***包括:客户端A(第一客户端)201,客户端B(第二客户端)202,打洞辅助服务器203;
其中,测打洞辅助服务器203,用于协助客户端A201和客户端B202穿越NAT设备建立图2中虚线所示的TCP直连,打洞辅助服务器203在协助客户端A201和客户端B202建立TCP直连以后,不会介入数据传输过程,数据传输由客户端A201和客户端B202独立完成。
在本发明实施例中,在穿越NAT设备,建立TCP直连前,客户端需要测试打洞环境,并保存测试结果,打洞环境测试包括:测试操作***版本是否符合打洞要求、测试用户是否有超级用户权限(一般Windows用户都具有超级用户权限)、测试是否可以使用操作***接口设置公网IP地址的TTL值,以及测试表1所示的TCP包序列是否为可用于打洞的TCP包序列,其中,可用于打洞的TCP包序列是指未被TNAT设备过滤的TCP包序列。
其中,操作***版本是否符合打洞要求、用户是否有超级用户权限、以及是否可以使用操作***接口设置IP地址的TTL值的测试由客户端使用操作***提供的接口独立完成。并且,在本发明实施例中,客户端的操作***版本为WinXP SP2及以上的版本,则符合打洞要求。
为了完成对表1所示TCP包序列过滤情况的测试,图2所示的***中进一步包括:测试服务器A204,测试服务器B205;
其中,测试服务器A204,用于协助客户端A201测试客户端A的NAT设备(NAT-A)对表1所示TCP包序列的过滤情况,即测试客户端A可用表1中的哪些TCP包序列打洞;测试服务器B205,用于协助客户端B202测试客户端B的NAT设备(NAT-B)对表1所示TCP包序列的过滤情况,即测试客户端B可用表1中的哪些TCP包序列打洞。
值得注意的是,为了节约网络资源,在本发明实施例中,如果打洞环境没有改变,则客户端可以直接获取已保存的测试结果,并按照该结果进行打洞,并不影响本发明实施例的实现。
以下对表1所示的TCP包序列进行介绍。表1每一行表示一个TCP包序列,其中,第一个包表示客户端向测试服务器发送的数据包,第二个包和第三个包表示测试服务器在收到第一个包后,向客户端返回的数据包。
  序号   第一个包   第二个包   第三个包
  1   SYNout   SYNin   无
  2   SYNout   ICMPin   SYNin
  3   SYNout   ICMPin   SYNACKin
  4   SYNout   RSTin   SYNin
  5   SYNout   RSTin   SYNACKin
                        表1
以下结合图2所示的***对本发明实施例提供的方法进行详细介绍。
请参见图3,为本发明实施例提供的穿越网络地址转换设备的方法,该方法包括:
步骤301:客户端A通过打洞辅助服务器向客户端B发起TCP直接连接请求;
步骤302:打洞辅助服务器将客户端A的公网IP地址及端口号发送给客户端B,并将客户端B的公网IP地址及端口号发送给客户端A;
步骤303:客户端A获取已测试得到的打洞可采用的TCP包序列;
步骤304:客户端A和客户端B在打洞辅助服务器的协助下,按照步骤303获得的打洞可采用的TCP包序列,向对方的公网IP地址和端口号发送数据包,直到成功建立TCP直接连接。
若客户端是第一次进行TCP打洞,则上述方法进一步包括如下步骤:
客户端A和客户端B在测试服务器的协助下,测试打洞环境;
客户端A保存自身的打洞环境测试结果及客户端B通过打洞辅助服务器向其返回的打洞环境测试结果。
举例说明客户端和测试服务器如何测试哪些TCP包序列是可以用于打洞的TCP序列。比如,客户端A向测试服务器A发送第一个包SYNout后,客户端收到了测试服务器返回的第二个包ICMPin和第三个包SYNin,这说明序号为2的TCP包序列未被NAT设备过滤,则客户端A记录序号为2的TCP包序列为可用打洞的TCP包序列,反之,若客户端A未收到测试服务器返回的数据包,说明TCP包序列被NAT设备过滤,则该序列不能用于打洞。
以上介绍了本发明实施例提供的穿越NAT设备的方法,在本发明其他实施例中,客户端可以在步骤304之前的任意一个位置执行步骤303,并不影响本发明实施例的实现。
具体实现时,会存在多种不同的打洞环境测试结果,以下针对不同的打洞环境测试结果对本发明实施例的具体实现过程进行详细介绍。
请参见图4,为本发明第一实施例提供的穿越NAT设备的方法流程图,该方法包括:
步骤401:客户端A连接打洞辅助服务器的协助打洞端口,并发送TCP直接连接请求;
步骤402:打洞辅助服务器收到所述请求后,通过主连接向客户端B发送TCP连接通知,并将客户端A经过NAT-A设备转换的公网IP地址和端口号通过主连接发送给客户端B;
客户端B在收到TCP连接通知后,与打洞辅助服务器的协助打洞端口连接,随便发送一些数据至打洞辅助服务器后立即断开,以使得打洞辅助服务器记录客户端B经NAT-B设备转换后的公网IP地址和端口号;
步骤403:打洞辅助服务器通过主连接将客户端B的公网IP地址和端口号发送给客户端A;
此时,客户端A知道了客户端B的公网IP地址和端口号,客户端B也知道了客户端A的公网IP地址和端口号;
步骤404:客户端A获取已测试得到的打洞可采用的TCP包序列,若所述TCP序列是表1中序号为㈠勺TCP包序列,则客户端A获取已存的环境测试结果,若环境测试结果为***版本为WinXP SP2及以上,则进入步骤405;
步骤405:客户端A通过打洞辅助服务器向客户端B发送通知消息,该通知消息用于通知客户端B向客户端A的公网IP地址和端口号发送SYN包;
步骤406:客户端A和客户端B向对方的公网IP地址和端口号,发送SYN包;
步骤407:客户端A和客户端B在收到SYN包后,返回同步数据包确认消息(SYNACK)至对方;
至此TCP直连已建立,按照TCP协议的规定,上述方法进一步包括:
步骤408:客户端A和客户端B在收到SYNACK后,向对方返回确认消息(ACK)。
请参见图5,为本发明第二实施例提供的穿越网络地址转换设备的方法流程图,该方法与第一实施例的区别在于:
步骤504:客户端A获取已测试得到的打洞可采用的TCP包序列,若所述TCP序列是表1中序号为2的TCP包序列,则客户端A获取已存的环境测试结果,若环境测试结果为***版本为能够使用操作***接口设置公网IP地址的TTL值,则进入步骤505;
步骤505:客户端A通过打洞辅助服务器向客户端B发送第一SYN包,第一SYN包携带客户端B的公网IP地址的TTL值被设置为低;
其中,低TTL值的要求是:TTL值可以使第一SYN包穿过NAT-A设备,但是不能到达客户端B;
并且,第一SYN包由客户端A利用底层网络函数自己构造。
步骤506:打洞辅助服务器向客户端A返回Internet控制消息协议包(Internet Control Message Protocol,ICMP),ICMP包携带客户端A的公网IP地址的TTL值设置为过期;
步骤507:打洞辅助服务器向客户端B发送通知消息;
步骤508:客户端B在收到所述通知消息后,向客户端A的公网IP地址和端口号发送第二SYN包;
步骤509:客户端A在收到客户端B发送来的第二SYN包后,向客户端B发送SYNACK包,至此TCP直连已建立。
请参见图6,为本发明第三实施例提供的穿越NAT设备的方法流程图,该方法与前文已述实施例的区别在于:
步骤604:客户端A获取已测试得到的打洞可采用的TCP包序列,若所述TCP序列是表1中序号为3的TCP包序列,则客户端A获取已存的环境测试结果,若环境测试结果为***版本为操作***版本为Win XP SP2及以上,用户具有超级用户权限,并且,能够使用操作***接口设置公网IP地址的TTL值,则进入步骤605;
步骤605:客户端A和客户端B通过打洞辅助服务器向对方发送SYN包,该SYN包携带公网IP地址的TTL值被设置为低TTL值;
具体的,客户端A向客户端B发送的第一SYN包携带客户端B的公网IP地址,该公网IP地址的TTL值被设置为低TTL值,同理,客户端B向客户端A发送的第二SYN包携带客户端A的公网IP地址,该公网IP地址的TTL值被设置为低TTL值;
并且,低TTL值的要求请参见第二实施例相关部分,此处不再赘述。
步骤606:打洞辅助服务器向客户端A和客户端B分别发送ICMP包;
其中,发给客户端A的ICMP包携带客户端A的公网IP地址,该公网IP地址的TTL被设置为过期,同理,发给客户端B的ICMP携带客户端B的公网IP地址,该公网IP地址的TTL值被设置为过期;
步骤607:客户端A和客户端B在收到ICMP包后,通过打洞辅助服务器向对方发送自己的TCP序列号;
其中,TCP序列号是客户端A和客户端B在向对方发送SYN包的同时自己监听到的;
步骤608:客户端A和客户端B在收到对方的TCP序列号后,向对方发送SYNACK包,至此TCP直连已建立。
以上介绍了本发明第三实施例,该实施例中所有数据包均是由客户端A和客户端B利用底层网络函数自己构造的。
请参见图7,为本发明第四实施例提供的穿越NAT设备的方法流程图,该方法与前文已述方法的区别在于:
步骤704:客户端A获取已测试得到的打洞可采用的TCP包序列,若所述TCP序列是表1中序号为4的TCP包序列,则进入步骤705;
步骤705:客户端A向客户端B的公网IP地址和端口号对应的NAT-B设备发送第一SYN包;
其中,第一SYN包是客户端A利用底层网络函数自己构造的数据包;
步骤706:NAT-B设备向客户端A返回RST消息,RST消息是NAT-B设备自动生成的;
其中,客户端A发送第一SYN包到NAT-B时,由于NAT-B设备上没有客户端A的记录,所以NAT-B设备会自动生成一个RST消息,并返回给客户端A,要求客户端A和NAT-A设备复位。
步骤707:客户端A通过打洞辅助服务器向客户端B发送通知消息;
步骤708:客户端B接收倒所述通知消息后,向客户端A的公网IP地址和端口号发送第二SYN包;
步骤709:客户端A在收到第二SYN包后,向客户端B返回SYNACK包,至此TCP直连已建立。
请参见图8,为本发明第五实施例提供的穿越NAT设备的方法流程图,该方法与前文已述实施例的区别在于:
步骤804:客户端A获取已测试得到的打洞可采用的TCP包序列,若所述TCP序列是表1中序号为5的TCP包序列,则客户端A获取已存的环境测试结果,若环境测试结果为操作***版本为WinXP SP2及以上,用户具有超级用户权限,则进入步骤805;
步骤805:客户端A和客户端B的分别向对方的公网IP地址和端口号对应的NAT设备发送SYN包;
步骤806:NAT-A设备和NAT-B设备在收到SYN包后,返回RST消息至客户端A和客户端B;
步骤807:客户端A和客户端B通过打洞辅助服务器将自己的TCP序列发送给对方;
步骤808:客户端A和客户端B在收到对方的TCP序列号后,分别向对方返回SYNACK包,至此TCP直连已建立。
以上为本发明第五实施例提供的方法,该方法中除RST消息外,其他的数据包均是由客户端A和客户端B分别利用底层网络函数自己构造的。
以上针对不同的打洞环境对本发明实施例进行了介绍。
进一步,在本发明实施例中,上述五个实施例提供的方法可以运行在同一个客户端上,在开始打洞前,获取TCP包序列的测试结果,如果表1中序号为N(N=1,2,,5)的TCP包序列未被NAT设备过滤,则选择第N实施例提供的方法,然后,测试表2所列信息的测试结果是否满足第N实施例的要求,如果满足,则使用第N实施例提供的方法开始打洞,如果不满足,则不能进行TCP打洞。表2所示是前文已述5个实施例各自需要测试及不需要测试的信息,其中,“√”表示需要测试的信息,“×”表示不需要测试的信息。
通常情况下,客户端B需要将自己打洞环境测试结果通过打洞辅助服务器发送给客户端A,客户端A通过已保存自己的打洞环境测试结果和客户端B的打洞环境测试结果,选择打洞方法。
  TCP打洞方法   操作***版本  设置TTL值   超级用户权限
  实施例一   √   ×   ×
  实施例二   ×   √   ×
  实施例三   √   √   √
  实施例四   ×   ×   ×
  实施例五   √   ×   √
                        表2
以上介绍了本发明实施例提供的穿越NAT设备的方法,为了保证更高的成功率,可以将本发明实施例提供的方法和现有的UDP打洞方法,以及超级节点中转数据的方法相融合。
请参见图9,为本发明实施例提供的融合了多种打洞方式的穿越NAT设备的方法流程图,该方法包括:
步骤901:客户端A和客户端B利用测试服务器A和测试服务器B使用STUN协议测试自己的NAT类型;
NAT类型有四种:全双工锥型NAT,IP受限型NAT,端口受限型NAT及对称型NAT。
步骤902:若客户端A判断得到UDP不通或者业务层要求必须使用TCP打洞,则进入步骤903,否则,进入步骤904;
步骤903:客户端A获取已存的打洞环境测试结果,根据所述测试结果,使用本发明实施例提供的TCP打洞方法进行TCP打洞;
步骤904:客户端A判断是否可以进行打洞,如果可以,则进入步骤905,否则,进入步骤906;
步骤905:客户端A根据NAT设备的类型,使用UDP打洞;
步骤906:客户端A触发超级节点中转数据。
本发明实施例还提供了一种第一客户端,该客户端包括:
直连请求发送单元,用于通过打洞辅助服务器向客户端B发起TCP直接连接请求;
公网IP地址接收单元,用于接收打洞辅助服务器返回的客户端B的公网IP地址及端口号;
包序列获取单元,用于获取已测试得到的打洞可采用的传输控制协议包序列;
直连建立单元,用于在打洞辅助服务器的协助下,按照所述打洞可采用的传输控制协议包序列,向客户端B的公网IP地址和端口号发送数据包,直到成功建立TCP直接连接。
若第一客户端是第一次进行TCP打洞,则上述第一客户端进一步包括:
环境测试单元,用于测试打洞环境,并保存第一客户端保存自身的打洞环境测试结果及客户端B通过打洞辅助服务器向其返回的打洞环境测试结果。
本发明实施例针对不同的打洞环境测试结果,提供了几种第一客户端的具体实现方式,以下进行详细介绍。
1、若表1中序号为1的TCP包序列是可用于打洞的TCP序列,则所述客户端进一步包括:
测试结果获取单元,用于获取已存的环境测试结果,若测试结果为操作***版本符合预置的版本条件,则触发所述直连建立单元;
在具体实现时,直连建立单元包括:同步数据包发送单元,同步数据包接收单元,确认消息发送单元;
同步数据包发送单元,用于向客户端B的公网IP地址和端口号,发送第一同步数据包;
通知消息发送单元,用于通过打洞辅助服务器向客户端B发送通知消息,该通知消息用于通知客户端B向客户端A的公网IP地址和端口号发送SYN包;
同步数据包接收单元,用于接收客户端B在收到所述通知消息后,发送的第二同步数据包;
确认消息发送单元,用于在收到所述第二同步数据包后,向客户端B发送同步数据包确认消息;
确认消息接收单元,用于接收客户端B在收到第一同步数据包后,返回的同步数据包确认消息。
2、若表1中序号为2的TCP包序列是可用于打洞的TCP序列,则所述客户端进一步包括:
测试结果获取单元,用于获取已存的环境测试结果,若测试结果为能够使用操作***接口设置公网IP地址的TTL值,则触发所述直连建立单元;
在具体实现时,直连建立单元包括:
同步数据包发送单元,用于通过打洞辅助服务器向客户端B发送第一同步数据包,所述第一同步数据包携带客户端B的公网IP地址的TTL值被设置为低;
协议包接收单元,用于接收打洞辅助服务器返回的互联网控制消息协议包,所述协议包携带第一客户端的公网IP地址的TTL值被设置为过期;
同步数据包接收单元,用于接收客户端B发送的第二同步数据包;
确认消息发送单元,用于在同步数据包接收单元收到所述第二同步数据包后,向客户端B发送同步数据包确认消息。
3、若表1中序号为3的TCP包序列是可用于打洞的TCP序列,则所述客户端进一步包括:
测试结果获取单元,用于获取已存的环境测试结果,若测试结果为操作***版本为WinXP SP2及以上,能够使用操作***接口设置公网IP地址的TTL值,并且用户具有超级用户权限,则触发所述直连建立单元;
在具体实现时,直连建立单元包括:
同步数据包发送单元,用于通过打洞辅助服务器向客户端B发送同步数据包,所述同步数据包携带客户端B的公网IP地址的TTL值被设置为低;
协议包接收单元,用于接收打洞辅助服务器返回的互联网控制消息协议包,所述协议包携带第一客户端的公网IP地址的TTL值被设置为过期;
序列号发送单元,用于通过打洞辅助服务器向客户端B发送第一传输控制协议序列号;
序列号接收单元,用于接收打洞服务器发送来的客户端B的第二传输控制协议序列号;
确认消息发送单元,用于在收到第二传输控制协议序列号后,向客户端B发送同步数据包确认消息;
确认消息接收单元,用于接收客户端B在收到第一传输控制协议序列号后,返回的同步数据包确认消息。
4、若表1中序号为4的TCP包序列是可用于打洞的TCP序列,则在具体实现时,直连建立单元包括:
同步数据包发送单元,用于向客户端B的公网IP地址和端口号对应的网络地址转换设备发送第一同步数据包;
复位消息接收单元,用于接收所述网络地址转换设备返回的复位消息;
通知消息发送单元,用于通过打洞辅助服务器向客户端B发送通知消息;
同步数据包接收单元,用于接收客户端B在收到通知消息后,发送的第二同步数据包;
确认消息发送单元,用于在收到所述第二同步数据包后,向客户端B返回同步数据包确认消息。
5、若表1中序号为5的TCP包序列是可用于打洞的TCP序列,则所述客户端进一步包括
测试结果获取单元,用于获取已存的环境测试结果,若测试结果为操作***版本为WinXP SP2,并且用户具有超级用户权限,则触发所述直连建立单元;
在具体实现时,直连建立单元包括:
同步数据包发送单元,用于向客户端B的公网IP地址和端口号对应的网络地址转换设备发送第一同步数据包;
复位消息接收单元,用于接收所述网络地址转换设备返回的复位消息;
序列号发送单元,用于向客户端B的公网IP地址和端口号发送第一传输控制协议序列号;
序列号接收单元,用于接收客户端B发送的第二传输控制协议序列号;
确认消息发送单元,用于在收到第二传输控制协议序列号后,向客户端B返回同步数据包确认消息;
确认消息接收单元,用于接收客户端B在收到第一传输控制协议序列号后,返回的同步数据包确认消息。
按照TCP协议的要求,在上述五种直连建立单元都进一步包括:
响应消息发送单元,用于在收到第二客户端返回的同步数据包确认消息后,向第二客户端发送响应消息(ACK);
响应消息接收单元,用于接收第二客户端在收到第一客户端发送的同步数据包确认消息后,返回的响应消息。
在本发明实施例提供的第一客户端中,进一步包括:测试数据包发送单元,测试数据包接收单元,序列记录单元;
测试数据包发送单元,用于向测试服务器发送第一同步数据包,
测试数据包接收单元,用于接收测试服务器返回的数据包;
若测试数据包接收单元接收到的数据包是第二同步数据包,则序列记录单元,用于记录由所述第一同步数据包和第二同步数据包构成的序列为可用于打洞的传输控制协议包序列;
若测试数据包接收单元接收到数据包是互联网控制消息协议包和第二同步数据包,则序列记录单元,用于记录由所述第一同步数据包,互联网控制消息协议包,及第二同步数据包构成的序列为可用于打洞的传输控制协议包序列;
若测试数据包接收单元接收到数据包是互联网控制消息协议包和同步数据包确认消息,则序列记录单元,用于记录由所述第一同步数据包,互联网控制消息协议包,及同步数据包确认消息构成的序列为可用于打洞的传输控制协议包序列;
若测试数据包接收单元接收到数据包是复位消息以及第二同步数据包,则序列记录单元,用于记录由所述第一同步数据包,复位消息以及第二同步数据包构成的序列为可用于打洞的传输控制协议包序列;
若测试数据包接收单元接收到数据包是复位消息和同步数据包确认消息,则序列记录单元,用于记录由所述第一同步数据包,复位消息和同步数据包确认消息构成的序列为可用于打洞的传输控制协议包序列。
为了保证更高的穿越NAT设备的成功率,本发明实施例提供的第一客户端进一步包括:
网络地址转换设备类型测试单元,用于利用测试服务器测试网络地址转换设备的类型;
打洞方法选择单元,若判断得到用户数据报协议包无法通过或者业务层要求使用传输控制协议打洞,则触发测试结果获取单元,否则,判断是否能够进行打洞,若能,则触发用户数据报直连建立单元,否则,触发超级节点中转数据;
用户数据报直连建立单元,用于根据网络地址转换设备的类型,使用用户数据报协议打洞。
以上对本发明所提供的一种穿越网络地址转换设备/防火墙的方法、***及客户端进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (18)

1.一种穿越网络地址转换设备/防火墙的方法,其特征在于,包括:
第一客户端通过打洞辅助服务器向第二客户端发起传输控制协议直接连接请求;
打洞辅助服务器将第一客户端的公网IP地址及端口号发送给第二客户端,并将第二客户端的公网IP地址及端口号发送给第一客户端;
第一客户端获取已测试得到的打洞可采用的传输控制协议数据包序列;
第一客户端和第二客户端在打洞辅助服务器的协助下,按照所述打洞可采用的传输控制协议包序列,向对方的公网IP地址和端口号发送数据包,直到成功建立传输控制协议直接连接。
2.如权利要求1所述的方法,其特征在于,进一步包括:
第一客户端向测试服务器发送第一同步数据包,
若第一客户端接收到测试服务器返回的第二同步数据包,则由所述第一同步数据包和第二同步数据包构成的序列为可用于打洞的第一传输控制协议包序列;
若第一客户端接收到测试服务器返回的互联网控制消息协议包和第二同步数据包,则由所述第一同步数据包,互联网控制消息协议包,及第二同步数据包构成的序列为可用于打洞的第二传输控制协议包序列;
若第一客户端接收到测试服务器返回的互联网控制消息协议包和同步数据包确认消息,则由所述第一同步数据包,互联网控制消息协议包,及同步数据包确认消息构成的序列为可用于打洞的第三传输控制协议包序列;
若第一客户端接收到测试服务器返回的复位消息以及第二同步数据包,则由所述第一同步数据包,复位消息以及第二同步数据包构成的序列为可用于打洞的第四传输控制协议包序列;
若第一客户端接收到测试服务器返回的复位消息和同步数据包确认消息,则由所述第一同步数据包,复位消息和同步数据包确认消息构成的序列为可用于打洞的第五传输控制协议包序列。
3.如权利要求2所述的方法,其特征在于,若打洞可采用的传输控制协议包序列为所述第一传输控制协议包序列,则第一客户端获取已测试得到的打洞可采用的传输控制协议数据包序列之后进一步包括:
第一客户端获取已存的环境测试结果,若测试结果为操作***版本符合预置的版本条件,则所述第一客户端和第二客户端向对方发送数据包;
其中,所述第一客户端和第二客户端向对方发送数据包具体包括:
第一客户端通过打洞辅助服务器向第二客户端发送通知消息;
第一客户端向第二客户端的公网IP地址和端口号,发送第一同步数据包;
第二客户端在收到所述通知消息后,向第一客户端的公网IP地址和端口号,发送第二同步数据包;
第一客户端和第二客户端在收到所述同步数据包后,向对方的公网IP地址和端口号返回同步数据包确认消息,至此第一和第二客户端成功建立传输控制协议直接连接。
4.如权利要求2所述的方法,其特征在于,若打洞可采用的传输控制协议包序列为所述第二传输控制协议包序列,则第一客户端获取已测试得到的打洞可采用的传输控制协议数据包序列之后进一步包括:
第一客户端获取已存的环境测试结果,若测试结果为能够使用操作***接口设置公网IP地址的TTL值,则所述第一客户端和第二客户端向对方发送数据包;
其中,所述第一客户端和第二客户端向对方发送数据包具体包括:
第一客户端通过打洞辅助服务器向第二客户端发送第一同步数据包,所述第一同步数据包携带第二客户端的公网IP地址的TTL值被设置为低;
打洞辅助服务器向第一客户端返回互联网控制消息协议包,所述协议包携带第一客户端的公网IP地址的TTL值被设置为过期;
打洞辅助服务器向第二客户端发送通知消息;
第二客户端在收到所述通知消息后,向第一客户端的公网IP地址和端口号发送第二同步数据包;
第一客户端收到所述第二同步数据包后,向第二客户端发送第二同步数据包确认消息,至此第一和第二客户端成功建立传输控制协议直接连接。
5.如权利要求2所述的方法,其特征在于,若打洞可采用的传输控制协议包序列为所述第三传输控制协议包序列,则第一客户端获取已测试得到的打洞可采用的传输控制协议数据包序列之后进一步包括:
第一客户端获取已存的环境测试结果,若测试结果为操作***版本符合预置的版本条件,能够使用操作***接口设置公网IP地址的TTL值,并且用户具有超级用户权限,则所述第一客户端和第二客户端向对方发送数据包;
其中,所述第一客户端和第二客户端向对方发送数据包具体包括:
第一客户端和第二客户端通过打洞辅助服务器向对方发送同步数据包,所述同步数据包携带的公网IP地址的TTL值被设置为低;
打洞辅助服务器向第一客户端和第二客户端发送互联网控制消息协议包,所述协议包携带的公网IP地址的TTL值被设置为过期;
第一客户端和第二客户端通过打洞辅助服务器向对方发送传输控制协议序列号;
第一客户端和第二客户端在收到所述传输控制协议序列号后,向对方发送同步数据包确认消息,至此第一和第二客户端成功建立传输控制协议直接连接。
6.如权利要求2所述的方法,其特征在于,若打洞可采用的传输控制协议包序列为所述第四传输控制协议包序列,则所述第一客户端和第二客户端向对方发送数据包具体包括:
第一客户端向第二客户端的公网IP地址和端口号对应的网络地址转换设备发送第一同步数据包;
所述网络地址转换设备向第一客户端的公网IP地址和端口号返回复位消息;
第一客户端通过打洞辅助服务器向第二客户端发送通知消息;
第二客户端在收到所述消息后,向第一客户端发送第二同步数据包;
第一客户端收到所述第二同步数据包后,向第二客户端返回同步数据包确认消息,至此第一和第二客户端成功建立传输控制协议直接连接。
7.如权利要求2所述的方法,其特征在于,若打洞可采用的传输控制协议包序列为所述第五传输控制协议包序列,则第一客户端获取已测试得到的打洞可采用的传输控制协议数据包序列之后进一步包括:
第一客户端获取已存的环境测试结果,若测试结果为***版本符合预置的版本条件,并且用户具有超级用户权限,则第一客户端和第二客户端向对方发送数据包;
其中,所述第一客户端和第二客户端向对方发送数据包具体包括:
第一客户端和第二客户端向对方的公网IP地址和端口号对应的网络地址转换设备发送同步数据包;
网络地址转换设备在收到所述同步数据包后,向对方的客户端返回复位消息;
第一客户端和第二客户端向对方的公网IP地址和端口号发送传输控制协议序列号;
第一客户端和第二客户端在收到对方的传输控制协议序列号后,向对方返回同步数据包确认消息,至此第一和第二客户端成功建立传输控制协议直接连接。
8.如权利要求1至7所述的任意一个方法,其特征在于,在第一客户端通过打洞辅助服务器向第二客户端发起传输控制协议直接连接请求之前进一步包括:
第一客户端和第二客户端利用测试服务器测试网络地址转换设备的类型;
若第一客户端判断得到用户数据报协议包无法通过或者业务层要求使用传输控制协议打洞,则第一客户端获取已存的打洞环境测试结果,使用传输控制协议打洞;
否则,第一客户端判断能否进行打洞,若能,则第一客户端根据网络地址转换设备的类型,使用用户数据报协议打洞,否则,触发超级节点中转数据。
9.一种第一客户端,其特征在于,包括:
直连请求发送单元,用于通过打洞辅助服务器向第二客户端发起传输控制协议直接连接请求;
公网IP地址接收单元,用于接收打洞辅助服务器返回的第二客户端的公网IP地址及端口号;
包序列获取单元,用于获取已测试得到的打洞可采用的传输控制协议包序列;
直连建立单元,用于在打洞辅助服务器的协助下,按照所述打洞可采用的传输控制协议包序列,向第二客户端的公网IP地址和端口号发送数据包,直到成功建立传输控制协议直接连接。
10.如权利要求9所述的客户端,其特征在于,所述客户端进一步包括:测试数据包发送单元,测试数据包接收单元,序列记录单元;
测试数据包发送单元,用于向测试服务器发送第一同步数据包,
测试数据包接收单元,用于接收测试服务器返回的数据包;
若测试数据包接收单元接收到的数据包是第二同步数据包,则序列记录单元,用于记录由所述第一同步数据包和第二同步数据包构成的序列为可用于打洞的第一传输控制协议包序列;
若测试数据包接收单元接收到数据包是互联网控制消息协议包和第二同步数据包,则序列记录单元,用于记录由所述第一同步数据包,互联网控制消息协议包,及第二同步数据包构成的序列为可用于打洞的第二传输控制协议包序列;
若测试数据包接收单元接收到数据包是互联网控制消息协议包和同步数据包确认消息,则序列记录单元,用于记录由所述第一同步数据包,互联网控制消息协议包,及同步数据包确认消息构成的序列为可用于打洞的第三传输控制协议包序列;
若测试数据包接收单元接收到数据包是复位消息以及第二同步数据包,则序列记录单元,用于记录由所述第一同步数据包,复位消息以及第二同步数据包构成的序列为可用于打洞的第四传输控制协议包序列;
若测试数据包接收单元接收到数据包是复位消息和同步数据包确认消息,则序列记录单元,用于记录由所述第一同步数据包,复位消息和同步数据包确认消息构成的序列为可用于打洞的第五传输控制协议包序列。
11.如权利要求10所述的客户端,其特征在于,若打洞可采用的传输控制协议包序列为所述第一传输控制协议包序列,则所述客户端进一步包括:
测试结果获取单元,用于获取已存的环境测试结果,若测试结果为操作***版本符合预置的版本条件,则触发所述直连建立单元;
其中,所述直连建立单元具体包括:
同步数据包发送单元,用于向第二客户端的公网IP地址和端口号,发送第一同步数据包;
通知消息发送单元,用于通过打洞辅助服务器向第二客户端发送通知消息;
同步数据包接收单元,用于接收第二客户端在收到所述通知消息后,发送的第二同步数据包;
确认消息发送单元,用于在收到所述第二同步数据包后,向第二客户端发送同步数据包确认消息;
确认消息接收单元,用于接收第二客户端在收到第一同步数据包后,返回的同步数据包确认消息。
12.如权利要求10所述的客户端,其特征在于,若打洞可采用的传输控制协议包序列为所述第二传输控制协议包序列,则所述客户端进一步包括:
测试结果获取单元,用于获取已存的环境测试结果,若测试结果为能够使用操作***接口设置公网IP地址的TTL值,则触发所述直连建立单元;
其中,所述直连建立单元具体包括:
同步数据包发送单元,用于通过打洞辅助服务器向第二客户端发送第一同步数据包,所述第一同步数据包携带第二客户端的公网IP地址的TTL值被设置为低;
协议包接收单元,用于接收打洞辅助服务器返回的互联网控制消息协议包,所述协议包携带第一客户端的公网IP地址的TTL值被设置为过期;
通知消息发送单元,用于通过打洞辅助服务器向第二客户端发送通知消息;
同步数据包接收单元,用于接收第二客户端在收到所述通知消息后,发送的第二同步数据包;
确认消息发送单元,用于在收到所述第二同步数据包后,向第二客户端发送第二同步数据包确认消息。
13.如权利要求10所述的客户端,其特征在于,若打洞可采用的传输控制协议包序列为所述第三传输控制协议包序列,则所述客户端进一步包括:
测试结果获取单元,用于获取已存的环境测试结果,若测试结果为操作***版本符合预置的版本条件,能够使用操作***接口设置公网IP地址的TTL值,并且用户具有超级用户权限,则触发所述直连建立单元;
其中,所述直连建立单元具体包括:
同步数据包发送单元,用于通过打洞辅助服务器向第二客户端发送同步数据包,所述同步数据包携带第二客户端的公网IP地址的TTL值被设置为低;
协议包接收单元,用于接收打洞辅助服务器返回的互联网控制消息协议包,所述协议包携带第一客户端的公网IP地址的TTL值被设置为过期;
序列号发送单元,用于通过打洞辅助服务器向第二客户端发送第一传输控制协议序列号;
序列号接收单元,用于接收打洞服务器发送来的第二客户端的第二传输控制协议序列号;
确认消息发送单元,用于在收到第二传输控制协议序列号后,向第二客户端发送同步数据包确认消息;
确认消息接收单元,用于接收第二客户端在收到第一传输控制协议序列号后,返回的同步数据包确认消息。
14.如权利要求10所述的客户端,其特征在于,若打洞可采用的传输控制协议包序列为所述第四传输控制协议包序列,则所述直连建立单元具体包括:
同步数据包发送单元,用于向第二客户端的公网IP地址和端口号对应的网络地址转换设备发送第一同步数据包;
复位消息接收单元,用于接收所述网络地址转换设备返回的复位消息;
通知消息发送单元,用于通过打洞辅助服务器向第二客户端发送通知消息;
同步数据包接收单元,用于接收第二客户端在收到所述通知消息后,发送的第二同步数据包;
确认消息发送单元,用于在收到所述第二同步数据包后,向第二客户端返回同步数据包确认消息。
15.如权利要求10所述的客户端,其特征在于,若打洞可采用的传输控制协议包序列为所述第五传输控制协议包序列,则所述客户端进一步包括:
测试结果获取单元,用于获取已存的环境的测试结果,若测试结果为操作***版本符合预置的版本条件,并且用户具有超级用户权限,则触发所述直连建立单元;
其中,所述直连建立单元具体包括:
同步数据包发送单元,用于向第二客户端的公网IP地址和端口号对应的网络地址转换设备发送第一同步数据包;
复位消息接收单元,用于接收所述网络地址转换设备返回的复位消息;
序列号发送单元,用于向第二客户端的公网IP地址和端口号发送第一传输控制协议序列号;
序列号接收单元,用于接收第二客户端发送的第二传输控制协议序列号;
确认消息发送单元,用于在收到第二传输控制协议序列号后,向第二客户端返回同步数据包确认消息;
确认消息接收单元,用于接收第二客户端在收到第一传输控制协议序列号后,返回的同步数据包确认消息。
16.如权利要求9至15所述的任意一个客户端,其特征在于,所述客户端进一步包括:
网络地址转换设备类型测试单元,用于利用测试服务器测试网络地址转换设备的类型;
打洞方法选择单元,若判断得到用户数据报协议包无法通过或者业务层要求使用传输控制协议打洞,则触发直连请求发送单元,否则,判断能否进行打洞,若能,则触发用户数据包直连建立单元,否则,触发超级节点中转数据;
用户数据包直连建立单元,用于根据网络地址转换设备的类型,使用用户数据报协议打洞。
17.一种穿越网络地址转换设备/防火墙的***,其特征在于,包括:第一客户端,第二客户端,打洞辅助服务器;
第一客户端,用于通过打洞辅助服务器向第二客户端发起传输控制协议直接连接请求,并获取已测试得到的打洞可采用的传输控制协议包序列;
打洞辅助服务器,用于将第一客户端的公网IP地址及端口号发送给第二客户端,并将第二客户端的公网IP地址及端口号发送给第一客户端;
第一客户端和第二客户端在打洞辅助服务器的协助下,按照所述打洞可采用的传输控制协议包序列,向对方的公网IP地址和端口号发送数据包,直到成功建立传输控制协议直接连接。
18.如权利要求17所述的***,其特征在于,所述***进一步包括:第一测试服务器和第二测试服务器;
第一测试服务器,用于协助第一客户端测试打洞可采用的传输控制协议包序列;
第二测试服务器,用于协助第二客户端测试打洞可采用的传输控制协议包序列。
CN2007103063394A 2007-12-28 2007-12-28 穿越网络地址转换设备/防火墙的方法、***及客户端 Active CN101217536B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007103063394A CN101217536B (zh) 2007-12-28 2007-12-28 穿越网络地址转换设备/防火墙的方法、***及客户端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007103063394A CN101217536B (zh) 2007-12-28 2007-12-28 穿越网络地址转换设备/防火墙的方法、***及客户端

Publications (2)

Publication Number Publication Date
CN101217536A true CN101217536A (zh) 2008-07-09
CN101217536B CN101217536B (zh) 2011-11-09

Family

ID=39623899

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007103063394A Active CN101217536B (zh) 2007-12-28 2007-12-28 穿越网络地址转换设备/防火墙的方法、***及客户端

Country Status (1)

Country Link
CN (1) CN101217536B (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101873359A (zh) * 2010-06-28 2010-10-27 北京神州泰岳软件股份有限公司 实现udp打洞的方法
CN101873324A (zh) * 2010-06-22 2010-10-27 北京神州泰岳软件股份有限公司 穿越防火墙的方法
CN104660722A (zh) * 2013-11-21 2015-05-27 倚强科技股份有限公司 网络连线方法及其网络***
CN105306567A (zh) * 2015-10-23 2016-02-03 小米科技有限责任公司 用于终端连接的方法及装置
WO2016161774A1 (zh) * 2015-04-07 2016-10-13 中兴通讯股份有限公司 终端应用访问nas的方法及装置
CN106331198A (zh) * 2015-06-29 2017-01-11 中兴通讯股份有限公司 Nat穿透方法及装置
CN106605398A (zh) * 2014-07-10 2017-04-26 诺基亚通信公司 唯一连接标识符
CN107580081A (zh) * 2017-09-18 2018-01-12 北京奇艺世纪科技有限公司 一种nat穿透方法及装置
CN109088958A (zh) * 2018-09-19 2018-12-25 腾讯数码(天津)有限公司 数据传输方法及计算机设备
CN109451049A (zh) * 2018-12-15 2019-03-08 深圳壹账通智能科技有限公司 应用程序更新包的下载方法、装置、计算机设备及存储介质
CN109660637A (zh) * 2018-11-16 2019-04-19 深圳市网心科技有限公司 P2p打洞传输方法和***、电子装置及计算机可读存储介质
CN109743238A (zh) * 2018-12-27 2019-05-10 北京天元特通信息技术股份有限公司 一种分布式接入***
CN110266828A (zh) * 2019-06-11 2019-09-20 华为技术有限公司 一种建立端到端网络连接的方法、装置及网络***
CN111464821A (zh) * 2020-04-01 2020-07-28 长沙文影网络科技有限公司 一种音视频直播p2p打洞优化方法
CN112532757A (zh) * 2019-09-19 2021-03-19 华为技术有限公司 一种nat穿越的方法、设备和***
CN114500062A (zh) * 2022-01-30 2022-05-13 北京百度网讯科技有限公司 一种nat穿越方法、装置、电子设备及存储介质
WO2022148361A1 (zh) * 2021-01-06 2022-07-14 上海哔哩哔哩科技有限公司 建立p2p连接的方法、客户端及***
CN116155855A (zh) * 2023-02-28 2023-05-23 厦门勇仕网络技术股份有限公司 一种适用于移动端游戏udp通信的nat穿越方法及其***

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100426769C (zh) * 2005-01-12 2008-10-15 腾讯科技(深圳)有限公司 一种建立对等直连通道的方法
CN1917512B (zh) * 2005-08-18 2010-09-29 腾讯科技(深圳)有限公司 一种建立对等直连通道的方法

Cited By (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101873324A (zh) * 2010-06-22 2010-10-27 北京神州泰岳软件股份有限公司 穿越防火墙的方法
CN101873324B (zh) * 2010-06-22 2013-11-06 北京神州泰岳软件股份有限公司 穿越防火墙的方法
CN101873359B (zh) * 2010-06-28 2013-04-24 北京神州泰岳软件股份有限公司 实现udp打洞的方法
CN101873359A (zh) * 2010-06-28 2010-10-27 北京神州泰岳软件股份有限公司 实现udp打洞的方法
CN104660722A (zh) * 2013-11-21 2015-05-27 倚强科技股份有限公司 网络连线方法及其网络***
CN106605398B (zh) * 2014-07-10 2021-02-26 诺基亚通信公司 唯一连接标识符
CN106605398A (zh) * 2014-07-10 2017-04-26 诺基亚通信公司 唯一连接标识符
US10375175B2 (en) 2015-04-07 2019-08-06 Zte Corporation Method and apparatus for terminal application accessing NAS
WO2016161774A1 (zh) * 2015-04-07 2016-10-13 中兴通讯股份有限公司 终端应用访问nas的方法及装置
CN106161663A (zh) * 2015-04-07 2016-11-23 中兴通讯股份有限公司 终端应用访问nas的方法及装置
CN106331198A (zh) * 2015-06-29 2017-01-11 中兴通讯股份有限公司 Nat穿透方法及装置
CN105306567A (zh) * 2015-10-23 2016-02-03 小米科技有限责任公司 用于终端连接的方法及装置
CN105306567B (zh) * 2015-10-23 2019-07-19 小米科技有限责任公司 用于终端连接的方法及装置
CN107580081A (zh) * 2017-09-18 2018-01-12 北京奇艺世纪科技有限公司 一种nat穿透方法及装置
CN109088958B (zh) * 2018-09-19 2022-02-25 腾讯数码(天津)有限公司 数据传输方法及计算机设备
CN109088958A (zh) * 2018-09-19 2018-12-25 腾讯数码(天津)有限公司 数据传输方法及计算机设备
CN109660637A (zh) * 2018-11-16 2019-04-19 深圳市网心科技有限公司 P2p打洞传输方法和***、电子装置及计算机可读存储介质
CN109660637B (zh) * 2018-11-16 2024-01-19 深圳市网心科技有限公司 P2p打洞传输方法和***、电子装置及计算机可读存储介质
CN109451049A (zh) * 2018-12-15 2019-03-08 深圳壹账通智能科技有限公司 应用程序更新包的下载方法、装置、计算机设备及存储介质
CN109743238B (zh) * 2018-12-27 2021-07-30 北京思信飞扬信息技术股份有限公司 一种分布式接入***
CN109743238A (zh) * 2018-12-27 2019-05-10 北京天元特通信息技术股份有限公司 一种分布式接入***
CN110266828A (zh) * 2019-06-11 2019-09-20 华为技术有限公司 一种建立端到端网络连接的方法、装置及网络***
CN113452805B (zh) * 2019-09-19 2022-06-07 华为技术有限公司 一种nat穿越的方法、设备和***
CN113452805A (zh) * 2019-09-19 2021-09-28 华为技术有限公司 一种nat穿越的方法、设备和***
CN112532757A (zh) * 2019-09-19 2021-03-19 华为技术有限公司 一种nat穿越的方法、设备和***
US11784963B2 (en) 2019-09-19 2023-10-10 Huawei Technologies Co., Ltd. NAT traversal method, device, and system
CN112532757B (zh) * 2019-09-19 2023-11-14 华为技术有限公司 一种nat穿越的方法、设备和***
CN111464821B (zh) * 2020-04-01 2022-04-26 长沙文影网络科技有限公司 一种音视频直播p2p打洞优化方法
CN111464821A (zh) * 2020-04-01 2020-07-28 长沙文影网络科技有限公司 一种音视频直播p2p打洞优化方法
WO2022148361A1 (zh) * 2021-01-06 2022-07-14 上海哔哩哔哩科技有限公司 建立p2p连接的方法、客户端及***
CN114500062A (zh) * 2022-01-30 2022-05-13 北京百度网讯科技有限公司 一种nat穿越方法、装置、电子设备及存储介质
CN114500062B (zh) * 2022-01-30 2024-04-02 北京百度网讯科技有限公司 一种nat穿越方法、装置、电子设备及存储介质
CN116155855A (zh) * 2023-02-28 2023-05-23 厦门勇仕网络技术股份有限公司 一种适用于移动端游戏udp通信的nat穿越方法及其***

Also Published As

Publication number Publication date
CN101217536B (zh) 2011-11-09

Similar Documents

Publication Publication Date Title
CN101217536B (zh) 穿越网络地址转换设备/防火墙的方法、***及客户端
CN105827623B (zh) 数据中心***
US8923310B2 (en) Protocol and system for firewall and NAT traversal for TCP connections
CN103108089B (zh) 网络***的连线建立管理方法及其相关***
CN105847343B (zh) 用于点对点传输的公网信息探测方法、装置及***
CN103051642A (zh) 基于vpn实现防火墙内局域网设备访问的方法及网络***
CN106604119B (zh) 一种用于智能电视私有云设备的网络穿透方法及***
CN111435922B (zh) 一种带宽共享方法
CN107682260B (zh) 一种多路径快速可靠网络通讯方法
CN101895590A (zh) 基于udt实现nat穿越的***和方法
CN105681445A (zh) 数据的点对点传输路径选择方法及装置
CN101834775A (zh) 媒体流传输方法、***及用户终端
CN106331198A (zh) Nat穿透方法及装置
CN106657053B (zh) 一种基于端状态迁移的网络安全防御方法
US20050271047A1 (en) Method and system for managing multiple overlapping address domains
CN107276846A (zh) 一种网关容灾方法、装置和存储介质
CN112688817B (zh) 基于政务云的网络业务下发方法、***、装置及存储介质
CN104348731A (zh) 社区虚拟网络连线建立方法及网络通信***
CN105049543A (zh) 智能路由器间穿越非对称nat进行p2p通信的***及方法
CN107659436A (zh) 一种防止业务中断的方法及装置
EP1593230B1 (en) Terminating a session in a network
US10375175B2 (en) Method and apparatus for terminal application accessing NAS
CN115022281B (zh) 一种nat穿透的方法、客户端及***
WO2016155204A1 (zh) 报文的测试处理方法及装置
CN110351159A (zh) 一种跨内网的网络性能测试方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20190807

Address after: 518057 Nanshan District science and technology zone, Guangdong, Zhejiang Province, science and technology in the Tencent Building on the 1st floor of the 35 layer

Co-patentee after: Tencent cloud computing (Beijing) limited liability company

Patentee after: Tencent Technology (Shenzhen) Co., Ltd.

Address before: 2, 518044, East 410 room, SEG science and Technology Park, Zhenxing Road, Shenzhen, Guangdong, Futian District

Patentee before: Tencent Technology (Shenzhen) Co., Ltd.

TR01 Transfer of patent right