通信方法计算机设备和计算机可读存储介质_第1页
通信方法计算机设备和计算机可读存储介质_第2页
通信方法计算机设备和计算机可读存储介质_第3页
通信方法计算机设备和计算机可读存储介质_第4页
通信方法计算机设备和计算机可读存储介质_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

(19)中华人民共和国国家知识产权局

(12)发明专利申请

(10)申请公布号CN112134826A

(43)申请公布日2020.12.25

(21)申请号201910549545.0

(22)申请日2019.06.24

(71)申请人华为技术有限公司

地址518129广东省深圳市龙岗区坂田华

为总部办公楼

(72)发明人杨仁志王斌江继勇张腾

李艳明

(74)专利代理机构深圳市深佳知识产权代理事

务所(普通合伙)44285

代理人聂秀娜骆苏华

(51)lnt.CI.

H04L29/06(2006.01)

H04L29/08(2006.01)

H04L29/72(2006.01)

权利要求书2页说明书12页附图5页

(54)发明名称

一种通信方法以及相关设备

(57)摘要

本申请实施例公开了一种通信方法以及相

关设备,包括:对称设备监听N个本地公有端口,

其中,N为大于1的自然数:当对称设备在N个本地

公有端口中接收打洞报文时,对称设备根据打洞

报文向锥型设备发送响应报文,以使得对称设备

与锥型设备建立通信连接,其中,打洞报文来自

锥型设备,响应报文携带第一网络信息映射关

系。锥型设备可以与对称设备直接通信,省去了

起数据中继作用的服务器,减小部署服务器的耗

费。

V

9

Z

8

K

H

z

H

g

CN112134826A权利要求书1/2页

1.一种通信方法,其特征在于,包括:

对称设备监听N个本地公有端口,其中,所述N为大于1的自然数;

当所述对称设备在所述N个本地公有端口中接收打洞报文时,

所述对称设备根据所述打洞报文向锥型设备发送响应报文,以使得所述对称设备与所

述锥型设备建立通信连接,其中,所述打洞报文来自所述锥型设备,所述响应报文携带第一

网络信息映射关系。

2.根据权利要求1所述的方法,其特征在于,所述对称设备监听所述N个本地公有端口

之前,所述方法还包括:

所述对称设备向信令服务器发送第一建链请求报文,所述第一建链请求报文中携带所

述第一网络信息、,以使得所述信令服务器根据所述第一网络信息向所述锥型设备发送第二

网络信息映射关系。

3.根据权利要求2所述的方法,其特征在于,所述对称设备向信令服务器发送所述第一

建链请求报文之前,所述方法还包括:

所述对称设备向所述信令服务器发送第一注册报文,所述第一注册报文携带所述第二

网络信息映射关系,所述第二网络信息映射关系中包括第二网络信息。

4.根据权利要求3所述的方法,其特征在于,所述第一网络信息映射关系包括所述对称

设备的第一公有网际互联协议IP地址以及所述对称设备的第一公有端口号。

5.根据权利要求4所述的方法,其特征在于,所述第二网络信息映射关系包括所述对称

设备的第二公有IP地址以及所述对称设备的第二公有端口号。

6.根据权利要求5所述的方法,其特征在于,所述第一网络信息包括所述锥型设备的用

户身份识别号ID、所述锥型设备的媒体访问控制地址MAC地址或所述锥型设备的用户名。

7.根据权利要求6所述的方法,其特征在于,所述第二网络信息包括所述对称设备的用

户身份识别号ID、所述对称设备的媒体访问控制地址MAC地址或所述对称设备的用户名。

8.一种通信方法,其特征在于,包括:

锥型设备向对称设备的M个公有端口发送打洞报文,其中,所述M为大于1的自然数;

所述锥型设备根据响应报文与所述对称设备建立通信连接,其中,所述响应报文为所

述对称设备根据所述打洞报文发送的报文,所述响应报文携带第一网络信息映射关系。

9.根据权利要求8所述的方法,其特征在于,所述锥型设备向所述对称设备的所述M个

公有端口发送所述打洞报文之前,所述方法还包括:

所述锥型设备接收第二网络信息映射关系,其中,所述第二网络信息映射关系为信令

服务器根据第一建链请求报文向所述锥型设备发送的,所述第一建链请求报文来自所述对

称设备。

10.根据权利要求8所述的方法,其特征在于,所述锥型设备向所述对称设备的所述M个

公有端口发送所述打洞报文之前,所述方法还包括:

所述锥型设备向信令服务器发送第二建链请求报文,所述第二建链请求报文中携带第

二网络信息,以使得所述信令服务器根据所述第二网络信息向所述锥型设备发送所述第二

网络信息映射关系;

所述锥型设备接收所述第二网络信息映射关系。

11.根据权利要求9T0中任一项所述的方法,其特征在于,所述锥型设备向所述对称设

2

CN112134826A权利要求书2/2页

备的所述M个公有端口发送所述打洞报文,包括:

所述锥型设备根据所述第二网络信息映射关系向所述对称设备的所述M个公有端口发

送所述打洞报文。

12.根据权利要求11所述的方法,其特征在于,所述锥型设备接收所述第二网络信息映

