CN114401304B - 一种基于ip的去中心化端到端连接通信系统 - Google Patents

一种基于ip的去中心化端到端连接通信系统 Download PDF

Info

Publication number
CN114401304B
CN114401304B CN202111346401.9A CN202111346401A CN114401304B CN 114401304 B CN114401304 B CN 114401304B CN 202111346401 A CN202111346401 A CN 202111346401A CN 114401304 B CN114401304 B CN 114401304B
Authority
CN
China
Prior art keywords
party
connection
signaling
port
data
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
CN202111346401.9A
Other languages
English (en)
Other versions
CN114401304A (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.)
Guangzhou Founder Technology Co ltd
Original Assignee
Guangzhou Founder 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 Guangzhou Founder Technology Co ltd filed Critical Guangzhou Founder Technology Co ltd
Priority to CN202111346401.9A priority Critical patent/CN114401304B/zh
Publication of CN114401304A publication Critical patent/CN114401304A/zh
Application granted granted Critical
Publication of CN114401304B publication Critical patent/CN114401304B/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
    • 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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/164Adaptation or special uses of UDP protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于IP的去中心化端到端连接通信系统,其去掉了P2P连接过程中中心服务器的黑盒作用,中心服务器甚至都可以不存在;另外,不需要引入任何代理过程或者需要增加任何的适配器,并且在端与端连接之后提供了一种能够自适应链路层网络切换及网络抖动,以及在UDP协议下的可靠传输保障的方法,具体步骤见说明书具体实施例。

Description

