Network management server, topology detection program and topology detection method

The network management server utilizes FDB information to automatically detect network topology in large-scale systems, addressing the challenge of neighbor relationship detection across diverse network devices.

JP7756023B2Active Publication Date: 2025-10-17FORTINET INC
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2022032648
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-03-03
Publication Date
2025-10-17
Estimated Expiration
2042-03-03

AI Technical Summary

Technical Problem

Existing network management systems struggle to automatically detect neighbor relationships between network devices in large-scale networks without relying on protocols like LLDP, especially in multi-vendor environments, due to varying support standards and the risk of human error in manual entry.

Method used

A network management server uses FDB information from Layer 2 and Layer 3 switches to identify MAC addresses and generate learned port information, determining connection relationships between switches and terminals to detect network topology.

Benefits of technology

Enables the detection of network topology in large-scale systems using a single network management server, reducing manual effort and minimizing human error.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007756023000001
    Figure 0007756023000001
  • Figure 0007756023000002
    Figure 0007756023000002
  • Figure 0007756023000003
    Figure 0007756023000003
Patent Text Reader

Abstract

To detect a topology of a network using a single network management server in a large scale network system.SOLUTION: A network management server detects a topology of a network by identifying a port of a switch that exists on a route for a combination of a terminal and the switch existing in the network on the basis of FDB information collected from the switch in the network.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a network management server, a topology detection program, and a topology detection method. [Background technology]

[0002] Network operators use topology diagrams to understand the state of the network. However, as networks grow in size, the effort required to manually create topology diagrams becomes enormous, and keeping them up to date requires even more effort. Therefore, there is a demand for automatic creation of topology diagrams that show the connection status of devices within the network using functions such as network management servers.

[0003] Network management servers need to know which network devices are adjacent to each other in order to draw topology diagrams. To do this, they use information received from neighboring devices using protocols such as LLDP (Link Layer Discovery Protocol) or neighbor relationships entered by the user. However, particularly in multi-vendor environments, protocols like LLDP for determining neighbor relationships cannot be used due to different support standards. Even if users try to manually enter neighbor relationships, there is a risk of human error, such as forgetting where a network device has been added and missing an entry. Therefore, there is a need for technology that can automatically detect neighbor relationships between network devices without relying on special protocols for detecting neighbor relationships.

[0004] An example of such a technology is the technology described in Patent Document 1. This technology does not use a protocol for grasping neighbor relationships such as LLDP, but detects the topology of a Layer 2 network based on the learning status of the network monitoring terminal in each Layer 2 switch in the Layer 2 network and the MAC (Media Access Control) addresses of the Layer 2 switches. [Prior art documents] [Patent documents]

[0005] [Patent Document 1] International Publication No. WO2006 / 118203 Summary of the Invention [Problem to be solved by the invention]

[0006] Generally, MAC addresses in packets are rewritten when they pass through devices such as routers and Layer 3 switches. The technology described in Patent Document 1 also utilizes the MAC address learning status of the network monitoring terminal, so the network monitoring terminal must be directly connected to the Layer 2 network that is the target of topology detection.

[0007] Therefore, when trying to apply this to a large-scale network that combines multiple layer 2 networks via a layer 3 switch, there is a problem in that a network monitoring terminal must be prepared for each layer 2 network.

[0008] An object of the present invention is to detect the topology of a network using a single network management server in a large-scale network system. [Means for solving the problem]

[0009] a switch MAC address of the terminal or the switch that has been learned in the FDB information; and for each MAC address, generate learned port information from the FDB information that aggregates identification information of the port that learned the MAC address; for each MAC address, identify whether the MAC address is a terminal MAC address of the terminal or a switch MAC address of the switch; generate combinations of the switch and the terminal, with the switch having the switch MAC address as one side and the terminal having the terminal MAC address as the other side; and for each combination, identify the ports that exist on the path from one of the switches to the other terminal from the learned port information as path port information; and, based on the path port information, identify the connection relationship of the switches and detect the topology information. [Effects of the Invention]

[0010] According to one aspect of the present invention, it is possible to detect the topology of a network in a large-scale network system using a single network management server. [Brief explanation of the drawings]

[0011] [Figure 1] FIG. 1 illustrates an example of a network system configuration according to a first embodiment. [Figure 2] FIG. 2 illustrates an example of the configuration of a network management server according to the first embodiment. [Figure 3] FIG. 2 illustrates an example of the configuration of a Layer 3 switch according to a first embodiment. [Figure 4]FIG. 2 illustrates an example of the configuration of a Layer 2 switch according to a first embodiment. [Figure 5] 10 is a flowchart illustrating an example of a topology detection operation by the network management server according to the first embodiment. [Figure 6] FIG. 10 is a diagram illustrating an example of the contents of access information according to the first embodiment. [Figure 7] FIG. 10 is a diagram illustrating an example of the contents of FDB collection information according to the first embodiment. [Figure 8] FIG. 10 is a diagram illustrating an example of the contents of a learning port set according to the first embodiment. [Figure 9] FIG. 10 is a diagram illustrating an example of the contents of a transit port set according to the first embodiment. [Figure 10] FIG. 10 is a diagram illustrating an example of the content of the number of learned MAC addresses according to the first embodiment. [Figure 11] FIG. 10 is a diagram illustrating an example of contents of transit device information according to the first embodiment. [Figure 12] FIG. 10 is a diagram illustrating an example of the contents of section information according to the first embodiment. [Figure 13] FIG. 10 is a diagram illustrating an example of the contents of neighboring information according to the first embodiment. [Figure 14] FIG. 11 is a diagram illustrating an example of the contents of FDB collected information when collected immediately after one of the Layer 2 switches clears learned MAC addresses in the second embodiment. [Figure 15] FIG. 11 is a diagram illustrating an example of the contents of section information created based on FDB collected information generated immediately after one of the Layer 2 switches clears learned MAC addresses in the second embodiment. [Figure 16] FIG. 10 illustrates an example of the configuration of a network management server according to a second embodiment. [Figure 17] 10 is a flowchart illustrating an example of a topology detection operation by a network management server according to a second embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0012] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. [Example]

