用于生成链路ipv6地址的计算设备和方法

文档序号:1559815 发布日期:2020-01-21 浏览:4次 >En<

阅读说明:本技术 用于生成链路ipv6地址的计算设备和方法 (Computing device and method for generating link IPV6 address ) 是由 P·安德森 B·特朗布莱 S·克里希南 L·马钱德 于 2019-03-04 设计创作,主要内容包括:用于生成链路IPv6地址的计算设备(位于数据中心的架构中)和方法。计算设备确定用于计算设备的通信接口的本地节点标识符和本地链路标识符。计算设备从远程计算设备接收用于远程计算设备的远程通信接口的远程节点标识符和远程链路标识符。基于本地和远程节点标识符的比较,通过使用IPv6基本前缀、本地节点标识符、远程节点标识符、本地链路标识符、远程链路标识符、和本地节点标识符大于或小于远程节点标识符的指示符,来生成链路IPv6地址。通过生成架构范围的IPv6地址和一个或多个链路IPv6地址来执行计算设备的网络配置。(A computing device (located in the architecture of a data center) and method for generating a link IPv6 address. The computing device determines a local node identifier and a local link identifier for a communication interface of the computing device. The computing device receives, from the remote computing device, a remote node identifier and a remote link identifier for a remote communication interface of the remote computing device. The link IPv6 address is generated using the IPv6 basic prefix, the local node identifier, the remote node identifier, the local link identifier, the remote link identifier, and an indicator that the local node identifier is greater than or less than the remote node identifier based on a comparison of the local and remote node identifiers. Network configuration of a computing device is performed by generating an architecture-wide IPv6 address and one or more link IPv6 addresses.)

用于生成链路IPV6地址的计算设备和方法

技术领域

本公开涉及数据中心领域。更具体而言,本公开涉及一种计算设备用于执行(位于数据中心的架构中的)计算设备的网络配置的和方法,包括链路IPv6地址的生成。

背景技术

近年来,已经见证了诸如软件即服务(SaaS)、云计算等技术的快速发展。这种发展得益于客户对基于此类技术的产品和服务的需求不断增长。底层技术的不断进步也为这种发展提供了动力,诸如微处理器的处理能力增加、存储设备的存储容量增加以及网络装备的传输容量提高。此外,这些底层技术的平均成本正在下降。但是,底层技术的平均成本的下降被增长的客户需求平衡,这需要不断更新和升级用于提供SaaS或云计算的基础设施。

用于提供SaaS或云计算的基础设施是数据中心,其组合了大量的计算服务器。每个服务器具有多个多核处理器,并且计算服务器的组合提供了由数据中心的客户使用的非常高的处理能力。这些服务器中的一些或全部可能还具有重要的存储容量,因此服务器的组合还向数据中心的客户提供了非常高的存储容量。数据中心还依赖于联网基础设施,用于将服务器互连并向数据中心的客户提供对其计算和/或存储容量的访问。为了提供可靠的服务,对数据中心的计算和联网基础设施提出了非常高的可伸缩性、可管理性、容错性等方面的要求。

关于数据中心的联网基础设施,公知的是向大量主机提供高效且可靠的联网服务是一项复杂的任务。已经在其它环境中开发了解决方案和技术,诸如用于向大量移动设备提供移动数据服务的联网技术。这些技术中的一些已经在专用情况(诸如互联网工程任务组

Figure BDA0002309929410000021

或第三代合作伙伴计划(3GPPTM))中被标准化。但是,在数据中心中部署高效且可靠的联网基础设施的至少一些技术挑战是特定于数据中心环境的;并且需要用原始的解决方案和技术来解决。

对于涉及大量(例如,成千上万)设备的联网基础设施的一个重大挑战是联网基础设施的配置。具体地,配置需要是灵活的(以便于更改初始配置)和有弹性的(以避免本地化配置错误影响整个数据中心的操作)。确保网络配置灵活且可靠的一种方式是尽可能多地限制配置过程中的人为干预。

因此,需要一种计算设备和方法,用于为位于数据中心的架构中的计算设备生成链路IPv6地址。还需要一种执行计算设备的网络配置的方法,包括生成架构范围的IPv6地址和生成一个或多个链路IPv6地址。

发明内容

根据第一方面,本公开涉及一种计算设备。该计算设备包括通信接口、存储器和处理单元。存储器存储配置文件。配置文件包含互联网协议版本6(IPv6)基本前缀。处理单元确定用于通信接口的本地节点标识符和本地链路标识符。处理单元经由通信接口从远程计算设备接收用于远程计算设备的远程通信接口的远程节点标识符和远程链路标识符。处理单元比较本地节点标识符和远程节点标识符;并生成IPv6地址。如果本地节点标识符大于远程节点标识符,则通过组合存储在配置文件中的IPv6基本前缀、本地节点标识符、远程节点标识符、本地链路标识符和本地节点标识符大于远程节点标识符的指示符来生成IPv6地址。如果本地节点标识符小于远程节点标识符,则通过组合存储在配置文件中的IPv6基本前缀、远程节点标识符、本地节点标识符、远程链路标识符和本地节点标识符小于远程节点标识符的指示符来生成IPv6地址。处理单元用该IPv6地址配置通信接口。

根据第二方面,本公开涉及一种用于为位于数据中心的架构中的计算设备生成链路IPv6地址的方法。该方法包括将配置文件存储在计算设备的存储器中。配置文件包含IPv6基本前缀。该方法包括由计算设备的处理单元确定用于计算设备的通信接口的本地节点标识符和本地链路标识符。该方法包括由处理单元经由通信接口从远程计算设备接收用于远程计算设备的远程通信接口的远程节点标识符和远程链路标识符。该方法包括由处理单元比较本地节点标识符和远程节点标识符;以及由处理单元生成IPv6地址。如果本地节点标识符大于远程节点标识符,则通过组合存储在配置文件中的IPv6基本前缀、本地节点标识符、远程节点标识符、本地链路标识符、和本地节点标识符大于远程节点标识符的指示符来生成IPv6地址。如果本地节点标识符小于远程节点标识符,则通过组合存储在配置文件中的IPv6基本前缀、远程节点标识符、本地节点标识符、远程链路标识符、和本地节点标识符小于远程节点标识符的指示符来生成IPv6地址。该方法包括用该IPv6地址配置通信接口。

根据第三方面,本公开提供了一种非暂态计算机程序产品,其包括可由计算设备的处理单元执行的指令。处理单元对指令的执行提供为位于数据中心的架构中的计算设备生成链路IPv6地址。更具体而言,指令的执行提供将配置文件存储在计算设备的存储器中。配置文件包含IPv6基本前缀。指令的执行提供由处理单元确定用于计算设备的通信接口的本地节点和本地链路标识符。指令的执行提供由处理单元经由通信接口从远程计算设备接收用于远程计算设备的远程通信接口的远程节点标识符和远程链路标识符。指令的执行提供由处理单元比较本地节点标识符和远程节点标识符;以及由处理单元生成IPv6地址。如果本地节点标识符大于远程节点标识符,则通过组合存储在配置文件中的IPv6基本前缀、本地节点标识符、远程节点标识符、本地链路标识符、和本地节点标识符大于远程节点标识符的指示符来生成IPv6地址。如果本地节点标识符小于远程节点标识符,则通过组合存储在配置文件中的IPv6基本前缀、远程节点标识符、本地节点标识符、远程链路标识符、和本地节点标识符小于远程节点标识符的指示符来生成IPv6地址。指令的执行提供用该IPv6地址配置通信接口。

根据第四方面,本公开涉及一种用于执行位于数据中心的架构中的计算设备的网络配置的方法。该方法包括将配置文件存储在计算设备的存储器中。该配置文件包含第一互联网协议版本6(IPv6)基本前缀、架构标识符和第二IPv6基本前缀。该方法包括由计算设备的处理单元确定主机标识符。该方法包括由处理单元通过组合存储在配置文件中的第一IPv6基本前缀和存储在配置文件中的架构标识符来生成架构范围的IPv6前缀。该方法包括由处理单元通过组合架构范围的IPv6前缀和主机标识符来生成架构范围的IPv6地址。该方法包括由处理单元确定用于计算设备的通信接口的本地节点标识符和本地链路标识符。该方法包括由处理单元经由通信接口从远程计算设备接收用于远程计算设备的远程通信接口的远程节点标识符和远程链路标识符。该方法包括由处理单元比较本地节点标识符和远程节点标识符;以及由处理单元生成链路IPv6地址。如果本地节点标识符大于远程节点标识符,则通过组合存储在配置文件中的第二IPv6基本前缀、本地节点标识符、远程节点标识符、本地链路标识符、和本地节点标识符大于远程节点标识符的指示符来生成链路IPv6地址。如果本地节点标识符小于远程节点标识符,则通过组合存储在配置文件中的第二IPv6基本前缀、远程节点标识符、本地节点标识符、远程链路标识符、和本地节点标识符小于远程节点标识符的指示符来生成链路IPv6地址。该方法包括用该链路IPv6地址配置通信接口。

根据第五方面,本公开涉及一种计算设备。该计算设备包括通信接口、存储器和处理单元。存储器存储配置文件。配置文件包含互联网协议版本6(IPv6)基本前缀。处理单元确定用于通信接口的本地节点标识符和本地链路标识符。处理单元经由通信接口从远程计算设备接收用于远程计算设备的远程通信接口的远程节点标识符和远程链路标识符。处理单元比较本地节点标识符和远程节点标识符;并生成IPv6地址。如果本地节点标识符小于远程节点标识符,则通过组合存储在配置文件中的IPv6基本前缀、本地节点标识符、远程节点标识符、本地链路标识符、和本地节点标识符大于远程节点标识符的指示符来生成IPv6地址。如果本地节点标识符大于远程节点标识符,则通过组合存储在配置文件中的IPv6基本前缀、远程节点标识符、本地节点标识符、远程链路标识符、和本地节点标识符小于远程节点标识符的指示符来生成IPv6地址。处理单元用该IPv6地址配置通信接口。

附图说明

将通过参考附图仅以示例的方式来描述本公开的实施例,其中:

图1表示包括多个部署点(pod)和架构的数据中心的网络体系架构;

图2表示图1中所示的架构的更详细的视图;

图3表示部署在图1-2的部署点和架构中的装备的通信端口;

图4A和图4B表示用于将图1-3中所示的架构的装备互连的IPv6网络;

图5图示了与部署在图1-3中所示的架构中的装备对应的计算设备的示意图;

图6表示用于生成架构范围的IPv6地址的方法;

图7A和图7B表示用于生成链路IPv6地址的方法;

图8A和图8B图示了将图7A和图7B的方法应用于图3的架构的装备;以及

图9A、图9B和图9C表示用于通过组合图6和图7A-B的方法来执行网络配置的方法。

具体实施方式

在阅读以下说明性实施例的非限制性描述之后,前述和其它特征将变得更加清楚,所述说明性实施例通过参考附图仅以示例的方式给出。

本公开的各个方面总体解决了与为位于数据中心的架构中的计算设备生成链路IPv6地址相关的一个或多个问题;其中链路IPv6地址的生成是自动的并且对人类错误具有弹性。本公开还解决了计算设备的网络配置,包括生成架构范围的IPv6地址和生成一个或多个链路IPv6地址。

数据中心的网络体系架构

现在同时参考图1-4,图示了数据中心的网络体系架构。图中表示的网络体系架构是出于说明目的,并且设计数据中心体系架构领域的技术人员将容易理解,可以做出其它设计选择。本公开的教导不限于图中表示的网络体系架构的拓扑;而是也可以应用于在拓扑方面具有不同设计选择的网络体系架构。

现在更具体地参考图1。数据中心被组织为多个部署点。每个部署点由计算、存储、联网和电源的原子单元组成。每个部署点都作为单元被设计、作为单元被部署、作为单元被自动化、作为单元被退役。可以使用若干种类型的部署点,它们的设计不同。数据中心中部署每种部署点的零个、一个或多个实例。为了说明的目的,在图1中表示了三个部署点(A、B和C)。但是,数据中心中的部署点的数量从一到数十到甚至数百个部署点不等。通过添加(或移除)部署点,可以伸缩数据中心在计算、存储、联网和电源方面的容量。

部署点A包括提供处理和存储能力的多个服务器300。取决于服务器300的数量和每个机架的容量,服务器300被物理地组织在一个或多个机架中。部署点A还包括被称为架构A的两层联网能力。架构A包括由叶子联网装备200组成的较低层,以及由主干联网装备100组成的较高层。架构A的联网装备(例如主干100和叶子200)物理地集成到包括服务器300的一个或多个机架上,或者替代地被物理地组织在一个或多个独立的机架中。

叶子联网装备200和主干联网装备100通常由具有高密度通信端口的交换机组成。因此,在本说明书的其余部分中,叶子联网装备200和主干联网装备100将分别被称为叶子交换机200和主干交换机100。但是,可以使用其它类型的联网装备。例如,在替代实施方式中,主干联网装备100中的至少一些由路由器组成。

每个叶子交换机200连接到至少一个主干交换机100和多个服务器300。连接到给定叶子交换机200的服务器300的数量取决于叶子交换机200的通信端口的数量。

在图1所示的实施方式中,每个服务器300冗余地连接到两个不同的叶子交换机200。给定部署点(例如,部署点A)的服务器300仅连接到属于给定部署点(例如,部署点A)的架构(例如,架构A)的叶子交换机200。给定部署点(例如,部署点A)的服务器300未连接到属于另一个部署点(例如,部署点B)的架构(例如,架构B)的叶子交换机200。给定架构(例如,架构A)的每个叶子交换机200连接到给定架构(例如,架构A)的所有主干交换机100。给定架构(例如,架构A)的叶子交换机200未连接到另一个架构(例如,架构B)的主干交换机100。在各图中未示出的替代实施方式中,服务器300中的至少一些连接到单个叶子交换机200。

每个主干交换机100连接到至少一个核心联网装备10,以及多个叶子交换机200。连接到给定主干交换机100的叶子交换机200的数量取决于设计选择和主干交换机100的通信端口的数量。核心联网装备10提供部署在数据中心中的架构之间的互通、与数据中心的管理功能的连接、与外部网络(诸如互联网)的连接等。此外,虽然为了简化目的未在图中表示,但是核心联网装备10中的至少一些可以连接到一对叶子交换机200。

核心联网装备10通常由路由器组成。因此,在本说明书的其余部分中,核心联网装备10将被称为核心路由器10。但是,可以使用其它类型的联网装备。例如,在替代实施方式中,核心联网装备10中的至少一些由交换机组成。

在图1所示的实施方式中,给定架构(例如,架构A)的每个主干交换机100连接到所有核心路由器10,并且连接到给定架构(例如,架构A)的所有叶子交换机200。

为了简化目的,图1中表示的架构A仅包括两个主干交换机100和四个叶子交换机200,而部署点A仅包括两组三个服务器300,其分别连接到架构A的叶子交换机200。架构的主干交换机100和叶子交换机200的数量可以基于主干和叶子交换机的设计选择和联网能力(例如,通信端口密度)而变化。类似地,基于设计选择、基于对应架构的叶子交换机200的数量,以及基于叶子交换机的联网能力(例如,通信端口密度),部署点的服务器300的总数可以变化。

为了简化目的,部署点B及其对应的架构B以及部署点C及其对应的架构C的细节未在图1中表示。但是,部署点B/架构B和部署点C/架构C包括主干交换机100、叶子交换机200和服务器300的层次结构,类似于为部署点A/架构A所示的层次结构。

现在更具体地参考图1和图2,其中图2表示图1的数据中心的实施方式,其中每个架构还包括一个或多个控制器400。仅为了简化目的,未在图2中表示服务器300。

架构的控制器400负责控制架构中包括的至少一些节点(例如,叶子交换机200和/或主干交换机100)的操作。每个控制器400连接到至少一个叶子交换机200。在给定架构中部署的控制器400的数量取决于设计选择、架构中部署的控制器400所需的累积处理能力、架构中部署的叶子交换机和主干交换机的总数,等等。

在图2表示的实施方式中,每个控制器400冗余地连接到两个不同的叶子交换机200。例如,每个控制器400具有到第一叶子交换机200的第一操作连接和到第二叶子交换机200的第二备用连接。给定架构(例如,架构A)的控制器400仅连接到该架构(例如,架构A)的叶子交换机200。给定架构(例如,架构A)的控制器400未连接到另一个架构(例如,架构B或C)的叶子交换机200。一些叶子交换机200专用于连接到控制器400(如图2所示),而其它叶子交换机200专用于连接到服务器300(如图1所示)。在替代实施方式中,叶子交换机200同时连接到服务器300和控制器400。

在另一个实施方式中,控制器400不直接物理连接到叶子交换机200;而是经由诸如在控制器400和叶子交换机200之间的中间交换机(图2中未表示)之类的至少一个中间装备在功能上连接。

现在更具体地参考图1、图2和图3,其中图3表示部署在架构/部署点中的装备的通信端口。

主干交换机100具有专用于与核心路由器10的互连的专用数量的上行链路通信端口(例如,在图3中表示的4个)和专用于与叶子交换机200的互连的专用数量的下行链路通信端口(例如,在图3中表示的6个)。上行链路端口和下行链路端口具有相同或不同的联网容量。例如,所有端口都具有10千兆字节(Gbps)的容量。

叶子交换机200具有专用于与主干交换机100的互连的专用数量的上行链路通信端口(例如,在图3中表示的3个),以及专用于与服务器300或控制器400的互连的专用数量的下行链路通信端口(例如,在图3中表示的6个)。上行链路端口和下行链路端口具有相同或不同的联网容量。例如,所有上行链路端口都具有100Gbps的容量,并且所有下行链路端口都具有25Gbps的容量。将来,上行链路端口的容量将达到200或400Gbps,而下行链路端口的容量将达到50Gbps或100Gbps。

叶子交换机和主干交换机通常由具有高密度通信端口的装备组成,这些装备可以达到数十个端口。端口中的一些端口可以是电端口,而其它端口是光纤端口。如前所述,在支持的带宽方面,交换机的端口可以具有变化的联网容量。通常使用具有不同联网容量和功能的交换机来实现叶子交换机和主干交换机。这些端口不限于通信端口,而且还包括用于连接各种类型的可插拔介质的外壳。

作为对照,服务器300和控制器400是类似于传统计算机的具有有限数量的通信端口的计算设备。例如,每个服务器300和每个控制器400包括两个通信端口,分别连接到两个不同的叶子交换机200。这两个通信端口通常由以太网端口组成,容量为例如10Gbps。但是,服务器300和/或控制器400可以包括(一个或多个)附加端口。

所有上述通信端口都是双向的,从而允许传输和接收数据。

现在更具体地参考图4A和图4B,它们表示IPv6网络20在架构级别的部署。

架构的至少一些装备连接到IPv6网络20并经由该IPv6网络交换数据。在图4A和图4B所示的配置中,所有的主干交换机100、叶子交换机200和控制器400都连接到IPv6网络20。每个架构(例如,如图1所示的架构A、B和C)都具有其自己的IPv6网络,每个架构具有专用的IPv6前缀。给定架构的专用IPv6前缀的生成将在本说明书后面图示。

可选地,附加装备连接到IPv6网络20。例如,如图4A和图4B所示,核心路由器10中的一个或多个连接到IPv6网络20。配置和/或管理服务器(为简化起见,未在图4A和图4B中示出)通过核心路由器10而具有对IPv6网络20的访问。

可选地,专用的交换机和/或路由器(为简化起见,未在图4A和图4B中示出)被用于互连架构A的经由IPv6网络20交换数据的装备。前述可选配置和/或管理服务器通过专用交换机和/或路由器而具有对IPv6网络20的访问。

图4A表示第一说明性配置,其中架构A的每个装备(主干交换机100、叶子交换机200和控制器400)具有用于访问IPv6网络20的专用端口21。IPv6网络20是与由架构A实现的其它IP网络隔离的配置和/或管理网络。主干交换机100、叶子交换机200和控制器400的专用端口21仅用于通过IPv6网络20交换数据。因此,经由主干交换机100、叶子交换机200和控制器400的专用端口21交换的IPv6流量与经由主干交换机100、叶子交换机200和控制器400的其它端***换的流量隔离(如图3所示)。

图4B表示第二说明性配置,其中架构A的每个装备(主干交换机100、叶子交换机200和控制器400)不使用专用端口来访问IPv6网络20。相反,已经用于交换其它数据流量的端口(如图3所示)也用于访问IPv6网络20。

这种配置的优点在于,不会在架构A的每个装备(主干交换机100、叶子交换机200和控制器400)处仅为了访问IPv6网络20而独占专用端口。

在图中未示出的替代配置中,架构A的一些装备正在使用专用端口来访问IPv6网络20;但是,架构A的其它装备通过也用于交换其它数据流量的端口来访问IPv6网络20。

此外,架构A的一些装备可以使用一个以上的端口来访问IPv6网络20。

现在同时参考图4A-B和图5,在图5中图示了计算设备500。计算设备500是图4A和图4B的架构中包括的设备的一般功能表示。因此,计算设备500表示主干交换机100、叶子交换机200或控制器400。

计算设备500包括处理单元510、存储器520和至少一个通信接口530。计算设备500可以包括附加部件(为了简化目的,未在图5中示出)。例如,在计算设备500表示控制器400的情况下,计算设备可以包括用户界面和/或显示器。

处理单元510包括能够执行计算机程序的指令的一个或多个处理器(图5中未示出)。每个处理器还可以包括一个或若干个核心。在计算设备500表示交换机100或200的情况下,处理单元510还包括一个或多个用于执行专门联网功能(例如,分组转发)的专用处理部件(例如,网络处理器、专用集成电路(ASIC)等)。

存储器520存储由处理单元510执行的(一个或多个)计算机程序的指令、由处理单元510执行(一个或多个)计算机程序所生成的数据、经由(一个或多个)通信接口530接收到的数据等。在图5中仅表示了单个存储器520,但是计算设备500可以包括若干种类型的存储器,包括易失性存储器(诸如随机存取存储器(RAM))和非易失性存储器(诸如硬盘驱动器、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)等)。

每个通信接口530允许计算设备500与其它设备交换数据。通信接口530中的至少一些(为了简化目的,在图5中仅示出了两个)对应于图4A和图4B中表示的主干交换机100、叶子交换机200和控制器400的端口。通信接口530的示例包括标准(电)以太网端口、光纤端口、适于接收小形状因子可插拔(SFP)单元的端口等。通信接口530通常是有线类型;但也可以包括一些无线类型(例如,Wi-Fi接口)。通信接口530包括硬件和由硬件执行的软件的组合,用于实现通信接口530的通信功能。替代地,用于实现通信接口530的通信功能的硬件和软件的组合至少部分地被包括在处理单元510中。

架构范围的IPv6地址

现在同时参考图4A-B、图5和图6,在图6中图示了用于生成架构范围的IPv6地址的方法600。方法600的至少一些步骤由图5中表示的计算设备500执行。

专用计算机程序具有用于实现方法600的至少一些步骤的指令。该指令被包含在计算设备500的非暂态计算机程序产品(例如,存储器520)中。该指令在由计算设备500的处理单元510执行时,提供生成架构范围的IPv6地址。该指令可经由电子可读介质(诸如存储介质(例如,CD-ROM、USB钥匙等))或经由通信链路(例如,通过通信接口530之一经由通信网络)传递给计算设备500。

方法600包括由配置设备30将配置数据传输到计算设备500的步骤605。

方法600包括由计算设备500接收配置数据的步骤610。配置数据是经由计算设备500的通信接口530之一接收的。

方法600包括将配置数据存储在配置文件521中的步骤615。配置文件521存储在计算设备500的存储器520中。配置数据包括IPv6基本前缀和架构标识符,这将在方法600的以下步骤中进一步详细描述。

配置设备30生成和传输配置数据的细节不在本公开的范围之内。在数据中心级别使用单个配置设备30来将配置数据传输到每个架构中的计算设备500。替代地,为数据中心的每个架构使用专用配置设备30。设计数据中心体系架构的技术人员将容易地识别适当的联网协议和配置机制,以用于将配置数据从集中式配置设备30分发到架构的多个计算设备500。

步骤605和610是在配置设备30的发起下(配置数据的推送)或在计算设备500的发起下(配置数据的拉取)执行的。在拉取的情况下,为了简化目的,在图6中未表示包括从计算设备500到配置设备30的对配置数据的请求的附加步骤。

当计算设备500初始地部署在架构中时,可以发生步骤605和610。在这种情况下,计算设备500根本不连接(或仅部分连接)到数据中心的任何联网基础设施。因此,使用基本引导(basic bootstrap)协议将配置数据从配置设备30直接传输到计算设备500。例如,配置设备30的通信接口物理地(例如,经由以太网线缆)连接到计算设备500的通信接口,并且引导协议在该临时物理连接上操作以执行配置数据的传送。

方法600包括确定主机标识符和可选地将主机标识符存储在配置文件521中的步骤620。步骤620由计算设备500的处理单元510执行。

将主机标识符存储在配置文件521中是可选的。替代地,主机标识符仅在方法600的其它步骤处被使用,而不需要将主机标识符存储在配置文件中。但是,仅确定主机标识符一次(例如,如果确定意味着计算)并将其存储在配置文件521中可能是更高效的,使得每当需要时就可以使用该主机标识符而无需再次计算它。

因此,确定主机标识符包括以下之一:选择主机标识符、计算主机标识符和从配置文件521读取主机标识符。

在第一实施方式中,主机标识符是十六进制格式的所选择的48位整数。例如,主机标识符是媒体访问控制(MAC)地址。如果计算设备500的通信接口530中的至少一个具有MAC地址,则处理单元510选择通信接口530之一的该MAC地址作为主机标识符。由于方法600生成的IPv6地址未与计算设备500的所有通信接口530当中的具体通信接口530相关联,因此可以选择分配给计算设备500的MAC地址当中的任何一个作为主机标识符。例如,所选择的MAC地址是在步骤610处用于接收配置数据的通信接口530的MAC地址。诸如交换机(主干100和/或叶子200)的装备通常具有专用管理接口,该专用管理接口用于执行步骤610。该管理接口的MAC地址被用于主机标识符。

在第二实施方式中,通过计算计算设备500的128位通用唯一标识符(UUID)的散列来确定主机标识符。例如,128位UUID的散列也是十六进制格式的48位整数。UUID在本领域中是公知的。基于各种方法(例如,随机地、使用MAC地址和时间戳的组合,等等)为给定计算设备计算UUID。给定计算设备的UUID与另一个设备的UUID相同的机会非常低。

执行步骤620的时序可以变化。例如,步骤620在步骤610之前或在步骤625之后执行。

主机标识符不一定基于MAC地址或UUID。替代地,它基于其它种子数据进行计算,只要它是唯一的(或至少具有非常高的唯一性概率)。

方法600包括通过将存储在配置文件521中的IPv6基本前缀和存储在配置文件521中的架构标识符组合来生成IPv6前缀的步骤625。如前所述,IPv6基本前缀和架构标识符被包含在步骤610处接收到的配置数据中。

IPv6地址由128位组成,其中前n位由子网前缀组成。在IPv6联网中,通常的做法是为子网前缀保留IPv6地址的前64位(/64前缀)。

在步骤625处生成的IPv6前缀具有N(通常为64)位的长度。存储在配置文件521中的IPv6基本前缀是长度为小于N的B位(例如48)的IPv6前缀。存储在配置文件521中的架构标识符的长度为I位。例如,架构标识符是16位整数。数据中心中的每个架构(例如,图1中的架构A、架构B和架构C)具有唯一的架构标识符,其不同于数据中心中其它架构的标识符。

以下关系适用:B+I<=N。

在示例性实施方式中,如下地生成IPv6前缀:将架构标识符直接附加到IPv6基本前缀。例如,IPv6基本前缀为FD10:0:0/48,架构标识符为16位整数<fabric_id>,并且生成的IPv6前缀为FD10:0:0:<fabric_id>::/64。

在另一个示例性实施方式中,如下地生成IPv6前缀。IPv6前缀以IPv6基本前缀开始,后面跟着零,并且以架构标识符结尾。例如,IPv6基本前缀为FD10::/16,架构标识符为16位整数<fabric_id>,并且生成的IPv6前缀为FD10:0:0:<fabric_id>::/64。在这种情况下,可选的零由IPv6前缀的第17至48位组成。

在还有的另一个示例性实施方式中,如下地生成IPv6前缀。IPv6前缀以IPv6基本前缀开始,后面跟着架构标识符,并且以零结尾。例如,IPv6基本前缀为FD10::/16,架构标识符为16位整数<fabric_id>,并且生成的IPv6前缀为FD10:<fabric_id>:0:0::/64。在这种情况下,可选的零由IPv6前缀的第33至64位组成。

设计数据中心体系架构的技术人员将容易理解,IPv6基本前缀和架构标识符的其它组合可以用于生成IPv6前缀。

在方法600的示例性实施方式中,生成的IPv6前缀是唯一本地地址(ULA)IPv6前缀或公共IPv6前缀。

方法600包括通过将IPv6前缀(在步骤625处生成)和主机标识符(在步骤620处确定)组合来生成IPv6地址的步骤630。该操作在IPv6联网领域是公知的。例如,如果IPv6前缀是传统的/64前缀,则用主机标识符生成IPv6地址的最后64位。如果主机标识符少于64位,则在主机标识符之前(或之后)附加零,以达到64位。

例如,IPv6基本前缀为48位前缀<base_prefix>(例如FD10:0:0/48),架构标识符为16位整数<fabric_id>,并且主机标识符为48位整数<host_id>。生成的IPv6地址为:<base_prefix>:<fabric_id>:0:<host_id>。

方法600包括通告在步骤630处生成的IPv6地址的步骤635。该操作在IPv6联网领域中也是公知的,并且依赖于各种层2和/或层3通信协议。在计算设备500的一个或多个通信接口530上进行通告。例如,在主干交换机100的情况下,IPv6地址在主干交换机100的所有通信端口上、仅在主干交换机100的专用管理端口上、仅在主干交换机100的连接到叶子交换机200的端口上等通告。类似地,在叶子交换机200的情况下,IPv6地址在叶子交换机200的所有通信端口上、仅在叶子交换机200的专用管理端口上、仅在叶子交换机200的连接到主干交换机100或控制器400的端口上等通告。

一旦步骤630完成,计算设备500就能够通过IPv6网络20向其它计算设备传输数据。在步骤630处生成的IPv6地址用作传输到其它计算设备的IPv6分组的源IPv6地址。例如,控制器400通过IPv6网络20将数据传输到叶子交换机200或主干交换机100。

一旦步骤635完成,计算设备500就能够通过IPv6网络20从已经接收到所通告的IPv6地址的其它计算设备接收数据。在步骤635处通告的IPv6地址用作从其它计算设备接收的IPv6分组的目的地IPv6地址。例如,控制器400通过IPv6网络20从叶子交换机200或主干交换机100接收数据。

基于存储在配置文件521中的信息,方法600的步骤625、630和635可以被重复若干次。作为对照,步骤605至620只需要被执行一次,以用于生成并存储由步骤625和630所需的数据。例如,步骤625、630和635在计算设备500的每次启动时被重复;并且步骤605至620仅在计算设备500的第一次启动时被执行(只要计算设备500保持位于同一架构中)。

此外,配置文件可以包括若干个IPv6基本前缀。重复方法600的步骤625、630和635,以分别基于若干个IPv6基本前缀当中的一个IPv6基本前缀来(在步骤630处)配置若干个IPv6地址。这使得计算设备500能够成为若干个IPv6网络的一部分。

链路IPv6地址

现在同时参考图3、图5、图7A和图7B,图7A和图7B中图示了用于为计算设备500的通信接口530之一生成链路IPv6地址的方法700。方法700的至少一些步骤由图5中表示的计算设备500执行。

专用计算机程序具有用于实现方法700的至少一些步骤的指令。该指令被包含在计算设备500的非暂态计算机程序产品(例如,存储器520)中。该指令在由计算设备500的处理单元510执行时,提供生成链路IPv6地址。该指令可经由电子可读介质(诸如存储介质(例如,CD-ROM、USB钥匙密钥等))或经由通信链路(例如,通过通信接口530之一经由通信网络)传递给计算设备500。

