Dynamic device role identification in network

By deploying the DDPI system in the network management system, dynamically identifying the role and connectivity level of network equipment, the problem of automated configuration of complex network equipment in the existing technology is solved, and efficient and accurate network equipment configuration is achieved.

CN119922076AActive Publication Date: 2025-05-02HEWLETT PACKARD ENTERPRISE DEV LP
View PDF 10 Cites 0 Cited by

Patent Information

Application Number
CN202410739614.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-10-31
Filing Date
2024-06-07
Publication Date
2025-05-02
Estimated Expiration
2044-06-07

AI Technical Summary

Technical Problem

It is difficult to automatically configure a large number of network devices in complex networks, especially when determining device roles and connectivity levels, which require manual analysis by administrators, which is inefficient and error-prone.

Method used

Dynamically identify the role of a network device by deploying a dynamic device role identification (DDPI) system in a network management system (NMS). The DDPI system analyzes the connection methods of network devices, classifies them to the corresponding connectivity level, and selects appropriate roles based on the level and device configuration files to automatically configure network devices.

Benefits of technology

It realizes automatic configuration of network equipment in complex networks, improves configuration efficiency, reduces human errors, and simplifies the network management process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119922076A_ABST
    Figure CN119922076A_ABST
Patent Text Reader

Abstract

A network management system (NMS) that can provision and manage a network is provided. During operation, the NMS may determine, for respective network devices in the network, connectivity information indicating how the network devices are connected within the network and a device profile for the network devices. The NMS may then determine a connectivity level of the network device in the network based on the connectivity information. A connectivity hierarchy may correspond to a placement of network devices in a hierarchy of network devices in a network. The NMS may select a device role associated with the connectivity hierarchy. Here, the device role indicates a specification and configuration for the network device. The NMS may send configuration information of a device role configured on the network device to the network device.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0001] Network devices such as switches in a network may support different protocols and services. In addition, network devices may be placed at different levels in a hierarchy of devices in the network. Therefore, the protocols and services supported by various network devices in the network may be different. BRIEF DESCRIPTION OF THE DRAWINGS

[0002] Figure 1 An example of a dynamic device role identification (DDPI) system for discovering corresponding roles of network devices in a network according to an aspect of the present application is shown.

[0003] Figure 2 An example of a DDPI system for determining respective connectivity levels of network devices in a network according to an aspect of the present application is shown.

[0004] Figure 3 An example of a user interface of a DDPI system for enhancing connectivity level selection of network devices in a network according to an aspect of the present application is shown.

[0005] Figure 4A A flow chart illustrating an example of a process for a network management system (NMS) to dynamically identify device roles in a network according to an aspect of the present application is presented.

[0006] Figure 4B A flow chart illustrating an example of a process for an NMS to determine respective connectivity levels of network devices in a network according to an aspect of the present application is presented.

[0007] Figure 5 A flow chart illustrating an example of a process for an NMS to enhance connectivity tier selection for network devices in a network according to an aspect of the present application is presented.

[0008] Figure 6 An example of a computing system that facilitates DDPI in a network according to an aspect of the present application is shown.

[0009] Figure 7 An example of a non-transitory computer-readable storage medium that facilitates DDPI in a network according to an aspect of the present application is shown.

[0010] In the drawings, like reference numerals refer to the same drawing elements. DETAILED DESCRIPTION

[0011] The network can facilitate data exchange for various applications running on physical and virtual devices. Such applications have brought about a gradual increase in network traffic. Therefore, network devices such as switches are usually built with multiple capabilities. To this end, network devices can support different protocols and services. In addition, network devices can participate in different types of networks and operate in different roles at the same time. For example, a network device can operate as a participating switch in a distributed virtual switch (DVS), wherein multiple participating switches can operate in conjunction with each other to facilitate the operation of the DVS. When operating as a participating switch in a DVS, the network device can also operate as an access switch that connects a terminal device (or user device) to the network.

[0012] Since each network device in a network can support different types of operations for different roles, providing automated configuration to network devices can include determining the corresponding roles of the network devices. A role can be a collection of "templates" for configurations that apply to the same category of network devices (i.e., network devices that are expected to behave in the same way). Determining the roles of individual network devices can require extensive analysis. Traditionally, such analysis is performed by users such as administrators. For example, an administrator can configure each network device of a network based on the topology (e.g., how the network devices are connected in the network) and the roles of the network devices. Therefore, it can be challenging to facilitate automatic configuration of large networks with a large number of network devices.

[0013] Aspects described herein address the problem of dynamically identifying roles of network devices in a network by: (i) determining how network devices are connected to each other in the network; (ii) classifying network devices into connectivity levels based on the number of connections via the network devices; and (iii) selecting a role corresponding to the connectivity level for the network device. The connectivity level may indicate the placement of the network device in a hierarchy of network devices in the network (e.g., at an access, aggregation, or core level). By matching the connectivity level of a network device with a corresponding role, a network device may be dynamically assigned a role that allows it to operate efficiently at the connectivity level.

[0014] Using existing technology, in order to deploy a network, an administrator can connect network devices to each other in the network. Based on these connections, the network devices can be logically coupled to a network management system (NMS) such as a network coordinator and initiate communication with the NMS. The logical connection can span multiple nodes, links, and networks (e.g., via the cloud). The NMS can use the corresponding logical connections to provision and manage the network devices of the network. Logically coupling to the NMS for provisioning and management can be called "onboarding".

[0015] The administrator can then configure each network device via the NMS based on how each network device is connected in the network and the role of the network device. Therefore, the deployment process can rely on the administrator's understanding of the role of each network device. The administrator can then identify the topology of the network and configure each network device based on the role of the network device. When the network is complex and has different types of network devices (e.g., access and aggregation switches), configuring each network device can be inefficient, cumbersome, and prone to errors.