射关系之前,所述方法还包括:

所述锥型设备向所述信令服务器发送第二注册报文,所述第二注册报文携带所述第一

网络信息。

13.根据权利要求12所述的方法,其特征在于,所述第一网络信息映射关系包括所述对

称设备的第一公有网际互联协议IP地址以及所述对称设备的第一公有端口号。

14.根据权利要求13所述的方法,其特征在于,所述第二网络信息映射关系包括所述对

称设备的第二公有IP地址以及所述对称设备的第二公有端口号。

15.根据权利要求14所述的方法,其特征在于,所述第一网络信息包括所述锥型设备的

用户身份识别号ID、所述锥型设备的媒体访问控制地址MAC地址或所述锥型设备的用户名。

16.根据权利要求15所述的方法,其特征在于,所述第二网络信息包括所述对称设备的

用户身份识别号ID、所述对称设备的媒体访问控制地址MAC地址或所述对称设备的用户名。

17.一种计算机设备,其特征在于,所述计算机设备包括:输入/输出(I/O)接口、处理器

和存储器,

所述存储器中存储有程序指令;

所述处理器用于执行存储器中存储的程序指令,执行如权利要求1至7中任一所述的方

法。

18.一种计算机设备,其特征在于,所述计算机设备包括:输入/输出(I/O)接口、处理器

和存储器,

所述存储器中存储有程序指令;

所述处理器用于执行存储器中存储的程序指令,执行如权利要求8至16中任一所述的

方法。

19.一种计算机可读存储介质,包括指令,其特征在于,当所述指令在计算机设备上运

行时,使得所述计算机设备执行如权利要求1至7中任一项所述的方法。

20.一种计算机可读存储介质,包括指令,其特征在于,当所述指令在计算机设备上运

行时,使得所述计算机设备执行如权利要求8至16中任一项所述的方法。

3

CN112134826A说明书1/12页

一种通信方法以及相关设备

技术领域

[0001]本申请涉及通信领域,尤其涉及一种通信方法以及相关设备。

背景技术

[0002]智能设备的使用深入大家的日常生活,人们已经越来越无法离开智能设备,设备

所处的网络环境非常复杂,当前为了解决网际协议版本4(internetprotocolversion4,

IPv4)公网网际协议地址(internetprotocoladdress,IPaddress)的不足,引入了网络

地址转换技术(networkaddresstranslation,NAT),NAT技术又称地址代理,提供私有地

址和公有IP地址之间的转换,支持内网和公网之间的通信。然而NAT技术带来便利的同时,

NAT解决IP地址紧缺问题的同时带来了NAT穿越问题。

[0003]按照NAT穿越场景分类,一共存在:完全锥型NAT、受限锥型NAT、端口受限锥型NAT

以及对称型NAT这四种场景。其中,对于端口受限锥型NAT的设备与对称型NAT的设备需要使

用通过转发方式穿越NAT(TraversalUsingRelaysaroundNAT,TURN)技术。

[0004]TURN技术中,端口受限锥型NAT的设备与对称型NAT的设备之间的数据交互,需要

通过服务器进行数据转发。端口受限锥型NAT的设备与对称型NAT的设备之间交互的数据量

越大时,对需要执行数据转发的服务器的带宽要求也越大,因此增加部署服务器的耗费。

发明内容

[0005]本申请实施例提供了一种通信方法以及相关设备,对称设备监听N个本地公有端

口,当在这N个本地公有端口中接收到来自锥型设备的打洞报文时,向锥型设备发送响应报

文,该响应报文中携带第一网络信息映射关系,锥型设备可以根据该第一网络信息映射关

系与对称设备建立通信连接。锥型设备可以与对称设备直接通信,省去了起数据中继作用

的服务器,减小部署服务器的耗费。

[0006]有鉴于此,本申请实施例提供如下方案:

[0007]第一方面,本申请实施例提供了一种通信方法,该方法包括:对称设备监听N个本

地公有端口,其中,N为大于1的自然数;当对称设备在N个本地公有端口中接收打洞报文时,

对称设备根据打洞报文向锥型设备发送响应报文,以使得对称设备与锥型设备建立通信连

接,其中,打洞报文来自锥型设备,响应报文携带第一网络信息映射关系。第一网络信息映

射关系包括对称设备的第一公有网际互联协议IP地址以及对称设备的第一公有端口号。

[0008]本申请实施例中对称设备监听N个本地公有端口,当在这N个本地公有端口中接收

到来自锥型设备的打洞报文时,向锥型设备发送响应报文,该响应报文中携带第一网络信

息映射关系,锥型设备可以根据该第一网络信息映射关系与对称设备建立通信连接。锥型

设备可以与对称设备直接通信,省去了起数据中继作用的服务器,减小部署服务器的耗费。

[0009]可选地,在第一方面的一种可能的实现方式中,对称设备监听N个本地公有端口之

前,还可以包括:

[0010]对称设备向信令服务器发送第一建链请求报文,第一建链请求报文中携带第一网

4

CN112134826A说明书2/12页

络信息,由于第一建链请求报文中携带第一网络信息,因此信令服务器根据第一网络信息