一种基于IP的去中心化端到端连接通信系统
技术领域
本发明涉及IP的去中心化端到端连接技术领域,特别涉及一种基于IP的去中心化端到端连接通信系统。
背景技术
随着物理网技术的快速发展,基于TCP/IP协议基础上的MQTT或CoAP等设备连接通信技术被互联网云厂商广泛采纳,国内外的各大云厂商如亚马逊、阿里云、腾讯云等纷纷推出了基于MQTT或CoAP的消息中间件。
从用户侧的角度看,采用现有云厂商提供的设备连接技术,用户家中的设备数据必须接入到云厂商的平台上,用户才能够有远程“连接”和管理设备的能力。而事实上,用户可能只是为了完成一些与家中智能设备“即时”的通信诉求,却要向互联网平台商“贡献”自己的隐私数据。
从技术的角度上看,二十世纪90年代互联网及WWW的普及,让人们告别了信息孤岛,并且经过十几年的发展变得成熟和可编程化,并迈向了二十一世纪。紧接着随着通信技术从2G走向3G、4G,个人化的社交互动变得触手可及的,手机的智能化普及以及通信技术的发展拉近了互联网服务商与消费者之间的距离。但事实上,这一代的互联网存在一个问题,就是这些产品总存在一个中间人:一个充当了A与B之间不信任或互相信任的居间方角色。尽管这些平台在创建个设备与设备、人与个人交易经济的方面做得非常出色,也制定了交易和连接的所有“规则”,但不可避免的事情是,这些平台拥有了用户的数据“复制”。这种C/S的架构设计数据不在自己的机器上,不管是连接的实时性,还是数据的可信性,都引发了信任问题:用户无法完全相信那些中转设备指令、存储自己数据的厂商或机构,相信他们没有发生腐败或者数据泄露问题,同时如果出现故障和数据迁移,无法界定是人为还是机器故障,是故意的还是意外的。
在这样的背景下,本发明针对“连接”这一技术主题,发明了一种基于IP的去中心化的端到端连接通信系统,用于解决现有各大云平台厂商提供的设备连接技术存在的实时性、可靠性、状态可信度、数据隐私性以及跨平台互通等无法解决的问题。能够将设备连接和数据的授权、控制完全交给设备的所有者掌控。避免现有C/S架构下存在的“如果用户不够买中间服务商提供的产品,那么用户数据就会被包装成为中间服务商的产品被售卖”的问题。
发明内容
本发明的目的是提供一种基于IP的去中心化端到端连接通信系统,其去掉了P2P连接过程中中心服务器的黑盒作用,中心服务器甚至都可以不存在;另外,不需要引入任何代理过程或者需要增加任何的适配器,并且在端与端连接之后提供了一种能够自适应链路层网络切换及网络抖动,以及在UDP协议下的可靠传输保障的方法。
为了解决上述技术问题,本发明的技术方案为:
一种基于IP的去中心化端到端连接通信系统,其特征在于,连接方要发起与被连接方的去中心化连接时,该方法包含以下步骤:
A、每一个客户端都需要提供一种信令数据传输端口,该端口能够处理建立端到端连接所需要的用到的标准化信令协议,该端口的链路层通信协议可以采用蓝牙、串口、局域网、长链接等各种方式,该端口需要能够至少接收和处理如下几种信令协议:
a)连接请求信令协议:客户端需要能够处理从端口接收到的标准连接请求协议,该协议中带着连接方所拥有的全球唯一ID、数据交换端口、交换方式等信息。
b)连接请求答复信令协议:客户端需要能够处理从端口接收到的标准连接请求答复协议,该协议中带着被连接方的数字签名公钥、全球唯一ID等信息。
c)ICE候选地址交换信令协议:客户端需要能够处理从端口接收到的可连接的候选地址交换协议,包括设置ICE本地候选地址,ICE远端候选地址等信息。
d)是否可达查询信令协议:客户端需要能够处理从端口接收到的是否可达查询协议。
e)是否可达查询答复信令协议:客户端需要能够处理从端口接收到的是否可达查询答复协议。
B、被连接方在启动之后进行上下文初始化,生成全球唯一ID,非对称加密的公私钥、并设定默认的被连接策略(包含用户必须确认,用户默认时间内不确认则拒绝连接、用户默认时间内不确认默认允许连接、用户默认允许连接等)等信息,这些信息与A步骤中的端口一起构成被连接方对外提供的“连接建立”信息的数字描述。
C、连接方同样,在启动之后进行上下文初始化,生成全球唯一ID,非对称加密的公私钥、并设定默认的被连接策略(包含用户必须确认,用户默认时间内不确认则拒绝连接、用户默认时间内不确认默认允许连接、用户默认允许连接等)等信息,这些信息与A步骤中的端口一起构成连接方对外提供的“连接建立”信息的数字描述。
D、连接方通过摄像头传感器、短信、互联网、局域网发现等各种可能的方式获得被连接方提供的“连接建立”数字描述,通过对数字信息的解析,连接方判断自己是否能够与被连接方所提供的标准化信令协议端口进行通信,支持的话就向被连接方的端口发送“连接请求信令协议”。
E、被连接方从信令数据传输端口中接收并处理“连接请求信令协议”,从信令中解析出连接方采用的标准化信令协议通信端口,被连接方判断自己是否能够与连接方所提供的标准化信令协议端口进行通信,支持的话根据配置的连接策略向连接方的端口发送“连接请求答复信令协议”。
F、连接方接收到“连接请求答复信令协议后”,启动ICE过程进行NAT穿透,通过传入标准的STUN及TURN服务地址,连接方会采集到host,srflx,prflx,relay几种对等网络穿透交换地址,并添加为本地候选地址,同时,将收集到的地址逐个向被连接方的信令数据传输端口发送ICE候选地址交换信令协议。
G、被连接方端口接收到“ICE候选地址交换信令协议”的消息后,从数据中解析出ICE候选地址,并添加为远端候选地址,同时启动ICE过程进行NAT穿透,通过传入标准的STUN及TURN服务地址,采集到host,srflx,prflx,relay几种对等网络穿透交换地址并添加为本地候选地址,同时,将收集到的地址逐个向连接方的信令数据传输端口发送ICE候选地址交换信令协议。
H、连接方端口接收到“ICE候选地址交换信令协议”的消息后,从数据中解析出ICE候选地址,并添加为远端候选地址,至此完成连接过程的建立。
本发明的有益效果:
该发明的一个主要特点就是去掉了P2P连接过程中中心服务器的黑盒作用,利用本发明专利的方法,中心服务器甚至都可以不存在。另外,不需要引入任何代理过程或者需要增加任何的适配器,并且在端与端连接之后提供了一种能够自适应链路层网络切换及网络抖动,以及在UDP协议下的可靠传输保障的方法。其采用了UDP无连接协议,但是又设计了一种数据包校验、排序和重传确认的流程和方法,保证了数据传输过程中不丢数据、不粘包、不乱序的可靠性传输问题。解决了传统P2P连接建立过程中无法去中心化的问题,需要中心服务器辅助的连接过程是黑盒过程,使得端到端的连接无法脱离平台而存在。
附图说明
图1为客户端之间,无信令平台的组网图;
图2为客户端之间,有信令平台的组网图;
图3为本发明的端到端连接建立流程图(无信令平台辅助a部分);
图4为本发明的端到端连接建立流程图(无信令平台辅助b部分);
图5为本发明的端到端连接建立流程图(有信令平台辅助a部分);
图6为本发明的端到端连接建立流程图(有信令平台辅助b部分);
图7为连接建立后可靠数据实时传输流程图流程图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步说明。在此需要说明的是,对于这些实施方式的说明用于帮助理解本发明,但并不构成对本发明的限定。此外,下面所描述的本发明各个实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互组合。
如图1-7所示,一种基于IP的去中心化端到端连接通信系统,其特征在于,连接方要发起与被连接方的去中心化连接时,该方法包含以下步骤:
A、每一个客户端都需要提供一种信令数据传输端口,该端口能够处理建立端到端连接所需要的用到的标准化信令协议,该端口的链路层通信协议可以采用蓝牙、串口、局域网、长链接等各种方式,该端口需要能够至少接收和处理如下几种信令协议:
f)连接请求信令协议:客户端需要能够处理从端口接收到的标准连接请求协议,该协议中带着连接方所拥有的全球唯一ID、数据交换端口、交换方式等信息。
g)连接请求答复信令协议:客户端需要能够处理从端口接收到的标准连接请求答复协议,该协议中带着被连接方的数字签名公钥、全球唯一ID等信息。
h)ICE候选地址交换信令协议:客户端需要能够处理从端口接收到的可连接的候选地址交换协议,包括设置ICE本地候选地址,ICE远端候选地址等信息。
i)是否可达查询信令协议:客户端需要能够处理从端口接收到的是否可达查询协议。
j)是否可达查询答复信令协议:客户端需要能够处理从端口接收到的是否可达查询答复协议。
B、被连接方在启动之后进行上下文初始化,生成全球唯一ID,非对称加密的公私钥、并设定默认的被连接策略(包含用户必须确认,用户默认时间内不确认则拒绝连接、用户默认时间内不确认默认允许连接、用户默认允许连接等)等信息,这些信息与A步骤中的端口一起构成被连接方对外提供的“连接建立”信息的数字描述。
C、连接方同样,在启动之后进行上下文初始化,生成全球唯一ID,非对称加密的公私钥、并设定默认的被连接策略(包含用户必须确认,用户默认时间内不确认则拒绝连接、用户默认时间内不确认默认允许连接、用户默认允许连接等)等信息,这些信息与A步骤中的端口一起构成连接方对外提供的“连接建立”信息的数字描述。
D、连接方通过摄像头传感器、短信、互联网、局域网发现等各种可能的方式获得被连接方提供的“连接建立”数字描述,通过对数字信息的解析,连接方判断自己是否能够与被连接方所提供的标准化信令协议端口进行通信,支持的话就向被连接方的端口发送“连接请求信令协议”。
E、被连接方从信令数据传输端口中接收并处理“连接请求信令协议”,从信令中解析出连接方采用的标准化信令协议通信端口,被连接方判断自己是否能够与连接方所提供的标准化信令协议端口进行通信,支持的话根据配置的连接策略向连接方的端口发送“连接请求答复信令协议”。
F、连接方接收到“连接请求答复信令协议后”,启动ICE过程进行NAT穿透,通过传入标准的STUN及TURN服务地址,连接方会采集到host,srflx,prflx,relay几种对等网络穿透交换地址,并添加为本地候选地址,同时,将收集到的地址逐个向被连接方的信令数据传输端口发送ICE候选地址交换信令协议。
G、被连接方端口接收到“ICE候选地址交换信令协议”的消息后,从数据中解析出ICE候选地址,并添加为远端候选地址,同时启动ICE过程进行NAT穿透,通过传入标准的STUN及TURN服务地址,采集到host,srflx,prflx,relay几种对等网络穿透交换地址并添加为本地候选地址,同时,将收集到的地址逐个向连接方的信令数据传输端口发送ICE候选地址交换信令协议。
H、连接方端口接收到“ICE候选地址交换信令协议”的消息后,从数据中解析出ICE候选地址,并添加为远端候选地址,至此完成连接过程的建立。
该技术满足在不需要中心服务器的条件下,与对端完成P2P穿透连接,利用该发明技术,能够保障端到端连接在可通信流程下近乎100%的穿透成功率,同时,由于在传输层采用的是无连接的UDP技术,还能够保证在用户在移动网络变化的情况下,具备较强鲁棒性。短暂的网络抖动能够无感知地帮助用户恢复连接。本发明把实现该过程的步骤分为端到端连接建立流程,以及连接建立后可靠数据实时传输流程。同时,不但提出了无信令平台辅助的一般性通用实现过程,还提出了有信令平台辅助的更简便的一种连接建立过程。
无信令平台的端到端穿透连接实现步骤如下:
步骤1301:描述了连接方A在程序启动之后处于一个独立的端口监听过程。
步骤1302:连接方A在开机启动后,根据自己支持的硬件特性,生成“连接建立”所需要的数字描述信息,比如A带有标准蓝牙传输硬件,并能够通过蓝牙接收数据,则数字描述信息当中就具备蓝牙监听的端口及服务数据标准,以及通信加密过程需要使用秘钥信息及数字签名所需的公私钥信息。
步骤1303:连接方A进入到监听模式下。
步骤1304:描述了被连接方B在程序启动之后处于一个独立的端口监听过程。
步骤1305:被连接方B在开机启动后,根据自己支持的硬件特性,生成“连接建立”所需要的数字描述信息,比如B支持长连接特性,能够随时接收服务器推送信令数据,则数字描述信息当中就包含B所采用的长连接推送消息的RPC方法,以及与B通信加密过程中所需要的的公钥信息。
步骤1306:被连接方B进入到监听模式下。
步骤1307:描述了连接方A获得被连接方B在1304步骤中生成的数字信息过程。
步骤1308:连接方A获取被连接方B生成的数字信息,该过程可以是各种方法,比如文件形式从U盘读取,接口描述信息从网络读取,二维码形式从摄像头传感器读取,局域网广播形式从无线网卡中读取等。
步骤1309:连接方A解析信息,判断是否具备与被连接方B进行通信的物理端口,如果不具备端口通信条件,流程结束。
步骤1310:连接方A具备与B的连接通信条件,则开始向B的监听端口发送“连接请求信令协议”。
步骤1311:描述了被连接方B从监听端口中接收到连接方A在1310步骤中发送“连接请求信令协议”的过程。
步骤1312:被连接方B从信令监听端口中接收到“连接请求信令协议”。
步骤1313:被连接方B从1312步骤中获得连接方A生成的数字信息,并进行解析,同时被连接方B判断否具备与连接方A进行通信的物理端口,如果不具备端口通信条件,流程结束。
步骤1314:被连接方B具备与A的连接通信条件,则向开始向A的监听端口发送“连接请求答复信令协议”。
步骤1315:描述了连接方A在获得1314步骤信令数据之后,启动连接及NAT穿透的过程。
步骤1316:连接方A从信令监听端口中接收到“连接请求答复信令协议”。
步骤1317:连接方A启动ICE过程,根据STUN协议,收集到host,srflx,prflx,relay几种对等网络穿透交换地址。
步骤1318:连接方A将步骤1317收集到的地址设置为本地候选地址。
步骤1319:连接方A向被连接方B的监听端口发送“ICE候选地址交换信令协议”。
步骤1320:描述了被连接方B在获得1319步骤的信令数据之后,启动连接及NAT穿透的过程。
步骤1321:被连接方B从信令监听端口中接收到“ICE候选地址交换信令协议”。
步骤1322:被连接方B进行信令解析,并将接收到的候选地址设置为远端候选地址。
步骤1323:被连接方B启动ICE过程,根据STUN协议,收集到host,srflx,prflx,relay几种对等网络穿透交换地址。
步骤1324:被连接方B将步骤1323收集到的地址设置为本地候选地址。
步骤1325:被连接方B向连接方A的监听端口发送“ICE候选地址交换信令协议”,之后直接进入1329步骤流程。
步骤1326:描述了连接方在获得1325步骤的信令数据之后,完成与被连接方B的连接过程。
步骤1327:连接方A从信令监听端口中接收到“ICE候选地址交换信令协议”。
步骤1328:连接方A进行信令解析,并将接收到的候选地址设置为远端候选地址。
步骤1329:该步骤描述了IETF-RFC 8445国际标准协议中完成连通性检查并建立连接的过程。
步骤1330:根据IETF-RFC 8445的标准进行连通性检查流程。
步骤1331:连接方A和被连接方B根据ICE标准的反馈结果,判断能否成功穿透并连接,不行则连接结束,可以的话就完成了A与B的端到端连接过程。
有信令平台的端到端穿透连接实现是无信令平台的穿透连接实现方式的一种简单变种,在连接方A和连接方B只具备支持IP协议硬件接口的时候,有信令平台的端到端穿透实现是一种更简单的设计。
有信令平台的端到端穿透连接实现步骤如下:
步骤1401:描述了连接方A在程序启动之后处于一个独立的端口监听过程。
步骤1402:连接方A在开机启动后,生成“连接建立”所需要的数字描述信息,包括通信加密过程需要使用秘钥信息及数字签名所需的公私钥信息。
步骤1403:连接方A接入信令平台,信令平台为连接方A生成全平台唯一的“可连接”数字信息。
步骤1404:描述了被连接方B在程序启动之后处于一个独立的端口监听过程。
步骤1405:被连接方B在开机启动后,生成“连接建立”所需要的数字描述信息,包括通信加密过程需要使用秘钥信息及数字签名所需的公私钥信息。
步骤1406:被连接方B接入信令平台,信令平台为被连接方B生成全平台唯一的“可连接”数字信息。
步骤1407:连接方A通过信令平台向被连接方B发出连接请求。
步骤1408:信令平台向被连接方B发出A的连接请求信令。
步骤1409:被连接方B通过信令平台向A连接请求信令答复结果。
步骤1410:信令平台向连接方A发出B的回复确认结果。
步骤1411:连接方A判断从信令平台返回的答复结果,判断过程包裹针对接收到的数据进行数字签名校验,如果回复结果是不可连接或者数字签名校验失败,则流程结束。
步骤1412:连接方A启动ICE过程,根据STUN协议,收集到host,srflx,prflx,relay几种对等网络穿透交换地址。
步骤1413:连接方A将步骤1412收集到的地址设置为本地候选地址。
步骤1414:连接方A通过信令平台向被连接方B发送“ICE候选地址交换信令协议”。
步骤1415:信令平台向被连接方B转发A的“ICE候选地址交换信令协议”。
步骤1416:被连接方B从信令平台接收到A的“ICE候选地址交换信令协议”,并设置为远端候选地址。
步骤1417:被连接方B启动ICE过程,根据STUN协议,收集到host,srflx,prflx,relay几种对等网络穿透交换地址。
步骤1418:被连接方B将步骤1417收集到的地址设置为本地候选地址。
步骤1419:被连接方B通过信令平台向连接方A发送“ICE候选地址交换信令协议”。
步骤1420:连接方A从信令平台接收到被连接方B发送的“ICE候选地址交换信令协议”。
步骤1421:连接方A进行信令解析,并将接收到的候选地址设置为远端候选地址,并进入到步骤1422。
步骤1422:该步骤描述了IETF-RFC 8445国际标准协议中完成连通性检查并建立连接的过程。
步骤1423:根据IETF-RFC 8445的标准进行连通性检查流程。
步骤1424:连接方A和被连接方B根据ICE标准的反馈结果,判断能否成功穿透并连接,不行则连接结束,可以的话就完成了A与B的端到端连接过程。
由上述步骤所示,采用有信令服务器辅助的连接方案,实际上是无信令服务器的一种变种方案,信令服务器的存在能够让端到端的连接建立过程变得更加直观和简单。
在完成连接建立后,为保证传输层采用UDP协议带来的数据报文不可靠的问题,本发明设计了可靠数据实时传输流程,实现步骤如下:
步骤1501:已经建立端到端连接的A准备向对端B发送数据。
步骤1502:发送端A获得与对端B的连接服务句柄。
步骤1503:发送端A通过连接服务句柄将待发送数据转化为跨平台的可序列化的待发送数据。
步骤1504:连接服务句柄提供可靠数据流服务,该服务将步骤1503的数据转化为流数据。
步骤1505:可靠流服务将包放入自定义可信UDP的待发送缓冲区之中,可靠UDP数据包算法可以是RUDP、SCTP等各种不同的可靠UDP算法实现。
步骤1506:发送方A通过端到端UDP数据句柄发送可靠UDP数据包。
步骤1507:接收方B在端到端的UDP数据句柄中接收到了UDP数据包。
步骤1508:接收方B将UDP数据包传入与发送方相同的自定义可信UDP的待接收缓冲区之中。
步骤1509:可靠流服务从可信UDP待接收缓冲区之中读取数据并转化为流数据。
步骤1510:连接服务句柄将可靠流服务数据转化为跨平台的序列化数据。
步骤1511:接收方B从服务句柄中获得返回的序列化数据。
步骤1512:接收方B获得A发送过来的数据。
以上结合附图对本发明的实施方式作了详细说明,但本发明不限于所描述的实施方式。对于本领域的技术人员而言,在不脱离本发明原理和精神的情况下,对这些实施方式进行多种变化、修改、替换和变型,仍落入本发明的保护范围。