计算设备500的通过方法700配置有链路IPv6地址的通信接口530被连接到远程计算设备40的通信接口。该连接(例如,经由以太网线缆的物理连接)在计算设备500和远程计算设备40之间建立通信链路。

方法700基于节点标识符和链路标识符。与计算设备500的通信接口530相关联的节点标识符和链路标识符将被称为本地节点标识符和本地链路标识符。与远程计算设备40的通信接口相关联的节点标识符和链路标识符将被称为远程节点标识符和远程链路标识符。

方法700包括由配置设备30将配置数据传输到计算设备500的步骤705。

方法700包括由计算设备500接收配置数据的步骤710。配置数据是经由计算设备500的通信接口530之一来接收的。

方法700包括将配置数据存储在配置文件521中的步骤715。配置数据包括IPv6基本前缀,这将在方法700的以下步骤中进一步详细描述。例如,IPv6基本前缀是/16前缀。

步骤705、710和715类似于图6中表示的方法600的步骤605、610和615。如先前关于图6中表示的方法600所述,由配置设备30生成和传输配置数据的细节不在本公开的范围之内。

方法700包括确定计算设备500的通信接口530的本地节点标识符的步骤720。可选地,步骤720还包括将本地节点标识符存储在配置文件521中。步骤720由计算设备500的处理单元510执行。

将本地节点标识符存储在配置文件521中是可选的。替代地,本地节点标识符仅在方法700的其它步骤处被使用,而不需要将本地节点标识符存储在配置文件中。但是,仅确定本地节点标识符一次(例如,如果确定意味着计算)并将其存储在配置文件521中可能是更高效的,使得每当需要时就可以使用该本地节点标识符而无需再次计算它。

因此,确定本地节点标识符包括以下之一:选择本地节点标识符、计算本地节点标识符以及从配置文件521读取本地节点标识符。

当执行用于为计算设备500的任何通信接口530生成链路IPv6地址的方法700时,使用相同的本地节点标识符。替代地,在步骤720处确定不同的本地节点标识符,不同的本地节点标识符中的每一个与计算设备500的多个通信接口530中的一个或多个通信接口530相关联。

在第一实施方式中,本地节点标识符是十六进制格式的所选择的48位整数。例如,本地节点标识符是媒体访问控制(MAC)地址。如果当前用方法700配置的计算设备500的通信接口530具有MAC地址,则处理单元510选择该通信接口530的MAC地址作为本地节点标识符。如果当前用方法700配置的计算设备500的通信接口530不具有其自己的MAC地址,则选择另一个通信接口530的MAC地址用于本地节点标识符。例如,诸如交换机的装备(主干100和/或叶子200)通常具有带有MAC地址的专用管理接口,该MAC地址可以用于本地节点标识符。

在第二实施方式中,通过计算计算设备500的128位通用唯一标识符(UUID)的散列来确定本地节点标识符。例如,128位UUID的散列也是十六进制格式的48位整数。UUID在本领域中是公知的。基于各种方法(例如,随机地、使用MAC地址和时间戳的组合,等等)为给定计算设备计算UUID。给定计算设备的UUID与另一个设备的UUID相同的机会非常低。

执行步骤720的时序可以变化。仅需在步骤740之前执行步骤720。

本地节点标识符不一定基于MAC地址或UUID。替代地,它基于其它种子数据进行计算,只要它是唯一的(或至少具有非常高的唯一性概率)。

方法700包括确定用于计算设备500的通信接口530的本地链路标识符的步骤725。本地链路标识符与通过方法700为其生成链路IPv6地址的通信接口530相关联。可选地,步骤725还包括将本地链路标识符存储在配置文件521中。步骤725由计算设备500的处理单元510执行。

将本地链路标识符存储在配置文件521中是可选的。替代地,本地链路标识符仅在方法700的其它步骤处被使用,而不需要将本地链路标识符存储在配置文件中。但是,仅确定本地链路标识符一次(例如,如果确定意味着计算)并将其存储在配置文件521中可能是更高效的,使得每当需要时可以使用该本地链路标识而无需再次计算它。

因此,确定本地链路标识符包括以下之一:选择本地链路标识符、计算本地链路标识符以及从配置文件521读取本地链路标识符。

计算设备500的通信接口530中的每一个具有其自己的本地链路标识符,该本地链路标识符不同于其它通信接口530的本地链路标识符。

例如,本地链路标识符是十六进制格式的15位整数。在主干交换机100或叶子交换机200的情况下,交换机的每个端口被分配1到N范围内的唯一整数,其中N是交换机的端口的数量。分配给给定端口的唯一整数被用于本地链路标识符。

本地链路标识符的确定不限于在给定整数范围(例如1到N)中分配唯一的整数。其它技术或算法可以用于确定分别与计算设备500的通信接口530相关联的唯一本地链路标识符。

方法700包括由远程计算设备40将远程节点标识符和远程链路标识符传输到计算设备500的步骤730。

方法700包括由计算设备500接收远程节点标识符和远程链路标识符的步骤735。经由计算设备500的当前通过方法700配置有链路IPv6地址的通信接口530来接收远程节点标识符和远程链路标识符。

例如,远程节点标识符和远程链路标识符通过链路层发现协议(LLDP)从远程计算设备40被传输到计算设备500。但是,可以使用LLDP以外的其它协议用于此目的。

可选地,远程节点标识符和远程链路标识符也存储在配置文件521中。

远程节点标识符和本地节点标识符具有相同的位大小。例如,如果本地节点标识符是十六进制格式的48位整数,则远程节点标识符也是十六进制格式的48位整数。类似地,远程链路标识符和本地链路标识符具有相同的位大小。例如,如果本地链路标识符是十六进制格式的15位整数,则远程链路标识符也是十六进制格式的15位整数。

方法700包括比较本地节点标识符和远程节点标识符的步骤740。例如,本地节点标识符和远程节点标识符被解释为整数,它们被比较以确定这两个中的哪一个大于另一个。

如果本地节点标识符大于远程节点标识符,则方法700执行通过将存储在配置文件521中的IPv6基本前缀、本地节点标识符、远程节点标识符、本地链路标识符、和本地节点标识符大于远程节点标识符的指示符组合来生成链路IPv6地址的步骤745。

如果本地节点标识符小于远程节点标识符,则方法700执行通过将存储在配置文件521中的IPv6基本前缀、远程节点标识符、本地节点标识符、远程链路标识符、和本地节点标识符小于远程节点标识符的指示符组合来生成链路IPv6地址的步骤746。

例如,指示符是布尔值(Boolean),如果本地节点标识符大于远程节点标识符,则该布尔值取值为0,并且如果本地节点标识符小于远程节点标识符,则取值为1。替代地,如果本地节点标识符大于远程节点标识符,该布尔指示符可以取值为1,并且如果本地节点标识符小于远程节点标识符,可以取值为0。

方法700包括用在步骤745或746处生成的链路IPv6地址来配置通信接口530的步骤750。用IPv6地址配置通信接口在IPv6联网领域中是公知的。

一旦步骤750完成,计算设备500就能够在步骤750处通过配置有链路IPv6地址的通信接口与远程计算设备40交换数据。在步骤745或746处生成的链路IPv6地址被用作传输到远程计算设备40的IPv6分组的源IPv6地址。在步骤745或746处生成的链路IPv6地址被用作从远程计算设备40接收的IPv6分组的目的地IPv6地址。为了开始交换数据,远程计算设备40需要也执行了用于在远程计算设备40的对应通信接口上配置对应的链路IPv6地址的方法700。如稍后关于图8A和图8B将描述的,计算设备500能够基于其自己的链路IPv6地址来推断远程计算设备40的对应的链路IPv6地址。类似地,远程计算设备40能够基于其自己的链路IPv6地址来推断计算设备500的对应的链路IPv6地址。

计算设备500还可以经由在步骤750处配置的通信接口与其它计算设备(不同于计算设备40)交换数据。在步骤745或746处生成的链路IPv6地址被用作传出IPv6分组的源IPv6地址,以及用作传入IPv6分组的目的地IPv6地址。

在替代实施方式中,如果本地节点标识符小于远程节点标识符,则执行步骤745;并且如果本地节点标识符大于远程节点标识符,则执行步骤746。在各图中未表示这种替代实施方式。

IPv6地址由128位组成,其中前n位通常由子网前缀组成。在IPv6联网中,通常的做法是为子网前缀保留IPv6地址的前64位(/64前缀)。但是,方法700生成的链路IPv6地址不遵循这种通常的做法。

存储在配置文件521中的IPv6基本前缀是具有B位(例如16位)长度的IPv6前缀<base_prefix>。本地节点标识符和远程节点标识符(分别为<local_node_id>和<remote_node_id>)的长度为N位(例如48位)。本地链路标识符和远程链路标识符(分别为<local_link_id>和<remote_link_id>)的长度为L位(例如15位)。指示符的长度为I位(例如1位)。

以下关系适用:B+2*N+L+I=128。

由方法700生成的链路IPv6地址具有以下格式:

<base_prefix>:<local_node_id>:<remote_node_id>:<local_link_id>:<indicator>(步骤745)

或者

<base_prefix>:<remote_node_id>:<local_node_id>:<remote_link_id>:<indicator>(步骤746)。

例如,IPv6基本前缀是FD04::/16。本地节点标识符和远程节点标识符是48位MAC地址。本地远程链路标识符和远程链路标识符是由相应端口号组成的15位标识符。指示符是1位布尔值。由方法700生成的链路IPv6地址具有以下格式之一:

FD04:<local_MAC_address>:<remote_MAC_address>:<local_port_nb>:0(步骤745)

或者

FD04:<remote_MAC_address>:<local_MAC_address>:<remote_port_nb>:1(步骤746)。

在方法700的示例性实施方式中,所生成的链路IPv6地址是符合互联网工程任务组(IETF)的请求注解(RFC)4193的唯一本地地址(ULA)。

在步骤745和746处生成IPv6链路地址可以将附加的(一个或多个)项目组合到在步骤745和746处已经描述的那些项目,只要所生成的IPv6链路地址具有128位。例如,如果使用较短的本地节点标识符和远程节点标识符,则在步骤745处生成的IPv6链路地址可以包括远程链路标识符(例如,<base_prefix>:<local_node_id>:<remote_node_id>:<local_link_id>:<remote_link_id>:<indicator>),并且在步骤746处生成的IPv6链路地址可以包括本地链路标识符(例如,<base_prefix>:<remote_node_id>:<local_node_id>:<remote_link_id>:<local_link_id>:<indicator>)。

使用存储在配置文件521中的信息,方法700的步骤730、735、740、745或746和750可以被重复若干次。作为对照,为了生成由步骤730至750所需的数据(IPv6基本前缀、本地节点标识符和本地链路标识符)并将其存储在配置521中,步骤705至725只需被执行一次。例如,步骤730至750在计算设备500的每次启动时被重复;并且步骤705至735仅在计算设备500的第一次启动时被执行。

可以实现用于在任何时间触发计算设备500来执行步骤730至750的基于软件的机制。基于软件的机制可以经由计算设备500的用户界面、经由计算设备500接收到的控制消息等来实现。例如,如果先前已经用方法700配置的计算设备500的通信接口530物理上或功能上连接到远程计算设备40的新通信接口(或新远程计算设备40的通信接口),则应调用基于软件的机制来触发步骤730至750的执行。

现在同时参考图7B、图8A和图8B,其中图8A和图8B图示了由方法700的步骤745和746生成的示例性链路IPv6地址。

图8A和图8B的主干交换机100和叶子交换机200分别对应于图7A和图7B的计算设备500和远程计算设备40。主干交换机100包括端口102,该端口102(例如,经由以太网线缆)连接到叶子交换机200的端口201。本地节点标识符(local_node_id)和本地链路标识符(local_link_id)与端口102相关联。类似地,远程节点标识符(remote_node_id)和远程链路标识符(remote_link_id)与端口201相关联。

如图8A所示,如果本地节点标识符大于远程节点标识符,则在步骤745处为端口102生成的链路IPv6地址如下:

<base_prefix>:<local_node_id>:<remote_node_id>:<local_link_id>:<0>。

应用方法700来生成端口201的链路IPv6地址,在步骤746处为端口201生成的链路IPv6地址如下:

<base_prefix>:<local_node_id>:<remote_node_id>:<local_link_id>:<1>。

如图8B所示,如果本地节点标识符小于远程节点标识符,则在步骤746处为端口102生成的链路IPv6地址如下:

<base_prefix>:<remote_node_id>:<local_node_id>:<remote_link_id>:<1>。

应用方法700来生成端口201的链路IPv6地址,在步骤745处为端口201生成的链路IPv6地址如下:

<base_prefix>:<remote_node_id>:<local_node_id>:<remote_link_id>:<0>。