确定锥型设备,并向锥型设备发送第二网络信息映射关系。第二网络信息映射关系包括对

称设备的第二公有IP地址以及对称设备的第二公有端口号。第一网络信息包括锥型设备的

用户身份识别号ID、锥型设备的媒体访问控制地址MAC地址或锥型设备的用户名。信令服务

器向锥型设备发送第二网络信息映射关系,为锥型设备提供对称设备的地址与端口号,便

于锥型设备发送打洞报文。

[0011]可选地,在第一方面的一种可能的实现方式中,对称设备向信令服务器发送建链

请求报文之前,还可以包括:

[0012]对称设备向信令服务器发送第一注册报文,第一注册报文携带第二网络信息映射

关系,第二网络信息映射关系中包括第二网络信息。第二网络信息包括对称设备的用户身

份识别号ID、对称设备的媒体访问控制地址MAC地址或对称设备的用户名。对称设备通过向

信令服务器发送第一注册报文,第一注册报文中包括第二网络信息映射关系,使得信令服

务器可以向锥型设备发送对称设备的第二网络信息映射关系,便于锥型设备发送打洞报

文。

[0013]第二方面,本申请实施例提供了一种通信方法,该方法包括:锥型设备向对称设备

的M个公有端口发送打洞报文,其中,M为大于1的自然数;

[0014]锥型设备根据响应报文与对称设备建立通信连接,其中,响应报文为对称设备根

据打洞报文发送的报文,响应报文携带第一网络信息映射关系。第一网络信息映射关系包

括对称设备的第一公有网际互联协议IP地址以及对称设备的第一公有端口号。

[0015]本申请实施例中对称设备监听N个本地公有端口,当在这N个本地公有端口中接收

到来自锥型设备的打洞报文时,向锥型设备发送响应报文,该响应报文中携带第一网络信

息映射关系,锥型设备可以根据该第一网络信息映射关系与对称设备建立通信连接。锥型

设备可以与对称设备直接通信,省去了起数据中继作用的服务器,减小部署服务器的耗费。

[0016]可选地,在第二方面的一种可能的实现方式中,锥型设备向对称设备的M个公有端

口发送打洞报文之前,还可以包括:

[0017]锥型设备接收第二网络信息映射关系,其中,第二网络信息映射关系为信令服务

器根据第一建链请求报文向锥型设备发送的,第一建链请求报文来自对称设备。第二网络

信息映射关系包括对称设备的第二公有IP地址以及对称设备的第二公有端口号。当对称设

备向锥型设备发起通信请求时,对称设备向信令服务器发送第一建链请求报文,信令服务

器根据该第一建链请求报文向锥型设备发送第二网络信息映射关系。锥型设备根据第二网

络信息映射关系向对称设备发送打洞报文。

[0018]可选地,在第二方面的一种可能的实现方式中,锥型设备向对称设备的M个公有端

口发送打洞报文之前,还可以包括:

[0019]锥型设备向信令服务器发送第二建链请求报文,第二建链请求报文中携带第二网

络信息,以使得信令服务器根据第二网络信息向锥型设备发送第二网络信息映射关系;锥

型设备接收第二网络信息映射关系。当锥型设备向对称设备发起通信请求时,锥型设备向

信令服务器发送第二建链请求报文,信令服务器根据该第二建链请求报文向锥型设备发送

第二网络信息映射关系。锥型设备根据第二网络信息映射关系向对称设备发送打洞报文。

[0020]可选地,在第二方面的一种可能的实现方式中,锥型设备向对称设备的M个公有端

5

CN112134826A说明书3/12页

口发送打洞报文,具体包括:

[0021]锥型设备根据第二网络信息映射关系向对称设备的M个公有端口发送打洞报文。

[0022]可选地,在第二方面的一种可能的实现方式中,锥型设备接收第二网络信息映射

关系之前,方法还包括:

[0023]锥型设备向信令服务器发送第二注册报文,第二注册报文携带第一网络信息、。以

便信令服务器可以存储与锥型设备相关的第一网络信息。

[0024]第三方面,本申请实施例提供了一种计算机设备,该计算机设备可以包括:处理器

和存储器;输入/输出Q/0)接口、处理器和存储器,该存储器中存储有程序指令;该处理器

用于执行存储器中存储的程序指令,以使该计算机设备执行如上述第一方面、第一方面任

意一种可能实现方式的通信方法。

[0025]第四方面,本申请实施例提供了一种计算机设备,该计算机设备可以包括:处理器

和存储器;输入/输出(I/O)接口、处理器和存储器,该存储器中存储有程序指令;该处理器

用于执行存储器中存储的程序指令,以使该计算机设备执行如上述第二方面、第二方面任

意一种可能实现方式的通信方法。

[0026]本申请第五方面提供一种计算机可读存储介质,该计算机可读存储介质中存储有

指令,当其在计算机设备上运行时,使得计算机设备可以如执行上述第一方面、第一方面任

意一种可能实现方式的通信方法。

[0027]本申请第六方面提供一种计算机可读存储介质,该计算机可读存储介质中存储有

指令,当其在计算机设备上运行时,使得计算机设备可以如执行上述第二方面、第二方面任

一种可能的实现方式的通信方法。

