CN108337331A - 网络穿透方法、装置、系统及网络连通性检查方法 - Google Patents

网络穿透方法、装置、系统及网络连通性检查方法 Download PDF

Info

Publication number
CN108337331A
CN108337331A CN201810014571.9A CN201810014571A CN108337331A CN 108337331 A CN108337331 A CN 108337331A CN 201810014571 A CN201810014571 A CN 201810014571A CN 108337331 A CN108337331 A CN 108337331A
Authority
CN
China
Prior art keywords
public network
local
port
ports
network
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
Application number
CN201810014571.9A
Other languages
English (en)
Other versions
CN108337331B (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.)
Shanghai Jingxiang Microelectronics Co.,Ltd.
Original Assignee
Xian Wanxiang Electronics Technology 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 Xian Wanxiang Electronics Technology Co Ltd filed Critical Xian Wanxiang Electronics Technology Co Ltd
Priority to CN201810014571.9A priority Critical patent/CN108337331B/zh
Publication of CN108337331A publication Critical patent/CN108337331A/zh
Application granted granted Critical
Publication of CN108337331B publication Critical patent/CN108337331B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/2521Translation architectures other than single NAT servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种网络穿透方法、装置、系统及网络连通性检查方法。其中,该方法包括:在位于不同本地网络的两个终端之间传输数据的情况下,为两个终端之间传输数据建立的每个会话分配多个本地端口;获取每个本地端口映射在公网的公网端口,得到多个公网端口;对多个公网端口逐个进行连通性检查,并采用通过连通性检查的公网端口传输数据。本发明解决了现有技术采用网络地址转换服务器来使得两个位于本地网络内的终端通过本地地址进行数据传输时网络穿透率低的技术问题。

Description

