CN105472060B - 一种Kademlia网络的节点标识符生成方法 - Google Patents

一种Kademlia网络的节点标识符生成方法 Download PDF

Info

Publication number
CN105472060B
CN105472060B CN201610049893.8A CN201610049893A CN105472060B CN 105472060 B CN105472060 B CN 105472060B CN 201610049893 A CN201610049893 A CN 201610049893A CN 105472060 B CN105472060 B CN 105472060B
Authority
CN
China
Prior art keywords
node
network
address
nat
public 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.)
Expired - Fee Related
Application number
CN201610049893.8A
Other languages
English (en)
Other versions
CN105472060A (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.)
Shenzhen Internet World Information Technology Co ltd
Original Assignee
Inter World Science And Technology Development (shenzhen) 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 Inter World Science And Technology Development (shenzhen) Co Ltd filed Critical Inter World Science And Technology Development (shenzhen) Co Ltd
Priority to CN201610049893.8A priority Critical patent/CN105472060B/zh
Publication of CN105472060A publication Critical patent/CN105472060A/zh
Application granted granted Critical
Publication of CN105472060B publication Critical patent/CN105472060B/zh
Expired - Fee Related 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/45Network directories; Name-to-address mapping
    • H04L61/457Network directories; Name-to-address mapping containing identifiers of data entities on a computer, e.g. file names
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • H04L41/083Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability for increasing network speed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/30Managing network names, e.g. use of aliases or nicknames
    • H04L61/3015Name registration, generation or assignment

Landscapes

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

Abstract

本发明公开了一种Kademlia网络的节点标识符生成方法,具体包括以下步骤:获取节点的内网IP地址和占用的内网端口以及公网IP地址和NAT类型;获取节点的内网标志,获取节点的防火墙标志,对公网IP地址进行SHA1运算,得到节点的原始节点标识符,查询公网IP地址所属的ICP信息和区域信息;获取节点的路由信息,设定节点的级别信息,最终得到节点的节点标识符。本发明的节点之间计算出来的距离跟现实网络环境更为接近,从而提高效率。

Description

