一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种简易NAT穿越的方法与流程

2022-06-01 06:28:28 来源:中国专利 TAG:

一种简易nat穿越的方法
技术领域
1.本发明涉及互联网终端通信技术领域,尤其涉及一种简易nat穿越的方法。


背景技术:

2.互联网终端一般都应用在nat环境下,必然遇到由于网络地址转换导致的业务地址可达性的问题。为了解决此问题,需要借助一种或多种协议或服务来实现公网可达性,即nat穿越的技术。目前互联网组网环境复杂,导致nat穿越难度徒增,单一方式既无法保证nat穿越的成功率,也无法保证网络数据传输的效率;而用于nat穿越的技术也多且复杂,不便于用户选择和使用。


技术实现要素:

3.本发明提供了一种简易nat穿越的方法,包括依次执行以下步骤:
4.步骤s1:终端向ice服务模块发送coturn服务器信息,ip地址和端口号.
5.步骤s2:终端向ice服务模块发送创建ice对象。
6.步骤s3:终端向ice服务模块获取candidate信息。
7.步骤s4:终端与对端终端交换各自的candidate信息。
8.步骤s5:终端向ice模块发送对端终端的candidate信息。
9.步骤s6:终端向ice模块发送开启ice服务,实现nat穿越。
10.作为本发明的进一步改进,在所述步骤s1中,还包括执行以下步骤:
11.步骤s11:终端将配置的cotrun服务器信息ip地址和端口号发送到ice服务模块。
12.步骤s12:ice服务模块将收到的coturn服务器信息设置到对应的stun和turn配置中。
13.作为本发明的进一步改进,在所述步骤s2中,还包括执行以下步骤
14.s21:终端向ice服务模块发送创建ice对象。
15.s22:ice服务模块创建ice对象,并初始化相关配置信息。
16.作为本发明的进一步改进,在所述步骤s3中,还包括执行以下步骤:
17.s31:终端向ice服务模块发送获取candidate信息请求。
18.s32:ice服务模块收到请求后向coturn服务器获取本终端的candidate信息。
19.s33:ice服务模块将candidate信息发送给终端。
20.作为本发明的进一步改进,在所述步骤s32中,candidate信息包括host candidate、reflexive candidate以及relay candidate。
21.作为本发明的进一步改进,在所述步骤s4中,还包括执行以下步骤:
22.s41:终端将获取的candidate信息通过通信服务器的sip信令发送给对端终端。
23.s42:对端终端将其获取的candidate通过通信服务器的sip响应信令中带回给本终端。
24.s43:终端双方完成candiate信息交换。
25.作为本发明的进一步改进,在所述步骤s5中,还包括执行以下步骤:
26.s51:终端将收到的对端终端的candidate信息发送给ice服务器模块。
27.s52:ice服务器模块将收到的candidate信息添加到配置信息中。
28.作为本发明的进一步改进,在所述步骤s6中,还包括执行以下步骤:
29.s61:终端向ice服务模块发送开启ice服务。
30.s62:ice服务模块根据本机candidate及对端candidate信息执行ice流程,向对端终端发起连通性探测。
31.s63:ice服务器通过探测结果,建立nat通道,实现穿越功能。
32.s64:终端通过ice服务器创建的nat通道交换通讯信息,实现音视频通讯功能。
33.本发明的有益效果是:本发明公开的一种简易nat穿越的方法,提供高效且简易的消息方式,实现复杂的nat穿越的功能,方便用户使用。
附图说明
34.图1是本发明方法的原理图;
35.图2是本发明方法的整体流程图;
36.图3是本发明方法中ice服务模块架构图;
37.图4是本发明方法中终端与ice服务模块的信息交互接口图。
具体实施方式
38.名词解释:
39.nat:一种网络地址转换的方法,通过将内部网络ip地址替换为出口ip地址,提供公网可达性和上层协议连接的能力。
40.pjsip:一个开源的sip协议栈软件。
41.pjnath:pjsip软件中的一个库,实现nat穿越的方法的软件。
42.coturn:一种实现了stun/turn/ice协议的服务器。
43.stun:一种网络协议,协助nat穿越的工具。
44.turn:一种网络协议,协助nat穿越的工具。
45.ice:一种利用stun/turn协议,采用交互式连通建立nat穿越的方法。
46.candidate:一段携带了协议类型、ip地址、端口和类型的字符串。
47.本发明基于pjnath库,兼容stun和trun两种网络协议,采用交互式连通的方式(ice)建立nat穿越通道,以服务方式向用户提供解决方案。本发明将nat穿越的所有操作全部集中在ice服务模块中实现,提供简单的消息接口给用户,用户只需要启动ice服务模块,发送几个简单的交互信息,即可在ice服务模块的协助下实现nat穿越的能力。
48.图1是本发明公开的一种简易nat穿越的方法的原理图,包括:
49.通信服务器:用于互联网音视频终端通信的服务器,使用sip协议。
50.coturn服务器:结合了stun及turn服务功能,支持ice方式的服务器;向客户端提供candidate信息,协助客户端实现ice探测,并提供中继转发数据的功能。
51.ice服务模块:以pjnath库为基础,通过自定义的消息接口与终端交互,实现终端nat穿越的服务模块;ice服务模块通过向coturn服务器发送stun和turn消息,获取本机
candidate信息,并返回给互联网音视频终端,获取到对端candidate信息后,通过ice探测功能,以优先级方式选择合适通路,建立nat穿越通道,实现nat穿越功能。
52.互联网音视频终端:一种应用在互联网上的终端软件,通过通信服务器的sip信令,实现音视频通话等功能;本发明中借助ice服务模块的消息接口,通过ice服务模块建立的nat通道,解决nat环境下由于网络地址转换导致的业务地址可达性的问题。
53.如图2所示,本发明公开了一种简易nat穿越的方法,包括依次执行以下步骤:
54.步骤s1:终端向ice服务模块发送coturn服务器信息,ip地址和端口号。
55.步骤s2:终端向ice服务模块发送创建ice对象。
56.步骤s3:终端向ice服务模块获取candidate信息。
57.步骤s4:终端与对端终端交换各自的candidate信息。
58.步骤s5:终端向ice模块发送对端终端的candidate信息。
59.步骤s6:终端向ice模块发送开启ice服务,实现nat穿越。
60.在所述步骤s1中,还包括执行以下步骤:
61.步骤s11:终端将配置的cotrun服务器信息ip地址和端口号发送到ice服务模块。
62.步骤s12:ice服务模块将收到的coturn服务器信息设置到对应的stun和turn配置中。
63.在所述步骤s2中,还包括执行以下步骤:
64.s21:终端向ice服务模块发送创建ice对象;
65.s22:ice服务模块创建ice对象,并初始化相关配置信息。
66.在所述步骤s3中,还包括执行以下步骤:
67.s31:终端向ice服务模块发送获取candidate信息请求;
68.s32:ice服务模块收到请求后向coturn服务器获取本终端的candidate信息,host candidate(本地地址)、reflexive candidate(公网映射地址)以及relay candidate(转发地址)。
69.s33:ice服务模块将candidate信息发送给终端。
70.在所述步骤s4中,还包括执行以下步骤:
71.s41:终端将获取的candidate信息通过通信服务器的sip信令发送给对端终端。
72.s42:对端终端将其获取的candidate通过通信服务器的sip响应信令中带回给本终端。
73.s43:终端双方完成candiate信息交换。
74.在所述步骤s5中,还包括执行以下步骤:
75.s51:终端将收到的对端终端的candidate信息发送给ice服务器模块。
76.s52:ice服务器模块将收到的candidate信息添加到配置信息中。
77.在所述步骤s6中,还包括执行以下步骤:
78.s61:终端向ice服务模块发送开启ice服务。
79.s62:ice服务模块根据本机candidate及对端candidate信息执行ice流程,向对端终端发起连通性探测。
80.s63:ice服务器通过探测结果,建立nat通道,实现穿越功能。
81.s64:终端通过ice服务器创建的nat通道交换通讯信息,实现音视频通讯功能。
82.图3是本发明一种简易nat穿越的方法的ice服务模块架构图,包括:
83.pjnath库:pjsip软件中的一个库,以stun和turn协议为基础,通过交互式方法(即ice)建立nat通道;可通过修改配置管理信息,控制ice的处理逻辑。
84.服务消息接口:提供给互联网音视频终端使用,以pjnath库为基础,通过消息修配置及改pjnath库配置信息,实现控制ice处理逻辑,实现建立nat通道的消息接口;
85.互联网音视频终端通过此消息接口可配置coturn服务信息,ip地址及端口号;通过此消息接口可获取本地candidate信息,用于和对端交换信息;通过此消息接口可将对端candidate信息配置到pjnath配置信息中;通过此消息接口可启动和关闭ice服务功能。
86.图4是本发明的一种简易nat穿越的方法中终端与ice服务模块信息交互的接口,包括:
87.控制接口:采用udp协议,终端通过此接口实现方案中s1到s6消息传输,其中,采用自定义消息格式,imagic是消息的魔术值、ireqid是消息请求id号码、iopttype判断具体操作类型、ilenth是附带数据长度、cdate是附带数据信息。
88.媒体接口:采用udp协议,携带rtp/rtsp媒体数据,用于媒体信息交互。
89.本发明公开的一种简易nat穿越的方法中,互联网音视频终端在启动时,启动ice服务模块,启动ice服务模块的参数中带上控制接口使用有效的udp端口号(终端收/发信息的端口号),ice服务模块以此为基础建立对应的udp通道。
90.本发明公开的一种简易nat穿越的方法中,ice服务模块建立nat通道后将映射的本地媒体通道的端口号通过消息接口告知终端,用于终端收发媒体库消息。
91.本发明的有益效果:本发明公开的一种简易nat穿越的方法,提供高效且简易的消息方式,实现复杂的nat穿越的功能,方便用户使用。
92.以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献