The network devices of
Before network device 102 is initially connected to the network via connection 118, a technician may set a device identifier 120 to a template identifier. The template identifier provided by the technician may determine the configuration that the network manager 104 uses to configure the network device 102. After setting the device identifier 120 to the template identifier, the technician may connect the network device 102 to the network using connection 118. The network manager 104 may discover the presence of the network device 102 on the network by periodic polling for new network devices and/or by the network device 102 announcing its presence on the network. Upon discovering the presence of the network device 102 on the network, the network manager 104 may query the value of the device identifier 120. Because the value of the device identifier 120 is a template identifier, the network manager 104 generates a configuration from a template corresponding to the template identifier, and the network manager 104 transfers this generated configuration to the network device 102 to configure the network device 102.
The configuration of the network device 102 by the network manager 104 may include updating the value of the device identifier 120 to another value. The device identifier 120 may be provided by the network device 102 for purposes including identifying a person or contact that is responsible for the network device 102, and the generated configuration used by the network manager 104 to configure the network device 102 may include updating the device identifier 120 to a name of the person or contact that is responsible for the network device 102. By changing the value of the device identifier 120, reconfiguration of the network device 102 may be skipped when the network device 102 is rediscovered, for example, after a power cycling and reboot of the network device 102. Alternatively, the device identifier 120 may be updated with another value that still includes the template identifier, but also includes a revision number for the corresponding template, such that the network device 102 is reconfigured upon rediscovery by the network manager 104 when the revision number from the device identifier 120 does not match the current revision of the corresponding template.
At step 202, one or more pool identifiers and corresponding pools of network addresses are created. Each pool identifier identifies a corresponding pool, which includes one or more network addresses that are initially unassigned to any network device. At step 204, one or more template identifiers and corresponding templates are created. Each template identifier identifies a corresponding template, which may be similar to a device configuration file for a network device, except that each occurrence of a network address for the network device is replaced by a reference to a pool identifier. During configuration of the network device, a device configuration file for the network device may be generated from the template by substituting the references to the pool identifier with one of the network addresses from the corresponding pool.
At step 212, a technician may set the device identifier to a value that includes one of the template identifiers. In one embodiment, the device identifier is set to a value similar to a tag in an extensible markup language. For example, the device identifier of a network device configured by the ProCurve Manager available from Hewlett-Packard Company may be set to the value <PCM_Template=templateidentifier> with templateidentifier being the text string for the specified template identifier. A network device that is not yet configured may permit the device identifier to be changed by a technician without any special security permissions. At step 214, the technician couples the network device to the network.
At step 206, the network manager, such as the ProCurve Manager software executing on a desktop computer, discovers the presence of the network device on the network. The network manager obtains the device identifier from the discovered network device via the network. Decision 208 may check whether the device identifier includes a template identifier in the appropriate format and whether such a template identifier matches a template identifier and corresponding template created at step 204, and for a match process 200 proceeds to step 210.
At step 210, a configuration, such as a device configuration file, is created from the corresponding template for the template identifier. The configuration may be created by replacing the references to a pool identifier in the corresponding template with one of the network addresses from the corresponding pool created at step 202. Generally, a network address that is not already assigned to another network device is selected from the corresponding pool. The configuration may specify all of the configurable parameters for the network device, including the network address used by the network device to send and receive data packets over the network. By configuring the network device with a configuration generated from a template, the network device may be promptly and correctly configured with a configuration that matches any other network devices that already are configured using the configuration, with the exception that each of these network devices may be configured with a unique network address from the corresponding pool of the pool identifier referenced by the template.
At step 302, a device identifier of the network device is initialized to a tag that includes a template identifier. The template identifier may be non-sensitive data that is selected by a network administrator and communicated to the technician. At step 304, a temporary network address is assigned to the network device. In one embodiment, the temporary network address is included in a default configuration for the network device and step 304 may be skipped. At step 306, the technician connects the network device to a subnet of the network.
After connecting the network device to the subnet, the network device should be discovered and configured by the network manager. At step 308, the technician may verify that the network device has been discovered and configured by the network manager. In certain embodiments, this may include verifying that the device identifier is updated to a name of a person responsible for the network device and that the network address for the network device is updated from the temporary network address to a previously unassigned network address.
Decision 310 checks whether any more network devices need to be configured to become part of the network, and for more network devices needing configuration, process 300 returns to step 302 for the next network device. Usually, each of the network devices configured during process 300 is permanently assigned a unique network address. However, in certain scenarios, such as a major reconfiguration of the structure of a network, process 300 may be repeated to assign a different network address to some or all of the network devices. A network administrator or other personnel with access to sensitive security information may need to enable the network devices for configuration with a different network address.
During steps 402, 404, and 406, a network administrator may create pool identifiers and corresponding pools of network addresses using a network manager. At step 402, a pool identifier is created, and associated with the pool identifier is a subnet mask and a corresponding pool of network addresses with each of these network addresses having the same value for address bits that are specified by the subnet mask. The subnet mask may be used by the network manager for checking each network address in the pool. Each network address in the pool may have an assignment status that usually is initialized to a value of unassigned to indicate the network addresses are available for assignment to a network device. The pool of network addresses may be specified by a list including individual network addresses and the bounds of ranges of network addresses. At step 404, additional network addresses may be added to existing pool. At step 406, an existing pool may be used as a starting point for creating a new pool identifier and corresponding pool of network addresses.
During steps 408, 410, and 412, a network administrator may create template identifiers and corresponding templates using a network manager. At step 408, a new template identifier and corresponding template is created with the corresponding template including one or more tags that reference a pool identifier. In an embodiment of the ProCurve Manager, the tag is similar to a tag of an extensible markup language, for example, <IP_Pool=poolidentifier> with poolidentifier being the text string for the referenced pool identifier. At step 410, a network administrator may direct the network manager to query the current configuration of a particular network device. This particular network device may return a device configuration file that specifies the values of the configurable parameters of the network device. The network manage may generate a template by replacing each occurrence of the network address in the device configuration file with a reference to a specified pool identifier. The network administrator may optionally revise the template according to the purpose of the template. At step 412, an existing template may be used as a starting point for creating a new template identifier and corresponding template.
At step 414, the presence of the network device on the network is discovered by the network manager and the value of the device identifier is retrieved from the network device via the network. Decision 416 checks whether the device identifier has the appropriate format for a tag including a template identifier. Decision 416 may also check whether the template identifier matches a template identifier created during one of steps 408, 410, and 412.
For a device identifier appropriately including a template identifier, a currently unassigned network address is selected at step 418 from each pool that is referenced by a pool identifier in the corresponding template for the template identifier. At step 420, a configuration is created for the discovered network device by replacing each reference to the pool identifier in the template with the selected network address from the pool. At step 422, the network manager may determine a count of the remaining unassigned network addresses in the pool, and if the count is below a threshold limit, the network manager may issue a notification message, such as an automatically generated electronic mail message, to the network administrator. In response, the network administrator may allocate additional network addresses to the pool at step 404. At step 424, the network manager updates the status of the network address selected at step 418 from a status of unassigned to a status of assigned.
At step 426, the configuration generated at step 420 is transferred via the network from the network manager to the discovered network device. At step 428, the network device is configured with the transferred configuration. The configuration of the network device may update the device identifier from the tag including the template identifier to a name of a person or contact that is responsible for the network device. The configuration of the network device may also semi-permanently assign the previously unassigned network address selected at step 418 to the network device.
At step 502, a network administrator may update a template using a network manager to change the existing configuration of a group of network devices. The updating of the template may include updating a version number associated with template. At step 504, the network manager may configure the network device with a configuration that results from replacing the references to the pool identifier in the modified template with the network address that was previously assigned to the network device. The network manager may bypass assigning a new network address to the network device because the version number extracted from the device identifier is not the null version number provided when the device identifier was initialized. During configuring of the network device with the modified configuration, the device identifier may be updated to include the updated version number along with the template identifier.