首页> 中国专利> 基于分组的标识符定位符网络协议(ILNP)负载平衡和路由选择的方法和系统

基于分组的标识符定位符网络协议(ILNP)负载平衡和路由选择的方法和系统

摘要

一种方法为网络中的多个端系统提供负载平衡和路由选择。网络包含负载平衡器(LB),并且方法包括接收指定有因特网协议版本6(IPv6)地址的请求分组。目的地地址与目标端系统集相关联,并且随机数信息的存在指示请求通讯节点具标识符定位符网络协议(ILNP)能力。方法还包括将请求分组定向到共享负载平衡的地址的目标端系统集的特定端系统,其中,每个目标端系统具有独特的直接路径定位符前缀。方法也包括将公用IPv6定位符前缀改写为独特的直接路径定位符前缀,将请求分组转发到特定端系统,以及通知请求通讯节点用于特定端系统的直接路径定位符前缀。

著录项

  • 公开/公告号CN104718733A

    专利类型发明专利

  • 公开/公告日2015-06-17

    原文格式PDF

  • 申请/专利权人 瑞典爱立信有限公司;

    申请/专利号CN201380055149.3

  • 发明设计人 D.I.艾伦;J.霍尔佩恩;

    申请日2013-10-08

  • 分类号H04L12/801(20060101);

  • 代理机构72001 中国专利代理(香港)有限公司;

  • 代理人杨美灵;刘春元

  • 地址 瑞典斯德哥尔摩

  • 入库时间 2023-12-18 09:13:55

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-09-23

    未缴年费专利权终止 IPC(主分类):H04L12/801 专利号:ZL2013800551493 申请日:20131008 授权公告日:20180213

    专利权的终止

  • 2018-02-13

    授权

    授权

  • 2015-11-11

    实质审查的生效 IPC(主分类):H04L12/801 申请日:20131008

    实质审查的生效

  • 2015-06-17

    公开

    公开

说明书

相关申请交叉引用

本申请涉及2012年10月22日提出,代理人案号为P38657-US1,题为“基于帧的标识符定位符网络协议(ILNP)负载平衡和路由选择的方法和系统”(Method and System of Frame Based Identifier Locator Network Protocol (ILNP) Load Balancing and Routing)的共同待定美国专利申请13/657740,该申请全文通过引用结合于本文中。

技术领域

本发明的实施例涉及数据网络中的负载平衡和路由选择领域。更具体地说,本发明的实施例涉及用于使用标识符定位符网络协议(ILNP)的负载平衡和路由数据业务的方法和系统。

背景技术

路由选择一直是数据连网的关键方面。路由选择挑战随着过去数十年间数据网络经历技术发展而演进。一个最近的发展是因特网协议版本6 (IPv6)的采纳的显著加速。因特网协会宣布2012年6月6日是“全球IPv6启动”的日期,参与的主要网站永久性地启用IPv6。IPv6在数据网络中更广泛的部署为服务提供商提供路由选择效率提供了新的方式。

此外,近年来,通过数据网络的云计算已改变了创建和运行应用程序的方式。云计算采用基础设施即服务(IaaS)模型,其中,消费者将其计算和软件能力外包到第三方基础设施,并且按需为服务使用付费。与使用专有、内部基础设施的传统计算模型相比,云计算提供了许多优点,包括规模经济、动态配给和低资本支出。

云计算和IPv6的增长对数据网络提出了挑战。在云计算环境中,人们希望平衡跨散布在多个地理和逻辑位置的多个服务器、虚拟机(VM)和其它计算装置,来自客户的工作负载。负载平衡能够通过避免过载和优化资源利用,利用端计算资源。另外,来自客户的工作负载使用数据网络上的大量带宽,并且人们希望有效地路由从云计算生成的业务,以便作为数据网络上宝贵资源的带宽能够得到适当利用,从而增大吞吐量并且缩短响应时间。IPv6提供了解决路由选择效率的新方式。此外,随着不断增强的计算能力封装在不断缩小的计算外形中,移动计算现在是普遍存在。人们希望数据网络跟踪移动计算装置,以便在负载平衡和有效的路由选择中利用它们。

发明内容

一种方法为网络中的多个端系统提供负载平衡和路由选择。网络包含跨多个端系统平衡业务负载的至少一个负载平衡器(LB)。方法包括在LB接收指定有因特网协议版本6 (IPv6)来源和目的地地址的请求分组,并且其中,来源地址与请求通讯节点(CN)相关联,并且目的地地址与目标端系统集相关联,并且分组中的随机数(nonce)信息指示CN具标识符定位符网络协议(ILNP)能力。方法还包括将请求分组定向到目标端系统集的特定端系统,其中,目标端系统集可由请求CN通过负载平衡的地址识别,其中,每个目标端系统具有独特的直接路径定位符前缀和公用ILNP标识符,并且其中,负载平衡的地址是包含在目标端系统集中共享的公用ILNP标识符和公用IPv6定位符前缀的单IPv6地址。方法也包括将目的地地址的公用IPv6定位符前缀改写为特定端系统的独特的直接路径定位符前缀,将请求分组转发到特定端系统,以及在发现用于在CN与特定端系统之间通信的端系统随机数时,使用ICMP定位符更改更新通知CN特定端系统的独特的直接路径定位符前缀。

