一种实现KAD网络节点快速路由的方法和系统技术方案

技术编号:26606232 阅读:41 留言:0更新日期:2020-12-04 21:30
本发明专利技术实施例提供了一种实现KAD网络节点快速路由的方法和系统,所述方法和系统具体为采用竞速的方式,从TCP+TLS协议和QUIC协议中选择每次通信连接的网络传输协议;基于邻居节点管理机制,每个节点与本地线性路由表K‑Buckets中的所有节点建立并保持加密通信连接;基于延迟敏感的路由节点选择算法,同时以节点间的网络延迟和节点唯一标识Node ID异或距离为参考值,选择α个候选节点作为第一跳路由节点;基于递归式Kad协议,每一跳路由节点从本地K‑Buckets中选取下一跳路由节点,并直接向其转发查询请求,返回目标节点的查询结果;建立加密通信连接。本发明专利技术实施例提供的方法和系统,通过上述方案实现了KAD网络节点的快速路由,能有效降低KAD网络的通信连接延迟。

【技术实现步骤摘要】
一种实现KAD网络节点快速路由的方法和系统
本专利技术涉及通信
,特别是涉及一种实现KAD网络节点快速路由的方法和一种实现KAD网络节点快速路由的系统。
技术介绍
P2P(PeertoPeer,对等式网络),又称点对点技术,区别于C/S(客户/服务器)架构,是一种没有中心服务器的网络架构。P2P作为分布式账本底层的网络通信技术,承担节点发现、节点定位、节点间的通信等职责。Kad是Kademlia的简称,是P2P重叠网络传输协议,KAD网络是一种分布式的P2P网络,由于在资源的发现和定位的效率方面都存在优势,目前广泛应用于分布式账本。Kad协议使得分布式账本中的P2P网络节点A在事先不知道节点B的IP地址和端口号的情况下,通过节点B的NodeID查询其IP地址和端口号,进而使得节点A能够通过TCP/IP协议与节点B进行通信。当下采用随机见证共识机制的大数据可信图式结构分布式账本,相对于传统的采用全网节点共识机制的链式结构分布式账本,解决了节点间不能并发产生区块和吞吐量受限的问题,有效提高了全网TPS(Transact本文档来自技高网...

【技术保护点】
1.一种实现KAD网络节点快速路由的方法,其特征在于,所述方法包括:/n所述KAD网络节点之间在加密通信信道中传输数据,当本地节点需要与其他节点进行通信时,由所述本地节点向其他节点同时发送TCP连接请求和QUIC连接请求,分别计算TCP协议和QUIC协议下握手数据传输的RTT值,根据所述RTT值的数值大小的比较,从TCP+TLS协议和QUIC协议中选择一个延迟更低的协议作为本次连接的网络传输协议;/n基于自定义的邻居节点管理机制,使所述KAD网络中每个节点与本地线性路由表K-Buckets中的所有节点建立并保持加密连接,以使所述KAD网络中任意一次路由查询的第一跳路由节点都是本地节点的邻居节点...

【技术特征摘要】
1.一种实现KAD网络节点快速路由的方法,其特征在于,所述方法包括:
所述KAD网络节点之间在加密通信信道中传输数据,当本地节点需要与其他节点进行通信时,由所述本地节点向其他节点同时发送TCP连接请求和QUIC连接请求,分别计算TCP协议和QUIC协议下握手数据传输的RTT值,根据所述RTT值的数值大小的比较,从TCP+TLS协议和QUIC协议中选择一个延迟更低的协议作为本次连接的网络传输协议;
基于自定义的邻居节点管理机制,使所述KAD网络中每个节点与本地线性路由表K-Buckets中的所有节点建立并保持加密连接,以使所述KAD网络中任意一次路由查询的第一跳路由节点都是本地节点的邻居节点;
基于预先设计的延迟敏感的路由节点选择算法,本地节点测量自身与本地线性路由表K-Buckets中所有候选节点之间的网络延迟,并计算与所述候选节点之间的节点唯一标识NodeID异或距离,同时以所述网络延迟和所述节点唯一标识NodeID异或距离为参考值,计算所述本地节点的本地线性路由表K-Buckets中所有候选节点的优先级,根据所述候选节点的优先级排序,选择α个所述候选节点作为第一跳路由节点;
基于递归式Kad协议,起始节点发出对目标节点的路由查询请求,每一跳路由节点从本地线性路由表K-Buckets中选取下一跳路由节点,并直接向所述下一跳路由节点转发所述路由查询请求,最终返回所述目标节点的路由查询结果,以此减少将中间结果回传给起始节点所需的时间;
根据所述目标节点的路由查询结果,建立所述起始节点和所述目标节点之间的加密连接。


2.根据权利要求1所述的方法,其特征在于,所述KAD网络节点之间在加密通信信道中传输数据,当本地节点需要与其他节点进行通信时,由所述本地节点向其他节点同时发送TCP连接请求和QUIC连接请求,分别计算TCP协议和QUIC协议下握手数据传输的RTT值,根据所述RTT值的数值大小的比较,从TCP+TLS协议和QUIC协议中选择一个延迟更低的协议作为本次连接的网络传输协议,包括:
初始化分布式账本的网络模块,使每个节点在底层通信协议上同时支持TCP+TLS协议和QUIC协议;通过在配置文件中配置参数quic为true,将QUIC协议设置为节点间的默认的通信协议;本地节点同时向目标节点同时发送TCP连接请求和QUIC连接请求;所述网络模块的端口同时监听所有外部IP的TCP连接请求和QUIC连接请求,获取每次握手数据传输的时间戳,在连接建立完毕后,由本地节点分别计算并比较TCP协议和QUIC协议下握手数据传输的RTT值,若QUIC协议下的RTT值不大于3倍TCP协议下的RTT值,则使用默认的QUIC协议作为本次连接的通信协议;若QUIC协议下的RTT值大于3倍TCP协议下的RTT值,则回退到TCP+TLS协议作为本次连接的通信协议。


3.根据权利要求1所述的方法,其特征在于,基于预先设计的延迟敏感的路由节点选择算法,本地节点测量自身与本地线性路由表K-Buckets中所有候选节点之间的网络延迟,并计算与所述候选节点之间的节点唯一标识NodeID异或距离,同时以所述网络延迟和所述节点唯一标识NodeID异或距离为参考值,计算所述本地节点的本地线性路由表K-Buckets中所有候选节点的优先级,根据所述候选节点的优先级排序,选择α个所述候选节点作为第一跳路由节点,包括:
所述起始节点通过测量节点自身和本地K-Buckets中每一个节点之间的RTT值,以获知所述起始节点与本地K-Buckets中所有候选节点之间的网络延迟;
基于所述延迟敏感的路由节点选择算法,当所述起始节点执行Kad协议时,从本地K-Buckets中选择第一跳的α个路由节点。


4.根据权利要求3所述的方法,其特征在于,所述起始节点通过测量节点自身和本地K-Buckets中每一个节点之间的RTT值,以获知所述起始节点与本地K-Buckets中所有候选节点之间的网络延迟,包括:
初始化所述KAD网络中每个节点的RTT为0;启动子程序对RTT值为0的节点进行网络延迟的测试;在每一次执行Kad协议的过程中,更新起始节点与路由节点间的RTT值。


5.根据权利要求3所述的方法,其特征在于,基于所述延迟敏感的路由节点选择算法,当所述起始节点执行Kad协议时,从本地K-Buckets中选择第一跳的α个路由节点,包括:
所述起始节点根据其节点唯一标识NodeID与所述目标节点NodeID之间的异或距离定位K-Bucket,获得候选节点的集合candidatePeers;对所述candidatePeers中的所有节点按优先级的高低进行降序排序;得到排序后的列表sortedCandidatePeers;从所述sortedCandidatePeers中选择优先级最高的count个节点作为路由节点并返回;其中,节点的优先级越高,说明选择其作为路由节点能够更有效的降低本次路由查询执行所需的时间。


6.根据权利要求5所述的方法,其特征在于,对所述candidatePeers中的所有节点按优先级的高低进行降序排序,包括:
参照如下计算公式,对任意两个候选节点与所述本地节点的连接优先级高低进行比较,同时以节点间的网络延迟和节点唯一标识NodeI...

【专利技术属性】
技术研发人员:朱晓旻向往蔡华谦张舒汇郭京申舒俊宜
申请(专利权)人:北京智融云河科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1