[0013] FIG. 1 shows an example of the configuration of a network system that is the target of Layer 2 network topology detection according to the present invention. This network system is configured with three Layer 2 networks connected around one Layer 3 switch 110. Each of the multiple Layer 2 networks is assigned a different Virtual Local Area Network (VLAN) ID, making it possible to identify the Layer 2 networks within the network system. In the example of Figure 1, the three Layer 2 networks are assigned VLAN IDs 10, 20, and 30, respectively, and the Layer 2 networks are represented as VLAN 10, VLAN 20, and VLAN 30, respectively. In the following explanation, Layer 2 networks may be referred to as VLANs.

[0014] The VLAN 20 includes two Layer 2 switches 120-1 and 120-2, and three terminals 130-1, 130-2, and 130-3. The terminals are, for example, terminal devices such as PCs that are directly used by users, or servers that provide some kind of network service.

[0015] The VLAN 30 includes one layer 2 switch 120-3 and two terminals 130-4 and 130-5.

[0016] VLAN 10 includes a network management server 100 that performs topology detection of a Layer 2 network according to the present invention. In this example, the only device present in VLAN 10 is network management server 100, which is directly connected to port 111-1 of Layer 3 switch 110, but other terminal devices may also be connected via Layer 2 switches.

[0017] In the following explanation, when describing multiple Layer 2 switches and terminals, individual Layer 2 switches and terminals will be referred to using the symbols shown in Figure 1, and when describing them in common, they will be referred to using the symbols Layer 2 switch 120 and terminal 130.

[0018] In the following explanation, the layer 3 switches, layer 2 switches, terminals, and other components of the network system will be collectively referred to as network devices, and the layer 3 switches and layer 2 switches will be collectively referred to simply as switches.

[0019] Furthermore, symbols such as N10, S10, and U10 in parentheses within each network device in FIG. 1 represent the MAC addresses of the network devices.

[0020] In the example of FIG. 1, the network management server 100 is connected to the VLAN 10, but it may be connected anywhere in the network as long as it can communicate with each switch in the network system and collect information.

[0021] An example will be described below in which the network management server 100 in the configuration of FIG. 1 detects the topology of the layer 2 networks, VLAN 20 and VLAN 30.

[0022] 2 is a diagram showing the internal configuration of the network management server 100. The network management server 100 is composed of a CPU (Central Processing Unit) 201 for performing calculations, memory 202 for storing data and programs executed by the CPU 201, and a network IF (Interface) 203 for connecting to other network devices via a line.

[0023] Memory 202 stores topology detection unit 210, which is a program executed by CPU 201, and data required in the process of executing topology detection unit 210, as several tables. The stored tables are access information 220, FDB (Forwarding Database) collected information 221, learned port set 222, route port set 223, number of learned MAC addresses 224, transit device information 225, section information 226, and neighbor information 227. The structure and content examples of each table will be shown in the explanation of topology detection operation, which will be described later, using the flowchart in FIG. 5.

[0024] The network management server 100 operates by having the CPU 201 execute the topology detection unit 210, which is a program, to collect necessary information from the layer 3 switch 110 and the layer 2 switch 120 via the network IF 203 and detect the topology, which is their connection status.

[0025] 3 is a diagram showing an example of the internal configuration of a Layer 3 switch 110. A Layer 3 switch is a network device that has the function of relaying a packet received at a port to another port at Layer 2 or Layer 3 based on information contained in the header of the packet.

[0026] The Layer 3 switch 110 comprises a CPU 301, a memory 302, a frame forwarding unit 303, and a plurality of ports 111. When the plurality of ports 111 are to be distinguished from one another in the description, they are referred to by reference numerals such as 111-1 and 111-2 as shown in FIG.

[0027] Memory 302 stores at least an SNMP responder 310, which is a program executed by CPU 301 to respond to inquiries from other network devices via SNMP (Simple Network Management Protocol), and FDB information 320, which is required for Layer 2 relay processing for packets received at port 111. FDB information 320 is a table that learns and stores the MAC addresses of network devices connected to each port 111 when a packet sent by the network device is received, and stores the learned amount of information that combines the learned MAC address, the identifier of port 111 that learned the MAC address, and the VLAN ID of the VLAN to which port 111 belongs as a single piece of learned information. An inquiry via SNMP is, for example, a process such as a read request for FDB information 320 and a response thereto.

[0028] In addition, in the memory 302 of FIG. 3, other programs and data necessary for realizing the functions of the layer 3 switch are omitted.

[0029] The frame forwarding unit 303 determines the port 111 to which the packet will be forwarded by using Layer 3 relay or Layer 2 relay processing based on the header information of the packet received at port 111, and transmits the packet from that port 111.The frame forwarding unit 303 is composed of a hardware logic circuit such as an LSI.

[0030] 4 is a diagram showing an example of the internal configuration of the Layer 2 switch 120. A Layer 2 switch is a network device that has the function of Layer 2 relaying a packet received at a port to another port based on information contained in the header of the packet.

[0031] The Layer 2 switch 120 comprises a CPU 401, a memory 402, a frame forwarding unit 403, and a plurality of ports 121. When the plurality of ports 121 are to be distinguished from one another, they are referred to by reference numerals such as 121-11 and 121-12 as shown in FIG.

