一种p2p穿透同步方法及系统的制作方法

文档序号:9754800阅读:322来源:国知局
一种p2p穿透同步方法及系统的制作方法
【技术领域】
[0001]本发明涉及网络技术领域,尤其涉及一种P2P穿透同步方法及系统。
【背景技术】
[0002]软件客户端位于NAT(Network Address Translat1n,网络地址转换)后或多重NAT后,与部署在公网的服务器建立网络连接,从而获取到自己的NAT地址,与其他客户端交换NAT IP后发起P2P(peer-to-peer,称为对等联网或点对点技术),即网络上两个点之间直接通信。这种直接通信是没有速度限制的,速度由二点之间的网络传输速度决定,并且只依赖网络中两个点(参与者)的计算能力和带宽,而不是把依赖都聚集在较少的几台服务器上,这种技术可以大大减轻服务器的负担。但由于每个客户端的时间无法做到毫秒级的时间同步,故客户端发起P2P穿透的时机总是有先有后,因而造成P2P穿透失败概率加大。

【发明内容】

[0003]本发明的目的在于提供一种P2P穿透同步方法,旨在解决现有的P2P穿透失败概率较大的问题。
[0004]第一方面,一种P2P穿透同步方法,该方法包括以下步骤:
[0005]客户端向公网服务器发送数据包时,所述数据包包括发送时间Tl;
[0006]公网服务器接收所述数据包后,向客户端发送返回数据包,所述返回数据包包括发送时间Tl、发送时间TN ;
[0007]客户端接收返回数据包时,记录接收返回数据包的接收时间T2,并根据所述发送时间Tl、TN和接收时间T2,计算出公网服务器校准时间T = TN+( T2-T1)/2 ;
[0008]客户端在交换NAT地址时确定同步穿透时间,所述同步穿透时间为TP = T+N,其中N为客户端协商时间;
[0009]客户端等到同步穿透时间TP时,客户端双方同时发起P2P穿透。
[0010]进一步地,所述数据包还包括:客户端的本地IP地址和端口。
[0011]进一步地,所述返回数据包还包括:客户端的NAT地址。
[0012]第二方面,一种P2P穿透同步系统,所述系统包括:客户端、公网服务器以及交换服务器;所述客户端至少为2个;
[0013]所述客户端用于向公网服务器发送数据包,所述数据包包括第一发送时间Tl;
[0014]所述公网服务器用于接收所述数据包后,向所述客户端发送返回数据包,所述返回数据包包括所述第一发送时间Tl以及第二发送时间TN;
[0015]所述客户端还用于接收返回数据包时,记录接收返回数据包的接收时间T2,并根据所述第一发送时间Tl以及第二发送时间TN和接收时间T2,计算出公网服务器校准时间T= ΤΝ+(Τ2-Τ1)/2;
[0016]所述客户端还用于确定同步穿透时间,所述同步穿透时间为TP= T+N,其中N为客户端协商时间;
[0017]所述交换服务器用于客户端交换NAT地址;
[0018]所述客户端还用于等到同步穿透时间TP时,客户端双方同时发起P2P穿透。
[0019]进一步地,所述数据包还包括:客户端的本地IP地址和端口。
[0020]进一步地,所述返回数据包还包括:客户端的NAT地址。
[0021]有益效果:本发明通过提供一种P2P穿透同步方法,所述方法包括以下步骤:客户端向公网服务器发送数据包时,所述数据包包括发送时间Tl;公网服务器接收所述数据包后,向客户端发送返回数据包,所述返回数据包包括发送时间Tl、发送时间TN;客户端接收返回数据包时,记录接收返回数据包的接收时间T2,并根据所述发送时间T1、TN和接收时间T2,计算出公网服务器校准时间T = TN+ (T2-T1) /2;客户端在交换NAT地址时确定同步穿透时间,所述同步穿透时间为TP = T+N,其中N为客户端协商时间;客户端等到同步穿透时间TP时,客户端双方同时发起P2P穿透。使用本方法可以使客户端之间能同时发起网络穿透,从而提升P2P穿透成功概率。
【附图说明】
[0022]图1是本发明一实施例提供的P2P穿透同步方法流程图;
[0023]图2是本发明一实施例提供的P2P穿透同步系统的结构图。
【具体实施方式】
[0024]为了使本发明的目的、技术方案及优点更加清楚明白,下面结合附图和【具体实施方式】对本发明作进一步详细说明。
[0025]图1示出了本本发明一实施例提供的P2P穿透同步方法,该方法包括以下步骤:
[0026]SlOl、客户端向公网服务器发送数据包时,所述数据包包括发送时间Tl。
[0027]在本步骤中,启动公网服务器和交换服务器,启动P2P客户端,即客户端A和客户端B,其中客户端A向公网服务器发送数据包时,数据包里包括发送数据包的发送时间Tl,同时还数据包里还包括客户端的本地IP地址和端口。
[0028]S102、公网服务器接收所述数据包后,向客户端发送返回数据包,所述返回数据包包括发送时间Tl、发送时间TN。
[0029]在本步骤中,公网服务器接收步骤SlOl中客户端A向公网服务器发送数据包后,向客户端A发送返回数据包,返回数据包包括发送时间Tl、发送时间TN,同时还可以包括客户端的NAT地址。
[0030]S103、客户端接收返回数据包时,记录接收返回数据包的接收时间T2,并根据所述发送时间Tl、TN和接收时间T2,计算出公网服务器校准时间T = TN+( T2-T1)/2。
[0031]在步骤中,客户端A接收到公网服务器发送的返回数据包,记录接收返回数据包的接收时间T2,再根据客户端A向公网服务器发送数据包的发送时间Tl、公网服务器向客户端A发送返回数据包的发送时间TN和客户端A接收返回数据包的接收时间T2,计算出公网服务器校准时间Τ = ΤΝ+(Τ2-Τ1)/2。
[0032]S104、客户端在交换NAT地址时确定同步穿透时间,所述同步穿透时间为TP = T+N,其中N为客户端协商时间。
[0033]在本步骤中,客户端协商确定同步穿透时间,同步穿透时间为TP = T+N,其中N为客户端协商时间,例如为N为10秒后,客户端A将同步穿透时间TP和自己的NAT地址,发送给交换服务器,交换服务器将同步穿透时间TP和客户端A的NAT地址发送给客户端B;客户端B也将自己的NAT地址发送给交换服务器,交换服务器再将客户端B的NAT地址返回客户端A。
[0034]S105、客户端等到同步穿透时间TP时,客户端双方同时发起P2P穿透。
[0035]在本步骤中,客户端A,B定时到同步穿透时间TP,时间到即向对方客户端NAT地址发起P2P穿透。通过计算同步穿透时间,可以使客户端之间能同时发起网络穿透,从而提升P2P穿透成功概率。
[0036]另一方面,本发明还提供一种P2P穿透同步系统,该系统20包括:客户端21、公网服务器22以及交换服务器23;客户端21至少为2个;
[0037]客户端21用于向公网服务器发送数据包,该数据包包括第一发送时间Tl;
[0038]公网服务器22用于接收所述数据包后,向所述客户端21发送返回数据包,所述返回数据包包括所述第一发送时间Tl以及第二发送时间TN;
[0039]客户端21还用于接收返回数据包时,记录接收返回数据包的接收时间T2,并根据所述第一发送时间Tl以及第二发送时间TN和接收时间T2,计算出公网服务器校准时间T =ΤΝ+(Τ2-Τ1)/2;
[0040]客户端21还用于确定同步穿透时间,所述同步穿透时间为TP = T+N,其中N为客户端协商时间;
[0041 ]交换服务器23用于客户端交换NAT地址;
[0042]客户端21还用于等到同步穿透时间TP时,客户端双方同时发起P2P穿透。
[0043]本实施例中的系统与前述实施例中P2P穿透同步方法是基于同一发明构思下的两个方面,在前面已经对方法实施过程作了详细的描述,所以本领域技术人员可根据前述描述清楚地了解本实施中的系统的结构及实施过程,为了说明书的简洁,在此就不再赘述。
[0044]以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
【主权项】
1.一种P2P穿透同步方法,其特征在于,所述方法包括以下步骤: 客户端向公网服务器发送数据包,所述数据包包括第一发送时间Tl; 公网服务器接收所述数据包后,向客户端发送返回数据包,所述返回数据包包括所述第一发送时间Tl以及第二发送时间TN; 客户端接收返回数据包时,记录接收返回数据包的接收时间T2,并根据所述第一发送时间Tl以及第二发送时间TN和接收时间T2,计算出公网服务器校准时间T = TN+ (T2-T1)/2; 客户端在交换NAT地址时确定同步穿透时间,所述同步穿透时间为TP = T+N,其中N为客户端协商时间; 客户端等到同步穿透时间TP时,客户端双方同时发起P2P穿透。2.根据权利要求1所述的P2P穿透同步方法,其特征在于,所述数据包还包括:客户端的本地IP地址和端口。3.根据权利要求1或2所述的P2P穿透同步方法,其特征在于,所述返回数据包还包括:客户端的NAT地址。4.一种P2P穿透同步系统,其特征在于,所述系统包括:客户端、公网服务器以及交换服务器;所述客户端至少为2个; 所述客户端用于向公网服务器发送数据包,所述数据包包括第一发送时间Tl; 所述公网服务器用于接收所述数据包后,向所述客户端发送返回数据包,所述返回数据包包括所述第一发送时间TI以及第二发送时间TN; 所述客户端还用于接收返回数据包时,记录接收返回数据包的接收时间T2,并根据所述第一发送时间TI以及第二发送时间TN和接收时间T2,计算出公网服务器校准时间T = TN+(Τ2-Τ1)/2; 所述客户端还用于确定同步穿透时间,所述同步穿透时间为TP = T+N,其中N为客户端协商时间; 所述交换服务器用于客户端交换NAT地址; 所述客户端还用于等到同步穿透时间TP时,客户端双方同时发起P2P穿透。5.根据权利要求4所述的P2P穿透同步系统,其特征在于,所述数据包还包括:客户端的本地IP地址和端口。6.根据权利要求4或5所述的P2P穿透同步系统,其特征在于,所述返回数据包还包括:客户端的NAT地址。
【专利摘要】本发明涉及网络技术领域,通过提供一种包括:客户端向公网服务器发送数据包时,所述数据包包括第一发送时间T1;公网服务器接收所述数据包后,向客户端发送返回数据包,所述返回数据包包括发送时间T1、第二发送时间TN;客户端接收返回数据包时,记录接收返回数据包的接收时间T2,并根据所述发送时间T1、TN和接收时间T2,计算出公网服务器校准时间T=TN+(T2-T1)/2;客户端在交换NAT地址时确定同步穿透时间,所述同步穿透时间为TP=T+N,其中N为客户端协商时间;客户端等到同步穿透时间TP时,客户端双方同时发起P2P穿透等步骤P2P穿透同步方法。使用本方法可以使客户端之间能同时发起网络穿透,从而提升P2P穿透成功概率。
【IPC分类】H04L29/08, H04L7/00
【公开号】CN105516342
【申请号】CN201511026045
【发明人】凌奇伟
【申请人】深圳市有信网络技术有限公司
【公开日】2016年4月20日
【申请日】2015年12月30日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1