[0016] To address this problem, the NMS of the network can deploy a DDPI system that can dynamically identify the role of the corresponding network device in the network. During operation, when a network device joins the NMS, the network device can send a discovery packet to the NMS. The discovery packet can be a link layer discovery protocol (LLDP) change notification packet. The corresponding discovery packet may include a collection of discovery information associated with the corresponding network device. The discovery information may include one or more of the following: a digital port description, virtual local area network (VLAN) information associated with the corresponding port, an alphanumeric name of the network device, an alphanumeric system description (e.g., a description of the hardware and operating system of the network device), a system capability indicating layer 2 and layer 3 services supported by the network device, one or more network addresses assigned to the network device (e.g., media access control (MAC) and Internet Protocol (IP) addresses), and a list of protocols operating on the network device.

[0017] When the NMS receives a discovery packet from a network device, the DDPI system can obtain the discovery information and store the information in a database. In some examples, the database can be a graph database, such as ArangoDB. A graph database can be a dedicated database that uses the edges and nodes of a graph structure to store data and applies semantic queries to the data. The data in the graph database can be stored based on an Internet Engineering Task Force (IETF) draft on a JavaScript Object Notation (JSON) schema. Since a graph database can be used to represent a network based on edges and nodes, DDPI can use a graph database to classify network devices.

[0018] When a discovery packet is received from a network device of the network, the DDPI system may apply a classification process to the discovery information. The DDPI system may determine connectivity information from the discovery information. The connectivity information may indicate how each network device is connected to other network devices in the network. Based on the connectivity information of the network, the DDPI system may explore paths in the network. Exploring paths may include traversing paths from each connection port of the network device up to a predetermined number of hops from each network device. Each path traversal may include exploring subsequent network devices that may be reached via links at each hop. The DDPI system may repeat the path traversal for all network devices.

[0019] The DDPI system may then determine the number of paths through the network device as a connectivity number for the network device. Thus, the connectivity number may indicate the number of connections of the network device. Based on the number of connections, the DDPI system may determine a connectivity level for each network device. The connectivity level may indicate the placement of the network device in a hierarchy of network devices in the network. For example, a hierarchy of network devices may include an access level that couples terminal devices, an aggregation level that aggregates services from multiple access devices, and a core or edge level that may couple the network to an external network (e.g., to a wide area network or WAN, such as the Internet).

[0020] A network device at the access layer can typically communicate with another network device at any layer via the aggregation layer. Therefore, network devices in the aggregation layer can have the highest number of connections through them. On the other hand, network devices in the access layer can have a small number of connections through them. Therefore, if the number of connectivity of the network device is below a threshold, the DDPI system can determine the access layer as the connectivity layer of the network device. Therefore, if the network device is a switch, the DDPI system can identify the network device as an access switch. On the other hand, if the number of connectivity of the network device is above a threshold, the DDPI system can determine whether the network device is connected to any device in the access layer (e.g., connected to an access switch). If such a connection exists, the DDPI system can determine the aggregation layer as the connectivity layer of the network device. Otherwise, the DDPI system can determine the core (or border) layer as the connectivity layer of the network device.

[0021] The DDPI system can also perform verification based on the corresponding device profile of the network device. The DDPI system can obtain identification information associated with the network device from the discovery packet and determine the corresponding device profile. The identification information can include vendor-specific information, such as a model. The device profile can include the corresponding model and device capabilities. The DDPI system can identify the device profile by matching the model obtained from the discovery packet with the identified device profile.

[0022] The DDPI system can then use the information in the device profile to verify the assignment of the connectivity tier. For example, if the model indicates a high-performance device suitable as a core network device, the DDPI system may not be able to determine the access tier of the network device. In the same way, the DDPI system can use device capabilities (e.g., high-capacity ports, multi-band optical transponders, etc.) to determine whether the network device should be at the core tier. Therefore, in addition to connectivity to the access tier, the DDPI system can also check the device profile and device capabilities to determine whether the network device belongs to the aggregation tier or the core tier.

[0023] The DDPI system can also determine additional information for the network device. For example, the DDPI system can determine whether the network device has a direct connection to another network device in the same hierarchy. If the network device has such a connection, the DDPI system can determine that the network device is deployed as a device pair (e.g., DVS). The DDPI system can select a role based on the deployment. The DDPI system can maintain one or more predefined roles for each connectivity level. Based on the connectivity level and additional information associated with the network device, the DDPI system can select a role for the network device. The DDPI system can then determine a set of configurations indicated by the role and "push" the configuration to the device. In this way, the DDPI system can automatically identify the role of the network device and configure the network device accordingly.

[0024] In this disclosure, the term "switch" is used in a general sense, and it may refer to any independent network device or fabric device operating in any network layer. "Switch" should not be interpreted as limiting the examples of the present invention to layer 2 networks. Any device that can forward traffic to an external device or another switch may be referred to as a "switch." If a switch is a virtual device, the switch may be referred to as a virtual switch.

[0025] In addition, if a network device facilitates communication between networks, the network device may be referred to as a gateway device. Any physical or virtual device (e.g., a virtual machine or switch operating on a computing device) that can forward traffic to a terminal device may be referred to as a "network device." Examples of "network devices" include, but are not limited to, a layer 2 switch, a layer 3 router, a routing switch, a component of a Gen-Z network, or a fabric switch that includes multiple similar or heterogeneous smaller physical and / or virtual switches.

[0026] The term "packet" refers to a group of bits that can be transmitted together across a network. "Packet" should not be interpreted as limiting the examples of the present invention to a specific layer of the network protocol stack. "Packet" can be replaced by other terms referring to a group of bits, such as "message", "frame", "unit", "datagram" or "transaction". In addition, the term "port" can refer to a port that can receive or send data. "Port" can also refer to hardware, software and / or firmware logic that can facilitate the operation of the port.

