具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
在本发明实施例中,所述网络集群指由多个分布式设置的节点相互关联、组合形成的一个整体网络群组。网络集群可以基于其包含的多个节点,通过利用其中的一个或者多个节点,向用户提供多种不同的服务或者应用。所述网络集群具体可以是任何合适类型的,具有任意数量的节点构成的群组,例如,虚拟骨干网VBN(Virtual Backbone NetworkVBN)。
其中,虚拟骨干网相当于一张架设在全球的基础网络服务,该服务上有很多节点,例如:华南电信、东北移动、日本XX、美国XX等等,这些节点共同组成一张可以为客户提供加速功能的网络,应用可以把所有节点中作为转发跳板,从而快速的到达源站。
为陈述简便,以下以虚拟骨干网为例,详细描述本发明实施例提供,在网络集群中应用的节点认证方法及节点认证装置。图1为本发明实施例提供的VBN网络的应用环境。在该网络集群中,包含了多个位于全球各个地区的节点(如服务器),其基于公网(如互联网)或者其它方式建立通信连接,实现网络互通。如图1所示,该应用环境包括:若干系统节点10以及新增节点20。
所述系统节点10独立的运行在公共网络上,属于同一个VBN网络。各个节点之间具有相互连接,安全的网络通路,可以实现任意两个节点间的数据传输。例如,基于该VBN网络,可以将分布在全球的可利用网络资源组成一个具有巨大覆盖面积的加速网络,能够以极快的速度,将
任意的应用采用合适或者最优路径转发到达对应的源站(即应用交付网络ADN,Application Delivery Networking)。所述系统节点10可以是任何类型的服务器、虚拟机等用以提供加速服务的设备,充当类似于入网点(point of presence)的角色。
所述系统节点10可以提供至少一项服务或者应用,例如特定数据库的搜索。系统节点10之间可以通过相互连接的网络通路,获取或者使用不同系统节点10提供的应用。
在同一个VBN网络中的系统节点10之间经过了任意两两之间的节点认证过程。亦即任意两个节点之间均已经相互认证。这样的,对于任意一个系统节点而言,可以设置规则为仅允许系统节点间的访问而拒绝其它任何的外部访问请求以保证VBN网络的稳定和数据安全。
例如,当节点同为TAC节点时,才允许访问。TAC(Transparent AccelerationCloud,透明加速云)是一种基于ADN加速的网络服务产品,其应用了上述VBN的基础设备。
基于上述节点的设置规则,在整个VBN网络中,各个系统节点之间是相互联系的,不存在额外规则中心(组播或者服务端)。这样的VBN网络中,不存在特定的攻击对象,被攻击的概率较低,也具有较高的安全程度。
如图1所示,在本应用环境中,使用所属地域名称表示某个系统节点10,包括北美、欧洲、北京、东京以及南非这5个系统节点10。当然,在实际情况中,还可以进一步的添加或者减省一些系统节点,而不限于图1所示的系统节点。例如,公司具有广州、深圳以及杭州分部时,还可以增加这些分部的系统节点。
所述新增节点20是指不在原VBN网络中的系统节点。如上所述,随着公司的发展或者规模的变化,对应的系统节点也需要对应的发生变化。因此,对于原VBN网络,需要新增加某些节点以适应实际应用的需要。
由于原有VBN网络的访问限制。因此,新增节点需要与原有的全部节点完成认证,加入成为系统节点,才能获得访问其它系统节点10的权限。
所述节点认证过程可以认为是一个鉴权过程,其具体可以采用任何合适的方法完成。通常的,新增节点20会将自身的节点相关信息,例如IP、MAC地址、身份信息等打包,作为数据包发送到其它的系统节点中。系统节点接收到该数据包后,根据节点相关信息,执行特定的判断或者鉴权过程,确定新增节点的合法性并完成节点认证。
如图1所示,在本实施例提供的应用环境中,新增节点20(南美)需要与其它5个系统节点10均完成节点认证,加入到VBN网络中。为实现新增节点20与其它系统节点10之间的认证过程,可以通过多种方式完成上述数据包的传递过程。亦即新增节点20的数据包需要到达各个系统节点10中。具体可以采用多种不同的策略来完成新增节点的节点认证过程,采用不同的节点认证策略会导致不同的时延(消耗的时间)或者系统资源消耗。
应该说明的是,本发明实施例提供的应用环境还可以应用于其它相类似的产品或者行业中,而不限于基于虚拟骨干网络VBN上的应用交付网络ADN。例如,还可以进一步的应用到内容分发网络(Content Delivery Network CDN)、虚拟私有云(Virtual PrivateCloud VPC)或者计算资源云服务等相关的,需要对多个不同节点进行管理或者认证的行业或者产品中。
在图1所示的应用环境中,可以应用图2所示的,本发明实施例提供的节点认证方法,将所述数据包传递到各个系统节点中以获得更低的时延和系统资源消耗。
如图2所示,该节点认证方法可以包括如下步骤:
100:制作包含待认证的新增节点认证信息的认证信息数据包。所述认证信息可以为任何类型的,用于标识或者区分节点的信息,例如节点的IP地址、MAC地址或者节点身份信息等。
200:以新增节点为起点,确定与新增节点之间距离最近的第一系统节点。所述距离是指两个节点之间的数据的传输、通信速度。传输速度越快,表示两个节点之间的通信距离较短,节点之间可以更快的响应
请求。该通信距离可以通过任何合适的方式衡量,包括但不限于RTT值等。
300:向所述第一系统节点发送认证请求。所述认证请求具体可以为包含认证信息的数据包。当然,在一些实施例中,还可以进一步包括其它一些相关的数据指令。所述第一系统节点接收到该认证请求后,在匹配鉴权完毕后,可以完成第一系统节点对新增节点的节点认证。
400:在第一系统节点和待认证节点完成节点认证后,以第一系统节点为起点,确定与第一系统节点之间通信距离最近的第二系统节点。
500:由第一系统节点向所述第二系统节点发送其接收获得的认证请求。所述第一系统节点可以将接收到的认证请求,例如所述数据包全部转发至第二系统节点中。
600:第二系统节点接收到认证请求并完成对新增节点的节点认证后,以第二系统节点为起点,向与第二系统之间通信距离最近的系统节点转发该节点认证请求。
700:重复进行步骤400-600,直至VBN网络中的全部系统节点均接收到该认证请求并完成对新增节点的节点认证。
在新增节点20与全部系统节点10之间均完成节点认证后,新增节点便成为了TAC节点,能够与任意一个系统节点相互访问而不会被拒绝访问请求。亦即组成了一个包含有新增节点的新的VBN网络。
在图2所示的本发明实施例提供的节点认证方法中,使用了与贪食蛇相类似的原理。亦即,在每次进行节点认证的过程中,首先以新增节点为起点,“吃”掉距离新增节点最近的系统节点(即完成节点认证)。然后,依次“吃”掉下一个距离最近的节点直至VBN网络中所有的系统节点均被“吃”掉,令所述新增节点加入到VBN网络中。
该贪食蛇原理可以理解为基于贪婪算法的最优路径获取过程。在本发明实施例提供的方法中,贪婪算法的初始解对应为新增节点与VBN网络中的系统节点之间的最优路径(通信距离最短)。在延伸阶段,贪婪算法的子问题相对应为依次寻找剩余的系统节点中,通信距离最短的系统节点,从而一步步的完成新增节点对全部系统节点的节点认证。该节点认证过程由每个局部最优解合成。
例如如图1所示,新增节点20南美,首先与距离最近的系统节点北美认证,然后系统节点(北美)与距离最近的欧洲认证,然后依次与下一个最优选择系统节点南非、北京以及东京认证,完成新增节点的认证过程。
通过本发明实施例提供的节点认证方法,一方面,由于每次都基于最短通信距离完成节点认证。因此,整个节点认证过程中,数据包的转发路径必然是整个VBN网络中最短的,能够连结所有节点的最优路径。这样的,使用最短路径的节点认证方式具有快速高效的特点。
另一方面,由于只有在具有新增节点的情况下,才需要重新对新增节点进行认证。因此,与现有使用的规则更新方法相区别的是,这样的节点认证方法不会长期驻留在系统中,占用系统资源。
在完成节点认证的VBN网络中,防火墙规则为:只有经过相互认证后的TAC节点之间才能进行数据传输,外部的请求访问全部拒绝,认为是非法访问。整个VBN网络中,各个系统节点之间是相互联系的,不用设置额外规则中心(组播或者服务端)。这样的VBN网络中,不存在特定的攻击对象,被攻击的概率较低,也具有较高的安全程度。
根据上述实施例公开的节点认证方法,在节点认证过程中,目标在于寻找到能够使用的,认证请求的最优转发路径,以尽可能的适用于VBN网络中不断膨胀的节点数量。
图3为本发明实施例提供的,最优转发路径寻找方法的方法流程图。如图3所示,该方法包括:
310:将新增节点加入到管理系统中。
320:通过管理系统从新增节点发起一次RTT探测。RTT是往返时延的简称(Round-Trip Time)。在计算机网络中,RTT值是一个重要的性能指标,其表示从发送端发送数据开始,到发送端收到来自接收端的确认(接收端收到数据后便立即发送确认),总共经历的时延。因此,可以通过RTT值可以代表两个节点之间的距离或者通信的状态。
可以理解的,在连结节点的不同路径中,路径具有较小的RTT值总
和表示该路径是较优的路径,信号或者数据包传递的耗时较少。因此,寻找连结节点的最优路径可以转化为确定具有最小RTT值总和的,连结了所有节点的路径。
由此,可以通过如下步骤(基于上述贪食蛇的原理),确定具有最小RTT值总和的,连结有所有系统节点的路径:
330:根据所述RTT探测结果,选择RTT值最小的系统节点作为下一个RTT探测的发起节点。
340:连结所述发起节点和与发起节点之间的RTT值最小的系统节点。在本实施例中,以RTT值作为判断标准,将RTT值小的路径作为最优路径。
350:管理系统依次在每个发起节点上发起RTT探测,直至管理系统中的全部节点均被连结。步骤330-350中,是一个局部寻优的过程,在路径的每一次延伸中均寻找其最优的子路径,从而获得RTT总值最小的路径。该RTT总值最小的路径即为认证请求的最优转发路径(节点认证耗费的时间最短)。
本发明实施例使用了两个节点间的RTT值作为寻优的判断基准。在另一些实施例中,还可以根据实际情况的需要,使用其它合适的,不同类型的判断基准,例如对某些节点增加权重系数等。本发明实施例提供的RTT探测的方式只是一个很小的数据包,对于系统资源的负担较小,不会消耗过多的系统资源。
本发明实施例还提供了一种节点认证系统。如图4所示,所述节点认证系统包括:探测模块100、认证信息发送模块200、节点认证模块300以及节点新增模块400。
所述节点新增模块400用于将增节点加入所述网络集群。所述探测模块100运行在管理系统中,用于执行所述RTT探测操作以及比较不同的RTT值。所述认证信息发送模块200设置在各个节点中(包括新增节点和系统节点)在RTT探测模块100确定路径后,将认证信息数据包发送到对应的节点,请求节点认证。所述节点认证模块300用于根据认证信息数据包,通过一些数据转换或者处理方法(如解析),获取其中与新增节点相关的节点信息,并经过校验或者认证后,完成对新增节点的节点认证。
在另一些实施例中,所述节点认证系统还可以根据实际情况增加或者减省一些额外的功能模块,而不限于本发明实施例提供的模块100-400。
应当说明的是,上述实施例中提供的节点认证方法和节点认证系统均是基于相同的发明构思。因此,地图绘制方法中各个具体实施例的步骤均可以由对应的功能模块所执行,功能模块中具体的功能也可以在所述地图绘制方法中具有对应的方法步骤,在此不再赘述。
图5为本发明实施例提供的电子设备的硬件结构示意图。如图5所示,该设备50包括:一个或多个处理器510以及存储器520,图5中以一个处理器510为例。
其中,处理器510、存储器520可以通过总线或者其他方式连接,图5中以通过总线连接为例。
存储器520作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的节点认证方法对应的程序指令/模块(例如,图4所示的探测模块100、认证信息发送模块200、节点认证模块300以及节点新增模块400)。处理器510通过运行存储在存储器520中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例节点认证方法。
存储器520可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据节点认证系统的使用所创建的数据等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器520可选包括相对于处理器510远程设置的存储器,这些远程存储器可以通过网络连接至节点认证系统。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器520中,当被所述一个或者多个处理器510执行时,执行上述任意方法实施例中的节点认证方法。
上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。
本发明实施例提供了一种计算机程序产品,包括存储在非易失性计算机可读存储介质上的计算程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时时,使所述计算机执行上述任意方法实施例中的节点认证方法,例如,执行以上描述的图1中的方法步骤100-700,实现图2中的模块100-400的功能。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。