建立点对点链路的方法、装置及系统与流程

文档序号:33752576发布日期:2023-04-18 13:22阅读:36来源:国知局
建立点对点链路的方法、装置及系统与流程

本发明涉及互联网的,更具体地,涉及一种建立点对点链路的方法、装置及系统。


背景技术:

1、网络地址转换(英语:network address translation,缩写:nat,又称:网络掩蔽、ip掩蔽)是一种广域网的接入技术,将私有地址转换为合法的公共ip地址,可以完美的解决ip地址不足问题,而且还能有效避免来自外部网络的攻击,隐藏并保护网络内部的计算机。

2、按照nat端口映射方式分类,包括:全锥型nat、限制锥型nat、端口限制锥型nat和对称型nat。然而,目前已有的建立点对点连接的方法只能在全锥型、限制锥型以及端口限制型等网络中进行,若出现任何一方为对称型,则很大概率出现打洞失败的情况。


技术实现思路

1、本发明为克服上述现有技术所述的至少一种缺陷,提供一种建立点对点链路的方法、装置及系统,本发明采用的技术方案如下。

2、第一方面,本发明提供一种建立点对点链路的方法,所述方法应用于主服务器,包括步骤:

3、接收发起打洞的双方终端发送的发起数据包,其中,所述发起数据包包括:udp包,通过解析所述udp包能够得到终端的源地址的端口和ip;

4、向发起打洞的双方终端发送应答包,所述应答包用于指示双方终端向至少两台辅助服务器发送发起数据包,其中,所述主服务器与所述至少两台辅助服务器为部署在不同公网ip的服务器;

5、获取辅助服务器解析后得到的双方终端的源地址的端口和ip;

6、通过预测算法,根据自己解析的和获取到的源地址的端口和ip,得到预测的端口和ip;

7、将预测的端口和ip分别发给对应的终端,指示双方终端利用所述预测的端口和ip向对端发起连接。

8、在一种实施方式中,所述通过预测算法,根据自己解析的和获取到的源地址的端口和ip,得到预测的端口和ip的过程,包括步骤:

9、根据自己解析的和获取到的源地址的端口和ip,寻找各端口之间的规律;

10、在寻找出各端口之间的规律时,根据寻找出的规律,生成预测的端口和ip。

11、在一种实施方式中,所述通过预测算法,根据自己解析的和获取到的源地址的端口和ip,得到预测的端口和ip的过程,还包括步骤:

12、在寻找不出各端口之间的规律时,根据自己解析的和获取到的源地址的端口和ip,随机生成数个端口,对生成的端口和解析出的端口添加优先级,形成预测的端口和ip。

13、在一种实施方式中,在所述接收发起打洞的双方终端发送的发起数据包之后,还包括步骤:

14、与发起打洞的双方终端建立udt常连接。

15、在一种实施方式中,所述应答包用于指示双方终端向至少两台辅助服务器发送发起数据包,其中,所述至少两台辅助服务器为保持udt常连接的服务器;

16、所述获取辅助服务器解析后得到的双方终端的源地址的端口和ip的过程,包括步骤:向所述至少两台辅助服务器获取解析后得到的双方终端的源地址的端口和ip。

17、第二方面,本发明提供一种建立点对点链路的方法,包括步骤:

18、发起打洞的双方终端以绑定端口方式向主服务器和至少两台服务器建立udt连接,并将含有自身身份信息的udp包通过udt连接发往所述主服务器和所述至少两台服务器,其中,所述主服务器与所述至少两台辅助服务器为部署在不同公网ip的服务器;

19、主服务器和至少两台服务器解析出各自收到的udp包中双方终端的源地址的端口和ip;

20、主服务器获取辅助服务器解析后得到的双方终端的源地址的端口和ip;

21、主服务器通过预测算法,根据自己解析的和获取到的源地址的端口和ip,得到预测的端口和ip,并将预测的端口和ip分别发给对应的终端;

22、发起打洞的双方终端利用接收到的对端的预测的端口和ip向对端发起连接。

23、在一种实施方式中,所述主服务器通过预测算法,根据自己解析的和获取到的源地址的端口和ip,得到预测的端口和ip的过程,包括步骤:

24、主服务器根据自己解析的和获取到的源地址的端口和ip,寻找各端口之间的规律;

25、主服务器在寻找出各端口之间的规律时,根据寻找出的规律,生成预测的端口和ip。

26、在一种实施方式中,所述主服务器通过预测算法,根据自己解析的和获取到的源地址的端口和ip,得到预测的端口和ip的过程,还包括步骤:

27、主服务器在寻找不出各端口之间的规律时,根据自己解析的和获取到的源地址的端口和ip,随机生成数个端口,对生成的端口和解析出的端口添加优先级,形成预测的端口和ip。

28、第三方面,本发明提供一种建立点对点链路的装置,包括:

29、接收模块,用于接收发起打洞的双方终端发送的发起数据包,其中,所述发起数据包包括:udp包,通过解析所述udp包能够得到终端的源地址的端口和ip;

30、响应模块,用于向发起打洞的双方终端发送应答包,所述应答包用于指示双方终端向至少两台辅助服务器发送发起数据包,其中,所述主服务器与所述至少两台辅助服务器为部署在不同公网ip的服务器;

31、获取模块,用于获取辅助服务器解析后得到的双方终端的源地址的端口和ip;

32、预测模块,用于通过预测算法,根据自己解析的和获取到的源地址的端口和ip,得到预测的端口和ip;

33、发送模块,用于将预测的端口和ip分别发给对应的终端,指示双方终端利用所述预测的端口和ip向对端发起连接。

34、第四方面,本发明提供一种建立点对点链路的系统,包括:主服务器、至少两台辅助服务器和发起打洞的双方终端;

35、所述发起打洞的双方终端被配置为以绑定端口方式向主服务器和至少两台服务器建立udt连接,并将含有自身身份信息的udp包通过udt连接发往所述主服务器和所述至少两台服务器,接收主服务器发送的预测的端口和ip,并利用接收到的预测的端口和ip向对端发起连接,其中,所述主服务器与所述至少两台辅助服务器为部署在不同公网ip的服务器;

36、所述至少两台辅助服务器被配置为解析出各自收到的udp包中双方终端的源地址的端口和ip;

37、所述主服务器被配置为解析出自己收到的udp包中双方终端的源地址的端口和ip以及获取辅助服务器解析后得到的双方终端的源地址的端口和ip,通过预测算法,根据自己解析的和获取到的源地址的端口和ip,得到预测的端口和ip,并将预测的端口和ip分别发给对应的终端。

38、第五方面,本发明提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施方式的方法。

39、第六方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述任一实施方式的方法。

40、本发明中,基于udt协议,利用udt所自带的udp握手及保活流程进行预测性打洞,通过部署至少三台服务器,让这些服务器接收打洞双方终端发送的udp包,解析出打洞双方终端的ip和端口,通过预测算法,预测双方终端侧的公网端口,并将预测的结果发送给各自的对端,从而解决打洞双方中的任何一方的nat为对称型时,很大概率出现打洞失败的问题,提高打洞成功的概率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1