[0027] Figure 1An example of a DDPI system for discovering corresponding roles of network devices in a network according to an aspect of the present application is shown. Network 100 may include multiple network devices and may include heterogeneous network components, such as layer 2 and layer 3 hops and tunnels. In some examples, network 100 may be an Ethernet network, an InfiniBand network, or other network, and may use corresponding communication protocols, such as Internet Protocol (IP), Fibre Channel over Ethernet (FCoE), or other protocols. Network 100 may include multiple network devices, such as network device 102, network device 104, and network device 106. Network 100 may include Figure 1 Other network devices not shown in the figure. The corresponding network devices in network 100 can be associated with MAC addresses and IP addresses.

[0028] In some examples, the network 100 may be a distributed tunnel structure in which switches may be coupled to each other via tunnels. Then, the network 100 may also be referred to as the structure 100. In the structure 100, tunnel encapsulation is initiated and terminated within the structure 100. The network devices in the structure 100 may form a mesh of tunnels. Examples of tunnels may include, but are not limited to, virtual extensible local area networks (VXLANs), generic routing encapsulation (GRE), network virtualization using GRE (NVGRE), generic network virtualization encapsulation (Geneve), Internet Protocol Security (IPsec), and multi-protocol label switching (MPLS). The tunnels in the structure 100 may be formed on an underlying network. The underlying network may be a physical network, and the corresponding links of the underlying network may be physical links. The corresponding switch pairs in the underlying network may be border gateway protocol (BGP) peers. The switches in the underlying network may use BGP to establish routes, via which the encapsulated packets of the structure 100 are forwarded in the underlying network. VPNs such as EVPN may be deployed on the structure 100.

[0029] In the network 100, two or more network devices can operate in conjunction with each other as a single virtual switch to facilitate DVS. The DVS can operate as a gateway device in the network 100 and facilitate external communications of the network 100. The DVS can also operate as an access device that connects a terminal device (or user device) to the network 100. The DVS can be associated with one or more virtual network addresses (e.g., a virtual IP address and / or a virtual MAC address). Therefore, all switches participating in the DVS can be associated with a virtual network address. The virtual network address allows the participating network devices to promote high availability to each other. For example, if one of the network devices becomes unavailable due to a failure or power cycle, the other network device can remain associated with the virtual network address and continue to receive and forward packets based on the virtual network address.

[0030] With the existing technology, in order to deploy the network 100, a user such as an administrator 120 can connect network devices to each other in the network 100. Based on these connections, the network devices of the network 100 can join the NMS 140. The administrator 120 can then provision and manage the network devices of the network 100 via the NMS 140. For example, in order to provision the network device 102, the administrator 120 can provide a set of configuration parameters (e.g., VLANs enabled at each port) to the network device 120 via the user interface of the NMS 140. The administrator 120 can determine the configuration parameters based on how the network device 102 is connected in the network 100 and the corresponding role. Therefore, the deployment of the network device 102 in the network 100 can rely on the administrator 120's understanding of the role of the network device 102 and the topology of the network 100. If the network 100 is complex and has different types of network devices, it may be inefficient, cumbersome and prone to errors to configure each network device in the network 100.

[0031] To address this problem, the NMS 140 may deploy a DDPI system 150 that can dynamically identify the roles of network devices in the network 100. When network devices of the network 100 join the NMS 140, they may send corresponding discovery packets 112 (e.g., NMS 140) to the NMS 140 (e.g., via the cloud). The discovery packets 112 may be LLDP change notification packets. A corresponding packet of the discovery packets 112 may include a collection of discovery information associated with the corresponding network device. For example, a discovery packet 114 from the network device 102 may include discovery information associated with the network device 102, which may include one or more of the following: a port description of a corresponding port of the network device 102, VLAN information associated with the port, an alphanumeric name of the network device 102, a description of the hardware and operating system of the network device 102, a system capability indicating layer 2 and layer 3 services supported by the network device 102, one or more network addresses (e.g., MAC and IP addresses) assigned to the network device 102, and a list of protocols operating on the network device 102.

[0032] When the NMS 140 receives the discovery packets 114 from the network devices 102, the data aggregation process 152 of the DDPI system 150 obtains discovery information from the packets 114 and stores the information in a discovery database 132 of the DDPI system 150. In some examples, the database 132 may be a graph database, such as ArangoDB. In this way, the data aggregation process 152 may obtain discovery information 116 from the discovery packets 112 from the network 100 and store the discovery information 116 in the database 132. The discovery information 116 may include port information 122 associated with each network device (e.g., descriptions of the corresponding ports and VLANs), routing information 124 (e.g., locally determined routes), and system descriptions and capabilities 126 (e.g., descriptions of the hardware and operating systems and supported services).

[0033] The DDPI system 150 may apply a classification process 154 to the discovery information 116 in the database 132. The classification process 154 may determine connectivity information from the discovery information 116. The connectivity information may indicate how each network device is connected to other network devices in the network 100. Based on the connectivity information of the network 100, the classification process 154 may explore paths in the network 100. The explored paths may include traversing from each network device a path from each connection port of the network device up to a predetermined number of hops X. The value of X may be configured by the administrator 120 via an interface 160 of the DDPI system 150. Examples of the interface 160 may include, but are not limited to, a graphical user interface (GUI), a web interface, a text interface, a touch-based interface, a gesture-based interface, and a mobile-based interface.

[0034] The classification process 154 can then determine the number of paths through the network device as the connectivity number of the network device. For example, if N paths within X hops pass through the network device 102, the connectivity number of the network device 102 can be N. Similarly, if M paths within X hops pass through the network device 104, the connectivity number of the network device 104 can be M. Therefore, the throughput rates of the network device 102 and the network device 104 can be N and M, respectively. Therefore, the connectivity number can indicate the number of connections from the network device. Based on the number of connections, the classification process 154 can determine the connectivity level of each network device in the network 100. The connectivity level can indicate the placement of the network device in the hierarchy of network devices such as access, aggregation, and core devices in the network 100.

[0035] Typically, in the network 100, the aggregation layer may have the highest number of connections passing through them. In other words, the aggregation layer may have the highest throughput rate. Here, the throughput rate may indicate the number of paths through the network device. On the other hand, the network devices in the access layer may have a small number of connections passing through them. For example, if the number of connectivity N of the network device 102 is below a threshold, the classification process 154 may assign the network device 102 to the access layer. The threshold may be a preconfigured value. Similarly, if the number of connectivity M of the network device 106 is below a threshold, the classification process 154 may assign the network device 106 to the access layer. On the other hand, if the number of connectivity M of the network device 104 is above a threshold, the classification process 154 may determine whether the network device 104 is connected to any device in the access layer. If the network device 104 is connected to the access layer (e.g., connected to the network device 102), the classification process 154 may assign the network device 104 to the aggregation layer. Otherwise, the classification process 154 may assign the network device 104 to the core (or border) layer.

[0036] The DDPI system 150 may include an enhancement process 156 that may perform verification based on device profiles 118 of network devices in the network 100. The DDPI system 150 may maintain a device repository 134 (e.g., a relational database) that stores the device profiles 118. The device profiles 118 may include the corresponding models and capabilities of the network devices. The DDPI system 150 may obtain identification information associated with the network devices from the discovery packet. The identification information may include vendor-specific information, such as the model. The DDPI system 150 may identify the device profile by matching the model obtained from the discovery packet with the device profile identified from the repository 134.

[0037] The DDPI system 150 can use the information in the device profile to verify the assignment of the connectivity tier. For example, if the model corresponds to a network device 104 that is suitable as a core network device, the enhancement process 156 can determine the access tier of the network device 104. In the same manner, the enhancement process 156 can use the device capabilities (e.g., high-capacity ports, multi-band optical transponders, etc.) to determine whether the network device 104 should be at the core tier. Therefore, in addition to connectivity to the access tier, the enhancement process 156 can also check against the device profile 118 and the device capabilities to determine whether the network device 104 belongs to the aggregation tier or the core tier.

[0038] The classification process 154 may also determine additional information for the network device. For example, the classification process 154 may determine whether the network device 102 has a direct connection to another network device 106 in the same hierarchy. If the network device 102 and the network device 106 are directly connected, the classification process 154 may determine that the network device 102 and the network device 106 are deployed as a device pair (e.g., a DVS). The classification process 154 may select a role based on the deployment. The DDPI system 150 may maintain one or more predefined roles for each connectivity hierarchy in a role repository 136 (e.g., a data structure). Based on the connectivity hierarchy and the additional information associated with the network device, the classification process 154 may select a role for the network device.

[0039] The enhancement process 156 may present a user interface 160 that may allow the administrator 120 to swap roles if the classification process 154 misclassified the role or the recommended role does not match the intent of the administrator 120. In addition, if the administrator 120 changes the role selected by the classification process 154, the DDPI system 150 may recalculate the thresholds and enhance the classification process 154 accordingly. Once a role is selected for a network device, the configuration process 158 of the DDPI system 150 may then determine a set of configurations associated with the role and "push" the configuration to the network device.

[0040] For example, once the classification process 154 assigns the network device 102 as an access device and selects the corresponding role 142 from the repository 136, the configuration process 158 can send the configuration indicated by the role 142 to the network device 102. Similarly, when the classification process 154 assigns the network device 104 as an aggregation device and selects the corresponding role 144 from the repository 136, the configuration process 158 can send the configuration indicated by the role 144 to the network device 104. In this way, the DDPI system 150 can automatically identify the roles of network devices in the network 100 and configure the corresponding roles on the network devices accordingly.

[0041] Figure 2An example of a DDPI system according to one aspect of the present application determining a corresponding connectivity level of network devices in a network is shown. A large-scale network 200, such as an enterprise network, may include multiple network devices. A core or border network device 202 and a network device 204 may couple the network 200 to a WAN 250, such as the Internet. Multiple terminal devices 220 may be coupled to the network 200 via edge or access network devices 212, network devices 214, network devices 216, and network devices 218. Aggregation network devices 206 and network devices 208 may aggregate services from terminal devices. An NMS 252, which may be reached via the WAN 250, may provision, configure, and manage the network 200. In order to efficiently identify the corresponding roles of the network devices of the network 200, a DDPI system 254 (e.g., in conjunction with the NMS 252) may be deployed.

[0042] In network 200, traffic to and from terminal device 220 may traverse through network device 206 and network device 208 for both north-south traffic flows (e.g., in and out of WAN 250) and east-west traffic flows (e.g., between terminal devices). For example, traffic from network server 260, such as a web server, to terminal device 222 may be forwarded via network device 202 or network device 204, and then forwarded via network device 206 or network device 208. On the other hand, traffic from terminal device 222 to terminal device 224 may also be forwarded via network device 206 or network device 208. Therefore, network device 206 and network device 208 may have the highest throughput rate in network 200, followed by the throughput rates of network device 202 and network device 204. In contrast, network device 212, network device 214, network device 216, and network device 218 may have relatively low throughput rates.

[0043] Based on the traffic pattern, the DDPI system 254 can determine the corresponding connectivity amount of the network devices of the network 200. When the network devices of the network 200 join the NMS 252, the network devices can provide their discovery information to the NMS 252. The NMS 252 can determine how each network device is connected to other network devices in the network 200. The NMS 252 can apply the topology generation service to the discovery information to determine the connectivity information. The DDPI system 254 can then explore the path from each network device in the network 200 up to a predetermined number of hops. Figure 2 In the example of , the value of the predetermined number of hops may be five. This value may be configured by administrator 240 via an interface of DDPI system 254 based on the topology and hierarchy of network 200 and the efficiency of execution. For example, if the path is longer, DDPI system 254 may traverse more devices and result in inefficient execution.

[0044] DDPI system 254 may then determine the number of paths that include the network device as the connectivity number of the network device. For example, if N paths within five hops are traversed through network device 206, the connectivity number of network device 206 may be N. DDPI system 254 may repeat the exploration of paths from corresponding network devices in network 200. For example, DDPI system 254 may select an initial or source network device, such as network device 202 (represented by a dashed box), and begin the exploration from network device 202. The next hop of network device 202 may be network device 204 or network device 206. A traversal path 262 from network device 202 may include network device 206 as the first hop (H=1). Here, H may indicate the number of hops from network device 202. Another traversal path 264 may include network device 204 as the first hop (H=1).

[0045] After network device 206, traversal path 262 may have five possible network devices for the next hop. Among the five possible network devices, DDPI system 254 may select network device 212. The selection may be based on one or more selection criteria (e.g., round robin or random selection). Although traversal path 262 may include network device 212 as a second hop (H=2), DDPI system 254 explores corresponding paths through all five possible network devices as a second hop. In this way, DDPI system 254 may explore all possible paths from network device 202. Traversal path 262 may then include network device 208, network device 214, and network device 206 (H=3, 4, and 5, respectively) as subsequent hops until the five-hop limit is reached. Based on traversal path 262, DDPI system 254 may increase the number of connectivity of network device 202 to one.

[0046] On the other hand, after network device 204, traversal path 264 may include network device 208 (H=2). Then, traversal path 264 may have five possible network devices for the next hop, each of which may be explored by DDPI system 254. Traversal path 264 may then include network device 218, network device 206, and network device 216 (H=3, 4, and 5, respectively) as subsequent hops until the five-hop limit is reached. Based on traversal path 264, DDPI system 254 may increase the number of connections of network device 202 to two. By repeating this process for all possible paths from network device 202, DDPI system 254 may merge the number of connections originating from network device 202 into the number of connections of the corresponding network device. Here, each path may include five edges, and each edge in the path may be marked with a unique key in a sorted combination of corresponding device identifiers. For example, an edge between network device 202 and network device 206 may be identified by an identifier pair of network device 202 and network device 206. The identifier may be a network address, such as an IP or MAC address.

[0047] DDPI system 254 may use a bucketing algorithm to classify network devices of network 200 by comparing the corresponding connectivity quantities to threshold 230. DDPI system 254 may dynamically determine the value of threshold 230. Threshold 230 may also be configured by an administrator. To dynamically determine the value of threshold 230, DDPI system 254 may sum the connectivity quantities of all network devices in network 200 and divide the sum by the number of network devices in network 200. DDPI system 254 may adjust the value of threshold 230 based on an adjustment value. The adjustment value may be a value between zero and one and may be multiplied by the result of the division.

[0048] Using the bucketing algorithm, DDPI system 254 may then identify network devices with connectivity numbers below threshold 230 and place them in access bucket 232. DDPI system 254 may place the remaining network devices in upper bucket 234. Subsequently, DDPI system 254 may classify the network devices in bucket 232 into the access (or edge) tier. Among the network devices in bucket 234, DDPI system 254 may determine which network devices are connected to at least one network device in bucket 232 (i.e., have access connectivity) and classify them into the aggregation tier. DDPI system 254 may then place the remaining network devices in bucket 234 into the core (or border) tier.

[0049] DDPI system 254 can also determine which network devices in network 200 have direct connections within the same hierarchy. For example, DDPI system 254 can determine that network device 206 has a direct connection to another network device 208 in the same hierarchy. Since network device 206 and network device 208 are directly connected, DDPI system 254 can determine that network device 206 and network device 208 are deployed as a device pair (e.g., DVS). DDPI system 254 can select roles for network device 206 and network device 208 that can allow them to operate as a high-availability switch pair. In other words, the roles selected for network device 206 and network device 208 can merge configurations that allow them to operate in an aggregated hierarchy and operate in a high-availability device pair. Therefore, for the same hierarchy, DDPI system 254 can maintain multiple roles and can select roles that match the hierarchy and additional relevant information (e.g., presence in DVS).

[0050] Figure 3 An example of a user interface of a DDPI system for enhancing connectivity tier selection of network devices in a network according to an aspect of the present application is shown. The DDPI system 354 in conjunction with the NMS 352 may present a user interface 300. Examples of the interface 300 may include, but are not limited to, a GUI, a web interface, a text interface, a touch-based interface, a gesture-based interface, and a mobile-based interface. A user 310 (e.g., an administrator) may access the user interface 300 via a WAN 350 (e.g., via the Internet). The interface 300 may present to the user 310 the topology discovered by the NMS 352 and the corresponding tier assigned by the DDPI system 354.

[0051] For example, the topology discovered by the network may include network device 302, network device 304, network device 306, and network device 308. DDPI system 354 may assign network device 302 to an aggregation tier and assign network device 304, network device 306, and network device 308 to an access tier. If DDPI system 354 misclassifies a network device or the recommended tier does not match the intent of user 310, interface 300 may allow user 310 to swap roles (i.e., assigned tiers). For example, if user 310 selects a network device, such as network device 308 (represented by a dashed box), a tier selection interface 320 (e.g., a pop-up window) may appear on interface 300. Interface 320 may include a pre-selected recommended tier and may support an option for user 310 to select another tier. For example, for network device 308, an access tier may be pre-selected in interface 320. User 310 may select another tier, such as an aggregation or core tier, for network device 308 via interface 320 .

[0052] Figure 4A A flow chart showing an example of a process for an NMS to dynamically identify device roles in a network according to an aspect of the present application is presented. During operation, the NMS may provision and manage a network (operation 402). The provisioning may include configuring network devices of the network. To facilitate configuration of network devices, the NMS may maintain one or more predefined roles for each connectivity layer in a local repository (operation 404). For example, the NMS may maintain corresponding roles for access, aggregation, and core layers. In addition, at each layer, the NMS may maintain multiple roles.

[0053] To classify the network devices, the NMS may determine, for each network device, connectivity information indicating how the network device is connected within the network. The NMS may also determine a device profile for the network device (operation 406). The device profile may indicate the capabilities of the network device. For example, the device profile may include a model of the network device, and the NMS may determine the capabilities based on the model. The NMS may determine a connectivity level of the network devices in the network based on the connectivity information (operation 408). By determining the connectivity level, the NMS may determine the placement of the network device in a hierarchy of network devices in the network based on the connectivity level (operation 410).

