CN105681445A - 数据的点对点传输路径选择方法及装置 - Google Patents
数据的点对点传输路径选择方法及装置 Download PDFInfo
- Publication number
- CN105681445A CN105681445A CN201610080230.2A CN201610080230A CN105681445A CN 105681445 A CN105681445 A CN 105681445A CN 201610080230 A CN201610080230 A CN 201610080230A CN 105681445 A CN105681445 A CN 105681445A
- Authority
- CN
- China
- Prior art keywords
- point
- customer end
- nat
- data
- point transmission
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种数据的点对点传输路径选择方法及装置,所述方法包括步骤:判定客户端A和客户端B是否可进行同一NAT间点对点传送数据、不同NAT间点对点传送数据或局域网间点对点传送数据;若是,则进行同一NAT点对点传送数据、不同NAT间点对点传送数据或局域网间点对点传送数据,否则,通过TURN服务器中转传送数据。本发明的方法可同时进行三种路径(同一NAT间点对点传送数据、不同NAT间点对点传送数据或局域网间点对点传送数据)的判定,选择最优的方式进行点对点传输数据,提高数据传输的实时性,同时根据NAT的映射表现属性和过滤表现属性,进一步细分NAT类型,保证部分对称NAT环境下也可以进行点对点传输,提高了点对点成功率。
Description
技术领域
本发明属于数据网络传输技术领域,具体涉及数据的点对点传输路径选择方法及装置。
背景技术
在IPV4环境下,中国IP地址紧缺,用户上网需要NAT(NetworkAddressTranslation,网络地址转换)设备将私网转换成公网,但是NAT设备使得不同的私网之间无法直接通过网络完成数据交互。目前对于两个位于NAT后面的设备,进行点对点传输可选择的路径有以下三种:1.通过位于公网上的TURN(TraversalUsingRelayNAT)服务器中转;2.直接穿透NAT进行不同NAT间的点对点(P2P)传输;3.若两个客户端处于同一个NAT,则可以选择局域网传输或者NAT间回环传输。
目前NAT类型可以分成四类,1.FullConeNAT(完全圆锥型NAT);2.AddressRestrictedConeNAT(地址限制圆锥型);3.PortRestrictedConeNAT(端口限制圆锥型);4.SymmetricNAT(对称型)。目前研究认为当点对点一方是对称型NAT的情况下,若另一方不是FullConeNAT,则无法进行点对点(P2P)数据传输,需要通过公网上的TURN服务器中转进行数据传输。这种处理方式,没有根据NAT的过滤属性进一步细分对称型NAT,忽略了部分类型的对称型NAT可以和其他NAT的网络实现点对点数据传输的可能性。
ICE(InteractiveConnectivityEstablishment)是实现NAT穿透的一种技术方案,它是offer/answer模型的扩展,通过在offer和answer的SDP里面包含多种IP地址和端口,然后对本地SDP和远程SDP里面的IP地址进行配对,然后通过点对点连通性检查进行连通性测试工作,如果测试通过即表明该传输地址对可以建立连接。但是采用ICE存在如下局限:1.如前面所述的问题,双方都处于对称网络类型的NAT中时,会判断无法实现点对点从而走TURN中转,其实部分对称网络环境下是可以实现点对点的;2.对于同一个局域网下,如果先前通过STUN获取网络信息失败会导致局域网点对点失败;3.在部分网络环境下,根据STUN会导致NAT类型误判,导致双方无法进行通信;4、协议交互探测耗时,导致SIP客户端存在较长的黑屏时间。
申请号为201210149366.6的中国专利,公开了一种SIP呼叫中自适应穿越NAT的方法,通过对NAT设备情况进行自适应分析,判定得出最优数据传输路径。被叫方获取到主叫方的网络信息后,进行发送探测包,通过探测包确定最优路径,这种方法的缺点是增加开始会话的数据传输的时延。另外,由于没有数据反馈机制,无法保证最终的数据传输成功。
发明内容
本发明的目的之一在于克服以上缺点,提供一种数据的点对点传输路径选择方法,提高两个设备点对点连接的成功率。
为了解决上述技术问题,本发明提供了一种数据的点对点传输路径选择方法,包括以下步骤:
判定客户端A和客户端B是否可进行同一NAT间点对点传送数据、不同NAT间点对点传送数据或局域网间点对点传送数据;
若是,则进行同一NAT点对点传送数据、不同NAT间点对点传送数据或局域网间点对点传送数据,否则,通过TURN服务器中转传送数据。
本发明数据的点对点传输路径选择方法,分为判断步骤和路径选择步骤,先判断适用的点对点传输方式,然后根据判断结果,选择最优的传输路径进行数据传输,提高数据传输的实时性;在确定无法进行点对点传输数据的情况下,再选择通过TURN服务器中转进行数据传输,确保数据传输的流畅性。
进一步地,所述判定客户端A和客户端B是否可进行同一NAT间点对点传送数据、不同NAT间点对点传送数据具体为:
判断客户端A和客户端B是否处于同一个NAT;
若客户端A和客户端B处于同一个NAT,进一步判断,如果此NAT允许回环,则判定客户端A和客户端B可进行同一NAT间点对点传送数据;
若客户端A和客户端B处于不同的NAT,根据双方NAT类型查询配置表判断是否支持点对点传输,支持则判定客户端A和客户端B可进行NAT间的点对点传送数据。
进一步地,判定客户端A和客户端B是否可进行局域网间点对点传送数据具体为:其中一客户端发起局域网通路探测,若收到局域网通路探测响应,则判定客户端A和客户端B可进行局域网间点对点数据传输。
由于不论是否处于同一个NAT,本技术方案均强制进行局域网探测,避免了若先前通过STUN获取网络信息失败会导致局域网点对点失败的情况,提高了局域网下点对点通信的成功率。
进一步地,所述判定客户端A和客户端B是否可进行同一NAT间点对点传送数据、不同NAT间点对点传送数据或局域网间点对点传送数据,上述三种判定方法可并列进行,若判定客户端A和客户端B可进行局域网间点对点传送数据,则优先采用局域网间点对点传送数据,否则,根据是否可进行同一NAT间点对点传送数据、不同NAT间点对点传送数据的判定结果进行数据传输。
本发明的三种判定方法可同时并发进行,根据最先得到的判定结果进行路径选择,如果后续得到的判定结果优先级更高,再进行传输路径的变更操作,通过并发进行的方式,减少了判断步骤所需的时间。另外,本发明将局域网间点对点传送数据优先级设置为最高,保证了在多种点对点传送方式均适用的情况下,以最高效率的方式传送数据。
进一步地,所述传送的数据可以为:音频文件,视频文件,图片或文档。
进一步地,所述配置表的配置步骤为:
根据NAT设备的映射表现和过滤表现属性将NAT进行分类;
得到客户端A的NAT类型、客户端B的NAT类型、以及客户端A和客户端B是否支持点对点通讯的三者映射关系表。
进一步地,所述根据NAT设备的映射表现和过滤表现属性将NAT进行分类,具体为:
将NAT分成完全圆锥型,地址限制型,端口限制型,对称型四类,其中,所述对称型NAT进一步细分成6类,对应SymNat1~SymNat6。
本发明上述技术方案通过细分SymNat类型,增加了客户端A与客户端B的排列组合,补充了多种对称NAT可以实现点对点数据传输的情形,提高了不同NAT间的点对点成功率。
进一步地,所述的数据的点对点传输路径选择方法,建立会话后,如果客户端A或客户端B在预设时间内未收到数据,通过服务器发送消息给对方客户端,一起切换到TURN服务器中转进行数据传输。
通过增加数据反馈机制,客户端可以从点对点误判中恢复成服务器中转模式,提高了容错率,保证了最终通信的成功率。
相应地,本发明提供了一种数据的点对点传输路径选择装置,包括:
判断模块,用于判定客户端A和客户端B是否可进行同一NAT间点对点传送数据、不同NAT间点对点传送数据或局域网间点对点传送数据;
路径选择模块,用于若是,则进行同一NAT点对点传送数据、不同NAT间点对点传送数据或局域网间点对点传送数据,否则,通过TURN服务器中转传送数据。
进一步地,所述判断模块包括:
判断子模块一,用于判断客户端A和客户端B是否处于同一个NAT;
若客户端A和客户端B处于同一个NAT,进一步判断,如果此NAT允许回环,则判定客户端A和客户端B可进行同一NAT间点对点传送数据;
若客户端A和客户端B处于不同的NAT,根据双方NAT类型查询配置表判断是否支持点对点传输,支持则判定客户端A和客户端B可进行NAT间的点对点传送数据。
进一步地,所述判断模块还包括:
判断子模块二,用于判定客户端A和客户端B是否可进行局域网间点对点传送数据,具体判断过程为:其中一客户端发起局域网通路探测,若收到局域网通路探测响应,则判定客户端A和客户端B可进行局域网间点对点数据传输。
进一步地,所述数据的点对点传输路径选择装置,还包括:
容错模块,用于建立会话后,如果客户端A或客户端B在预设时间内未收到数据,通过服务器发送消息给对方客户端,一起切换到TURN服务器中转进行数据传输。
相应地,本发明还提供了一种楼宇对讲系统,包含上述数据的点对点传输路径选择装置。
综上所述,本发明的数据点对点输出路径选择,可同时进行三种路径(同一NAT间点对点传送数据、不同NAT间点对点传送数据或局域网间点对点传送数据)的判定,减少判断步骤的时间,选择最优的方式进行点对点传输数据,提高数据传输的实时性;在确定无法进行点对点传输数据的情况下,再选择通过TURN服务器中转进行数据传输,确保数据传输的流畅性。另外,本发明将局域网间点对点传送数据优先级设置为最高,保证了在多种点对点数据传送方式均适用的情况下,以最高效率的方式传送数据。同时,本发明技术方案不论是否处于同一个NAT,均强制进行局域网探测,避免了若通过STUN获取网络信息失败会导致局域网点对点失败的情况,提高了局域网下点对点通信的成功率。本发明的数据点对点传输路径选择方法通过细分NAT类型,补充了多种对称NAT可以实现点对点数据传输的情形,提高了不同NAT间的点对点传输成功率。另外,在数据传输过程中增加数据反馈,提供容错机制,客户端可以从点对点传输的误判中恢复成服务器中转模式,保证了最终通信的成功率。
附图说明
图1是本发明数据的点对点传输路径选择方法步骤流程图。
图2是本发明数据的点对点传输路径选择一种方法详细步骤流程图。
图3是本发明数据的点对点传输路径选择另一种方法详细步骤流程图。
图4是本发明数据的点对点传输路径选择装置结构框架图。
图5是本发明判断模块结构框架图。
图6是本发明一种楼宇对讲系统结构框架图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1,本发明数据的点对点传输路径选择方法步骤流程图,步骤如下:
步骤1.判定客户端A和客户端B是否可进行同一NAT间点对点传送数据、不同NAT间点对点传送数据或局域网间点对点传送数据;
本发明中,客户端A和客户端B之间传输的数据可以为音频文件,视频文件,图片、文档或其他类型的数据。在现实中,网络客户端A和网络客户端B能否实现点对点连接传送数据,取决于客户端A和客户端B的网络位置,有可能客户端A和客户端B处于同一个局域网,也有可能处于同一个NAT,或者处于不同的NAT之间。本发明数据的点对点传输路径选择方法,先对上述可能存在的三种情况进行判断,确定客户端A和客户端B之间是否支持点对点连接传送数据,以及可以进行哪种类型的点对点连接传送数据。
步骤2.若是,则进行同一NAT点对点传送数据、不同NAT间点对点传送数据或局域网间点对点传送数据,否则,通过TURN服务器中转传送数据。
本发明选择最终传输路径的优先级从高到低为:最优先采用局域网间点对点传送数据;其次,采用同一NAT点对点传送数据或不同NAT间点对点传送数据;最后,选择服务器中转方式传送数据。
根据步骤1的判断结果选择采用何种点对点连接传送数据,首先,如果判定客户端A和客户端B可进行局域网间点对点传送数据,则优先采用局域网间点对点传送数据。在实际场景中,可能存在客户端A和客户端B之间既支持局域网间点对点传送数据,又支持同一NAT点对点传送数据的情况,这种情况下,优先采用局域网间点对点传送数据。
若客户端A和客户端B不支持局域网间点对点传送数据,则再判断是否可采用同一NAT点对点传送数据或不同NAT间点对点传送数据。在不支持局域网间点对点传送数据的情况下,如果客户端A和客户端B之间支持同一NAT点对点传送数据,则采用同一NAT点对点传送数据;如果客户端A和客户端B之间支持不同NAT间点对点传送数据,则采用不同NAT间点对点传送数据。在现实场景中,这两种情况不可能同时存在,最多只有一种情况存在。
最后,如果判断三种点对点连接方式都不支持,则采用服务器中转方式传输数据。
步骤3.建立会话后,如果客户端A或客户端B在预设时间内未收到数据,通过服务器发送消息给对方客户端,一起切换到TURN服务器中转进行数据传输。
由于实际应用中部分网络环境比较复杂,例如有些厂商路由器上外网端口分配默认与内网端口相同,但是一旦外网端口被占用则分配的外网端口会与内网端口不再相同,导致STUN查询NAT类型会产生误判,此时通过数据反馈机制,可以从点对点误判中恢复成服务器中转模式,保证通信的成功率。
由于本发明判断客户端A和客户端B是否可进行同一NAT间点对点传送数据、不同NAT间点对点传送数据或局域网间点对点传送数据是同时并发进行,得到判断结果的时间并不相同,所以本发明是根据得到判断结果的时间先后顺序进行后续传输路径选择,就会存在以下两种详细步骤流程图,如图2,是本发明数据的点对点传输路径选择一种方法详细步骤流程图,在先得到客户端A和客户端B是否支持局域网间点对点传送数据判断结果的情况下采用,具体步骤如下:
步骤1.同时发起客户端A和客户端B是否可进行局域网间点对点传送数据以及客户端A和客户端B是否可进行同一NAT间点对点传送数据或不同NAT间点对点传送数据的判断。
其中,判定客户端A和客户端B是否可进行局域网间点对点传送数据具体为:其中一客户端发起局域网通路探测,若收到局域网通路探测响应,则判定客户端A和客户端B支持局域网间点对点数据传输,否则,判定客户端A和客户端B不支持局域网间点对点数据传输。
另外,判定客户端A和客户端B是否可进行同一NAT间点对点传送数据、不同NAT间点对点传送数据具体方法为:
判断客户端A和客户端B是否处于同一个NAT;
若客户端A和客户端B处于同一个NAT,进一步判断,如果此NAT允许回环,则判定客户端A和客户端B可进行同一NAT间点对点传送数据;
若客户端A和客户端B处于不同的NAT,根据双方NAT类型查询配置表判断是否支持点对点传输,支持则判定客户端A和客户端B可进行NAT间的点对点传送数据。
为了提高不同NAT情况下客户端A和客户端B之间点对点连接的成功率,本发明对NAT类型进行细分,并得到上述配置表,具体生成步骤为:
1)区别于传统的将NAT分成FullConeNat(完全圆锥NAT),RestrictedNat(地址限制NAT),PortRestrictedNat(端口限制NAT),SymNat(对称型NAT)四大类,本发明根据NAT设备的NAT_BEHAVIOR(映射表现)属性和NAT_FILTERING(过滤表现)属性将对称型NAT进一步细分成6类,对应SymNat1~SymNat6,总共分为9种NAT类型。具体分类如下表格所示:
其中,Endpoint-IndependentMapping(端点独立映射):对于从一个相同的内部IP地址和端口(X:x)发往任何外部IP地址和端口的随后数据包,NAT会重用端口映射;Address-DependentMapping(地址依赖性映射):对于接下来要从同一个内部IP地址和端口(X:x)发往同一个外部地址,不管外部端口号是多少,NAT都会重用端口映射;AddressandPort-DependentMapping(地址和端口依赖性映射):对于接下来要从同一个同部IP地址和端口(X:x)发往同一个外部地址和端口号的数据包,当映射依然处于活动状态的时候,NAT设备会重用端口映射。
Endpoint-IndependentFiltering(端点独立的过滤):不管外部IP地址和端口号(Z:z)是多少,NAT都只过滤不发往内部IP地址和端口号(X:x)的数据包。NAT会转发所有发往X:x的数据包;Address-DependentFiltering(地址依赖性过滤):NAT过滤不发往内部地址X:x的数据包。并且,如果X:x之前没有发送任何数据包给Y(和Y使用的端口无关),那么NAT设备就会过滤从Y:y发往X:x的数据包;AddressandPort-DependentFiltering地址和端口依赖性过滤:NAT过滤不发往内部地址X:x的数据包。并且,如果X:x之前没有发送任何数据包给Y:y,那么NAT设备就会过滤从Y:y发往X:x的数据包。
2)得到客户端A的NAT类型、客户端B的NAT类型、以及客户端A和客户端B是否支持点对点通讯的三者映射关系表。
以下即为映射关系表,其中可以看出并非所有对称网络都无法实现点对点,只有SymNat6与SymNat6以及SymNat6与PortRestrictedNat、SymNat6与SymNat3这三种NAT类型搭配无法实现点对点传输,其余的都可以实现点对点传输。
例如,在一具体场景中,客户端A的NAT类型为SymNat3,客户端B的NAT类型为SymNat1,在传统的判断方式下,认为客户端A和客户端B都属于对称型NAT,不支持点对点数据传送,只能通过服务器中转方式传送数据。根据本发明的映射关系表可以知道,在该具体场景中,客户端A和客户端B之间可以支持不同NAT间点对点连接,客户端A和客户端B可采用不同NAT间点对点连接传送数据,这样数据传输效率更高。
步骤2.根据客户端A和客户端B是否支持局域网间点对点传送数据判定结果选择传输路径,若支持则采用局域网间点对点传送数据,否则采用服务器中转方式传输数据。
根据传输路径选择优先原则,如果已经判断出客户端A和客户端B之间支持局域网间点对点传送数据,则采用该方式传送数据,即使客户端A和客户端B还支持同一NAT点对点传送数据或不同NAT间点对点传送数据。只有在客户端A和客户端B不支持局域网间点对点传送数据情况下,再进一步根据是否支持同一NAT点对点传送数据或不同NAT间点对点传送数据判定结果选择传输路径,若支持,则采用同一NAT点对点传送数据或不同NAT间点对点传送数据,否则采用服务器中转方式传输数据。
步骤3.建立会话后,如果客户端A或客户端B在预设时间内未收到数据,通过服务器发送消息给对方客户端,一起切换到TURN服务器中转进行数据传输,否则保持现有传输路径不变。
如图3,是本发明数据的点对点传输路径选择另一种方法详细步骤流程图,在先得到客户端A和客户端B是否可进行同一NAT间点对点传送数据或不同NAT间点对点传送数据判定结果的情况下采用,具体步骤为:
步骤1.同时发起客户端A和客户端B是否可进行局域网间点对点传送数据以及客户端A和客户端B是否可进行同一NAT间点对点传送数据或不同NAT间点对点传送数据的判断。
步骤2.先根据客户端A和客户端B是否可进行同一NAT间点对点传送数据或不同NAT间点对点传送数据判定结果选择传输路径,若支持则采用同一NAT点对点传送数据或不同NAT间点对点传送数据,否则采用服务器中转方式传输数据。
再根据客户端A和客户端B是否支持局域网间点对点传送数据判定结果选择传输路径,若支持则采用局域网间点对点传送数据,否则保持现有传输路径不变。
例如,在一具体实施例中,先判断出客户端A和客户端B支持同一NAT点对点传送数据,且客户端A和客户端B之间的局域网间点对点通路探测尚未得到回应,则采用同一NAT点对点连接传送数据。若后续客户端A和客户端B之间的局域网间点对点通路探测得到了回应,客户端A和客户端B再切换到局域网点对点连接传送数据。
步骤3.建立会话后,如果客户端A或客户端B在预设时间内未收到数据,通过服务器发送消息给对方客户端,一起切换到TURN服务器中转进行数据传输,否则保持现有传输路径不变。
如图4,是本发明数据的点对点传输路径选择装置结构框架图,包括:
判断模块,用于判定客户端A和客户端B是否可进行同一NAT间点对点传送数据、不同NAT间点对点传送数据或局域网间点对点传送数据;
路径选择模块,用于若是,则进行同一NAT点对点传送数据、不同NAT间点对点传送数据或局域网间点对点传送数据,否则,通过TURN服务器中转传送数据;
容错模块,用于建立会话后,如果客户端A或客户端B在预设时间内未收到数据,通过服务器发送消息给对方客户端,一起切换到TURN服务器中转进行数据传输。
如图5,是本发明的判断模块结构框架图,包括:
判断子模块一,用于判断客户端A和客户端B是否处于同一个NAT;
若客户端A和客户端B处于同一个NAT,进一步判断,如果此NAT允许回环,则判定客户端A和客户端B可进行同一NAT间点对点传送数据;
若客户端A和客户端B处于不同的NAT,根据双方NAT类型查询配置表判断是否支持点对点传输,支持则判定客户端A和客户端B可进行NAT间的点对点传送数据。
判断子模块二,用于判定客户端A和客户端B是否可进行局域网间点对点传送数据,具体判断过程为:其中一客户端发起局域网通路探测,若收到局域网通路探测响应,则判定客户端A和客户端B可进行局域网间点对点数据传输。
本发明的数据点对点传输路径选择装置可应用在两个设备需进行数据传输的场景中。例如,楼宇对讲领域、安防监控领域、对讲领域等等。在楼宇对讲领域中,客户端A可以是梯口机,室内机等楼宇设备,客户B可以是移动终端,例如手机、平板、智能穿戴式设备等等。
如图6,是本发明一种楼宇对讲系统结构框架图,所述楼宇对讲系统包含了本发明数据的点对点传输路径选择装置。该楼宇对讲系统可用于实现访客与用户之间的视频对讲功能,通过包含本发明数据的点对点传输路径选择装置,选择最优的点对点数据传输方式,从而提高了楼宇出入口的对讲主机与用户家中的可视对讲分机之间数据传输的速度和效率,保证视频画面的清晰度和流畅度。
在一具体的应用实施例中,客户端A为梯口机,客户端B为手机。当用户的手机和梯口机应用本发明的数据点对点传输路径选择装置进行数据传输时,例如用户想通过手机往梯口机发送照片等数据时,
判断子模块一,用于判断梯口机和手机是否处于同一个NAT;
若梯口机和手机处于同一个NAT,进一步判断,如果此NAT允许回环,则判定梯口机和手机可进行同一NAT间点对点传送数据;
若梯口机和手机处于不同的NAT,根据双方NAT类型查询配置表判断是否支持点对点传输,支持则判定梯口机和手机可进行NAT间的点对点传送数据。
判断子模块二,用于判定梯口机和手机是否可进行局域网间点对点传送数据,具体判断过程为:其中梯口机发起局域网通路探测,若收到局域网通路探测响应,则判定梯口机和手机可进行局域网间点对点数据传输。
路径选择模块,根据判断模块的判定结果,选择梯口机和手机之间的数据最优传输路径。
在安防监控领域,客户端A可以是摄像头,客户端B可以是监控主机;在对讲领域,客户端A可以对讲设备A,客户端B可以是对比设备B。
在另一具体的安防监控应用实施例中,客户端A为摄像头,客户端B为监控主机。当摄像头和监控主机应用本发明的数据点对点传输路径选择装置进行数据传输时,具体过程如下:
判断子模块一,用于判断摄像头和监控主机是否处于同一个NAT;
若摄像头和监控主机处于同一个NAT,进一步判断,如果此NAT允许回环,则判定摄像头和监控主机可进行同一NAT间点对点传送数据;
若摄像头和监控主机处于不同的NAT,根据双方NAT类型查询配置表判断是否支持点对点传输,支持则判定摄像头和监控主机可进行NAT间的点对点传送数据。
判断子模块二,用于判定摄像头和监控主机是否可进行局域网间点对点传送数据,具体判断过程为:其中摄像头发起局域网通路探测,若收到局域网通路探测响应,则判定摄像头和监控主机可进行局域网间点对点数据传输。
路径选择模块,根据判断模块的判定结果,选择摄像头和监控主机之间的数据最优传输路径。
总之,两个以上设备之间需要进行数据传输时,均可应用本发明的装置。通过包含本发明数据的点对点传输路径选择装置,提高了客户端之间连接的速度,减少响应时间,同时通过选择最优的点对点数据传输方式,从而提高了两设备之间数据传输的速度和效率,保证视频画面的清晰度和流畅度。
Claims (13)
1.一种数据的点对点传输路径选择方法,其特征在于,包括以下步骤:
判定客户端A和客户端B是否可进行同一NAT间点对点传送数据、不同NAT间点对点传送数据或局域网间点对点传送数据;
若是,则进行同一NAT点对点传送数据、不同NAT间点对点传送数据或局域网间点对点传送数据,否则,通过TURN服务器中转传送数据。
2.如权利要求1所述的数据的点对点传输路径选择方法,其特征在于,所述判定客户端A和客户端B是否可进行同一NAT间点对点传送数据、不同NAT间点对点传送数据具体为:
判断客户端A和客户端B是否处于同一个NAT;
若客户端A和客户端B处于同一个NAT,进一步判断,如果此NAT允许回环,则判定客户端A和客户端B可进行同一NAT间点对点传送数据;
若客户端A和客户端B处于不同的NAT,根据双方NAT类型查询配置表判断是否支持点对点传输,支持则判定客户端A和客户端B可进行NAT间的点对点传送数据。
3.如权利要求1所述的数据的点对点传输路径选择方法,其特征在于,判定客户端A和客户端B是否可进行局域网间点对点传送数据具体为:其中一客户端发起局域网通路探测,若收到局域网通路探测响应,则判定客户端A和客户端B可进行局域网间点对点数据传输。
4.如权利要求1-3之一所述的数据的点对点传输路径选择方法,其特征在于,所述判定客户端A和客户端B是否可进行同一NAT间点对点传送数据、不同NAT间点对点传送数据或局域网间点对点传送数据,上述三种判定方法可并列进行,若判定客户端A和客户端B可进行局域网间点对点传送数据,则优先采用局域网间点对点传送数据,否则,根据是否可进行同一NAT间点对点传送数据、不同NAT间点对点传送数据的判定结果进行数据传输。
5.如权利要求1所述的数据的点对点传输路径选择方法,其特征在于,所述数据为:音频文件,视频文件,图片或文档。
6.如权利要求2所述的数据的点对点传输路径选择方法,其特征在于,所述配置表的配置步骤为:
根据NAT设备的映射表现和过滤表现属性将NAT进行分类;
得到客户端A的NAT类型、客户端B的NAT类型、以及客户端A和客户端B是否支持点对点通讯的三者映射关系表。
7.如权利要求6所述的数据的点对点传输路径选择方法,其特征在于,所述根据NAT设备的映射表现和过滤表现属性将NAT进行分类,具体为:
将NAT分成完全圆锥型,地址限制型,端口限制型,对称型四类,其中,所述对称型NAT进一步细分成6类,对应SymNat1~SymNat6。
8.如权利要求1-3之一所述的数据的点对点传输路径选择方法,其特征在于,建立会话后,如果客户端A或客户端B在预设时间内未收到数据,通过服务器发送消息给对方客户端,一起切换到TURN服务器中转进行数据传输。
9.一种数据的点对点传输路径选择装置,其特征在于,包括:
判断模块,用于判定客户端A和客户端B是否可进行同一NAT间点对点传送数据、不同NAT间点对点传送数据或局域网间点对点传送数据;
路径选择模块,用于若是,则进行同一NAT点对点传送数据、不同NAT间点对点传送数据或局域网间点对点传送数据,否则,通过TURN服务器中转传送数据。
10.如权利要求9所述的数据的点对点传输路径选择装置,其特征在于,所述判断模块包括:
判断子模块一,用于判断客户端A和客户端B是否处于同一个NAT;
若客户端A和客户端B处于同一个NAT,进一步判断,如果此NAT允许回环,则判定客户端A和客户端B可进行同一NAT间点对点传送数据;
若客户端A和客户端B处于不同的NAT,根据双方NAT类型查询配置表判断是否支持点对点传输,支持则判定客户端A和客户端B可进行NAT间的点对点传送数据。
11.如权利要求10所述的数据的点对点传输路径选择装置,其特征在于,所述判断模块还包括:
判断子模块二,用于判定客户端A和客户端B是否可进行局域网间点对点传送数据,具体判断过程为:其中一客户端发起局域网通路探测,若收到局域网通路探测响应,则判定客户端A和客户端B可进行局域网间点对点数据传输。
12.如权利要求9-11之一所述的数据的点对点传输路径选择装置,其特征在于,还包括:
容错模块,用于建立会话后,如果客户端A或客户端B在预设时间内未收到数据,通过服务器发送消息给对方客户端,一起切换到TURN服务器中转进行数据传输。
13.一种楼宇对讲系统,其特征在于,包含权利要求9-11任一所述的数据的点对点传输路径选择装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610080230.2A CN105681445B (zh) | 2016-02-04 | 2016-02-04 | 数据的点对点传输路径选择方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610080230.2A CN105681445B (zh) | 2016-02-04 | 2016-02-04 | 数据的点对点传输路径选择方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105681445A true CN105681445A (zh) | 2016-06-15 |
CN105681445B CN105681445B (zh) | 2019-01-29 |
Family
ID=56303540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610080230.2A Active CN105681445B (zh) | 2016-02-04 | 2016-02-04 | 数据的点对点传输路径选择方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105681445B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107295102A (zh) * | 2017-07-25 | 2017-10-24 | 广东美的制冷设备有限公司 | 网络设备的点对点传输检测方法、系统及移动终端 |
CN107370764A (zh) * | 2017-09-05 | 2017-11-21 | 北京奇艺世纪科技有限公司 | 一种音视频通信系统及音视频通信方法 |
CN107612920A (zh) * | 2017-09-30 | 2018-01-19 | 深圳市艾特智能科技有限公司 | 对讲方法、对讲系统、可读存储介质和计算机设备 |
CN108990125A (zh) * | 2017-06-01 | 2018-12-11 | 华为技术有限公司 | 数据传输的方法、终端设备和网络设备 |
CN108989597A (zh) * | 2018-08-30 | 2018-12-11 | 中国科学院上海技术物理研究所 | 医学影像传输方法、传输中心和终端 |
WO2021244450A1 (zh) * | 2020-05-30 | 2021-12-09 | 华为技术有限公司 | 一种通信方法及装置 |
CN114390037A (zh) * | 2022-01-12 | 2022-04-22 | 中国科学院软件研究所 | 一种终端访问家庭网络设备的方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101431464A (zh) * | 2007-11-06 | 2009-05-13 | 阿里巴巴集团控股有限公司 | 一种优选客户端之间数据传输路径的方法及其装置 |
CN102685268A (zh) * | 2012-05-22 | 2012-09-19 | 北京邮电大学 | 一种VoIP中基于ICE协议的快速私网穿越方法 |
CN103002041A (zh) * | 2012-12-17 | 2013-03-27 | 南京天溯自动化控制系统有限公司 | 一种处于nat环境下的设备的通信方法 |
-
2016
- 2016-02-04 CN CN201610080230.2A patent/CN105681445B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101431464A (zh) * | 2007-11-06 | 2009-05-13 | 阿里巴巴集团控股有限公司 | 一种优选客户端之间数据传输路径的方法及其装置 |
CN102685268A (zh) * | 2012-05-22 | 2012-09-19 | 北京邮电大学 | 一种VoIP中基于ICE协议的快速私网穿越方法 |
CN103002041A (zh) * | 2012-12-17 | 2013-03-27 | 南京天溯自动化控制系统有限公司 | 一种处于nat环境下的设备的通信方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108990125A (zh) * | 2017-06-01 | 2018-12-11 | 华为技术有限公司 | 数据传输的方法、终端设备和网络设备 |
CN108990125B (zh) * | 2017-06-01 | 2020-12-22 | 华为技术有限公司 | 数据传输的方法、终端设备和网络设备 |
US11012886B2 (en) | 2017-06-01 | 2021-05-18 | Huawei Technologies Co., Ltd. | Data transmission method, terminal device, and network device |
CN107295102A (zh) * | 2017-07-25 | 2017-10-24 | 广东美的制冷设备有限公司 | 网络设备的点对点传输检测方法、系统及移动终端 |
CN107295102B (zh) * | 2017-07-25 | 2020-02-28 | 广东美的制冷设备有限公司 | 网络设备的点对点传输检测方法、系统及移动终端 |
CN107370764A (zh) * | 2017-09-05 | 2017-11-21 | 北京奇艺世纪科技有限公司 | 一种音视频通信系统及音视频通信方法 |
CN107370764B (zh) * | 2017-09-05 | 2020-06-05 | 北京奇艺世纪科技有限公司 | 一种音视频通信系统及音视频通信方法 |
CN107612920A (zh) * | 2017-09-30 | 2018-01-19 | 深圳市艾特智能科技有限公司 | 对讲方法、对讲系统、可读存储介质和计算机设备 |
CN108989597A (zh) * | 2018-08-30 | 2018-12-11 | 中国科学院上海技术物理研究所 | 医学影像传输方法、传输中心和终端 |
WO2021244450A1 (zh) * | 2020-05-30 | 2021-12-09 | 华为技术有限公司 | 一种通信方法及装置 |
US11863322B2 (en) | 2020-05-30 | 2024-01-02 | Huawei Technologies Co., Ltd. | Communication method and apparatus |
CN114390037A (zh) * | 2022-01-12 | 2022-04-22 | 中国科学院软件研究所 | 一种终端访问家庭网络设备的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105681445B (zh) | 2019-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105681445A (zh) | 数据的点对点传输路径选择方法及装置 | |
JP5808499B2 (ja) | ワイドエリアミラーリングルータ | |
US9031069B2 (en) | Method, system, and apparatus for extranet networking of multicast virtual private network | |
CN105721570B (zh) | 数据点对点传输方法及装置 | |
US8650312B2 (en) | Connection establishing management methods for use in a network system and network systems using the same | |
US20100088427A1 (en) | Selective Routing of Data Transmission Between Clients | |
JP2019526983A (ja) | ブロードバンドリモートアクセスサーバの制御プレーン機能と転送プレーン機能の分離 | |
WO2017114153A1 (zh) | 基于业务功能链sfc的通信方法和装置 | |
CN108632931B (zh) | 一种基于5g网络的数据传输方法、装置、设备及介质 | |
WO2020011152A1 (zh) | Pfcp连接处理方法、装置、网元、系统及存储介质 | |
CN112218315A (zh) | 一种5G专网的端到端QoS策略执行及以太网数据转发方法 | |
WO2016184283A1 (zh) | 一种虚拟机数据流管理方法和系统 | |
KR20130052240A (ko) | 네트워크 주소 변환기 통과 기법을 프로비저닝하기 위한 방법 및 장치 | |
CN111435922A (zh) | 一种带宽共享方法 | |
CN106713519B (zh) | 基于软体定义网络的网络传输方法与系统 | |
CN108306755B (zh) | 一种建立管理通道的方法及系统 | |
WO2015070763A1 (zh) | X2接口的自建立方法及装置 | |
EP2713552A1 (en) | Method for processing a multicast group, a data center interconnect router, and system | |
CN105791432A (zh) | 一种p2p通信方法和p2p通信系统 | |
US20180063255A1 (en) | Method and Apparatus for Terminal Application Accessing NAS | |
US9369523B2 (en) | Method for exchanging network messages in distributed manner | |
EP3228048B1 (en) | Method and apparatus for routing data to cellular network | |
CN115883256B (zh) | 基于加密隧道的数据传输方法、装置及存储介质 | |
CN105763368B (zh) | 一种堆叠方法及装置 | |
US20090052446A1 (en) | Communications Interface |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |