数据点对点传输方法及装置的制造方法

文档序号:9931401阅读:540来源:国知局
数据点对点传输方法及装置的制造方法
【技术领域】
[0001] 本发明属于数据网络传输技术领域,具体涉及一种数据点对点传输方法和装置。
【背景技术】
[0002] SIP(Session Ini tiat ion Protocol,会话初始协议)是由 IETF(Internet Engineering Task Force,因特网工程任务组)制定的多媒体通信协议。它是一个基于文本 的应用层控制协议,用于创建、修改和释放一个或多个参与者的会话。广泛应用于CS (Circuit Switched,电路交换)、NGN(Next Generation Network,下一代网络)以及IMS(IP Multimedia Subsystem,IP多媒体子系统)的网络中,可以支持并应用于语音、视频、数据等 多媒体业务,同时也可以应用于Presence(呈现)、Instant Message(即时消息)等特色业 务。
[0003] 在IPV4环境下,中国IP地址紧缺,用户上网需要NAT设备将私网转换成公网,但是 NAT(Network Address Translation,网络地址转换)设备使得不同的私网之间无法直接通 过网络完成数据交互。目前解决私网穿透主要有STUN,TURN,ICE等协议。
[0004] STUN(Simple Traversal of UDP over NATs,NAT的UDP简单穿越)是一种网络协 议,它允许位于NAT(或多重NAT)后的客户端找出自己的公网地址,通过SIP信令可以告诉对 方自己的公网信息,从而实现私网穿透,但是缺点是不支持对称NAT(SymNat)类型穿透,并 且如果双方都位于同一个NAT之后,也不适用。
[0005] TURN:也就是Traversal Using Relay NAT的缩写,即通过Relay方式穿越NAT, TURN应用模型通过分配TURNServer的地址和端口作为客户端对外的接受地址和端口,即私 网用户发出的报文都要经过TURNServer进行Re lay转发,这种方式解决了 STUN应用无法穿 透对称NAT(Symmetric NAT)以及类似的Firewall设备的缺陷,但是TURN的局限性在于所有 报文都必须经过TURNServer转发,增大了包的延迟和丢包的可能性,另外所有数据都通过 中转服务器,增加了服务器的开销。
[0006] ICE:也就是Interactive Connectivity Establishment的缩写,是实现NAT穿透 的一种技术方案;ICE是一种NAT(Network Address Translation,网络地址转换)穿透技 术,它整合了 STUN和TURN等协议。ICE是of f er/answer模型的扩展,通过在of f er和answer的 SDP(Session Description Protocol,会话描述协议)里面包含多种IP地址和端口,然后对 本地SDP和远程SDP里面的IP地址进行配对,然后通过点对点连通性检查进行连通性测试工 作,如果测试通过即表明该传输地址对可以建立连接。但是采用ICE存在如下局限:1、协议 交互探测耗时,导致SIP客户端存在较长的黑屏时间;2由于在部分网络环境下,根据stun会 导致NAT类型误判,导致双方无法进行通信;3.双方都处于对称网络类型的私网中时,会判 断无法实现点对点传输数据从而走TURN中转,其实部分对称网络环境下是可以实现点对点 传输数据的。
[0007] 申请号为201210149366.6的中国专利,公开了一种SIP呼叫中自适应穿越NAT的方 法,通过对NAT设备情况进行自适应分析,判定得出最优数据传输路径。被叫方获取到主叫 方的网络信息后,进行发送探测包,通过探测包确定最优路径,这种方法的缺点是增加开始 会话的数据传输的时延。另外,由于没有数据反馈机制,无法保证最终的数据传输成功。

【发明内容】