[0028]本申请第七方面提供一种包含指令的计算机程序产品,当其在计算机上运行时,

使得计算机可以执行上述第一方面或第一方面任意一种可能实现方式的通信方法。

[0029]本申请第八方面提供一种包含指令的计算机程序产品,当其在计算机上运行时,

使得计算机可以执行上述第二方面或第二方面任意一种可能实现方式的通信方法。

[0030]本申请第九方面提供一种芯片系统,该芯片系统包括处理器,用于支持报文转发

装置实现上述第一方面或第一方面任意一种可能的实现方式中所涉及的功能。在一种可能

的设计中,芯片系统还包括存储器,存储器,用于保存报文转发装置必要的程序指令和数

据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。

[0031]本申请第十方面提供一种芯片系统,该芯片系统包括处理器,用于支持报文处理

装置实现上述第二方面或第二方面任意一种可能的实现方式中所涉及的功能。在一种可能

的设计中,芯片系统还包括存储器,存储器,用于保存报文处理装置必要的程序指令和数

据。该芯片系统,可以由芯片构成,也可以包含芯片和其他分立器件。

[0032]其中,第三方面、第五方面、第七方面、第九方面中任一种实现方式所带来的技术

效果可参见第一方面中不同实现方式所带来的技术效果,此处不再赘述。

[0033]其中,第四方面、第六方面、第八方面、第十方面中任一种实现方式所带来的技术

效果可参见第二方面中不同实现方式所带来的技术效果,此处不再赘述。

[0034]从以上技术方案可以看出,本申请实施例具有以下优点:

[0035]对称设备监听N个本地公有端口,当在这N个本地公有端口中接收到来自锥型设备

的打洞报文时,向锥型设备发送响应报文,该响应报文中携带第一网络信息映射关系,锥型

6

CN112134826A说明书4/12页

设备可以根据该第一网络信息映射关系与对称设备建立通信连接。锥型设备可以与对称设

备直接通信,省去了起数据中继作用的服务器,减小部署服务器的耗费。

附图说明

[0036]图1为本申请实施例提供的一种网络结构示意图;

[0037]图2为本申请实施例中锥型设备与对称设备之间通信的示意图;

[0038]图3为本申请实施例中一种通信方法的实施例示意图;

[0039]图4为本申请实施例中一种通信方法的实施例示意图;

[0040]图5为本申请实施例中对称设备的一种实施例示意图;

[0041]图6为本申请实施例中锥型设备的一种实施例示意图;

[0042]图7是本申请实施例中的通信装置的硬件结构一个示意图。

具体实施方式

[0043]本申请实施例提供了一种通信方法以及相关设备,对称设备监听N个本地公有端

口,当在这N个本地公有端口中接收到来自锥型设备的打洞报文时,向锥型设备回复响应报

文,该响应报文中携带第一网络信息映射关系,锥型设备可以根据该第一网络信息映射关

系与对称设备建立通信连接。锥型设备可以与对称设备直接通信,省去了起数据中继作用

的服务器,减小部署服务器的耗费。

[0044]本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第

四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理

解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除

了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何

变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产

品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这

些过程、方法、产品或设备固有的其它步骤或单元。

[0045]为了方便理解,首先对本申请实施例中涉及的概念进行简要说明:

[0046]网络地址转换技术(networkaddresstranslation,NAT):NAT是一个因特网工程

任务组(internetengineeringtaskforce,IETF)标准,允许一个整体机构以一个公有IP

地址(internetprotocol,IP)出现在互联网上。顾名思义,它是一种把内部的私有地址(IP

地址)翻译成合法公有IP地址的技术。因此,NAT能够有效的解决公有IP地址不足的问题。应

用NAT技术的设备之间通信,称为NAT穿越(NATtraversal)。

[0047]请参阅图1,图1为本申请实施例提供的一种网络结构示意图。图1中的用户主机1

与用户主机2均为应用NAT技术的设备,称为NAT设备(或称为NAT主机)。以用户主机1向用户

主机2发送报文为例,用户主机1的私有地址为:192.168.1.2;私有端口为4096,携带有用户

主机1网络信息的报文经过网络地址转换设备处理(或称为NAT网关)后,报文中携带用户主

机1的公有IP地址:202.20.65.4;公有端口为4097。该报文的目的地为用户主机2,具体的地

址为用户主机2的公有IP地址:202.20.65.5;公有端口为4099。而用户主机2的公有IP地址,

同样是与用户主机2连接的网络地址转换设备生成的,具体的,该网络地址转换设备根据用

户主机2的私有地址192.168.1.3;私有端口4098,生成用户主机2的公有IP地址:

7

CN112134826A说明书5/12页

202.20.65.5;公有端口为4099。

[0048]常见的NAT穿越场景可以分为下列4类,iAddr为私有地址,iPort为私有端口;

eAddr为公有IP地址,ePort为公有端口;hAddr为特定设备的公有IP地址,hPort为特定设备

的公有端口。

[0049]1.完全锥型NAT(fullconenat):

[0050]所有从同一个源私有地址和源端口号发送过来的请求报文都会被映射成同一个

源公有IP地址和源端口号,并且任何一个外网主机都可以通过这个映射的源公有IP地址和

