买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:上海贝锐信息科技股份有限公司
摘要:本发明提供一种基于时间同步的TCPNAT穿越方法及系统,该方法包括:源客户端通过服务器向目标客户端发送源客户端NAT后外部地址;目标客户端基于目标客户端本地发起时间通过预设时间映射方式获取对应的服务器时间作为约定发起时间,目标客户端通过服务器向源客户端发送目标客户端NAT后外部地址及约定发起时间;源客户端基于约定发起时间通过预设时间映射方式获取对应的源客户端本地发起时间;源客户端在源客户端本地发起时间建立与目标客户端NAT后外部地址的TCP连接,目标客户端在目标客户端本地发起时间建立与源客户端NAT后外部地址的TCP连接。本发明显著提高了TCPNAT穿越的成功率,从而提升了P2P通信成功率和通信质量。
主权项:1.一种基于时间同步的TCPNAT穿越方法,包括:源客户端通过对应的源NAT设备与服务器建立TCP连接,并记录所述源客户端NAT后外部地址,关闭所述源客户端和所述服务器的TCP连接,所述源客户端通过所述服务器向目标客户端发送所述源客户端NAT后外部地址;所述目标客户端通过对应的目标NAT设备与所述服务器建立TCP连接,并记录所述目标客户端NAT后外部地址,关闭所述目标客户端和所述服务器的TCP连接,所述目标客户端基于目标客户端本地发起时间通过预设时间映射方式获取对应的服务器时间作为约定发起时间,所述目标客户端通过所述服务器向所述源客户端发送所述目标客户端NAT后外部地址及约定发起时间;所述源客户端基于所述约定发起时间通过预设时间映射方式获取对应的源客户端本地发起时间;所述源客户端在所述源客户端本地发起时间建立与所述目标客户端NAT后外部地址的TCP连接,所述目标客户端在所述目标客户端本地发起时间建立与所述源客户端NAT后外部地址的TCP连接;其中,所述源客户端和所述目标客户端分别与服务器建立有长连接,所述源客户端与所述目标客户端之间的NAT后外部地址的交互均通过所述长连接实现;所述源客户端和所述目标客户端进行TCP连接的端口均设置套接字选项为SO_REUSEADDR,所述NAT后外部地址包括公网IP地址和端口号;预设客户端本地发起时间为所述预设客户端当前时间加预设交换耗时;预设客户端的预设时间映射方式为:所述约定发起时间等于所述预设客户端当前时间与预设交换耗时之和再减去心跳误差所得的差值;其中,所述心跳误差为累计误差与时钟偏移之和,所述累计误差为心跳次数与心跳平均误差的乘积,所述时钟偏移为时间偏移值乘以心跳平均误差再除以心跳间隔所得的商,所述时间偏移值为预设客户端当前时间加预设交换耗时再减去上次心跳时间所得的时间值,所述心跳平均误差为预设客户端与服务器之间预设次数心跳时钟差的移动平均数,所述心跳时钟差为每次预设客户端发送心跳包的时间加上二分之一RTT再减去服务器对应次收到心跳包的时间,所述预设客户端为所述目标客户端或者所述源客户端。
全文数据:
权利要求:
百度查询: 上海贝锐信息科技股份有限公司 基于时间同步的TCP NAT穿越方法及系统
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。