应当注意的是,在执行方法700之后,主干交换机100能够确定(当叶子交换机200执行方法700时)分配给叶子交换机200的端口201的对应链路IPv6地址。更具体而言,如果分配给端口102的链路IPv6地址是通过执行步骤745来生成的,则分配给端口201的对应链路IPv6地址是通过执行具有指示符的适配值(例如,指示符的值从0改变为1,或从1改变为0)的步骤745来确定的。类似地,如果分配给端口102的链路IPv6地址是通过执行步骤746来生成的,则分配给端口201的对应链路IPv6地址是通过执行具有指示符的适配值(例如,指示符的值从0改变为1,或从1改变为0)的步骤746来确定的。相同的属性适用于执行方法700并且能够确定分配给主干交换机100的端口102的对应链路IPv6地址的叶子交换机200。

现在同时参考图3、图7B、图8A和图8B。图8A和图8B仅用于说明目的;并且可以容易地适于图示在其它配置中由方法700的步骤745和746生成的示例性链路IPv6地址。其它配置包括主干交换机100的端口与控制器400的端口的连接、叶子交换机100的端口与控制器400的端口的连接、主干交换机100的端口与另一个主干交换机100的端口的连接、以及叶子交换机100的端口与另一个叶子交换机100的端口的连接。

如先前参考图3所述,端口102不一定物理地连接到端口201(例如,经由以太网线缆)。例如,使用未在图中表示的中间装备(例如,中间交换机)将端口102功能上连接到端口201。在这种配置中,端口102直接物理连接到中间(交换)装备的一个端口,并且端口201直接物理连接到中间(交换)装备的另一个端口。在这种情况下,可以通过方法700为交换机主干100的端口102生成并配置若干个链路IPv6地址。每个链路IPv6地址对应于到另一个装备的端口的功能链路(具有远程节点id和远程链路id)。端口102和中间装备之间的物理链路支持所有功能链路。

使用术语端口是因为架构的大多数装备具有端口形式的通信接口(例如,以太网电端口、光端口等)。但是,图8A和图8B可以被泛化为任何类型的通信接口,只要方法700的步骤745和746所应用到的通信接口已被分配本地节点标识符和本地链路标识符。

包括生成架构范围的IPV6地址和一个或多个链路IPv6地址的网络配置

现在同时参考图3、图5、图6、图7A、图7B、图9A、图9B和图9C,在图9A、图9B和图9C中图示了用于执行计算设备500的网络配置的方法800。方法800的至少一些步骤由图5中表示的计算设备500执行。

网络配置包括在图6所示的方法600中描述的生成架构范围的IPv6地址。网络配置还包括在图7A和图7B所示的方法700中描述的生成一个或多个链路IPv6地址。通过对每个通信接口530重复方法700的步骤,计算设备500的若干个通信接口530被配置为具有链路IPv6地址。

专用计算机程序具有用于实现方法800的至少一些步骤的指令。该指令被包含在计算设备500的非暂态计算机程序产品(例如,存储器520)中。该指令在由计算设备500的处理单元510执行时,提供执行计算设备500的网络配置。该指令可经由电子可读介质(诸如存储介质(例如,CD-ROM、USB钥匙等))或经由通信链路(例如,通过通信接口530之一经由通信网络)传递给计算设备500。

方法800包括由配置设备30将配置数据传输到计算设备500的步骤805。步骤805对应于方法600的步骤605和方法700的步骤705。

方法800包括由计算设备500接收配置数据的步骤810。配置数据是经由计算设备500的通信接口530之一来接收的。步骤810对应于方法600的步骤610和方法700的步骤710。

方法800包括将配置数据存储在配置文件521中的步骤815。步骤815对应于方法600的步骤615和方法700的步骤715。配置数据包括第一IPv6基本前缀、架构标识符和第二IPv6基本前缀。

方法800包括确定主机标识符并且可选地将主机标识符存储在配置文件521中的步骤820。步骤820对应于方法600的步骤620。

方法800包括通过组合存储在配置文件521中的第一IPv6基本前缀和存储在配置文件521中的架构标识符来生成架构范围的IPv6前缀的步骤825。步骤825对应于方法600的步骤625。

方法800包括通过组合架构范围的IPv6前缀(在步骤825处生成)和主机标识符(在步骤820处确定)来生成架构范围的IPv6地址的步骤830。步骤830对应于方法600的步骤630。

方法800包括通告在步骤830处生成的架构范围的IPv6地址的步骤835。步骤835对应于方法600的步骤635。

方法800包括确定计算设备500的通信接口530的本地节点标识符;并且可选地将本地节点标识符存储在配置文件521中的步骤840。步骤840对应于方法700的步骤720。

在方法800的特定实施方式中,本地节点标识符由在步骤820处确定的主机标识符组成。

方法800包括确定计算设备500的通信接口530(对应于本地节点标识符和本地链路标识符)的本地链路标识符;并且可选地将本地链路标识符存储在配置文件521中的步骤845。步骤845对应于方法700的步骤725。

方法800包括由远程计算设备40将远程节点标识符和远程链路标识符传输到计算设备500的步骤850。步骤850对应于方法700的步骤730。

方法800包括由计算设备500接收远程节点标识符和远程链路标识符的步骤855。步骤855对应于方法700的步骤735。

方法800包括比较本地节点标识符和远程节点标识符的步骤860。步骤860对应于方法700的步骤740。

如果本地节点标识符大于远程节点标识符,则方法800执行通过组合存储在配置文件521中的第二IPv6基本前缀、本地节点标识符、远程节点标识符、本地链路标识符、和本地节点标识符大于远程节点标识符的指示符来生成链路IPv6地址的步骤865。步骤865对应于方法700的步骤745。

如果本地节点标识符小于远程节点标识符,则方法800执行通过组合存储在配置文件521中的第二IPv6基本前缀、远程节点标识符、本地节点标识符、远程链路标识符、和本地节点标识符小于远程节点标识符的指示符来生成链路IPv6地址的步骤866。步骤866对应于方法700的步骤746。

在替代实施方式中(已经在前面提到),如果本地节点标识符小于远程节点标识符,则执行步骤865;并且如果本地节点标识符大于远程节点标识符,则执行步骤866。在各图中未表示该替代实施方式。

方法800包括用在步骤865或866处生成的链路IPv6地址配置通信接口530(对应于本地节点标识符和本地链路标识符)的步骤870。步骤870对应于方法700的步骤750。

通过针对每个通信接口530重复方法800的步骤840至870,可以用链路IPv6地址来配置计算设备500的若干个通信接口530。

方法600和700的各个步骤的所有细节和具体情况(其在描述方法600和700时已经在前面进行讨论)也适用于方法800的对应步骤。当描述方法800时,出于简化目的,没有重复这样的细节和具体情况。

虽然以上已经通过非限制性的说明性实施例描述了本公开,但是在不脱离本公开的精神和本质的情况下,可以在所附权利要求的范围内随意修改这些实施例。

32页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于生成架构范围的IPV6地址的计算设备和方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!