[0032] The memory 402 stores at least an SNMP response unit 410, which is a program executed by the CPU 401 to respond to SNMP queries from other network devices, and FDB information 420 required for Layer 2 relay processing for packets received at port 121. The FDB information 420 is the same as the FDB information 320 of the Layer 3 switch 110 described in Fig. 3. The SNMP queries are also the same as those described in Fig. 3.

[0033] In addition, in the memory 402, descriptions of other programs and data necessary to realize the functions as a layer 2 switch are omitted.

[0034] The frame forwarding unit 403 determines the port 121 to which the packet will be forwarded by layer 2 relay processing based on the header information of the packet received at port 121, and transmits the packet from that port 121, and is composed of a hardware logic circuit such as an LSI.

[0035] Next, an example of the operation of detecting the topology of two layer 2 networks, VLAN 20 and VLAN 30, by the processing of topology detection unit 210 executed by CPU 201 of network management server 100 will be described with reference to a flowchart.

[0036] 5 is a flowchart showing an example of processing by the topology detection unit 210. In the following description, operations that are the subject of programs such as the topology detection unit 210 are actually performed by the CPU 201 that executes the programs.

[0037] The series of processes shown in this flowchart is started, for example, periodically at a set time, or is started when the network administrator inputs commands or the like through a user interface (not shown) provided on the network management server 100.

[0038] First, the topology detection unit 210 collects FDB information from the layer 3 switches and layer 2 switches present in the network system based on the access information 220, and stores the collected FDB information in the FDB information collection 221 (step 501).

[0039] 6 is a diagram showing an example of the contents of the access information 220. The access information 220 is a table that stores information about the Layer 3 switches 110 and Layer 2 switches 120 from which FDB information is to be collected and the collection method, and is made up of zero or more entries. Each entry has fields for a device 601, an IP address 602, an access method 603, and a MAC address 604.

[0040] Device 601 is a field that indicates the identifiers of the Layer 3 switch 110 and Layer 2 switch 120 that are the targets of FDB information collection. In the example of Figure 6, the symbols used as identifiers in Figure 1 are used for convenience, but device names assigned for management purposes may also be used. IP address 602 and MAC address 604 are fields that indicate the IP address and MAC address of the switch indicated by device 601.

[0041] Access means 603 is a field indicating the means for reading FDB information from the device indicated by device 601. For example, if MIB (Management Information Base) is specified, it indicates that the FDB information is read by SNMP.

[0042] The contents of FIG. 6 are assumed to be set in advance before the process shown in the flowchart of FIG. 5 begins.

[0043] FIG. 7 is a diagram showing an example of the contents of the FDB collection information 221. As shown in FIG. The FDB collected information 221 is a table for storing FDB information collected from the Layer 3 switch 110 and the Layer 2 switch 120, and is composed of zero or more entries identified by entry numbers. Each entry has fields for a device 701, a MAC address 702, a learned VLAN 703, and a learned port 704. In the following explanation, an entry with entry number n will be referred to as entry n. This also applies to other tables with entry numbers, which will be described later.

[0044] Device 701 is a field that indicates the identifiers of the Layer 3 switch 110 and Layer 2 switch 120 from which the FDB information was collected. MAC address 702, learned VLAN 703, and learned port 704 are fields that store the learned MAC address, which is information for one entry of the collected FDB information, the VLAN ID of the VLAN to which the port that learned the MAC address belongs, and the identifier of the port that learned the MAC address, respectively.

[0045] To explain in detail the processing contents of the topology detection unit 210 in step 501, the topology detection unit 210 refers to the access information 220 and sends an SNMP FDB read request packet to the IP address indicated by the IP address 602 of the entry for the Layer 3 switch 110 and Layer 2 switch 120 indicated in each entry, in accordance with the fact that the value of the access means 603 is MIB.

[0046] The Layer 3 switch 110 and Layer 2 switch 120 that receive the request packet processes the request packet in the SNMP response unit 310 or 410 and returns a response packet containing the contents of the FDB information 320 or 420 to the network management server 100. When the network management server 100 receives the response packet, the topology detection unit 210 adds the identifier information of the device that collected the information (the value of device 601 in the same entry) to the information contained in the response packet and stores it sequentially in empty entries of the FDB collection information 221.

[0047] The numerical example shown in Fig. 7 shows the contents of the FDB collection information 221 generated in step 501 in the case of the network configuration of Fig. 1. Note that in Fig. 7, the identifiers stored in the device 701 and the learning port 704 are denoted by the same symbols as in Fig. 1 for convenience, but other identifiers assigned for management purposes may also be used.

[0048] Next, the topology detection unit 210 creates the learning port set 222 by referring to the FDB collection information 221 generated in step 501 (step 502).

[0049] The learned port set is a set of ports that have learned a combination of a VLAN ID and a MAC address of a network device collected as part of the FDB information, using that combination as a key.

[0050] 8 is a diagram showing an example of the contents of the learned port set 222. The learned port set 222 is made up of zero or more entries identified by entry numbers, and each entry has fields for VLAN 801, MAC address 802, and learned port 803. The combination of the VLAN 801 and MAC address 802 stores the combination of the key values ​​described above, and the set of identifiers of the ports that have learned this combination is stored in learned port 803.

[0051] To explain in detail the processing contents of the topology detection unit 210 in step 502, for example, when the values ​​of the MAC address 702 and the learned VLAN 703 of each entry in the FDB collection information 221 shown in Figure 7 are searched for, it is found that the port that has learned the MAC address S10 of the Layer 3 switch 110 in VLAN 20 is stored in entry 10 and entry 15, and since the values ​​of the learned port 704 of each entry are 121-11 and 121-21, an entry is created in the learned port set 222 that stores 20 in VLAN 801, S20 in MAC address 802, and {121-11, 121-21} in learned port 803.