一种网络元件用作负载平衡器(LB),为网络中的多个端系统提供负载平衡和路由选择。网络元件包括配置成接收指定有因特网协议版本6 (IPv6)来源和目的地地址的请求分组的通信模块,并且其中,来源地址与请求通讯节点(CN)相关联,并且目的地地址与目标端系统集相关联,并且其中,请求分组中的随机数信息指示CN具标识符定位符网络协议(ILNP)能力,其中,通信模块还配置成在发现用于在CN与特定端系统之间通信的端系统随机数时,使用ICMP定位符更改消息通知CN特定端系统的独特的直接路径定位符前缀。网络元件还包括有负载指派模块的网络处理器。负载指派模块包括:目标地址转化器,配置成将请求分组和该特定流相关联的任何随后分组定向到目标端系统集的特定端系统,其中,目标端系统集可由请求CN通过负载平衡的地址识别,其中,每个目标端系统具有独特的直接路径定位符前缀和公用ILNP标识符,并且其中,负载平衡的地址是包含在目标端系统集中共享的公用ILNP标识符和公用IPv6定位符前缀的单IPv6地址;地址更新器,配置成将目的地地址的公用IPv6定位符前缀改写为特定端系统的独特的直接路径定位符前缀;以及数据转发器,配置成将请求分组转发到特定端系统。

附图说明

本发明通过示例方式而不是限制的方式在附图的图形中示出,图中相似的标号表示类似的元件。应注意的是,在本公开内容中对“一”或“一个”实施例的不同引用不一定是指相同的实施例,并且此类引用是指至少一个。此外,结合实施例描述某个特定特征、结构或特性时,认为结合无论是否明确描述的其它实施例影响此类特征、结构或特性是在本领域技术人员的认知之内。

图1是示出基于帧的标识符定位符网络协议(ILNP)路由选择的网络配置和操作的一个实施例的框图。

图2A-2B是示出ILNP地址的框图。

图3是示出将负载平衡的地址指派到多个端系统的一个实施例的框图。

图4是示出将负载平衡的地址指派到多个端系统的另一实施例的框图。

图5是示出指派到端系统的多个地址的框图。

图6A-6B是示出通过多个数据中心(DC)的路由选择的框图。

图7是示出在负载平衡器(LB)基于帧的ILNP路由选择的一个实施例的流程图。

图8是示出在数据网络中基于帧的ILNP路由选择的一个实施例的框图。

图9是示出基于分组的ILNP路由选择的网络配置和操作的一个实施例的框图。

图10是示出在负载平衡器(LB)基于分组的ILNP路由选择的一个实施例的流程图。

图11是示出在数据网络中基于分组的ILNP路由选择的一个实施例的框图。

图12是示出端系统迁移的网络配置和操作的一个实施例的框图。

图13是示出端系统迁移的一个实施例的流程图。

图14是用作负载平衡器(LB)的网络元件的一个实施例的框图。

具体实施方式

在下面的描述中,陈述了许多特定细节。然而,要理解的是,实践本发明的实施例可无需这些特定细节。在其它情况下,公知的电路、结构和技术未详细显示以免混淆对此描述的理解。然而,本领域的技术人员将理解,可无需此类特定细节而实践本发明。通过包括的描述,本领域技术人员将能够在不进行过度实验的情况下实现适当的功能性。

说明书中对“一个实施例”、“一实施例”、“示例实施例”等的引用指所述实施例可包括特定特征、结构或特性,但每个实施例可不一定包括特定特征、结构或特性。另外,此类词语不一定指同一实施例。此外,在结合实某个施例描述某个特定特征、结构或特性时,认为结合无论是否明确描述的其它实施例来实现此类特征、结构或特性是在本领域技术人员的认知之内。

在下面的说明和权利要求中,可使用术语“耦合”和“连接”及其衍生词。应理解,这些术语无意做为彼此的同义词。“耦合”用于指示可相互直接物理或电接触或不直接物理或电接触的两个或更多个元件相互协作或交互。“连接”用于指示在相互耦合的两个或更多个元件之间通信的建立。

现在将参照图14的示范实施例,描述流程图的操作。然而,应理解,流程图的操作能根据参照图7、10和13所述实施例外的本发明的其它实施例执行,并且参照图14所述实施例能执行与参照图7、11和14的流程图所述的那些操作不同的操作。

在本文中使用时,网络元件(例如,路由器、交换器、桥接器、负载平衡器)是一件连网设备,包括硬件和软件,其在通信上与网络上的其它设备(例如,其它网络元件、端系统)互连。一些网络元件是“多服务网络元件”,其为多个连网功能(例如,路由选择、桥接、交换、第2层聚合、会话边界控制、服务质量和/或订户管理)提供支持和/或为多个应用服务(例如,数据、话音和视频)提供支持。订户端系统(例如,服务器、工作站、膝上型计算机、上网本、掌上型计算机、移动电话、智能电话、多媒体电话、因特网协议话音(VOIP)电话、用户设备、终端便携式媒体播放器、GPS单元、游戏系统、机顶盒(STB))接入通过因特网提供的内容/服务和/或在因特网上重叠(例如,隧穿)的虚拟专用网(VPN)上提供的内容/服务。内容和/或服务一般由属于参与对等服务的服务或内容提供商或终端站的一个或更多个端系统(例如,服务器端系统)提供,并且可例如包括公共网页(例如,免费内容、店面、搜索服务)、私人网页(例如,提供电子邮件服务的用户名/密码接入的网页)和/或通过VPN的企业网络等。一般情况下,订户端系统耦合(例如,通过耦合到接入网络(以有线或无线方式)的客户场所设备)到边缘网络元件,所述边缘网络元件(例如通过一个或更多核心网络元件)耦合到其它边缘网络元件,所述其它边缘网络元件耦合到其它端系统(例如,服务器端系统)。在本说明书中,术语“终端站”和“端系统”可交换使用。

网络元件通常被分离成控制平面和数据平面(有时称为转发平面或媒体平面)。如果网络元件是路由器(或者在实现路由功能性,如负载平衡器),则控制平面一般确定要如何路由数据(例如,分组)(例如,用于数据的下一跳和用于该数据的输出端口),以及数据平面负责转发该数据。例如,控制平面一般包括一个或更多个路由协议(例如,边界网关协议(BGP)、内部网关协议(IGP)(开放式最短路径优先(OSPF)、路由信息协议(RIP)、中间系统到中间系统(IS-IS))、标签分布协议(LDP)、资源保留协议(RSVP)),这些协议与其它网络元件进行通信以交换路由,并基于一个或更多个路由选择度量选择那些路由。要注意的是,控制平面和数据平面在单独的网络元件中的情况下,本发明的实施例适用。