网络穿透方法、装置、系统及网络连通性检查方法
技术领域
本发明涉及互联网领域,具体而言,涉及一种网络穿透方法、装置、系统及网络连通性检查方法。
背景技术
IPv4是互联网协议(Internet Protocol,IP)的第四版,也是第一个被广泛使用,构成现今互联网技术的基础的协议。IPv4的地址位数是32位,也就是说最多有2的32次方的电脑可以联到互联网上,由于互联网的蓬勃发展,IP地址的需求量愈来愈大,使得IP地址将被耗尽。而IPv6的地址位数是128位,几乎可以不受限制地提供IP地址。但是,由于现存的巨量的网络设置都是只支持IPv4的,因此,在将IPv4全面切换到IP v6之前,为了解决IPv4地址短缺的问题,NAT(Network Address Translation,网络地址转换)技术应运而生。
NAT可以将专用网内部的终端的私有IP地址(即仅在本专用网内使用的本地地址)转换为公有IP地址,以便该终端与因特网上的终端通信。NAT技术使得内部网络的多个终端可以共享一个合法的外部IP地址实现对Internet的访问,从而可以最大限度地节约IP地址资源。另外,由于隐藏内部的终端,可以有效避免来自Internet的攻击。
NAT技术虽然大大延缓了地址耗尽的危机,但是也并不有害无益的技术,其最大的问题就是破坏了IP网络对等的原则,导致了NAT内的终端无法同NAT外的终端对等通信。因而,为了实现NAT内的终端与NAT外的终端进行通信,现有技术中出现了各种解决网络穿透的方法。在众多的方法中,基于ICE框架的STUN/TURN技术由于无需NAT网关感知而具有独特的优势。其中,TURN属于媒体中继的方式,在部署和运营的成本较高,因此大多只使用了STUN。这种方式下在某些网络拓扑条件下会导致无法穿透,例如,通信双方都处于对称类型NAT网络下进行通信的情形。由于大部分的NAT网络都是属于非对称的NAT网关,因此可以穿透。但是在企业的网络环境下,由于多IP上行以及负荷分担的存在,会导致整个NAT行为时而表现为非对称方式,时而有表现为对称方式。这种情况下的网络穿透呈现一种概率行为。例如,在使用SIP/STUN方式的穿透流程中,如果传输的数据是多媒体,要求每种媒体的每个UDP数据包都要成功穿透才能完成整体穿透,穿透率比较低。
针对上述现有技术采用网络地址转换服务器来使得两个位于本地网络内的终端通过本地地址进行数据传输时网络穿透率低的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种网络穿透方法、装置、系统及网络连通性检查方法,以至少解决现有技术采用网络地址转换服务器来使得两个位于本地网络内的终端通过本地地址进行数据传输时网络穿透率低的技术问题。
根据本发明实施例的一个方面,提供了一种网络穿透方法,包括:在位于不同本地网络的两个终端之间传输数据的情况下,为两个终端之间传输数据建立的每个会话分配多个本地端口;获取每个本地端口映射在公网的公网端口,得到多个公网端口;对多个公网端口逐个进行连通性检查,并采用通过连通性检查的公网端口传输数据。
根据本发明实施例的另一方面,还提供了一种网络连通性检查方法,包括:接收位于不同本地网络的两个终端发送的本地端口信息,其中,本地端口信息用于指示终端为传输数据建立的每个会话分配的多个本地端口;向每个终端返回对应的公网端口信息,其中,公网端口信息用于指示为多个本地端口映射在公网的多个公网端口;对多个公网端口逐个进行连通性检查,并在多个公网端口中任意一个公网端口通过连通性检查的情况下,确定两个终端之间网络连通性检查成功。
根据本发明实施例的另一方面,还提供了一种网络穿透系统,包括:服务器,位于公网中,与至少一个终端通信,用于接收至少一个终端发送的本地端口信息,并向每个终端返回对应的公网端口信息,其中,本地端口信息用于指示终端为传输数据建立的每个会话分配的多个本地端口,公网端口信息用于指示为多个本地端口映射在公网的多个公网端口;至少一个终端,位于不同的本地网络中,用于在接收到的多个公网端口中通过连通性检查的公网端口传输数据。
根据本发明实施例的另一方面,还提供了一种网络穿透装置,包括:分配单元,用于在位于不同本地网络的两个终端之间传输数据的情况下,为两个终端之间传输数据建立的每个会话分配多个本地端口;获取单元,用于获取每个本地端口映射在公网的公网端口,得到多个公网端口;传输单元,用于对多个公网端口逐个进行连通性检查,并采用通过连通性检查的公网端口传输数据。
根据本发明实施例的另一方面,还提供了一种存储介质,存储介质包括存储的程序,其中,程序执行上述的网络穿透方法。
根据本发明实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述的网络穿透方法。
在本发明实施例中,在位于不同本地网络的两个终端之间传输数据的情况下,为两个终端之间传输数据建立的每个会话分配多个本地端口;获取每个本地端口映射在公网的公网端口,得到多个公网端口;对多个公网端口逐个进行连通性检查,并采用通过连通性检查的公网端口传输数据,达到了提高两个终端之间用于传输数据的公网端口的连通性检查通过的概率的目的,从而实现了提高网络穿透率的技术效果,进而解决了现有技术采用网络地址转换服务器来使得两个位于本地网络内的终端通过本地地址进行数据传输时网络穿透率低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种网络穿透方法流程图;
图2是根据本发明实施例的一种可选的基于ICE/STUN的网络穿透流程示意图;
图3是根据本发明实施例的一种可选的网络穿透方法流程图;
图4是根据本发明实施例的一种网络连通性检查方法流程图;
图5是根据本发明实施例的一种网络穿透系统示意图;以及
图6是根据本发明实施例的一种网络穿透装置示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种网络穿透方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种网络穿透方法流程图,如图1所示,该方法包括如下步骤:
步骤S102,在位于不同本地网络的两个终端之间传输数据的情况下,为两个终端之间传输数据建立的每个会话分配多个本地端口。
作为一种可选的实施例,上述本地网络可以是通过公共网关访问互联网(也称公网)的私网或局域网,本地网络内的终端之间通过本地网络地址(也称本地IP地址)通信,如果本地网络内的终端需要与公网的终端进行通信时,需要通过网络地址转换(NetworkAddress Translator,NAT)将内网的IP地址(即本地网络地址)转换为公网的IP地址。
可选地,上述终端包括但不限于手机、平板电脑、笔记本电脑、计算机等任意一种可以上网的设备。
需要说明的是,在互联网上任意一台终端发送的数据包,需要根据数据包中包含的目的主机的IP地址来进行互联网网络中路由选择,才能将数据包正确地传送到目的主机,但是,大多数操作系统都是支持多进程同时运行的,为了将数据包发送到目的主机上正确的进程上,操作系统会给不同的进程分配协议端口,每个协议端口由一个正整数标识(即端口号)当目的主机接收到数据包后,根据数据包中包含的目的端口号,将数据包发送到对应的端口上。可以看出,在公网内的主机(或终端)进行数据传输时,不仅需要IP地址,还需要分配对应的端口(即公网端口)。同理,在本地网络内的主机(或终端)进行数据传输是,不仅需要本地网络地址,还需要分配对应的本地端口。
此外,还需要说明的是,如果采用面向连接的TCP(传输控制协议)传输数据,则分配的是TCP端口;如果采用无连接的UDP(用户数据报协议)传输数据,则分配的是UDP端口。
容易注意的是,现有技术中,在两个主机(或终端)之间为传输数据而建立的会话,通常只分配一个端口,当位于不同本地网络的两个终端之间传输数据的时候,需要将终端的本地网络地址和对应的本地端口通过网络地址转换服务器转换为对应的公网IP地址和对应的公网端口,以便通过公网IP地址和对应的公网端口来实现数据的传输。
由于两个位于不同本地网络的终端进行数据传输时,需要对两个终端的公网端口进行连通性检查,在确定两个终端的公网端口通过连通性检查(即两个终端实现了网络穿透)的情况下,才能进行数据传输。如果按照现有技术,为传输数据建立的每个会话只分配一个本地端口,则映射到公网的公网端口也只有一个,若该本地端口对应的公网端口没有通过连通性检查(即没有实现网络穿透),则位于两个本地网络的终端将无法进行数据传输。而本申请上述步骤S102,为两个终端之间传输数据建立的每个会话分配多个本地端口,则只要由一个本地端口对应的公网端口通过连通性检查,则两个终端之间可以进行数据传输。在传输的数据为多媒体数据的情况下,效果更加明显。
可选地,为每个会话增加的冗余端口可以增加冗余端口标识。
步骤S104,获取每个本地端口映射在公网的公网端口,得到多个公网端口。
具体地,在上述步骤中,在通过网络地址转换服务器将本地网络内的终端的本地地址转换为映射在公网的公网地址的同时,可以获取该终端的本地端口映射在公网的公网端口,即通过上述步骤S102,在位于不同本地网络的两个终端之间传输数据的情况下,为两个终端之间传输数据建立的每个会话分配多个本地端口,则可以获取到这个多个本地端口映射在公网的多个公网端口。
步骤S106,对多个公网端口逐个进行连通性检查,并采用通过连通性检查的公网端口传输数据。
需要说明的是,在位于不同本地网络的两个终端分别获取到各自映射在公网的多个公网端口的情况下,可以对两个终端的多个公网端口逐个进行连通性检查,每个会话只要有一个公网端口通过连通性检查,则采用通过连通性检查的公网端口传输数据。
例如,当位于第一本地网络的第一终端与位于第二本地网络的第二终端传输数据的情况下,如果按照现有技术,为终端a传输数据建立的每个会话分配一个本地端口a,对应的公网端口为A;同理,为终端b传输数据建立的每个会话分配一个本地端口b,对应的公网端口为B,则只有A和B连通成功,第一终端和第二终端才能进行数据传输。基于上述步骤S102至S106公开的方案,为终端a传输数据建立的每个会话分配两个本地端口a1、a2,对应的公网端口为A1、A2;同理,为终端b传输数据建立的每个会话分配两个本地端口b1、b2,对应的公网端口为B1、B2,则只要A1、A2中的任意一个公网端口与B1、B2之间的任意公网端口连通成功,第一终端和第二终端即可进行数据传输。
由上可知,在本申请实施例中,当处于不同本地网络内的两个终端之间需要传输的情况下,为两个终端之间传输数据建立的每个会话分配多个本地端口,以便获取到该多个本地端口映射在公网的多个公网端口,对两个终端的多个公网端口逐个进行连通性检查,以便在多个公网端口中的任意一个公网端口通过连通性检查的情况下,使得两个终端可以采用连通性检查通过的公网端口传输数据,达到了提高两个终端之间用于传输数据的公网端口的连通性检查通过的概率的目的,从而实现了提高网络穿透率的技术效果,进而解决了现有技术采用网络地址转换服务器来使得两个位于本地网络内的终端通过本地地址进行数据传输时网络穿透率低的技术问题。
一种可选的实施例中,图2是根据本发明实施例的一种可选的基于ICE/STUN的网络穿透流程示意图,如图2所示,终端1和终端2可以分别通过STUN服务器获取各自的公网地址(包括,公网IP地址和公网端口地址);并将各自的地址队列(即本地地址和公网地址)发送给STP服务器,以便对终端1和终端2的网络端口进行连通性检查。
需要说明的是,STUN(Simple Traversal of UDP over NATs,NAT的UDP简单穿越)是一种网络协议,允许位于NAT(或多重NAT)后的客户端找出自己的公网地址,查出自己位于哪种类型的NAT之后以及NAT为某一个本地端口所绑定的Internet端口。这些信息被用来在两个同时处于NAT路由器之后的主机之间建立UDP通信。
ICE是一个框架,在这个框架中,可以整合其他现存的NAT穿透协议,例如STUN、TURN、RSIP等。区别于其他的NAT穿透解决方案,ICE是一种探索和更新式的解决方案,通过搜集自身和对端尽可能多的网络信息(各种网络地址),尝试在这些地址之间建立数据通道,并在这一过程中不断更新先前收集的信息,从而找出和选择能够进行NAT穿透的数据通道。
STP(Spanning Tree Protocol)是生成树协议,用于网络中建立树形拓扑。
需要说明的是,当位于不同本地网络的两个终端之间传输的数据为多媒体数据的情况下,传输数据会包含至少一个媒体流(例如,视频流或音频流),针对每个媒体流都需要分配多个本地端口,如果每个媒体流采用RTP/RTCP协议传输,则每个媒体流均需要两个本地端口,一个本地端口用于传输RTP会话,一个本地端口用于传输RTCP会话,如果要提供网络穿透了,则需要为每个协议组件(RTP组件或RTCP)分配多个本地端口。
因而,一种可选的实施例中,在两个终端之间每个会话包含至少一个媒体流的情况下,其中,为两个终端之间的每个会话分配多个本地端口,可以包括:为每个会话包含的每个媒体流分配多个本地端口。
在一种可选的实施例中,上述在两个终端之间采用实时传输协议和实时控制协议传输每个媒体流的情况下,每个媒体流包含实时传输协议组件和实时控制协议组件,其中,为每个会话包含的每个媒体流分配多个本地端口,可以包括:为每个媒体流的实时传输协议组件分配多个本地端口,并为每个媒体流的实时控制协议组件分配多个本地端口。
可选地,为每个组件增加的冗余端口可以增加冗余端口标识。
例如,两个终端之间传输的数据包含视频流和音频流的情况下,如果采用RTP/RTCP协议传输,按照现有的端口分配方式,需要为每个媒体流分配两个UDP端口,两个媒体流需要4个UDP端口,在获取公网地址时会获取这4个端口的公网映射端口,在联通性检查时同样会检查这4个端口,当4个端口联通性检查均通过时,则整体穿透成功。
在一种可选的实施例中,如图3所示,获取每个本地端口映射在公网的公网端口,得到多个公网端口,可以包括如下步骤:
步骤S302,向服务器发送本地端口信息,其中,本地端口信息用于指示为多个本地端口;
步骤S304,接收服务器返回的公网端口信息,其中,公网端口信息用于指示为多个本地端口映射在公网的多个公网端口。
基于上述任意一种可选的的实施例,作为一种可选的实施例,上述方法还可以包括:在多个公网端口中任意一个公网端口通过连通性检查的情况下,确定两个终端之间网络连通性检查成功。
根据本发明实施例,还提供了一种网络连通性检查方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图4是根据本发明实施例的一种网络连通性检查方法流程图,如图4所示,该方法包括如下步骤:
步骤S402,接收位于不同本地网络的两个终端发送的本地端口信息,其中,本地端口信息用于指示终端为传输数据建立的每个会话分配的多个本地端口;
步骤S404,向每个终端返回对应的公网端口信息,其中,公网端口信息用于指示为多个本地端口映射在公网的多个公网端口;
步骤S406,对多个公网端口逐个进行连通性检查,并在多个公网端口中任意一个公网端口通过连通性检查的情况下,确定两个终端之间网络连通性检查成功。
作为一种可选的实施例,上述步骤S402至S406公开的方案,可以应用于进行网络连通性检查的服务器,对任意两个处于不同本地网络内的主机之间的网络端口连通性进行检查。
由上可知,在本申请实施例中,在接收到处于不同本地网络的两个终端发送的用于指示多个本地端口的本地端口信息后,向每个终端返回多个本地端口映射在公网的多个公网端口,对两个终端的多个公网端口逐个进行连通性检查,以便在多个公网端口中的任意一个公网端口通过连通性检查的情况下,确定两个终端之间的网络连通性检查成功,达到了提高两个终端之间用于传输数据的公网端口的连通性检查通过的概率的目的,从而实现了提高网络穿透率的技术效果,进而解决了现有技术采用网络地址转换服务器来使得两个位于本地网络内的终端通过本地地址进行数据传输时网络穿透率低的技术问题。
根据本发明实施例,还提供了一种用于实现上述网络穿透方法的系统实施例,图5是根据本发明实施例的一种网络穿透系统示意图,如图5所示,该系统包括:服务器501和至少一个终端503。
其中,服务器501,位于公网中,与至少一个终端503通信,用于接收至少一个终端503发送的本地端口信息,并向每个终端返回对应的公网端口信息,其中,本地端口信息用于指示终端为传输数据建立的每个会话分配的多个本地端口,公网端口信息用于指示为多个本地端口映射在公网的多个公网端口;
至少一个终端503,位于不同的本地网络中,用于在接收到的多个公网端口中通过连通性检查的公网端口传输数据。
由上可知,在本申请实施例中,处于不同本地网络内的终端503为传输数据建立的每个会话分配多个本地端口,并向服务器501发送用于指示这多个本地端口的本地端口信息,服务器501根据接收到本地端口信息,向终端503返回对应的公网端口信息,由于终端本地端口信息包含了多个本地端口的端口信息,则向终端503返回的公网端口信息也包含多个公网端口的端口信息,以便终端503可以在接收到的多个公网端口中通过连通性检查的公网端口传输数据,达到了提高两个终端之间用于传输数据的公网端口的连通性检查通过的概率的目的,从而实现了提高网络穿透率的技术效果,进而解决了现有技术采用网络地址转换服务器来使得两个位于本地网络内的终端通过本地地址进行数据传输时网络穿透率低的技术问题。
在一种可选的实施例中,在两个终端之间每个会话包含至少一个媒体流的情况下,其中,上述终端还用于为每个会话包含的每个媒体流分配多个本地端口。
在一种可选的实施例中,上述在两个终端之间采用实时传输协议和实时控制协议传输每个媒体流的情况下,每个媒体流包含实时传输协议组件和实时控制协议组件,其中,上述终端还用于为每个媒体流的实时传输协议组件分配多个本地端口,并为每个媒体流的实时控制协议组件分配多个本地端口。
在一种可选的实施例中,上述终端还用于向服务器发送本地端口信息,并接收服务器返回的公网端口信息,其中,本地端口信息用于指示为多个本地端口,公网端口信息用于指示为多个本地端口映射在公网的多个公网端口。
在一种可选的实施例中,上述服务器还用于在多个公网端口中任意一个公网端口通过连通性检查的情况下,确定两个终端之间网络连通性检查成功。
根据本发明实施例,还提供了一种用于实现上述网络穿透方法的装置实施例,图6是根据本发明实施例的一种网络穿透装置示意图,如图6所示,该装置包括:分配单元601、获取单元603和传输单元605。
其中,分配单元601,用于在位于不同本地网络的两个终端之间传输数据的情况下,为两个终端之间传输数据建立的每个会话分配多个本地端口;
获取单元603,用于获取每个本地端口映射在公网的公网端口,得到多个公网端口;
传输单元605,用于对多个公网端口逐个进行连通性检查,并采用通过连通性检查的公网端口传输数据。
此处需要说明的是,上述分配单元601、获取单元603和传输单元605对应于网络穿透方法实施例中的步骤S102至S106,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述网络穿透方法实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
由上可知,在本申请实施例中,通过分配单元601在处于不同本地网络内的两个终端之间需要传输的情况下,为两个终端之间传输数据建立的每个会话分配多个本地端口,以便通过获取单元603获取到该多个本地端口映射在公网的多个公网端口,通过传输单元605对两个终端的多个公网端口逐个进行连通性检查,并在多个公网端口中的任意一个公网端口通过连通性检查的情况下,使得两个终端可以采用连通性检查通过的公网端口传输数据,达到了提高两个终端之间用于传输数据的公网端口的连通性检查通过的概率的目的,从而实现了提高网络穿透率的技术效果,进而解决了现有技术采用网络地址转换服务器来使得两个位于本地网络内的终端通过本地地址进行数据传输时网络穿透率低的技术问题。
在一种可选的实施例中,在两个终端之间每个会话包含至少一个媒体流的情况下,其中,上述分配单元还用于为每个会话包含的每个媒体流分配多个本地端口。
在一种可选的实施例中,上述在两个终端之间采用实时传输协议和实时控制协议传输每个媒体流的情况下,每个媒体流包含实时传输协议组件和实时控制协议组件,其中,上述分配单元还用于为每个媒体流的实时传输协议组件分配多个本地端口,并为每个媒体流的实时控制协议组件分配多个本地端口。
在一种可选的实施例中,上述获取单元包括:发送模块,用于向服务器发送本地端口信息,其中,本地端口信息用于指示为多个本地端口;接收模块,用于接收服务器返回的公网端口信息,其中,公网端口信息用于指示为多个本地端口映射在公网的多个公网端口。
在一种可选的实施例中,上述装置还包括:确定单元,用于在多个公网端口中任意一个公网端口通过连通性检查的情况下,确定两个终端之间网络连通性检查成功。
根据本发明实施例,还提供了一种存储介质,存储介质包括存储的程序,其中,程序执行上述方法实施例中任意一项可选的或优选的网络穿透方法。
根据本发明实施例,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述方法实施例中任意一项可选的或优选的网络穿透方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (10)