一种Kademlia网络的节点标识符生成方法
技术领域
本发明涉及网络通信技术领域,特别是指一种Kademlia网络的节点标识符生成方法。
背景技术
Kademlia技术的其中一个重要组成要素是节点标志符(Node ID)与节点间的“距离”,节点间的距离是通过两个节点标符识的异或(XOR)计算出来。
现有的节点标志符是采用随机算法结合安全哈希算法(Secure Hash Algorithm,简称SHA1算法)生成。国内的eMule采用的是128bit的节点标志符,也是采用随机算法生成的。
传统的节点标志符生成机制在进行“距离”计算时,其“距离”跟现实网络环境中节点之间的“距离”没有任何联系,带来的是效率问题。典型的例子是在同一局域网内的两个节点(假设两个节点分别定义为Na、Nb),计算出来的距离具有不确定性,有可能是非常远的(两个节点标识符异或后的值非常大),这样节点Na可能永远不知道节点Nb的存在。在实际应用中,在同一局域网内的两个节点之间的网络速度,远远要大于互联网中两个节点之间的网络速度。假如节点Na需要某一资源R,资源R同时存在于节点Nb与节点Nc(Nc与Na不在同一局域网内),则Na使用Kademlia网络搜索算法找到的资源R的存储位置可能是Nc而不是Nb。造成这个问题的主要原因就是上面所述的节点标志符是随机性的,所计算出来的“距离”并不能代表两个节点在现实网络环境中的“距离”。
以上所说的现实网络环境中的“距离”是这样一种概念,在同一局域网内的两个节点之间的“距离”较近,不同局域网内的两个节点之间的“距离”较远;处于同一ICP(如电信)的两个节点之间的“距离”比处于不同ICP(如一个在电信,一个在网通)的两个节点之间的“距离”要近;在同一ICP情况下,处于同一城市的两节点之间的“距离”比处理不同城市的两节点之间的“距离”要近。
发明内容
本发明提出一种Kademlia网络的节点标识符生成方法,节点之间计算出来的距离跟现实网络环境更为接近,从而提高效率。
本发明的技术方案是这样实现的:
一种Kademlia网络的节点标识符生成方法,具体包括以下步骤:
(1)在Kademlia网络设置若干节点,获取节点的内网IP地址和占用的内网端口;
(2)获取节点的公网IP地址和NAT类型;
(3)判断节点是否处于内网,得出节点的内网标志;
(4)判断节点是否处于防火墙后,得出节点的防火墙标志;
(5)对公网IP地址进行SHA1运算,得到节点的原始节点标识符,原始节点标识符占用160bit;
(6)根据公网IP地址从公网IP地址数据库查询该公网IP地址所属的ICP信息和区域信息;
(7)测试节点分别到各网络运营商的节点的网速,得到节点的路由信息;
(8)设定节点的级别信息;
(9)将级别信息、内网IP地址、内网端口、公网IP地址、NAT类型、ICP信息、内网标志、防火墙标志、区域信息和路由信息与原始节点标识符进行或运算,得到节点的节点标识符;
节点标识符包括依次排列的ICP信息、区域信息、路由信息、级别信息、内网标志、公网IP地址、NAT类型、内网IP地址和内网端口,节点标识符占用160bit,ICP信息占用2bit,区域信息占用10bit,路由信息占用3bit,级别信息占用2bit,内网标志占用1bit,公网IP地址占用90bit,NAT类型占用3bit,内网IP地址占用32bit,内网端口占用16bit;
路由信息描述了节点到电信、网通、教育网的网速。
进一步的,步骤(2)中获取节点的NAT类型具体包括以下步骤:
(201)节点所处的公网中设有一个Stun服务器,Stun服务器设有两个公网IP地址;
(202)判断节点是否能够进行UDP通信,若节点不能进行UDP通信,则停止流程;否则,进入下一步;
(203)判断节点是否位于NAT后,若否,则停止流程,若是,则进入下一步;
(204)判断节点的NAT类型是否是全通型NAT,若是,则停止流程,若否,则进入下一步;
(205)判断节点的NAT类型是否是对称型NAT,若是,则停止流程,若否,则进入下一步;
(206)判断节点的NAT类型是受限型NAT还是端口受限型NAT。
进一步的,步骤(202)中,若节点不能进行UDP通信,则节点的NAT类型为未知类型。
进一步的,步骤(203)中,停止流程后,得出节点的NAT类型为公网型。
进一步的,步骤(202)、(203)、(204)、(205)和(206)中,节点通过建立UDP socket进行判断。
进一步的,步骤(3)中判断节点是否处于内网的步骤为,比较内网IP地址和公网IP地址是否相同,若是,则处于公网,若否,则处于内网。
进一步的,步骤(7)具体包括以下步骤:
(701)从节点的路由表中选出M个已知节点,M为整数,M大于等于3,已知节点是各网络运营商的节点;
(702)节点分别向已知节点发送RCP TEST指令;
(703)已知节点收到RCP TEST指令后,向节点返回一个响应命令;
(703)节点在有效时间内,根据接收到的响应命令,得出到已知节点的网速与带宽;
(704)根据节点到已知节点的网速和带宽确定路由信息。
本发明的有益效果在于:节点之间计算出来的距离跟现实网络环境更为接近,从而提高效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种Kademlia网络的节点标识符生成方法的流程图;
图2为图1中节点标识符的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一、主流程
如图1所示,本发明提出了一种Kademlia网络的节点标识符生成方法,具体包括以下步骤:
(1)在Kademlia网络设置若干节点,获取节点的内网IP地址和占用的内网端口;内网端口是用于将节点连接Kademlia网络的UDP端口;
(2)获取节点的公网IP地址和NAT类型;
步骤(2)中获取节点的NAT类型具体包括以下步骤:
(201)节点所处的公网中设有一个Stun服务器,Stun服务器设有两个公网IP地址;Stun服务器做UDP监听(IP-1,Port-1),(IP-2,Port-2)并根据客户端的要求进行应答。
(202)判断节点是否能够进行UDP通信,若节点不能进行UDP通信,则停止流程;否则,进入下一步;
(203)判断节点是否位于NAT后,若否,则停止流程,若是,则进入下一步;
节点建立UDP socket然后用这个socket向Stun服务器的(IP-1,Port-1)发送数据包要求Stun服务器返回节点的IP和Port,节点发送请求后立即开始接收数据包,要设定socket Timeout(200ms),防止无限堵塞.重复这个过程若干次。如果每次都超时,无法接收到Stun服务器的回应,则说明节点无法进行UDP通信,可能是防火墙或NAT阻止UDP通信,这样的节点也就不能P2P了,停止流程。当节点能够接收到Stun服务器的回应时,需要把Stun服务器返回的节点(IP,Port)和这个节点socket的(LocalIP,LocalPort)比较。如果完全相同则节点不在NAT后,这样的节点具有公网IP可以直接监听UDP端口接收数据进行通信,检测停止。否则节点在NAT后,要进入下一步。
(204)判断节点的NAT类型是否是全通型NAT,若是,则停止流程,若否,则进入下一步;
节点建立UDP socket然后用这个socket向Stun服务器的(IP-1,Port-1)发送数据包要求Stun服务器用另一对(IP-2,Port-2)响应节点的请求往回发一个数据包,节点发送请求后立即开始接收数据包,要设定socket Timeout(200ms),防止无限堵塞.重复这个过程若干次。如果每次都超时,无法接收到Stun服务器的回应,则说明节点的NAT不是一个Full Cone NAT,需进入下一步。如果能够接收到Stun服务器从(IP-2,Port-2)返回的应答UDP包,则说明节点是一个Full Cone NAT,这样的节点能够进行UDP-P2P通信,停止流程。
(205)判断节点的NAT类型是否是对称型NAT,若是,则停止流程,若否,则进入下一步;
节点建立UDP socket然后用这个socket向Stun服务器的(IP-1,Port-1)发送数据包要求Stun服务器返回节点的IP和Port,节点发送请求后立即开始接收数据包,要设定socket Timeout(200ms),防止无限堵塞.重复这个过程直到收到回应,一定能够收到,因为前面保证了这个节点可以进行UDP通信。
用同样的方法用一个socket向Stun服务器的(IP-2,Port-2)发送数据包要求Stun服务器返回节点的(IP,Port)。
比较上面两个过程从Stun服务器返回的节点(IP,Port),如果两个过程返回的(IP,Port)有一对不同则说明节点为Symmetric NAT,这样的节点无法进行UDP-P2P通信,停止流程。否则是Restricted Cone NAT(受限型NAT),是否为Port Restricted Cone NAT(端口受限型NAT),需进入下一步。
(206)判断节点的NAT类型是受限型NAT还是端口受限型NAT。
节点建立UDP socket然后用这个socket向Stun服务器的(IP-1,Port-1)发送数据包要求Stun服务器用IP-1和一个不同于Port-1的端口发送一个UDP数据包响应节点,节点发送请求后立即开始接收数据包,要设定socket Timeout(200ms),防止无限堵塞.重复这个过程若干次。如果每次都超时,无法接收到Stun服务器的回应,则说明节点是一个PortRestricted Cone NAT(端口受限型NAT),如果能够收到Stun服务器的响应则说明节点是一个Restricted Cone NAT(受限型NAT)。以上两种NAT都可以进行UDP-P2P通信。
(3)判断节点是否处于内网,得出节点的内网标志;步骤(6)中判断节点是否处于内网的步骤为,比较内网IP地址和公网IP地址是否相同,若是,则处于公网,若否,则处于内网。
(4)判断节点是否处于防火墙后,得出节点的防火墙标志;如果节点只能单向通行,则处于防火墙后,防火墙标志为1,即该节点的内网可以访问外网,外网不能访问内网。
(5)对公网IP地址进行SHA1运算,得到节点的原始节点标识符,原始节点标识符占用160bit;
(6)根据公网IP地址从公网IP地址数据库查询该公网IP地址所属的ICP信息和区域信息;
(7)测试节点分别到各网络运营商的节点的网速,得到节点的路由信息;
步骤(7)具体包括以下步骤:
(701)从节点的路由表中选出M个已知节点,M为整数,M大于等于3,已知节点是各网络运营商的节点;
(702)节点分别向已知节点发送RCP TEST指令;
(703)已知节点收到RCP TEST指令后,向节点返回一个响应命令;
(703)节点在有效时间内,根据接收到的响应命令,得出到已知节点的网速与带宽;
(704)根据节点到已知节点的网速和带宽确定路由信息。
(8)设定节点的级别信息;
(9)将级别信息、内网IP地址、内网端口、公网IP地址、NAT类型、ICP信息、内网标志、防火墙标志、区域信息和路由信息与原始节点标识符进行或运算,得到节点的节点标识符。
二、节点标识符的定义
如图2所示,节点标识符包括依次排列的ICP信息、区域信息、路由信息、级别信息、内网标志、公网IP地址、NAT类型、内网IP地址和内网端口。
ICP信息:占用2个bit,代表节点所在的网络的运营商,其中10代表电信,01代表网通,00代表教育网,11代表其它。
区域信息:占用10个bit,代表节点所在的城节,以区号代替,比如深圳的区号为0755,则以1011110011表示。
路由信息:占用3个bit,描述了节点到电信、网通、教育网的网速;100表示到电信的速度很好,010表示到网通的速度很好,001表示到教育网的速度很好,可以组合,比如到电信与网通的速度都很好,则以110表示。
级别信息:占用2个bit,描述了节点的系统级别;00表示普通节点(以CN表示),01表示在线时间比较长的节点(以LN表示),10表示带宽比较好的节点(以WN表示),11表示服务器级别的节点(以SN表示,节点标识符由运营该网络的运营商布署)。
内网标志:占用1个bit,指明该节点是否处于局域网内部。
防火墙标志:占用1个bit,指明该节点是否处于防火墙背后。
公网IP地址:占用90个bit,这个值是由节点所处的公网IP地址,经过SHA1哈希运算后,去掉高位29bit,去掉低位51bit,所剩的90bit。
NAT类型:占用3个bit,含义如下,不同的NAT类型,可以用来表示不同节点的通信优先级。
000:未知类型(无法检查或不认识的类型)
001:公网(节点直接暴露在公网环境中,直接使用公网IP地址)
010:Full Cone NAT(全通型NAT),内网主机建立一个UDP socket(内网IP地址:内网端口)第一次使用这个socket给外部主机发送数据时,会给其分配一个(公网IP地址:公网端口),以后用这个socket向外面任何主机发送数据都将使用这对(公网IP地址:公网端口)。此外,任何外部主机只要知道这个(公网IP地址:公网端口)就可以发送数据给内网主机的(公网IP地址:公网端口),内网的主机就能收到这个数据包。
011:Restricted Cone NAT(受限型NAT),内网主机建立一个UDP socket(内网IP地址:内网端口),第一次使用这个socket给外部主机发送数据时NAT会给其分配一个(公网IP地址:公网端口),以后用这个socket向外面任何主机发送数据都将使用这对(公网IP地址:公网端口)。此外,如果任何外部主机想要发送数据给这个内网主机,只要知道这个(公网IP地址:公网端口)并且内网主机之前用这个socket曾向这个外部主机发送过数据。只要满足这两个条件,这个外部主机就可以用其(IP,任何端口)发送数据给内网主机的(公网IP地址:公网端口),内网的主机就能收到这个数据包。
100:Port Restricted Cone NAT(端口受限型NAT),内网主机建立一个UDPsocket(内网IP:端口)第一次使用这个socket给外部主机发送数据时NAT会给其分配一个(公网IP地址:公网端口),以后用这个socket向外面任何主机发送数据都将使用这对(公网IP地址:公网端口)。此外,如果任何外部主机想要发送数据给这个内网主机,只要知道这个(公网IP地址:公网端口)并且内网主机之前用这个socket曾向这个外部主机(IP,Port)发送过数据。只要满足这两个条件,这个外部主机就可以用该(IP,Port)发送数据给内网主机的(公网IP地址:公网端口),内网的主机就能收到这个数据包
101:Symmetric NAT(对称型NAT),内网主机建立一个UDP socket(内网IP:端口),当用这个socket第一次发数据给外部主机1时,NAT为其映射一个(PublicIP-1,Port-1),以后内网主机发送给外部主机1的所有数据都是用这个(PublicIP-1,Port-1),如果内网主机同时用这个socket给外部主机2发送数据,第一次发送时,NAT会为其分配一个(PublicIP-2,Port-2),以后内网主机发送给外部主机2的所有数据都是用这个(PublicIP-2,Port-2).如果NAT有多于一个公网IP,则PublicIP-1和PublicIP-2可能不同,如果NAT只有一个公网IP,则Port-1和Port-2肯定不同,也就是说一定不能是PublicIP-1等于PublicIP-2且Port-1等于Port-2。此外,如果任何外部主机想要发送数据给这个内网主机,那么它首先应该收到内网主机发给其的数据,然后才能往回发送,否则即使知道内网主机的一个(PublicIP,Port)也不能发送数据给内网主机,这种NAT无法实现UDP-P2P通信。
内网IP:占用32个bit,描述了节点所处的局域网内的IP地址,如果没有,节点直接处于公网环境中,则为公网的IP地址。
内网端口:占用16个bit,描述了节点为了加入Kademlia网络所使用的UDP端口。
三、总结
根据Kademlia网络的路由算法,两个节点标识符之间的“异或”运算结果为“距离”,那么相同ICP信息的两点之间的“距离”更短,如果两个节点在同一城市(区域信息相同),则计算出来的“距离”更短,如果两个节点在同一个局域网内,则由于公网IP是一样的,不同的只是内网IP,则计算出来的“距离”最短。基于这样的基础,当一个节点需要搜索其它节点或资源时,总是在距自己实际上最近的节点开始搜索起,搜索到的节点有很大的概念都是离自己比较近的,这样节点获取资源的速度得到了很大的提高。
一个典型的例子,在一个局域网NET1内(公网环境为电信网)的一个节点A,发布了一首MP3,经过一段时间的传播后,有可能该MP3存在于局域网NET1内,也有可能存在于其它局域网NET2内,甚至可能存在于公网环境为网通的其它节点NET3上。同在一个局域网NET1内的一个节点B,它需要搜索这首MP3,如果按照普通的节点标识符生成算法,那么节点B按照Kademlia搜索算法,优先定位到的存在这道MP3的节点有可能是NET1,也有可能是NET2或NET3,随机性很大,这将造成这样一种情况,明明在同一域局网NET1上就有这首MP3,可节点B却跑到其它网络NET3上去下载,这样可能会影响下载速度,也浪费了公网带宽。如果按照本发明所提出的标识符生成算法,只要同在NET1上的存在这道MP3的节点仍然在网络上,则节点B在搜索这首MP3的时候,会先搜索到节点A,从而在节点A上下载这首MP3,很明显,在局域网内下载文件的速度,远远要大于在公网上下载文件的速度。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种Kademlia网络的节点标识符生成方法,其特征在于,具体包括以下步骤:
(1)在Kademlia网络设置若干节点,获取所述节点的内网IP地址和占用的内网端口;
(2)获取所述节点的公网IP地址和NAT类型;
(3)判断所述节点是否处于内网,得出所述节点的内网标志;
(4)判断所述节点是否处于防火墙后,得出所述节点的防火墙标志;
(5)对所述公网IP地址进行SHA1运算,得到所述节点的原始节点标识符,所述原始节点标识符占用160bit;
(6)根据所述公网IP地址从公网IP地址数据库查询该公网IP地址所属的ICP信息和区域信息;
(7)测试所述节点分别到各网络运营商的节点的网速,得到所述节点的路由信息;
(8)设定所述节点的级别信息;
(9)将所述级别信息、内网IP地址、内网端口、公网IP地址、NAT类型、ICP信息、内网标志、防火墙标志、区域信息和路由信息与所述原始节点标识符进行或运算,得到所述节点的节点标识符;
所述节点标识符包括依次排列的ICP信息、区域信息、路由信息、级别信息、内网标志、公网IP地址、NAT类型、内网IP地址和内网端口,所述节点标识符占用160bit,所述ICP信息占用2bit,所述区域信息占用10bit,所述路由信息占用3bit,所述级别信息占用2bit,所述内网标志占用1bit,所述公网IP地址占用90bit,所述NAT类型占用3bit,所述内网IP地址占用32bit,所述内网端口占用16bit;
路由信息描述了节点到电信、网通、教育网的网速。
2.根据权利要求1所述的一种Kademlia网络的节点标识符生成方法,其特征在于:步骤(2)中获取所述节点的NAT类型具体包括以下步骤:
(201)所述节点所处的公网中设有一个Stun 服务器,所述Stun 服务器设有两个公网IP地址;
(202)判断所述节点是否能够进行UDP通信,若所述节点不能进行UDP通信,则停止流程;否则,进入下一步;
(203)判断所述节点是否位于NAT后,若否,则停止流程,若是,则进入下一步;
(204)判断所述节点的NAT类型是否是全通型NAT,若是,则停止流程,若否,则进入下一步;
(205)判断所述节点的NAT类型是否是对称型NAT,若是,则停止流程,若否,则进入下一步;
(206)判断所述节点的NAT类型是受限型NAT还是端口受限型NAT。
3.根据权利要求2所述的一种Kademlia网络的节点标识符生成方法,其特征在于:步骤(202)中,若所述节点不能进行UDP通信,则所述节点的NAT类型为未知类型。
4.根据权利要求2或3所述的一种Kademlia网络的节点标识符生成方法,其特征在于:步骤(203)中,停止流程后,得出所述节点的NAT类型为公网型。
5.根据权利要求2所述的一种Kademlia网络的节点标识符生成方法,其特征在于:步骤(202)、(203)、(204)、(205)和(206)中,所述节点通过建立UDP socket进行判断。
6.根据权利要求1所述的一种Kademlia网络的节点标识符生成方法,其特征在于:步骤(3)中判断所述节点是否处于内网的步骤为,比较所述内网IP地址和所述公网IP地址是否相同,若是,则处于公网,若否,则处于内网。
7.根据权利要求1所述的一种Kademlia网络的节点标识符生成方法,其特征在于:步骤(7)具体包括以下步骤:
(701)从所述节点的路由表中选出M个已知节点,M为整数,M大于等于3,所述已知节点是各网络运营商的节点;
(702)所述节点分别向所述已知节点发送RCP TEST指令;
(703)所述已知节点收到所述RCP TEST指令后,向所述节点返回一个响应命令;
(703)所述节点在有效时间内,根据接收到的响应命令,得出到所述已知节点的网速与带宽;
(704)根据所述节点到所述已知节点的网速和带宽确定所述路由信息。
CN201610049893.8A 2016-01-25 2016-01-25 一种Kademlia网络的节点标识符生成方法 Expired - Fee Related CN105472060B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610049893.8A CN105472060B (zh) 2016-01-25 2016-01-25 一种Kademlia网络的节点标识符生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610049893.8A CN105472060B (zh) 2016-01-25 2016-01-25 一种Kademlia网络的节点标识符生成方法

