通过它们的任何组合所实现),其可使用适当总线架构来互连。Tx/Rx接口模块802可操作以实现相对服务提供商网络的各种类型的网络连通性,包括但不限于服务提供商网络内部的连通性以及外部连通性。一个或多个协议引擎806可操作以基于可如何构造服务提供商网络来实现适当通信协议。易失性存储装置818可包括各种类型的随机存取存储器(RAM),以用于提供数据或信息的暂时存储。非易失性存储装置809说明持久存储装置,例如只读存储器(ROM)电路、可擦可编程只读存储器(EPR0M)电路、闪速存储器电路以及外部存储卡等。在一个实现中,持久存储器809可包括数据库或高速缓存810,以用于存储SPID数据、服务节点的EID/RL0C数据以及可适用服务链策略。另外,持久存储器809可配置成包括合并为一个或多个模块808的程序指令,其是一个或多个处理器804可执行的,以用于实现上述映射/封装/重新封装/拆封过程。在实现为ESN的情况下,节点800还可包括适当服务逻辑812,以用于相对向其导向的业务来传递一个或多个服务。相对于路由选择的附加数据库,诸如例如链路状态、转发表、相邻性等示为一个或多个数据库814。一个或多个应用816还可作为节点800的部分来提供,以用于实现服务提供商特定的网络级功能性。其他硬件820可包括一个或多个用户输入/输出装置(例如显示屏幕、指点装置等)、命令接口、总线控制器、存储控制器、电源电路等。
[0037]基于以上详细描述,应当理解,本公开的实施例提供用于严格按照服务提供商网络中实现的相应服务链策略来导向数据流的新颖的不显而易见的方法。由于虚拟化环境和/或基于云的平台中的服务部署变为更加普遍,将服务和服务实例移动到网络中的更优化或者更适当位置的灵活性具有特殊意义。与放置服务的位置无关,本文所公开的实施例实现灵活服务链机制,其确保所有入局数据分组按照正确顺序来访问所需服务,甚至是当服务网络运营商可来回移动现有服务和/或使更多服务在线时。应当注意,本公开的基于映射和封装的解决方案的使用允许部署服务提供商基础设施的其他高级特征,例如移动性、多归属、虚拟机(VM)迀移和第3层标识。此外,因为基于映射/封装的解决方案包含服务链空间,所以对较大运营商环境存在极小影响。
在示例实施例的一些变化中,应当注意,E-xTR节点可以不需要将EID报头显式附加到数据分组。但是,在这类情况下,E-xTR节点可配置成将EID参数连同它从管理节点(例如AAA服务器)已经接收的参数一起存储在其高速缓存中。需要这个操作,以便使E-xTR节点能够确定正确关联服务链路径(因为一个服务节点可属于多个服务链路径)。应当理解,显式附连EID报头的主要原因是避免E-xTR在各数据分组中深层挖掘以便能够查找SPID并且确定服务链中的下一跳。
本领域的技术人员还将会知道,示例实施例甚至在端主机使用(重叠)IPv4地址的情况下也是完全可部署的。多个E-xTR能够为了不同目的而围绕服务节点来部署,例如特别是在服务不是处于相同域中或者在不同云域中分布时。实现服务链中涉及的E-xTR可配置成保持其使用例如NERD(非新颖EID RLOC数据库)、LISP+ALT等的现有机制所同步的数据库。例如,边界网关协议(BGP)可配置成通知每个E-xTR关于能够查找映射的位置。
[0038]优化本专利公开的不同方面的附加方式可涉及在各数据分组报头中添加与标的的路径有关的更多信息。主要优点是避免E-xTR与每个L-xTR之间的“乒兵”效应,由此使数据分组能够访问整个链,而无需在E-xTR上跳回。在这种情形中,各数据分组可由E-xTR节点来注入所选服务链中,由此它被各服务节点转发到下一个节点,直到它退出链。这种转发能力可通过例如将与服务链中涉及的每个L-xTR对应的RLOC的整个集合注入报头中来得到。在另一个变化中,转发能力可通过仅插入SPID参数并且允许各节点进行映射查找以便确定下一服务跳来得到。应当理解,入口节点(即,E-1TR节点)可配置成执行这类插入。
[0039]虽然通过参照基于LISP的Loc/ID分隔架构详细描述了本专利公开的示例实施例,但是应当理解,本文中的教导可结合其他网络架构以及例如软件定义网络(SDN)来实施。例如,这类SDN实现可基于已知协议,例如OpenFlow协议或转发和控制元件分隔(ForCES)协议等。
[0040]在本公开的各个实施例的以上描述中,要理解,本文所使用的术语是为了仅便于描述具体实施例,而不是意在限制本发明。除非另加说明,否则本文所使用的所有术语(包括技术术语和科学术语)都具有与本发明所属领域的技术人员通常所理解的相同的含意。还将会理解,例如常用词典中定义的那些术语等的术语应当被理解为具有与它们在本说明书和相关领域的上下文中的含意一致的含意,而不会以理想化或过分正式意义来理解,除非本文中这样明确定义。
[0041]本文中参照计算机实现的方法、设备(系统和/或装置)和/或计算机程序产品的框图和/或流程图图示描述了至少一些示例实施例。要理解,框图和/或流程图图示的框以及框图和/或流程图图示中的框的组合能够通过由一个或多个计算机电路所执行的计算机程序指令来实现。这类计算机程序指令可提供给通用计算机电路的处理器电路、专用计算机电路和/或其他可编程数据处理电路,以产生机器,使得经由计算机和/或其他可编程数据处理设备的处理器运行的指令变换和控制晶体管、存储器位置中存储的值以及这种电路中的其他硬件组件以实现框图和/或流程图框或多个框中指定的功能/动作,并且由此创建用于实现框图和/或流程图框(多个框)中指定的功能/动作的部件(功能性)和/或结构。另外,计算机程序指令还可存储在有形计算机可读介质中,其能够指导计算机或其他可编程数据处理设备以特定方式起作用,使得计算机可读介质中存储的指令产生一种制造产品,其中包括实现框图和/或流程图的框或多个框中所指定的功能/动作的指令。
[0042]如先前所述,有形非暂时计算机可读介质可包括电子、磁、光、电磁或半导体数据存储系统、设备或装置。计算机可读介质的更具体示例包括下列项:便携计算机磁盘,随机存取存储器(RAM)电路,只读存储器(ROM)电路,可擦可编程只读存储器(EPR0M或闪速存储器)电路、便携致密盘只读存储器(CD-ROM)以及便携数字视频盘只读存储器(DVD/Blu-Ray)。计算机程序指令还可加载到或者以其他方式下载到计算机和/或其他可编程数据处理设备,以便使一系列操作步骤在计算机和/或其他可编程设备上执行,以产生计算机实现过程,使得在计算机或其他可编程设备上运行的指令提供用于实现框图和/或流程图的框或多个框中所指定功能/动作的步骤。相应地,本发明的实施例可通过硬件和/或通过在诸如数字信号处理器等的统称为“电路”、“模块”或者其变体的处理器上运行的软件(包括固件、常驻软件、微码等)来体现。
[0043]此外,在至少一些附加或备选实现中,框中所述的功能/动作可不按照流程图所示的顺序发生。例如,接连示出的两个框实际上可基本同时运行,或者框有时可按照相反顺序运行,这取决于所涉及的功能性/动作。此外,流程图和/或框图的给定框的功能性可分为多个框,和/或流程图和/或框图的两个或更多框的功能性可至少部分相结合。最后,其他框可被添加/插入所示的框之间,以及来自不同流程图的框可按照任何组合或者子组合来组合、重新排列和/或重新配置为附加流程图。此外,虽然一部分附图包括通信路径上的箭头以表明通信的主要方向,但是要理解,通信可沿相对于所示箭头的相反方向发生。
[0044]虽然已经详细示出和描述了本发明的各个实施例,但是权利要求书并不局限于任何具体实施例或示例。以上详细描述决不应当被理解为表示任何特定组件、模块、元件、步骤、动作或功能是绝对必要的而使得它必须包含在权利要求书的范围中。除非明确说明,否则以单数形式提到元件并不是要表示“唯一的”,而是表示“一个或多个”或“至少一个”。本领域的技术人员已知的上述实施例的元件的所有结构和功能等效方案通过引用明确地结合于此,并且意在包含于本权利要求书中。相应地,本领域的技术人员将会知道,本文所述的示范实施例能够采用以下所附权利要求书的精神和范围之内的各种修改和变更来实施。
【主权项】
1.一种链接服务提供商网络(100,200)中的数据分组流(206)的服务的方法(500,600A-600B),所述方法(500,600A-600B)包括: 确定(504)与所述数据分组流(206)关联的服务链策略; 确定(506)与所述服务链策略关联的服务路径标识符(SPID); 如果所述服务链策略涉及将要由所述数据分组流(206)所经过以用于按相继顺序得到服务的一个或多个服务节点,则使用所述服务链策略的SPID来确定(508)所述一个或多个服务节点的端点标识符(EID)和路由选择定位符(RLOC);以及 基于所述服务节点的EID和RL0C、使用数据分组的封装与所述一个或多个服务节点执行数据交换过程(510),以便将所述数据分组流(206)相继路由到每个所述服务节点。2.如权利要求1所述的方法(500,600A-600B),其中,所述服务链策略没有涉及将要由所述数据分组流(206)所经过的服务节点,以及其中所述数据分组流在所述服务提供商网络(100,200)的入口节点(202)来接收并且从所述服务提供商网络(100,200)的出口节点(204)来发射,而没有经过所述服务提供商网络(100,200)的任何服务节点。3.如权利要求1所述的方法(500,600A-600B),其中,所述数据分组流(206)在所述服务提供商网络(100,200)的入口节点(202)来接收,并且其中所述数据分组流还在所述一个或多个服务节点处得到服务之后从所述服务提供商网络(100,200)的出口节点(204)来发射(208)。4.如权利要求3所述的方法(500,600A-600B),其中,所述数据交换过程(510)由所述入口节点(202)来发起,并且基于所述一个或多个服务节点相对于所述服务提供商网络(100,200)的所述入口和出口节点(202,204)的位置在所述入口节点(202)与