JP2023128353A - Network management server, topology detection program and topology detection method - Google Patents

Network management server, topology detection program and topology detection method Download PDF

Info

Publication number
JP2023128353A
JP2023128353A JP2022032648A JP2022032648A JP2023128353A JP 2023128353 A JP2023128353 A JP 2023128353A JP 2022032648 A JP2022032648 A JP 2022032648A JP 2022032648 A JP2022032648 A JP 2022032648A JP 2023128353 A JP2023128353 A JP 2023128353A
Authority
JP
Japan
Prior art keywords
information
switch
port
terminal
mac address
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022032648A
Other languages
Japanese (ja)
Inventor
宏征 山尾
Hiromasa Yamao
智彦 河野
Tomohiko Kono
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alaxala Networks Corp
Original Assignee
Alaxala Networks Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alaxala Networks Corp filed Critical Alaxala Networks Corp
Priority to JP2022032648A priority Critical patent/JP2023128353A/en
Publication of JP2023128353A publication Critical patent/JP2023128353A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

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

Description

本発明は、ネットワーク管理サーバ、トポロジ検出プログラム及びトポロジ検出方法に関する。 The present invention relates to a network management server, a topology detection program, and a topology detection method.

ネットワーク運用者はネットワークのトポロジ図を用いてネットワークの状態を理解する。しかしネットワークの大規模化によりトポロジ図を手動で作成する労力が膨大となる上、最新の状態を維持し続けることは更に労力が必要となる。そのためネットワーク管理サーバなどの機能でネットワーク内の装置の接続状況を表すトポロジ図を自動作成することが求められている。 Network operators use network topology diagrams to understand the state of the network. However, as the scale of the network increases, the effort required to manually create a topology diagram becomes enormous, and it becomes even more labor intensive to keep it up to date. Therefore, there is a need for a function such as a network management server to automatically create a topology diagram that represents the connection status of devices within a network.

ネットワーク管理サーバではトポロジ図を描くためにネットワーク装置がどの装置と隣接しているかを把握する必要がある。そのために、例えばLLDP(Link Layer Discovery Protocol)などのプロトコルで隣接装置から受信した情報や、ユーザが入力した隣接関係を使用している。しかし、特にマルチベンダー環境においては、LLDPのような隣接関係を把握するためのプロトコルのサポート規格が異なっていて利用できない、あるいは、ユーザが手動で隣接関係を入力しようにもネットワーク装置を増設した箇所を忘れて入力が漏れるといった人為ミスが発生する問題があり、隣接関係を検出するための特別なプロトコルに依存することなく、自動でネットワーク装置間の隣接関係を検出する技術が求められている。 In order to draw a topology diagram, the network management server needs to know which devices each network device is adjacent to. For this purpose, information received from neighboring devices using a protocol such as LLDP (Link Layer Discovery Protocol) or adjacency relationships input by the user are used. However, especially in a multi-vendor environment, protocols for understanding adjacency relationships such as LLDP may not be available due to different support standards, or users may have to add network devices to manually enter adjacency relationships. There is a problem in which human error occurs, such as forgetting information and inputting information, and there is a need for a technology that automatically detects adjacency relationships between network devices without relying on a special protocol for detecting adjacency relationships.

このような技術の一例として例えば特許文献1に記載の技術がある。この技術は、LLDPのような隣接関係を把握するためのプロトコルは使用せずに、レイヤ2ネットワーク内の各レイヤ2スイッチにおけるネットワーク監視端末とレイヤ2スイッチのMAC(Media Access Control)アドレスの学習状況に基づいてレイヤ2ネットワークのトポロジを検出している。 An example of such a technique is the technique described in Patent Document 1, for example. This technology does not use a protocol to understand adjacency relationships such as LLDP, but instead uses the learning status of the MAC (Media Access Control) address of the network monitoring terminal and the layer 2 switch in each layer 2 switch in the layer 2 network. The topology of the layer 2 network is detected based on the

国際公開番号 WO2006/118203International publication number WO2006/118203

一般にパケット中のMACアドレスはルータやレイヤ3スイッチなどの装置を経由すると書き換えられてしまう。特許文献1記載の技術は、ネットワーク監視端末のMACアドレスの学習状況も利用しているため、ネットワーク監視端末はトポロジ検出の対象とするレイヤ2ネットワークに直接接続されていることが必要となる。 Generally, the MAC address in a packet is rewritten when it passes through a device such as a router or layer 3 switch. Since the technique described in Patent Document 1 also utilizes the learning status of the MAC address of the network monitoring terminal, the network monitoring terminal needs to be directly connected to the layer 2 network whose topology is to be detected.

そのため、レイヤ3スイッチを介して複数のレイヤ2ネットワークを組み合わせたような大規模なネットワークに適用しようとした場合、各レイヤ2ネットワークにネットワーク監視端末を用意しなければならないという課題がある。 Therefore, when attempting to apply the method to a large-scale network that combines a plurality of layer 2 networks via a layer 3 switch, there is a problem in that a network monitoring terminal must be provided for each layer 2 network.

本発明の目的は、大規模なネットワークシステムにおいて単一のネットワーク管理サーバを用いてネットワークのトポロジを検出することにある。 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.

本発明の一態様のネットワーク管理サーバは、少なくとも一つの端末と複数のスイッチを含むネットワークに接続されるネットワーク管理サーバであって、前記複数のスイッチの一のスイッチは、前記複数のスイッチの他のスイッチと前記端末の少なくとも一つに接続されるポートを含み、前記ネットワーク管理サーバは、前記ネットワーク内の前記端末と前記スイッチに関する接続状況を表すトポロジ情報を検出するトポロジ検出部を含み、前記トポロジ検出部は、前記スイッチからFDB情報を収集し、前記FDB情報に学習されている前記端末又は前記スイッチのMACアドレスを抽出し、前記MACアドレスごとに前記MACアドレスを学習した前記ポートの識別情報を集約した学習ポート情報を前記FDB情報から生成し、前記MACアドレスのそれぞれについて、前記端末が持つ端末MACアドレスであるか前記スイッチが持つスイッチMACアドレスであるかを特定し、前記スイッチMACアドレスを持つ前記スイッチを一方とし、前記端末MACアドレスを持つ前記端末を他方とする前記スイッチと前記端末の組み合わせを生成し、前記組み合わせごとに、一方の前記スイッチから他方の前記端末に至る経路上に存在する前記ポートを前記学習ポート情報から経路ポート情報として特定し、前記経路ポート情報に基づいて、前記スイッチの接続関係を特定して前記トポロジ情報を検出することを特徴とする。 A network management server according to one aspect of the present invention is a network management server connected to a network including at least one terminal and a plurality of switches, wherein one switch of the plurality of switches is connected to another of the plurality of switches. The network management server includes a port connected to at least one of a switch and the terminal, and the network management server includes a topology detection unit that detects topology information representing a connection status regarding the terminal and the switch in the network, and the topology detection unit The unit collects FDB information from the switch, extracts the MAC address of the terminal or the switch learned from the FDB information, and aggregates identification information of the port that learned the MAC address for each MAC address. The learned port information is generated from the FDB information, and for each of the MAC addresses, it is specified whether it is a terminal MAC address owned by the terminal or a switch MAC address owned by the switch, and the learned port information having the switch MAC address is determined. A combination of the switch and the terminal is generated, with the switch as one side and the terminal having the terminal MAC address as the other, and for each combination, the The present invention is characterized in that a port is specified as route port information from the learning port information, and based on the route port information, a connection relationship of the switches is specified and the topology information is detected.

本発明の一態様によれば、大規模なネットワークシステムにおいて単一のネットワーク管理サーバを用いてネットワークのトポロジを検出することができる。 According to one aspect of the present invention, a single network management server can be used to discover the topology of a network in a large-scale network system.

実施例1のネットワークシステム構成例を示す図である。1 is a diagram showing an example of a network system configuration according to a first embodiment; FIG. 実施例1のネットワーク管理サーバの構成例を示す図である。1 is a diagram illustrating a configuration example of a network management server according to a first embodiment; FIG. 実施例1のレイヤ3スイッチの構成例を示す図である。FIG. 3 is a diagram illustrating a configuration example of a layer 3 switch according to the first embodiment. 実施例1のレイヤ2スイッチの構成例を示す図である。FIG. 2 is a diagram illustrating a configuration example of a layer 2 switch according to the first embodiment. 実施例1におけるネットワーク管理サーバによるトポロジ検出動作の一例を説明するフローチャートである。5 is a flowchart illustrating an example of a topology detection operation by the network management server in the first embodiment. 実施例1のアクセス情報の内容の一例を示す図である。3 is a diagram showing an example of the contents of access information according to the first embodiment. FIG. 実施例1のFDB収集情報の内容の一例を示す図である。FIG. 3 is a diagram showing an example of the contents of FDB collection information according to the first embodiment. 実施例1の学習ポート集合の内容の一例を示す図である。FIG. 3 is a diagram showing an example of the contents of a learning port set according to the first embodiment. 実施例1の経由ポート集合の内容の一例を示す図である。3 is a diagram showing an example of the contents of a transit port set according to the first embodiment. FIG. 実施例1のMACアドレス学習数の内容の一例を示す図である。FIG. 3 is a diagram showing an example of the contents of the number of MAC address learnings according to the first embodiment. 実施例1の経由装置情報の内容の一例を示す図である。FIG. 3 is a diagram showing an example of the contents of transit device information according to the first embodiment. 実施例1の区間情報の内容の一例を示す図である。FIG. 3 is a diagram showing an example of the contents of section information according to the first embodiment. 実施例1の隣接情報の内容の一例を示す図である。FIG. 3 is a diagram illustrating an example of the content of adjacent information according to the first embodiment. 実施例2においてレイヤ2スイッチの一つが学習済みMACアドレスをクリアした直後に収集したときのFDB収集情報の内容の一例を示す図である。FIG. 7 is a diagram illustrating an example of the contents of FDB collection information collected immediately after one of the layer 2 switches clears a learned MAC address in the second embodiment. 実施例2においてレイヤ2スイッチの一つが学習済みMACアドレスをクリアした直後に生成されたFDB収集情報に基づいて作成した区間情報の内容の一例を示す図である。FIG. 7 is a diagram illustrating an example of the contents of section information created based on FDB collection information generated immediately after one of the layer 2 switches clears a learned MAC address in the second embodiment. 実施例2のネットワーク管理サーバの構成例を示す図である。FIG. 3 is a diagram illustrating a configuration example of a network management server according to a second embodiment. 実施例2におけるネットワーク管理サーバによるトポロジ検出動作の一例を説明するフローチャートである。7 is a flowchart illustrating an example of topology detection operation by the network management server in the second embodiment.

以下、本発明の実施例について図面を用いて説明する。 Embodiments of the present invention will be described below with reference to the drawings.

図1は、本発明によりレイヤ2ネットワークのトポロジ検出の対象とするネットワークシステムの構成の一例を示したものである。
このネットワークシステムは、一つのレイヤ3スイッチ110を中心に三つのレイヤ2ネットワークが接続された構成となっている。複数のレイヤ2ネットワークにはそれぞれ異なるVLAN(Virtual Local Area Network) IDを割り当て、ネットワークシステム内でレイヤ2ネットワークの識別が可能になっているものとする。図1の例では、三つのレイヤ2ネットワークにそれぞれ10、20、30のVLAN IDを割り当て、各レイヤ2ネットワークをそれぞれVLAN10、VLAN20、VLAN30と表記している。以降の説明では、レイヤ2ネットワークをVLANと表現する場合がある。
FIG. 1 shows an example of the configuration of a network system targeted for topology detection of a layer 2 network according to the present invention.
This network system has a configuration in which three layer 2 networks are connected around one layer 3 switch 110. It is assumed that a different VLAN (Virtual Local Area Network) ID is assigned to each of the plurality of layer 2 networks, so that the layer 2 networks can be identified within the network system. In the example of FIG. 1, VLAN IDs of 10, 20, and 30 are assigned to three layer 2 networks, respectively, and each layer 2 network is expressed as VLAN10, VLAN20, and VLAN30, respectively. In the following description, the layer 2 network may be expressed as a VLAN.

VLAN20は、二つのレイヤ2スイッチ120-1と120-2、および三つの端末130-1、130-2、130-3を含んでいる。端末とは、例えばユーザが直接使用するPCなどの端末デバイス、あるいは何らかのネットワークサービスを提供するサーバなどである。 VLAN 20 includes two layer 2 switches 120-1 and 120-2 and three terminals 130-1, 130-2, and 130-3. The terminal is, for example, a terminal device such as a PC that is directly used by a user, or a server that provides some kind of network service.

VLAN30は、一つのレイヤ2スイッチ120-3、および二つの端末130-4、130-5を含んでいる。 VLAN 30 includes one layer 2 switch 120-3 and two terminals 130-4 and 130-5.

VLAN10は、本発明によるレイヤ2ネットワークのトポロジ検出を行うネットワーク管理サーバ100を含んでいる。この例ではVLAN10に存在する装置はネットワーク管理サーバ100のみで、レイヤ3スイッチ110のポート111-1に直接接続されているが、さらに他の端末装置などがレイヤ2スイッチなどを経由して接続されていてもよい。 The VLAN 10 includes a network management server 100 that performs layer 2 network topology detection according to the present invention. In this example, the only device existing in VLAN10 is the network management server 100, which is directly connected to port 111-1 of the layer 3 switch 110, but other terminal devices are connected via layer 2 switches, etc. You can leave it there.

なお、以降の説明で複数のレイヤ2スイッチおよび端末に関して、個々のレイヤ2スイッチおよび端末を区別して説明する場合は図1に示した符号を用いて参照し、共通する説明を行う場合はレイヤ2スイッチ120および端末130という符号により参照する。 In the following explanation, regarding multiple layer 2 switches and terminals, when explaining the individual layer 2 switches and terminals separately, the reference numerals shown in FIG. Referenced by switch 120 and terminal 130.

また、以降の説明ではネットワークシステムを構成するレイヤ3スイッチ、レイヤ2スイッチ、端末などを総称してネットワーク装置と呼び、レイヤ3スイッチとレイヤ2スイッチを総称して単にスイッチと呼ぶ。 Furthermore, in the following description, layer 3 switches, layer 2 switches, terminals, etc. that constitute a network system are collectively referred to as network devices, and layer 3 switches and layer 2 switches are collectively referred to simply as switches.

また、図1の中で各ネットワーク装置内に括弧書きで付されているN10、S10、U10等の記号は、そのネットワーク装置が持つMACアドレスを表している。 Further, symbols such as N10, S10, and U10 placed in parentheses within each network device in FIG. 1 represent the MAC address possessed by that network device.

なお、図1の例ではネットワーク管理サーバ100はVLAN10内に接続されているが、ネットワークシステム内の各スイッチと通信して情報を収集できるところであればネットワーク内のどこに接続されていてもよい。 In the example of FIG. 1, the network management server 100 is connected within the VLAN 10, but it may be connected anywhere within the network as long as it can communicate with each switch within the network system and collect information.

以下、図1の構成においてネットワーク管理サーバ100がレイヤ2ネットワークであるVLAN20とVLAN30のトポロジを検出する例を説明する。 An example in which the network management server 100 detects the topology of the VLAN 20 and VLAN 30, which are layer 2 networks, in the configuration of FIG. 1 will be described below.

図2は、ネットワーク管理サーバ100の内部構成を示す図である。ネットワーク管理サーバ100は、演算をするためのCPU(Central Processing Unit)201、データやCPU201が実行するプログラムを格納するメモリ202、他のネットワーク装置に回線を介して接続するためのネットワークIF(インタフェース)203から構成される。 FIG. 2 is a diagram showing the internal configuration of the network management server 100. The network management server 100 includes a CPU (Central Processing Unit) 201 for performing calculations, a memory 202 for storing data and programs executed by the CPU 201, and a network IF (interface) for connecting to other network devices via a line. 203.

メモリ202には、CPU201が実行するプログラムであるトポロジ検出部210、および、トポロジ検出部210を実行する過程で必要となるデータがいくつかのテーブルとして格納される。格納されるテーブルは、アクセス情報220、FDB(Forwarding DataBase)収集情報221、学習ポート集合222、経路ポート集合223、MACアドレス学習数224、経由装置情報225、区間情報226、隣接情報227である。各テーブルの構造と内容例については、図5のフローチャートを用いて後述するトポロジ検出動作の説明の中で示す。 The memory 202 stores a topology detection unit 210, which is a program executed by the CPU 201, and data required in the process of executing the topology detection unit 210 as several tables. The stored tables are access information 220, FDB (Forwarding DataBase) collection information 221, learning port set 222, route port set 223, number of learned MAC addresses 224, via device information 225, section information 226, and adjacent information 227. The structure and content example of each table will be shown in the explanation of the topology detection operation described later using the flowchart of FIG.

ネットワーク管理サーバ100は、CPU201がプログラムであるトポロジ検出部210を実行することで、ネットワークIF203を介してレイヤ3スイッチ110やレイヤ2スイッチ120から必要な情報を収集し、それらの接続状況であるトポロジを検出するように動作する。 The network management server 100 collects necessary information from the layer 3 switch 110 and layer 2 switch 120 via the network IF 203 by having the CPU 201 execute the topology detection unit 210, which is a program, and collects necessary information from the layer 3 switch 110 and the layer 2 switch 120 through the network IF 203. It works to detect.

図3は、レイヤ3スイッチ110の内部構成の一例を示す図である。レイヤ3スイッチとは、ポートで受信したパケットのヘッダ部分に含まれる情報に基づいて、当該パケットを別のポートにレイヤ2中継またはレイヤ3中継を行う機能を持ったネットワーク装置である。 FIG. 3 is a diagram showing an example of the internal configuration of the layer 3 switch 110. A layer 3 switch is a network device that has a function of performing layer 2 relay or layer 3 relay of a packet received at a port to another port based on information included in the header of the packet.

レイヤ3スイッチ110は、CPU301、メモリ302、フレーム転送部303、複数のポート111から構成される。なお、複数のポート111を区別して説明する場合には、図1に示すように111-1、111-2といった符号により参照する。 The layer 3 switch 110 includes a CPU 301, a memory 302, a frame transfer unit 303, and a plurality of ports 111. Note that when the plurality of ports 111 are to be explained separately, they will be referred to by reference numerals such as 111-1 and 111-2 as shown in FIG.

メモリ302には、他のネットワーク装置からのSNMP(Simple Network Management Protocol)による問い合わせに応答するためにCPU301が実行するプログラムであるSNMP応答部310と、ポート111で受信したパケットに対するレイヤ2中継処理で必要となるFDB情報320が少なくとも格納される。FDB情報320は、各ポート111の先に接続されているネットワーク装置が持つMACアドレスを、当該ネットワーク装置が送信したパケットを受信した際に学習して格納するテーブルであり、学習したMACアドレスと、当該MACアドレスを学習したポート111の識別子と、当該ポート111が所属するVLANのVLAN IDを組み合わせた情報を一つの学習情報として学習した分だけ格納される。また、SNMPによる問い合わせとは、例えばFDB情報320の読み出し要求とそれに対する応答などの処理である。 The memory 302 includes an SNMP response unit 310, which is a program executed by the CPU 301 to respond to SNMP (Simple Network Management Protocol) inquiries from other network devices, and a layer 2 relay process for packets received at port 111. At least necessary FDB information 320 is stored. The FDB information 320 is a table that learns and stores the MAC address of a network device connected to each port 111 when a packet transmitted by the network device is received, and stores the learned MAC address and Information that combines the identifier of the port 111 that learned the MAC address and the VLAN ID of the VLAN to which the port 111 belongs is stored as one piece of learning information. In addition, an SNMP inquiry is, for example, a process such as a request to read the FDB information 320 and a response thereto.

なお、図3のメモリ302では、レイヤ3スイッチとしての機能を実現するために必要なその他のプログのラムやデータの記載は省略している。 Note that in the memory 302 of FIG. 3, descriptions of other program programs and data necessary for realizing the function as a layer 3 switch are omitted.

フレーム転送部303は、ポート111で受信したパケットのヘッダ情報に基づいてレイヤ3中継またはレイヤ2中継処理により当該パケットの転送先となるポート111を決定し、当該ポート111からパケットを送信するもので、例えばLSIなどのハードウェアによる論理回路で構成される。 The frame transfer unit 303 determines the port 111 to which the packet is to be transferred by layer 3 relay or layer 2 relay processing based on the header information of the packet received at the port 111, and transmits the packet from the port 111. , for example, is composed of a hardware logic circuit such as an LSI.

図4は、レイヤ2スイッチ120の内部構成の一例を示す図である。レイヤ2スイッチとは、ポートで受信したパケットのヘッダ部分に含まれる情報に基づいて、当該パケットを別のポートにレイヤ2中継を行う機能を持ったネットワーク装置である。 FIG. 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 a function of layer 2 relaying a packet received at a port to another port based on information included in the header of the packet.

レイヤ2スイッチ120は、CPU401、メモリ402、フレーム転送部403、複数のポート121から構成される。なお、複数のポート121を区別して説明する場合には、図1に示すように121-11、121-12といった符号により参照する。 The layer 2 switch 120 includes a CPU 401, a memory 402, a frame transfer unit 403, and a plurality of ports 121. Note that when the plurality of ports 121 are to be explained separately, they will be referred to by reference numerals such as 121-11 and 121-12 as shown in FIG.

メモリ402には、他のネットワーク装置からのSNMPによる問い合わせに応答するためにCPU401が実行するプログラムであるSNMP応答部410と、ポート121で受信したパケットに対するレイヤ2中継処理で必要となるFDB情報420が少なくとも格納される。FDB情報420は、図3で説明したレイヤ3スイッチ110のFDB情報320と同様である。また、SNMPによる問い合わせも図3で説明したものと同様である。 The memory 402 includes an SNMP response unit 410, which is a program executed by the CPU 401 in order to respond to SNMP inquiries from other network devices, and FDB information 420, which is necessary for layer 2 relay processing for packets received at the port 121. is stored at least. The FDB information 420 is similar to the FDB information 320 of the layer 3 switch 110 described in FIG. 3. Further, the inquiry by SNMP is also the same as that explained with reference to FIG.

なお、メモリ402では、レイヤ2スイッチとしての機能を実現するために必要なその他のプログラムやデータの記載は省略している。 Note that in the memory 402, descriptions of other programs and data necessary to realize the function as a layer 2 switch are omitted.

フレーム転送部403は、ポート121で受信したパケットのヘッダ情報に基づいてレイヤ2中継処理により当該パケットの転送先となるポート121を決定し、当該ポート121からパケットを送信するもので、例えばLSIなどのハードウェアによる論理回路で構成される。 The frame transfer unit 403 determines the port 121 to which the packet is transferred by layer 2 relay processing based on the header information of the packet received at the port 121, and transmits the packet from the port 121. It consists of logic circuits based on hardware.

次に、ネットワーク管理サーバ100のCPU201が実行するトポロジ検出部210の処理によってVLAN20とVLAN30の二つのレイヤ2ネットワークのトポロジ検出を行う動作の例についてフローチャートを用いて説明する。 Next, an example of the operation of detecting the topology of two layer 2 networks, VLAN 20 and VLAN 30, by the process of the topology detection unit 210 executed by the CPU 201 of the network management server 100 will be described using a flowchart.