源端口号向这台内网主机发送报文。

[0051]其特点为;一旦内部主机端口对(iAddr:iPort)被NAT网关映射到(eAddr:ePort),

所有后续的(iAddr:iPort)报文都会被转换为(eAddr:ePort);任何一个外部主机发送到

(eAddr:ePort)的报文将会被转换后发到(iAddr:iPort)o

[0052]2.限制锥型NAT(restrictedconenat):

[0053]也是所有从同一个源私有地址和源端口号发送过来的请求报文都会被映射成同

一个源公有IP地址和源端口号。与完全锥型NAT不同的是,外网主机只能够向先前己经向它

发送过报文的内网主机发送报文。

[0054]其特点为:一旦内部主机端口对(iAddr:iPort)被映射到(eAddr:ePort),所有后

续的(iAddr:iPort)报文都会被转换为(eAddr:ePort);只有(iAddr:iPort)向特定的外部

主机hAddr发送过数据,主机hAddr从任意端口发送到(eAddr:ePort)的报文将会被转发到

(iAddr:iPort)。

[0055]3.端口限制锥型NAT(portrestrictedconenat):

[0056]与限制锥型NAT很相似,只不过它包括端口号。也就是说,一台源私有地址X和源端

口P的外网主机想给内网主机发送报文,必须是这台内网主机先前已经给这个私有地址X和

源端口P的主机发送过报文。

[0057]其特点为:一旦内部主机端口对(iAddr:iPort)被映射到(eAddr:ePort),所有后

续的(iAddr:iPort)报文都会被转换为(eAddr:ePort);只有(iAddr:iPort)向特定的外部

主机端口对(hAddr:hPort)发送过数据,由(hAddr:hPort)发送到(eAddr:ePort)的报文将

会被转发到(iAddr:iPort)。

[0058]4.对称NAT(symmetricnat):

[0059]所有从同一个源私有地址和源端口号发送到一个特定的目的公有IP地址和目的

端口号的请求,都会被映射到同一个源公有IP地址和源端口号。如果同一台主机使用相同

的源私有地址和源端口号发送报文,但是发往不同的目的地(目的公有IP地址和/或目的端

口号不同),对称NAT设备将会使用不同的映射。此外,只有接收报文的外网主机才可以反过

来向内网主机发送报文。

[0060]首先对本申请实施例中的通信方法进行示意说明,如图2所示,图2为本申请实施

例中锥型设备与对称设备之间通信的示意图。

[0061]无线接入点(accesspoint,AP)通过有线宽带网络接入互联网,并为各类终端设

备提供接入互联网业务,由于有线宽带网络主要为端口受限锥型,因此通过无线接入点使

用互联网业务的终端设备(userequipment,UE)还可以称为锥型设备。

[0062]基站(basestation,BS)通过移动网络接入互联网,该移动网络可以为第四代移

8

CN112134826A说明书6/12页

动通信网络(4G),也可以为第五代移动通信网络(5G)。由于移动网络主要为对称型,因此通

过基站使用互联网业务的终端设备还可以称为对称设备。

[0063]当对称设备与锥型设备之间需要建立通信连接时,例如对称设备中的即时通讯软

件,需要向锥型设备中的即时通讯软件发送消息;或锥型设备中的即时通讯软件需要向对

称设备中的即时通讯软件发送消息时,可使用本申请提出的方案建立通信连接。

[0064]需要说明的是,对称设备与锥型设备,可以包括诸如手机、平板电脑、笔记本电脑、

掌上电脑、个人数字助理(personaldigitalassistant,PDA)、便携式媒体播放器

(portablemediaplayer,PMP)、导航装置、可穿戴设备、等移动终端,以及诸如数字电视、

台式计算机等固定终端。

[0065]在本申请实施例中,对称设备监听本地的N个本地公有端口,N为大于1的自然数。

当在N个本地公有端口中,监听到来自锥型设备的报文时,向锥型设备发送响应报文,锥型

设备根据该响应报文与对称设备建立通信连接。对称设备在本地的公有端口监听到的报

文,是由锥型设备在对称设备一定的报文端口区间,任意选取的M个公有端口发送的,即锥

型设备向对称设备的M个公有端口发送报文,该报文称为打洞报文。对称设备监听N个本地

公有端口,当在这N个本地公有端口中接收到来自锥型设备的打洞报文时,向锥型设备发送

响应报文,该响应报文中携带第一网络信息映射关系,锥型设备可以根据该第一网络信息

映射关系与对称设备建立通信连接。锥型设备可以与对称设备直接通信,省去了起数据中

继作用的服务器,减小部署服务器的耗费。

[0066]下面以实施例的方式,对本申请技术方案做进一步的说明,请参阅图3,图3为本申

请实施例中一种通信方法的实施例示意图。

[0067]如图3所示,本申请实施例提供的通信方法的一个实施例包括:

[0068]101、发送第一注册报文。

[0069]本实施例中,对称设备向信令服务器发送第一注册报文,该第一注册报文中携带

第二网络信息映射关系,该第二网络信息映射关系包括第二网络信息。该第二网络信息映

射关系以及第二网络信息包含于第一注册报文的报文头部。具体的,第二网络信息映射关