Claims (3)

1.一种基于IP的去中心化端到端连接通信系统,其特征在于:连接方要发起与被连接方的去中心化连接时,包含以下步骤:
A、每一个客户端都需要提供一种信令数据传输端口,该端口能够处理建立端到端连接所需要的用到的标准化信令协议,该端口需要能够至少接收和处理如下几种信令协议:
a)连接请求信令协议:客户端需要能够处理从端口接收到的标准连接请求协议,该协议中带着连接方所拥有的全球唯一ID、数据交换端口、交换方式信息;
b)连接请求答复信令协议:客户端需要能够处理从端口接收到的标准连接请求答复协议,该协议中带着被连接方的数字签名公钥、全球唯一ID信息;
c)ICE候选地址交换信令协议:客户端需要能够处理从端口接收到的可连接的候选地址交换协议,包括设置ICE本地候选地址,ICE远端候选地址信息;
d)是否可达查询信令协议:客户端需要能够处理从端口接收到的是否可达查询协议;
e)是否可达查询答复信令协议:客户端需要能够处理从端口接收到的是否可达查询答复协议;
B、被连接方在启动之后进行上下文初始化,生成全球唯一ID,非对称加密的公私钥、并设定默认的被连接策略信息,这些信息与A步骤中的端口一起构成被连接方对外提供的“连接建立”信息的数字描述;
C、连接方在启动之后进行上下文初始化,生成全球唯一ID,非对称加密的公私钥、并设定默认的被连接策略信息,这些信息与A步骤中的端口一起构成连接方对外提供的“连接建立”信息的数字描述;
D、连接方通过摄像头传感器、短信、互联网、局域网获得被连接方提供的“连接建立”数字描述,通过对数字信息的解析,连接方判断自己是否能够与被连接方所提供的标准化信令协议端口进行通信,支持的话就向被连接方的端口发送“连接请求信令协议”;
E、被连接方从信令数据传输端口中接收并处理“连接请求信令协议”,从信令中解析出连接方采用的标准化信令协议通信端口,被连接方判断自己是否能够与连接方所提供的标准化信令协议端口进行通信,支持的话根据配置的连接策略向连接方的端口发送“连接请求答复信令协议”;
F、连接方接收到“连接请求答复信令协议后”,启动ICE过程进行NAT穿透,通过传入标准的STUN及TURN服务地址,连接方会采集到host,srflx,prflx,relay几种对等网络穿透交换地址,并添加为本地候选地址,同时,将收集到的地址逐个向被连接方的信令数据传输端口发送ICE候选地址交换信令协议;
G、被连接方端口接收到“ICE候选地址交换信令协议”的消息后,从数据中解析出ICE候选地址,并添加为远端候选地址,同时启动ICE过程进行NAT穿透,通过传入标准的STUN及TURN服务地址,采集到host,srflx,prflx,relay几种对等网络穿透交换地址并添加为本地候选地址,同时,将收集到的地址逐个向连接方的信令数据传输端口发送ICE候选地址交换信令协议;
H、连接方端口接收到“ICE候选地址交换信令协议”的消息后,从数据中解析出ICE候选地址,并添加为远端候选地址,至此完成连接过程的建立。
2.根据权利要求1所述的基于IP的去中心化端到端连接通信系统,其特征在于:无信令平台的端到端穿透连接实现步骤如下:
步骤1301:连接方A在程序启动之后处于一个独立的端口监听过程;
步骤1302:连接方A在开机启动后,根据自己支持的硬件特性,生成“连接建立”所需要的数字描述信息,A带有标准蓝牙传输硬件,并能够通过蓝牙接收数据,则数字描述信息当中就具备蓝牙监听的端口及服务数据标准,以及通信加密过程需要使用秘钥信息及数字签名所需的公私钥信息;
步骤1303:连接方A进入到监听模式下;
步骤1304:被连接方B在程序启动之后处于一个独立的端口监听过程;
步骤1305:被连接方B在开机启动后,根据自己支持的硬件特性,生成“连接建立”所需要的数字描述信息,B支持长连接特性,能够随时接收服务器推送信令数据,则数字描述信息当中就包含B所采用的长连接推送消息的RPC方法,以及与B通信加密过程中所需要的的公钥信息;
步骤1306:被连接方B进入到监听模式下;
步骤1307:连接方A获得被连接方B在1304步骤中生成的数字信息过程;
步骤1308:连接方A获取被连接方B生成的数字信息,该过程是文件形式从U盘读取,接口描述信息从网络读取,二维码形式从摄像头传感器读取,局域网广播形式从无线网卡中读取等;
步骤1309:连接方A解析信息,判断是否具备与被连接方B进行通信的物理端口,如果不具备端口通信条件,流程结束;
步骤1310:连接方A具备与B的连接通信条件,则开始向B的监听端口发送“连接请求信令协议”;
步骤1311:被连接方B从监听端口中接收到连接方A在1310步骤中发送“连接请求信令协议”的过程;
步骤1312:被连接方B从信令监听端口中接收到“连接请求信令协议”;
步骤1313:被连接方B从1312步骤中获得连接方A生成的数字信息,并进行解析,同时被连接方B判断否具备与连接方A进行通信的物理端口,如果不具备端口通信条件,流程结束;
步骤1314:被连接方B具备与A的连接通信条件,则向开始向A的监听端口发送“连接请求答复信令协议”;
步骤1315:连接方A在获得1314步骤信令数据之后,启动连接及NAT穿透的过程;
步骤1316:连接方A从信令监听端口中接收到“连接请求答复信令协议”;
步骤1317:连接方A启动ICE过程,根据STUN协议,收集到host,srflx,prflx,relay几种对等网络穿透交换地址;
步骤1318:连接方A将步骤1317收集到的地址设置为本地候选地址;
步骤1319:连接方A向被连接方B的监听端口发送“ICE候选地址交换信令协议”;
步骤1320:被连接方B在获得1319步骤的信令数据之后,启动连接及NAT穿透的过程;
步骤1321:被连接方B从信令监听端口中接收到“ICE候选地址交换信令协议”;
步骤1322:被连接方B进行信令解析,并将接收到的候选地址设置为远端候选地址;
步骤1323:被连接方B启动ICE过程,根据STUN协议,收集到host,srflx,prflx,relay几种对等网络穿透交换地址;
步骤1324:被连接方B将步骤1323收集到的地址设置为本地候选地址;
步骤1325:被连接方B向连接方A的监听端口发送“ICE候选地址交换信令协议”,之后直接进入1329步骤流程;
步骤1326:连接方在获得1325步骤的信令数据之后,完成与被连接方B的连接过程;
步骤1327:连接方A从信令监听端口中接收到“ICE候选地址交换信令协议”;
步骤1328:连接方A进行信令解析,并将接收到的候选地址设置为远端候选地址;
步骤1329:IETF-RFC 8445国际标准协议中完成连通性检查并建立连接的过程;
步骤1330:根据IETF-RFC 8445的标准进行连通性检查流程;
步骤1331:连接方A和被连接方B根据ICE标准的反馈结果,判断能否成功穿透并连接,不行则连接结束,可以的话就完成了A与B的端到端连接过程。
3.根据权利要求1所述的基于IP的去中心化端到端连接通信系统,其特征在于:有信令平台的端到端穿透连接实现步骤如下:
步骤1401:描述了连接方A在程序启动之后处于一个独立的端口监听过程;
步骤1402:连接方A在开机启动后,生成“连接建立”所需要的数字描述信息,包括通信加密过程需要使用秘钥信息及数字签名所需的公私钥信息;
步骤1403:连接方A接入信令平台,信令平台为连接方A生成全平台唯一的“可连接”数字信息;
步骤1404:描述了被连接方B在程序启动之后处于一个独立的端口监听过程;
步骤1405:被连接方B在开机启动后,生成“连接建立”所需要的数字描述信息,包括通信加密过程需要使用秘钥信息及数字签名所需的公私钥信息;
步骤1406:被连接方B接入信令平台,信令平台为被连接方B生成全平台唯一的“可连接”数字信息;
步骤1407:连接方A通过信令平台向被连接方B发出连接请求;
步骤1408:信令平台向被连接方B发出A的连接请求信令;
步骤1409:被连接方B通过信令平台向A连接请求信令答复结果;
步骤1410:信令平台向连接方A发出B的回复确认结果;
步骤1411:连接方A判断从信令平台返回的答复结果,判断过程包裹针对接收到的数据进行数字签名校验,如果回复结果是不可连接或者数字签名校验失败,则流程结束;
步骤1412:连接方A启动ICE过程,根据STUN协议,收集到host,srflx,prflx,relay几种对等网络穿透交换地址;
步骤1413:连接方A将步骤1412收集到的地址设置为本地候选地址;
步骤1414:连接方A通过信令平台向被连接方B发送“ICE候选地址交换信令协议”;
步骤1415:信令平台向被连接方B转发A的“ICE候选地址交换信令协议”;
步骤1416:被连接方B从信令平台接收到A的“ICE候选地址交换信令协议”,并设置为远端候选地址;
步骤1417:被连接方B启动ICE过程,根据STUN协议,收集到host,srflx,prflx,relay几种对等网络穿透交换地址;
步骤1418:被连接方B将步骤1417收集到的地址设置为本地候选地址;
步骤1419:被连接方B通过信令平台向连接方A发送“ICE候选地址交换信令协议”;
步骤1420:连接方A从信令平台接收到被连接方B发送的“ICE候选地址交换信令协议”;
步骤1421:连接方A进行信令解析,并将接收到的候选地址设置为远端候选地址,并进入到步骤1422;
步骤1422:该步骤描述了IETF-RFC 8445国际标准协议中完成连通性检查并建立连接的过程;
步骤1423:根据IETF-RFC 8445的标准进行连通性检查流程;
步骤1424:连接方A和被连接方B根据ICE标准的反馈结果,判断能否成功穿透并连接,不行则连接结束,可以的话就完成了A与B的端到端连接过程;
由上述步骤所示,采用有信令服务器辅助的连接方案,实际上是无信令服务器的一种变种方案,信令服务器的存在能够让端到端的连接建立过程变得更加直观和简单;
在完成连接建立后,为保证传输层采用UDP协议带来的数据报文不可靠的问题,本发明设计了可靠数据实时传输流程,实现步骤如下:
步骤1501:已经建立端到端连接的A准备向对端B发送数据;
步骤1502:发送端A获得与对端B的连接服务句柄;
步骤1503:发送端A通过连接服务句柄将待发送数据转化为跨平台的可序列化的待发送数据;
步骤1504:连接服务句柄提供可靠数据流服务,该服务将步骤1503的数据转化为流数据;
步骤1505:可靠流服务将包放入自定义可信UDP的待发送缓冲区之中,可靠UDP数据包算法是RUDP、SCTP的可靠UDP算法实现;
步骤1506:发送方A通过端到端UDP数据句柄发送可靠UDP数据包;
步骤1507:接收方B在端到端的UDP数据句柄中接收到了UDP数据包;
步骤1508:接收方B将UDP数据包传入与发送方相同的自定义可信UDP的待接收缓冲区之中;
步骤1509:可靠流服务从可信UDP待接收缓冲区之中读取数据并转化为流数据;
步骤1510:连接服务句柄将可靠流服务数据转化为跨平台的序列化数据;
步骤1511:接收方B从服务句柄中获得返回的序列化数据;
步骤1512:接收方B获得A发送过来的数据。
CN202111346401.9A 2021-11-15 2021-11-15 一种基于ip的去中心化端到端连接通信系统 Active CN114401304B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111346401.9A CN114401304B (zh) 2021-11-15 2021-11-15 一种基于ip的去中心化端到端连接通信系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111346401.9A CN114401304B (zh) 2021-11-15 2021-11-15 一种基于ip的去中心化端到端连接通信系统