[0008] 本发明的目的之一在于克服以上缺点,提供一种数据点对点传输方法,缩短协议 交互探测时间,提高点对点连接以及最终数据传输的的成功率。
[0009] 为了解决上述技术问题,本发明提供了一种数据点对点传输方法,包括以下步骤:
[0010] 客户端A和客户端B在空闲时间进行公网信息的获取及更新;
[0011] 客户端A获取其公网端口,再将其公网信息、公网端口、局域网信息发送给客户端 B;
[0012] 客户端B在收到客户端A发送的信息后,获取其公网端口,并将其公网信息、公网端 口、局域网信息发送给客户端A;
[0013] 客户端A和客户端B各自解析对方发送的信息,获取对方的NAT类型,选择最优传输 路径,建立会话。
[0014] 本技术方案中,对公网信息的获取和更新进行了优化,客户端在空闲时间进行公 网信息的获取和更新,而不是在发起通话时候才去获取,这样减少了通话开始后在STUN查 询上花费的时间延迟,缩短协议交互探测时间,缩短客户端响应的时间。
[0015] 进一步地,所述公网信息包括NAT类型,及公网IP地址;所述局域网信息包括局域 网IP地址和局域网端口。
[0016] 进一步地,所述选择最优传输路径,包含以下步骤:
[0017]判定客户端A和客户端B是否可进行同一 NAT间点对点传送数据、不同NAT间点对点 传送数据或局域网间点对点传送数据;
[0018] 若是,则进行同一 NAT点对点传送数据、不同NAT间点对点传送数据或局域网间点 对点传送数据,否则,通过TURN服务器中转传送数据。
[0019] 本发明数据的点对点传输路径选择方法,分为判断步骤和路径选择步骤,先判断 适用的点对点传输方式,然后根据判断结果,选择最优的传输路径进行数据传输,提高数据 传输的实时性;在确定无法进行点对点传输数据的情况下,再选择通过TURN服务器中转进 行数据传输,确保数据传输的流畅性。
[0020] 进一步地,所述判定客户端A和客户端B是否可进行同一 NAT间点对点传送数据、不 同NAT间点对点传送数据具体为:
[0021] 判断客户端A和客户端B是否处于同一个NAT;
[0022] 若客户端A和客户端B处于同一个NAT,进一步判断,如果此NAT允许回环,则判定客 户端A和客户端B可进行同一 NAT间点对点传送数据;
[0023]若客户端A和客户端B处于不同的NAT,根据双方NAT类型查询配置表判断是否支持 点对点传输,支持则判定客户端A和客户端B可进行NAT间的点对点传送数据。
[0024]进一步地,所述判定客户端A和客户端B是否可进行局域网间点对点传送数据具体 为:其中一客户端发起局域网通路探测,若收到局域网通路探测响应,则判定客户端A和客 户端B可进行局域网间点对点数据传输。
[0025]进一步地,所述判定客户端A和客户端B是否可进行同一 NAT间点对点传送数据、不 同NAT间点对点传送数据或局域网间点对点传送数据,上述三种判定方法可并列进行,若判 定客户端A和客户端B可进行局域网间点对点传送数据,则优先采用局域网间点对点传送数 据,否则,根据是否可进行同一 NAT间点对点传送数据、不同NAT间点对点传送数据的判定结 果进行数据传输。
[0026] 本发明的三种判定方法可同时并发进行,根据最先得到的判定结果进行路径选 择,如果后续得到的判定结果优先级更高,再进行传输路径的变更操作,通过并发进行的方 式,减少了判断步骤所需的时间。另外,本发明将局域网间点对点传送数据优先级设置为最 高,保证了在多种点对点传送方式均适用的情况下,以最高效率的方式传送数据。
[0027] 进一步地,所述配置表的配置步骤为:
[0028]根据NAT设备的映射表现和过滤表现属性将NAT进行分类;
[0029]得到客户端A的NAT类型、客户端B的NAT类型、以及客户端A和客户端B是否支持点 对点通讯的三者映射关系表。
[0030] 进一步地,所述根据NAT设备的映射表现和过滤表现属性将NAT进行分类,具体为:
[0031] 将NAT分成完全圆锥型,地址限制型,端口限制型,对称型四类,其中,所述对称型 NAT进一步细分成6类,对应SymNat 1~SymNat6。
[0032]本发明上述技术方案通过细分SymNat类型,增加了客户端A与客户端B的排列组 合,补充了多种对称NAT可以实现点对
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1