図5は、トポロジ検出部210による処理の一例を示すフローチャートである。以降の説明でトポロジ検出部210などのプログラムが主語となっている動作は、実際にはプログラムを実行するCPU201の動作によるものである。 FIG. 5 is a flowchart illustrating an example of processing by the topology detection unit 210. In the following explanation, the operations in which programs such as the topology detection unit 210 are the subject are actually caused by the operations of the CPU 201 that executes the programs.

なお、このフローチャートで示される一連の処理は、例えば決められた時間ごとに定期的に起動される、あるいは、ネットワーク管理サーバ100が備える図示されないユーザインタフェースを通してネットワーク管理者がコマンド等を入力して指示することにより起動される。 Note that the series of processes shown in this flowchart may be started periodically at predetermined times, for example, or may be instructed by a network administrator inputting a command or the like through a user interface (not shown) provided in the network management server 100. It is activated by

まず、トポロジ検出部210は、アクセス情報220に基づいてネットワークシステム内に存在するレイヤ3スイッチおよびレイヤ2スイッチからFDB情報を収集し、FDB収集情報221に格納する(ステップ501)。 First, the topology detection unit 210 collects FDB information from layer 3 switches and layer 2 switches existing in the network system based on the access information 220, and stores it in the FDB collection information 221 (step 501).

図6は、アクセス情報220の内容の一例を示す図である。アクセス情報220は、FDB情報の収集対象とするレイヤ3スイッチ110およびレイヤ2スイッチ120とその収集方法の情報を格納するテーブルであり、0個以上のエントリから構成される。各エントリは、装置601、IPアドレス602、アクセス手段603、MACアドレス604の各フィールドを持つ。 FIG. 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 switch 110 and layer 2 switch 120 that are targets for collecting FDB information and their collection method, and is composed of zero or more entries. Each entry has fields of device 601, IP address 602, access means 603, and MAC address 604.

装置601は、FDB情報収集の対象とするレイヤ3スイッチ110およびレイヤ2スイッチ120の識別子を示すフィールドである。図6の例では識別子として便宜的に図1で付した符号を用いているが、管理目的で付与された装置名などであってもよい。IPアドレス602とMACアドレス604は、装置601で示されるスイッチが持つIPアドレスとMACアドレスを示すフィールドである。 The device 601 is a field indicating the identifiers of the layer 3 switch 110 and layer 2 switch 120 targeted for FDB information collection. In the example of FIG. 6, the symbols given in FIG. 1 are used as identifiers for convenience, but it may also be a device name given for management purposes. The IP address 602 and MAC address 604 are fields indicating the IP address and MAC address of the switch indicated by the device 601.

アクセス手段603は、装置601で示される装置からFDB情報を読み出すための手段を示すフィールドで、例えばMIB(Management Information Base)と指定されていた場合は、SNMPによりFDB情報を読み出すことを示している。 Access means 603 is a field indicating means for reading FDB information from the device indicated by device 601. For example, if MIB (Management Information Base) is specified, it indicates that FDB information is to be read by SNMP. .

図6の内容は、図5のフローチャートに示す処理が始まる前にあらかじめ設定されているものとする。 It is assumed that the contents of FIG. 6 have been set in advance before the processing shown in the flowchart of FIG. 5 begins.

図7は、FDB収集情報221の内容の一例を示す図である。
FDB収集情報221は、レイヤ3スイッチ110およびレイヤ2スイッチ120から収集したFDB情報を保存するためのテーブルであり、エントリ番号で識別される0個以上のエントリから構成される。各エントリは、装置701、MACアドレス702、学習VLAN703、学習ポート704の各フィールドを持つ。なお、以降の説明では、エントリ番号nを持つエントリをエントリnと表現する。これは、後述するエントリ番号を持つ他のテーブルについても同様である。
FIG. 7 is a diagram showing an example of the contents of the FDB collection information 221.
The FDB collection 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 of device 701, MAC address 702, learning VLAN 703, and learning port 704. Note that in the following description, the entry with entry number n will be expressed as entry n. This also applies to other tables having entry numbers, which will be described later.

装置701は、FDB情報の収集元となったレイヤ3スイッチ110およびレイヤ2スイッチ120の識別子を示すフィールドである。MACアドレス702と学習VLAN703と学習ポート704は、収集されたFDB情報の1エントリ分の情報である学習されたMACアドレスと、そのMACアドレスを学習したポートの所属VLANのVLAN IDと、そのMACアドレスを学習したポートの識別子をそれぞれ格納するフィールドである。 The device 701 is a field indicating the identifiers of the layer 3 switch 110 and layer 2 switch 120 from which the FDB information was collected. The MAC address 702, learned VLAN 703, and learned port 704 contain 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 MAC address. This field stores the identifier of each port that has learned.

ステップ501におけるトポロジ検出部210の処理内容を具体的に説明すると、トポロジ検出部210は、アクセス情報220を参照し、各エントリに示されるレイヤ3スイッチ110およびレイヤ2スイッチ120に対して、アクセス手段603の値がMIBであることに従ってSNMPによるFDB読み出し要求パケットを同エントリのIPアドレス602が示すIPアドレス宛に送信する。 To specifically explain the processing content of the topology detection unit 210 in step 501, the topology detection unit 210 refers to the access information 220 and determines the access means for the layer 3 switch 110 and layer 2 switch 120 indicated in each entry. Since the value of 603 is MIB, an SNMP FDB read request packet is sent to the IP address indicated by IP address 602 of the same entry.

当該要求パケットを受信したレイヤ3スイッチ110およびレイヤ2スイッチ120は、当該要求パケットをSNMP応答部310または410で処理し、FDB情報320または420の内容を格納した応答パケットをネットワーク管理サーバ100宛に返送する。当該応答パケットをネットワーク管理サーバ100が受信すると、トポロジ検出部210は当該応答パケットに含まれる情報に情報収集元となった装置の識別子の情報(同エントリの装置601の値)を付加してFDB収集情報221の空きエントリに順次格納していく。 The layer 3 switch 110 and layer 2 switch 120 that received the request packet process the request packet in the SNMP response unit 310 or 410, and send a response packet containing the contents of the FDB information 320 or 420 to the network management server 100. Send it back. When the network management server 100 receives the response packet, the topology detection unit 210 adds information on the identifier of the device from which the information was collected (the value of the device 601 in the same entry) to the information included in the response packet and sends it to the FDB. The collected information 221 is sequentially stored in empty entries.

図7に示す数値例は、図1のネットワーク構成の場合にステップ501で生成されるFDB収集情報221の内容を示したものである。なお、図7において装置701と学習ポート704に格納する識別子は便宜的に図1で付した符号により示しているが、管理目的で付与されたその他の識別子を用いてもよい。 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 shown in FIG. Note that in FIG. 7, the identifiers stored in the device 701 and the learning port 704 are shown by the symbols given in FIG. 1 for convenience, but other identifiers given for management purposes may be used.

次に、トポロジ検出部210は、ステップ501で生成したFDB収集情報221を参照して学習ポート集合222を作成する(ステップ502)。 Next, the topology detection unit 210 creates a learning port set 222 by referring to the FDB collection information 221 generated in step 501 (step 502).

学習ポート集合とは、FDB情報の一部として収集されたネットワーク装置のVLAN IDとMACアドレスの組み合わせをキーとして、そのVLAN IDとMACアドレスの組み合わせを学習しているポートの集合を求めたものである。 The learning port set is a set of ports that have learned the combination of VLAN ID and MAC address of the network device collected as part of the FDB information, using the combination of VLAN ID and MAC address as a key. be.

図8は、学習ポート集合222の内容の一例を示す図である。学習ポート集合222は、エントリ番号で識別される0個以上のエントリから構成され、各エントリはVLAN801、MACアドレス802、学習ポート803の各フィールドを持つ。VLAN801とMACアドレス802の組み合わせに前述したキーとなる値の組み合わせが格納され、当該組み合わせを学習しているポートの識別子の集合が学習ポート803に格納される。 FIG. 8 is a diagram showing an example of the contents of the learning port set 222. The learning port set 222 is composed of zero or more entries identified by entry numbers, and each entry has fields of VLAN 801, MAC address 802, and learning port 803. The above-described combination of key values is stored in the combination of VLAN 801 and MAC address 802, and a set of identifiers of ports that have learned the combination is stored in learning port 803.

ステップ502におけるトポロジ検出部210の処理内容を具体的に説明すると、例えばVLAN20においてレイヤ3スイッチ110のMACアドレスS10を学習しているポートは、図7に示すFDB収集情報221の各エントリのMACアドレス702と学習VLAN703の値を検索するとエントリ10とエントリ15に格納されていることが分かり、各エントリの学習ポート704の値が121-11と121-21となっていることから、VLAN801に20を、MACアドレス802にS20を、学習ポート803に{121-11,121-21}をそれぞれ格納したエントリを学習ポート集合222に作成する。 To specifically explain the processing content of the topology detection unit 210 in step 502, for example, the port that has learned the MAC address S10 of the layer 3 switch 110 in the VLAN 20 has the MAC address of each entry in the FDB collection information 221 shown in FIG. When searching for the values of 702 and learning VLAN 703, it is found that they are stored in entries 10 and 15, and since the values of learning port 704 in each entry are 121-11 and 121-21, set 20 to VLAN 801. , S20 is stored in the MAC address 802, and entries {121-11, 121-21} are stored in the learning port 803, respectively, in the learning port set 222.

図8の例では、エントリ2がこの例で作成されたエントリに対応する。トポロジ検出部210は、図7に格納されているすべてのMACアドレス702と学習VLAN703の一意の組み合わせを抽出して、それぞれついて上述のような処理を行う。その結果、例えば図7のような内容のFDB収集情報221に対しては図8のような内容の学習ポート集合222が作成される。 In the example of FIG. 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 learning VLANs 703 stored in FIG. 7, and performs the above-described processing on each of them. As a result, for example, for the FDB collection information 221 as shown in FIG. 7, a learning port set 222 as shown in FIG. 8 is created.

次に、トポロジ検出部210は、ステップ502で作成した学習ポート集合222を参照して経路ポート集合223を作成する(ステップ503)。 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).

経路ポート集合とは、ネットワークシステム中の特定のスイッチから特定の端末に至る経路上に存在する当該端末のMACアドレスを学習しているポートの集合を抽出したものである。この情報は、特定のスイッチから端末の間にさらに別のレイヤ2スイッチが存在した場合に、それも含めた経路上のすべてのスイッチを特定するために使用されるものである。 A route port set is a set of ports that have learned the MAC addresses of terminals that exist on a route from a specific switch to a specific terminal in the network system. This information is used to identify all the switches on the route including another layer 2 switch if there is another layer 2 switch between the specific switch and the terminal.

このようなポートの集合を、VLAN IDごとに、そのVLANに所属しているすべての端末とスイッチの組み合わせを生成してそれらに対して求めると、スイッチ間の接続関係を導き出すための情報を網羅的に得ることができる。 If we generate a set of ports like this for each VLAN ID and find the combinations of all the terminals and switches that belong to that VLAN, then we will have all the information needed to derive the connection relationships between the switches. can be obtained.

図9は、経路ポート集合223の内容の一例を示す図である。
経路ポート集合223は、エントリ番号で識別される0個以上のエントリから構成され、各エントリはVLAN901、端末MACアドレス902、スイッチMACアドレス903、経路ポート904の各フィールドを持つ。
FIG. 9 is a diagram showing an example of the contents of the route port set 223.
The route port set 223 is composed of zero or more entries identified by entry numbers, and each entry has fields of VLAN 901, terminal MAC address 902, switch MAC address 903, and route port 904.