本发明的不同实施例可使用软件、固件和/或硬件的不同组合实现。因此,所述图中所示技术可使用一个或更多个电子装置(例如,端系统、网络元件)上存储和执行的代码和/或数据来实现。此类电子装置使用计算机可读介质存储和传递(在内部和/或通过网络与其它电子装置)代码和数据,如非暂时性计算机可读存储介质(例如,磁盘、光盘、随机存取存储器、只读存储器、闪存装置、相变存储器)和暂时性计算机可读传送介质(例如,电气、光学、声学或其它形式传播信号 - 如载波、红外信号、数字信号)。另外,此类电子装置一般情况下包括耦合到诸如一个或更多个存储装置(非暂时性机器可读存储介质)、用户输入/输出装置(例如,键盘、触摸屏和/或显示器)和网络连接等一个或更多个其它组件的一个或更多个处理器的集合。处理器的集合与其它组件的耦合一般情况下是通过一个或更多个总线和桥接器(也称为总线控制器)。因此,给定电子装置的存储装置一般情况下存储代码和/或数据以便在该电子装置的一个或更多个处理器的集合上执行。

术语

描述中使用了以下术语。

目标端系统 - 与负载平衡的地址相关联,将使业务负载跨其而平衡的端系统集。端系统集共享公用标识符定位符网络协议(ILNP)标识符。

负载平衡的地址 - 为接入目标端系统集服务的应用程序而广告到网络的域名系统(DNS)中的单个IPv6地址。IPv6地址包括在目标端系统集中共享的公用ILNP标识符和公共定位符前缀。在一些实施例中,在DNS中广告负载平衡的地址,并且在URL中使用DNS名称识别由目标端系统集服务的应用程序。

直接路径地址 - IPv6 ILNP定位符和标识符的级联,是到特定端系统的公共可路由路径。

直接路径定位符前缀 - 广告到外界中的IPv6定位符,其中,在外界与端系统之间的连接性绕过负载平衡。

网络配置

图1是示出基于帧的标识符定位符网络协议(ILNP)路由选择的网络配置和操作的一个实施例的框图。图形示出网络100,其中,因特网106概括表示因特网,并且数据网络中的路由选择通过因特网。称为通讯节点(CN) 102的节点是请求通过因特网106的路由选择的端系统。术语通讯节点通常与移动网络相关联。通讯节点102如此命名是为了指示在请求节点是移动节点时能够使用本文讨论的路由选择和负载平衡,但即使请求节点是固定型,相同的方法也能够使用。CN 102请求路由到目标端系统集,并且目标端系统集包括在公共子集108和公共子集110中的端系统。公共子集108中的端系统由端系统(ES) 140-144表示,并且公共子集110中的端系统由端系统(ES) 180-184表示。在一个示例实施例中,ES 140-144在东海岸数据中心(DC) 180中,并且它们由控制器120管理。此外,在东海岸DC 180中,有负载平衡器(LB) 150和站点边界路由器(SBR) 130。SBR 130执行有关网络活动的一些基本检查,如入口和出口过滤。LB 150执行负载平衡以跨多个计算装置(例如,在此实施例中的端系统)分布工作负载。LB 150可使用各种度量平衡工作负载。例如,它可平衡工作负载,并且选择特定端系统以便实现诸如最佳计算资源利用,最大化吞吐量,最小化响应时间和/或避免过载等目标。在西海岸DC 182中,有提供与东海岸DC 180中控制器120、LB 150和SBR 130类似功能的控制器122、LB 152和SBR 132。

DC 180和DC 182的示出是为了说明在不同地理位置的数据中心可使用提议的发明。然而,其它实施例并不限于此。例如,在一个实施例中,数据中心在不同逻辑位置。在另一示例中,数据中心可在逻辑上由不同子网分隔。另外,在一些实施例中,端系统可在单个数据中心或子网内,而在一些其它实施例中,端系统被分布到不止两个数据中心和子网。还要注意的是,虽然为每个数据中心示出一个LB,但一个LB可管理跨多个数据中心的负载平衡。在多个LB管理多个数据中心时,LB需要相互协调以便有效地管理工作负载。

域名系统(DNS) 104是用于网络100的分布式命名系统。DNS 104将对主机的查询解析成目的地地址。例如,在DNS 104接收来自请求节点的对域名的请求时,DNS 104将向请求节点返回IP地址,以便请求节点可通过以该IP地址设为目的地地址,与计算装置进行通信。通常,DNS允许计算装置更改位置而不向所有可能的请求节点广播更改。计算装置只需要更新DNS,以便将来的请求将通过该DNS指向新位置(因此新IP地址)。

在一个实施例中,DC 180和182在虚拟网络内,并且端系统140-144和180-184是虚拟网络100中的虚拟机(VM)。在CN 102运行应用程序并且要求分布式计算资源时,CN 102请求路由到这些VM。在该情况下,控制器120和122是虚拟机交换器(vSwitch)或管理程序。管理程序为管理程序托管的VM协调路由选择和负载平衡。在虚拟网络中,虚拟网络的编配层保持DNS 104。

用于负载平衡和路由选择的寻址