Publications (2)

Publication Number Publication Date
CN105472060A CN105472060A (zh) 2016-04-06
CN105472060B true CN105472060B (zh) 2018-12-11

Family

ID=55609316

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610049893.8A Expired - Fee Related CN105472060B (zh) 2016-01-25 2016-01-25 一种Kademlia网络的节点标识符生成方法

Country Status (1)

Country Link
CN (1) CN105472060B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114900502B (zh) * 2022-05-17 2024-02-27 北京奇艺世纪科技有限公司 网络注册方法、装置、电子设备及可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101202746A (zh) * 2006-12-15 2008-06-18 华为技术有限公司 节点标识符生成方法及负载均衡方法及装置
WO2010115373A1 (zh) * 2009-04-08 2010-10-14 中兴通讯股份有限公司 基于对等网络的资源信息备份操作方法及对等网络
CN103401953A (zh) * 2013-07-18 2013-11-20 东南大学 一种基于双层结构的端到端的语音通信节点寻址方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101202746A (zh) * 2006-12-15 2008-06-18 华为技术有限公司 节点标识符生成方法及负载均衡方法及装置
WO2010115373A1 (zh) * 2009-04-08 2010-10-14 中兴通讯股份有限公司 基于对等网络的资源信息备份操作方法及对等网络
CN103401953A (zh) * 2013-07-18 2013-11-20 东南大学 一种基于双层结构的端到端的语音通信节点寻址方法

