Determination program, information processing apparatus, and determination method
The determination device uses test packets to determine the L2 switch connection of non-LLDP supporting devices by associating MAC addresses with switch ports, overcoming the challenge of identifying connections in complex networks.
Patent Information
- Application Number
- JP2024139338
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-20
- Publication Date
- 2026-03-05
AI Technical Summary
Devices that do not support LLDP (Link Layer Discovery Protocol) cannot be accurately determined to be connected to a specific L2 switch when multiple switches are present in a network, as MAC addresses are learned by all switches, making it impossible to identify the correct connection.
A determination device that sends test packets with specific MAC addresses to learn and associate them with switch ports, determining adjacency based on LLDP reception status, generating L2 topology information without affecting system communication.
Efficiently determines the L2 switch connection of devices that do not support LLDP, enabling accurate system topology mapping and optimal deployment of service functions.
Smart Images

Figure 2026036623000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to a determination program and the like. [Background technology]
[0002] In recent years, LLDP (Link Layer Discovery Protocol) has become known as a protocol for collecting information about adjacent nodes at Layer 2. LLDP is standardized in IEEE802.3AB. When network devices (L2 switches) support LLDP (Link Layer Discovery Protocol), the server that manages the network can use LLDP to exchange information between adjacent network devices at Layer 2 and understand the topology of the Layer 2 network. LLDP operates on the Ethernet communication standard. For example, when a network is distributed using Ethernet multicast, each network device (L2 switch) on the network can recognize adjacent nodes from the received packets.
[0003] Furthermore, although LLDP is not used, a technique for grasping the topology of a layer 2 network is known (see, for example, Patent Document 1). [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Application Publication No. 2023-128353 Summary of the Invention [Problem to be solved by the invention]
[0005] However, if a device does not support LLDP, it may not be possible to determine which L2 switch the device's Layer 2 interface is connected to. For example, if there is only one L2 switch in a network, the device's MAC address can be found from the L2 switch's MAC address learning table, making it possible to determine which L2 switch the device's Layer 2 interface is connected to. However, if there are multiple L2 switches in the network, the MAC address is learned by all the L2 switches that the packet passes through, making it impossible to determine which L2 switch the device is connected to.
[0006] According to one aspect, an object of the present invention is to efficiently grasp to which L2 switch the layer 2 interface of a device that does not support LLDP is connected. [Means for solving the problem]
[0007] According to one aspect, the conversion program causes a computer to execute the following process: checks whether the SIMD instructions included in the x64 execution code to be converted include 128×n (n = an integer from 1 to 16)-bit SIMD instructions; if the SIMD instructions do not include 256-bit or larger SIMD instructions but include 128-bit SIMD instructions, generates and outputs execution code that changes the setting value of the CPU's SIMD register size to 128 bits; switches to a target SIMD instruction when converting the x64 128-bit SIMD instructions to AArch64 SIMD instructions according to the changed SIMD register size; converts the x64 execution code to AArch64 execution code and outputs the AArch64 execution code. [Effects of the Invention]
[0008] According to one aspect, it is possible to efficiently determine which L2 switch the layer 2 interface of a device that does not support LLDP is connected to. [Brief explanation of the drawings]
[0009] [Figure 1] FIG. 1 is a diagram illustrating a flow of a determination process according to an embodiment. [Figure 2] FIG. 2 is a diagram illustrating an example of a functional configuration of a determination device according to an embodiment. [Figure 3] FIG. 3 is a diagram illustrating an example of a host information table according to the embodiment. [Figure 4] FIG. 4 is a diagram illustrating an example of a configuration of a switch information table according to the embodiment. [Figure 5] FIG. 5 is a diagram illustrating an example of a determination process according to the embodiment. [Figure 6] FIG. 6 is a diagram illustrating an example of a determination process according to the embodiment. [Figure 7] FIG. 7 is a diagram illustrating an example of a determination process according to the embodiment. [Figure 8] FIG. 8 is a diagram illustrating an example of a flowchart of the determination process according to the embodiment. [Figure 9] FIG. 9 illustrates an example of a computer that executes a determination program. [Figure 10] FIG. 10 is a reference diagram for explaining the frame format of LLDP. [Figure 11] FIG. 11 is a reference diagram for explaining how LLDP grasps the L2 (Ethernet) topology. [Figure 12] FIG. 12 is a diagram illustrating a problem that occurs when a device that does not support LLDP is connected. [Figure 13] FIG. 13 is a diagram illustrating a problem that occurs when a device that does not support LLDP is connected. DETAILED DESCRIPTION OF THE INVENTION
[0010] Hereinafter, embodiments of the determination program, information processing device, and determination method disclosed in the present application will be described in detail with reference to the accompanying drawings. However, the present invention is not limited to the embodiments.
[0011] First, we will explain protocols used to collect information about adjacent nodes at Layer 2 (L2). LLDP is one example of such a protocol. LLDP is standardized by IEEE 802.3AB. Therefore, most network devices, such as switches and routers, from network vendors are compatible with LLDP. LLDP also operates under the Ethernet communication standard. For example, when a network distributes packets via Ethernet multicast, each network device on the network can recognize adjacent nodes from the received packets. In other words, if all network devices on the network are LLDP-compatible, the information processing device managing the network can use LLDP to collect information exchanged between adjacent network devices at Layer 2 and understand the topology of the Layer 2 network. Hereinafter, Layer 2 may also be referred to as L2.
[0012] Figure 10 is a reference diagram explaining the LLDP frame format. As shown in Figure 10, a frame is assigned areas for the destination MAC address, source MAC address, data, etc. Within this, the data area is the frame format for LLDP. The LLDP frame format is expressed in TLV format. For example, the Port ID area is assigned to the position where the TLV type is "2." For Port ID, if the SubType is "1," the port name is set. Furthermore, the System name area is assigned to the position where the TLV type is "5." The host name is set in the System name. The Port ID and System name are the minimum information required to identify adjacent nodes. Note that hereinafter, frames may also be referred to as packets.
[0013] Figure 11 is a reference diagram explaining how LLDP is used to grasp L2 (Ethernet) topology. As shown in Figure 11, when host1 sends a packet, SW1, which receives the packet, acquires information about host1 from the received packet. That is, the information about host1 has a Port ID of "eth1" and a System name of "host1." When host2 sends a packet, SW1, which receives the packet, acquires information about host2 from the received packet. That is, the information about host2 has a Port ID of "eth0" and a System name of "host2." When SW2 sends a packet, SW1, which receives the packet, acquires information about SW2 from the received packet. That is, the information about SW2 has a Port ID of "GI0 / 0" and a System name of "SW2." From this, it can be seen that SW1's own "GI0 / 0" is connected to "eth1" of "host1," its own "GI0 / 1" is connected to "eth0" of "host2," and its own "GI0 / 2" is connected to "GI0 / 0" of "SW2." That is, SW1 recognizes "host1", "host2", and "SW2" as adjacent nodes from the received packet.
[0014] Similarly, when a packet is sent from SW1, host1, which receives the packet, obtains information about SW1 from the received packet. That is, the information for SW1 is "GI0 / 0" as the Port ID and "SW1" as the System name. From this, host1 knows that its own "eth1" is connected to "GI0 / 0" of "SW1." In other words, host1 recognizes "SW1" as an adjacent node from the received packet.
[0015] Similarly, host2 recognizes "SW1" as an adjacent node from the received packet. host3 recognizes "SW2" as an adjacent node from the received packet. SW2 recognizes "SW1" and "host3" as adjacent nodes from the received packet.
[0016] The information processing device can grasp the L2 topology by collecting information about each adjacent node from each node connected to the layer 2 network.
[0017] LLDP is an IEEE standard protocol that runs on most switches, onboard Linux® / Windows®-based systems, and expansion network interface cards (NICs). Therefore, LLDP can be used to understand the L2 topology. However, in recent years, accelerator technology known as xPUs has advanced, which offloads processing previously performed by central processing units (CPUs). While the number of xPUs with Ethernet interfaces is increasing, not all xPUs necessarily support LLDP. For xPUs that do not support LLDP, the L2 topology cannot be understood. Examples of xPUs include graphics processing units (GPUs) and data processing units (DPUs).
[0018] 12 and 13 are diagrams for explaining the problem that occurs when devices that do not support LLDP are connected. In Fig. 12, the xPUs installed in host1 and host2 do not support LLDP.
[0019] The top part of Figure 12 shows a simple topology with only one switch. In this case, the MAC address of the xPU can be found from the MAC address learning table, so it is possible to determine which port the xPU is connected to. That is, when a packet is sent from host1, SW1 learns the MAC address "x" of the packet's source. When a packet is sent from host2, SW1 learns the MAC address "y" of the packet's source. Then, SW1 can see from the MAC address learning table that the xPU with MAC address "x" is connected to Port1, and the xPU with MAC address "y" is connected to Port2.
[0020] The bottom part of Figure 12 shows a topology with multiple switches. In this case, the source MAC address is learned by all the switches the packet passes through, so it is impossible to determine which switch the source MAC address is adjacent to. In other words, when a packet is sent from host1, SW1, SW2, and SW3 each learn the packet's source MAC address "x." Then, SW1 to SW3 each learn MAC address "x" on their respective Port 1, and it is impossible to determine which switch is adjacent to xPU with MAC address "x."
[0021] One way to determine adjacent nodes is to sequentially disconnect the links of the ports that are learning MAC addresses and check how far they have been learned. In Figure 13, just like in Figure 12, the xPUs installed in host1 and host2 do not support LLDP. Also, in Figure 13, just like in the bottom half of Figure 12, there are multiple stages of switches.
[0022] As shown in FIG. 13, when a packet is sent from host1, SW1, SW2, and SW3 each learn the MAC address "x" of the packet's sender.
[0023] Under these circumstances, as shown by symbol k3, if the link of Port1 that SW3 is learning is disconnected and a packet is sent from host1 again, SW1 and SW2 will still learn it. Therefore, SW3 is not an adjacent node of xPU with MAC address "x".
[0024] Next, as shown by symbol k2, if the link of Port1 that SW2 has learned is disconnected and a packet is sent from host1 again, SW1 continues to learn it. Therefore, SW2 is not an adjacent node of xPU with MAC address "x".
[0025] Next, as shown by symbol k1, if the link of Port1 that SW1 has learned is disconnected and a packet is sent from host1 again, no SW will learn it. Therefore, it can be seen that SW1 is adjacent to xPU with MAC address "x".
[0026] However, such a method has an impact on the system, such as cutting off communication of other traffic, etc. Therefore, in the following embodiment, a determination device will be described that determines to which L2 switch the L2 interface of a device that does not support LLDP is connected, without affecting the system.
[0027] (Image of the judgment process) FIG. 1 is a diagram showing the flow of a determination process according to an embodiment. As shown in FIG. 1, a system 90 includes, for example, a determination device 10, hosts 1 and 2, multiple switches 1 to 3, and a function deployment controller 30. Hosts 1 and 2 are an example of a device equipped with an xPU that does not support LLDP. SWs 1 to 3 are LLDP-compatible L2 switches, and are connected in multiple stages. Note that SWs 1 to 3 may be routers instead of switches. Also, although there are three switches in FIG. 1, the number of switches is not limited to three.
[0028] The determination device 10 determines to which L2 switch the L2 interface of the device that does not support LLDP is connected.
[0029] For example, the determination device 10 causes host1 to transmit a test packet (S1). This is to allow multiple SWs 1 to 3 on the connection path of the xPU mounted on host1 to learn the MAC address of the xPU. As an example, host1 transmits a test packet with the MAC address "x" of the xPU itself as the source MAC address. Note that the xPU mounted on host1 does not support LLDP, so LLDP is not transmitted. Then, each of SWs 1 to 3 learns the MAC address "x" from the received packet and determines whether LLDP can be received. As a result, each of SWs 1 to 3 stores a MAC table that associates the MAC address "x" with the port number "1" on the SW side, and also associates the ability to receive LLDP for each port number. Here, SW1 stores a MAC table that associates port "1" with MAC address "x." In addition, port "1" is associated with "not received" as the ability to receive LLDP.
[0030] On the other hand, SW2 stores a MAC table associating port "1" with MAC address "x." In addition, port "1" is associated with "reception" as the LLDP reception status. This is because SW2 receives LLDP from SW1, which supports LLDP. SW3 stores a MAC table associating port "1" with MAC address "x." In addition, port "1" is associated with "reception" as the LLDP reception status. This is because SW3 receives LLDP from SW2, which supports LLDP.
[0031] In other words, the adjacency of SWs can be determined by LLDP, which was explained in Figure 11. In addition, whether LLDP can be received or not can tell which port of the SW is unknown. In this case, it can be seen that the range beyond port "1" of SW1 is unknown.
[0032] Then, the determination device 10 acquires association information between the MAC address and the host name from host1, whose adjacent SW is unknown (S2). Here, the association information associates the MAC address "x" with the host name "host1."
[0033] Then, the determination device 10 acquires, for each of SW1 to 3, a correspondence relationship between the MAC table and whether or not LLDP can be received for each port number (S3). That is, the determination device 10 acquires, for each of SW1 to 3, a correspondence relationship between the switch-side port number, the MAC address of the xPU, and whether or not LLDP can be received.
[0034] Then, based on the correspondence relationship acquired for each of SW1 to SW3, the determination device 10 determines that SW1 is an adjacent switch of the xPU having MAC address "x" (S4). That is, the determination device 10 determines an adjacent switch of an xPU that does not support LLDP based on the MAC table and whether or not LLDP is running. In other words, the determination device 10 determines that the MAC address "x" learned from a port (Port "1") whose destination is unknown (LLDP not received) is a MAC address adjacent to that port.
[0035] Similarly, the determination device 10 causes host2 to send a test packet. As a result, each of SW1 to SW3 learns MAC address "y" from the received packet and determines whether LLDP reception is possible. Whether LLDP reception is possible or not reveals that the destination beyond port "2" of SW3 is unknown. The determination device 10 then acquires information linking MAC addresses and host names from host2, whose adjacent SW is unknown. The determination device 10 then acquires a MAC table and whether LLDP reception is possible for each port number for each of SW1 to SW3. The determination device 10 then determines that SW3 is an adjacent switch of the xPU having MAC address "y" based on the acquired correspondence for each of SW1 to SW3. In other words, the determination device 10 determines that MAC address "y" learned from a port (port "2") whose destination is unknown (LLDP not received) is a MAC address adjacent to that port.
[0036] Then, the determination device 10 generates L2 topology information indicating which device (xPU) is connected to the port of SW using the result of the determination in S4 and the linking information acquired in S2 (S5). Here, the generated L2 topology information indicates that "host1" is connected to the port of SW1, and "host2" is connected to the port of SW3.
[0037] Thereafter, the determination device 10 transmits the generated L2 topology information to the function deployment controller 30 (S6).
[0038] Here, the function deployment controller 30 deploys functions based on, for example, acquired L2 topology information. Specifically, in a service provision format known as microservices, service functions that constitute an application are deployed to multiple servers (hosts). These service functions may then be connected via a network to form a single application. In such a case, when connecting service functions, it may be desirable to select a route with the fewest number of SW hops to minimize delay. To achieve this, the function deployment controller 30 needs to know the topology between the host on which the service function is deployed and the SW, and how the SWs are connected. In other words, the function deployment controller 30 needs to know the adjacent nodes of the host on which the service function is deployed and the SW. Therefore, the function deployment controller 30 can minimize delay by deploying service functions based on the L2 topology information generated by the determination device 10.
[0039] (Functional configuration of the determination device) 2 is a diagram illustrating an example of the functional configuration of a determination device according to an embodiment. As illustrated in FIG. 2, the determination device 10 includes a topology information collection unit 11, a host information acquisition unit 12, a switch information acquisition unit 13, a MAC learning confirmation unit 14, an LLDP reception confirmation unit 15, an adjacent switch determination unit 16, and a topology information update unit 17. The determination device 10 also stores a host information table 21 and a switch information table 22 in a storage unit (not shown).
[0040] The topology information collection unit 11 collects topology information of the system 90 .
[0041] For example, the topology information collector 11 causes the device to send a test packet and causes the switch on the connection path to learn the MAC address. In addition, the topology information collector 11 causes the device to determine whether LLDP reception is possible. The test packet here may be, for example, a ping, as long as the source MAC address is set.
[0042] If LLDP is received, each switch on the connection path determines whether LLDP can be received as "Yes," and if it is not received, determines whether LLDP can be received as "No." As a result, each switch holds switch information that indicates the correspondence between the switch's port number, the device's MAC address, and whether LLDP can be received. An example of the device here is host1 and 2 shown in Figure 1. An example of the switch here is SW1 to SW3 shown in Figure 1.
[0043] The topology information collector 11 then collects topology information between switches and between switches and devices based on the port ID and host name of the LLDP sender received by each switch. If a device does not support LLDP, the switch connected to the device cannot identify the port ID and host name of the LLDP sender and therefore cannot recognize the device. An unrecognizable device is one whose neighboring switch is unknown.
[0044] The host information acquiring unit 12 acquires host information of devices whose adjacent switches are unknown. For example, the host information acquiring unit 12 extracts devices whose adjacent switches are unknown from the topology information collected by the topology information collecting unit 11. Then, the host information acquiring unit 12 acquires host information that associates the MAC address and host name of the device from the extracted device. Then, the host information acquiring unit 12 stores the acquired host information in the host information table 21.
[0045] An example of the configuration of the host information table 21 will now be described with reference to FIG. 3. FIG. 3 is a diagram showing an example of the configuration of the host information table according to the embodiment. The host information table 21 stores host information in which MAC addresses are associated with host names. The MAC address is the MAC address of a device. The host name is a name that uniquely represents a device. As an example, if the MAC is "x", "host1" is set as the host name. If the MAC is "y", "host2" is set as the host name.
[0046] 2, the switch information acquiring unit 13 acquires switch information for each switch. For example, the switch information acquiring unit 13 acquires switch information from each switch on the system 90. Then, the switch information acquiring unit 13 stores the switch information acquired for each switch in the switch information table 22. That is, the switch information acquiring unit 13 stores, for each switch, the correspondence relationship between the switch-side port number, the device MAC address, and whether or not LLDP can be received.
[0047] An example of the configuration of the switch information table 22 will now be described with reference to Fig. 4. Fig. 4 is a diagram showing an example of the configuration of the switch information table according to the embodiment. As shown in Fig. 4, the switch information table 22 stores, for each switch, a correspondence relationship between a port, a MAC address, and whether LLDP reception is possible. The port is the port number on the switch side when the device is learned. The MAC is the MAC address of the learned device. The LLDP reception status indicates whether the device that most recently transmitted LLDP is possible to receive. If LLDP is received, for example, "received" indicating "possible" is set in the LLDP reception status. If LLDP is not received, for example, "not received" indicating "not possible" is set in the LLDP reception status.
[0048] As an example, if the name of the switch is "SW1," "1" is associated with the port, "x" with the MAC, and "not received" with respect to whether LLDP is received, and "2" is associated with the port, "y" with the MAC, and "received" with respect to whether LLDP is received.
[0049] Returning to FIG. 2, the MAC learning confirmation unit 14 confirms whether the MAC address of a device whose adjacent switch is unknown has been learned. For example, the MAC learning confirmation unit 14 extracts the MAC address of a device whose adjacent switch is unknown from the host information table 21. Then, the MAC learning confirmation unit 14 confirms, for each switch, whether the extracted MAC address has been learned, using the switch information table 22. As an example, the MAC learning confirmation unit 14 extracts MAC addresses associated with host names in order from the host information table 21. Then, for each switch, the MAC learning confirmation unit 14 confirms, from the switch information table 22 corresponding to the switch, whether the extracted MAC address has been learned (set).
[0050] The LLDP reception confirmation unit 15 confirms whether LLDP has been received at the learned port. For example, the LLDP reception confirmation unit 15 confirms, for each switch, whether LLDP has been received at the port at which the MAC address has been learned, using the switch information table 22. As an example, when the MAC learning confirmation unit 14 confirms that the target MAC address has been learned (set) for a specific switch, the LLDP reception confirmation unit 15 checks whether LLDP reception is possible from the corresponding switch information table 22.
[0051] The adjacent switch determination unit 16 determines an adjacent switch of a device whose adjacent switch is unknown. For example, when the LLDP reception confirmation unit 15 does not confirm the reception of LLDP at the port where the MAC address of a specific switch has been learned, the adjacent switch determination unit 16 determines the specific switch as an adjacent switch of the device indicating that MAC address. In other words, the adjacent switch determination unit 16 determines a switch corresponding to an entry in the switch information table 22 where LLDP reception has not been confirmed as an adjacent switch of the device indicating the MAC address of that entry.
[0052] The topology information update unit 17 updates the topology information. For example, the topology information update unit 17 reflects (updates) the topology information between the switch and device determined to be adjacent by the adjacent switch determination unit 16 in the topology information collected by the topology information collection unit 11. After that, the topology information update unit 17 updates the topology information for all devices whose adjacent switches are unknown, and then transmits the updated topology information to the function deployment controller 30.
[0053] (An example of a determination process) An example of the determination process executed by the determination device 10 will now be described with reference to Figures 5 to 7. Figures 5 to 7 are diagrams illustrating an example of the determination process according to the embodiment.
[0054] As shown in Figure 5, for example, assume that the function deployment controller 30 wants to know the L2 topology between host1 and host2, which are equipped with xPUs that do not support LLDP. That is, the function deployment controller 30 wants to know the number of switch hops in order to deploy functions based on the L2 topology. Here, LLDP is running on SW1 to SW3, so the adjacent switches are known. However, because LLDP is not supported on host1 and host2, it is unknown to which switches they are connected. That is, the connection relationships between host1, SW1 to SW3, and host2 shown in Figure 5 are topology information that indicates the currently known L2 topology.
[0055] Under these circumstances, as shown in FIG. 6, in the determination device 10, the topology information collection unit 11 transmits a test packet from host1 with the MAC address ("x") of the xPU mounted on host1 as the source address, causing SW1 to learn the MAC address. Also, in the determination device 10, the topology information collection unit 11 transmits a test packet from host2 with the MAC address ("y") of the xPU mounted on host2 as the source address, causing SW1 to learn the MAC address. Then, SW1 to SW3 hold MAC information indicating the port number on the switch side and the MAC address "x" of the xPU mounted on host1. Also, SW1 to SW3 hold MAC information indicating the port number on the switch side and the MAC address "y" of the xPU mounted on host2.
[0056] Here, for the MAC information of SW1, if the port is "1", then "x" is associated as the MAC address, and if the port is "2", then "y" is associated as the MAC address. The MAC information of SW2 and SW3 is also associated in the same way as SW1. Note that in FIG. 6, the port numbers on the switch side for all SW1 to SW3 happen to be the same, but this is not limited to this and it is sufficient that they are the numbers of the ports that received the test packets.
[0057] 7, in the determination device 10, when the topology information collection unit 11 transmits a test packet from host 1, it causes SW1 to SW3 to determine whether LLDP reception is possible. As a result, SW1 to SW3 associate MAC information with whether LLDP reception is possible for each port number on the switch side. In other words, SW1 to SW3 hold switch information indicating the correspondence between the port number on the switch side, the MAC address of the xPU mounted on the host, and whether LLDP reception is possible.
[0058] Here, for SW1, if the port number (Port) on the switch side is "1," "Not received" is associated as the LLDP reception status, and if the port number (Port) on the switch side is "2," "Receive" is associated as the LLDP reception status. For SW2, if the port number (Port) on the switch side is "1," "Receive" is associated as the LLDP reception status, and if the port number (Port) on the switch side is "2," "Receive" is associated as the LLDP reception status. For SW3, if the port number (Port) on the switch side is "1," "Receive" is associated as the LLDP reception status, and if the port number (Port) on the switch side is "2," "Not received" is associated as the LLDP reception status.
[0059] In the determination device 10, the switch information acquisition unit 13 stores, for each of SW1 to SW3, switch information indicating the correspondence between the switch side port number, the MAC address of the SW, and whether LLDP can be received, in the switch information table 22. In addition, the host information acquisition unit 12 acquires host information of host1 and host2 from host1 and host2 that have xPUs whose adjacent switches are unknown, and stores the host information in the host information table 21.
[0060] The determination device 10 then determines switches that have learned the MAC address and for which the LLDP reception status at the learned port is "not received." For example, for host1, which is equipped with an xPU whose adjacent switch is unknown, the MAC learning checker 14 extracts the MAC address of the xPU equipped in host1 from the host information table 21. Here, the extracted MAC address is "x." The MAC learning checker 14 then checks, for each SW, whether the extracted MAC address has been learned using the switch information table 22. Here, it is confirmed that the MAC address "x" has been learned at port "1" of SW1 to SW3. The LLDP reception checker 15 then checks, for each SW, whether LLDP has been received at the port at which the MAC address "x" has been learned using the switch information table 22. Here, for SW1, it is determined that the LLDP reception status at port "1" at which the MAC address "x" has been learned is "not received." Therefore, SW1 is determined to be an adjacent switch of the xPU having the MAC address "x."
[0061] Next, for host2, whose adjacent SW is unknown, the MAC learning check unit 14 extracts the MAC address of the xPU installed in host2 from the host information table 21. In this case, the extracted MAC address is "y." The MAC learning check unit 14 then checks, for each SW, whether the extracted MAC address has been learned, using the switch information table 22. Here, it is confirmed that MAC address "y" has been learned on port "2" of SW1 to SW3. The LLDP reception check unit 15 then checks, for each SW, whether LLDP has been received on the port on which MAC address "y" has been learned, using the switch information table 22. Here, for SW3, it is determined that LLDP reception is "not received" on port "2" on which MAC address "y" has been learned. Therefore, SW3 is determined to be an adjacent switch of the xPU having MAC address "y."
[0062] Then, the topology information update unit 17 reflects (updates) the topology information between the SW and the host determined to be adjacent in the topology information shown in Fig. 5. After that, the topology information update unit 17 transmits the updated topology information to the function deployment controller 30. As a result, the function deployment controller 30 deploys functions based on the transmitted topology information.
[0063] This allows the determining apparatus 10 to efficiently grasp to which L2 switch the layer 2 interface of a device that does not support LLDP is connected.
[0064] (Flowchart of determination process) Here, a flowchart of the determination process performed by the determination device 10 will be described with reference to Fig. 8. Fig. 8 is a diagram showing an example of a flowchart of the determination process according to the embodiment.
[0065] 8, the determination apparatus 10 collects topology information of devices and switches included in the system 90 (step S11). For example, the determination apparatus 10 causes the devices included in the system 90 to transmit test packets. Then, the determination apparatus 10 collects topology information between the switches and between the switches and the devices based on the test packets received by each switch.
[0066] Then, the determination device 10 acquires the correspondence between the learned port, the MAC address of the device, and whether or not LLDP is receivable for each switch, and stores the association in the switch information table 22 (step S11A).
[0067] The determination device 10 then extracts devices whose adjacent switches are unknown from the collected topology information (step S12). Here, it is assumed that there are N target devices (N is an integer equal to or greater than 1). The determination device 10 sets "1" to index X, which indicates the processing order of the target device (step S13).
[0068] The determination device 10 determines whether the index X is smaller than the maximum number N of target devices (step S14). If it is determined that X is smaller than N (step S14; Yes), the determination device 10 searches for an adjacent switch of the Xth device (xPU) as in the following steps S16 to S22 (step S15).
[0069] First, the determination device 10 extracts the MAC address of the Xth device (step S16). Here, the extracted MAC address is assumed to be "x." For example, the determination device 10 acquires host information from the Xth device, which associates the MAC address of the device with a host name. Then, the determination device 10 extracts the MAC address from the host information.
[0070] Next, the determination device 10 starts searching for an adjacent switch of MAC address "x" (step S17). Hereinafter, it is assumed that index Y represents the order of processing of the target switch. The determination device 10 checks the switch information table 22 of the Yth switch (step S18). As a result of the check, the determination device 10 determines whether or not MAC address "x" has been learned (step S19). If it is determined that MAC address "x" has not been learned (step S19; No), the determination device 10 transitions to step S21 to proceed to processing of the next switch.
[0071] On the other hand, if it is determined that the MAC address "x" has been learned (step S19; Yes), the determination apparatus 10 determines whether or not LLDP is being periodically received at the learning port that learned the MAC address "x" (step S20). If it is determined that LLDP is being periodically received at the learning port (step S20; Yes), the determination apparatus 10 determines that the Y-th switch is not adjacent to a device that does not support LLDP, and proceeds to step S21 to proceed to processing of the next switch. In step S21, the determination apparatus 10 increments the index Y by 1, and proceeds to step S18.
[0072] On the other hand, if it is determined that LLDP is not being received periodically at the learning port (step S20; No), the determination device 10 determines that the Y-th switch is an adjacent switch to the xPU having the MAC address "x" learned at the learning port (step S22). Then, the determination device 10 updates the topology information (step S23). Then, the determination device 10 increments the index X by 1 (step S24). Then, the determination device 10 proceeds to step S14.
[0073] In step S14, if the determination apparatus 10 determines that X is not smaller than N (step S14; No), the determination apparatus 10 has processed all devices and therefore ends the determination process.
[0074] [Effects of the Example] According to the above embodiment, in the system 90, a switch is directly connected to a host that does not support LLDP. The determination device 10 acquires, for each of a plurality of switches on the connection path of the host, a correspondence relationship between the switch's port number, the host's MAC address, and whether LLDP is received. The determination device 10 determines, among the correspondence relationship entries, a switch corresponding to an entry indicating that LLDP is not received, as an adjacent switch of the host that indicates the MAC address of that entry. In this way, by using the correspondence relationship, the determination device 10 can efficiently determine which switch a device (host) that does not support LLDP is connected to, without affecting the system 90.
[0075] Furthermore, according to the above embodiment, the determination device 10 causes the host to transmit a test packet and acquires the correspondence relationship, thereby allowing the determination device 10 to generate correspondence relationships for each of the multiple switches on the connection path of the host.
[0076] Furthermore, according to the above embodiment, the determination device 10 collects a topology indicating the connection relationships of the system when a host transmits a test packet. The determination device 10 then reflects the connection relationships between adjacent switches and devices determined by the determination process in the collected topology. As a result, even if the system includes a device (host) that does not support LLDP, the determination device 10 can determine which switch the host that does not support LLDP is connected to and accurately generate the system topology.
[0077] [others] Note that the components of the illustrated determination device 10 do not necessarily have to be physically configured as shown. That is, the specific form of distribution and integration of the determination device 10 is not limited to that shown, and all or part of it can be functionally or physically distributed and integrated in any unit depending on various loads, usage conditions, etc. Also, a storage unit (not shown) that stores various tables, etc., may be connected via a network as an external device to the determination device 10.
[0078] In addition, in the embodiment, the function deployment controller 30 is configured to be physically separate from the determination device 10, but this is not limited to this. The determination device 10 may also be configured to include the functions of the function deployment controller 30.
[0079] The various processes described in the above embodiments can be realized by executing a prepared program on a computer such as a personal computer or a workstation. Hereinafter, an example of a computer that executes a determination program that realizes the same functions as the determination device 10 shown in Fig. 2 will be described. Here, a determination program that realizes the same functions as the determination device 10 will be described as an example. Fig. 9 is a diagram showing an example of a computer that executes a determination program.
[0080] 9, computer 200 includes a CPU (Central Processing Unit) 203 that executes various types of arithmetic processing, an input device 215 that accepts data input from a user, and a display device 209. Computer 200 also includes a drive device 213 that reads programs and the like from a storage medium, and a communication I / F (Interface) 217 that transmits and receives data to and from other computers via a network. Computer 200 also includes a memory 201 that temporarily stores various types of information, and an HDD (Hard Disk Drive) 205. Memory 201, CPU 203, HDD 205, display control unit 207, display device 209, drive device 213, input device 215, and communication I / F 217 are connected by a bus 219.
[0081] The drive device 213 is, for example, a device for the removable disk 211. The HDD 205 stores a determination program 205a and determination processing related information 205b. The communication I / F 217 manages the interface between the network and the inside of the device, and controls the input and output of data from other computers. The communication I / F 217 can be, for example, a modem or a LAN adapter.
[0082] The display device 209 is a display device that displays a cursor, an icon, a toolbox, and data such as documents, images, and function information. The display device 209 can be, for example, a liquid crystal display or an organic EL (Electroluminescence) display.
[0083] The CPU 203 reads the determination program 205a, loads it into the memory 201, and executes it as a process. These processes correspond to the functional units of the determination device 10. The determination process related information 205b includes various tables, such as a host information table 21 and a switch information table 22. The removable disk 211, for example, stores each piece of information, such as the determination program 205a.
[0084] It should be noted that the determination program 205a does not necessarily have to be stored in the HDD 205 from the beginning. For example, the program may be stored in a "portable physical medium" such as a flexible disk (FD), CD-ROM, DVD disk, magneto-optical disk, or IC card that is inserted into the computer 200. The computer 200 may then read and execute the determination program 205a from the medium.
[0085] Furthermore, the process performed by the determining device 10 described in the above embodiment can be applied to cases where it is desired to grasp the L2 topology in a system in which devices (for example, xPUs) that do not support LLDP are mixed. [Explanation of symbols]
[0086] 10 Judgment device 11 Topology Information Collection Unit 12 Host information acquisition unit 13 Switch information acquisition unit 14 MAC learning confirmation section 15 LLDP Reception Confirmation Section 16 Adjacent switch determination unit 17 Topology information update unit 21 Host Information Table 22 Switch Information Table 90 Systems
Claims
1. In a system where a switch directly connects to a device that does not support LLDP (Link Layer Discovery Protocol), For each of a plurality of switches on a connection path of the device, a correspondence relationship between a port number on the switch side, a MAC address of the device, and whether or not LLDP can be received is obtained; Among the correspondence entries, a switch corresponding to an entry for which LLDP has not been received is determined to be an adjacent switch of the device that indicates the MAC address of the entry. A judgment program that causes a computer to execute a process.
2. The process of acquiring the correspondence relationship includes causing the device to transmit a test packet and acquiring the correspondence relationship.
2. The determination program according to claim 1.
3. When the test packet is transmitted from the device, a topology indicating a connection relationship of the system is collected; The connection relationship between the neighboring switch and the device determined by the determining process is reflected in the collected topology.
3. The determination program according to claim 2.
4. An information processing device that supports a system in which a switch directly connects to a device that does not support LLDP (Link Layer Discovery Protocol), an acquisition unit that acquires, for each of a plurality of switches on a connection path of the device, a correspondence relationship between a port number on the switch side, a MAC address of the device, and whether or not LLDP can be received; a determination unit that determines a switch corresponding to an entry in which LLDP has not been received among the correspondence entries as an adjacent switch of a device that indicates the MAC address of the entry; An information processing device having the above.
5. In a system where a switch directly connects to a device that does not support LLDP (Link Layer Discovery Protocol), For each of a plurality of switches on a connection path of the device, a correspondence relationship between a port number on the switch side, a MAC address of the device, and whether or not LLDP can be received is obtained; Among the correspondence entries, a switch corresponding to an entry for which LLDP has not been received is determined to be an adjacent switch of the device that indicates the MAC address of the entry. A method for determining whether a process is executed by a computer.
Citation Information
Patent Citations
Network management server, topology detection program and topology detection method
JP2023128353A