在图1的示例中,路由选择或负载平衡以CN 102将请求发送到DNS 104,以将域名解析成地址开始。DNS 104又将负载平衡的地址返回CN 102。负载平衡的地址是IPv6地址。图2A是示出使用标识符定位符网络协议(ILNP)的IPv6地址的框图。IPv6地址包含128比特(16字节),并且它能够用作寻址网络元件的单个实体。可进一步分割相同IPv6地址,以便基于IPv6的路由选择能够更有效。一种备选寻址体系结构是最初由Mike O.Dell大约在1995年提议的8 + 8/GSE(全球、站点和端系统)。“8 + 8 /GSE”体系结构已被重新考虑多年,并且产生了名为标识符定位符网络协议(ILNP)的协议套件,ILNP解决了原8+8提议的多个缺点。ILNP地址将16字节IPv6地址拆分成两个部分,8个字节变成可指示网络元件的位置的定位符,并且另8个字节变成可识别相关联的会话、应用程序、连接或其它的标识符。在图2A中,定位符202示出64比特定位符。在与定位符相关联的网络元件更改在网络内的其物理或逻辑位置时,定位符字段的值可更改,因此,定位符字段的值在拓扑上是重要的。标识符204示出64比特标识符。标识符的值不随着网络元件位置(非拓扑上重要)而更改,并且它可与上层(OSI层4-7)协议相关联以独立于位置,识别端系统。

图2B是示出带有定位符前缀的ILNP地址的框图,定位符前缀能够用于在本公开内容中描述的目的。在64比特定位符206中,60比特是前缀比特,这留下了能够用于识别目的的4比特。换而言之,即使网络元件只具有64比特标识符,也可能修改使用,使得64+4=68比特能够用于识别。换而言之,24=16个网络元件能够共享单个公用标识符和单个公用定位符前缀,但仍具有由公用定位符前缀未触及的4比特区分的独特IPv6地址。在路由选择和负载平衡上能够应用由多个网络元件共享的定位符前缀和标识符组合的观察。

图3是示出将负载平衡的地址指派到多个端系统的一个实施例的框图。在图3中,负载平衡的地址320具有64比特定位符,定位符302和64比特标识符,标识符304。负载平衡的地址能够被指派到多个端系统。端系统342、344和346全部具有相同的64比特标识符,标识符304,但它们具有不同定位符。通过直接路径定位符前缀322-362,这些端系统通过由其它端系统或通讯节点单独识别。直接路径定位符前缀采用定位符字段的完整64比特。然而,能够对这些直接路径定位符前缀进行超级组网,例如,每个端系统具有在超网(如图3所示带有值C的60比特超网)中独特的直接路径定位符前缀。也就是说,3个端系统的64比特定位符共享公用前缀,这是公用IPv6定位符前缀352。3个端系统342-346可通过其64比特直接路径定位符前缀区分。同时,3个端系统能够编组为负载平衡的目标(负载平衡的目标340)集。换而言之,这些端系统共享公用IPv6定位符前缀352和公用标识符304,但每个可经独特的IPv6地址到达。

图4是示出将负载平衡的地址指派到多个端系统的另一实施例的框图。在图4中,负载平衡的地址420具有64比特定位符402和64比特标识符404。负载平衡的地址420能够被指派到多个端系统。此外,地址被指派到端系统442、444和446。每个端系统共享相同的公用IPv6定位符前缀402。它们形成负载平衡的目标集440。负载平衡的目标440的端系统不可通过IPv6地址区分,但每个端系统具有独特的介质访问控制地址(MAC)地址。MAC是在开放系统互连(OSI)层2的独特标识符。网络元件的MAC地址经常由网络元件的制造商指派,并且MAC地址在网络接口上指派用于在物理网络段上的通信。标准MAC地址包含6个字节,并且本领域技术人员熟知指派独特的MAC地址到网络元件上的网络接口。在此实施例中,由于利用MAC地址识别端系统,因此,为路由选择和负载平衡分析以太网帧。以太网帧或帧以前置码和起始帧分界符开始,之后是目的地和来源MAC地址、有效负载,并且以循环冗余校验结束。我们将详细讨论利用帧和负载平衡的目标端系统,执行负载平衡和路由选择的方式。要注意的是,在此说明书中,术语“负载平衡的目标”、“负载平衡的目标端系统”和“目标端系统”可交换使用要注意的是,即使多个端系统共享公用负载平衡的地址和独特的可由MAC区分的地址,每个端系统也将具有一个或更多个独特的直接路径定位符前缀。

图5是示出指派到端系统的多个地址的框图。如图3和4所示,能够在多个端系统中共享负载平衡的地址。反向也正确,并且一个端系统可指派有多个地址,即,端系统可通过多个IPv6地址到达。在图5中,站点公共定位符前缀502是定位符512的一部分,与标识符522一起指派到端系统550。站点公共定位符前缀502能够是在特定物理或逻辑位置的端系统中共享的公共定位符前缀,例如,在数据中心内。端系统550可指派有作为定位符514的一部分的直接路径定位符前缀504。直接路径定位符504与标识符522一起,可用于直接到达端系统550而不通过负载平衡器。直接路径定位符前缀可与端系统能够到达的路由相关联。因此,在通过多个网关能够直接到达端系统时,端系统可具有与端系统相关联的多个直接路径定位符前缀。能够指派到端系统550的另一类型的IPv6地址是公用IPv6定位符前缀506。如上本文中所述,在负载平衡的目标集中共享公用IPv6定位符前缀。因此,在端系统550属于负载平衡的目标时,公用IPv6定位符前缀将被指派到端系统。一个端系统可属于不止一个负载平衡的目标,因此,不止一个公用IPv6定位符前缀及相关联标识符可被指派到端系统。

迂回路由选择和避免

图6A-6B是示出通过多个数据中心(DC)的路由选择的框图。图6A示出在第2层已连接网络中的迂回路由选择。网络600包括因特网626和数据中心620与622。请求节点是通讯节点CN 602,并且它从DNS请求到达DC 620中的端系统(ES) 604的地址。DNS返回的地址是任播地址,也就是说,它被广告为经DC 620或DC 622可到达。例如,ES 604可属于包含DC 620和622内成员的封闭用户群组(CUG)。CN 602将发出初始请求以到达任播地址。由于DC 622更靠近CN 602,因此,请求先转到DC 622。DC 622知道ES 604,这是ES 604在跨DC 620和DC 622的子网内,因此,它通过DC 620和DC 622的互连转发请求,并且最后到达ES 604。ES 604检查请求帧,并且通过因特网626直接发回其返回帧,而不通过DC 622。因此,在反方向的数据业务在路由选择中采用不同路径。这种路由选择称为迂回路由选择或三角路由选择。迂回路由选择牺牲带宽效率,因此希望是避免其发生。