系包括对称设备的第二公有IP地址以及对称设备的第二公有端口号。第二网络信息包括对

称设备的用户身份识别号(identitydocument,ID)、对称设备的媒体访问控制地址(media

accesscontroladdress,MAC)或对称设备的用户名。例如:第二网络信息映射关系包括对

称设备的公有IP地址:202.20.65.4;对称设备的公有端口为4097。第二网络信息包括对称

设备的用户身份识别号对称设备的MAC地址:00-23-24-ADTBTB;对称设备

的用户名:zhangsan等。

[0070]信令服务器接收到该第一注册报文后,将该第二网络信息映射关系、该第二网络

信息与该对称设备关联起来,并储存。

[0071]102、发送第二注册报文。

[0072]本实施例中,锥型设备向信令服务器发送第二注册报文,该第二注册报文中携带

第一网络信息,该第一网络信息包括锥型设备的用户身份识别号(identitydocument,

ID)、锥型设备的媒体访问控制地址(mediaaccesscontroladdress,MAC)或锥型设备的

用户名。例如:锥型设备的用户身份识别号锥型设备的MAC地址:00-23-24-

ADTCTC;锥型设备的用户名:lisi等。第二注册报文中还携带有锥型设备的公有IP地址与

9

CN112134826A说明书7/12页

公有端口。

[0073]信令服务器接收到该第二注册报文后,将第一网络信息与该锥型设备关联起来,

并储存。

[0074]需要说明的是,此处不对步骤101与步骤102之间先后关系进行限定,既可以是先

执行步骤101,后执行步骤102、也可以先执行步骤102,后执行步骤101、还可以是同时执行

步骤101与步骤102。

[0075]103、发送第一建链请求报文。

[0076]本实施例中,对称设备向锥型设备发起通信请求时,首先对称设备需要先向信令

服务器发送第一建链请求报文,该第一建链请求报文来自对称设备。因此信令服务器可以

根据该第一建链请求报文,查找得到存储于信令服务器本地的第二网络信息映射关系。

[0077]104、发送第二网络信息映射关系。

[0078]本实施例中,当信令服务器查找到存储于本地的第二网络信息映射关系后,由于

该第一建链请求报文中还携带第一网络信息,例如锥型设备的用户名“lisi”。信令服务器

根据第一网络信息查找锥型设备的公有IP地址与公有端口,并使用该锥型设备的公有IP地

址与公有端口向锥型设备发送第二网络信息映射关系。该第二网络信息映射关系包括:对

称设备的第二公有IP地址以及对称设备的第二公有端口号。

[0079]105、发送打洞报文。

[0080]本实施例中,锥型设备接收到来自信令服务器发送的第二网络信息映射关系后,

根据该第二网络信息映射关系,直接向对称设备的M个公有端口发送打洞报文,其中M为大

于1的自然数。

[0081]具体的:锥型设备选择对称设备的第二公有IP地址作为目的地址,在端口号1024

至66535之间的65511个端口中选择M个端口作为目的端口号,向发送M个打洞报文。例如表

lo

[0082]

报文目的地址目的端口号源地址源端口号

第一个打洞报文202.20.65.42000202.20.65.51500

第二个打洞报文202.20.65.42200202.20.65.51500

第三个打洞报文202.20.65.42500202.20.65.51500

[0083]

•••••••••••••••

第M个打洞报文202.20.65.425500202.20.65.51500

[0084]表1

[0085]需要说明的是,端口号1024至66535端口区间为锥型设备与对称设备提前预留的

端口区间,端口号1024至66535端口区间仅为一种示例说明,还可以是端口号2048至66535

端口区间等其它端口区间,此处不作限定。

[0086]106、监听本地公有端口。

[0087]本实施例中,对称设备在步骤101后开始监听本地的公有端口。具体的,在本地公

有端口号为端口号1024至66535端口区间中任意选择N个本地公有端口进行监听,N为大于1

10

CN112134826A说明书8/12页

的自然数。例如,在端口号1024至66535端口区间选择10个本地公有端口进行监听,这10个

本地公有端口分别为2000、2500、3000、3500、4000、4500、5000、5500、6000、7000。需要说明

的是,对称设备所监听的N个本地端口,既可以是按规律分布的N个端口号,也可以是随机分

布的N个端口号,此处不作限定。

[0088]需要说明的是,端口号1024至66535端口区间为锥型设备与对称设备提前规定的,

预留的端口区间,端口号1024至66535端口区间仅为一种示例说明,还可以是端口号2048至

66535端口区间等其它端口区间,此处不作限定。

[0089]107、发送响应报文。

[0090]本实施例中,当对称设备在所监听的N个本地端口接收到打洞报文后,向锥型设备

发送响应报文,该响应报文中携带第一网络信息映射关系,具体的,包括对称设备的第一公

有网际互联协议IP地址以及对称设备的第一公有端口号。

[0091]108、建立通信连接。

[0092]本实施例中,锥型设备收到来自对称设备的响应报文后,根据该响应报文中携带

的第一网络信息映射关系,得到对称设备的第一公有IP地址以及第一公有端口号,锥型设

备可通过向对称设备的第一公有地址以及第一公有端口号发送报文,建立通信连接。

[0093]本申请实施例中,信令服务器接收对称设备与锥型设备的注册报文,信令服务器

用于向锥型设备发送对称设备的网络信息映射关系,以便于锥型设备发送打洞报文。当对

称设备在本地公有端口监听到打洞报文时,向锥型设备发送响应报文,该响应报文携带对

称设备可成功接收报文的公有IP地址与公有端口号,锥型设备通过接收响应报文,可突破

对称设备(对称NAT)的限制,成功与对称设备建立通信连接。锥型设备可以与对称设备直接

通信,信令服务器仅做交换地址作用,省去了起数据中继作用的服务器,减小部署服务器的

耗费。

[0094]如图4所示,本申请实施例提供的通信方法的另一个实施例包括:

[0095]201、发送第一注册报文。

[0096]本实施例中,与前述步骤101类似,此处不再赘述。

[0097]202、发送第二注册报文。

[0098]本实施例中,与前述步骤102类似,此处不再赘述。

[0099]203、发送第二建链请求报文。

[0100]本实施例中,锥型设备向对称设备发起通信请求时,首先锥型设备需要先向信令

服务器发送第二建链请求报文,该第二建链请求报文携带第二网络信息,例如对称设备的

用户名“zhangsan”。因此信令服务器可以根据该第二建链请求报文,查找得到存储于信令

服务器本地的第二网络信息映射关系。

[0101]204、发送第二网络信息映射关系。

[0102]本实施例中,当信令服务器查找到存储于本地的第二网络信息映射关系后,由于

该第二建链请求报文来自锥型设备,信令服务器根据该第二建链请求报文的报文头获知锥

型设备的公有IP地址与公有端口,并使用该锥型设备的公有IP地址与公有端口向锥型设备

发送第二网络信息映射关系。该第二网络信息映射关系包括:对称设备的第二公有IP地址

以及对称设备的第二公有端口号。

[0103]205、发送打洞报文。

11

CN112134826A说明书9/12页

[0104]本实施例中,与前述步骤105类似,此处不再赘述。

[0105]206、监听本地公有端口。

[0106]本实施例中,与前述步骤106类似,此处不再赘述。

[0107]207、发送响应报文。

[0108]本实施例中,与前述步骤107类似,此处不再赘述。

[0109]208、建立通信连接。

[0110]本实施例中,与前述步骤108类似,此处不再赘述。

[0111]本申请实施例中,信令服务器接收对称设备与锥型设备的注册报文,信令服务器

用于向锥型设备发送对称设备的网络信息映射关系,以便于锥型设备发送打洞报文。当对

称设备在本地公有端口监听到打洞报文时,向锥型设备发送响应报文,该响应报文携带对

称设备可成功接收报文的公有IP地址与公有端口号,锥型设备通过接收响应报文,可突破

对称设备(对称NAT)的限制,成功与对称设备建立通信连接。锥型设备可以与对称设备直接

通信,信令服务器仅做交换地址作用,省去了起数据中继作用的服务器,减小部署服务器的

耗费。

[0112]进一步的,以对称设备监听N个本地公有端口,N为大于1的自然数,锥型设备随机

选择M个公有端口发送打洞报文,M为大于1的自然数,M与N的选择区间为端口号2048至

66535端口区间为例,说明本方案NAT穿越的成功率较高,具体的:

[0113]由于M与N的选择区间为端口号2048至66535端口区间,该端口区间中共计63487个

端口,因此M个端口不在对称设备监听的N个端口的概率为:

[0114]4=嗒7d;

C63487

[0115]其中,A为M个端口不在对称设备监听的N个端口的概率。

[0116]M个端口在对称设备监听的N个端口的概率,即NAT穿越概率(或称为端口预测成功

率)为:

^63487-^=_W-163487-X-N

[0117]B=\-A=\-

L63487__XW63487—X

[0118]其中,B为NAT穿越成功率。

[0119]通过代入多组乂与通十算可得,本方案提出的该通信方法,NAT穿越成功率较高。例

如:N=400,M=500时,NAT穿越成功率为95.8%;N=100,M=500时,NAT穿越成功率为

54.6%。需要说明的是,此处仅做示例性说明,不对具体的M与N进行限定。

[0120]上述主要交互的角度对本申请实施例提供的方案进行了介绍。可以理解的是,上

述对称设备和锥型设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或

软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例

的模块及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能

究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约

束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是

这种实现不应认为超出本申请的范围。

[0121]本申请实施例可以根据上述方法示例对对称设备和锥型设备进行功能模块的划

12

CN112134826A说明书10/12页

分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一

个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的

形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能

划分,实际实现时可以有另外的划分方式。

[0122]下面对本申请中的对称设备进行详细描述,请参阅图5,图5为本申请实施例中对

称设备的一种实施例示意图。对称设备50包括:

[0123]接收模块501,用于监听N个本地公有端口,其中,N为大于1的自然数;

[0124]发送模块502,用于当接收模块501在N个本地公有端口中接收打洞报文时,发送模

块502根据打洞报文向锥型设备发送响应报文,以使得对称设备50与锥型设备建立通信连