[0052] In the example of Figure 8, entry 2 corresponds to the entry created in this example. The topology detection unit 210 extracts all unique combinations of MAC addresses 702 and learned VLANs 703 stored in Figure 7 and performs the above-mentioned processing for each of them. As a result, for example, a learned port set 222 with the content shown in Figure 8 is created for the FDB collected information 221 with the content shown in Figure 7.

[0053] Next, the topology detection unit 210 creates a route port set 223 by referring to the learning port set 222 created in step 502 (step 503).

[0054] A route port set is an extracted set of ports that are on the route from a specific switch to a specific terminal in a network system and that have learned the MAC address of that terminal. This information is used to identify all switches on the route, including other Layer 2 switches, if there are any between the specific switch and the terminal.

[0055] By generating a set of such ports for each VLAN ID and combining all terminals and switches that belong to that VLAN, it is possible to obtain comprehensive information for deriving the connection relationships between switches.

[0056] FIG. 9 is a diagram showing an example of the contents of the route port set 223. As shown in FIG. The route port set 223 is made up of zero or more entries identified by entry numbers, and each entry has fields for VLAN 901 , terminal MAC address 902 , switch MAC address 903 , and route port 904 .

[0057] The processing contents of the topology detection unit 210 in step 503 will be specifically explained as follows.

[0058] First, the topology detection unit 210 refers to the learned port set 222 created in step 502 and extracts all MAC addresses of the network devices belonging to each VLAN.

[0059] 8, for example, looking at the VLAN with a VLAN ID of 20, it can be seen that the MAC addresses of the network devices belonging to it are six: S10, S20, S21, U10, U20, and U30, which are registered in entries 2 to 7. Of these, it can be seen that S10, S20, and S21 are MAC addresses of switches based on the information pre-registered in MAC address 604 of access information 220, and therefore the other three MAC addresses, U10, U20, and U30, can be determined to be MAC addresses of terminals.

[0060] Therefore, there are 9 possible combinations of terminals and switches in VLAN 20, which is 3 x 3. The example in Figure 9 shows how these 9 combinations are stored in VLAN 901, terminal MAC address 902, and switch MAC address 903 of entries 2 to 10.

[0061] Similar processing is performed for other VLANs, and values ​​are stored in each entry's VLAN 901, terminal MAC address 902, and switch MAC address 903. Note that a VLAN in which no switch MAC addresses have been learned means that there are no Layer 3 switches 110 or Layer 2 switches 120 in that VLAN, and therefore the VLAN is not subject to further processing.

[0062] Next, the topology detection unit 210 performs processing to determine the value to be stored in the path port 904 of each entry in the path port set 223. This value can be determined as a set obtained by excluding elements included in the set of learning ports of the switch from the set of learning ports of the terminal stored in the learning port set 222.

[0063] To explain this as a specific example, the value stored in the route port 904 of entry 3 (VLAN 901 is 20, terminal MAC address 902 is U10, switch MAC address 903 is S20) in the route port set 223 in Figure 9 is the set {121-12, 121-22} obtained by removing the elements common to the set {111-2, 121-21} stored in the learning port 803 of entry 5 (VLAN 801 is 20, MAC address 802 is U10) in the learning port set 222 in Figure 8 from the set {111-2, 121-12, 121-22} stored in the learning port 803 of entry 5 (VLAN 801 is 20, MAC address 802 is U10).

[0064] This process means the following: When a packet flows from terminal 130-1 with MAC address U10 to Layer 2 switch 120-1 with MAC address S20, the candidate ports for the route are ports that have learned at least U10 (the value of learned port 803 in entry 5 of learned port set 222).

[0065] If these candidates include a port that has also learned S20 (such as 111-2, which is included in the value of learned port 803 of entry 3 of learned port set 222), it means that the port has learned both U10 and S20. This means that, when viewed from the perspective of terminal 131-1 that has U10 as the starting point, Layer 3 switch 110 that has port 111-2 is located upstream of Layer 2 switch 120-1 that has MAC address S20.

[0066] Therefore, if such a port that has learned both U10 and S20 is removed from the original set, what remains is a set of route ports that exist on the route from terminal 130-1 to layer 2 switch 120-1.

[0067] Step 503 is completed by executing the above-described processing for all entries in the route port set 223. Note that at this stage, the order of the ports in the set on the route may not be identified using only the information in the route port set 223, so processing to identify this is required, and this is the processing in the subsequent steps 504 and 505.

[0068] Next, the topology detection unit 210 creates the MAC address learning count 224 by referring to the FDB collection information 221 generated in step 501 (step 504). The MAC address learning count 224 is a count of how many MAC addresses have been learned at each port of the Layer 3 switch 110 and the Layer 2 switch 120.

[0069] 10 is a diagram showing an example of the contents of the learned MAC address count 224. The learned MAC address count 224 is made up of zero or more entries identified by entry numbers, and each entry has fields for a port 1001, a learned MAC address 1002, and a learned count 1003.

[0070] The process of the topology detection unit 210 in step 504 will be specifically described as follows.

[0071] First, the topology detection unit 210 extracts the identifiers of all unique ports stored in the learning port 704 of the FDB collected information 221, and stores each of them in the port 1001 of the entry for the MAC address learning number 224 (in this embodiment, the identifiers are represented by the symbols assigned in Figure 1).

[0072] Then, for each entry in the MAC address learning number 224 , the MAC address learned at the port 1001 of the entry is extracted from the FDB collected information 221 , and all of these are stored as a set in the MAC address 1002 , and the number of elements is stored in the learning number 1003 .