1.一种网络穿透方法,其特征在于,包括:
在位于不同本地网络的两个终端之间传输数据的情况下,为所述两个终端之间传输数据建立的每个会话分配多个本地端口;
获取每个本地端口映射在公网的公网端口,得到多个公网端口;
对所述多个公网端口逐个进行连通性检查,并采用通过连通性检查的公网端口传输数据。
2.根据权利要求1所述的方法,其特征在于,在所述两个终端之间每个会话包含至少一个媒体流的情况下,其中,为所述两个终端之间的每个会话分配多个本地端口,包括:
为所述每个会话包含的每个媒体流分配多个本地端口。
3.根据权利要求2所述的方法,其特征在于,在所述两个终端之间采用实时传输协议和实时控制协议传输每个媒体流的情况下,所述每个媒体流包含实时传输协议组件和实时控制协议组件,其中,为所述每个会话包含的每个媒体流分配多个本地端口,包括:
为所述每个媒体流的实时传输协议组件分配多个本地端口,并为所述每个媒体流的实时控制协议组件分配多个本地端口。
4.根据权利要求1所述的方法,其特征在于,获取每个本地端口映射在公网的公网端口,得到多个公网端口,包括:
向服务器发送本地端口信息,其中,所述本地端口信息用于指示为所述多个本地端口;
接收所述服务器返回的公网端口信息,其中,所述公网端口信息用于指示为所述多个本地端口映射在公网的多个公网端口。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述多个公网端口中任意一个公网端口通过连通性检查的情况下,确定所述两个终端之间网络连通性检查成功。
6.一种网络连通性检查方法,其特征在于,包括:
接收位于不同本地网络的两个终端发送的本地端口信息,其中,所述本地端口信息用于指示所述终端为传输数据建立的每个会话分配的多个本地端口;
向每个终端返回对应的公网端口信息,其中,所述公网端口信息用于指示为所述多个本地端口映射在公网的多个公网端口;
对所述多个公网端口逐个进行连通性检查,并在所述多个公网端口中任意一个公网端口通过连通性检查的情况下,确定所述两个终端之间网络连通性检查成功。
7.一种网络穿透系统,其特征在于,包括:
服务器,位于公网中,与至少一个终端通信,用于接收所述至少一个终端发送的本地端口信息,并向每个终端返回对应的公网端口信息,其中,所述本地端口信息用于指示所述终端为传输数据建立的每个会话分配的多个本地端口,所述公网端口信息用于指示为所述多个本地端口映射在公网的多个公网端口;
所述至少一个终端,位于不同的本地网络中,用于在接收到的多个公网端口中通过连通性检查的公网端口传输数据。
8.一种网络穿透装置,其特征在于,包括:
分配单元,用于在位于不同本地网络的两个终端之间传输数据的情况下,为所述两个终端之间传输数据建立的每个会话分配多个本地端口;
获取单元,用于获取每个本地端口映射在公网的公网端口,得到多个公网端口;
传输单元,用于对所述多个公网端口逐个进行连通性检查,并采用通过连通性检查的公网端口传输数据。
9.根据权利要求8所述的装置,其特征在于,所述获取单元包括:
发送模块,用于向服务器发送本地端口信息,其中,所述本地端口信息用于指示为所述多个本地端口;
接收模块,用于接收所述服务器返回的公网端口信息,其中,所述公网端口信息用于指示为所述多个本地端口映射在公网的多个公网端口。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括:
确定单元,用于在所述多个公网端口中任意一个公网端口通过连通性检查的情况下,确定所述两个终端之间网络连通性检查成功。
CN201810014571.9A 2018-01-05 2018-01-05 网络穿透方法、装置、系统及网络连通性检查方法 Active CN108337331B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810014571.9A CN108337331B (zh) 2018-01-05 2018-01-05 网络穿透方法、装置、系统及网络连通性检查方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810014571.9A CN108337331B (zh) 2018-01-05 2018-01-05 网络穿透方法、装置、系统及网络连通性检查方法