[0054] The NMS may apply a bucketing algorithm to identify network devices in the access layer. If the connectivity amount of the network device is below a threshold, the NMS may assign an access layer to the network device. The NMS may also identify network devices in the aggregation and core layers based on connectivity to the access layer. In this way, the NMS may automatically determine the connectivity layer. The NMS may then verify the connectivity layer for a device profile that includes vendor-specific information (e.g., a model) to determine whether the connectivity layer is correctly assigned (operation 412). For example, if the NMS determines that the network device is a high-capacity device based on the device profile, the network device may not be assigned to the access layer. The NMS may then determine whether the network device is connected within the same connectivity layer (e.g., has links within the same layer) (operation 414).

[0055] If the network devices are connected within the same connectivity hierarchy, the NMS may indicate that the network devices are in a device pair that facilitates high availability to each other (operation 416). The direct connection may be an inter-switch link (ISL) via which the network device may detect unavailability and facilitate failover accordingly. If the network devices are not connected within the same connectivity hierarchy (operation 414) or when high availability is indicated (operation 416), the NMS may select a device role associated with the connectivity hierarchy from a repository, wherein the device role indicates specifications and configurations for the corresponding network device (operation 418). The NMS may then send configuration information for the device role configured on the network device to the network device (operation 420).

[0056] Figure 4B A flow chart illustrating an example of a process for an NMS according to an aspect of the present application to determine a corresponding connectivity level of a network device in a network is presented. During operation, the NMS may receive an LLDP packet based on a logical connection with the network device. Here, the logical connection indicates that the network device is provisioned and managed by the NMS (operation 452). The logical connection with the NMS indicates that the network device has joined the NMS. Therefore, the NMS may receive an LLDP packet including discovery information associated with the network device. The NMS may then obtain the discovery information from the LLDP packet (operation 454).

[0057] The NMS may determine the number of connections associated with the network device based on the discovery information (operation 456). The NMS may explore paths within a predetermined number of hops from each network device of the network. The network manager may determine the number of paths through the network device as a connectivity number. The NMS may then determine whether the connectivity number is less than a threshold (operation 458). If the connectivity number is less than the threshold, the NMS may determine the access level as the connectivity level of the network device (operation 460).

[0058] If the connectivity amount is not less than the threshold (i.e., greater than or equal to the threshold), the NMS may also determine whether the network device is connected to an access layer (operation 462). Connectivity to the access layer indicates that the network device is to aggregate traffic from access layer network devices. Therefore, if the network device is connected to the access layer, the NMS may determine the aggregation layer as the connectivity layer of the network device (operation 464). On the other hand, if the network device is not connected to the access layer, the placement of the network device may exceed the aggregation layer within the hierarchy of network devices in the network. Therefore, the NMS may determine the core layer as the connectivity layer of the network device (operation 466).

[0059] In determining the connectivity level (operation 460, operation 464, or operation 466), the NMS may determine a device profile based on identification information associated with the network device in the LLDP message (operation 468). The LLDP packet may include vendor-specific information, such as a model of the network device. The NMS may match the model in the LLDP packet with the model in the device profile and select a device profile for the network device. The NMS may then verify the connectivity level based on the device profile (operation 470). For example, if the device indicates a high-capacity network device, the NMS may not assign the network device to the access level. The NMS may then send the configuration information to each network device at the access level before sending the configuration information to the network devices in the aggregation level (operation 472). In this way, the NMS may configure the network devices in a bottom-up approach.

[0060] Figure 5 A flow chart showing an example of a process for an NMS to enhance connectivity level selection of network devices in a network according to an aspect of the present application is presented. During operation, the NMS may present a user interface to indicate a determination of a connectivity level of a network device (operation 502). The user interface may present a determined topology of the network and a connectivity level assigned to each of the network devices. The topology may show a hierarchical structure of network devices in the network. The NMS may receive an instruction from a user via the user interface (operation 504). The instruction may be a selection of an update of a connectivity level of a network device of the network. The instruction may also be a confirmation of a recommended connectivity level.

[0061] Thus, the NMS may determine whether the instruction provides an update (operation 506). If the instruction provides an update, the NMS may update the connectivity level of the network device based on the instruction (operation 508). For example, if the recommended connectivity level is an aggregation level and the instruction updates it to an access level, the NMS may update the connectivity level of the network device to the aggregation level. On the other hand, if the instruction does not provide an update, the instruction may be a confirmation of the recommended connectivity level. The NMS may then confirm the connectivity level of the network device (operation 510).

[0062] Figure 6An example of a computing system that facilitates DDPI in a network according to an aspect of the present application is shown. The computing system 600 may include a set of processors 602, a memory unit 604, a NIC 606, and a storage medium 608. The memory unit 604 may include a set of volatile memory devices (e.g., dual in-line memory modules (DIMMs)). In addition, the computing system 600 may be coupled to a display device 612, a keyboard 614, a pointing device 616 (if necessary), and a network interface card (NIC) 606. The storage medium 608 may store an operating system 618 and a DDPI system 620. The DDPI system 620 may be deployed in conjunction with an NMS running on the computing system 600.

[0063] The DDPI system 620 may include instructions that, when executed by the computing system 600, may cause the computing system 600 to perform the methods and / or processes described in the present disclosure. Specifically, the DDPI system 620 may include instructions for aggregating discovery information from discovery packets received from network devices of the network (aggregation process 622). The DDPI system 620 may also include instructions for determining how the network devices of the network are connected to each other (connectivity process 624). Thus, the DDPI system 620 may include instructions for determining the topology of the network, which indicates a hierarchical structure of network devices in the network (connectivity process 624).