[0073] If the FDB collected information 221 is in the state shown in Figure 7, for example, looking at port 111-3 of Layer 3 switch 110, 111-3 is stored in the learned port 704 of entries 7 to 9 of the FDB collected information 221, and the MAC addresses learned by that port are S22, U40, and U50, which are stored in the MAC address 702 of each entry.

[0074] Therefore, as shown in FIG. 10, the set {S22, U40, U50} is stored in the learned MAC address 1002 of entry 3 storing 111-3 in port 1001, and the number of elements, 3, is stored in the learned number 1003. This completes the processing in step 504.

[0075] Next, the topology detection unit 210 creates transit device information 225 using the route port set 223 created in step 503 and the learned MAC address count 224 created in step 504 (step 505).

[0076] The transit device information is information that lists the switches that exist on the route for a combination of a certain terminal and a certain switch, in the order that they appear on the route.

[0077] 11 is a diagram showing an example of the contents of the transit device information 225. The transit device information 225 is made up of zero or more entries identified by entry numbers, and each entry has fields for VLAN 1101, terminal MAC address 1102, switch MAC address 1103, and transit device 1104. The transit device 1104 has multiple subfields so that the identifiers of multiple switches can be stored in order.

[0078] 11 shows an example having three subfields, but the number is not limited to three and may be determined according to the scale of the target network system. The transit device information 225 can also be considered to have a structure in which the field of the route port 904 in each entry of the route port set 223 is replaced with the field of the transit device 1104.

[0079] The process of the topology detection unit 210 in step 505 will be specifically described as follows. First, the topology detection unit 210 refers to the route port set 223 created in step 503, and for all entries, copies the values ​​of VLAN 901, terminal MAC address 902, and switch MAC address 903 directly to VLAN 1101, terminal MAC address 1102, and switch MAC address 1103 of the entries in the transit device information 225. That is, by this process, the same number of entries as the route port set 223 are created in the transit device information 225.

[0080] Next, the route port 904 of each entry in the route port set 223 is referenced, and the information of each port identifier stored there as a set is rearranged in the order of the route from the switch side to the terminal side. Specifically, the information in the MAC address learning count 224 is used to rearrange the information in the order of the number of learned MAC addresses.

[0081] This process is based on the property that when multiple switches are connected hierarchically and the terminal side is considered downstream, the more upstream the switch port, the greater the number of learned MAC addresses. This property occurs because at least the MAC addresses of switches passed through on the way are learned by switches further upstream. As a specific example, using entry 2 in route port set 223, the number of learned MAC addresses at each port registered in route port 904 is 5 for 111-2, 3 for 121-12, and 1 for 121-22, so the ports arranged in order of the route from the switch to the terminal are 111-2, 121-12, and 121-22.

[0082] Once this rearrangement process is complete, the identifier of each port is replaced with the identifier of the switch that has that port, and these are stored in order from the upstream side in the sub-entry of the transit device 1104 of the corresponding entry in the transit device information 225. Using the example of entry 2 above as an explanation, the switches to which ports 111-2, 121-12, and 121-22, arranged in route order, belong are 110, 120-1, and 120-2, respectively, and these are stored in the transit device 1104 of entry number 2 in the transit device information 224. This indicates that the switches indicated in the sub-fields of the transit device 1104 are adjacent in the order of the sub-fields.

[0083] The above processing is performed for all entries in the transit device information 225, and step 505 is completed.

[0084] Next, the topology detection unit 210 creates section information 226 by referring to the transit device information 225 created in step 505 and the learned port set 222 created in step 502 (step 506). The section information is information that indicates, for each combination of adjacent switches indicated in the transit device information obtained in step 506, which ports of those switches are actually connected to which ports of those switches.

[0085] 12 is a diagram showing an example of the contents of the section information 226. The section information 226 is made up of zero or more entries identified by entry numbers, and each entry has fields for VLAN 1201, terminal MAC address 1202, switch MAC address 1203, and section 1204. Note that section 1204 has multiple subfields so that port connection information between multiple switches can be stored.

[0086] 12 shows an example having two subfields, but the number may be determined depending on the scale of the target network system. The section information 226 can also be considered as replacing the value of the transit device 1104 with the section 1204 for each entry of the transit device information 225.

[0087] The process of the topology detection unit 210 in step 506 will be specifically described as follows.

[0088] First, the topology detection unit 210 refers to the transit device information 225 created in step 505, and copies the values ​​of the VLAN 1101, terminal MAC address 1102, and switch MAC address 1103 for all entries directly to the VLAN 1201, terminal MAC address 1202, and switch MAC address 1203 of the entries in the section information 226. In other words, this process creates the same number of entries in the section information 226 as in the transit device information 225.

[0089] Next, the information of the transit device 1104 in the transit device information 225 is referenced to determine the connection relationship of the ports between the switches indicated there, and the result is stored in the section 1204 of the corresponding entry in the section information 226. The combination of ports connected between two switches can be determined by reference to the learned port set 222.

[0090] As a specific example, taking entry 2 of the transit device information 225 as an example, the transit device 1104 indicates that the Layer 3 switch 110 and the Layer 2 switch 120-1 are adjacent to each other, and that the Layer 2 switches 120-1 and 120-2 are adjacent to each other.

[0091] Here, it is clear from the order of the subfields in transit device 1104 that Layer 3 switch 110 is upstream of Layer 2 switch 120-1 with respect to the terminal (terminal 130-1) with MAC address U10 indicated by terminal MAC address 1202, and therefore MAC address U10 should be learned at the port to which Layer 2 switch 120-1 is connected. Referring to learned port set 222, it is clear from the contents of entry 5 that the port that has learned U10 in Layer 3 switch 110 is port 111-2.