Publications (2)

Publication Number Publication Date
CN108337331A true CN108337331A (zh) 2018-07-27
CN108337331B CN108337331B (zh) 2021-10-08

Family

ID=62924025

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810014571.9A Active CN108337331B (zh) 2018-01-05 2018-01-05 网络穿透方法、装置、系统及网络连通性检查方法

Country Status (1)

Country Link
CN (1) CN108337331B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113301183A (zh) * 2021-06-15 2021-08-24 杭州华橙软件技术有限公司 网络连通性的探测方法及装置、存储介质、电子装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060120293A1 (en) * 2004-12-07 2006-06-08 Wing Daniel G Method and apparatus for discovering Internet addresses
US7706371B1 (en) * 2005-07-07 2010-04-27 Cisco Technology, Inc. Domain based routing for managing devices operating behind a network address translator
CN102148767A (zh) * 2011-05-12 2011-08-10 杭州华三通信技术有限公司 一种基于nat的数据路由方法及其装置
CN103634299A (zh) * 2013-11-14 2014-03-12 北京邮电大学 基于多连接的实时流媒体传输终端与方法
CN104994184A (zh) * 2015-06-25 2015-10-21 北京广密华安科技有限公司 一种nat穿透方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060120293A1 (en) * 2004-12-07 2006-06-08 Wing Daniel G Method and apparatus for discovering Internet addresses
US7706371B1 (en) * 2005-07-07 2010-04-27 Cisco Technology, Inc. Domain based routing for managing devices operating behind a network address translator
CN102148767A (zh) * 2011-05-12 2011-08-10 杭州华三通信技术有限公司 一种基于nat的数据路由方法及其装置
CN103634299A (zh) * 2013-11-14 2014-03-12 北京邮电大学 基于多连接的实时流媒体传输终端与方法
CN104994184A (zh) * 2015-06-25 2015-10-21 北京广密华安科技有限公司 一种nat穿透方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113301183A (zh) * 2021-06-15 2021-08-24 杭州华橙软件技术有限公司 网络连通性的探测方法及装置、存储介质、电子装置