接,其中,打洞报文来自锥型设备,响应报文携带第一网络信息映射关系。

[0125]在本申请的一些实施例中,对称设备50包括:

[0126]发送模块502,还用于向信令服务器发送第一建链请求报文,第一建链请求报文中

携带第一网络信息,以使得信令服务器根据第一网络信息向锥型设备发送第二网络信息映

射关系。

[0127]在本申请的一些实施例中,对称设备50包括:

[0128]发送模块502,还用于对称设备50向信令服务器发送第一注册报文,第一注册报文

携带第二网络信息映射关系,第二网络信息映射关系中包括第二网络信息。

[0129]以上实施例中,接收模块,可以由接收器或接收电路或输入接口实现,发送模块,

可以由发送器或发送电路或输出接口实现。

[0130]下面对本申请中的锥型设备进行详细描述,请参阅图6,图6为本申请实施例中锥

型设备的一种实施例示意图。锥型设备60包括:

[0131]发送模块601,用于向对称设备的M个公有端口发送打洞报文,其中,M为大于1的自

然数;

[0132]处理模块602,用于根据响应报文与对称设备建立通信连接,其中,响应报文为对

称设备根据打洞报文发送的报文,响应报文携带第一网络信息映射关系。

[0133]在本申请的一些实施例中,锥型设备60包括:

[0134]接收模块603,用于接收第二网络信息映射关系,其中,第二网络信息映射关系为

信令服务器根据第一建链请求报文向锥型设备60发送的,第一建链请求报文来自对称设

备。

[0135]在本申请的一些实施例中,锥型设备60包括:

[0136]发送模块601,还用于向信令服务器发送第二建链请求报文,第二建链请求报文中

携带第二网络信息,以使得信令服务器根据第二网络信息向锥型设备60发送第二网络信息

映射关系;

[0137]接收模块603,还用于接收第二网络信息映射关系。

[0138]在本申请的一些实施例中,锥型设备60包括:

[0139]发送模块601,具体用于根据第二网络信息映射关系向对称设备的M个公有端口发

送打洞报文。

[0140]在本申请的一些实施例中,锥型设备60包括:

[0141]发送模块601,还用于向信令服务器发送第二注册报文,第二注册报文携带第一网

13

CN112134826A说明书11/12页

络信息。

[0142]以上实施例中,处理模块可以由处理器实现,接收模块,可以由接收器或接收电路

或输入接口实现,发送模块,可以由发送器或发送电路或输出接口实现。

[0143]需要说明的是,上述装置各模块/单元之间的信息交互、执行过程等内容,由于与

本申请方法实施例基于同一构思,其带来的技术效果与本申请方法实施例相同,具体内容

可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。

[0144]上面从模块化功能实体的角度对本申请实施例中的对称设备和锥型设备进行描

述,下面从硬件处理的角度对本申请实施例中的对称设备和锥型设备进行描述。图7是本申

请实施例中的通信装置的硬件结构一个示意图。如图7所示,该通信装置可以包括:

[0145]该通信装置包括至少一个处理器701,通信线路707,存储器703以及至少一个通信

接口704。

[0146]处理器701可以是一个通用中央处理器(centralprocessingunit,CPU),微处理

器,特定应用集成电路(application-specificintegratedcircuit,服务器IC),或一个

或多个用于控制本申请方案程序执行的集成电路。

[0147]通信线路707可包括一通路,在上述组件之间传送信息。

[0148]通信接口704,使用任何收发器一类的装置,用于与其他装置或通信网络通信,如

以太网等。

[0149]存储器703可以是只读存储器(read-onlymemory,ROM)或可存储静态信息和指令

的其他类型的静态存储装置,随机存取存储器(randomaccessmemory,RAM)或者可存储信

息和指令的其他类型的动态存储装置,存储器可以是独立存在,通过通信线路707与处理器

相连接。存储器也可以和处理器集成在一起。

[0150]其中,存储器703用于存储执行本申请方案的计算机执行指令,并由处理器701来

控制执行。处理器701用于执行存储器703中存储的计算机执行指令,从而实现本申请上述

实施例提供的通信方法。

[0151]可选的,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请

实施例对此不作具体限定。

[0152]在具体实现中,作为一种实施例,通信装置可以包括多个处理器,例如图7中的处

理器701和处理器702。这些处理器中的每一个可以是一个单核(single-CPU)处理器,也可

以是一个多核(multi-CPU)处理器。这里的处理器可以指一个或多个装置、电路、和/或用于

处理数据(例如计算机程序指令)的处理核。

[0153]在具体实现中,作为一种实施例,通信装置还可以包括输出装置705和输入装置

706。输出装置705和处理器701通信,可以以多种方式来显示信息。输入装置706和处理器

701通信,可以以多种方式接收用户的输入。例如,输入装置706可以是鼠标、触摸屏装置或

传感装置等。

[0154]上述的通信装置可以是一个通用装置或者是一个专用装置。在具体实现中,通信

装置可以是台式机、便携式电脑、网络服务器、无线终端装置、嵌入式装置或有图7中类似结

构的装置。本申请实施例不限定通信装置的类型。

[0155]在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实

现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。

14

CN112134826A

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论