ステップ503におけるトポロジ検出部210の処理内容を具体的に説明すると次のようになる。 The details of the processing performed by the topology detection unit 210 in step 503 will be explained in detail as follows.

まず、トポロジ検出部210はステップ502で作成した学習ポート集合222を参照して、VLANごとにそこに所属するネットワーク装置の全MACアドレスを抽出する。 First, the topology detection unit 210 refers to the learning port set 222 created in step 502 and extracts all MAC addresses of network devices belonging to each VLAN.

例えば、図8の学習ポート集合222においてVLAN IDが20のVLANについて見ると、所属するネットワーク装置のMACアドレスは、エントリ2からエントリ7に登録されているS10、S20、S21、U10、U20、U30の6個であることが分かる。このうち、S10とS20とS21の3個については、アクセス情報220のMACアドレス604に事前登録されている情報からスイッチのMACアドレスであることが分かるので、それ以外のMACアドレスU10、U20、U30の3個は端末のMACアドレスであると判断できる。 For example, if we look at the VLAN with VLAN ID 20 in the learning port set 222 in FIG. It can be seen that there are 6 pieces. Among these, three of them, S10, S20, and S21, are known to be the MAC addresses of the switch from the information pre-registered in the MAC address 604 of the access information 220, so the other MAC addresses U10, U20, and U30 These three can be determined to be the MAC addresses of the terminal.

したがって、VLAN20において端末とスイッチのすべての組み合わせは3×3の9通りとなる。図9の例では、この9通りの組み合わせをエントリ2からエントリ10のVLAN901、端末MACアドレス902、スイッチMACアドレス903に格納している様子を示している。 Therefore, the total number of combinations of terminals and switches in VLAN 20 is 3×3 (9). The example in FIG. 9 shows how these nine combinations are stored in the VLAN 901, terminal MAC address 902, and switch MAC address 903 of entries 2 to 10.

他のVLANも同様の処理を行い、各エントリのVLAN901、端末MACアドレス902、スイッチMACアドレス903に値が格納されている状態にする。なお、スイッチのMACアドレスが一つも学習されていないVLANは、そのVLAN内にレイヤ3スイッチ110およびレイヤ2スイッチ120が存在しないことを意味するので、以降の処理の対象外とする。 Similar processing is performed for the other VLANs so that values are stored in the VLAN 901, terminal MAC address 902, and switch MAC address 903 of each entry. Note that a VLAN in which no switch MAC address has been learned means that the layer 3 switch 110 and the layer 2 switch 120 do not exist in that VLAN, and is therefore excluded from subsequent processing.

次に、トポロジ検出部210は、経路ポート集合223の各エントリの経路ポート904に格納する値を求める処理を行う。この値は、学習ポート集合222に格納されている端末の学習ポートの集合からスイッチの学習ポートの集合に含まれる要素を除いた集合として求めることができる。 Next, the topology detection unit 210 performs processing to obtain a value to be stored in the route port 904 of each entry in the route port set 223. This value can be obtained as a set obtained by removing elements included in the switch learning port set from the terminal learning port set stored in the learning port set 222.

具体例で説明すると、例えば図9の経路ポート集合223のエントリ3(VLAN901が20、端末MACアドレス902がU10、スイッチMACアドレス903がS20)の経路ポート904に格納する値は、図8の学習ポート集合222のエントリ5(VLAN801が20、MACアドレス802がU10)の学習ポート803に格納されている集合{111-2,121-12,121-22}から、エントリ3(VLAN801が20、MACアドレス802がS20)の学習ポート803に格納されている集合{111-2,121-21}と共通な要素を取り除いた{121-12,121-22}という集合となる。 To explain with a specific example, for 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) of the route port set 223 in FIG. 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) of port set 222, entry 3 (VLAN 801 is 20, MAC address 802 is U10) The set {121-12, 121-22} is obtained by removing common elements from the set {111-2, 121-21} stored in the learning port 803 whose address 802 is S20).