Also Published As

Publication number Publication date
CN108337331B (zh) 2021-10-08

Similar Documents

Publication Publication Date Title
US10432522B2 (en) Network packet flow controller with extended session management
US10079897B2 (en) Control of a chain of services
US20210036953A1 (en) Flow modification including shared context
CN100379220C (zh) 作为nat和nat-pt网关的路由器上的共享端口地址转换
US20230327984A1 (en) Reverse forwarding information base enforcement
US20170346709A1 (en) Link Status Monitoring Based on Packet Loss Detection
US20020087721A1 (en) Duplicate private address translating system and duplicate address network system
US20050089014A1 (en) System and methods for communicating over the internet with geographically distributed devices of a decentralized network using transparent asymetric return paths
WO2016048467A1 (en) Computer network packet flow controller
WO2017209923A1 (en) Detecting source network address translation in a communication system
CN107872545A (zh) 一种报文传输方法及装置、计算机可读存储介质
CN101883056B (zh) 基于udt和tcp中转实现nat穿越的方法
WO2017209944A1 (en) Session continuity in the presence of network address translation
WO2017204969A1 (en) Apparatus and method of securing network communications
CN111182022B (zh) 数据发送方法和装置、存储介质及电子装置
US10952228B2 (en) Traffic scheduling and processing method, user side translator and core translator
CN103119903A (zh) 网络服务器之间的负载平衡
CN111262715A (zh) 一种虚拟内网加速方法、系统和计算机设备
CN108848198B (zh) 一种多业务转发模式AP的Portal差异化推送方法
CN104065688B (zh) 一种调用底层服务的方法及装置
CN108337331A (zh) 网络穿透方法、装置、系统及网络连通性检查方法
EP3029913A1 (en) Method for processing raw ip packet, and corresponding apparatus
CN102984167A (zh) 一种基于Socks5协议的通用防火墙穿越方法
CN105491178B (zh) 一种基于软件定义网络的主机网卡ip地址获取方法
Hoang A study of Internet protocols

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
TA01 Transfer of patent application right

Effective date of registration: 20210901

Address after: Room 2563, building 11, 6055 Jinhai Road, Fengxian District, Shanghai, 201499

Applicant after: Shanghai Jingxiang Microelectronics Co.,Ltd.

Address before: Room 302, 3 / F, workshop 4, 3G intelligent terminal Industrial Park, 8 Tangyan South Road, hi tech Zone, Xi'an City, Shaanxi Province 710075

Applicant before: XI'AN VANXVM ELECTRONICS TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant