CN1738237A - 具有连接管理的密钥配置拓扑 - Google Patents

具有连接管理的密钥配置拓扑 Download PDF

Info

Publication number
CN1738237A
CN1738237A CNA2005100717852A CN200510071785A CN1738237A CN 1738237 A CN1738237 A CN 1738237A CN A2005100717852 A CNA2005100717852 A CN A2005100717852A CN 200510071785 A CN200510071785 A CN 200510071785A CN 1738237 A CN1738237 A CN 1738237A
Authority
CN
China
Prior art keywords
key
node
mapping
section point
resource
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.)
Granted
Application number
CNA2005100717852A
Other languages
English (en)
Other versions
CN1738237B (zh
Inventor
P·莫蒂
K·汉普顿
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.)
Hewlett Packard Enterprise Development LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN1738237A publication Critical patent/CN1738237A/zh
Application granted granted Critical
Publication of CN1738237B publication Critical patent/CN1738237B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/065Network architectures or network communication protocols for network security for supporting key management in a packet data network for group communications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • 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
    • 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/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Abstract

描述了与密钥配置拓扑连接管理相关联的系统、方法、介质及其它实施例。一个示例性系统(500)的实施例包括逻辑(510),用于把资源映射到通过其可以访问该资源的端口,还包括逻辑(520),用于至少部分地根据在密钥配置拓扑中的成员资格来确定是否将要准予请求者与资源所驻留的机器的连接。可以由连接管理逻辑(520)分析由请求者在与访问所述资源相关的请求中所提供的密钥,来确定在密钥配置拓扑中的成员资格。可以由密钥维持逻辑在内部产生所述密钥。

Description

具有连接管理的密钥配置拓扑
技术领域
本发明涉及密钥配置的拓扑,更具体而言设计具有连接管理的密钥配置拓扑。
背景技术
像NIC(network interface card-网络接口卡)或远程直接存储器访问NIC(RNIC—Remote direct memory access之类的数据通信组件可以具有如端口、存储器、连接、许可证、处理器周期等等有限的资源。这些有限资源的非期望(例如,未经授权的)消耗可能负面地影响由数据通信组件提供的数据通信功能。例如,虽然可以把RNIC设计成支持RDMA,但是如果支持RDMA的资源由于非期望的消耗而导致不可用的话,那么所述RDMA功能可能也是不可用的。
RDMA是在最小的CPU(中央处理单元)干预下使一个计算机直接地把数据放置到另一计算机的存储器中的NIC功能。优于由计算机的CPU来移动数据,CPU可以编程RNIC来处理期望的数据传送。该RNIC移动所述数据并且当传送完成时通知所述CPU。所述CPU较少涉及所述数据传送并且具有更多的周期可用于其它并发任务,借此改善RDMA配置的计算机的总体功能。然而,为了受益于RDMA,RNIC可能要求相对昂贵因而有限的高速内部存储器。如果有限的资源已用完,那么所述RNIC不能提供其原本被设计提供的RDMA服务。虽然描述了RDMA,但是应当理解,其它数据通信和联网功能也可能受到非期望的资源消耗的负面影响。
在一些网络协议中(例如,TCP/IP(传输控制协议/网际协议)、UDP(用户数据报协议)),端口表示逻辑端点。可以由客户端使用端口来指定其希望与之交互的具体服务器程序,或指定其想要访问的具体服务器资源。例如,可以将一个端口与RDMA服务相关联。
为了便于经由端口在计算机网络上建立连接,一些端口可以具有预先分配的编号和/或地址。这些类型的端口可以被称作“公知的端口”,并且当建立连接时采取的第一动作可能涉及这些“公知的”端口。可以把一个公知的端口与便于寻找可用的服务和/或与之相交互的端口映射器相关联。可以采用软件、固件、硬件及其组合来实现端口映射器。端口映射器可以把资源、程序、服务等映射到一个特定传输端口号,请求客户端通过响应于对映射数据的请求而分发的映射数据能够知道该特定传输端口号。这使客户端便于动态地绑定、使用映射的程序、服务、资源等和/或与之通信。然而,映射数据的无保护的分发可能会导致对有限网络资源的非期望消耗。
请求客户端可以经由公知的端口与端口映射器通信以便请求映射数据,所述映射数据涉及资源与哪个服务端口相关联。所述请求客户端可以从所述端口映射器接收端口/资源映射数据,继而请求建立连接以便使通过使用所提供的映射数据来访问所述资源便于进行。然而,不是所有的连接都是想要的。连接消耗资源,并且连接可能被不期望的和/或不合适的客户端获得。一旦建立连接,那么它可能一直持续到由所述客户端断开或直到出现错误。类似地,可能轻率地或采用不适时地方式获得连接,这可能导致对有限资源的非期望的消耗,接着导致不想要的结果。
发明内容
本发明提供了一种系统,包括:
映射逻辑,被配置为生成在位于第一节点的资源和位于该第一节点的端口之间的映射,并且有选择地向第二节点提供映射数据,所述映射数据描述在所述资源和所述端口之间的映射;和
连接管理逻辑,可操作地连接到映射逻辑,连接管理逻辑被配置为控制下列的一项或多项:映射逻辑是否将向第二节点提供映射数据,和是否将要在第一节点和第二节点之间建立连接,所述连接便于所述第二节点经由第一联网协议访问所述资源,并且其中连接管理逻辑至少部分地根据由所述第二节点提供给连接管理逻辑的密钥的存在和有效性来实施它的控制,所述密钥被配置为在密钥配置拓扑组中建立成员资格。
本发明还提供了一种方法,包括:
在第一节点中,经由优选的计算机联网协议从第二节点接收经由所述优选的计算机联网协议在第一节点和第二节点之间建立连接的请求,其中所述连接便于第二节点访问与第一节点相关联的资源;
确定所述请求是否包括被配置成建立第二节点是包括第一节点的密钥配置拓扑组的成员的密钥;
如果包括所述密钥,那么确定所述密钥是否为第二节点在所述密钥配置拓扑组中建立了有效的成员资格;并且
执行下列步骤之一:经由优选的计算机联网协议有选择地在所述第一节点和所述第二节点之间建立连接,和如果所述密钥没有为第二节点在所述密钥配置拓扑组中建立有效的成员资格,那么有选择地拒绝建立所述连接。
本发明又提供了一种方法,包括:
在第一节点中,从第二节点接收对于映射数据的第一请求,所述映射数据描述了在所述第一节点上的资源和所述第一节点上的端口之间的关系;
根据在第一请求中密钥的存在和有效性来有选择地向第二节点提供所述映射数据,其中所述密钥被配置成建立第二节点是包括第一节点的密钥配置拓扑组的成员;
从第二节点接收经由第一联网协议在第一节点和第二节点之间建立连接的第二请求,其中所述连接便于访问所述资源;
根据在所述第二请求中密钥的存在和有效性有选择地建立所述连接;并且
有选择地向所述第二节点提供连接已建立的通知。
本发明还提供了一种方法,包括:
从客户端节点,向服务器节点上公知的端口做出对于映射数据的第一请求,所述映射数据描述了通过其可以访问服务器节点上的资源的端口,其中所述第一请求包括被配置为把客户端节点标识为服务器节点所从属的密钥配置拓扑组的成员的密钥;
当确定已经接收到所述映射数据时,向服务器节点做出第二请求以便经由第一计算机联网协议通过所述端口建立与所述资源之间的连接;并且
当确定还没有接收到所述映射数据时,向服务器节点做出第三请求以便经由第二计算机联网协议建立与所述服务器节点之间的后退连接,所述第二计算机联网协议不同于所述第一计算机联网协议。
本发明还提供了一种用于防止未经授权地消耗联网资源的系统,包括:
密钥管理逻辑,被配置为接收并存储密钥,所述密钥被配置为便于确定试图消耗网络资源的节点是否是被授权可消耗所述网络资源的密钥配置拓扑组的一部分,和
密钥验证逻辑,被配置为确定试图获得关于网络资源的信息、或试图建立与消耗网络资源相关联的连接的节点是否是经授权可消耗所述网络资源的密钥配置拓扑组的一部分。
附图说明
引入本说明书并构成其一部分的附图图示了各种示例性系统、方法等等,其举例说明了本发明各个方面的示例性实施例。应当理解的是,在图中所示出的元件边框(例如,方框,方框组或其它形状)表示所述边框的一个例子。本领域普通技术人员将理解可以把一个元件设计为多个元件,或者可以把多个元件设计为一个元件。可以把被示为另一元件的内部组件的元件实现为外部组件,反之亦然。此外,可以不按比例绘制元件。
图1图示了示例性节点集,所述节点集可以是配置密钥拓扑的成员。
图2图示了与密钥配置拓扑节点通信相关联的示例性消息和动作。
图3图示了与密钥配置拓扑节点通信相关联的示例性消息和动作。
图4图示了示例性计算机联网协议堆栈,并且指出其中可以出现密钥配置拓扑连接管理的位置。
图5图示了用于提供密钥配置拓扑连接管理的示例性系统。
图6图示了用于在密钥配置拓扑中处理连接请求的示例性服务器方法。
图7图示了用于在密钥配置拓扑中处理连接请求的另一示例性服务器方法。
图8图示了用于在密钥配置拓扑中请求与服务器节点的连接的示例性客户端方法。
图9图示了用于在密钥配置拓扑中请求与服务器节点的连接的另一示例性客户端方法。
图10图示了其中在此示出的示例性系统和方法可以在其中操作的示例性计算环境。
图11图示了示例性应用编程接口(API)。
具体实施方式
示例性系统和方法举例说明了用于密钥配置拓扑中的节点的基于密钥的连接管理。所述节点(例如,客户端计算机、服务器计算机、网络计算机、打印机、电话)可以在像基于TCP/IP的网络的开放网络中共享公共的组成员资格(membership)特权集。示例性系统和方法举例说明了采用下面方式来在所述节点之间建立连接,所述方式便于限制对于像存储器、许可证、连接、处理器周期等资源的非希望的消耗。所述连接可以在所要求(例如,开放)网络内采用优选的协议,并且在该网络上通过该优选的协议来排除其它节点。
一些通信协议可能易受到未经授权的连接(例如,拒绝服务(Denial ofService-DoS)攻击)的攻击。为了减少该易受攻击性,对于想要经由其它易受攻击协议来通信的节点,能够实现在密钥配置拓扑中的且基于处理由密钥配置拓扑的密钥管理服务产生的密钥的成员资格。当交换并确认所述密钥时可以允许在所述组内节点之间的通信。可以允许拥有所述密钥的节点访问受保护的成员节点或资源,同时可以防止不拥有所述密钥的节点使用特定协议建立到受保护的节点的连接。可以阻止不拥有内部生成密钥的节点请求映射信息、建立连接、和/或使用其它易受攻击的协议与上述组的成员通信。然而,后退(fallback)处理(例如,当所期望的协议不可用时通过辅助协议来处理)可以允许未授权的节点使用不同的网络协议与所述密钥配置拓扑的成员通信。使用后退协议进行的连接对所述组成员经由优选的联网协议是可用的资源可能不提供相同访问。
防止像在DoS攻击期间遭遇的未授权的使用是密钥配置拓扑连接管理的一个用途。当没有其它物理或逻辑障碍时,有选择地控制是否允许节点经由特定的高级协议来通信可以是其另一用途。例如,密钥配置拓扑的成员节点是否可以经由特定的端口和/或协议来通信,可以根据日时、负载、当前用户数、维护调度表等等来控制。从而,密钥配置拓扑连接管理可以对与像RNIC之类的数据通信组件相关联的资源提供细粒度的控制。例如,细粒度可以方便阻塞经由第一协议/端口/卡来对第一资源(例如,数据库、RDMA存储器、RDMA接口)的访问,同时允许经由第二协议/端口/卡通过后退处理访问第二资源。另外和/或作为选择,细粒度可以便于阻塞经由第一协议对第一资源的访问,但是可以允许收集关于为何阻塞经由第二协议访问的信息。例如当访问是由于负载限制被阻塞,而不是由于无效密钥而拒绝请求被阻塞时,可以使用上面功能。通过举例说明,由于某些资源可以在每个RNIC的基础上管理,所以资源保存技术可能使一些资源对于其它已授权的请求者(例如,具有有效密钥的请求者)暂时不可用。如果关于拒绝原因的信息对于其它已授权的请求者可用,那么该请求者可以采取下列行动,比如像稍后再试一次,经由不同的RNIC寻求与类似可用资源的连接,等等。
以下包括这里所使用的精选术语的定义。所述定义包括属于术语的范围而且可以用于实施的各种例子和/或组件的形式。所述例子并非意在限制。术语的单数和复数形式都应当在所述定义之内。
这里所用的“计算机可读介质”指的是参与直接或间接地提供信号、指令和/或数据的介质。计算机可读介质可以采取下列形式,包括但不限于非易失性介质、易失性介质和传输介质。非易失性介质可以包括例如光或磁盘等等。易失性介质可以包括例如光或磁盘、动态存储器等等。传输介质可以包括同轴电缆、铜线、光纤电缆等等。传输介质还可以采取比如像在无线电波和红外线数据通信期间产生的电磁辐射的形式,或采取一组或多组信号的形式。计算机可读介质的公共形式包括但不局限于,软盘、软磁盘、硬盘、磁带、其它磁介质、CD-ROM、其它光介质、穿孔卡片、纸带、其它具有孔图案的物理介质、RAM、ROM、EPROM、FLASH-EPROM或其它存储器芯片或卡片、记忆棒、载波/脉冲,及其它计算机、处理器或其它电子设备可以从其上读取的介质。用于在如因特网之类的网络上传送指令或其它软件的信号可以被认为是“计算机可读介质”。
这里所用的“数据存储器”指的是可以储存数据的物理的和/或逻辑的实体。数据存储器可以是例如数据库、表、文件、列表、队列、堆、存储器、寄存器、等等。数据存储器可以驻留在一个逻辑的和/或物理的实体中,和/或可以分布在两个或更多逻辑的和/或物理的实体之间。
这里所用的“逻辑”包括但不局限于硬件、固件、软件和/或它们的组合,用于执行功能或动作,和/或促成来自另一逻辑、方法和/或系统的功能或动作。例如,根据期望的应用或需要,逻辑可以包括软件控制的微处理器、像专用集成电路(ASIC)之类的离散逻辑、程序控制逻辑装置、包含指令的存储设备、等等。逻辑可以包括一个或多个栅极、栅极的组合或其它电路元件。逻辑还可以被完全具体化为软件。在描述了多个逻辑的逻辑之处,可以把多个逻辑的逻辑合并为一个物理逻辑。类似地,在描述了单个逻辑之处,可以在多个物理逻辑之间分布该单个逻辑。
“可操作连接”、或实体通过它是“可操作地连接”的连接是这样一种连接,其中可以发送和/或接收信号、物理通信和/或逻辑通信。一般地,可操作连接包括物理接口、电路接口和/或数据接口,但是应当注意可操作连接可能包括这些或其它类型的足以允许可操作控制的连接的不同组合。例如,两个实体通过能够彼此直接或经由一个或多个中间实体传递信号而可操作连接,所述中间实体类似处理器、操作系统、逻辑、软件或其它实体。逻辑和/或物理通信信道可用于创建可操作连接。
这里所用的“软件”包括但不局限于一个或多个计算机或处理器指令,所述指令能够被读取、解释、编译和/或执行并且所述指令使计算机、处理器或其它电子设备以所期望的方式来执行功能、动作和/或行为。可以采用各种形式来具体化所述指令,所述形式像例程、算法、模块、方法、线程和/或包括来自动态链接库的、独立的应用或代码的程序。还可以采用各种可执行和/或可装载形式来实现软件,所述形式包括但不限于独立程序、函数调用(本地和/或远程)、小服务器程序(servelet)、小应用程序、存储在存储器中的指令、操作系统的一部分或其它类型的可执行指令。本领域普通技术人员应当理解,软件的形式可以取决于例如期望应用的需求、其运行的环境、和/或设计师/程序员的期望等等。还应当理解,计算机可读和/或可执行指令可以位于一个逻辑中和/或分布在两个或更多通信的、合作的和/或并行处理逻辑之间,并且从而可以被以串行、并行、多重并行及其它方式来加载和/或执行。
用于实现这里描述的示例性系统和方法的各种组件的合适软件包括编程语言和工具,像Java、Pascal、C#、C++、C、CGI、Perl、SQL、API、SDK、汇编、固件、微码和/或其它语言和工具。软件,不管是整个系统或是系统的组件,可以被具体化为一件产品,并且作为如先前定义的计算机可读介质的部分来保存或提供。软件的另一种形式可以包括经由网络或其它传播介质来把所述软件的程序代码发送到接收器的信号。从而,在一个例子中,计算机可读介质具有信号的形式,所述信号从网络服务器下载到用户时代表软件/固件。在另一例子中,所述计算机可读介质具有保存在网络服务器上的软件/固件的形式。还可以使用其它形式。
这里所用的“用户”包括但不局限于一个或多个人、软件、计算机或其它装置或这些的组合。
根据对在存储器内的数据位操作的算法和符号表示来给出随后的某些部分的详细说明。这些算法的描述和表示是本领域内那些技术人员用来向其他人表达他们工作的实质的方法。这里通常把一个算法认为是生成结果的一个操作序列。所述操作可以包括对物理量的物理操作。通常,但不必要的是,这些物理量采取能够在逻辑等装置中存储、转送、组合、比较及其它操作的电或磁性信号的形式。
主要由于公共使用的原因,把这些信号称为位、值、元素、符号、字符、术语、数目等等已经证明有时是方便的。然而应该记住,这些和类似的术语将与适当的物理量相关联并且仅仅是便于运用这些量的标签。  除非另外特别声明,应理解在整个说明书中像处理、计算、运算、确定、显示等等之类的术语指的是计算机系统、逻辑、处理器或用于处理并变换被表示为物理(电子)量的数据的类似的电子设备的动作和过程。
图1图示了节点集100,其可以是密钥配置拓扑的成员或在密钥配置拓扑内的某个组。所述节点集100包括节点110、120和130,其分别包括密钥116、126和136,可以检查这些密钥以便确定节点是否是密钥配置拓扑组的成员。节点140不包括密钥。从而,因为节点140没有密钥,节点和/或与所述节点相关联的逻辑可以确定节点140不是密钥配置拓扑的一部分,而节点和/或逻辑可以执行附加的动作来确定具有密钥的节点是否是密钥配置拓扑组的成员。
节点110包括资源112和端口114。例如可以通过端口映射器118在资源112和端口114之间建立映射。节点120和130包括类似的组件。端口映射器118还可以充当第一线的防御,基于把密钥116与从请求节点接收的密钥相比较,来确定是否有选择地发送关于在资源112和端口114之间的映射的数据。例如,如果节点120请求关于在节点110上的资源和端口之间的映射的数据,那么节点120将在所述请求中包含密钥126。那么在节点110上的端口映射器118和/或另一逻辑(未图示)可以检查密钥126的拷贝以便确定节点110和节点120是否属于一个共同的密钥配置拓扑组。如果共同属于的话,那么端口映射器118可以提供所述映射数据并且随后可以允许在节点110和节点120之问建立连接。如果不属于的话,那么将不向节点120提供映射数据。然而,节点120能够建立与节点110之间的后退连接。使用所述后退连接,节点120可以与节点110通信,然而其可能不能使用可用于密钥-拓扑配置组成员的优选的网络协议,和/或不能经由端口114访问资源112。
节点150举例说明了具有下面系统的节点,所述系统被配置为便于防止未经授权地消耗类似资源112、122、132和156这样的网络资源。节点150包括被配置为接收并存储密钥166的密钥管理逻辑152,密钥166被配置为便于确定试图消耗像资源156之类资源的节点是否是经授权可以消耗网络资源156的密钥配置拓扑组的一部分。在一个例子中,端口映射器118可以包括被配置为建立并存储密钥116的密钥管理逻辑,密钥116可以控制是否将允许一个到节点110的连接和/或是否将允许使用优选的协议经由端口114来访问资源112。在一个例子中,如在节点110中所示,密钥管理逻辑是端口映射器的一部分,而在另一个例子中,如在节点150中所示,密钥管理逻辑152可以是独立于映射逻辑158的逻辑。
节点150还包括密钥验证逻辑154,被配置为确定试图获得关于像资源156之类的网络资源的信息、或试图建立与消耗像资源156之类的网络资源相关联的连接的节点是否是被授权可消耗网络资源156的密钥配置拓扑组的一部分。例如,端口映射器118可以包括密钥验证逻辑,被配置为确定在映射数据和/或连接请求中接收的密钥是否与密钥116正确地相关,并且因此是否将准予一个到节点110的连接,和/或是否将准予经由期望的网络协议通过端口114访问资源112。在一个例子中,像在节点110中所示,密钥验证逻辑可以是端口映射器118的一部分,而在另一例子中,像在节点150中所示,密钥验证逻辑154可以是与映射逻辑158独立的组件。
从而,在一个例子中,像以硬件、固件、软件和/或其组合来实现的节点110和节点150之类的节点,可以包括:像密钥管理逻辑152之类的用于提供密钥的装置,所述密钥便于确定客户端节点是否是服务器节点所属的密钥配置拓扑组的成员;包括像密钥验证逻辑154之类的用于分析所述密钥以便确定提出将导致消耗服务器资源的请求的客户端节点是否是所述服务器节点所属的密钥配置拓扑组的成员的装置;以及像密钥验证逻辑154之类的装置,用于如果通过分析密钥确定请求客户端节点不是服务器节点所属的密钥配置拓扑的成员那么拒绝将导致消耗服务器资源的请求。
在一个例子中,像图形用户界面(GUI)之类的界面可以方便像指定组成员参数、建立密钥、发送密钥等之类的动作。所述GUI可以接收例如从中可产生内部密钥的字母-数字通行字短语(例如,密码)。从而应当理解,这里所用的“密钥”指的不是用户提供的数据,而是通过使用用户提供的数据(例如,密码)或系统提供的数据(例如,随机数)作为密钥产生逻辑的输入而生成的值、字节、位代码和/或其它类似的计算机可读实体。然后,可以由在密钥配置拓扑中的节点使用所述密钥以便执行像确认在所述组中的成员资格、允许在节点之间设置连接等之类的动作。在一个例子中,可以把密钥、组成员资格、连接控制等应用于单个协议接口、具有单个分配协议地址的组队的协议接口、具有多个分配协议地址的组队的协议接口等。虽然描述了GUI,但是应当理解密钥管理可以包括与基于脚本系统、基于策略系统和/或其它系统的交互。
在一个例子中,节点可以是多个密钥配置拓扑的成员,其中所述拓扑在所述节点内彼此隔离。例如,所述节点可以具有多个密钥,其提供对多个拓扑组的访问而不提供在所述拓扑之间的交互。在所述例子中,如果在节点删除一个密钥,那么可以立即终止基于该密钥的现有的连接并且可以自动地取消在对应拓扑组中的成员资格。在另一例子中,节点可以自知它们关于在密钥配置拓扑中的成员资格的状态。例如,节点可以知道它没有密钥而且它只能与某些其它节点创建后退连接。从而,可以使用所管理的节点的知识来管理密钥配置拓扑。
图2图示了与密钥配置拓扑节点通信相关联的示例性消息和动作200。客户端210可以设法连接到服务器220以便访问在所述服务器220上的资源。从而在230,客户端210可以向服务器220请求映射数据。如果所述客户端210具有用于在密钥配置拓扑组中确立其成员资格的密钥,那么所述请求230可以包括该密钥。在240,服务器220可以验证该密钥,并且如果验证通过该密钥,那么在250可以提供关于在服务器220上的资源和端口之间的映射的映射数据。然后在260,所述客户端210根据所述映射数据可以请求连接到所述服务器220。所述请求将包括用于确立在所述密钥配置拓扑组中的成员资格的密钥。在270,服务器220然后可以再次验证所述密钥,并且如果其有效,那么在280可以使用能用于密钥配置拓扑组成员的联网协议来在客户端210和服务器220之间建立连接。在一个例子中,所述服务器220然后可以在290向所述客户端210提供连接数据,所述连接数据表明已做出了连接。所述连接数据可以包括关于所述连接等的信息(例如,速度、协议版本、持续时间、分组大小、分组成本)。
图2显示了这样的方案,其中客户端在做出连接请求之前寻求来自服务器的映射数据。由于端口映射器在客户端和服务器上都可以是可用的,并且由于端口映射器可以存储先前获得的映射数据,所以在某些情形中客户端可能已经具有高速缓存的端口映射数据。从而,图3图示了与密钥配置拓扑节点通信相关联的示例性消息和动作300,其中客户端310已经高速缓存了关于在服务器320上的资源和端口的端口映射数据。
在330,所述客户端310可以根据所高速缓存的端口映射数据做出连接请求。如果所述客户端310具有用于确立它在服务器320所从属的密钥配置拓扑组中的成员资格的密钥,那么请求330可以包括该密钥。在340,所述服务器320将验证所述密钥,并且如果所述密钥验证通过,那么在350在服务器320和客户端310之间建立连接。通过要求所述密钥存在于如图2所示的端口映射请求中并且存在于如图3所示的连接请求中,密钥配置拓扑连接管理系统和方法可以提供对非期望的资源消耗的多层防御。例如,如果服务器不要求请求连接包含密钥,那么在获得端口映射数据之后被欺骗(spoof)的客户端也许能以未经授权的方式来获得在所述服务器的资源。在联网术语中,欺骗泛指能够使像硬件和软件之类的网络组件上当的方法。例如IP欺骗涉及制作一个消息,显得该消息看似来自一个IP地址而实际上它来自另一IP地址。从而,在端口映射请求和连接请求中都要求密钥的多层密钥配置拓扑连接管理系统能够减轻发送映射数据阶段欺骗的影响。
图4图示了示例性计算机联网协议堆栈400。所述协议堆栈400包括会话层430,在该会话层可以发生用于密钥配置拓扑的连接管理。公知的OSI(开放系统互连)协议堆栈包括应用、表示、会话、传输、网络、数据链路和物理层。所述示例性协议堆栈400类似地包含应用层410、表示层420、会话层430、TCP传输层440、IP网络层450、数据链路层460和物理层470。
通常在计算机联网协议的传输层实现TCP,而通常在计算机联网协议的网络层实现IP。从而在堆栈400中图示说明了TCP层440和IP层450。所述会话层430在逻辑上位于TCP层440和IP层450上面,在所述会话层430上可以执行基于密钥的连接管理服务。连接管理服务可以包括密钥创建、密钥管理、密钥验证等等。基于TCP/IP的计算机联网协议及其它类似公知的、基于标准的协议可以被称为开放网络。虽然举例说明了七层协议,然而应当理解可以使用具有更多或更少层数的协议。类似地,虽然示出了包括TCP/IP的协议,但是也可以使用其它开放网络。
如先前所述,客户端节点和服务器节点可以期望经由类似于栈400图示的期望协议来通信。为了防止非期望的(例如,未经授权的)资源消耗,在服务器节点中的会话层430可以针对密钥检查输入的端口映射请求和/或连接请求,所述密钥确立请求者在服务器所属的密钥配置拓扑组中的成员资格。在一个例子中,可以在创建密钥并且分发所述密钥中涉及应用层410。例如,用户可以把字母-数字通行字短语输入一个应用层410应用中。然后所述应用可以使用例如加密算法、哈希算法及其它密钥生成算法在内部产生密钥。然后,所述应用可以把所述密钥分发到在服务器节点的会话层430和所选择的客户端节点。在一个例子中,当制造(R)NIC时可以把所述密钥存储在所述客户端NIC或RNIC的硬件中,而在另一例子中,在动态配置期间可以把所述密钥动态地存储在客户端(R)NIC的数据存储器中。所述密钥可以控制组成员资格,可以根据像共享公共属性集-例如分组大小、RDMA发送大小及能使两个节点将能有效地通信的其它属性的节点的因素来预测组成员资格。另外和/或作为选择,可以根据例如对于相同类型的资源(例如,数据,处理器,数据库)、成员关系感兴趣的节点等因素来预测组成员资格。
图5图示了用于提供密钥配置拓扑连接管理的示例性系统500。所述系统500包括映射逻辑510,其被配置为生成在位于第一节点的资源和位于该第一节点的端口之间的映射。例如,所述映射逻辑510可以在位于带有系统500的节点上的资源540的成员和端口530的成员之间生成映射。通过例图,可以把资源542映射到端口539,而把另一资源545映射到端口533。映射逻辑510也可以用来有选择地向第二节点提供映射数据,所述映射数据描述了在资源和端口之间的映射。例如,服务器节点可以提供RDMA服务。第一RDMA接口可以位于端口533,而在服务器节点RNIC上的存储器可以位于资源548。从而,当接收到一个有效的端口映射请求时,所述映射逻辑510可以向请求节点提供标识端口533的数据,通过端口533可以访问资源548。在一个例子中,所述映射逻辑510可以一个端口映射器,被配置为在已知的端口上监听,监听对服务器节点上的映射数据的请求。
所述系统500还可以包括连接管理逻辑520,其可操作地连接到所述映射逻辑510。所述连接管理逻辑520可以控制映射逻辑510是否将向请求节点提供映射数据。另外和/或作为选择,所述连接管理逻辑520可以控制是否将要建立方便请求节点经由第一联网协议访问服务器节点中的资源的连接。在一个例子中,连接管理逻辑520可以至少部分地根据由请求节点提供给所述连接管理逻辑520的密钥的存在和有效性,来控制映射逻辑510。分析所述密钥以便确定所述请求节点是否是包括服务器节点的密钥配置拓扑组的成员。在另一例子中,连接管理逻辑520可以根据像日时、网络通信量、负载和资源可用性之类的因素实施它的控制。例如,当一个已授权的请求节点寻求对资源的访问时,另两个已授权的请求节点可能已经在访问该资源,因而该资源可能受到访问限制的约束。从而,即使该请求节点具有有效的密钥,连接管理逻辑520也可以控制映射逻辑510阻塞所述请求。
所述连接管理逻辑520还可以便于依照第二联网协议在请求节点(例如,客户端)和接收节点(例如,服务器)之间建立后退连接。可以建立后退连接以便使客户端节点与服务器节点通信,但是不使用由所述密钥配置拓扑的成员使用的协议,并且不访问可以由所述密钥配置拓扑成员访问的资源。在已经控制映射逻辑510不向请求节点提供映射数据之后,该请求节点可以请求后退连接。类似地,在已经控制映射逻辑510阻止依照第一联网协议在客户端节点和服务器节点之间建立连接之后,该请求节点可以请求后退连接。
所述映射逻辑510可以提供关于例如在第一节点和第二节点之间支持RDMA的资源的信息并且控制对该资源的访问。这些资源可以包括但不局限于计算机存储器、数据通信连接、许可证、处理器周期等。映射逻辑510和连接管理逻辑520可以在物理上位于例如(R)NIC上。所述连接管理逻辑520可以在与密钥配置拓扑的成员所使用的联网协议相关联的会话层上操作。所述联网协议还可以包括TCP传输层和IP网络层。
参考图6到9的流程图可以更好地理解示例性方法。虽然为了解释的简明性,所举例说明的方法以一连串的过程块来示出和描述,但是应当理解该方法不限于所述块的次序,某些块可以按照不同的次序和/或与所示出并描述的其它块同时出现。此外,可以要求以少于所有示出的块的形式来实现示例性方法。此外,附加的和/或可替代的方法可以使用附加的、未示出的块。
在流程图中,块表示可以用逻辑实现的“处理块”。流程图不描述任何特定程序设计语言、方法或模式,(例如,过程的,面向对象)的语法。更确切些,流程图图示了功能性信息,本领域内技术人员可以使用该功能性信息来开发用于执行图示的处理的逻辑。应当理解的是,在某些例子中,没有示出像临时变量、例程循环等程序元素。还应当理解,电子和软件应用可以涉及动态且灵活的过程,使得可以以不同于示出的序列的顺序执行示出的块,和/或可以组合所述块或把所述块分成多个部分。应当理解的是,可以使用像机器语言、过程的、面向对象的和/或人工智能技术之类的各种程序设计方法来实现所述过程。
图6图示了用于处理配置密钥拓扑中的连接请求的示例性服务器方法600。例如可以由像服务器节点之类的第一节点执行所述方法600,资源、端口和端口映射器驻留所述服务器节点上。在一个例子中,所述资源可以位于与服务器节点相关联的(R)NIC上。所述资源可以在客户端节点和服务器节点之间支持RDMA。所述方法600可以包括在610从像客户端节点(例如,计算机)之类的第二节点接收请求以便在客户端节点和服务器节点之间建立连接。可以经由对于具有连接管理的密钥配置技术的成员优选可用的计算机联网协议来接收所述连接请求。类似地,所述请求可以是打开连接以访问在服务器节点上的资源,其中所述连接将使用优选的计算机联网协议。
所述方法600还可以包括在620,确定所述请求是否包括被配置成建立客户端节点是包含服务器节点的密钥配置拓扑组的成员的密钥。如果在620所述确定结果是“是”,那么方法600可以前进至630,在那里它确定所述密钥是否为客户端节点在密钥配置拓扑组中建立了有效的成员资格。如果在630的确定结果是“是”,那么所述方法600可以使用优选的计算机联网协议有选择地在客户端节点和服务器节点之间建立所请求的连接。
所述方法600还可以包括(未图示出)服务器节点向客户端节点提供一条信息,确认已经经由优选的计算机联网协议在客户端节点和服务器节点之间建立了一个连接。虽然使用客户端节点和服务器节点来描述请求节点和请求接收节点,但是应当理解像计算机之类的节点在一个时刻可以是逻辑服务器和/或接收器,而在另一时刻它可以是逻辑客户端和/或请求器。
虽然图6图示了串行发生的各个动作,但是应当理解,在图6中所示的各个动作可以基本上并行出现。通过例图,第一进程可以接收连接请求,第二进程可以确定在连接请求中密钥的存在和有效性,而第三进程可以创建连接。虽然描述了三个进程,但是应当理解,可以使用更多和/或更少数目的进程,并且可以使用低权重的进程、常规进程、线程及其它方法。
在一个例子中,把方法实现为存储在计算机可读介质上的处理器可执行指令和/或操作。从而在一个例子中,计算机可读介质可以存储可操作以令服务器节点执行下面方法的处理器可执行指令,该方法包括经由包含TCP传输层和IP网络层的开放式计算机联网协议从客户端节点接收一条在客户端节点和服务器节点之间建立连接的请求。优选地,期望的连接将使用优选的计算机联网协议。期望的连接可以方便客户端节点访问位于与服务器节点相关联的(R)NIC上的资源,其中所述资源支持在客户端节点和服务器节点之间的RDMA。该方法还可以包括确定所述请求是否包括被配置成确定所述客户端节点是包含服务器节点的密钥配置拓扑组的成员的密钥,并且如果包括所述密钥,那么确定所述密钥是否为客户端节点在密钥配置拓扑组中建立了有效的成员资格。所述方法还可以包括经由优选的计算机联网协议有选择地在客户端节点和服务器节点之间建立连接。虽然描述该方法存储在计算机可读介质上,但是应当理解,这里描述的其它示例性方法也可以存储在计算机可读介质上。
图7图示了用于处理配置密钥拓扑中的连接请求的另一示例性服务器方法700。所述方法700包括在705,在第一节点中接收来自第二节点的对于端口映射数据的请求,该端口映射数据描述了在所述第一节点上的资源和第一节点上的端口之间的关系。在710,判定所述请求是否包括可以在所述第一节点所属的密钥配置拓扑组中为第二节点建立成员资格的密钥。如果所述判定结果是“是”,那么在715确定所述密钥是否有效地建立该成员资格。
在720,所述方法700包括有选择地向第二节点提供映射数据。根据在710和715确定的第一请求中的密钥的存在和有效性,有选择地提供映射数据。在一个例子中,所述方法700可以在720之后终止。在另一例子中,所述方法700还可以包括在725,接收来自第二节点的经由第一联网协议在第一节点和第二节点之间建立连接的第二请求。在一个例子中,所述第一联网协议包括TCP传输层和IP网络层。
所请求的连接可以方便访问第一节点上的资源。在一个例子中,所述资源可以位于与第一节点相关联的(R)NIC上,和/或可以支持在第一节点和第二节点之间的RDMA。在730,确定所述连接请求是否包含密钥,并且在735,确定该密钥是否为第二节点在第一节点所属的密钥配置拓扑组中建立了有效的成员资格。虽然把710和715图示为独立的动作,730和735也图示为独立的动作,但是应当理解在某些例子中可以组合这些动作。方法700还可以包括在740确定资源是否可用。例如,所述资源可能正在被密钥配置拓扑组的另一成员访问,因而暂时是不可用的。
因此方法700可以在745根据第二请求中的密钥的存在和有效性有选择地建立连接。是否建立连接还可以取决于所述资源的可用性。在一个例子中,所述方法700可以包括在750向第二节点提供建立了连接的通知。
所述方法700还可以包括如下的动作:从第二节点接收第三请求以便在第一节点和第二节点之间建立后退连接(未图示)。所述第三请求可以不包括已包括在第二请求内的密钥,从而可以经由第二协议建立响应于第三请求而许可的连接,所述第二协议不同于可以用于所述第一节点所从属的密钥配置拓扑组的成员的协议。此外,响应于第三请求而许可的连接可以不提供对第一节点从属的密钥配置拓扑组的成员可用的资源的访问。
虽然图7图示了各个动作以串行发生,但是应当理解,在图7中示出的各个动作基本上可以并行发生。通过例图,第一进程可以接收映射数据请求,第二进程可以确定密钥在端口映射数据请求中的存在和有效性,第三进程可以接收连接请求,第四进程可以确定密钥在连接请求中的存在和有效性,而第五进程可以有选择地创建连接。虽然描述了五个进程,但是应当理解,可以使用更多和/或更少数目的进程,并且可以使用低权重进程、常规进程、线程及其它方法。
图8图示了用于在配置密钥拓扑中请求到服务器节点的连接的示例性客户端方法800。所述方法800可以包括在810令客户端做出对于映射数据的第一请求。可以把第一请求发送到服务器节点上的公知的端口。所述映射数据可以描述经由其可以访问服务器节点上的资源(例如,存储器,处理器周期)的端口。第一请求可以包括密钥,该密钥被配置为把客户端节点标识为所述服务器节点所从属的密钥配置拓扑组的成员。所述密钥可以是例如由密钥配置拓扑连接管理器产生并且分发给将要成为所述密钥配置拓扑的成员的节点的密钥。密钥配置拓扑的成员可能优选用来通信的协议可以包括TCP传输层和IP网络层,其会话层被配置成为密钥配置拓扑执行连接管理服务。
在820,确定是否接收到了对于映射数据请求的响应。如果在820确定是“是”,那么在830向服务器节点进行第二请求以便经由第一计算机联网协议通过所述端口建立与资源的连接。但是如果在820所述确定是“否”,那么在840向所述服务器节点进行第三请求以便经由第二计算机联网协议建立与所述服务器节点的后退连接。所述第二计算机联网协议不同于所述第一计算机联网协议,并且可能不允许访问那些通过第一计算机网络协议可用的资源。虽然图8图示了以串行方式发生的各个动作,但是应当理解,在图8中所示的各个动作基本上可以并行发生。
图9图示了用于在密钥配置拓扑中请求连接的示例性客户端方法900。在910,客户端可以确定其是否已经缓存了希望连接的服务器的映射信息。如果在910所述确定结果是“否”,那么在920所述客户端可以请求所述映射信息。虽然图9显示了在910和920之间的循环,但是应当理解可以应用重试限制或其它公知的技术来防止无限循环。
当确定映射信息可用时,在930所述客户端方法900可以向所述服务器发送连接请求。该连接请求将包含所述客户端希望的密钥,该密钥将在服务器所属的密钥配置拓扑组中建立该客户端的成员资格。所述客户端可以包括该密钥,这是因为它自知密钥配置拓扑的管理。
在940,确定是否已经响应于在930发送的连接请求而建立了连接。虽然没有图示出定时协议动作,然而应当理解各种定时动作、中断动作、重试动作等都可能与在动作930和确定940之间的等待时间段相关联。如果在940所述确定结果是“肯定的”,那么在950所述客户端可以使用该密钥配置拓扑组成员可用的协议来访问该密钥配置拓扑组成员可用的资源。但是如果在940所述确定结果是“否”,那么在960,所述方法900可以后退到独立的路径并且试图与所述服务器之间建立不同类型的连接。从而在970,可以把未包括密钥配置拓扑成员密钥的连接请求发送到所述服务器。再一次,所述客户端可以不包括所述密钥,这是因为它自知所述密钥配置拓扑的管理。在980,可以确定是否已建立了后退连接。如果确定结果是“否”,那么所述方法900可以进入故障状态,而如果确定结果是“是”,那么在990,所述客户端可以经由第二协议与第二资源相交互。
图10举例说明了计算机1000,计算机1000包括由总线1008可操作地连接的处理器1002、存储器1004和输入输出端口1010。在一个例子中,所述计算机1000可以包括端口映射逻辑1030,其被配置为方便在密钥配置拓扑中的连接管理。端口映射逻辑1030可以执行密钥管理功能,像密钥创建、密钥接收等。类似地,所述端口映射逻辑1030可以执行密钥验证功能,像在端口映射信息请求中检测密钥并且当检测到时验证密钥的有效性。虽然图示了端口映射逻辑1030,然而应当理解端口映射逻辑(未示出)及其它类似逻辑的资源可以单独地和/或结合所述端口映射逻辑1030执行密钥管理和/或密钥验证功能。此外,虽然端口映射逻辑1030被图示在计算机1000内,但是应当理解,所述端口映射逻辑1030和/或连接管理逻辑(未示出)可以位于输入/输出接口1018和/或网络装置1020中。
处理器1002可以是各种处理器,包括双重微处理器及其它多处理器体系结构。存储器1004可以包括易失性存储器和/或非易失性存储器。所述非易失性存储器可以包括但不局限于ROM、PROM、EPROM、EEPROM等。易失性存储器可以包括例如RAM、同步RAM(SRAM)、动态随机存储器(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDR SDRAM)和直接RAM总线RAM(DRRAM)。
可以经由例如输入/输出接口(例如卡、装置)1018和输入输出端口1010可操作地把盘片1006连接到计算机1000。所述盘片1006可以包括但不局限于像磁盘驱动器、固态盘驱动器、软盘驱动器、磁带驱动器、压缩驱动器、快速存储卡和/或记忆棒之类的装置。此外,所述盘片1006可以包括像CD-ROM、CD可记录光盘驱动器(CD-R驱动器)、CD可重写光盘驱动器(CD-RW驱动器)和/或数字化视频光盘ROM驱动器(DVD ROM)之类的光驱动器。所述存储器1004可以存储例如进程1014和/或数据1016。盘片1006和/或存储器1004可以存储控制并分配计算机1000的资源的操作系统。
总线1008可以是单个内部总线互连体系结构和/或其它总线或网格体系结构。虽然图示了单总线,然而应当理解计算机1000可以使用未示出的其它总线(例如,PCIE、SATA、Infiniband、13104、USB、以太网)来与各种装置、逻辑和外围设备通信。所述总线1008可以是各种类型,包括但不限于存储总线或存储器控制器、外围总线或外部总线、纵横开关和/或局域总线。所述局部总线可以包括但不限于工业标准结构(ISA)总线、微通道体系结构(MSA)总线、扩展ISA(EISA)总线、外设组件互连(PCI)总线、通用串行总线(USB)和小型计算机系统接口(SCSI)总线。
计算机1000可以经由输入/输出接口1018和输入输出端口1010与输入/输出设备相交互。输入/输出设备可以包括但不局限于键盘、麦克风、指点和选择装置、照像机、视频卡、显示器、盘片1006、网络装置1020等等。所述输入/输出端口1010可以包括但不局限于串行端口、并行端口和USB端口。
计算机1000可以在网络环境中操作,从而可以经由输入/输出接口1018和/或输入输出端口1010连接到网络装置1020。通过所述网络装置1020,所述计算机1000可以与网络相交互。通过所述网络,计算机1000可以逻辑地连接到远程计算机。计算机1000可以与之交互的网络包括但不局限于局域网(LAN)、广域网(WAN)及其它网络。网络装置1020可以连接到如下LAN技术,包括但不限于光纤分布式数据接口(FDDI)、铜线分布式数据接口(CDDI)、以太网(IEEE 802.3)、令牌环(IEEE 802.5)、无线计算机通信(IEEE802.11)、蓝牙(IEEE 802.15.1)等等。类似地,所述网络装置1020可以连接到下述WAN技术,包括但不限于点到点通信,像综合服务数字网(ISDN)、分组交换网络和数字用户线路(DSL)的电路切换网络。
现在参照图11,图示了提供访问连接管理系统1110的应用编程接口(API)1100。例如可以由程序员1120和/或进程1130来使用API 1100以便可以访问由连接管理系统1110执行的处理。所述处理可以包括例如密钥管理、密钥验证、应答端口映射请求和在密钥配置拓扑中的节点之间建立连接。程序员1120可以编写程序来访问所述系统1110(例如,调用其操作、监视其操作、控制其操作),其中API 1100的存在方便了编写程序。程序员1120不必理解系统1110的内部,程序员1120只需知道与系统1110的接口。这使暴露系统1110的功能时便于封装该功能。
类似地,可以使用API 1100来向连接管理系统1110提供数据值和/或从所述系统1110获取数据值。例如,提供内部产生的密钥的进程1130能够通过例如使用在API 1100中提供的调用,经由API 1100来向系统1110提供所述密钥。因此在API 1100的一个例子中,可以把一组应用编程接口存储在计算机可读介质上。上述接口可以由程序员、计算机组件、逻辑等使用以便获得对连接管理系统1110的访问。所述接口可以包括但不局限于,传递密钥数据的第一接口1140,其中所述密钥数据便于确定客户端节点是否是服务器节点所从属的密钥配置拓扑的成员。所述接口还可以包括用于传递密钥验证数据的第二接口1150,其中密钥验证数据可以报告连接管理系统110对经由密钥数据接口1140传递的密钥执行的密钥管理和/或校验功能。
虽然已经通过描述例子举例说明了示例性系统、方法等,并且已经非常详细地描述了所述例子,但是申请人并非是要把所附权利要求的范围限定或以任何方式限制到这些细节。当然不可能为了描述在此所描述的系统、方法等而描述组件或方法的每个可能的组合。那些本领域内的技术人员将容易地看出其它优点及其修改。因此,本发明不局限于示出并描述的具体细节、代表性设备和举例说明的例子。从而,本申请意在包含属于所附权利要求范围内的替换、修改和变化。此外,先前的描述并不意味着限制本发明的范围。相反地,本发明的范围由所附权利要求及其等价物确定。
在这个意义上在具体实施方式或权利要求中使用的术语“包括”或“包含”,其意在以类似于术语“包括”在权利要求中做为过渡词使用时解释的那样表示包括在内。此外,在这个意义上在具体实施方式或权利要求中使用的术语“或”(例如,A或B)意指“A或者B,或A和B两个”。当申请人想要表明“只是A或者B,而不是两个”时,那么将使用术语“只是A或者B,而不是两个”。从而,这里使用的术语“或”是包含性的,而不是互斥使用。参见Bryan A.Garner,现代法律使用词典624(2d.Ed.1995)。

Claims (10)

1.一种系统(500),包括:
映射逻辑(510),被配置为生成在位于第一节点的资源和位于该第一节点的端口之间的映射,并且有选择地向第二节点提供映射数据,所述映射数据描述在所述资源和所述端口之间的映射;和
连接管理逻辑(520),可操作地连接到映射逻辑(510),连接管理逻辑(520)被配置为控制下列的一项或多项:映射逻辑(510)是否将向第二节点提供映射数据,和是否将要在第一节点和第二节点之间建立连接,所述连接便于所述第二节点经由第一联网协议访问所述资源,并且其中连接管理逻辑(520)至少部分地根据由所述第二节点提供给连接管理逻辑(520)的密钥的存在和有效性来实施它的控制,所述密钥被配置为在密钥配置拓扑组中建立成员资格。
2.如权利要求1所述的系统(500),所述连接管理逻辑(520)还被配置为便于依照第二联网协议在第一节点和第二节点之间建立后退连接,所述第二协议不同于上述第一联网协议,其中在已经控制所述映射逻辑(510)不向第二节点提供映射数据,或者所述映射逻辑(510)已经阻止依照第一联网协议在第一节点和第二节点之间建立连接之后,所述第二节点可以请求后退连接。
3.如权利要求1所述的系统(500),其中所述资源支持在所述第一节点和所述第二节点之间的远程直接存储器访问(RDMA)。
4.一种方法(600),包括:
在第一节点中,经由优选的计算机联网协议从第二节点接收(610)经由所述优选的计算机联网协议在第一节点和第二节点之间建立连接的请求,其中所述连接便于第二节点访问与第一节点相关联的资源;
确定(620)所述请求是否包括被配置成建立第二节点是包括第一节点的密钥配置拓扑组的成员的密钥;
如果包括所述密钥,那么确定(630)所述密钥是否为第二节点在所述密钥配置拓扑组中建立了有效的成员资格;并且
执行下列步骤之一:经由优选的计算机联网协议有选择地在所述第一节点和所述第二节点之间建立(640)连接,和如果所述密钥没有为第二节点在所述密钥配置拓扑组中建立有效的成员资格,那么有选择地拒绝建立所述连接。
5.如权利要求4所述的方法(600),其中所述资源位于下列的一个或多个上:与第一节点相关联远程直接存储器访问(RDMA)NIC(RNIC)和网络接口卡(NIC),并且其中所述资源支持在第一节点和第二节点之间的远程直接存储器访问(RDMA)。
6.一种方法(700),包括:
在第一节点中,从第二节点接收(705)对于映射数据的第一请求,所述映射数据描述了在所述第一节点上的资源和所述第一节点上的端口之间的关系;
根据在第一请求中密钥的存在(710)和有效性(715)来有选择地向第二节点提供(720)所述映射数据,其中所述密钥被配置成建立第二节点是包括第一节点的密钥配置拓扑组的成员;
从第二节点接收(725)经由第一联网协议在第一节点和第二节点之间建立连接的第二请求,其中所述连接便于访问所述资源;
根据在所述第二请求中密钥的存在(730)和有效性(735)有选择地建立(745)所述连接;并且
有选择地向所述第二节点提供(750)连接已建立的通知。
7.如权利要求6所述的方法(700),其中有选择地建立(745)所述连接另外还基于所述资源的可用性(740)。
8.一种方法(800),包括:
从客户端节点,向服务器节点上公知的端口做出(810)对于映射数据的第一请求,所述映射数据描述了通过其可以访问服务器节点上的资源的端口,其中所述第一请求包括被配置为把客户端节点标识为服务器节点所从属的密钥配置拓扑组的成员的密钥;
当确定(820)已经接收到所述映射数据时,向服务器节点做出(830)第二请求以便经由第一计算机联网协议通过所述端口建立与所述资源之间的连接;并且
当确定(820)还没有接收到所述映射数据时,向服务器节点做出(840)第三请求以便经由第二计算机联网协议建立与所述服务器节点之间的后退连接,所述第二计算机联网协议不同于所述第一计算机联网协议。
9.如权利要求8所述的方法(800),其中所述资源位于与所述服务器节点相关联的远程直接存储器访问(RDMA)NIC(RNIC)上,并且其中所述资源支持在客户端节点和服务器节点之间的远程直接存储器访问(RDMA)。
10.一种用于防止未经授权地消耗联网资源的系统(150),包括:
密钥管理逻辑(152),被配置为接收并存储密钥(166),所述密钥被配置为便于确定试图消耗网络资源(156)的节点(110)是否是被授权可消耗所述网络资源(156)的密钥配置拓扑组的一部分,和
密钥验证逻辑(154),被配置为确定试图获得关于网络资源(156)的信息、或试图建立与消耗网络资源(156)相关联的连接的节点(110)是否是经授权可消耗所述网络资源(156)的密钥配置拓扑组的一部分。
CN2005100717852A 2004-04-05 2005-04-05 具有连接管理的密钥配置拓扑 Active CN1738237B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/818549 2004-04-05
US10/818,549 US8078705B2 (en) 2004-04-05 2004-04-05 Key-configured topology with connection management

Publications (2)

Publication Number Publication Date
CN1738237A true CN1738237A (zh) 2006-02-22
CN1738237B CN1738237B (zh) 2012-04-18

Family

ID=34574893

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005100717852A Active CN1738237B (zh) 2004-04-05 2005-04-05 具有连接管理的密钥配置拓扑

Country Status (3)

Country Link
US (2) US8078705B2 (zh)
CN (1) CN1738237B (zh)
GB (1) GB2413045B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106027240A (zh) * 2016-07-01 2016-10-12 南京邮电大学 一种基于属性的密钥隔离签名方法
CN111344997A (zh) * 2018-10-19 2020-06-26 甲骨文国际公司 重新连线密码密钥管理系统服务实例
CN112491591A (zh) * 2020-11-10 2021-03-12 杭州萤石软件有限公司 一种通用即插即用UPnP端口映射方法及系统

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7577707B2 (en) * 2004-04-21 2009-08-18 International Business Machines Corporation Method, system, and program for executing data transfer requests
US7596788B1 (en) * 2004-05-11 2009-09-29 Platform Computing Corporation Support of non-trivial scheduling policies along with topological properties
US7430615B2 (en) * 2004-08-30 2008-09-30 International Business Machines Corporation RDMA server (OSI) global TCE tables
US8364849B2 (en) 2004-08-30 2013-01-29 International Business Machines Corporation Snapshot interface operations
US20060075067A1 (en) * 2004-08-30 2006-04-06 International Business Machines Corporation Remote direct memory access with striping over an unreliable datagram transport
US8023417B2 (en) * 2004-08-30 2011-09-20 International Business Machines Corporation Failover mechanisms in RDMA operations
US8688856B2 (en) * 2006-01-24 2014-04-01 Novell, Inc. Techniques for managing a network delivery path of content via a key
US8032926B2 (en) * 2006-12-06 2011-10-04 Electronics And Telecommunications Research Institute Method of configuring hierarchical network of user group and resource group and key distribution center
CN111031033B (zh) * 2014-06-13 2022-08-16 柏思科技有限公司 用于管理节点的方法和系统
US9432183B1 (en) * 2015-12-08 2016-08-30 International Business Machines Corporation Encrypted data exchange between computer systems
WO2019143591A1 (en) * 2018-01-16 2019-07-25 Raytheon Company Extensible system for authenticated and protected key agreement in large mesh layer 2 ethernet networks
CN108650285B (zh) * 2018-03-08 2020-04-21 深圳市盛铂科技有限公司 一种网络应用互相连接的方法及网络接入装置
US11811609B2 (en) * 2018-05-04 2023-11-07 International Business Machines Corporation Storage target discovery in a multi-speed and multi-protocol ethernet environment
US11477182B2 (en) * 2019-05-07 2022-10-18 International Business Machines Corporation Creating a credential dynamically for a key management protocol

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5224163A (en) * 1990-09-28 1993-06-29 Digital Equipment Corporation Method for delegating authorization from one entity to another through the use of session encryption keys
JPH08305662A (ja) * 1995-05-02 1996-11-22 Fujitsu Ltd クライアント認証システムおよび方法
US6134591A (en) * 1997-06-18 2000-10-17 Client/Server Technologies, Inc. Network security and integration method and system
US6360262B1 (en) * 1997-11-24 2002-03-19 International Business Machines Corporation Mapping web server objects to TCP/IP ports
US6584566B1 (en) * 1998-08-27 2003-06-24 Nortel Networks Limited Distributed group key management for multicast security
US6510236B1 (en) * 1998-12-11 2003-01-21 International Business Machines Corporation Authentication framework for managing authentication requests from multiple authentication devices
US7113995B1 (en) * 2000-10-19 2006-09-26 International Business Machines Corporation Method and apparatus for reporting unauthorized attempts to access nodes in a network computing system
US7237117B2 (en) * 2001-03-16 2007-06-26 Kenneth P. Weiss Universal secure registry
US7085925B2 (en) * 2001-04-03 2006-08-01 Sun Microsystems, Inc. Trust ratings in group credentials
US7277953B2 (en) 2001-04-18 2007-10-02 Emc Corporation Integrated procedure for partitioning network data services among multiple subscribers
US7107610B2 (en) * 2001-05-11 2006-09-12 Intel Corporation Resource authorization
US7500104B2 (en) * 2001-06-15 2009-03-03 Microsoft Corporation Networked device branding for secure interaction in trust webs on open networks
US20030084171A1 (en) * 2001-10-29 2003-05-01 Sun Microsystems, Inc., A Delaware Corporation User access control to distributed resources on a data communications network
US7245627B2 (en) * 2002-04-23 2007-07-17 Mellanox Technologies Ltd. Sharing a network interface card among multiple hosts
US7944920B2 (en) * 2002-06-11 2011-05-17 Pandya Ashish A Data processing system using internet protocols and RDMA
WO2004017584A1 (en) * 2002-08-16 2004-02-26 Nuasis Corporation Contact center architecture
US8631162B2 (en) * 2002-08-30 2014-01-14 Broadcom Corporation System and method for network interfacing in a multiple network environment
US7299266B2 (en) * 2002-09-05 2007-11-20 International Business Machines Corporation Memory management offload for RDMA enabled network adapters
US7904720B2 (en) * 2002-11-06 2011-03-08 Palo Alto Research Center Incorporated System and method for providing secure resource management
US7257731B2 (en) * 2003-12-23 2007-08-14 Nokia Inc. System and method for managing protocol network failures in a cluster system
US20050149940A1 (en) * 2003-12-31 2005-07-07 Sychron Inc. System Providing Methodology for Policy-Based Resource Allocation

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106027240A (zh) * 2016-07-01 2016-10-12 南京邮电大学 一种基于属性的密钥隔离签名方法
CN106027240B (zh) * 2016-07-01 2019-06-04 南京邮电大学 一种基于属性的密钥隔离签名方法
CN111344997A (zh) * 2018-10-19 2020-06-26 甲骨文国际公司 重新连线密码密钥管理系统服务实例
CN112491591A (zh) * 2020-11-10 2021-03-12 杭州萤石软件有限公司 一种通用即插即用UPnP端口映射方法及系统
CN112491591B (zh) * 2020-11-10 2023-05-30 杭州萤石软件有限公司 一种通用即插即用UPnP端口映射方法及系统

Also Published As

Publication number Publication date
US20120030574A1 (en) 2012-02-02
GB0506547D0 (en) 2005-05-04
CN1738237B (zh) 2012-04-18
US8078705B2 (en) 2011-12-13
GB2413045A (en) 2005-10-12
GB2413045B (en) 2006-11-29
US20050226248A1 (en) 2005-10-13

Similar Documents

Publication Publication Date Title
CN1738237A (zh) 具有连接管理的密钥配置拓扑
US11902250B2 (en) Methods and systems for prevention of attacks associated with the domain name system
US11399040B1 (en) Subscription-based malware detection
CN1674548A (zh) 带连接管理的预配置拓扑结构
US20210351918A1 (en) Sharing cryptographic session keys among a cluster of network security platforms monitoring network traffic flows
EP3602373A1 (en) Attribute-controlled malware detection
US11595390B2 (en) Self-organizing trusted networks
CN1627679A (zh) 网络上的安全动态凭证分发
CN1870643A (zh) 利用顺序号的数据通信协调
Xuan et al. Detecting application denial-of-service attacks: A group-testing-based approach
CN1874307A (zh) 用于信息处理的系统和方法
WO2019237813A1 (zh) 一种服务资源的调度方法及装置
JP2017509936A (ja) リソースへの繰返しアクセスについてリソースオーナーから認可を要求する要求のバッチ処理の、サードパーティによる実行の容易化
JP2011108232A (ja) ドメイン・ネーム・サービス(dns)データベースへのアクセスを管理するコンピュータ実施方法、コンピュータ・プログラム、およびシステム
CN103095861A (zh) 确定设备是否处于网络内部
CN1889427A (zh) 一种安全的星形局域网计算机系统
JP2022521833A (ja) 効率的なサブグラフ検出のためのグラフストリームマイニングパイプライン
CN110213171B (zh) 一种基于联盟链技术的数据流量监测与控制方法
US20110119369A1 (en) Monitoring computer system performance
CN111294318B (zh) 一种网络攻击的ip地址分析方法、装置和存储介质
US8261323B2 (en) Managing logical sockets
CN102495764A (zh) 数据分流的实现方法和装置
US20220086182A1 (en) Risk-adaptive dns forwarder
US11075911B2 (en) Group-based treatment of network addresses
CN111385262B (zh) 一种控制权限的方法及网络设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20170119

Address after: American Texas

Patentee after: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP

Address before: American Texas

Patentee before: Hewlett Packard Development Co.