图6B示出使用ILNP的路由选择的一个实施例,以避免迂回路由选择用于经到因特网的多个数据中心的附连而可达的端系统池。图6B中的网络650类似于图6A中的网络600,但网络650中的端系统启用了ILNP,因此,ES 604能够在最初经任播负载平衡的地址建立联系后定向成通过直接路径定位符前缀和公用标识符到达。请求CN 602将最初到达DC 622中的LB,并且将通过本文中下面与图7相关联的讨论中概述的过程定向成通过因特网626和DC 620直接到达ES 604,而不先通过DC 622 - 消除了用于接入的DC间中转。因此,在ES 604与CN 602之间的数据业务在网络650中通过相同路径,并且带宽不会被浪费。要注意的是,在移动性事件后,避免迂回路由选择继续。例如,在ES 604移到DC 622时,在保留其公用标识符的同时,其直接路径定位符将被更新。CN 602将能够到达ES 604而不先在DC 620中在其旧位置搜索它。

基于帧的ILNP负载平衡和路由选择的实施例

回到图1,任务框1-5根据一个实施例,示出为基于帧的ILNP负载平衡和路由选择执行的操作的顺序。过程在请求CN102开始。在任务框1,CN 102发出DNS查询以在DNS 104解析请求。DNS 104检查请求,并且DNS 104将负载平衡的地址返回CN 102。在任务框2,CN 102将请求帧发出到LB 150,并且请求帧包含第3层分组。第3层分组指定有IPv6地址。来源地址与CN 102相关联,并且目的地地址与CN 102已从DNS 104获得的负载平衡的地址相关联。在一个实施例中,在CN 102具ILNP能力时,指示了随机数选项。在一个实施例中,随机数选项可在IPv6报头的IPv6目的地选项中指示。LB 150将请求帧定向到共享来自CN 102的请求帧的目的地地址中指示的负载平衡的地址的目标端系统集的指定端系统。注意,目标端系统集内的所有端系统共享相同的负载平衡的地址,但每个端系统具有独特的MAC地址。共享负载平衡的地址的目标端系统集的一个实施例在图4中示出,并且已在上面讨论。在此示例中,ES 180是由LB 150选择的指定端系统。LB 150随后经用于帧的目的地MAC地址的选择,将请求帧定向到ES 180。在任务框3,ES 180接收请求帧,并且在进入的帧指示CN具ILNP能力时,它生成随机数。ES 180将回复消息发回LB 150。LB 150接收回复消息,并且提取来自ES 180的随机数。在任务框4,LB 150发出因特网控制消息协议(ICMP)定位符更改消息,以指示用于ES 180的直接路径定位符前缀。直接路径定位符前缀是指示ES 180的位置的IPv6定位符,因此,端系统可找到直接到ES 180的路由而不通过LB 150。直接路径定位符前缀504的示例在图5中示出。最后在任务框5,由于用于在CN 102与ES 180之间帧和业务中嵌入的其输出分组的目的地地址的定位符部分将在相互之间直接传送而不通过LB 150,因此,CN 102交换成使用ES 180的收到直接路径前缀。

在一个实施例中,不是LB 150发出ICMP定位符更改消息以指示用于ES 180的直接路径定位符前缀,而是作为特定端系统的ES 180向请求CN,CN 102发出ICMP定位符更改消息,指示用于ES 180的直接路径定位符前缀。在转发的请求帧的随机数指示CN 102具ILNP能力,并且请求帧寻址到负载平衡的地址时,发出ICMP定位符更改消息。直接路径定位符前缀是对应于特定端系统ES 180的可路由位置的IPv6定位符。

在一个实施例中,CN 102不具ILNP能力。在该情况下,在任务框1的请求帧没有随机数选项指示。LB 150需要继续将帧从ES 180转发到CN 102,因此,ES 180不能利用知道直接路径定位符前缀。

要注意的是,由于LB 150是转发进入的帧到各种端系统的一个LB,因此,LB 150需要保持有关端系统的最新信息。不活动的端系统需要从不活动的端系统所需的目标端系统集中删除,并且新激活的端系统(例如,虚拟交换器在数据中心转为在线)需要添加到目标端系统集。LB 150需要与DNS 104同步。还要注意的是,上面本文中讨论的操作在LB 150执行,LB 150平衡了在DC 180与DC 182之间的业务。然而,在LB 150和LB 152均在负载平衡和路由选择的操作中,它们需要相互同步并且协调负载平衡和路由选择时,LB 152也可平衡在两个数据中心之间的业务。

图7是示出在数据网络中基于帧的ILNP路由选择的一个实施例的框图。实施例可在LB中实现。过程在框702在LB接收指定有IPv6来源地址并且来源地址与请求CN相关联的请求帧时开始。如果请求CN具ILNP能力,则启用随机数选项以指示能力,并且LB提取此值并且将它与流相关联。目的地地址与负载平衡的地址相关联。如图1所示,在一个实施例中,从与网络相关联的DNS获得与目标端系统集相关联的负载平衡的地址。随后,在框704,将请求帧定向到共享负载平衡的地址的目标端系统集的特定端系统,负载平衡的地址是包含公用IPv6定位符前缀和公用ILNP标识符的单个IPv6地址。然而,目标端系统集中的每个端系统具有独特的MAC地址。从目标端系统集中选择特定端系统可基于多个准则。例如,准则可以是降低端系统过载,优化网络资源利用,增大网络吞吐量和/或缩短通信响应时间。在从目标端系统集选择特定端系统后,在框706将请求帧转发到特定端系统。随后,可选的是在LB充当代理时,在框708,接收来自特定端系统的回复,并且在指示随机数时提取随机数。在ICMP定位符更改消息发送到请求CN时,方法在框710结束。ICMP定位符更改消息包括直接路径定位符前缀,以便请求CN可通过在将来通信中的IPv6地址的目的地地址中输入直接路径定位符前缀,直接定向将来通信到特定端系统。

在一个实施例中,在特定端系统接收转发的请求帧后,在转发的请求帧的随机数指示请求CN具ILNP能力,并且请求帧寻址到负载平衡的地址时,特定端系统将ICMP定位符更改消息发出到请求CN。ICMP定位符更改消息指示用于特定端系统的直接路径定位符前缀,以便请求CN可通过在将来通信中的IPv6地址的目的地地址中输入直接路径定位符前缀,直接定向将来通信到特定端系统。要注意的是,为使基于帧的ILNP路由选择和负载平衡工作,端系统需要具有与端系统驻留的站点相关联的站点公共定位符前缀,以便端系统知道其位置,由此在路由选择期间能够避免迂回路由选择 - 端系统不是只知道端系统属于第2层网络中某处的子网,而是知道它驻留在哪个数据中心,由此能够实现有效的路由选择。端系统也需要具有直接路径定位符前缀,以便端系统可直接到达而不通过负载平衡器。

在ICMP定位符更改请求未成功传送到CN时,可能相同流中的第二消息通过LB。在一个实施例中,LB需要具有足够的信息以将随后的消息定向到负载平衡的集的相同成员,并且重新发出ICMP定位符更改消息。它保留相同状态,使得对于通过非具ILNP能力的CN发起的流,随后的消息一致地定向到负载平衡的集的相同成员。

图8是示出在数据网络中基于帧的ILNP路由选择的一个实施例的框图。请求通讯节点是CN 802,并且它发送带有与目标端系统集相关联,指定为其目的地地址的负载平衡的地址的请求帧,并且请求帧被发送到负载平衡器(LB) 804。LB 804记录嵌入的IPv6分组的来源和目的地地址。LB 804也记录是否启用了随机数选项,其中,启用指示请求CN启用了ILNP。LB804随后将帧定向到从目标端系统集中选择的一个端系统,端系统(ES) 808。ES 808接收转发的帧,并且在CN 802具ILNP能力时,它通过包括随机数的消息回复LB 804。消息指示直接路径定位符前缀,该前缀指示CN 802可用于路由其将来帧的直接路径。LB 804随后将指示指定的直接路径定位符前缀的ICMP定位符更新消息发送到CN 802。在CN 802具ILNP能力时,LB 804在路由选择中完成其参与。然而,CN 802不具ILNP能力时,LB 804继续在ES 808与CN 802之间转发将来帧,并且路由选择效率未实现。

基于分组的ILNP负载平衡和路由选择的实施例

图9是示出基于分组的ILNP路由选择的网络配置和操作的一个实施例的框图。图9中的网络900类似于图1中的网络100,并且相同或类似标号指示具有相同或类似功能性的元件或组件。在网络900中,任务框1-4根据一个实施例,示出为基于分组的ILNP负载平衡和路由选择执行的操作的顺序。过程在请求CN102开始。在任务框1,CN 102发出DNS查询以在DNS 104解析请求。DNS 104检查请求,并且它将负载平衡的地址返回CN 102。CN 102将请求分组发回LB 150。请求分组包含IPv6来源和目的地地址。来源地址与请求通讯节点CN 102相关联。目的地地址与共享的负载平衡的地址相关联,该地址对应于目标端系统集。在一个实施例中,CN 102具ILNP能力时,分组中指示随机数信息。在一个实施例中,随机数指示可在IPv6报头的IPv6目的地选项中指示。在任务框2,LB 150将请求分组定向到与请求分组中指定的目的地地址相关联的目标端系统集的特定端系统。目标端系统集内的端系统共享负载平衡的地址,负载平衡的地址是包含公用IPv6定位符前缀和公用ILNP标识符的单个IPv6地址。同时,每个端系统具有独特的直接路径定位符前缀。共享负载平衡的地址的目标端系统集的一个实施例在本文中上面讨论的图3中示出。在此示例中,LB 150将ES 180选择为请求分组定向到的特定端系统。LB 150可基于一个或更多个准则进行选择,如降低端系统过载,优化网络资源利用,增大网络吞吐量和/或缩短通信响应时间。一旦做出了选择,LB 150便通过请求分组的目的地地址,将公用IPv6定位符前缀改写为特定端系统ES 180的独特的直接路径定位符前缀,公用IPv6定位符前缀在目标端系统集中共享。进入的分组指示CN 102不具ILNP能力时,LB 150使用应用层网关(ALG)转换请求分组,以便ES 180可以能适当地处理分组。应用ALG到分组在本领域人员的知识范围内。随后,将请求分组发送到ES 180。ES 180接收请求分组。在接收分组后,ES 180向LB 150发回用于其通信的随机数。

在任务框3,LB 150一旦获得端系统ES 180的随机数,它便将ES 180的独特的直接路径定位符前缀通知CN 102。在任务框4,在接收独特的直接路径定位符前缀后,CN 102随后直接与ES 180进行通信,而不再为在CN 102与ES 180之间的将来通信通过用于负载平衡的LB 150。