Publications (2)

Publication Number Publication Date
CN114401304A CN114401304A (zh) 2022-04-26
CN114401304B true CN114401304B (zh) 2024-04-26

Family

ID=81225992

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111346401.9A Active CN114401304B (zh) 2021-11-15 2021-11-15 一种基于ip的去中心化端到端连接通信系统

Country Status (1)

Country Link
CN (1) CN114401304B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116708536B (zh) * 2023-08-09 2023-10-24 江苏中威科技软件系统有限公司 一种基于雾计算的跨平台终端互联的通讯协议实现的方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006034635A1 (fr) * 2004-09-29 2006-04-06 Tencent Technology (Shenzhen) Company Limited Procede permettant d'etablir une connexion p2p
CN101102310A (zh) * 2007-07-25 2008-01-09 中国科学院沈阳计算技术研究所有限公司 支持p2p媒体传输的sip软交换系统及其实现方法
WO2010023496A1 (en) * 2008-08-27 2010-03-04 Telefonaktiebolaget Lm Ericsson (Publ) Peer to peer network
CN105610999A (zh) * 2016-03-30 2016-05-25 上海斐讯数据通信技术有限公司 一种通过穿透nat实现p2p通信的方法、设备、服务器及系统
CN105827748A (zh) * 2016-05-12 2016-08-03 东莞市南星电子有限公司 一种基于ICE的SIP穿越Symmetric NAT设备的方法
CN112671944A (zh) * 2020-12-18 2021-04-16 杭州叙简科技股份有限公司 一种基于webrtc和ice探测的音视频交互方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006034635A1 (fr) * 2004-09-29 2006-04-06 Tencent Technology (Shenzhen) Company Limited Procede permettant d'etablir une connexion p2p
CN101102310A (zh) * 2007-07-25 2008-01-09 中国科学院沈阳计算技术研究所有限公司 支持p2p媒体传输的sip软交换系统及其实现方法
WO2010023496A1 (en) * 2008-08-27 2010-03-04 Telefonaktiebolaget Lm Ericsson (Publ) Peer to peer network
CN105610999A (zh) * 2016-03-30 2016-05-25 上海斐讯数据通信技术有限公司 一种通过穿透nat实现p2p通信的方法、设备、服务器及系统
CN105827748A (zh) * 2016-05-12 2016-08-03 东莞市南星电子有限公司 一种基于ICE的SIP穿越Symmetric NAT设备的方法
CN112671944A (zh) * 2020-12-18 2021-04-16 杭州叙简科技股份有限公司 一种基于webrtc和ice探测的音视频交互方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
M. Komu ; T. Henderson ; H. Tschofenig ; J. Melen ; A. Keranen.Basic Host Identity Protocol (HIP) Extensions for Traversal of Network Address Translators (RFC5770).Basic Host Identity Protocol (HIP) Extensions for Traversal of Network Address Translators (RFC5770).2019,全文. *
P2P-SIP融合及P2P-SIP系统设计;吴亮;;电信快报(05);全文 *

