CN112019641B - 数据传输方法和装置 - Google Patents

数据传输方法和装置 Download PDF

Info

Publication number
CN112019641B
CN112019641B CN202011120738.3A CN202011120738A CN112019641B CN 112019641 B CN112019641 B CN 112019641B CN 202011120738 A CN202011120738 A CN 202011120738A CN 112019641 B CN112019641 B CN 112019641B
Authority
CN
China
Prior art keywords
port
node
fog
active
fog node
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.)
Active
Application number
CN202011120738.3A
Other languages
English (en)
Other versions
CN112019641A (zh
Inventor
陈新耿
黄菲
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202011120738.3A priority Critical patent/CN112019641B/zh
Publication of CN112019641A publication Critical patent/CN112019641A/zh
Application granted granted Critical
Publication of CN112019641B publication Critical patent/CN112019641B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/251Translation of Internet protocol [IP] addresses between different IP versions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

本申请提供了一种数据传输方法和装置。该方法包括:若两个雾节点中一个雾节点的网络地址转换类型为主动对称型,基于另一个雾节点的网络地址转换类型确定两个雾节点能否连接以及主动对称型的雾节点作为主动连接方或被动连接方,在主动对称型的雾节点作为主动连接方时,表现为只能通过发送连接请求的端口与另一个雾节点中接收连接请求的端口进行通信;在主动对称型的雾节点作为被动连接方时,表现为使用除了接收连接请求的端口之外的另一端口与另一个雾节点中发送连接请求的端口进行通信,并且只有在接收另一个雾节点发送的连接请求后才能与其建立连接,在连接后的两个雾节点之间进行数据传输,减少了云服务器参与数据传输的次数。

Description

数据传输方法和装置
技术领域
本申请涉及通信技术领域,特别涉及一种数据传输方法和装置。
背景技术
云计算时代,由于接入设备越来越多,在传输数据、获取信息时,带宽就显得捉襟见肘,同时,由于数据量的大幅增多,数据中心的计算负荷也将成为瓶颈。雾计算应运而生。雾计算作为云计算的延伸概念,利用网络边缘中较低性能但数量庞大的设备,如路由器、手机等作为雾节点,承载传输、计算、处理等计算类任务,有效减少网络层次间的数据传输,也减轻了数据中心的计算负载。
网络地址转换(NetworkAddress Translation,NAT)实现了使位于NAT网关中的雾节点与NAT网关外的其他雾节点传输数据的同时,又能保护NAT网关中的雾节点避免受外部网络的攻击,但是只允许位于NAT网关中的雾节点主动向位于内网外的雾节点发起连接,由于雾节点的网络地址转换类型的限制,能够主动发起连接的雾节点的数量有限,导致雾计算的数据传输效率较低。
发明内容
本申请旨在提供一种数据传输方法和装置,其至少能够在一定程度上提高数据传输的效率。
根据本申请实施例的一个方面,提供了一种数据传输方法,包括:获取待建立连接的两个雾节点的网络地址转换类型,所述两个雾节点中的一个雾节点的网络地址转换类型为主动对称型;基于所述两个雾节点中另一个雾节点的网络地址转换类型确定所述两个雾节点是否能够建立连接;若所述两个雾节点能够建立连接,则基于所述另一个雾节点的网络地址转换类型确定所述网络地址转换类型为主动对称型的雾节点作为主动连接方或被动连接方,所述主动连接方先向所述被动连接方发送连接请求,以在所述两个雾节点之间建立连接,其中,在所述网络地址转换类型为主动对称型的雾节点作为所述主动连接方时,所述主动对称型的雾节点表现为只能通过发送所述连接请求的端口与所述另一个雾节点中接收所述连接请求的端口进行通信;在所述网络地址转换类型为主动对称型的雾节点作为所述被动连接方时,所述主动对称型的雾节点表现为使用除了接收所述连接请求的端口之外的另一端口与所述另一个雾节点中发送所述连接请求的端口进行通信,并且所述主动对称型的雾节点只有在接收所述另一个雾节点发送的所述连接请求后,才能与所述另一个雾节点建立连接;在连接后的两个雾节点之间进行数据传输。
根据本申请实施例的一个方面,提供了一种数据传输装置,包括:获取模块,配置为获取待建立连接的两个雾节点的网络地址转换类型,所述两个雾节点中的一个雾节点的网络地址转换类型为主动对称型;确定模块,配置为基于所述两个雾节点中另一个雾节点的网络地址转换类型确定所述两个雾节点是否能够建立连接;连接模块,配置为若所述两个雾节点能够建立连接,则基于所述另一个雾节点的网络地址转换类型确定所述网络地址转换类型为主动对称型的雾节点作为主动连接方或被动连接方,所述主动连接方先向所述被动连接方发送连接请求,以在所述两个雾节点之间建立连接,其中,在所述网络地址转换类型为主动对称型的雾节点作为所述主动连接方时,表现为只能通过发送所述连接请求的端口与所述另一个雾节点中接收所述连接请求的端口进行通信;在所述网络地址转换类型为主动对称型的雾节点作为所述被动连接方时,表现为使用除了接收所述连接请求的端口之外的另一端口与所述另一个雾节点中发送所述连接请求的端口进行通信,并且所述主动对称型的雾节点只有在接收所述另一个雾节点发送的所述连接请求后,才能与所述另一个雾节点建立连接;传输模块,配置为在连接后的两个雾节点之间进行数据传输。
在本申请的一些实施例中,基于前述方案,所述获取模块配置为:获取主动探测服务器通过所述雾节点的第一端口探测到的所述雾节点的网络地址转换类型,若所述主动探测服务器探测得到所述网络地址转换类型为主动对称型,则所述雾节点为能够作为所述主动连接方的主动对称型节点;获取被动探测服务器通过所述雾节点中与所述第一端口对应的第二端口探测到的所述雾节点的网络地址转换类型,若所述被动探测服务器探测得到所述网络地址转换类型为主动对称型,则所述雾节点为能够作为所述被动连接方的主动对称型节点。
在本申请的一些实施例中,基于前述方案,所述获取模块配置为:所述第一端口有多个,与所述第一端口对应的所述第二端口有多个,多个所述第一端口和多个所述第二端口一一对应组成多个端口对;将所述多个端口对存储至所述主动探测服务器和所述被动探测服务器。
在本申请的一些实施例中,基于前述方案,所述获取模块配置为:通过所述主动探测服务器的第一地址的第一端口接收所述雾节点的第一端口发送的第一连接请求,并响应所述第一连接请求通过所述主动探测服务器的第一地址的第一端口向所述雾节点回送第一响应包;若所述雾节点能够接收所述第一响应包且所述第一响应包中携带的地址信息与所述雾节点地址不一致,则通过所述主动探测服务器的第一地址的第一端口接收由所述雾节点的第一端口发送的设置了转换地址和转换端口属性的第二连接请求,并响应所述第二连接请求通过所述主动探测服务器的第二地址的第二端口向所述雾节点回送第二响应包,若所述雾节点能够接收所述第二响应包,则确定所述雾节点为全锥型节点;若所述雾节点不能接收所述第二响应包,则通过所述主动探测服务器的第二地址的第二端口接收由所述雾节点的第一端口发送的第三连接请求,并响应所述第三连接请求通过所述主动探测服务器的第二地址的第二端口向所述雾节点回送第三响应包,若所述第三响应包中的端口信息与所述第一响应包中的端口信息不一致,则确定所述雾节点是对称型节点;若所述第三响应包中的端口信息与所述第一响应包中的端口信息一致,则通过所述主动探测服务器的第一地址的第一端口接收所述雾节点的第一端口发送的设置了转换地址和转换端口属性的第四连接请求,并响应所述第四连接请求通过所述主动探测服务器的第一地址的第二端口向所述雾节点回送第四响应包,若所述雾节点能够接收所述第四响应包,则所述雾节点为地址受限型节点;若所述雾节点不能接收所述第四响应包,则所述雾节点为能够作为所述主动连接方的主动对称型节点。
在本申请的一些实施例中,基于前述方案,所述获取模块配置为:通过所述被动探测服务器的第一地址的第一端口接收所述雾节点的第二端口发送的第五连接请求,并响应所述第五连接请求通过所述被动探测服务器的第一地址的第一端口向所述雾节点回送第五响应包;若所述雾节点能够接收所述第五响应包且所述第五响应包中携带的地址信息与所述雾节点地址不一致,则通过所述被动探测服务器的第一地址的第一端口接收由所述雾节点的第二端口发送的设置了转换地址和转换端口属性的第六连接请求,并响应所述第六连接请求通过所述被动探测服务器的第二地址的第二端口向所述雾节点回送第六响应包,若所述雾节点能够接收所述第六响应包,则确定所述雾节点为全锥型节点;若所述雾节点不能接收所述第六响应包,则通过所述被动探测服务器的第二地址的第二端口接收由所述雾节点的第二端口发送的第七连接请求,并响应所述第七连接请求通过所述被动探测服务器的第二地址的第二端口向所述雾节点回送第七响应包,若所述第七响应包中的端口信息与所述第五响应包中的端口信息不一致,则确定所述雾节点是对称型节点;若所述第七响应包中的端口信息与所述第五响应包中的端口信息一致,则通过所述被动探测服务器的第一地址的第一端口接收所述雾节点的第二端口发送的设置了转换地址和转换端口属性的第八连接请求,并响应所述第八连接请求通过所述被动探测服务器的第一地址的第二端口向所述雾节点回送第八响应包,若所述雾节点能够接收所述第八响应包,则所述雾节点为地址受限型节点;若所述雾节点不能接收所述第八响应包,则所述雾节点为能够作为所述被动连接方的主动对称型节点。
在本申请的一些实施例中,基于前述方案,所述获取模块配置为:若所述雾节点不能接收所述第一响应包,则所述主动探测服务器多次向所述雾节点发送所述第一响应包;若所述雾节点不能接收所述第二响应包,则所述主动探测服务器多次向所述雾节点发送所述第二响应包;若所述雾节点不能接收所述第三响应包,则所述主动探测服务器多次向所述雾节点发送所述第三响应包;若所述雾节点不能接收所述第四响应包。
在本申请的一些实施例中,基于前述方案,所述确定模块配置为:若所述另一个雾节点的网络地址转换类型为全锥型,则所述两个雾节点能够建立连接;若所述另一个雾节点的网络地址转换类型为地址受限型,则所述两个雾节点能够建立连接;若所述另一个雾节点的网络地址转换类型为端口受限型,则所述两个雾节点能够建立连接。
在本申请的一些实施例中,基于前述方案,所述连接模块配置为:若所述另一个雾节点的网络地址转换类型为全锥型,则所述网络地址转换类型为主动对称型的雾节点既可以作为所述主动连接方又可以作为所述被动连接方;若所述另一个雾节点的网络地址转换类型为地址受限型,则所述网络地址转换类型为主动对称型的雾节点作为所述被动连接方;若所述另一个雾节点的网络地址转换类型为端口受限型,则所述网络地址转换类型为主动对称型的雾节点作为所述主动连接方。
在本申请的一些实施例中,基于前述方案,所述连接模块配置为:所述主动对称型节点中所述接收所述连接请求的端口不接收未连接的所述另一个雾节点发送的连接请求,并在链路跟踪规则中记录所述接收所述连接请求的端口与所述另一个雾节点不通;所述主动对称型节点获取信号服务器基于所述另一个雾节点发送的辅助连接请求产生的连接指令;所述主动对称型节点基于所述连接指令通过所述除了接收所述连接请求的端口之外的另一端口与所述另一个雾节点连接。
根据本申请实施例的一个方面,提供了一种计算机可读程序介质,其存储有计算机程序指令,当所述计算机程序指令被计算机执行时,使计算机执行上任一项所述的方法。
根据本申请实施例的一个方面,提供了一种电子装置,包括:处理器;存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现如上任一项所述的方法。
本申请的实施例提供的技术方案可以包括以下有益效果:
在本申请的一些实施例所提供的技术方案中,通过获取待建立连接的两个雾节点的网络地址转换类型,两个雾节点中的一个雾节点的网络地址转换类型为主动对称型,基于两个雾节点中另一个雾节点的网络地址转换类型确定两个雾节点是否能够建立连接,若两个雾节点能够建立连接,则基于另一个雾节点的网络地址转换类型确定网络地址转换类型为主动对称型的雾节点作为主动连接方或被动连接方,主动连接方先向被动连接方发送连接请求,以在两个雾节点之间建立连接,相比于只允许位于NAT网关中的雾节点主动向位于NAT网关外的雾节点发起连接,能够使不能主动发起连接的雾节点也能与位于NAT网关外的雾节点建立连接,增加了进行数据传输的雾节点的数量,从而提高了雾计算的数据传输效率,其中,在网络地址转换类型为主动对称型的雾节点作为主动连接方时,主动对称型的雾节点表现为只能通过发送连接请求的端口与另一个雾节点中接收连接请求的端口进行通信;在网络地址转换类型为主动对称型的雾节点作为被动连接方时,主动对称型的雾节点表现为使用除了接收连接请求的端口之外的另一端口与另一个雾节点中发送连接请求的端口进行通信,并且主动对称型的雾节点只有在接收另一个雾节点发送的连接请求后,才能与另一个雾节点建立连接,在连接后的两个雾节点之间进行数据传输,主动对称型的雾节点在作为主动连接方和作为被动连接方时表现不同,能够提高主动对称型的雾节点与其他雾节点建立连接的可能,进一步增加了进行数据传输的雾节点的数量,进而再次提高了雾计算的数据传输效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并于说明书一起用于解释本申请的原理。
图1A示出了可以应用本申请实施例的技术方案的示例性系统架构的示意图。
图1B示出了可以应用本申请一个实施例的技术方案的数据共享系统的示意图。
图2示意性示出了根据本申请的一个实施例的数据传输方法的流程图。
图3示意性示出了本申请的一个主动探测服务器探测客户端类型的过程的示意图。
图4示意性示出了根据本申请的一个实施例的数据传输装置的框图。
图5是根据一示例性实施例示出的一种电子装置的硬件图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术(Cloud technology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
云计算(cloud computing)指IT基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。云计算是网格计算(Grid Computing )、分布式计算(DistributedComputing)、并行计算(Parallel Computing)、效用计算(Utility Computing)、网络存储(NetworkStorageTechnologies)、虚拟化(Virtualization)、负载均衡(Load Balance)等传统计算机和网络技术发展融合的产物。
随着互联网、实时数据流、连接设备多样化的发展,以及搜索服务、社会网络、移动商务和开放协作等需求的推动,云计算迅速发展起来。不同于以往的并行分布式计算,云计算的产生从理念上将推动整个互联网模式、企业管理模式发生革命性的变革。
截止2020年3月,国内网民规模大9.04亿,较2019年增长7508万,互联网普及率达64.5%,较2019年提升4.9%。越来越多的网络设备需求更多的网络地址和带宽。
网络地址的大量需求进一步加剧互联网通信协议第四版(Internet Protocolversion 4,IPv4)地址池的枯竭。2011年1月31日,由互联网数字分配机构(The InternetAssigned Numbers Authority,IANA)管理的IPv4地址全部用尽。2019年11月25日,欧洲网络协调中心宣布,其最后的IPv4地址空间储备池完全耗尽,所有43亿个IPv4地址已分配完毕。
解决IPv4地址池不足问题的根本解决方案是互联网通信协议第六版(InternetProtocol version 6,IPv6)。国家一直高度重视IPv6的发展,截至2020年7月,我国IPv6活跃用户数达3.178亿,占比已经超过30%。这个数据与国际领先国家相比还有不小的差距,同时,支持IPv6访问的应用较少,支持IPv6程度大多只局限于IPv6首页可达,更深层次的链接还未支持IPv6访问,真正产生流量的流媒体、图片等仍然使用IPv4建立连接,改造的力度与深度对IPv6的支持度还远远不够。此外,家庭无线路由器支持IPv6的情况不佳,也是目前影响IPv6规模部署的重要原因。
网络地址转换(Network Address Translation,NAT)的出现让人们几乎忘了IPv4的地址空间即将耗尽这样一个事实,极大地缓解了IPv4地址不足带来的影响,给网际互连协议(Internet Protocol,IP)网络模型带来了深远影响,其身影遍布网络每个角落,据统计,70%的对等联网(peer-to-peer,P2P)用户位于NAT网关以内,如果加上移动通信网的用户NAT网关内的用户比例将远远超过这个数字。在未来很长一段时间内,NAT和IPv6将一并为互联网建设保驾护航。
雾计算作为云计算的延伸概念,利用网络边缘中较低性能但数量庞大的设备,如路由器、手机、PC等,承载着传输、计算、处理等等计算类任务,有效减少网络层次间的数据传输,也减轻了数据中心的计算负载。
NAT结合雾计算是未来的发展方向,但由于NAT网关的存在,位于NAT网关内的雾节点之间的连接问题是一个无可避免的问题。
区别于基于IP的语音传输(Voice over Internet Protocol,VOIP)等个人对个人(Consumer to Consumer,C2C)服务,绝大部分雾计算的服务并不需要保证所有节点两两之间的连接成功率为100%,只需尽可能保证原理上可以成功连接的设备之间可以成功连接,同时,中继服务器(TURN)会导致整体成本的上升,相对而言,TURN对于雾计算的价值并不显著。
传输控制协议(Transmission Control Protocol,TCP)已经越来越无法满足未来的大带宽需求,促使了大量基于用户数据报协议(User Datagram Protocol,UDP)的可靠传输协议如快速UDP互联网链接(Quick Udp Internet Connection,QUIC)和快速可靠传输协议(KCP)的研究。NAT会话穿越应用程序(Simple Traversal of UDP Through NATs,STUN)中已定义基于UDP的NAT连接协议,但多个以编号排定的文件(Request For Comments,RFC)文档中均未考虑NAT本身的防火墙规则链会对连接造成的影响。
目前,有少量的应用研究提及利用域名解析的生命周期值(Time To Live,TTL)防止映射规则被破坏,但经发明人研究发现,基于数据包网络中每个路由器上的路由规则是时时刻刻在变化的客观事实,这种方式在现有IPv4网络中是无法保障的。
RFC3489规定了,NAT类型可以分为公网(Open Internet)、防火墙对称型(Symmetric UDP Firewall)、UDP不通(UDP Blcoked)、全锥型(Full Cone)、地址受限型(Address-Restricted Cone)、端口受限型(Port-Restricted Cone)、对称型(Symmetric)。经发明人统计,端口受限型用户设备占60%,对称型用户设备占30%,端口受限型用户理论上与端口受限型的雾节点是100%可以连接成功,但是实测结果为不足60%的连接成功率。
发明人发现,防火墙规则链,如防火墙的链路跟踪规则(ip_conntrack)等规则,会导致NAT映射得到的端口发生改变。
具体的,在甲(源地址A,源端口a,映射后地址X,端口x)、乙(地址B,端口b,映射后地址Y,端口y)两端正在进行试图连接,设甲、乙的NAT类型为端口受限型,且其乙的网关防火墙开启了ip_conntrack规则。当甲先向乙发送连接请求时,NAT规则会使得乙的网关拒绝转发请求,同时在ip_contrack表上留下不可达的记录。甲会发送辅助连接请求,经由信号服务器(Signal服务器)转发至乙,会使得乙主动向甲发送连接请求,此时对于甲而言,连接已经成功,则其将回复连接响应信令给乙。此时,乙的映射端口将会发生改变(y->y1),NAT规则会使得乙的网关拒绝转发请求,同时在ip_contrack表上留下不可达的记录。
综上,在连接的过程中,被动进行连接行为的一方可能会发生NAT映射端口的改变,进而影响连接成功的可能性。考虑到现网存在海量的端口受限型用户/设备,本发明基于RFC3489,针对防火墙规则链,改进了NAT探测的方式和STUN服务器的部署方式,通过智能节点调度,提升了系统的连接成功率,有效地提升了雾计算节点的服务能力。
本发明能目前主要应用在雾计算P2P 内容分发网络(PCDN)中。雾计算PCDN应用广泛,目前已应用到多个互联网项目及产品应用中,显著地提升了整个系统的服务能力。
图1A示出了可以应用本申请实施例的技术方案的示例性系统架构100A的示意图。
如图1A所示,系统架构100A可以包括雾节点101(雾节点可以为智能手机、平板电脑、便携式计算机、台式计算机中的一种或多种)、网络102、调度服务器103和信号服务器104。网络102用以在雾节点101、调度服务器103和信号服务器104之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线通信链路、无线通信链路等等。
在本申请的一个实施例中,调度服务器103通过获取待建立连接的两个雾节点101的网络地址转换类型,两个雾节点101中的一个雾节点的网络地址转换类型为主动对称型,基于两个雾节点101中另一个雾节点的网络地址转换类型确定两个雾节点101是否能够建立连接,若两个雾节点101能够建立连接,则基于另一个雾节点的网络地址转换类型确定网络地址转换类型为主动对称型的雾节点作为主动连接方或被动连接方,主动连接方先向被动连接方发送连接请求,以在两个雾节点101之间建立连接,相比于只允许位于NAT网关中的雾节点主动向位于NAT网关外的雾节点发起连接,能够使不能主动发起连接的雾节点也能与位于NAT网关外的雾节点建立连接,增加了进行数据传输的雾节点的数量,从而提高了雾计算的数据传输效率,其中,在网络地址转换类型为主动对称型的雾节点作为主动连接方时,主动对称型的雾节点表现为只能通过发送连接请求的端口与另一个雾节点中接收连接请求的端口进行通信;在网络地址转换类型为主动对称型的雾节点作为被动连接方时,主动对称型的雾节点表现为使用除了接收连接请求的端口之外的另一端口与另一个雾节点中发送连接请求的端口进行通信,并且主动对称型的雾节点只有在接收另一个雾节点发送的连接请求后,才能与另一个雾节点建立连接,在连接后的两个雾节点101之间进行数据传输,主动对称型的雾节点在作为主动连接方和作为被动连接方时表现不同,能够提高主动对称型的雾节点与其他雾节点建立连接的可能,进一步增加了进行数据传输的雾节点的数量,进而再次提高了雾计算的数据传输效率。
图1B示出了可以应用本申请实施例的技术方案的示例性系统架构100B的示意图。
如图1B所示,系统架构100B可以包括雾节点101、网络102、调度服务器103、信号服务器104、主动探测服务器105和被动探测服务器106。网络102用以在雾节点101、调度服务器103、信号服务器104、主动探测服务器105和被动探测服务器106之间提供通信链路的介质。
在本申请的一个实施例中,主动探测服务器105和被动探测服务器106探测待建立连接的两个雾节点101的网络地址转换类型,调度服务器103获取主动探测服务器105和被动探测服务器106探测到的两个雾节点101的网络地址转换类型,两个雾节点101中的一个雾节点的网络地址转换类型为主动对称型,基于两个雾节点101中另一个雾节点的网络地址转换类型确定两个雾节点101是否能够建立连接,若两个雾节点101能够建立连接,则基于另一个雾节点的网络地址转换类型确定网络地址转换类型为主动对称型的雾节点作为主动连接方或被动连接方,主动连接方先向被动连接方发送连接请求,以在两个雾节点101之间建立连接,相比于只允许位于NAT网关中的雾节点主动向位于NAT网关外的雾节点发起连接,能够使不能主动发起连接的雾节点也能与位于NAT网关外的雾节点建立连接,增加了进行数据传输的雾节点的数量,从而提高了雾计算的数据传输效率,其中,在网络地址转换类型为主动对称型的雾节点作为主动连接方时,主动对称型的雾节点表现为只能通过发送连接请求的端口与另一个雾节点中接收连接请求的端口进行通信;在网络地址转换类型为主动对称型的雾节点作为被动连接方时,主动对称型的雾节点表现为使用除了接收连接请求的端口之外的另一端口与另一个雾节点中发送连接请求的端口进行通信,并且主动对称型的雾节点只有在接收另一个雾节点发送的连接请求后,才能与另一个雾节点建立连接,在连接后的两个雾节点101之间进行数据传输,主动对称型的雾节点在作为主动连接方和作为被动连接方时表现不同,能够提高主动对称型的雾节点与其他雾节点建立连接的可能,进一步增加了进行数据传输的雾节点的数量,进而再次提高了雾计算的数据传输效率。
应该理解,图1A及图1B中雾节点101、网络102、调度服务器103、信号服务器104、主动探测服务器105和被动探测服务器106的数目仅仅是示意性的。根据实现需要,可以具有任意数目的雾节点101、网络102、调度服务器103、信号服务器104、主动探测服务器105和被动探测服务器106。比如调度服务器103、信号服务器104、主动探测服务器105和被动探测服务器106可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
需要说明的是,本申请实施例所提供的数据传输方法一般由调度服务器103执行,相应地,数据传输装置一般设置于调度服务器103中。但是,在本申请的其它实施例中,雾节点101、信号服务器104、主动探测服务器105或被动探测服务器106也可以与调度服务器103具有相似的功能,从而执行本申请实施例所提供的数据传输方法。
以下对本申请实施例的技术方案的实现细节进行详细阐述:
图2示意性示出了根据本申请的一个实施例的数据传输方法的流程图,该数据传输方法的执行主体可以是服务器,比如可以是图1A中所示的调度服务器103。
参照图2所示,该数据传输方法至少包括步骤S210至步骤S240,详细介绍如下:
在步骤S210中,获取待建立连接的两个雾节点的网络地址转换类型,两个雾节点中的一个雾节点的网络地址转换类型为主动对称型。
在本申请的一个实施例中,可以获取主动探测服务器(First-order NAT,FNAT)通过雾节点的第一端口探测到的雾节点的网络地址转换类型,若主动探测服务器探测得到网络地址转换类型为主动对称型,则雾节点为能够作为主动连接方的主动对称型节点。
在本申请的一个实施例中,主动探测服务器通过雾节点的第一端口探测雾节点的网络地址转换类型的过程可以包括:通过主动探测服务器的第一地址的第一端口接收雾节点的第一端口发送的第一连接请求,并响应第一连接请求通过主动探测服务器的第一地址的第一端口向雾节点回送第一响应包;若雾节点能够接收第一响应包且第一响应包中携带的地址信息与雾节点地址不一致,则通过主动探测服务器的第一地址的第一端口接收由雾节点的第一端口发送的设置了转换地址和转换端口属性的第二连接请求,并响应第二连接请求通过主动探测服务器的第二地址的第二端口向雾节点回送第二响应包,若雾节点能够接收第二响应包,则确定雾节点为全锥型节点;若雾节点不能接收第二响应包,则通过主动探测服务器的第二地址的第二端口接收由雾节点的第一端口发送的第三连接请求,并响应第三连接请求通过主动探测服务器的第二地址的第二端口向雾节点回送第三响应包,若第三响应包中的端口信息与第一响应包中的端口信息不一致,则确定雾节点是对称型节点;若第三响应包中的端口信息与第一响应包中的端口信息一致,则通过主动探测服务器的第一地址的第一端口接收雾节点的第一端口发送的设置了转换地址和转换端口属性的第四连接请求,并响应第四连接请求通过主动探测服务器的第一地址的第二端口向雾节点回送第四响应包,若雾节点能够接收第四响应包,则雾节点为地址受限型节点;若雾节点不能接收第四响应包,则雾节点为能够作为主动连接方的主动对称型节点。
在本申请的一个实施例中,若雾节点不能接收第一响应包,则主动探测服务器多次向雾节点发送第一响应包或雾节点多次接收第一响应包;若雾节点不能接收第二响应包,则主动探测服务器多次向雾节点发送第二响应包或雾节点多次接收第二响应包;若雾节点不能接收第三响应包,则主动探测服务器多次向雾节点发送第三响应包或雾节点多次接收第三响应包;若雾节点不能接收第四响应包,则主动探测服务器多次向雾节点发送第四响应包或雾节点多次接收第四响应包,以排除丢包干扰。
在本申请的一个实施例中,第一响应包、第二响应包、第三响应包、第四响应包可以在设定时间段内多次发送。
在本申请的一个实施例中,第一响应包、第二响应包、第三响应包、第四响应包可以发送设定次数。
在本申请的一个实施例中,可以将通过主动探测服务器的第一地址的第一端口接收雾节点的第一端口发送的第一连接请求,并响应第一连接请求通过主动探测服务器的第一地址的第一端口向雾节点回送第一响应包的过程记为第一类测试(Test1)。
在本申请的一个实施例中,可以将通过主动探测服务器的第一地址的第一端口接收由雾节点的第一端口发送的设置了转换地址和转换端口属性的第二连接请求,并响应第二连接请求通过主动探测服务器的第二地址的第二端口向雾节点回送第二响应包的过程记为第二类测试(Test2)。
在本申请的一个实施例中,可以将通过主动探测服务器的第二地址的第二端口接收由雾节点的第一端口发送的第三连接请求,并响应第三连接请求通过主动探测服务器的第二地址的第二端口向雾节点回送第三响应包的过程记为第一类测试的第二种类型(Test1#2)。
在本申请的一个实施例中,可以将通过主动探测服务器的第一地址的第一端口接收雾节点的第一端口发送的设置了转换地址和转换端口属性的第四连接请求,并响应第四连接请求通过主动探测服务器的第一地址的第二端口向雾节点回送第四响应包的过程记为第三类测试(Test3)。
在本申请的一个实施例中,主动探测服务器通过雾节点的第一端口探测雾节点的网络地址转换类型的过程可以参照图3,图3中的雾节点为客户端,图3示意性示出了本申请的一个主动探测服务器探测客户端类型的过程的示意图,如图3所示,进行Test1后,若客户端不能够接收响应,则客户端的类型为UDP不通;若客户端能够接收响应,则判断响应包中的地址是否与客户端扫描到的地址一致,若响应包中的地址与客户端扫描到的地址一致,则进行Test2,若客户端能够接收响应,则客户端类型为公网;若客户端不能接收响应,则客户端类型为防火墙对称型,若响应包中的地址与客户端扫描到的地址不一致,则进行Test2,若客户端能够接收响应,则客户端类型为全锥型;若客户端不能接收响应,则进行Test1#2,判断响应包中携带的地址是否与Test1中的地址一致,若响应包中携带的地址与Test1中的地址不一致,则客户端为对称型;若响应包中携带的地址与Test1中的地址一致,则进行Test3,若客户端不能接收响应,则客户端为主动对称型;若客户端能够接收响应,则客户端为地址受限型。
在本申请的一个实施例中,客户端作为雾节点时需要在客户端中植入工具包(Software Development Kit,SDK),服务器作为雾节点时需要在服务器中部署雾计算服务节点(Fog Computing Edge,FCE)。
在本申请的一个实施例中,可以获取被动探测服务器(Second-order NAT,SNAT)通过雾节点中与第一端口对应的第二端口探测到的雾节点的网络地址转换类型,若被动探测服务器探测得到网络地址转换类型为主动对称型,则雾节点为能够作为被动连接方的主动对称型节点。
在本申请的一个实施例中,被动探测服务器通过雾节点中与第一端口对应的第二端口探测雾节点的网络地址转换类型的过程可以包括:通过被动探测服务器的第一地址的第一端口接收雾节点的第二端口发送的第五连接请求,并响应第五连接请求通过被动探测服务器的第一地址的第一端口向雾节点回送第五响应包;若雾节点能够接收第五响应包且第五响应包中携带的地址信息与雾节点地址不一致,则通过被动探测服务器的第一地址的第一端口接收由雾节点的第二端口发送的设置了转换地址和转换端口属性的第六连接请求,并响应第六连接请求通过被动探测服务器的第二地址的第二端口向雾节点回送第六响应包,若雾节点能够接收第六响应包,则确定雾节点为全锥型节点;若雾节点不能接收第六响应包,则通过被动探测服务器的第二地址的第二端口接收由雾节点的第二端口发送的第七连接请求,并响应第七连接请求通过被动探测服务器的第二地址的第二端口向雾节点回送第七响应包,若第七响应包中的端口信息与第五响应包中的端口信息不一致,则确定雾节点是对称型节点;若第七响应包中的端口信息与第五响应包中的端口信息一致,则通过被动探测服务器的第一地址的第一端口接收雾节点的第二端口发送的设置了转换地址和转换端口属性的第八连接请求,并响应第八连接请求通过被动探测服务器的第一地址的第二端口向雾节点回送第八响应包,若雾节点能够接收第八响应包,则雾节点为地址受限型节点;若雾节点不能接收第八响应包,则雾节点为能够作为被动连接方的主动对称型节点。
在本申请的一个实施例中,若雾节点不能接收第五响应包,则主动探测服务器多次向雾节点发送第五响应包或雾节点多次接收第五响应包;若雾节点不能接收第六响应包,则主动探测服务器多次向雾节点发送第六响应包或雾节点多次接收第六响应包;若雾节点不能接收第七响应包,则主动探测服务器多次向雾节点发送第七响应包或雾节点多次接收第七响应包;若雾节点不能接收第八响应包,则主动探测服务器多次向雾节点发送第八响应包或雾节点多次接收第八响应包,以排除丢包干扰。
在本申请的一个实施例中,第五响应包、第六响应包、第七响应包、第八响应包可以在设定时间段内多次发送。
在本申请的一个实施例中,第五响应包、第六响应包、第七响应包、第八响应包可以发送设定次数。
在本申请的一个实施例中,可以将通过被动探测服务器的第一地址的第一端口接收雾节点的第二端口发送的第五连接请求,并响应第五连接请求通过被动探测服务器的第一地址的第一端口向雾节点回送第五响应包的过程记为第四测试(Test4)。
在本申请的一个实施例中,可以将通过被动探测服务器的第一地址的第一端口接收雾节点的第二端口发送的第五连接请求,并响应第五连接请求通过被动探测服务器的第一地址的第一端口向雾节点回送第五响应包的过程记为对雾节点的第二端口进行Test1。
在本申请的一个实施例中,可以将通过被动探测服务器的第一地址的第一端口接收由雾节点的第二端口发送的设置了转换地址和转换端口属性的第六连接请求,并响应第六连接请求通过被动探测服务器的第二地址的第二端口向雾节点回送第六响应包的过程记为第五测试(Test5)。
在本申请的一个实施例中,可以将通过被动探测服务器的第一地址的第一端口接收由雾节点的第二端口发送的设置了转换地址和转换端口属性的第六连接请求,并响应第六连接请求通过被动探测服务器的第二地址的第二端口向雾节点回送第六响应包的过程记为对雾节点的第二端口进行Test2。
在本申请的一个实施例中,可以将通过被动探测服务器的第二地址的第二端口接收由雾节点的第二端口发送的第七连接请求,并响应第七连接请求通过被动探测服务器的第二地址的第二端口向雾节点回送第七响应包的过程记为第四测试的第二类型(Test4#2), 将探测行为视为需要探测的客户端和被动探测服务器之间的连接过程,模拟其中主动发起连接行为的一方,为后续调度提供信息支持。
在本申请的一个实施例中,可以将通过被动探测服务器的第二地址的第二端口接收由雾节点的第二端口发送的第七连接请求,并响应第七连接请求通过被动探测服务器的第二地址的第二端口向雾节点回送第七响应包的过程记为对雾节点的第二端口进行Test1#2。
在本申请的一个实施例中,可以将通过被动探测服务器的第一地址的第一端口接收雾节点的第二端口发送的设置了转换地址和转换端口属性的第八连接请求,并响应第八连接请求通过被动探测服务器的第一地址的第二端口向雾节点回送第八响应包的过程记为第六测试(Test6)。
在本申请的一个实施例中,可以将通过被动探测服务器的第一地址的第一端口接收雾节点的第二端口发送的设置了转换地址和转换端口属性的第八连接请求,并响应第八连接请求通过被动探测服务器的第一地址的第二端口向雾节点回送第八响应包的过程记为对雾节点的第二端口进行Test3。
在本申请的一个实施例中,被动探测服务器通过客户端的第二端口探测客户端的网络地址转换类型的过程可以如图3,包括:进行Test1后,若客户端不能够接收响应,则客户端的类型为UDP不通;若客户端能够接收响应,则判断响应包中的地址是否与客户端扫描到的地址一致,若响应包中的地址与客户端扫描到的地址一致,则进行Test2,若客户端能够接收响应,则客户端类型为公网;若客户端不能接收响应,则客户端类型为防火墙对称型,若响应包中的地址与客户端扫描到的地址不一致,则进行Test2,若客户端能够接收响应,则客户端类型为全锥型;若客户端不能接收响应,则进行Test1#2,判断响应包中携带的地址是否与Test1中的地址一致,若响应包中携带的地址与Test1中的地址不一致,则客户端为对称型;若响应包中携带的地址与Test1中的地址一致,则进行Test3,若客户端能够接收响应,则客户端为主动对称型;若客户端不能接收响应,则客户端为地址受限型。
在本申请的一个实施例中,第一端口有多个,与第一端口对应的第二端口有多个,多个第一端口和多个第二端口一一对应组成多个端口对,将多个端口对存储至主动探测服务器和被动探测服务器,在多个第一端口中的某个第一端口或多个第二端口中的某个第二端口被禁止通信的情况下,主动探测服务器和被动探测服务器可以进行多次探测,以提高探测成功率。
在该实施例中,发明人经过多次试验发现,出于运营、安全等因素考虑,运营商网络、内网入口路由器均在一定程度上禁止了一批UDP端口进行通信,发明人在业务实践中,也确实发现了标准STUN(Session Traversal Utilities for NAT,NAT会话穿越应用程序)端口UDP:3478、UDP:3479被禁止通信的情况,因此本申请中,主动探测服务器和被动探测服务器均绑定了一组端口对,单客户端发现网络不通时,将进行多次重试。
在本申请的一个实施例中,主动探测服务器和被动探测服务器均需要单机双IPv4地址。
在本申请的一个实施例中,可以是雾节点向主动探测服务器和被动探测服务器发送探测指令后,主动探测服务器和被动探测服务器探测雾节点的网络地址转换类型,再将探测结果发送至雾节点,调度服务器再从雾节点中获取雾节点的网络地址转换类型。
在本申请的一个实施例中,可以是信号服务器(SINGAL服务器)获取两个雾节点的网络地址转换类型。
继续参照图2,在步骤S220中,基于两个雾节点中另一个雾节点的网络地址转换类型确定两个雾节点是否能够建立连接。
在本申请的一个实施例中,若另一个雾节点的网络地址转换类型为全锥型,则两个雾节点能够建立连接;若另一个雾节点的网络地址转换类型为地址受限型,则两个雾节点能够建立连接;若另一个雾节点的网络地址转换类型为端口受限型,则两个雾节点能够建立连接。
在步骤S230中,若两个雾节点能够建立连接,则基于另一个雾节点的网络地址转换类型确定网络地址转换类型为主动对称型的雾节点作为主动连接方或被动连接方,主动连接方先向被动连接方发送连接请求,以在两个雾节点之间建立连接,其中,在网络地址转换类型为主动对称型的雾节点作为主动连接方时,主动对称型的雾节点表现为只能通过发送连接请求的端口与另一个雾节点中接收连接请求的端口进行通信;在网络地址转换类型为主动对称型的雾节点作为被动连接方时,主动对称型的雾节点表现为使用除了接收连接请求的端口之外的另一端口与另一个雾节点中发送连接请求的端口进行通信,并且主动对称型的雾节点只有在接收另一个雾节点发送的连接请求后,才能与另一个雾节点建立连接。
在本申请的一个实施例中,信号服务器可以辅助两个雾节点建立连接,在被动连接方不能接收主动连接方发送的连接请求时,信号服务器能够接收主动连接方发送的辅助连接请求产生连接指令,信号服务器可以将连接指令发送至被动连接方,使被动连接方主动向主动连接方发送指令。
在本申请的一个实施例中,主动对称型节点中接收连接请求的端口不接收未连接的另一个雾节点发送的连接请求,并在链路跟踪规则中记录接收连接请求的端口与另一个雾节点不通;主动对称型节点获取信号服务器基于另一个雾节点发送的辅助连接请求产生的连接指令;主动对称型节点基于连接指令通过除了接收连接请求的端口之外的另一端口与另一个雾节点连接,从而实现在网络地址转换类型为主动对称型的雾节点作为被动连接方时,主动对称型的雾节点表现为使用除了接收连接请求的端口之外的另一端口与另一个雾节点中发送连接请求的端口进行通信。
在本申请的一个实施例中,信号服务器还可以用于NAT映射关系保活。
在本申请的一个实施例中,若另一个雾节点的网络地址转换类型为全锥型,则网络地址转换类型为主动对称型的雾节点既可以作为主动连接方又可以作为被动连接方;若另一个雾节点的网络地址转换类型为地址受限型,则网络地址转换类型为主动对称型的雾节点作为被动连接方;若另一个雾节点的网络地址转换类型为端口受限型,则网络地址转换类型为主动对称型的雾节点作为主动连接方。
在步骤S240中,在连接后的两个雾节点之间进行数据传输。
在本申请的一个实施例中,可以是调度服务器处理连接后的两个雾节点之间的数据传输过程,调度服务器用于协调资源分配。区别于传统P2P,雾计算由用户主动发起资源请求,进而响应。调度服务则需要尽可能保证节点间连接的可能性,除了运营商、地域、负载等因素外,本申请着重于处理NAT匹配关系和连接顺序指派。由于引入了主动对称型,异于传统的NAT匹配规则,端口受限型设备与主动对称型设备之间的连通可能性细化为表1。
表1 端口受限型设备与主动对称型设备之间的连通可能性细化表
可能性&措施 端口受限型雾计算服务节点 主动对称型雾计算服务节点
端口受限型用户 与原有匹配规则一致,可连接 可连接,需要雾计算节点主动发起
主动对称型用户 可连接,需要用户主动发起 不可连接
综上,调度服务需要收集雾计算服务节点的两种NAT类型,结合表1的可达关系,尽量分配符合匹配规则的节点,同时,调度服务需要指派主动连接的一方。
在图2所示的实施例中,通过获取待建立连接的两个雾节点的网络地址转换类型,两个雾节点中的一个雾节点的网络地址转换类型为主动对称型,基于两个雾节点中另一个雾节点的网络地址转换类型确定两个雾节点是否能够建立连接,若两个雾节点能够建立连接,则基于另一个雾节点的网络地址转换类型确定网络地址转换类型为主动对称型的雾节点作为主动连接方或被动连接方,主动连接方先向被动连接方发送连接请求,以在两个雾节点之间建立连接,相比于只允许位于NAT网关中的雾节点主动向位于NAT网关外的雾节点发起连接,能够使不能主动发起连接的雾节点也能与位于NAT网关外的雾节点建立连接,增加了进行数据传输的雾节点的数量,从而提高了雾计算的数据传输效率,其中,在网络地址转换类型为主动对称型的雾节点作为主动连接方时,主动对称型的雾节点表现为只能通过发送连接请求的端口与另一个雾节点中接收连接请求的端口进行通信;在网络地址转换类型为主动对称型的雾节点作为被动连接方时,主动对称型的雾节点表现为使用除了接收连接请求的端口之外的另一端口与另一个雾节点中发送连接请求的端口进行通信,并且主动对称型的雾节点只有在接收另一个雾节点发送的连接请求后,才能与另一个雾节点建立连接,在连接后的两个雾节点之间进行数据传输,主动对称型的雾节点在作为主动连接方和作为被动连接方时表现不同,能够提高主动对称型的雾节点与其他雾节点建立连接的可能,进一步增加了进行数据传输的雾节点的数量,进而再次提高了雾计算的数据传输效率。
本申请针对复杂的现网情况,改进了NAT探测模块的部署方式,通过绑定多个端口对的方式,一定程度上缓解了UDP端口禁用带来的影响;同时,客户端主动重试,一定程度上克服丢包造成的干扰;针对防火墙规则链,探测可作为主动连接方的主动对称型和可作为被动连接方的主动对称型两种NAT类型,通过细化后的NAT匹配规则和连接顺序指派,提升了连接的可能性,有效地提升了雾节点的服务能力。
本申请针对于NAT探测、雾节点调度,依然结合另外一些方式来提升整体的连接成功率,如利用隔离区(Demilitarized Zone,DMZ)、通用即插即用(Universal Plug andPlay, UPnP)等方式将非全锥型NAT的节点转化为全锥型NAT节点,利用端口预测等方式提升对称型雾服务节点的连接成功率,使端口受限型用户的连接成功率提升了10%~15%,数据分享率提升了5%。
以下介绍本申请的装置实施例,可以用于执行本申请上述实施例中的数据传输方法。对于本申请装置实施例中未披露的细节,请参照本申请上述的数据传输方法的实施例。
图4示意性示出了根据本申请的一个实施例的数据传输装置的框图。
参照图4所示,根据本申请的一个实施例的数据传输装置400,包括:获取模块401、确定模块402、连接模块403和传输模块404。
在本申请的一些实施例中,基于前述方案,获取模块401配置为获取待建立连接的两个雾节点的网络地址转换类型,两个雾节点中的一个雾节点的网络地址转换类型为主动对称型;确定模块402配置为基于两个雾节点中另一个雾节点的网络地址转换类型确定两个雾节点是否能够建立连接;连接模块403配置为若两个雾节点能够建立连接,则基于另一个雾节点的网络地址转换类型确定网络地址转换类型为主动对称型的雾节点作为主动连接方或被动连接方,主动连接方先向被动连接方发送连接请求,以在两个雾节点之间建立连接,其中,在网络地址转换类型为主动对称型的雾节点作为主动连接方时,表现为只能通过发送连接请求的端口与另一个雾节点中接收连接请求的端口进行通信;在网络地址转换类型为主动对称型的雾节点作为被动连接方时,表现为使用除了接收连接请求的端口之外的另一端口与另一个雾节点中发送连接请求的端口进行通信,并且主动对称型的雾节点只有在接收另一个雾节点发送的连接请求后,才能与另一个雾节点建立连接;传输模块404配置为在连接后的两个雾节点之间进行数据传输。
在本申请的一些实施例中,基于前述方案,获取模块401配置为:获取主动探测服务器通过雾节点的第一端口探测到的雾节点的网络地址转换类型,若主动探测服务器探测得到网络地址转换类型为主动对称型,则雾节点为能够作为主动连接方的主动对称型节点;获取被动探测服务器通过雾节点中与第一端口对应的第二端口探测到的雾节点的网络地址转换类型,若被动探测服务器探测得到网络地址转换类型为主动对称型,则雾节点为能够作为被动连接方的主动对称型节点。
在本申请的一些实施例中,基于前述方案,获取模块401配置为:第一端口有多个,与第一端口对应的第二端口有多个,多个第一端口和多个第二端口一一对应组成多个端口对;将多个端口对存储至主动探测服务器和被动探测服务器。
在本申请的一些实施例中,基于前述方案,获取模块401配置为:通过主动探测服务器的第一地址的第一端口接收雾节点的第一端口发送的第一连接请求,并响应第一连接请求通过主动探测服务器的第一地址的第一端口向雾节点回送第一响应包;若雾节点能够接收第一响应包且第一响应包中携带的地址信息与雾节点地址不一致,则通过主动探测服务器的第一地址的第一端口接收由雾节点的第一端口发送的设置了转换地址和转换端口属性的第二连接请求,并响应第二连接请求通过主动探测服务器的第二地址的第二端口向雾节点回送第二响应包,若雾节点能够接收第二响应包,则确定雾节点为全锥型节点;若雾节点不能接收第二响应包,则通过主动探测服务器的第二地址的第二端口接收由雾节点的第一端口发送的第三连接请求,并响应第三连接请求通过主动探测服务器的第二地址的第二端口向雾节点回送第三响应包,若第三响应包中的端口信息与第一响应包中的端口信息不一致,则确定雾节点是对称型节点;若第三响应包中的端口信息与第一响应包中的端口信息一致,则通过主动探测服务器的第一地址的第一端口接收雾节点的第一端口发送的设置了转换地址和转换端口属性的第四连接请求,并响应第四连接请求通过主动探测服务器的第一地址的第二端口向雾节点回送第四响应包,若雾节点能够接收第四响应包,则雾节点为地址受限型节点;若雾节点不能接收第四响应包,则雾节点为能够作为主动连接方的主动对称型节点。
在本申请的一些实施例中,基于前述方案,获取模块401配置为:通过被动探测服务器的第一地址的第一端口接收雾节点的第二端口发送的第五连接请求,并响应第五连接请求通过被动探测服务器的第一地址的第一端口向雾节点回送第五响应包;若雾节点能够接收第五响应包且第五响应包中携带的地址信息与雾节点地址不一致,则通过被动探测服务器的第一地址的第一端口接收由雾节点的第二端口发送的设置了转换地址和转换端口属性的第六连接请求,并响应第六连接请求通过被动探测服务器的第二地址的第二端口向雾节点回送第六响应包,若雾节点能够接收第六响应包,则确定雾节点为全锥型节点;若雾节点不能接收第六响应包,则通过被动探测服务器的第二地址的第二端口接收由雾节点的第二端口发送的第七连接请求,并响应第七连接请求通过被动探测服务器的第二地址的第二端口向雾节点回送第七响应包,若第七响应包中的端口信息与第五响应包中的端口信息不一致,则确定雾节点是对称型节点;若第七响应包中的端口信息与第五响应包中的端口信息一致,则通过被动探测服务器的第一地址的第一端口接收雾节点的第二端口发送的设置了转换地址和转换端口属性的第八连接请求,并响应第八连接请求通过被动探测服务器的第一地址的第二端口向雾节点回送第八响应包,若雾节点能够接收第八响应包,则雾节点为地址受限型节点;若雾节点不能接收第八响应包,则雾节点为能够作为被动连接方的主动对称型节点。
在本申请的一些实施例中,基于前述方案,获取模块401配置为:若雾节点不能接收第一响应包,则主动探测服务器多次向雾节点发送第一响应包;若雾节点不能接收第二响应包,则主动探测服务器多次向雾节点发送第二响应包;若雾节点不能接收第三响应包,则主动探测服务器多次向雾节点发送第三响应包;若雾节点不能接收第四响应包,则主动探测服务器多次向雾节点发送第四响应包;若雾节点不能接收第五响应包,则主动探测服务器多次向雾节点发送第五响应包;若雾节点不能接收第六响应包,则主动探测服务器多次向雾节点发送第六响应包;若雾节点不能接收第七响应包,则主动探测服务器多次向雾节点发送第七响应包;若雾节点不能接收第八响应包,则主动探测服务器多次向雾节点发送第八响应包。
在本申请的一些实施例中,基于前述方案,确定模块402配置为:若另一个雾节点的网络地址转换类型为全锥型,则两个雾节点能够建立连接;若另一个雾节点的网络地址转换类型为地址受限型,则两个雾节点能够建立连接;若另一个雾节点的网络地址转换类型为端口受限型,则两个雾节点能够建立连接。
在本申请的一些实施例中,基于前述方案,连接模块403配置为:若另一个雾节点的网络地址转换类型为全锥型,则网络地址转换类型为主动对称型的雾节点既可以作为主动连接方又可以作为被动连接方;若另一个雾节点的网络地址转换类型为地址受限型,则网络地址转换类型为主动对称型的雾节点作为被动连接方;若另一个雾节点的网络地址转换类型为端口受限型,则网络地址转换类型为主动对称型的雾节点作为主动连接方。
在本申请的一些实施例中,基于前述方案,连接模块403配置为:主动对称型节点中接收连接请求的端口不接收未连接的另一个雾节点发送的连接请求,并在链路跟踪规则中记录接收连接请求的端口与另一个雾节点不通;主动对称型节点获取信号服务器基于另一个雾节点发送的辅助连接请求产生的连接指令;主动对称型节点基于连接指令通过除了接收连接请求的端口之外的另一端口与另一个雾节点连接。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图5来描述根据本申请的这种实施方式的电子设备50。图5显示的电子设备50仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图5所示,电子设备50以通用计算设备的形式表现。电子设备50的组件可以包括但不限于:上述至少一个处理单元51、上述至少一个存储单元52、连接不同系统组件(包括存储单元52和处理单元51)的总线53、显示单元54。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元51执行,使得所述处理单元51执行本说明书上述“实施例方法”部分中描述的根据本申请各种示例性实施方式的步骤。
存储单元52可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)521和/或高速缓存存储单元522,还可以进一步包括只读存储单元(ROM)523。
存储单元52还可以包括具有一组(至少一个)程序模块525的程序/实用工具524,这样的程序模块525包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线53可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备50也可以与一个或多个外部设备(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备50交互的设备通信,和/或与使得该电子设备50能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口55进行。并且,电子设备50还可以通过网络适配器56与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器56通过总线53与电子设备50的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备50使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本申请实施方式的方法。
根据本申请一个实施例,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本说明书上述“示例性方法”部分中描述的根据本申请各种示例性实施方式的步骤。
根据本申请一个实施例,本申请的实施方式的用于实现上述方法的程序产品,可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本申请示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

Claims (10)

1.一种数据传输方法,其特征在于,包括:
获取待建立连接的两个雾节点的网络地址转换类型,所述两个雾节点中的一个雾节点的网络地址转换类型为主动对称型;
基于所述两个雾节点中另一个雾节点的网络地址转换类型确定所述两个雾节点是否能够建立连接;
若所述两个雾节点能够建立连接,则基于所述另一个雾节点的网络地址转换类型确定所述网络地址转换类型为主动对称型的雾节点作为主动连接方或被动连接方,所述主动连接方先向所述被动连接方发送连接请求,以在所述两个雾节点之间建立连接,其中,
在所述网络地址转换类型为主动对称型的雾节点作为所述主动连接方时,所述主动对称型的雾节点表现为只能通过发送所述连接请求的端口与所述另一个雾节点中接收所述连接请求的端口进行通信;
在所述网络地址转换类型为主动对称型的雾节点作为所述被动连接方时,所述主动对称型的雾节点表现为使用除了接收所述连接请求的端口之外的另一端口与所述另一个雾节点中发送所述连接请求的端口进行通信,并且所述主动对称型的雾节点只有在接收所述另一个雾节点发送的所述连接请求后,才能与所述另一个雾节点建立连接;
在连接后的两个雾节点之间进行数据传输。
2.根据权利要求1所述的数据传输方法,其特征在于,所述获取待建立连接的两个雾节点的网络地址转换类型,包括:
获取主动探测服务器通过所述雾节点的第一端口探测到的所述雾节点的网络地址转换类型,若所述主动探测服务器探测得到所述网络地址转换类型为主动对称型,则所述雾节点为能够作为所述主动连接方的主动对称型节点;
获取被动探测服务器通过所述雾节点中与所述第一端口对应的第二端口探测到的所述雾节点的网络地址转换类型,若所述被动探测服务器探测得到所述网络地址转换类型为主动对称型,则所述雾节点为能够作为所述被动连接方的主动对称型节点。
3.根据权利要求2所述的数据传输方法,其特征在于,
所述第一端口有多个,与所述第一端口对应的所述第二端口有多个,多个所述第一端口和多个所述第二端口一一对应组成多个端口对;
将所述多个端口对存储至所述主动探测服务器和所述被动探测服务器。
4.根据权利要求2所述的数据传输方法,其特征在于,所述主动探测服务器通过所述雾节点的第一端口探测所述雾节点的网络地址转换类型,包括:
通过所述主动探测服务器的第一地址的第一端口接收所述雾节点的第一端口发送的第一连接请求,并响应所述第一连接请求通过所述主动探测服务器的第一地址的第一端口向所述雾节点回送第一响应包;
若所述雾节点能够接收所述第一响应包且所述第一响应包中携带的地址信息与所述雾节点地址不一致,则通过所述主动探测服务器的第一地址的第一端口接收由所述雾节点的第一端口发送的设置了转换地址和转换端口属性的第二连接请求,并响应所述第二连接请求通过所述主动探测服务器的第二地址的第二端口向所述雾节点回送第二响应包,若所述雾节点能够接收所述第二响应包,则确定所述雾节点为全锥型节点;
若所述雾节点不能接收所述第二响应包,则通过所述主动探测服务器的第二地址的第二端口接收由所述雾节点的第一端口发送的第三连接请求,并响应所述第三连接请求通过所述主动探测服务器的第二地址的第二端口向所述雾节点回送第三响应包,若所述第三响应包中的端口信息与所述第一响应包中的端口信息不一致,则确定所述雾节点是对称型节点;
若所述第三响应包中的端口信息与所述第一响应包中的端口信息一致,则通过所述主动探测服务器的第一地址的第一端口接收所述雾节点的第一端口发送的设置了转换地址和转换端口属性的第四连接请求,并响应所述第四连接请求通过所述主动探测服务器的第一地址的第二端口向所述雾节点回送第四响应包,若所述雾节点能够接收所述第四响应包,则所述雾节点为地址受限型节点;
若所述雾节点不能接收所述第四响应包,则所述雾节点为能够作为所述主动连接方的主动对称型节点。
5.根据权利要求2所述的数据传输方法,其特征在于,所述被动探测服务器通过所述雾节点中与所述第一端口对应的第二端口探测所述雾节点的网络地址转换类型,包括:
通过所述被动探测服务器的第一地址的第一端口接收所述雾节点的第二端口发送的第五连接请求,并响应所述第五连接请求通过所述被动探测服务器的第一地址的第一端口向所述雾节点回送第五响应包;
若所述雾节点能够接收所述第五响应包且所述第五响应包中携带的地址信息与所述雾节点地址不一致,则通过所述被动探测服务器的第一地址的第一端口接收由所述雾节点的第二端口发送的设置了转换地址和转换端口属性的第六连接请求,并响应所述第六连接请求通过所述被动探测服务器的第二地址的第二端口向所述雾节点回送第六响应包,若所述雾节点能够接收所述第六响应包,则确定所述雾节点为全锥型节点;
若所述雾节点不能接收所述第六响应包,则通过所述被动探测服务器的第二地址的第二端口接收由所述雾节点的第二端口发送的第七连接请求,并响应所述第七连接请求通过所述被动探测服务器的第二地址的第二端口向所述雾节点回送第七响应包,若所述第七响应包中的端口信息与所述第五响应包中的端口信息不一致,则确定所述雾节点是对称型节点;
若所述第七响应包中的端口信息与所述第五响应包中的端口信息一致,则通过所述被动探测服务器的第一地址的第一端口接收所述雾节点的第二端口发送的设置了转换地址和转换端口属性的第八连接请求,并响应所述第八连接请求通过所述被动探测服务器的第一地址的第二端口向所述雾节点回送第八响应包,若所述雾节点能够接收所述第八响应包,则所述雾节点为地址受限型节点;
若所述雾节点不能接收所述第八响应包,则所述雾节点为能够作为所述被动连接方的主动对称型节点。
6.根据权利要求4所述的数据传输方法,其特征在于,
若所述雾节点不能接收所述第一响应包,则所述主动探测服务器多次向所述雾节点发送所述第一响应包;
若所述雾节点不能接收所述第二响应包,则所述主动探测服务器多次向所述雾节点发送所述第二响应包;
若所述雾节点不能接收所述第三响应包,则所述主动探测服务器多次向所述雾节点发送所述第三响应包;
若所述雾节点不能接收所述第四响应包,则所述主动探测服务器多次向所述雾节点发送所述第四响应包。
7.根据权利要求1所述的数据传输方法,其特征在于,所述基于所述两个雾节点中另一个雾节点的网络地址转换类型确定所述两个雾节点是否能够建立连接,包括:
若所述另一个雾节点的网络地址转换类型为全锥型,则所述两个雾节点能够建立连接;
若所述另一个雾节点的网络地址转换类型为地址受限型,则所述两个雾节点能够建立连接;
若所述另一个雾节点的网络地址转换类型为端口受限型,则所述两个雾节点能够建立连接。
8.根据权利要求7所述的数据传输方法,其特征在于,所述基于所述另一个雾节点的网络地址转换类型确定所述网络地址转换类型为主动对称型的雾节点作为主动连接方或被动连接方,包括:
若所述另一个雾节点的网络地址转换类型为全锥型,则所述网络地址转换类型为主动对称型的雾节点既可以作为所述主动连接方又可以作为所述被动连接方;
若所述另一个雾节点的网络地址转换类型为地址受限型,则所述网络地址转换类型为主动对称型的雾节点作为所述被动连接方;
若所述另一个雾节点的网络地址转换类型为端口受限型,则所述网络地址转换类型为主动对称型的雾节点作为所述主动连接方。
9.根据权利要求1所述的数据传输方法,其特征在于,所述在所述网络地址转换类型为主动对称型的雾节点作为所述被动连接方时,表现为使用除了接收所述连接请求的端口之外的另一端口与所述另一个雾节点中发送所述连接请求的端口进行通信,并且所述主动对称型的雾节点只有在接收所述另一个雾节点发送的所述连接请求后,才能与所述另一个雾节点建立连接,包括:
所述主动对称型雾 节点中所述接收所述连接请求的端口不接收未连接的所述另一个雾节点发送的连接请求,并在链路跟踪规则中记录所述接收所述连接请求的端口与所述另一个雾节点不通;
所述主动对称型雾 节点获取信号服务器基于所述另一个雾节点发送的辅助连接请求产生的连接指令;
所述主动对称型雾 节点基于所述连接指令通过所述除了接收所述连接请求的端口之外的另一端口与所述另一个雾节点连接。
10.一种数据传输装置,其特征在于,包括:
获取模块,配置为获取待建立连接的两个雾节点的网络地址转换类型,所述两个雾节点中的一个雾节点的网络地址转换类型为主动对称型;
确定模块,配置为基于所述两个雾节点中另一个雾节点的网络地址转换类型确定所述两个雾节点是否能够建立连接;
连接模块,配置为若所述两个雾节点能够建立连接,则基于所述另一个雾节点的网络地址转换类型确定所述网络地址转换类型为主动对称型的雾节点作为主动连接方或被动连接方,所述主动连接方先向所述被动连接方发送连接请求,以在所述两个雾节点之间建立连接,其中,在所述网络地址转换类型为主动对称型的雾节点作为所述主动连接方时,表现为只能通过发送所述连接请求的端口与所述另一个雾节点中接收所述连接请求的端口进行通信;在所述网络地址转换类型为主动对称型的雾节点作为所述被动连接方时,表现为使用除了接收所述连接请求的端口之外的另一端口与所述另一个雾节点中发送所述连接请求的端口进行通信,并且所述主动对称型的雾节点只有在接收所述另一个雾节点发送的所述连接请求后,才能与所述另一个雾节点建立连接;
传输模块,配置为在连接后的两个雾节点之间进行数据传输。
CN202011120738.3A 2020-10-19 2020-10-19 数据传输方法和装置 Active CN112019641B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011120738.3A CN112019641B (zh) 2020-10-19 2020-10-19 数据传输方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011120738.3A CN112019641B (zh) 2020-10-19 2020-10-19 数据传输方法和装置

Publications (2)

Publication Number Publication Date
CN112019641A CN112019641A (zh) 2020-12-01
CN112019641B true CN112019641B (zh) 2021-01-15

Family

ID=73527569

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011120738.3A Active CN112019641B (zh) 2020-10-19 2020-10-19 数据传输方法和装置

Country Status (1)

Country Link
CN (1) CN112019641B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112954406B (zh) * 2021-05-17 2021-07-30 腾讯科技(深圳)有限公司 数据下载方法、装置、计算机设备和存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150098471A1 (en) * 2011-12-14 2015-04-09 Koninklijke Kpn N.V. Methods and Systems for Enabling NAT Traversal
CN104202413B (zh) * 2014-09-17 2016-05-18 合一网络技术(北京)有限公司 P2p通信系统与中继通信方法
CN109194778B (zh) * 2018-09-12 2021-11-05 杭州趣链科技有限公司 一种基于kcp协议的nat穿透方法
CN109218316A (zh) * 2018-09-20 2019-01-15 杭州智块网络科技有限公司 一种nat穿透方法、装置、设备及存储介质
CN109831547B (zh) * 2019-03-14 2022-02-22 腾讯科技(深圳)有限公司 Nat穿透方法、装置、设备及存储介质
CN110113439B (zh) * 2019-04-09 2020-09-22 华南理工大学 一种nat穿越的方法
CN110266828A (zh) * 2019-06-11 2019-09-20 华为技术有限公司 一种建立端到端网络连接的方法、装置及网络系统
CN111193813B (zh) * 2019-10-24 2021-07-20 腾讯科技(深圳)有限公司 确定nat类型的测试请求处理方法、装置和计算机设备

Also Published As

Publication number Publication date
CN112019641A (zh) 2020-12-01

Similar Documents

Publication Publication Date Title
US8457014B2 (en) Method for configuring control tunnel and direct tunnel in IPv4 network-based IPv6 service providing system
US8656017B2 (en) Peer-to-peer collaboration system with edge routing
CN103108089B (zh) 网络系统的连线建立管理方法及其相关系统
EP3219087B1 (en) Methods, systems, and computer readable media for facilitating the resolving of endpoint hostnames in test environments with firewalls, network address translators(nats), or clouds
US9143421B2 (en) Network system capable of implementing stun with the assistance of two network devices and method thereof
WO2005109785A1 (ja) 情報処理装置、バブルパケット送信方法およびプログラム
CN112637364B (zh) 建立p2p连接的方法、客户端及系统
US8761170B2 (en) Communication device, communication method, integrated circuit, and program
CN111800341B (zh) 一种跨路由器终端通信方法及装置
KR20130052240A (ko) 네트워크 주소 변환기 통과 기법을 프로비저닝하기 위한 방법 및 장치
US10079802B2 (en) Network transmission method and network transmission system for a multi-layer network address translator structure
US9413590B2 (en) Method for management of a secured transfer session through an address translation device, corresponding server and computer program
CN109951493B (zh) 一种网络互通方法、装置、设备及存储介质
CN112019641B (zh) 数据传输方法和装置
CN112073540B (zh) 数据处理方法、装置、相关设备及存储介质
CN104735073B (zh) IPv4-IPv6过渡协议调度方法和装置
CN112073553B (zh) 网络地址转换类型的检测方法、装置、设备及存储介质
Tseng et al. Can: A context-aware NAT traversal scheme
CN114598532B (zh) 连接建立方法、装置、电子设备和存储介质
US10375175B2 (en) Method and apparatus for terminal application accessing NAS
Lai et al. A novel NAT-based approach for resource load balancing in fog computing architecture
CN108769293B (zh) 一种ip地址解析方法及相关装置
CN108337331B (zh) 网络穿透方法、装置、系统及网络连通性检查方法
WO2008069504A1 (en) Method for configuring control tunnel and direct tunnel in ipv4 network-based ipv6 service providing system
CN107317869B (zh) 一种节点nat类型探测方法、装置以及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40035471

Country of ref document: HK