[0064] In addition, the DDPI system 620 may include instructions for classifying the network devices into corresponding connectivity levels (e.g., based on a bucketing algorithm) (classification process 626). In addition, the DDPI system 620 may include instructions for assigning corresponding roles to the network devices according to the connectivity levels (assignment process 628). The DDPI system 620 may also include instructions for enhancing the determination of the connectivity level (e.g., by presenting an interface and receiving feedback from a user via the interface) (enhancement process 630).

[0065] In addition, DDPI system 620 may also include instructions for configuring network devices based on the configuration indicated by the corresponding (e.g., by generating an instruction packet including the configuration) (configuration process 632). In addition, DDPI system 620 may include instructions for sending and receiving packets (e.g., receiving discovery packets and sending instruction packets) (communication process 634). Data 636 may include any data that may facilitate the operation of DDPI system 620. Data 636 may include, but is not limited to, discovery information, a collection of device profiles, predetermined roles, and information indicating the assignment of connectivity levels and roles.

[0066] Figure 7An example of a non-transitory computer-readable storage medium that facilitates DDPI in a network according to an aspect of the present application is shown. The computer-readable storage medium 700 may include a plurality of instruction sets that, when executed by a processing resource, may perform operations related to Figure 6 The storage medium 700 may include aggregation instructions 702; connectivity instructions 704; classification instructions 706; allocation instructions 708; enhancement instructions 710; configuration instructions 712; and communication instructions 714, which may correspond to Figure 6 Processes 622-634 of the DDPI system 620.

[0067] The description herein is presented to enable any person skilled in the art to make and use the invention, and the description herein is provided in the context of a specific application and its requirements. Various modifications to the disclosed examples will be apparent to those skilled in the art, and the general principles defined herein may be applied to other examples and applications without departing from the spirit and scope of the invention. Therefore, the present invention is not limited to the examples shown, but is in accordance with the widest scope consistent with the claims.

[0068] One aspect of the present technology may provide an NMS that can provision and manage a network. During operation, the NMS may determine, for respective network devices in the network, connectivity information indicating how the network devices are connected within the network and a device profile of the network device. The NMS may then determine a connectivity level of the network device in the network based on the connectivity information. The connectivity level may correspond to the placement of the network device in a hierarchy of network devices in the network. The NMS may select a device role associated with the connectivity level. Here, the device role indicates specifications and configurations for the network device. The NMS may send configuration information of the device role configured on the network device to the network device.

[0069] In a variation of this aspect, the NMS may determine connectivity information and a device category by receiving an LLDP packet based on a logical connection to the network device and obtaining discovery information from the LLDP packet. The NMS may also determine connectivity information based on the discovery information and determine a device profile based on identification information associated with the network device in the LLDP packet.

[0070] In a variation of this aspect, the NMS may determine the connectivity level of the network device by determining a number of connections associated with the network device and determining the access level as the connectivity level of the network device if the number of connections is less than a threshold.

[0071] In another variation, if the number of connections is greater than a threshold, the NMS may determine whether the network device is connected to an access layer. If the network device is connected to an access layer, the NMS may determine an aggregation layer as the connectivity layer of the network device. On the other hand, if the network device is not connected to an access layer, the NMS may determine a core layer as the connectivity layer of the network device.

[0072] In another variation, the NMS may send configuration information to corresponding network devices at the access level before sending configuration information to network devices at the aggregation level.

[0073] In a variation of this aspect, the NMS may verify the connectivity level against a device profile of the network device to determine if the connectivity level is correctly assigned.The device profile may include vendor specific information.

[0074] In a variation of this aspect, the NMS may determine that the network device is connected to another network device at the same connectivity level. The NMS may then select a device role to indicate that the network device is in a device pair that facilitates high availability to each other.

[0075] In a variation of this aspect, the NMS may maintain one or more predefined roles for corresponding connectivity levels in a repository at the NMS. The NMS may then select a role for a network device from the repository based on the connectivity level of the network device.

[0076] In a variation of this aspect, the NMS may present the determination of the connectivity level of the network device on a user interface of the NMS.The NMS may then receive instructions from the user via the user interface to change the connectivity level for the network device.

[0077] The data structures and codes described in this detailed description are typically stored on a computer-readable storage medium, which can be any device or medium that can store code and / or data for use by a computer system. Computer-readable storage media include, but are not limited to, volatile memory, non-volatile memory, magnetic and optical storage devices such as disks, tapes, CDs (compact disks), DVDs (digital versatile disks or digital video disks), or other media capable of storing computer-readable media now known or later developed.

[0078] The methods and processes described in the detailed description section may be embodied as code and / or data, which may be stored in a computer-readable storage medium as described above. When a computer system reads and executes the code and / or data stored on a computer-readable storage medium, the computer system executes the methods and processes embodied as data structures and code and stored in the computer-readable storage medium.

[0079] The methods and processes described herein may be performed by and / or included in hardware logic blocks or devices. These logic blocks or devices may include, but are not limited to, application specific integrated circuit (ASIC) chips, field programmable gate arrays (FPGAs), dedicated or shared processors that execute specific software logic blocks or code segments at specific times, and / or other programmable logic devices now known or later developed. When the hardware logic blocks or devices are activated, they execute the methods and processes included in them.

[0080] The foregoing descriptions of examples of the present invention are presented for purposes of illustration and description only. They are not intended to be exhaustive or to limit the present disclosure. Therefore, many modifications and variations will be apparent to those skilled in the art. The scope of the present invention is defined by the appended claims.

Claims

1. A method comprising: determining, by a network management system, for respective network devices in a network, connectivity information indicating how the network devices are connected within the network and a device profile for the network devices, wherein the network management system provisions and manages the network; determining, by the network management system, a connectivity level of the network device in the network based on the connectivity information, wherein the connectivity level corresponds to a placement of the network device in a hierarchy of network devices in the network; selecting, by the network management system, a device role associated with the connectivity hierarchy, wherein the device role indicates specifications and configurations for the network device; as well as The network management system sends configuration information for configuring the device role on the network device to the network device.