Also Published As

Publication number Publication date
CN114401304A (zh) 2022-04-26

Similar Documents

Publication Publication Date Title
US10764943B2 (en) Peer to peer networking and sharing systems and methods
US9654907B2 (en) System, method and apparatus for wireless network connection using near field communication
JP4579934B2 (ja) レガシーノードとhipノード間のホストアイデンティティプロトコル(hip)接続を確立するためのアドレス指定方法及び装置
EP1892887B1 (en) Communication method between communication devices and communication apparatus
FI119303B (fi) Liitettävyys tilatietoisten palomuurien välillä
US7831715B2 (en) Communication system, communication method, and program
JP2005086467A5 (zh)
CN106604119B (zh) 一种用于智能电视私有云设备的网络穿透方法及系统
JP2008098888A (ja) 中継サーバ
WO2011020397A1 (zh) 网络代理实现方法及装置
EP3068139A1 (en) Electronic device and method for controlling electronic device
JP2005521329A (ja) オートコンフィギュレーション構成を有する情報ルーティングデバイス
WO2011015020A1 (zh) 文件传输方法、系统及客户端
WO2019184262A1 (zh) 多类型媒体数据网络地址转换穿越方法、终端及系统
CN114401304B (zh) 一种基于ip的去中心化端到端连接通信系统
JP6548445B2 (ja) 通信装置、通信方法及びプログラム
WO2016029854A1 (zh) 一种无线网络连接方法、设备及系统
CN110099105B (zh) 一种用于人与机器人协作的网络连接方法
CN113055971A (zh) 基于专用ssid来将智能终端接入网络的方法和装置
CN107181798B (zh) 一种网络访问的实现方法及系统
CN113542395B (zh) 报文处理方法和报文处理系统
JP4619059B2 (ja) 端末装置、ファイアウォール装置、及びファイアウォール装置制御のための方法、並びにプログラム
CN107370598B (zh) 以智能手机作为个人电脑电子密钥的方法
JP3296354B2 (ja) データ通信方法、クライアント、サーバ及び通信プログラムを記録した記録媒体
CN114301968B (zh) 服务端的访问方法、系统、设备及存储介质

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