图10是示出在数据网络中基于分组的ILNP路由选择的一个实施例的框图。实施例可在LB中实现。过程在框1002在LB接收指定有IPv6来源地址并且来源地址与请求CN相关联的请求分组时开始。请求CN具ILNP能力时,启用随机数选项以指示能力。目的地地址与共享负载平衡的地址的目标端系统集相关联。如图9所示,在一个实施例中,从与网络相关联的DNS获得与目标端系统集相关联的目的地地址。在框1004,基于准则从目标端系统集选择特定端系统,如降低端系统过载,优化网络资源利用,增大网络吞吐量和/或缩短通信响应时间。特定端系统具有独特的直接路径前缀定位符,但标识符与目标端系统集内的其它目标端系统的标识符是共同的。在框1006,将目的地地址的公用IPv6定位符前缀改写为特定端系统的独特的直接路径定位符前缀。随后,在框1008将带有新的独特的直接路径定位符前缀的请求分组发送到特定端系统。随后,在框1010在发现用于在CN与特定端系统之间通信的端系统随机数时,通知CN直接路径定位符前缀。在端系统接收请求分组后,由特定端系统发送用于通信的端系统随机数。

图11是示出在数据网络中基于分组的ILNP路由选择的一个实施例的框图。CN 1102是将请求分组发出到负载平衡器(LB) 1104的请求通讯节点。请求分组包括与CN 1102相关联的来源IPv6地址和是负载平衡的地址的目的地IPv6地址。负载平衡的地址与目标端系统集相关联,并且每个目标端系统具有独特的直接路径定位符前缀,但每个目标端系统具有公用ILNP标识符。LB 1104从目标端系统集中选择特定端系统。随后,LB 1104将ILNP目的地地址的定位符部分改写为独特地识别特定端系统的直接路径定位符前缀,并且随后将分组转发到双宿主端系统(ES)1106。CN 1002不具ILNP能力时,LB 1104应用ALG到请求分组,并且随后将修订的分组发送到ES 1106。双宿主ES 1106接收转发的分组,并且在CN 1102具ILNP能力时,它通过包括随机数的分组回复LB 1104。LB 1104随后将带有随机数指示的ES 1106的独特的直接路径定位符前缀通知CN 1102,以便对于所有将来通信,CN 1002和ES 1106能够直接进行通信。要注意的是,通过基于分组的ILNP路由选择,端系统需要通过包含直接路径定位符前缀和标识符的至少一个IPv6地址到达。在基于分组的ILNP路由选择中,双宿主端系统可具有多个直接路径定位符前缀,以便可通过多个直接路径直接到达双宿主端系统,而不通过到直接路径定位符前缀的站点公共定位符前缀的转化。

用于基于分组的ILNP路由选择和负载平衡的端系统迁移的实施例

图12是示出端系统迁移的网络配置和操作的一个实施例的框图。图12中的网络1200类似于图1中的网络100,并且相同或类似标号指示具有相同或类似功能性的元件或组件。在网络1200,启用基于分组的ILNP路由选择和负载平衡。任务框1-5示出在一个实施例中为端系统迁移执行操作的顺序。在网络1200中,端系统(ES) 1240是移动端系统。ES 1240最初驻留在东海岸数据中心DC 180,并且它将迁移到在西海岸的DC 182。在任务框1,ES 1240发现ICMP定位符更新消息。ICMP定位符更新消息包括与ES 1240预期移到的新位置(即,DC 182)相关联的新ILNP直接路径定位符前缀。ICMP定位符更新消息被发送到网络1200中的当前活动通讯节点。负载平衡器(LB) 150是当前活动的通讯节点之一,并且LB 150具ILNP能力。在任务框2,LB 150删除与其现有公共定位符前缀的ES 1240关联,并且添加与新站点(DC 182)的直接路径定位符前缀。另外,LB 150添加要与ES 1240相关联的新站点的公共定位符前缀。在任务框3,ES 1240从DC 180移到DC 182。随后,在任务框4,LB 150删除与ES 1240相关联的旧直接路径定位符前缀。要注意的是,在此实施例中,在任务框2后且在任务框4之前,ES 1240是双宿主,带有用于DC 180和DC 182两者的直接路径定位符前缀。在一个实施例中,移动端系统在多个直接路径上是双宿主时,移动端系统可将ICMP定位符更新发送到在从旧位置到新位置的转变期间由LB通过旧直接路径定位符前缀定向到它的任何CN。

图13是示出端系统迁移的一个实施例的流程图。方法可在负载平衡器(LB)上实现。方法在框1302在LB接收来自移动端系统(MES)的ICMP定位符更新消息时开始。ICMP定位符更新消息包括与MES预期移到的新位置相关联的新ILNP直接路径定位符前缀。要注意的是,MES可将ICMP定位符更新消息发送到在网络中除LB外的其它活动CN。在LB接收ICMP定位符更新消息后,在框1304,它删除与现有公共定位符前缀相关联的MES的关联。在一个实施例中,公共定位符前缀与迁移前MES驻留的当前站点公共定位符前缀相关联。随后,在框1306,LB添加与MES迁移到的新站点相关联的直接路径定位符前缀。LB也添加新站点的公共定位符前缀到MES地址映射。随后,在框1308,LB从MES地址映射删除与旧直接路径定位符前缀的MES关联。

用于基于帧的ILNP路由选择和负载平衡的端系统迁移的实施例

移动端系统(MES)也可在网络启用的基于帧的ILNP的路由选择和负载平衡中迁移到新位置。在一个实施例中,在迁移到新位置后,MES以旧的直接路径定位符前缀和新的直接路径定位符前缀两者为归属。MES一旦迁移到新位置,便将ICMP定位符更新消息发出到活动CN。ICMP定位符更新消息包括与管理系统(例如,元件管理系统EMS)已将MES移到的新位置相关联的新ILNP直接路径定位符前缀。ICMP定位符更新消息被发送到网络中的当前活动通讯节点。网络的LB是当前活动的通讯节点之一,并且具ILNP能力。LB随后将直接路径定位符前缀替换为新的ILNP直接路径定位符前缀。负载平衡的IPv6地址未更改。

负载平衡器的实施例

图14是用作负载平衡器(LB)的网络元件的一个实施例的框图。在一个实施例中,网络元件包括有一个或更多个线路卡(例如,通信模块1402)的集、有一个或更多个控制卡(例如,网络处理器1450)的集和可选的一个或更多个服务卡(有时称为资源卡)的集。这些卡通过一个或更多个机制耦合在一起(例如,耦合线路卡的第一全网格和耦合所有卡的第二全网格)。线路卡的集合构成数据平面,而控制卡的集合提供控制平面并且通过线路卡与外部网络元件交换分组。要注意的是,控制平面和数据平面在单独的网络元件中的情况下,本发明的实施例适用。

LB 1400可包含能够配置成与通信节点、端系统、SBR、其它LB及网络中的其它网络元件进行通信的通信模块1402。例如,通信模块1402可接收来自请求CN的请求帧或分组,并且回复来自端系统的消息。在一个实施例中,LB 1400可包含应用层门(ALG)封包器1406,封包器1406能够配置成在分组不是ILNP兼容时将它发出到端系统前转换分组。另外,LB 1400可包含处理随机数信息的随机数处理器1408。随机数处理器1408能够配置成检测进入的帧和分组的随机数信息,并且它也能够配置成插入和提取随机数信息。LB 1400可包含能够配置成处理来自其它网络元件的进入的ICMP消息的ICMP消息器(messager) 1410,并且它也能够配置成生成ICMP消息以发送到其它网络元件。例如,ICMP消息器能够配置成将ICMP定位符更改消息发出到请求CN,并且指示端系统的直接路径定位符前缀,以便请求CN能够与端系统直接进行通信。如本文中下面将讨论的一样,与网络处理器1450一起,这些卡耦合在一起以便在请求时完成路由选择和负载平衡。

网络处理器1450是包含负载指派模块1420的物理处理器。负载指派模块1420包含目标地址转化器1412。目标地址转化器1412能够配置成将请求帧/分组定向到共享负载平衡的地址的目标端系统集的特定端系统。在基于帧的模型中,负载平衡的地址在目标端系统集中共享,每个目标端系统具有独特的MAC地址,便共享公用IPv6定位符前缀。在基于分组的模型中,负载平衡的地址在目标端系统集中共享,但每个端系统具有独特的直接路径定位符前缀,并且每个端系统通过公用IPv6定位符前缀和公用ILNP标识符组合可到达。负载指派模块1420可包含地址更新器1422,地址更新器1422能够配置成将分组的目的地地址的公用IPv6定位符前缀改写为特定端系统的独特的直接路径定位符前缀。负载指派模块1420也可包含地址映射数据库1418,该数据库1418能够配置成保持负载平衡的地址与目标端系统集的映射。地址映射数据库1418能够配置成在LB 1400进行路由选择和负载平衡时进行动态更新。另外,负载指派模块1420也可包括配置成将进入的帧/分组转发到端系统的数据转发器1414。要注意的是,网络处理器1450能够是通用或专用处理器。网络处理器1450中的单独模块能够包含其专用网络过程单元(NPU),或者它们能够在多个模块中共享NPU。例如,目标地址转化器1412和数据转发器1414可共享相同的NPU。还要注意的是,负载指派模块1420可在网络处理器1450外,并且负载指派模块1420只要以通信方式与网络处理器1450耦合,它便能够执行其路由选择和负载平衡功能。

在一个实施例中,模块和处理器配置成支持基于帧的负载平衡和路由选择。过程以通信模块1402接收来自请求通讯节点(CN)的请求帧开始。通信模块1402将帧转发到随机数处理器1408以确定是否启用随机数选项。帧被发送到网络处理器1450内的负载指派模块1420。在检查其中保持了在负载平衡的地址与端系统之间映射的地址映射数据库1418后,目标地址转化器1412选择与目标系统集相关联的负载平衡的地址。随后,数据转发器1414将请求帧转发到端系统。之后,LB 1400等待来自端系统的回复消息。端系统发回回复消息时,随机数处理器1408提取随机数,并且ICMP消息器1410将包括用于特定端系统的直接路径定位符前缀的ICMP定位符更改消息发出到请求CN。

在另一实施例中,模块和处理器配置成支持基于分组的负载平衡和路由选择。过程以通信模块1402接收来自请求通讯节点(CN)的请求分组开始。通信模块1402将帧转发到随机数处理器1408以确定是否启用随机数选项。请求分组被发送到网络处理器1450内的负载指派模块1420。在检查其中保持了在负载平衡的地址与端系统之间映射的地址映射数据库1418后,目标地址转化器1412选择与目标系统集相关联的负载平衡的地址。地址更新器1422配置成将目的地地址的公用IPv6定位符前缀改写为与特定端系统关联的独特的直接路径定位符前缀。随后,在请求CN不具ILNP能力,并且随机数选项指示时,请求分组由ALG封包器1406处理。随后,请求分组被发送到特定端系统。之后,LB 1400等待来自端系统的回复消息。端系统发回回复消息时,随机数处理器1408提取随机数,并且通信模块1402向请求CN发送特定端系统的独特的直接路径定位符前缀。

在另一实施例中,视网络配置而定,模块和处理器配置成支持基于帧和基于分组的负载平衡和路由选择。还要注意的是,各种模块能够实现为单个单元,或者多个单元能够组合在LB 1400内的两个或更多个单元,并且这些模块能够在软件、硬件或其组合中实现。

虽然本文中上面图中的流程图示出本发明的某些实施例执行的操作的特定顺序,但应理解,此类顺序是示范(例如,备选实施例可以不同的顺序执行操作,组合某些操作,重叠某些操作等)。

虽然本发明已根据几个实施例描述,但本领域的技术人员将认识到本发明不限于所述实施例,通过在所附权利要求的精神和范围内的修改和变化,能够实践本发明。描述因此要视为是说明性的而不是限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号