[0092] Therefore, the port to which Layer 2 switch 120-1 is connected in Layer 3 switch 110 is required to be port 111-2. On the other hand, the port to which Layer 3 switch 110 is connected in Layer 2 switch 120-1 should have learned MAC address S10 of Layer 3 switch 110 because Layer 3 switch 110 is upstream, and it is clear from entry 2 of learned port set 222 that the port of Layer 2 switch 120-1 that has learned S10 in VLAN 20 to which the terminal with MAC address U10 (terminal 130-1) belongs is port 121-11.

[0093] From the above, it is found that the connection between Layer 3 switch 110 and Layer 3 switch 120-1 is via their respective ports 111-2 and 121-11, and the value "111-2 ⇔ 121-11" is stored in the first subfield of section 1204 of entry 2 of section information 226. Using a similar procedure, it is found that the connection between Layer 2 switch 120-1 and Layer 2 switch 120-2 is via their respective ports 121-12 and 121-21, and the value "121-12 ⇔ 121-21" is stored in the second subfield of section 1204 of entry 2 of section information 226.

[0094] The above processing is performed for all entries in the section information 226, and step 506 is completed.

[0095] Finally, the topology detection unit 210 creates neighbor information 227 from the section information 226 (step 507). The neighbor information is information that summarizes the interconnection relationships of switches present in the Layer 2 network that is the target of topology detection, and is the final topology detection result.

[0096] 13 is a diagram showing an example of the contents of the neighbor information 227. The neighbor information 227 is made up of zero or more entries identified by entry numbers, and each entry has fields for a source device 1301, a source port 1302, a destination device 1303, and a destination port 1304.

[0097] The process of the topology detection unit 210 in step 507 will be specifically described as follows.

[0098] As a result of the processing from step 501 to step 506, the section 1204 of all entries in the section information 226 stores information on the connection ports (referred to here as sections) between switches that are connected to each other within the network system that is the subject of topology detection, and topology detection is essentially complete.

[0099] However, in the process of deriving this, a section is found for each route for every combination of terminals and switches present in each Layer 2 network in the network system. If any of these routes share the same section, duplicate values ​​will be stored in section 1204. Therefore, in step 507, the topology detection unit 210 performs a process of extracting unique sections from the sections 1204 of all entries in the section information 226. When this process is performed on the section information 226 in the state shown in FIG. 12, the unique sections become "111-2⇔121-11," "111-3⇔121-31," and "121-12⇔121-21." The topology detection unit 210 associates each of these sections with one entry in the adjacency information 227 and stores expanded section information in each entry.

[0100] To explain this in more detail using the example of entry 1 shown in Figure 13, entry 1 corresponds to the section "111-2⇔121-11", and since the switch to which port 111-2 belongs is Layer 3 switch 110, source device 1301 stores 110 as its identifier, source port 1302 stores 111-2 as the identifier of port 111-2, and source port 1302 stores 111-1 as its identifier, and the switch to which port 121-11 belongs is Layer 2 switch 120-1, so destination device 1303 stores 120-1 as its identifier, and destination port 1304 stores 121-1 as the identifier of port 121-11.

[0101] When the above process is performed for all unique sections extracted from the section information 226, the adjacent information 227 will contain adjacent information between all switches directly connected for each Layer 2 network in the network system that is the target of topology detection.

[0102] The contents of the neighbor information 227 shown in FIG. 13 represent the neighbor relationships among the layer 3 switch 110, layer 2 switch 120-1, layer 2 switch 120-2, and layer 2 switch 120-3 included in the network system shown in FIG.

[0103] As described above, the topology detection unit 210 can detect the topology of the layer 2 network by the processing of the flowchart shown in Fig. 5. The contents of the neighbor information 227, which is the final topology detection result, can be used, for example, to draw a network topology diagram using a drawing processing program (not shown) provided in the network management server 100, and display it on an output device (not shown).

[0104] According to this embodiment 1, even in a large-scale network system in which multiple layer 2 networks are connected by layer 3 switches, it is possible to obtain topology information showing the adjacent relationships of switches in each layer 2 network by using a single network management server connected to any location that can collect information from each switch in the network, without placing a network management server in each layer 2 network. [Example]

[0105] When using a switch in a network system, there may come a time when the switch needs to be restarted for some reason. The FDB information in the switch is dynamically generated by learning part of the header information of packets received while the switch is operating, so when the switch is restarted, the FDB information learned up to that point is cleared and then regenerated by learning again from received packets.

[0106] Therefore, when attempting to execute the processing according to the flowchart of Figure 5 in Example 1, if it is immediately after one of the switches has been restarted, the FDB information obtained from that switch may become empty.

[0107] Fig. 14 is a diagram showing an example of FDB collected information 221 obtained by the topology detection unit 210 executing step 501 of the flowchart in Fig. 5 at the timing when the Layer 2 switch 120-1 is restarted and its FDB information 420 is empty. The contents are as if the values ​​of each field of entries 10 to 14 in the FDB collected information 221 in Fig. 7 shown as the first embodiment have been deleted.

[0108] FIG. 15 is a diagram showing the contents of the neighbor information 227 that is finally obtained in step 507 when the topology detection unit 210 executes the processes from step 502 onward as they are when the FDB collected information 221 is in the state shown in FIG.

[0109] 15, if the FDB information of Layer 2 switch 120-1 cannot be obtained, topology information will be obtained that indicates that port 111-2 of Layer 3 switch 110 is directly connected to port 121-21 of Layer 2 switch 120-2, bypassing Layer 2 switch 120-1. In this second embodiment, an example of a network management server that can obtain correct topology information even in such a situation will be shown.

