Computing device and method for generating an architecture-wide IPV6 address
阅读说明:本技术 用于生成架构范围的ipv6地址的计算设备和方法 (Computing device and method for generating an architecture-wide IPV6 address ) 是由 P·安德森 B·特朗布莱 S·克里希南 L·马钱德 于 2019-03-04 设计创作,主要内容包括:用于在包括多个架构的数据中心中生成架构范围的IPv6地址的计算设备和方法。配置文件存储在计算设备的存储器中。配置文件包括互联网协议版本6(IPv6)基本前缀和架构标识符。计算设备的处理单元确定主机标识符。处理单元通过组合存储在配置文件中的IPv6基本前缀和存储在配置文件中的架构标识符来生成IPv6前缀。处理单元通过组合IPv6前缀和主机标识符来生成IPv6地址。处理单元还通告所生成的IPv6地址。(A computing device and method for generating an architecture-wide IPv6 address in a data center that includes multiple architectures. The configuration file is stored in a memory of the computing device. The configuration file includes an internet protocol version 6(IPv6) basic prefix and an architecture identifier. A processing unit of a computing device determines a host identifier. The processing element generates an IPv6 prefix by combining the IPv6 base prefix stored in the configuration file and the architecture identifier stored in the configuration file. The processing unit generates an IPv6 address by combining the IPv6 prefix and the host identifier. The processing element also advertises the generated IPv6 address.)
1. A computing device, comprising:
a memory for storing a configuration file, the configuration file including an Internet protocol version 6(IPv6) basic prefix and an architecture identifier; and
a processing unit to:
determining a host identifier;
generating an IPv6 prefix by combining the IPv6 base prefix stored in the configuration file and the architecture identifier stored in the configuration file; and
generating an IPv6 address by combining the IPv6 prefix and the host identifier.
2. The computing device of claim 1, wherein the processing element is further to advertise the generated IPv6 address.
3. The computing device of claim 1, wherein the IPv6 address begins with the IPv6 base prefix, followed by the architecture identifier, followed by an optional zero, and ends with the host identifier.
4. The computing device of claim 1, wherein the IPv6 basic prefix is a/48 prefix.
5. The computing device of claim 1, wherein the fabric identifier is a 16-bit integer.
6. The computing device of claim 1, wherein the IPv6 prefix is a Unique Local Address (ULA) prefix or a public prefix.
7. The computing device of claim 1, wherein the host identifier is a 48-bit integer in hexadecimal format.
8. The computing device of claim 7, wherein the host identifier is a Media Access Control (MAC) address.
9. The computing device of claim 1, wherein the processing unit is to determine the host identifier by computing a hash of a 128-bit Universally Unique Identifier (UUID) of the computing device.
10. The computing device of claim 1, wherein the IPv6 basic prefix and the architecture identifier are received from a configuration device via a communication interface of the computing device and are further stored in the configuration file.
11. A method for generating an architecture-wide IPv6 address, comprising:
storing a configuration file in a memory of a computing device, the configuration file comprising an internet protocol version 6(IPv6) basic prefix and an architecture identifier;
determining, by a processing unit of the computing device, a host identifier;
generating, by the processing unit, an IPv6 prefix by combining the IPv6 basic prefix stored in the configuration file and the architecture identifier stored in the configuration file; and
generating, by the processing unit, an IPv6 address by combining the IPv6 prefix and the host identifier.
12. The method of claim 11, wherein the processing element further advertises the generated IPv6 address.
13. The method of claim 11, wherein the IPv6 address begins with the IPv6 basic prefix, followed by the architecture identifier, followed by an optional zero, and ends with the host identifier.
14. The method apparatus of claim 11, wherein the IPv6 basic prefix is a/48 prefix.
15. The method of claim 11, wherein the fabric identifier is a 16-bit integer.
16. The method of claim 11, wherein the host identifier is a 48-bit integer in hexadecimal format.
17. The method of claim 16, wherein the host identifier is a Media Access Control (MAC) address.
18. The method of claim 11, wherein the processing unit determines the host identifier by computing a hash of a 128-bit Universally Unique Identifier (UUID) of the computing device.
19. The method of claim 11, wherein the IPv6 basic prefix and the architecture identifier are received from a configuration device via a communication interface of the computing device and are also stored in the configuration file.
20. A non-transitory computer program product comprising instructions executable by a processing unit of a computing device, execution of the instructions by the processing unit providing an IPv6 address generating an architectural scope by:
storing a configuration file in a memory of the computing device, the configuration file comprising an Internet protocol version 6(IPv6) basic prefix and an architecture identifier; and
determining, by the processing unit, a host identifier;
generating, by the processing unit, an IPv6 prefix by combining the IPv6 basic prefix stored in the configuration file and the architecture identifier stored in the configuration file; and
generating, by the processing unit, an IPv6 address by combining the IPv6 prefix and the host identifier.
Technical Field
The present disclosure relates to the field of data centers. More particularly, the present disclosure relates to a computing device and method for generating fabric-wide (fabric-wide) IPv6 addresses in a data center including a plurality of fabrics.
Background
In recent years, rapid development of technologies such as software as a service (SaaS), cloud computing, and the like has been witnessed. This development benefits from the ever-increasing customer demand for products and services based on such technologies. Continued advances in underlying technologies have also provided a impetus for such developments, such as increased processing power of microprocessors, increased storage capacity of storage devices, and increased transmission capacity of network equipment. In addition, the average cost of these underlying technologies is decreasing. However, the drop in average cost of the underlying technology is balanced by growing customer demand, which requires constant updating and upgrading of the infrastructure used to provide SaaS or cloud computing.
The infrastructure for providing SaaS or cloud computing is a data center that combines a large number of computing servers. Each server has multiple multi-core processors, and the combination of compute servers provides very high processing power used by the customers of the data center. Some or all of these servers may also have significant storage capacity, so the combination of servers also provides very high storage capacity to the customers of the data center. Data centers also rely on networking infrastructure for interconnecting servers and providing access to their computing and/or storage capacity to the data center's customers. In order to provide reliable services, computing and networking infrastructures of data centers have been subject to very high scalability, manageability, fault tolerance, etc.
With respect to networking infrastructure of data centers, it is known to provide efficient and reliable networking services to a large number of hostsTasks are a complex task. Solutions and techniques have been developed in other environments, such as networking technologies for providing mobile data services to a large number of mobile devices. Some of these techniques are already in dedicated cases (such as the internet engineering task force: (a)
) Or the third Generation partnership project (3 GPP)TM) Normalized). However, at least some of the technical challenges of deploying an efficient and reliable networking infrastructure in a data center are specific to the data center environment; and needs to be addressed with the original solutions and techniques.One significant challenge for networking infrastructure involving large numbers (e.g., thousands) of devices is the configuration of the networking infrastructure. In particular, the configuration needs to be flexible (to facilitate changing the initial configuration) and resilient (to avoid localized configuration errors affecting the operation of the entire data center). One way to ensure that the network configuration is flexible and reliable is to limit human intervention in the configuration process as much as possible.
Accordingly, there is a need for a computing device and method for generating an architecture-wide IPv6 address in a data center that includes multiple architectures.
Disclosure of Invention
According to a first aspect, the present disclosure is directed to a computing device. The computing device includes a memory for storing a configuration file. The configuration file includes an internet protocol version 6(IPv6) basic prefix and an architecture identifier. The computing device includes a processing unit to determine a host identifier. The processing element also generates an IPv6 prefix by combining the IPv6 base prefix stored in the configuration file and the architecture identifier stored in the configuration file. The processing unit also generates an IPv6 address by combining the IPv6 prefix and the host identifier.
According to a second aspect, the present disclosure is directed to a method for generating an architecture-wide IPv6 address in a data center including a plurality of architectures. The method includes storing a configuration file in a memory of a computing device. The configuration file includes an internet protocol version 6(IPv6) basic prefix and an architecture identifier. The method includes determining, by a processing unit of a computing device, a host identifier. The method includes generating, by a processing element, an IPv6 prefix by combining an IPv6 base prefix stored in a configuration file and an architecture identifier stored in the configuration file. The method also includes generating, by the processing element, the IPv6 address by combining the IPv6 prefix and the host identifier.
According to a third aspect, the present disclosure provides a non-transitory computer program product comprising instructions executable by a processing unit of a computing device. Execution of the instructions by the processing units provides IPv6 addresses that generate an architectural range. More specifically, execution of the instructions provides for storing the configuration file in a memory of the computing device. The configuration file includes an internet protocol version 6(IPv6) basic prefix and an architecture identifier. Execution of the instructions provides for determining, by the processing unit, the host identifier. Execution of the instructions provides for generating, by the processing unit, an IPv6 prefix by combining the IPv6 base prefix stored in the configuration file and the architecture identifier stored in the configuration file. Execution of the instructions further provides for generating, by the processing unit, an IPv6 address by combining the IPv6 prefix and the host identifier.
Drawings
Embodiments of the present disclosure will now be described, by way of example only, with reference to the accompanying drawings, in which:
FIG. 1 illustrates a network architecture of a data center including a plurality of deployment points (pods) and an architecture;
FIG. 2 shows a more detailed view of the architecture shown in FIG. 1;
FIG. 3 shows communication ports of equipment deployed in the deployment site and architecture of FIGS. 1-2;
FIGS. 4A and 4B illustrate an IPv6 network for interconnecting the equipment of the architecture shown in FIGS. 1-3;
FIG. 5 illustrates a schematic diagram of a computing device corresponding to the equipment deployed in the architecture shown in FIGS. 1-3; and is
FIG. 6 illustrates a method for generating an architecture-wide IPv6 address.
Detailed Description
The foregoing and other features will become more apparent upon reading of the following non-limiting description of illustrative embodiments, given by way of example only, with reference to the accompanying drawings.
Aspects of the present disclosure generally address one or more problems associated with the generation of IPv6 addresses having a global scope within subsections of a data center; where generation of IPv6 addresses is automatic and resilient to human errors.
Network architecture of data center
Referring now to fig. 1-4 concurrently, network architectures of a data center are illustrated. The network architecture shown in the figures is for illustration purposes, and those skilled in the art of designing data center architectures will readily appreciate that other design choices may be made. The teachings of the present disclosure are not limited to the topology of the network architecture represented in the figures; but may also be applied to network architectures with different design choices in terms of topology.
Reference is now made more specifically to fig. 1. The data center is organized into a plurality of deployment points. Each deployment point consists of atomic units of computation, storage, networking, and power. Each deployment point is designed as a unit, deployed as a unit, automated as a unit, and decommissioned as a unit. Several types of deployment points may be used, which differ in their design. Zero, one, or multiple instances of each deployment point are deployed in the data center. For illustrative purposes, three deployment points (A, B and C) are shown in FIG. 1. However, the number of deployment points in a data center varies from one to tens to even hundreds of deployment points. By adding (or removing) deployment points, the capacity of the data center in terms of computation, storage, networking, and power can be scaled.
Deployment point a includes a plurality of
The
Each
In the embodiment shown in fig. 1, each
Each
The
In the embodiment shown in fig. 1, each
For simplicity, the architecture a shown in fig. 1 includes only two
For the sake of simplicity, the details of deployment point B and its corresponding architecture B and deployment point C and its corresponding architecture C are not shown in fig. 1. However, deployment point B/fabric B and deployment point C/fabric C comprise a hierarchy of backbone switches 100, leaf switches 200, and
Referring now more particularly to fig. 1 and 2, wherein fig. 2 represents an embodiment of the data center of fig. 1, wherein each architecture further includes one or
The
In the embodiment shown in fig. 2, each
In another embodiment, the
Reference is now made more specifically to fig. 1, 2 and 3, where fig. 3 represents the communication ports of equipment deployed in an architecture/deployment point.
The
The
Leaf switches and backbone switches are typically composed of equipment with high density of communication ports, which can reach tens of ports. Some of the ports may be electrical ports while others are fiber optic ports. As previously described, the ports of the switch may have varying networking capacities in terms of supported bandwidth. Leaf switches and backbone switches are typically implemented using switches with different networking capacities and functions. These ports are not limited to communication ports, but also include enclosures for connecting various types of pluggable media.
In contrast, the
All of the above communication ports are bi-directional, allowing for transmission and reception of data.
Referring now more particularly to fig. 4A and 4B, these represent the deployment of
At least some of the equipment of the architecture connects to the
Optionally, additional equipment is connected to the
Optionally, dedicated switches and/or routers (not shown in fig. 4A and 4B for simplicity) are used to interconnect the equipment of fabric a that exchanges data via
Fig. 4A shows a first illustrative configuration in which each of the equipment of fabric a (
Fig. 4B represents a second illustrative configuration in which each of the equipment of fabric a (
An advantage of this configuration is that dedicated ports are not monopolized at each equipment of fabric a (
In an alternative configuration not shown in the figures, some equipment of architecture a is using dedicated ports to access
In addition, some equipment of architecture a may use more than one port to access
Referring now to fig. 4A-B and fig. 5 concurrently, a
Processing unit 510 includes one or more processors (not shown in fig. 5) capable of executing instructions of a computer program. Each processor may also include one or several cores. Where
Each
Architecture-wide IPv6 addresses
Referring now to fig. 4A-B, 5 and 6 concurrently, a
A special purpose computer program has instructions for implementing at least some of the steps of
The details of the configuration device 30 generating and transmitting the configuration data are outside the scope of this disclosure. A single configuration device 30 is used at the data center level to transmit configuration data to the
Storing the host identifier in configuration file 521 is optional. Alternatively, the host identifier is only used at other steps of
Thus, determining the host identifier includes one of: selecting a host identifier, calculating a host identifier, and reading a host identifier from configuration file 521.
In a first embodiment, the host identifier is a selected 48-bit integer in hexadecimal format. For example, the host identifier is a Media Access Control (MAC) address. If at least one of the communication interfaces 530 of
In a second embodiment, the host identifier is determined by computing a hash of a 128-bit Universally Unique Identifier (UUID) of the
The timing at which step 620 is performed may vary. For example,
The host identifier is not necessarily based on a MAC address or UUID. Instead, it is calculated based on other seed data, as long as it is unique (or at least has a very high probability of uniqueness).
The IPv6 address consists of 128 bits, with the first n bits consisting of the subnet prefix. In IPv6 networking, it is common practice to reserve the first 64 bits of the IPv6 address (/64 prefix) for subnet prefixes.
The IPv6 prefix generated at
The following relationship applies: b + I < ═ N.
In an exemplary embodiment, an IPv6 prefix is generated as follows: the architecture identifier is attached directly to the IPv6 base prefix. For example, the IPv6 basic prefix is FD10:0:0/48, the architecture identifier is a 16-bit integer < fabric _ id >, and the generated IPv6 prefix is FD10:0:0: < fabric _ id:/64.
In another exemplary embodiment, the IPv6 prefix is generated as follows. The IPv6 prefix begins with an IPv6 base prefix followed by zero and ends with an architecture identifier. For example, the IPv6 basic prefix is FD 10:/16, the architecture identifier is a 16-bit integer < fabric _ id >, and the generated IPv6 prefix is FD10:0:0: < fabric _ id:/64. In this case, the optional zero consists of bits 17 through 48 of the IPv6 prefix.
In yet another exemplary embodiment, the IPv6 prefix is generated as follows. The IPv6 prefix begins with an IPv6 base prefix followed by an architecture identifier and ends with zero. For example, the IPv6 basic prefix is FD 10:/16, the architecture identifier is a 16-bit integer < fabric _ id >, and the generated IPv6 prefix is FD10: < fabric _ id >:0: 0:/64. In this case, the optional zero consists of bits 33 through 64 of the IPv6 prefix.
Those skilled in the design of data center architectures will readily appreciate that other combinations of IPv6 base prefixes and architecture identifiers may be used to generate IPv6 prefixes.
In an exemplary embodiment of the
For example, the IPv6 base prefix is a 48-bit prefix < base _ prefix > (e.g., FD10:0:0/48), the fabric identifier is a 16-bit integer < fabric _ id >, and the host identifier is a 48-bit integer < host _ id >. The generated IPv6 address is: < base _ prefix > < fabric _ id > < host _ id > < 0.
Once
Once
Further, the configuration file may include several IPv6 basic prefixes.
Although the present disclosure has been described above by way of non-limiting illustrative embodiments, these embodiments can be freely modified within the scope of the appended claims without departing from the spirit and nature of the disclosure.
- 上一篇:一种医用注射器针头装配设备
- 下一篇:用于在数据中心中执行架构部署的计算设备和方法