この処理が意味するところは次のとおりである。MACアドレスU10を持つ端末130-1からMACアドレスS20を持つレイヤ2スイッチ120-1にパケットが流れる際に経路となるポートは、少なくともU10を学習しているポートが候補となる(学習ポート集合222のエントリ5の学習ポート803の値)。 The meaning of this processing is as follows. When a packet flows from the terminal 130-1 with the MAC address U10 to the layer 2 switch 120-1 with the MAC address S20, the port that becomes the route is a port that has learned at least U10 (learning port set 222 (value of learning port 803 in entry 5).

もし、これら候補の中にS20も学習しているポートが含まれていた場合(学習ポート集合222のエントリ3の学習ポート803の値に含まれる111-2が該当)、そのポートはU10とS20の両方を学習していることを表している。このことは、U10を持つ端末131-1を起点として見ると、ポート111-2を持つレイヤ3スイッチ110がMACアドレスS20を持つレイヤ2スイッチ120-1より上流側に位置していることを意味する。 If these candidates include a port that has also learned S20 (corresponding to 111-2 included in the value of learning port 803 in entry 3 of learning port set 222), that port is U10 and S20. This indicates that they are learning both. This means that when viewed from the terminal 131-1 with U10 as the starting point, the layer 3 switch 110 with port 111-2 is located upstream from the layer 2 switch 120-1 with MAC address S20. do.

したがって、このようなU10とS20の両方を学習しているポートを元の集合から取り除くと、端末130-1からレイヤ2スイッチ120-1に至る経路上に存在する経路ポートの集合が残ることになる。 Therefore, if such ports that have learned both U10 and S20 are removed from the original set, a set of route ports existing on the route from terminal 130-1 to layer 2 switch 120-1 remains. Become.

以上説明したような処理を経路ポート集合223の全エントリに対して実行することでステップ503を終了する。なお、この段階で経路ポート集合223の情報だけでは、集合内のポートの経路上での順序を特定できない場合があるため、それを特定するための処理が必要となり、それが以降に続くステップ504とステップ505の処理となる。 Step 503 is completed by executing the processing as described above for all entries in the route port set 223. Note that at this stage, it may not be possible to specify the order of the ports in the group on the route using only the information on the route port set 223, so a process for specifying it is required, which is followed by step 504. Then, the process of step 505 is performed.

次に、トポロジ検出部210は、ステップ501で生成したFDB収集情報221を参照してMACアドレス学習数224を作成する(ステップ504)。MACアドレス学習数224は、レイヤ3スイッチ110およびレイヤ2スイッチ120の各ポートにいくつのMACアドレスが学習されているかを集計したものである。 Next, the topology detection unit 210 creates the number of learned MAC addresses 224 by referring to the FDB collection information 221 generated in step 501 (step 504). The number of MAC addresses learned 224 is a total of how many MAC addresses have been learned in each port of the layer 3 switch 110 and layer 2 switch 120.

図10は、MACアドレス学習数224の内容の一例を示す図である。MACアドレス学習数224は、エントリ番号で識別される0個以上のエントリから構成され、各エントリは、ポート1001、学習MACアドレス1002、学習数1003の各フィールドを持つ。 FIG. 10 is a diagram showing an example of the contents of the MAC address learning number 224. The number of learned MAC addresses 224 is composed of zero or more entries identified by entry numbers, and each entry has fields of a port 1001, a learned MAC address 1002, and a learned number 1003.

ステップ504におけるトポロジ検出部210の処理を具体的に説明すると次のようになる。 The processing of the topology detection unit 210 in step 504 will be specifically explained as follows.

まず、トポロジ検出部210はFDB収集情報221の学習ポート704に格納されているすべての一意なポートの識別子を抽出し、それぞれをMACアドレス学習数224のエントリのポート1001に格納する(本実施例では識別子を図1で付した符号で表現)。 First, the topology detection unit 210 extracts all unique port identifiers stored in the learning ports 704 of the FDB collection information 221, and stores each in the port 1001 of the entry of the MAC address learning number 224 (this example In the following, the identifiers are expressed using the symbols given in Figure 1).

そして、MACアドレス学習数224のエントリごとに該当エントリのポート1001で学習しているMACアドレスをFDB収集情報221から抽出して、そのすべてを集合としてMACアドレス1002に格納し、その要素数を学習数1003に格納する。 Then, for each entry with the number of MAC address learning numbers 224, the MAC addresses learned on the port 1001 of the corresponding entry are extracted from the FDB collection information 221, all of them are stored as a set in the MAC address 1002, and the number of elements is learned. It is stored in number 1003.

FDB収集情報221が図7に示すような状態になっていた場合、例えば、レイヤ3スイッチ110のポート111-3について見ると、FDB収集情報221のエントリ7からエントリ9の学習ポート704に111-3が格納されており、そのポートが学習しているMACアドレスは、各エントリのMACアドレス702に格納されているS22とU40とU50である。 For example, if the FDB collection information 221 is in the state shown in FIG. 3 is stored, and the MAC addresses learned by that port are S22, U40, and U50 stored in the MAC address 702 of each entry.

したがって、図10に示すように、ポート1001に111-3を格納したエントリ3の学習MACアドレス1002には集合{S22,U40,U50}を、学習数1003にはその要素数である3をそれぞれ格納する。
以上でステップ504の処理を終了する。
Therefore, as shown in FIG. 10, the learning MAC address 1002 of entry 3 that stores 111-3 in port 1001 is set to the set {S22, U40, U50}, and the learning number 1003 is set to 3, which is the number of elements thereof. Store.
This completes the process of step 504.

次に、トポロジ検出部210は、ステップ503で作成した経路ポート集合223とステップ504作成したMACアドレス学習数224を用いて経由装置情報225を作成する(ステップ505)。 Next, the topology detection unit 210 creates transit device information 225 using the route port set 223 created in step 503 and the number of learned MAC addresses 224 created in step 504 (step 505).

経由装置情報とは、ある端末とあるスイッチの組み合わせに関して、その経路に存在するスイッチの一覧を経路上での順序に従って並べた情報のことである。 The relay device information is information that, for a combination of a certain terminal and a certain switch, is a list of switches existing on the route arranged in the order on the route.

図11は、経由装置情報225の内容の一例を示す図である。経由装置情報225は、エントリ番号で識別される0個以上のエントリから構成され、各エントリはVLAN1101、端末MACアドレス1102、スイッチMACアドレス1103、経由装置1104の各フィールドを持つ。経由装置1104は複数のスイッチの識別子を順序付けて格納できるように複数のサブフィールドを持っている。 FIG. 11 is a diagram showing an example of the contents of the transit device information 225. The route device information 225 is composed of zero or more entries identified by entry numbers, and each entry has fields of VLAN 1101, terminal MAC address 1102, switch MAC address 1103, and route device 1104. The transit device 1104 has a plurality of subfields so that identifiers of a plurality of switches can be stored in an ordered manner.

図11ではサブフィールドを3個持つ例を示しているが、3個に限定するものではなく、対象とするネットワークシステムの規模に応じて決定してよい。経由装置情報225は、経路ポート集合223の各エントリにおいて対して、経路ポート904のフィールドを経由装置1104に置き換えた構造を持つものとみることもできる。 Although FIG. 11 shows an example with three subfields, the number is not limited to three and may be determined depending on the scale of the target network system. The route device information 225 can also be viewed as having a structure in which the route port 904 field is replaced with the route device 1104 in each entry of the route port set 223.

ステップ505におけるトポロジ検出部210の処理を具体的に説明すると次のようになる。
まず、トポロジ検出部210は、ステップ503で作成した経路ポート集合223を参照し、そのすべてのエントリについて、VLAN901、端末MACアドレス902、スイッチMACアドレス903の値を、経由装置情報225のエントリのVLAN1101、端末MACアドレス1102、スイッチMACアドレス1103にそのままコピーする。すなわち、この処理により経由装置情報225には経路ポート集合223と同じ数のエントリが作られることになる。
The processing of the topology detection unit 210 in step 505 will be specifically explained as follows.
First, the topology detection unit 210 refers to the route port set 223 created in step 503, and for all entries, the values of the VLAN 901, terminal MAC address 902, and switch MAC address 903 are changed to the VLAN 1101 of the entry of the transit device information 225. , the terminal MAC address 1102, and the switch MAC address 1103. That is, through this process, the same number of entries as the route port set 223 are created in the via device information 225.

次に、経路ポート集合223の各エントリの経路ポート904を参照し、そこに集合として格納されている各ポート識別子の情報を、そのスイッチ側から端末側へ向かう経路の順に並べ替える。具体的には、MACアドレス学習数224の情報に基づいてMACアドレスの学習数が多い順に並べ替える。 Next, the route port 904 of each entry in the route port set 223 is referred to, and the information on each port identifier stored there as a set is sorted in the order of the route from the switch side to the terminal side. Specifically, based on the information on the number of MAC addresses learned 224, the MAC addresses are sorted in descending order of the number of learned MAC addresses.

この処理は、階層的に複数のスイッチが接続されていて端末側を下流と表現した場合、上流側のスイッチのポートほどMACアドレスの学習数が増えるという性質に基づいている。この性質は、少なくとも途中で経由するスイッチのMACアドレスはそれより上流のスイッチで学習されることによるものである。具体例として経路ポート集合223のエントリ2の例で説明すると、経路ポート904に登録されている各ポートでのMACアドレス学習数は、それぞれ111-2が5に、121-12が3に、121-22が1になるので、スイッチから端末に向かう経路順に並べたポートは、111-2、121-12、121-22という順序となる。 This process is based on the property that when a plurality of switches are connected hierarchically and the terminal side is expressed as downstream, the number of learned MAC addresses increases as the port of the switch on the upstream side increases. This property is due to the fact that at least the MAC address of a switch that is passed through on the way is learned by a switch that is upstream. Taking the example of entry 2 of the route port set 223 as a specific example, the number of MAC address learned at each port registered in the route port 904 is 5 for 111-2, 3 for 121-12, and 121 for each port. Since -22 becomes 1, the ports arranged in the order of the route from the switch to the terminal are 111-2, 121-12, and 121-22.

この並べ替え処理が終了したら、各ポートの識別子をそのポートを持つスイッチの識別子に置き換えて、経由装置情報225の対応するエントリの経由装置1104のサブエントリに上流側から順に格納する。上述したエントリ2の例で説明すると、経路順に並べたポート111-2、121-12、121-22が所属するスイッチは、それぞれ110、120-1、120-2となるので、これらを経由装置情報224のエントリ番号2の経由装置1104に格納する。これにより、経由装置1104のサブフィールドで示されるスイッチはサブフィールドの順序で隣接していることを表すようになる。 When this sorting process is completed, the identifier of each port is replaced with the identifier of the switch that has the port, and stored in the sub-entry of the via device 1104 of the corresponding entry in the via device information 225 in order from the upstream side. To explain using the example of entry 2 above, 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, so these are connected to It is stored in the relay device 1104 of entry number 2 of the information 224. This indicates that the switches indicated by the subfields of the via device 1104 are adjacent in the order of the subfields.

以上の処理を経由装置情報225のすべてのエントリに対して行い、ステップ505を終了する。 The above processing is performed for all entries in the via device information 225, and step 505 is ended.

次に、トポロジ検出部210は、ステップ505で作成した経由装置情報225とステップ502で作成した学習ポート集合222を参照して区間情報226を作成する(ステップ506)。区間情報とは、ステップ506で求めた経由装置情報で示される隣接したスイッチの組み合わせごとに、実際にそれらのスイッチのどのポートとどのポートが接続されているかを示す情報である。 Next, the topology detection unit 210 creates section information 226 by referring to the transit device information 225 created in step 505 and the learning port set 222 created in step 502 (step 506). The section information is information indicating which ports of the adjacent switches are actually connected for each combination of adjacent switches indicated by the via device information obtained in step 506.

図12は、区間情報226の内容の一例を示す図である。区間情報226は、エントリ番号で識別される0個以上のエントリから構成され、各エントリはVLAN1201、端末MACアドレス1202、スイッチMACアドレス1203、区間1204の各フィールドを持つ。なお、区間1204は複数のスイッチ間のポート接続情報を格納できるように複数のサブフィールドを持っている。 FIG. 12 is a diagram showing an example of the contents of the section information 226. The section information 226 is composed of zero or more entries identified by entry numbers, and each entry has fields of VLAN 1201, terminal MAC address 1202, switch MAC address 1203, and section 1204. Note that section 1204 has a plurality of subfields so that port connection information between a plurality of switches can be stored.

図12ではサブフィールドを2個持つ例を示しているが、対象とするネットワークシステムの規模に応じて決定してよい。区間情報226は、経由装置情報225の各エントリについて、経由装置1104の値を区間1204に置き換えたものとみなすこともできる。 Although FIG. 12 shows an example with two subfields, the number may be determined depending on the scale of the target network system. The interval information 226 can also be regarded as the value of the intermediate device 1104 replaced with the interval 1204 for each entry of the intermediate device information 225.

ステップ506におけるトポロジ検出部210の処理を具体的に説明すると次のようになる。 The processing of the topology detection unit 210 in step 506 will be specifically explained as follows.

まず、トポロジ検出部210は、ステップ505で作成した経由装置情報225を参照し、そのすべてのエントリについてVLAN1101、端末MACアドレス1102、スイッチMACアドレス1103の値を、区間情報226のエントリのVLAN1201、端末MACアドレス1202、スイッチMACアドレス1203にそのままコピーする。すなわち、この処理により区間情報226には経由装置情報225と同じ数のエントリが作られることになる。 First, the topology detection unit 210 refers to the transit device information 225 created in step 505, and calculates the values of the VLAN 1101, terminal MAC address 1102, and switch MAC address 1103 for all entries, and the values of the VLAN 1201, terminal MAC address, and Copy as is to MAC address 1202 and switch MAC address 1203. That is, by this process, the same number of entries as the transit device information 225 are created in the section information 226.

次に、経由装置情報225の経由装置1104の情報を参照し、そこに示されるスイッチ間のポートの接続関係を求め、その結果を区間情報226の対応するエントリの区間1204に格納する。二つのスイッチ間で接続されるポートの組み合わせは、学習ポート集合222を参照することで求めることができる。 Next, the information on the transit device 1104 in the transit device information 225 is referred to, and the port connection relationship between the switches indicated therein is determined, 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 found by referring to the learning port set 222.

具体例として、経由装置情報225のエントリ2を例に説明すると、経由装置1104はレイヤ3スイッチ110とレイヤ2スイッチ120-1、および、レイヤ2スイッチ120-1と120-2がそれぞれ隣接していることを示している。 As a specific example, taking Entry 2 of the transit device information 225 as an example, the transit device 1104 has layer 3 switch 110 and layer 2 switch 120-1, and layer 2 switches 120-1 and 120-2 are adjacent to each other. It shows that there is.

ここで、レイヤ3スイッチ110は、経由装置1104内のサブフィールドの順序関係から、端末MACアドレス1202で示されるMACアドレスU10の端末(端末130-1)に対してレイヤ2スイッチ120-1より上流側であることが分かるので、レイヤ2スイッチ120-1が接続されるポートではMACアドレスU10を学習しているはずである。学習ポート集合222を参照すると、レイヤ3スイッチ110でU10を学習しているポートはエントリ5の内容からポート111-2であることが分かる。 Here, the layer 3 switch 110 is located upstream from the layer 2 switch 120-1 for the terminal (terminal 130-1) with the MAC address U10 indicated by the terminal MAC address 1202, based on the order of subfields in the via device 1104. Therefore, the port to which the layer 2 switch 120-1 is connected should have learned the MAC address U10. Referring to the learning port set 222, it can be seen from the contents of entry 5 that the port on which U10 is learned in the layer 3 switch 110 is port 111-2.

したがって、レイヤ3スイッチ110でレイヤ2スイッチ120-1が接続されているポートは、ポート111-2であることが求められる。一方、レイヤ2スイッチ120-1でレイヤ3スイッチ110が接続されるポートは、レイヤ3スイッチ110の方が上流であるからレイヤ3スイッチ110のMACアドレスS10を学習しているはずであり、MACアドレスU10の端末(端末130-1)が所属するVLAN20においてS10を学習しているレイヤ2スイッチ120-1のポートは学習ポート集合222のエントリ2からポート121-11であることが分かる。 Therefore, the port to which the layer 2 switch 120-1 is connected in the layer 3 switch 110 is required to be the port 111-2. On the other hand, since the layer 3 switch 110 is upstream, the port to which the layer 3 switch 110 is connected in the layer 2 switch 120-1 should have learned the MAC address S10 of the layer 3 switch 110, and the MAC address It can be seen from entry 2 of the learning port set 222 that the port of the layer 2 switch 120-1 that is learning S10 in the VLAN 20 to which the terminal U10 (terminal 130-1) belongs is port 121-11.

以上から、レイヤ3スイッチ110とレイヤ3スイッチ120-1の間は、それぞれのポート111-2とポート121-11で接続されていることが分かり、「111-2⇔121-11」という値を区間情報226のエントリ2の区間1204の最初のサブフィールドに格納する。同様の手順で、レイヤ2スイッチ120-1とレイヤ2スイッチ120-2の間は、それぞれのポート121-12とポート121-21で接続されていることが分かるので、「121-12⇔121-21」という値を区間情報226のエントリ2の区間1204の二つ目のサブフィールドに格納する。 From the above, it can be seen that the layer 3 switch 110 and layer 3 switch 120-1 are connected through ports 111-2 and 121-11, respectively, and the value "111-2⇔121-11" is It is stored in the first subfield of section 1204 of entry 2 of section information 226. By following the same procedure, you can see that layer 2 switch 120-1 and layer 2 switch 120-2 are connected through ports 121-12 and 121-21, respectively. 21'' is stored in the second subfield of section 1204 of entry 2 of section information 226.

以上の処理を区間情報226のすべてのエントリに対して行うことでステップ506を完了する。 Step 506 is completed by performing the above processing on all entries of section information 226.

最後に、トポロジ検出部210は、区間情報226から隣接情報227を作成する(ステップ507)。隣接情報とは、トポロジ検出の対象としているレイヤ2ネットワーク内に存在するスイッチの相互接続関係を集約した情報であり、最終的なトポロジの検出結果となる。 Finally, the topology detection unit 210 creates adjacent information 227 from the section information 226 (step 507). Adjacent information is information that aggregates the interconnection relationships of switches existing in the layer 2 network targeted for topology detection, and is the final topology detection result.

図13は、隣接情報227の内容の一例を示す図である。隣接情報227は、エントリ番号で識別される0個以上のエントリから構成され、各エントリは接続元装置1301、接続元ポート1302、接続先装置1303、接続先ポート1304の各フィールドを持つ。 FIG. 13 is a diagram showing an example of the contents of the adjacent information 227. The adjacent information 227 is composed of zero or more entries identified by entry numbers, and each entry has fields of connection source device 1301, connection source port 1302, connection destination device 1303, and connection destination port 1304.

ステップ507におけるトポロジ検出部210の処理を具体的に説明すると次のようになる。 The processing of the topology detection unit 210 in step 507 will be specifically explained as follows.

区間情報226の全エントリの区間1204には、ステップ501からステップ506までの処理の結果として、トポロジ検出の対象となっているネットワークシステム内で相互に接続されるスイッチ間の接続ポートの情報(これをここでは区間と呼ぶ)が格納され、トポロジ検出は実質的に完了している。 In the section 1204 of all entries in the section information 226, as a result of the processing from step 501 to step 506, information (this (herein referred to as an interval) are stored, and topology detection is substantially completed.

ただし、これを導く過程においてネットワークシステム内のレイヤ2ネットワークごとにそこに存在する端末とスイッチのすべての組み合わせにおける経路ごとに区間を求めている。もし、これらの経路の中に同じ区間を共有しているものがあれば、区間1204には重複した値が格納されることになる。したがって、トポロジ検出部210は、区間情報226のすべてのエントリの区間1204から一意の区間を抽出する処理をステップ507で行う。図12に示す状態の区間情報226に対してこの処理を行った場合、一意の区間は「111-2⇔121-11」、「111-3⇔121-31」、「121-12⇔121-21」となる。トポロジ検出部210は、これらの区間のそれぞれに隣接情報227の一つのエントリを対応させ、各エントリに区間の情報を展開した情報を格納する。 However, in the process of deriving this, sections are determined for each route in all combinations of terminals and switches that exist in each layer 2 network within the network system. If any of these routes share the same section, duplicate values will be stored in section 1204. Therefore, the topology detection unit 210 performs a process of extracting a unique section from the sections 1204 of all entries in the section information 226 in step 507. When this process is performed on the section information 226 in the state shown in FIG. 21". The topology detection unit 210 associates one entry of the adjacent information 227 with each of these sections, and stores information obtained by expanding the section information in each entry.

図13に示したエントリ1の例で具体的に説明すると、エントリ1は区間「111-2⇔121-11」に対応し、ポート111-2が所属するスイッチはレイヤ3スイッチ110なので接続元装置1301にはその識別子として110を、接続元ポート1302にはポート111-2の識別子として111-2を、ポート121-11が所属するスイッチはレイヤ2スイッチ120-1なので接続先装置1303にはその識別子として120-1を、接続先ポート1304にはポート121-11の識別子として121-1をそれぞれ格納する。 To explain specifically using the example of entry 1 shown in FIG. 13, entry 1 corresponds to the section "111-2⇔121-11", and the switch to which port 111-2 belongs is layer 3 switch 110, so the connection source device 1301 has 110 as its identifier, connection source port 1302 has 111-2 as the identifier of port 111-2, and since the switch to which port 121-11 belongs is layer 2 switch 120-1, connection destination device 1303 has 111-2 as its identifier. 120-1 is stored as the identifier, and 121-1 is stored in the connection destination port 1304 as the identifier of the port 121-11.

以上の処理を区間情報226から抽出したすべての一意な区間について行うと、隣接情報227にはトポロジ検出の対象としたネットワークシステムにおいてレイヤ2ネットワークごとに直接接続されたすべてのスイッチ間の隣接情報が得られることになる。 When the above processing is performed for all unique sections extracted from the section information 226, the adjacency information 227 includes adjacency information between all directly connected switches for each layer 2 network in the network system targeted for topology detection. You will get it.

図13に示した隣接情報227の内容は、図1に示したネットワークシステムに含まれるレイヤ3スイッチ110、レイヤ2スイッチ120-1、レイヤ2スイッチ120-2、レイヤ2スイッチ120-3の隣接関係を表している。 The contents of the adjacency information 227 shown in FIG. 13 are the adjacency 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. represents.

以上、図5に示したフローチャートの処理により、トポロジ検出部210はレイヤ2ネットワークのトポロジを検出することができる。最終的なトポロジの検出結果である隣接情報227の内容は、例えばネットワーク管理サーバ100が備える図示していない描画処理プログラムによって、ネットワークトポロジ図として描画し、図示していない出力装置などに表示するといったことに利用することができる。 As described above, the topology detection unit 210 can detect the topology of the layer 2 network by the processing shown in the flowchart shown in FIG. The contents of the adjacency information 227, which is the final topology detection result, may be drawn as a network topology diagram by a drawing processing program (not shown) included in the network management server 100, and displayed on an output device (not shown), for example. It can be used in particular.

本実施例1によれば、複数のレイヤ2ネットワークがレイヤ3スイッチで接続されたような大規模なネットワークシステムにおいても、個々のレイヤ2ネットワークにネットワーク管理サーバを置くことなく、ネットワーク内の各スイッチから情報を収集可能な任意の場所に接続された一つのネットワーク管理サーバによって、各レイヤ2ネットワーク内のスイッチの隣接関係を示すトポロジ情報を求めることができるという効果が得られる。 According to the first embodiment, even in a large-scale network system in which a plurality of layer 2 networks are connected by layer 3 switches, each switch in the network does not require a network management server in each layer 2 network. An advantage can be obtained that topology information indicating the adjacency relationship of switches in each layer 2 network can be obtained by one network management server connected to an arbitrary location where information can be collected from the network management server.

ネットワークシステム内でスイッチを利用していると、何らかの理由でスイッチを再起動しなければならいことが発生する。スイッチ内のFDB情報は、スイッチ動作中に受信したパケットのヘッダ情報の一部を学習して動的に生成されるものなので、スイッチが再起動されるとそれまで学習していたFDB情報は一旦クリアされ、再度受信パケットから学習を行うことで再生成される。 When using a switch in a network system, it may become necessary to restart the switch 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 temporarily lost. It is cleared and regenerated by learning from the received packets again.

そのため、実施例1の図5のフローチャートによる処理を実行しようとした際に、それがいずれかのスイッチが再起動された直後のタイミングであった場合、そのスイッチから取得したFDB情報が空となってしまう場合がある。 Therefore, if you try to execute the process according to the flowchart in FIG. 5 of Embodiment 1 immediately after one of the switches is restarted, the FDB information obtained from that switch will be empty. There are cases where this happens.

図14は、レイヤ2スイッチ120-1が再起動されてそのFDB情報420が空となっているタイミングで、トポロジ検出部210が図5のフローチャートのステップ501を実行して得られたFDB収集情報221の例を示す図である。実施例1として示した図7のFDB収集情報221におけるエントリ10からエントリ14の各フィールドの値が削除されたような内容になる。 FIG. 14 shows FDB collection information obtained by the topology detection unit 210 executing step 501 of the flowchart of FIG. 221 is a diagram showing an example of No. 221. The content is as if the values of each field of entries 10 to 14 in the FDB collection information 221 of FIG. 7 shown as Example 1 have been deleted.

図15は、FDB収集情報221が図14に示す状態でトポロジ検出部210がステップ502以降の処理をそのまま実行した場合に、ステップ507で最終的に得られる隣接情報227の内容を示す図である。 FIG. 15 is a diagram showing the contents of the adjacency information 227 finally obtained in step 507 when the topology detection unit 210 executes the processing from step 502 onwards with the FDB collection information 221 shown in FIG. 14. .

処理過程の詳細な説明は省略するが、図15に示すように、レイヤ2スイッチ120-1のFDB情報が得られなかった場合、レイヤ3スイッチ110のポート111-2が、レイヤ2スイッチ120-2のポート121-21にレイヤ2スイッチ120-1を飛ばして直結されているようなトポロジ情報が得られてしまう。本実施例2では、このような状況でも正しいトポロジ情報が得られるネットワーク管理サーバの一例を示す。 A detailed explanation of the processing process will be omitted, but as shown in FIG. 15, if the FDB information of the layer 2 switch 120-1 is not obtained, the port 111-2 of the layer 3 switch 110 is Topology information that indicates that the layer 2 switch 120-1 is directly connected to the port 121-21 of the layer 2 switch 120-1 is obtained. Embodiment 2 shows an example of a network management server that can obtain correct topology information even in such a situation.

図16は、第2の実施例におけるネットワーク管理サーバ140の構成を示す図である。
ネットワーク管理サーバ140と図2に示した第1の実施例のネットワーク管理サーバ100の構成の違いは、ネットワーク管理サーバ140が前回隣接情報228、収束カウンタ229、収束カウンタ初期値230の各テーブルをメモリ202内にさらに備え、トポロジ検出部210が、それとは処理内容が異なるトポロジ検出部240に置き換えられている点である。
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 FIG. 202, and the topology detection unit 210 is replaced with a topology detection unit 240 whose processing content is different from that of the topology detection unit 210.

その他の構成要素はネットワーク管理サーバ100と同一であり、それらには図2と同じ符号を付している。ネットワーク管理サーバ140に追加された各テーブルの内容は後述する。 The other components are the same as those of the network management server 100, and are given the same reference numerals as in FIG. 2. The contents of each table added to the network management server 140 will be described later.

また、第2の実施例では図1のネットワークシステム例においてネットワーク管理サーバ140は、ネットワーク管理サーバ100と置き換えてレイヤ3スイッチ110のポート111-1に接続されているものとする。 Further, in the second embodiment, it is assumed that the network management server 140 is connected to the port 111-1 of the layer 3 switch 110 in place of the network management server 100 in the network system example of FIG.

次に、実施例2においてトポロジ検出部240がトポロジ検出を行う動作の例についてフローチャートを用いて説明する。 Next, an example of the operation in which the topology detection unit 240 performs topology detection in the second embodiment will be described using a flowchart.

図17は、ネットワーク管理サーバ140におけるトポロジ検出部240の動作の一例を示すフローチャートである。以降の説明でトポロジ検出部240などのプログラムが主語となっている動作は、実際にはプログラムを実行するCPU201の動作によるものである。 FIG. 17 is a flowchart illustrating an example of the operation of the topology detection unit 240 in the network management server 140. In the following explanation, the operations in which programs such as the topology detection unit 240 are the subject are actually caused by the operations of the CPU 201 that executes the programs.

なお、このフローチャートで示される処理は、例えば決められた時間ごとに定期的に起動される、あるいは、ネットワーク管理サーバ140が備える図示されないユーザインタフェースを通してネットワーク管理者がコマンド等を入力することにより起動されるものとする。 Note that the process shown in this flowchart may be started periodically at a predetermined time, for example, or may be started by a network administrator inputting a command or the like through a user interface (not shown) provided in the network management server 140. shall be

まず、トポロジ検出部240は、図5に示されたフローチャート500の一連の処理を実行する(ステップ1401)。 First, the topology detection unit 240 executes a series of processes in the flowchart 500 shown in FIG. 5 (step 1401).

次に、トポロジ検出部240は、ステップ1401の結果として得られた隣接情報227の内容を前回隣接情報228にコピーする(ステップ1402)。前回隣接情報228は、隣接情報227の内容を一時退避するためのテーブルで、図13に例示した隣接情報227と同じデータ構造を持つテーブルである。 Next, the topology detection unit 240 copies the contents of the adjacent information 227 obtained as a result of step 1401 to the previous adjacent information 228 (step 1402). The previous adjacent information 228 is a table for temporarily saving the contents of the adjacent information 227, and has the same data structure as the adjacent information 227 illustrated in FIG.

次に、トポロジ検出部240は、収束カウンタ229の値を初期化する(ステップ1403)。収束カウンタ229は整数値を格納するテーブルであり、その初期化とは収束カウンタ初期値230の値を収束カウンタ229にコピーする処理である。収束カウンタ初期値230は収束カウンタ229の初期値(整数値)を格納するテーブルである。 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 its 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.

その値は、例えばネットワーク管理者が再起動されたスイッチでFDB情報を再学習するのに要する時間などを考慮して、ステップ1401または後述するステップ1404の処理で得られる隣接情報227の結果が安定するまでに要する適切な処理の繰り返し回数を求め、ネットワーク管理サーバ140の図示されないユーザインタフェース等により事前に設定しておくものとする。 The value is determined so that the result of the neighbor information 227 obtained in step 1401 or step 1404 described later is stable, taking into consideration the time required for the network administrator to relearn FDB information on a restarted switch. The appropriate number of repetitions of the process required to complete the process is calculated and set in advance using a user interface (not shown) of the network management server 140.

次に、トポロジ検出部240は、図5に示されたフローチャート500の一連の処理を再度実行する(ステップ1404)。 Next, the topology detection unit 240 re-executes the series of processes in the flowchart 500 shown in FIG. 5 (step 1404).

次に、トポロジ検出部240は、ステップ1404で得られた隣接情報227の内容とステップ1402で得られた前回隣接情報228の内容を比較し、一致していなければステップ1402の処理に戻ってそれ以降の処理を繰り返し。一致していればステップ1406に進む(ステップ1405)。 Next, the topology detection unit 240 compares the contents of the adjacent information 227 obtained in step 1404 with the contents of the previous adjacent information 228 obtained in step 1402, and if they do not match, returns to the process of step 1402 and changes the contents. Repeat the following process. If they match, the process advances to step 1406 (step 1405).

ステップ1406で、トポロジ検出部240は、収束カウンタ229の値から1を減算する。 In step 1406, the topology detection unit 240 subtracts 1 from the value of the convergence counter 229.

次に、トポロジ検出部240は、収束カウンタ229の値を判定し、0でなければステップ1404の処理に戻ってそれ以降の処理を繰り返し、0であれば本フローチャートによる処理を終了する(ステップ1407)。この時点で隣接情報227に格納されている情報が最終的に得られたトポロジ情報となる。 Next, the topology detection unit 240 determines the value of the convergence counter 229, and if it is not 0, returns to the process of step 1404 and repeats the subsequent processes, and if it is 0, ends the process according to this flowchart (step 1407). ). The information stored in the adjacent information 227 at this point becomes the finally obtained topology information.

以上説明した一連の処理の意味は、フローチャート500に示す基本的なトポロジ検出処理を、結果が安定するまで繰り返し実行し、安定後の値をトポロジの検出結果と見なすものである。この実施例では、事前に設定した繰り返し回数(収束カウンタ230の値)だけ連続してフローチャート500の処理により同じトポロジ検出結果が得られた場合に結果が安定したと判断している。 The meaning of the series of processes described above is that the basic topology detection process shown in flowchart 500 is repeatedly executed until the result becomes stable, and the value after stabilization is regarded as the topology detection result. In this embodiment, it is determined that the result is stable when the same topology detection result is obtained by the process of flowchart 500 consecutively for a preset number of repetitions (value of convergence counter 230).

本実施例2によれば、実施例2により得られる効果に加え、スイッチ再起動などの要因でスイッチ内のFDB情報の学習状況に過渡的な状態が発生した場合であっても、ネットワークシステムの各レイヤ2ネットワーク内のスイッチの隣接関係を示すトポロジ情報を正しく検出することができるという効果が得られる。 According to the second embodiment, in addition to the effects obtained by the second embodiment, even if a transient state occurs in the learning status of FDB information in the switch due to factors such as switch restart, the network system The effect is that topology information indicating the adjacency relationship of switches in each layer 2 network can be correctly detected.

このように、上記実施例では、ネットワーク管理サーバは、ネットワーク内のスイッチから収集したFDB情報に基づいて、各レイヤ2ネットワークに存在する端末とスイッチのすべて組み合わせについてその経路上に存在するスイッチとそれらを接続するスイッチのポートを特定することで各レイヤ2ネットワークのトポロジを検出する。 In this way, in the above embodiment, the network management server identifies the switches existing on the route and their The topology of each layer 2 network is detected by identifying the switch port that connects the layer 2 network.

上記実施例によれば、複数のレイヤ2ネットワークから構成される大規模なネットワークにおいて、ネットワーク内での接続場所に拘らず各レイヤ2ネットワークのトポロジを検出することが可能なネットワーク管理サーバを提供することができる。 According to the embodiment described above, in a large-scale network composed of a plurality of layer 2 networks, a network management server is provided that is capable of detecting the topology of each layer 2 network regardless of the connection location within the network. be able to.

100、140 ネットワーク管理サーバ
110 レイヤ3スイッチ
120 レイヤ2スイッチ
111、121 ポート
130 端末
201、301、401 CPU
202、302、402 メモリ
203 ネットワークIF
303、403 フレーム転送部
210 トポロジ検出部
310、410 SNMP応答部
220 アクセス情報
221 FDB収集情報
222 学習ポート集合
223 経路ポート集合
224 MACアドレス学習数
225 経由装置情報
226 区間情報
227 隣接情報
228 前回隣接情報
229 収束カウンタ
230 収束カウンタ初期値
320、420 FDB情報
100, 140 Network management server 110 Layer 3 switch 120 Layer 2 switch 111, 121 Port 130 Terminal 201, 301, 401 CPU
202, 302, 402 Memory 203 Network IF
303, 403 Frame transfer unit 210 Topology detection unit 310, 410 SNMP response unit 220 Access information 221 FDB collection information 222 Learning port set 223 Route port set 224 MAC address learning number 225 Via device information 226 Section information 227 Adjacent information 228 Previous adjacent information 229 Convergence counter 230 Convergence counter initial value 320, 420 FDB information

Claims (12)

少なくとも一つの端末と複数のスイッチを含むネットワークに接続されるネットワーク管理サーバであって、
前記複数のスイッチの一のスイッチは、
前記複数のスイッチの他のスイッチと前記端末の少なくとも一つに接続されるポートを含み、
前記ネットワーク管理サーバは、前記ネットワーク内の前記端末と前記スイッチに関する接続状況を表すトポロジ情報を検出するトポロジ検出部を含み、
前記トポロジ検出部は、
前記スイッチからFDB情報を収集し、
前記FDB情報に学習されている前記端末又は前記スイッチのMACアドレスを抽出し、
前記MACアドレスごとに前記MACアドレスを学習した前記ポートの識別情報を集約した学習ポート情報を前記FDB情報から生成し、
前記MACアドレスのそれぞれについて、前記端末が持つ端末MACアドレスであるか前記スイッチが持つスイッチMACアドレスであるかを特定し、
前記スイッチMACアドレスを持つ前記スイッチを一方とし、前記端末MACアドレスを持つ前記端末を他方とする前記スイッチと前記端末の組み合わせを生成し、
前記組み合わせごとに、一方の前記スイッチから他方の前記端末に至る経路上に存在する前記ポートを前記学習ポート情報から経路ポート情報として特定し、
前記経路ポート情報に基づいて、前記スイッチの接続関係を特定して前記トポロジ情報を検出することを特徴とするネットワーク管理サーバ。
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
including a port connected to at least one of the other switches of the plurality of switches and the terminal,
The network management server includes a topology detection unit that detects topology information representing a connection status regarding the terminal and the switch in the network,
The topology detection unit includes:
collecting FDB information from the switch;
Extracting the MAC address of the terminal or the switch learned from the FDB information,
generating learned port information that aggregates identification information of the port that has learned the MAC address for each MAC address from the FDB information;
For each of the MAC addresses, identify whether it is a terminal MAC address owned by the terminal or a switch MAC address owned by 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;
For each of the combinations, the port existing on the route from one of the switches to the other of the terminals is identified as route port information from the learning port information,
A network management server characterized in that the topology information is detected by specifying the connection relationship of the switches based on the route port information.
前記トポロジ検出部は、
前記FDB情報に基づいて、前記MACアドレスの学習数であるMACアドレス学習数を生成し、
前記経路ポート情報と前記MACアドレス学習数に基づいて、前記スイッチと前記端末の組み合わせごとに、前記経路に存在する前記スイッチの一覧を前記経路上での順序に従って並べた経由装置情報を生成し、
前記経由装置情報と前記学習ポート情報に基づいて、前記スイッチと前記端末の組み合わせごとに、前記一のスイッチと前記他のスイッチの前記ポートの接続関係を示す区間情報を生成し、
前記区間情報に基づいて、前記ネットワーク内に存在する前記スイッチの相互接続関係を集約した隣接情報を生成し、
前記隣接情報に基づいて、前記トポロジ情報を検出することを特徴とする請求項1に記載のネットワーク管理サーバ。
The topology detection unit includes:
Generating a MAC address learning number that is the learning number of the MAC address based on the FDB information,
generating, for each combination of the switch and the terminal, via device information in which a list of the switches existing on the route is arranged in accordance with the order on the route, based on the route port information and the number of MAC address learnings;
generating section information indicating a connection relationship between the one switch and the port of the other switch for each combination of the switch and the terminal based on the transit device information and the learning port information;
generating adjacency information that aggregates interconnection relationships of the switches existing in the network based on the section information;
The network management server according to claim 1, wherein the topology information is detected based on the neighbor information.
前記トポロジ検出部は、
前記スイッチの再起動により前記スイッチ内の前記FDB情報の学習状況に過渡的な状態が発生した場合に、前記隣接情報の結果が安定するまで前記トポロジ情報を検出する処理を繰り返すことを特徴とする請求項2に記載のネットワーク管理サーバ。
The topology detection unit includes:
If a transitional state occurs in the learning status of the FDB information in the switch due to restart of the switch, the process of detecting the topology information is repeated until the result of the adjacent information becomes stable. The network management server according to claim 2.
前記ネットワーク管理サーバは、
前回隣接情報を格納する前回隣接情報格納テーブルと、
収束カウンタと、
前記収束カウンタの初期値を格納する収束カウンタ初期値格納テーブルと、を更に有し、
前記トポロジ検出部は、
前記隣接情報を前記前回隣接情報格納テーブルに一時退避して前記前回隣接情報を生成し、
前記収束カウンタ初期値を前記収束カウンタにコピーして前記収束カウンタの値を初期化し、
前記隣接情報と前記前回隣接情報とを比較し、
前記比較の結果、前記隣接情報と前記前回隣接情報が一致していなければ、前記トポロジ情報を検出する処理を繰り返し、
前記比較の結果、前記隣接情報と前記前回隣接情報が一致していれば、前記収束カウンタの値から1を減算し、
前記収束カウンタの値を判定し、
前記判定の結果、前記収束カウンタの値が0でない場合、前記トポロジを検出する処理を繰り返し、
前記判定の結果、前記収束カウンタの値が0である場合、前記トポロジを検出する処理を終了することを特徴とする請求項3に記載のネットワーク管理サーバ。
The network management server includes:
a previous adjacency information storage table that stores the previous adjacency information;
a convergence counter,
further comprising a convergence counter initial value storage table that stores an initial value of the convergence counter,
The topology detection unit includes:
temporarily saving the adjacency information to the previous adjacency information storage table to generate the previous adjacency information;
initializing the value of the convergence counter by copying the initial value of the convergence counter to the convergence counter;
Comparing the adjacent information and the previous adjacent information,
As a result of the comparison, if the adjacent information and the previous adjacent information do not match, repeating the process of detecting the topology information;
As a result of the comparison, if the adjacent information and the previous adjacent information match, 1 is subtracted from the value of the convergence counter;
determining the value of the convergence counter;
As a result of the determination, if the value of the convergence counter is not 0, repeating the process of detecting the topology;
4. The network management server according to claim 3, wherein if the result of the determination is that the value of the convergence counter is 0, the process of detecting the topology is terminated.
前記トポロジ検出部は、
前記収束カウンタ初期値を、
再起動された前記スイッチで前記FDB情報を再学習するのに要する時間を考慮して、前記隣接情報の結果が安定するまでに要する前記トポロジ情報を検出する処理の繰り返し回数として設定することを特徴とする請求項4に記載のネットワーク管理サーバ。
The topology detection unit includes:
The initial value of the convergence counter is
The number of repetitions of the process for detecting the topology information required until the result of the adjacent information is stabilized is set, taking into account the time required for the restarted switch to re-learn the FDB information. The network management server according to claim 4.
複数の前記ネットワークが単一の前記ネットワーク管理サーバに接続されており、
前記トポロジ検出部は、
複数の前記ネットワークに関する前記トポロジ情報を検出することを特徴とする請求項1に記載のネットワーク管理サーバ。
a plurality of said networks are connected to a single said network management server;
The topology detection unit includes:
The network management server according to claim 1, wherein the network management server detects the topology information regarding a plurality of the networks.
少なくとも一つの端末と複数のスイッチを含むネットワークに接続されるネットワーク管理サーバに格納され、前記ネットワーク内の前記端末と前記スイッチに関する接続状況を表すトポロジ情報を検出するトポロジ検出プログラムであって、
前記複数のスイッチの一のスイッチは、
前記複数のスイッチの他のスイッチと前記端末の少なくとも一つに接続されるポートを含み、
前記トポロジ検出プログラムは、
前記スイッチからFDB情報を収集し、
前記FDB情報に学習されている前記端末又は前記スイッチのMACアドレスを抽出し、
前記MACアドレス毎に前記MACアドレスを学習した前記ポートの識別情報を集約した学習ポート情報を前記FDB情報から生成し、
前記MACアドレスのそれぞれについて、前記端末が持つ端末MACアドレスであるか前記スイッチが持つスイッチMACアドレスであるかを特定し、
前記スイッチMACアドレスを持つ前記スイッチを一方とし、前記端末MACアドレスを持つ前記端末を他方とする前記スイッチと前記端末の組み合わせを生成し、
前記組み合わせごとに、一方の前記スイッチから他方の前記端末に至る経路上に存在する前記ポートを前記学習ポート情報から経路ポート情報として特定し、
前記経路ポート情報に基づいて前記スイッチの接続関係を特定して前記トポロジ情報を検出する処理を、
計算機が実行するように構成されたことを特徴とするトポロジ検出プログラム。
A topology detection program that is stored in a network management server connected to a network including at least one terminal and a plurality of switches, and detects topology information representing a connection status regarding the terminal and the switch in the network,
One of the plurality of switches is
including a port connected to at least one of the other switches of the plurality of switches and the terminal,
The topology detection program is
collecting FDB information from the switch;
Extracting the MAC address of the terminal or the switch learned from the FDB information,
generating learned port information that aggregates identification information of the port that has learned the MAC address for each MAC address from the FDB information;
For each of the MAC addresses, identify whether it is a terminal MAC address owned by the terminal or a switch MAC address owned by 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;
For each of the combinations, the port existing on the route from one of the switches to the other of the terminals is identified as route port information from the learning port information,
a process of identifying the connection relationship of the switches based on the route port information and detecting the topology information;
A topology detection program configured to be executed by a computer.
前記トポロジ検出プログラムは、
前記FDB情報に基づいて、前記MACアドレスの学習数であるMACアドレス学習数を生成し、
前記経路ポート情報と前記MACアドレス学習数に基づいて、前記スイッチと前記端末の組み合わせごとに、前記経路に存在する前記スイッチの一覧を前記経路上での順序に従って並べた経由装置情報を生成し、
前記経由装置情報と前記学習ポート情報に基づいて、前記スイッチと前記端末の組み合わせごとに、前記一のスイッチと前記他のスイッチの前記ポートの接続関係を示す区間情報を生成し、
前記区間情報に基づいて、前記ネットワーク内に存在する前記スイッチの相互接続関係を集約した隣接情報を生成し、
前記隣接情報に基づいて、前記トポロジ情報を検出することを特徴とする請求項7に記載のトポロジ検出プログラム。
The topology detection program is
Generating a MAC address learning number that is the learning number of the MAC address based on the FDB information,
generating, for each combination of the switch and the terminal, via device information in which a list of the switches existing on the route is arranged in accordance with the order on the route, based on the route port information and the number of MAC address learnings;
generating section information indicating a connection relationship between the one switch and the port of the other switch for each combination of the switch and the terminal based on the transit device information and the learning port information;
generating adjacency information that aggregates interconnection relationships of the switches existing 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 adjacent information.
前記トポロジ検出トポロジ検出プログラムは、
前記スイッチの再起動により前記スイッチ内の前記FDB情報の学習状況に過渡的な状態が発生した場合に、前記隣接情報の結果が安定するまで前記トポロジ情報を検出する処理を繰り返すことを特徴とする請求項8に記載のトポロジ検出プログラム。
The topology detection topology detection program includes:
If a transitional state occurs in the learning status of the FDB information in the switch due to restart of the switch, the process of detecting the topology information is repeated until the result of the adjacent information becomes stable. The topology detection program according to claim 8.
少なくとも一つの端末と複数のスイッチを含むネットワークに接続されるネットワーク管理サーバにおいて、前記ネットワーク内の前記端末と前記スイッチに関する接続状況を表すトポロジ情報を検出するトポロジ検出方法であって、
前記複数のスイッチの一のスイッチは、
前記複数のスイッチの他のスイッチと前記端末の少なくとも一つに接続されるポートを含み、
前記トポロジ検出方法は、
前記スイッチからFDB情報を収集するステップと、
前記FDB情報に学習されている前記端末又は前記スイッチのMACアドレスを抽出するステップと、
前記MACアドレス毎に前記MACアドレスを学習した前記ポートの識別情報を集約した学習ポート情報を前記FDB情報から生成するステップと、
前記MACアドレスのそれぞれについて、前記端末が持つ端末MACアドレスであるか前記スイッチが持つスイッチMACアドレスであるかを特定するステップと、
前記スイッチMACアドレスを持つ前記スイッチを一方とし、前記端末MACアドレスを持つ前記端末を他方とする前記スイッチと前記端末の組み合わせを生成するステップと、
前記組み合わせごとに、一方の前記スイッチから他方の前記端末に至る経路上に存在する前記ポートを前記学習ポート情報から経路ポート情報として特定するステップと、
前記経路ポート情報に基づいて前記スイッチの接続関係を特定して前記トポロジ情報を検出するステップと、
を有することを特徴とするトポロジ検出方法。
A topology detection method for detecting, in a network management server connected to a network including at least one terminal and a plurality of switches, topology information representing a connection status regarding the terminal and the switch in the network, the method comprising:
One of the plurality of switches is
including a port connected to at least one of the other switches of the plurality of switches and the terminal,
The topology detection method includes:
collecting FDB information from the switch;
extracting the MAC address of the terminal or the switch learned from the FDB information;
generating, from the FDB information, learning port information that aggregates identification information of the port that has learned the MAC address for each MAC address;
For each of the MAC addresses, specifying whether it is a terminal MAC address owned by the terminal or a switch MAC address owned by 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;
For each of the combinations, identifying the port existing on the route from one of the switches to the other of the terminals as route port information from the learning port information;
identifying the connection relationship of the switches based on the route port information and detecting the topology information;
A topology detection method characterized by having the following.
前記FDB情報に基づいて、前記MACアドレスの学習数であるMACアドレス学習数を生成するステップと、
前記経路ポート情報と前記MACアドレス学習数に基づいて、前記スイッチと前記端末の組み合わせごとに、前記経路に存在する前記スイッチの一覧を前記経路上での順序に従って並べた経由装置情報を生成するステップと、
前記経由装置情報と前記学習ポート情報に基づいて、前記スイッチと前記端末の組み合わせごとに、前記一のスイッチと前記他のスイッチの前記ポートの接続関係を示す区間情報を生成するステップと、
前記区間情報に基づいて、前記ネットワーク内に存在する前記スイッチの相互接続関係を集約した隣接情報を生成するステップと、
前記隣接情報に基づいて、前記トポロジ情報を検出するステップと、
を更に有することを特徴とする請求項10に記載のトポロジ検出方法。
generating a learned number of MAC addresses, which is the number of learned MAC addresses, based on the FDB information;
generating, for each combination of the switch and the terminal, via device information in which a list of the switches existing on the route is arranged in accordance with the order on the route, based on the route port information and the number of MAC address learnings; and,
generating section information indicating a connection relationship between the one switch and the port of the other switch for each combination of the switch and the terminal based on the transit device information and the learning port information;
generating adjacency information that aggregates interconnection relationships of the switches existing in the network based on the section information;
detecting the topology information based on the neighbor information;
11. The topology detection method according to claim 10, further comprising:
前記スイッチの再起動により前記スイッチ内の前記FDB情報の学習状況に過渡的な状態が発生した場合に、前記隣接情報の結果が安定するまで前記トポロジ情報を検出するステップを繰り返すステップと、
を更に有することを特徴とする請求項11に記載のトポロジ検出方法。
If a transient state occurs in the learning status of the FDB information in the switch due to restart of the switch, repeating the step of detecting the topology information until the result of the neighbor information becomes stable;
12. The topology detection method according to claim 11, further comprising:
JP2022032648A 2022-03-03 2022-03-03 Network management server, topology detection program and topology detection method Pending JP2023128353A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2022032648A JP2023128353A (en) 2022-03-03 2022-03-03 Network management server, topology detection program and topology detection method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022032648A JP2023128353A (en) 2022-03-03 2022-03-03 Network management server, topology detection program and topology detection method

Publications (1)

Publication Number Publication Date
JP2023128353A true JP2023128353A (en) 2023-09-14

Family

ID=87973162

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022032648A Pending JP2023128353A (en) 2022-03-03 2022-03-03 Network management server, topology detection program and topology detection method

Country Status (1)

Country Link
JP (1) JP2023128353A (en)

Similar Documents

Publication Publication Date Title
CN103477593B (en) Network system, switch and connection endpoint detection methods
CN106464585B (en) The method and system of forwarding state for compressed data network
JP4008432B2 (en) Apparatus and method for searching topology of network device
CN105262683B (en) Network system and route control method
US20200220774A1 (en) Method and device for detecting network failure
US9331932B2 (en) Network system
JP5033856B2 (en) Devices and systems for network configuration assumptions
CN101228744B (en) Method for discovering automatic topology of Ethernet switch
JP5522495B2 (en) Computer system, controller, controller manager, communication path analysis method
EP2984798A1 (en) Identification of the paths taken through a network of interconnected devices
US8218446B2 (en) Frame transfer route confirmation method, node, frame transfer route confirmation program and frame transfer route confirmation system
JP6868958B2 (en) Packet transmission program, information processing device, and failure detection method
CN114172854B (en) Report Wen Jingxiang, mirror image configuration method, virtual switch and mirror image configuration device
CN110430116A (en) Data forwarding method and device, edge device and readable storage medium storing program for executing
CN113630301B (en) Data transmission method, device and equipment based on intelligent decision and storage medium
JP2020005138A (en) Inference device of failure influence range, inference device of failure cause, inference method and program of failure cause
JP2023128353A (en) Network management server, topology detection program and topology detection method
CN113190368A (en) Method, device and system for realizing table item check and computer storage medium
US10333817B2 (en) Non-transitory computer-readable storage medium, communication device, and determination method
JP5686188B2 (en) Route search program and information processing apparatus
JP2003032257A (en) Method of specifying installed spot of lan component unit and retrieval device
CN114465904A (en) Network topology construction method and computing equipment
JP4808595B2 (en) Network information collection system and network information collection method
US8199756B2 (en) Forwarding apparatus, forwarding method, and computer product
JP2005109715A (en) Apparatus and method for repeating data