[0110] FIG. 16 is a diagram showing the configuration of the network management server 140 in the second embodiment. The difference in configuration between the network management server 140 and the network management server 100 of the first embodiment shown in Figure 2 is that the network management server 140 further includes tables for previous neighbor information 228, convergence counter 229, and convergence counter initial value 230 in memory 202, and that the topology detection unit 210 has been replaced with a topology detection unit 240 whose processing content is different from that of the topology detection unit 210.

[0111] The other components are the same as those in the network management server 100, and are assigned the same reference numerals as in Fig. 2. The contents of each table added to the network management server 140 will be described later.

[0112] In the second embodiment, the network management server 140 replaces the network management server 100 in the example network system of FIG. 1 and is connected to the port 111-1 of the layer 3 switch 110.

[0113] Next, an example of the operation of the topology detection unit 240 in the second embodiment to perform topology detection will be described with reference to a flowchart.

[0114] 17 is a flowchart showing an example of the operation of the topology detection unit 240 in the network management server 140. In the following description, operations that are the subject of a program such as the topology detection unit 240 are actually performed by the CPU 201 that executes the program.

[0115] The processing shown in this flowchart is assumed to be initiated, for example, periodically at predetermined times, or initiated by the network administrator entering commands, etc., through a user interface (not shown) provided on the network management server 140.

[0116] First, the topology detection unit 240 executes a series of processes in the flowchart 500 shown in FIG. 5 (step 1401).

[0117] Next, the topology detection unit 240 copies the contents of the neighbor information 227 obtained as a result of step 1401 to the previous neighbor information 228 (step 1402). The previous neighbor information 228 is a table for temporarily saving the contents of the neighbor information 227, and is a table having the same data structure as the neighbor information 227 illustrated in FIG.

[0118] Next, the topology detection unit 240 initializes the value of the convergence counter 229 (step 1403). The convergence counter 229 is a table that stores integer values, and the initialization is a process of copying the value of the convergence counter initial value 230 to the convergence counter 229. The convergence counter initial value 230 is a table that stores the initial value (integer value) of the convergence counter 229.

[0119] This value is determined by taking into consideration, for example, the time required for a network administrator to re-learn FDB information on a restarted switch, and is determined by determining the appropriate number of repetitions of the process required until the results of the neighbor information 227 obtained in the process of step 1401 or step 1404 described below become stable, and is set in advance via a user interface (not shown) of the network management server 140.

[0120] Next, the topology detection unit 240 executes again the series of processes in the flowchart 500 shown in FIG. 5 (step 1404).

[0121] Next, the topology detection unit 240 compares the contents of the neighbor information 227 obtained in step 1404 with the contents of the previous neighbor information 228 obtained in step 1402, and if they do not match, returns to the processing of step 1402 and repeats the subsequent processing.If they match, proceeds to step 1406 (step 1405).

[0122] In step 1406 , the topology detector 240 subtracts 1 from the value of the convergence counter 229 .

[0123] Next, the topology detection unit 240 determines the value of the convergence counter 229, and if it is not 0, returns to the processing of step 1404 and repeats the subsequent processing, and if it is 0, ends the processing of this flowchart (step 1407). At this point, the information stored in the neighbor information 227 becomes the finally obtained topology information.

[0124] The series of processes described above means that the basic topology detection process shown in flowchart 500 is repeatedly executed until the result stabilizes, and the value after stabilization is regarded as the topology detection result. In this embodiment, the result is determined to be stable when the same topology detection result is obtained by the process of flowchart 500 a preset number of times in succession (the value of convergence counter 230).

[0125] According to this embodiment 2, in addition to the effect obtained by embodiment 2, the effect of being able to correctly detect topology information indicating the adjacency relationship between switches in each Layer 2 network of the network system can be obtained even if a transient state occurs in the learning status of the FDB information in the switch due to factors such as switch restart.

[0126] Thus, in the above embodiment, the network management server detects the topology of each Layer 2 network by identifying the switches on the path and the ports of the switches connecting them for all combinations of terminals and switches in each Layer 2 network based on the FDB information collected from switches within the network.

[0127] According to the above embodiment, it is possible to provide a network management server that can detect the topology of each Layer 2 network in a large-scale network made up of multiple Layer 2 networks, regardless of the connection location within the network. [Explanation of symbols]

[0128] 100, 140 Network Management Server 110 Layer 3 Switch 120 Layer 2 Switch 111, 121 ports 130 terminals 201, 301, 401 CPUs 202, 302, 402 memory 203 Network Interface 303, 403 frame transfer unit 210 Topology detection unit 310, 410 SNMP response part 220 Access Information 221 FDB Collection Information 222 Learning Port Set 223 Route Port Set 224 learned MAC addresses 225 Transit device information 226 Section Information 227 Adjacent Information 228 Previous neighbor information 229 Convergence Counter 230 Convergence counter initial value 320, 420 FDB information

Claims

1. A network management server connected to a network including at least one terminal and a plurality of switches, One of the plurality of switches is a port connected to another switch of the plurality of switches and to at least one of the terminals; the network management server includes a topology detection unit that detects topology information representing a connection status between the terminals and the switches in the network; The topology detection unit collecting FDB information from said switch; extracting a MAC address of the terminal or the switch learned in the FDB information; generating learned port information from the FDB information, which aggregates identification information of the ports that learned the MAC addresses for each of the MAC addresses; For each of the MAC addresses, identify whether it is a terminal MAC address of the terminal or a switch MAC address of the switch; generating a combination of the switch and the terminal, with the switch having the switch MAC address as one side and the terminal having the terminal MAC address as the other side; For each of the combinations, the ports present on a path from one of the switches to the other of the terminals are identified as path port information from the learned port information; A network management server that detects the topology information by identifying the connection relationships of the switches based on the route port information.

2. The topology detection unit generating a MAC address learning number, which is the number of learned MAC addresses, based on the FDB information; generating, for each combination of the switch and the terminal, transit device information in which a list of the switches present on the route is arranged in order on the route based on the route port information and the number of learned MAC addresses; generating section information indicating a connection relationship between the one switch and the ports of the other switch for each combination of the switch and the terminal based on the transit device information and the learned port information; generating neighboring information that summarizes interconnection relationships of the switches present in the network based on the section information; 2. The network management server according to claim 1, wherein the topology information is detected based on the neighbor information.

3. The topology detection unit The network management server according to claim 2, characterized in that when a transient state occurs in the learning status of the FDB information within the switch due to a restart of the switch, the process of detecting the topology information is repeated until the results of the adjacent information become stable.

4. The network management server a previous neighbor information storage table for storing previous neighbor information; a convergence counter; a convergence counter initial value storage table that stores the initial value of the convergence counter, The topology detection unit The adjacent information is temporarily saved in the previous adjacent information storage table to generate the previous adjacent information; copying an initial value of the convergence counter to the convergence counter to initialize the value of the convergence counter; comparing the neighboring information with the previous neighboring information; If the result of the comparison indicates that the neighboring information and the previous neighboring information do not match, the process of detecting the topology information is repeated; If the comparison result indicates that the adjacent information and the previous adjacent information match, subtract 1 from the value of the convergence counter; determining a value of the convergence counter; If the result of the determination is that the value of the convergence counter is not 0, repeat the process of detecting the topology information; 4. The network management server according to claim 3, wherein, if the value of the convergence counter is 0 as a result of the determination, the process of detecting the topology information is terminated.

5. The topology detection unit The initial value of the convergence counter is set to The network management server according to claim 4, characterized in that the number of times the process of detecting the topology information required until the results of the neighbor information become stable is set, taking into account the time required for the restarted switch to re-learn the FDB information.

6. a plurality of said networks are connected to a single said network management server; The topology detection unit 2. The network management server according to claim 1, wherein the network management server detects the topology information relating to a plurality of the networks.

7. A topology detection program stored in a network management server connected to a network including at least one terminal and a plurality of switches, the program detecting topology information representing a connection status between the terminal and the switches in the network, the program comprising: One of the plurality of switches is a port connected to another switch of the plurality of switches and to at least one of the terminals; The topology detection program collecting FDB information from said switch; extracting a MAC address of the terminal or the switch learned in the FDB information; generating learned port information from the FDB information, which aggregates identification information of the ports that learned the MAC address for each of the MAC addresses; For each of the MAC addresses, identify whether it is a terminal MAC address of the terminal or a switch MAC address of the switch; generating a combination of the switch and the terminal, with the switch having the switch MAC address as one side and the terminal having the terminal MAC address as the other side; For each of the combinations, the ports present on a path from one of the switches to the other of the terminals are identified as path port information from the learned port information; a process of detecting the topology information by identifying a connection relationship of the switches based on the route port information; A topology detection program configured to be executed by a computer.

8. The topology detection program generating a MAC address learning number, which is the number of learned MAC addresses, based on the FDB information; generating, for each combination of the switch and the terminal, transit device information in which a list of the switches present on the route is arranged in order on the route based on the route port information and the number of learned MAC addresses; generating section information indicating a connection relationship between the one switch and the ports of the other switch for each combination of the switch and the terminal based on the transit device information and the learned port information; generating neighboring information that summarizes interconnection relationships of the switches present in the network based on the section information; 8. The topology detection program according to claim 7, wherein the topology information is detected based on the neighbor information.

9. The topology detection program The topology detection program of claim 8, characterized in that when a transient state occurs in the learning status of the FDB information within the switch due to a restart of the switch, the process of detecting the topology information is repeated until the results of the adjacent information stabilize.

10. A network controller connected to a network including at least one terminal and a plurality of switches. a management server for detecting topology information representing a connection status between the terminals and the switches in the network, the method comprising: One of the plurality of switches is a port connected to another switch of the plurality of switches and to at least one of the terminals; The topology detection method includes: collecting FDB information from the switch; extracting a MAC address of the terminal or the switch learned in the FDB information; generating, from the FDB information, learned port information that aggregates, for each MAC address, identification information of the ports that learned the MAC address; identifying, for each of the MAC addresses, whether the MAC address is a terminal MAC address of the terminal or a switch MAC address of the switch; generating a combination of the switch and the terminal, with the switch having the switch MAC address as one side and the terminal having the terminal MAC address as the other side; identifying, for each of the combinations, the ports present on a path from one of the switches to the other of the terminals as path port information from the learned port information; detecting the topology information by identifying a connection relationship of the switches based on the route port information; 1. A topology detection method comprising:

11. generating a MAC address learning number, which is the number of learned MAC addresses, based on the FDB information; generating, for each combination of the switch and the terminal, transit device information in which a list of the switches present on the route is arranged in order on the route based on the route port information and the number of learned MAC addresses; generating section information indicating a connection relationship between the one switch and the ports of the other switch for each combination of the switch and the terminal based on the transit device information and the learned port information; generating neighbor information that summarizes interconnection relationships of the switches present in the network based on the section information; detecting the topology information based on the neighbor information; The topology detection method of claim 10, further comprising:

12. When a transient state occurs in the learning status of the FDB information in the switch due to a restart of the switch, repeating the step of detecting the topology information until the result of the neighbor information becomes stable; The topology detection method of claim 11, further comprising:

Citation Information

Patent Citations

  • Topology information collection program, apparatus, and method

    JP2007228382A

  • Network configuration information acquisition method and device

    JP2010097273A

  • Device and method for estimating topology

    JP2011091536A

  • Relay device and program

    JP2015228629A

  • End host physical connection on a switch port using multiple ethernet frames

    US20160119188A1