2. The method of claim 1 , wherein determining the connectivity information and the device category further comprises: Receiving, by the network management system, a Link Layer Discovery Protocol (LLDP) packet based on a logical connection with the network device, wherein the logical connection indicates that the network device is provisioned and managed by the network management system; Obtaining discovery information from the LLDP packet; determining the connectivity information based on the discovery information; as well as The device profile is determined based on identification information associated with the network device in the LLDP packet.

3. The method of claim 1 , wherein determining the connectivity level of the network device further comprises: determining a number of connections associated with the network device; as well as In response to the number of connections being less than a threshold, an access level is determined as the connectivity level of the network device.

4. The method according to claim 3, further comprising: In response to the number of connections being greater than the threshold, determining whether the network device is connected to the access layer; In response to the network device being connected to the access level, determining an aggregation level as the connectivity level of the network device; as well as In response to the network device not being connected to the access level, a core level is determined as the connectivity level of the network device. 5 . The method of claim 4 , wherein the network management system sends configuration information to corresponding network devices at the access level before sending configuration information to the network devices at the aggregation level. 6 . The method of claim 1 , further comprising validating the connectivity level against the device profile of the network device to determine whether the connectivity level is correctly assigned, wherein the device profile includes vendor-specific information.

7. The method according to claim 1, further comprising: determining that the network device is connected to another network device at a same connectivity level; as well as The device role is selected to indicate that the network devices are in a device pair that facilitates high availability to each other.

8. The method according to claim 1, further comprising: maintaining one or more predefined roles for respective connectivity levels in a repository at the network management system; as well as The role is selected by the network management system from the repository for the network device based on the connectivity level of the network device.

9. The method according to claim 1, further comprising: presenting the determination of the connectivity level of the network device on a user interface of the network management system; as well as An instruction is received from a user via the user interface to change the connectivity level for the network device.

10. A non-transitory computer-readable storage medium storing instructions that, when executed by a processor of a computer executing a network management system, cause the processor to perform a method comprising: determining, for respective network devices in a network, connectivity information indicating how the network devices are connected within the network and a device profile for the network devices, wherein the network management system provisions and manages the network; determining a connectivity level of the network device in the network based on the connectivity information, wherein the connectivity level corresponds to a placement of the network device in a hierarchy of network devices in the network; selecting a device role associated with the connectivity hierarchy, wherein the device role indicates specifications and configurations for the network device; as well as Configuration information for configuring the device role on the network device is sent to the network device.

11. The non-transitory computer-readable storage medium of claim 10, wherein determining the connectivity information and the device category further comprises: receiving a Link Layer Discovery Protocol (LLDP) packet based on a logical connection with the network device, wherein the logical connection indicates that the network device is provisioned and managed by the network management system; Obtaining discovery information from the LLDP packet; determining the connectivity information based on the discovery information; as well as The device profile is determined based on identification information associated with the network device in the LLDP packet.

12. The non-transitory computer-readable storage medium of claim 10, wherein determining the connectivity level of the network device further comprises: determining a number of connections associated with the network device; as well as In response to the number of connections being less than a threshold, an access level is determined as the connectivity level of the network device.

13. The non-transitory computer-readable storage medium of claim 12, wherein the method further comprises: In response to the number of connections being greater than the threshold, determining whether the network device is connected to the access layer; In response to the network device being connected to the access level, determining an aggregation level as the connectivity level of the network device; as well as In response to the network device not being connected to the access level, a core level is determined as the connectivity level of the network device.

14. The non-transitory computer-readable storage medium of claim 13, wherein the network management system is to send configuration information to corresponding network devices at the access level before sending configuration information to network devices at the aggregation level.

15. The non-transitory computer-readable storage medium of claim 10, wherein the method further comprises: The connectivity level is validated against the device profile of the network device to determine whether the connectivity level is correctly assigned, wherein the device profile includes vendor-specific information.

16. The non-transitory computer-readable storage medium of claim 10, wherein the method further comprises: determining that the network device is connected to another network device at a same connectivity level; as well as The device role is selected to indicate that the network devices are in a device pair that facilitates high availability to each other.

17. The non-transitory computer-readable storage medium of claim 10, wherein the method further comprises: maintaining one or more predefined roles for respective connectivity levels in a repository at the network management system; as well as The role is selected for the network device from the repository based on the connectivity level of the network device.

18. The non-transitory computer-readable storage medium of claim 10, wherein the method further comprises: presenting the determination of the connectivity level of the network device on a user interface of the network management system; as well as An instruction is received from a user via the user interface to change the connectivity level for the network device.

19. A computer system comprising: Processing resources; as well as a non-transitory machine-readable medium comprising instructions executable by the processing resource to: Provision and manage networks consisting of multiple network devices; determining, for respective network devices in a network, connectivity information indicating how the network devices are connected within the network and a device profile of the network devices; determining a connectivity level of the network device in the network based on the connectivity information, wherein the connectivity level corresponds to a placement of the network device in a hierarchy of the plurality of network devices; selecting a device role associated with the connectivity hierarchy, wherein the device role indicates specifications and configurations for the network device; as well as The configuration information of the device role configured on the network device is sent to the network device.

20. The computer system of claim 19, wherein the instructions are executable by the processing resource to determine the connectivity level of the network device further by: determining a number of connections associated with the network device; In response to the number of connections being less than a threshold, determining an access level as the connectivity level of the network device; and In response to the number of connections being greater than the threshold, determining an aggregation level or a core level as the connectivity level of the network device based on connections to the access level.

Citation Information

Patent Citations

  • Configuration information issuing method and configuration information issuing device

    CN103067207A

  • Network device identification method, device and system in data center network

    CN106998299A

  • Network device layering method, network management device and computer readable storage medium

    CN108566296A

  • Source port based identification of client roles

    CN115842644A

  • Systems for and methods of network management and verification using intent inference

    US10862749B1