Also Published As

Publication number Publication date
CN105472060A (zh) 2016-04-06

Similar Documents

Publication Publication Date Title
US10091304B2 (en) SGC and PGC and SGU and PGU allocation procedure
US8073936B2 (en) Providing support for responding to location protocol queries within a network node
CN102404396B (zh) P2p流量识别方法、装置、设备和系统
US20190109777A1 (en) METHODS, SYSTEMS, AND COMPUTER READABLE MEDIA FOR TESTING VIRTUAL NETWORK COMPONENTS DEPLOYED IN VIRTUAL PRIVATE CLOUDS (VPCs)
WO2017015454A1 (en) Methods, systems, and apparatus for geographic location using trace routes
CN109714274B (zh) 一种获取对应关系的方法和路由设备
US9385925B1 (en) Anycast route detection
WO2016089944A1 (en) Efficient hybrid resource and schedule management in time slotted channel hopping networks
KR20120088777A (ko) 오버레이 네트워크에서 통신 피어들의 선택을 지원하는 방법 및 시스템
CN113595897B (zh) 一种路径探测方法及装置
CN105432039B (zh) 一种网络探测方法、网络和重定向节点
CN102780779A (zh) 一种园区网出口p2p流量优化方法、装置及网关设备
CN104852826B (zh) 一种环路检测方法及装置
EP3142322B1 (en) Auto configuration server and method
CN109076082A (zh) 面向身份的网络和协议中的匿名身份
CN103618801A (zh) 一种p2p资源共享的方法、设备及系统
CN105101176A (zh) 一种漫游场景下的会话绑定方法、装置和系统
Li et al. IoT middleware architecture over information-centric network
CN108965036A (zh) 配置跨公网设备互访方法、系统、服务器及存储介质
CN108900982A (zh) 数据转发方法与装置
EP2690832B1 (en) Communication device, communication system, and communication method
CN104506405B (zh) 跨域访问的方法及装置
CN105472060B (zh) 一种Kademlia网络的节点标识符生成方法
CN105939404B (zh) Nat资源的获取方法及装置
Zavodovski et al. edisco: Discovering edge nodes along the path

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210907

Address after: 518055 a1108, Yuanzheng Chuangye building, No. 19, Langshan Road, songpingshan community, Xili street, Nanshan District, Shenzhen, Guangdong

Patentee after: Shenzhen Internet World Information Technology Co.,Ltd.

Address before: 518000 Room 405, block C, HUAHAN Innovation Park office building, Langshan Road, Nanshan District, Shenzhen, Guangdong

Patentee before: VNETOO TECHNOLOGY DEVELOPMENT (SHENZHEN) Co.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20181211