JP2023128353A - Network management server, topology detection program and topology detection method - Google Patents
Network management server, topology detection program and topology detection method Download PDFInfo
- 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
Links
- 238000001514 detection method Methods 0.000 title claims description 78
- 230000013016 learning Effects 0.000 claims description 68
- 238000000034 method Methods 0.000 claims description 47
- 230000001052 transient effect Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 34
- 230000004044 response Effects 0.000 description 8
- COCAUCFPFHUGAA-MGNBDDOMSA-N n-[3-[(1s,7s)-5-amino-4-thia-6-azabicyclo[5.1.0]oct-5-en-7-yl]-4-fluorophenyl]-5-chloropyridine-2-carboxamide Chemical compound C=1C=C(F)C([C@@]23N=C(SCC[C@@H]2C3)N)=CC=1NC(=O)C1=CC=C(Cl)C=N1 COCAUCFPFHUGAA-MGNBDDOMSA-N 0.000 description 7
- 238000011144 upstream manufacturing Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 239000000284 extract Substances 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
Images
Landscapes
- Small-Scale Networks (AREA)
Abstract
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
一般にパケット中の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
そのため、レイヤ3スイッチを介して複数のレイヤ2ネットワークを組み合わせたような大規模なネットワークに適用しようとした場合、各レイヤ2ネットワークにネットワーク監視端末を用意しなければならないという課題がある。
Therefore, when attempting to apply the method to a large-scale network that combines a plurality of
本発明の目的は、大規模なネットワークシステムにおいて単一のネットワーク管理サーバを用いてネットワークのトポロジを検出することにある。 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.
以下、本発明の実施例について図面を用いて説明する。 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
This network system has a configuration in which three
VLAN20は、二つのレイヤ2スイッチ120-1と120-2、および三つの端末130-1、130-2、130-3を含んでいる。端末とは、例えばユーザが直接使用するPCなどの端末デバイス、あるいは何らかのネットワークサービスを提供するサーバなどである。
VLAN30は、一つのレイヤ2スイッチ120-3、および二つの端末130-4、130-5を含んでいる。
VLAN10は、本発明によるレイヤ2ネットワークのトポロジ検出を行うネットワーク管理サーバ100を含んでいる。この例ではVLAN10に存在する装置はネットワーク管理サーバ100のみで、レイヤ3スイッチ110のポート111-1に直接接続されているが、さらに他の端末装置などがレイヤ2スイッチなどを経由して接続されていてもよい。
The
なお、以降の説明で複数のレイヤ2スイッチおよび端末に関して、個々のレイヤ2スイッチおよび端末を区別して説明する場合は図1に示した符号を用いて参照し、共通する説明を行う場合はレイヤ2スイッチ120および端末130という符号により参照する。
In the following explanation, regarding
また、以降の説明ではネットワークシステムを構成するレイヤ3スイッチ、レイヤ2スイッチ、端末などを総称してネットワーク装置と呼び、レイヤ3スイッチとレイヤ2スイッチを総称して単にスイッチと呼ぶ。
Furthermore, in the following description,
また、図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
以下、図1の構成においてネットワーク管理サーバ100がレイヤ2ネットワークであるVLAN20とVLAN30のトポロジを検出する例を説明する。
An example in which the
図2は、ネットワーク管理サーバ100の内部構成を示す図である。ネットワーク管理サーバ100は、演算をするためのCPU(Central Processing Unit)201、データやCPU201が実行するプログラムを格納するメモリ202、他のネットワーク装置に回線を介して接続するためのネットワークIF(インタフェース)203から構成される。
FIG. 2 is a diagram showing the internal configuration of the
メモリ202には、CPU201が実行するプログラムであるトポロジ検出部210、および、トポロジ検出部210を実行する過程で必要となるデータがいくつかのテーブルとして格納される。格納されるテーブルは、アクセス情報220、FDB(Forwarding DataBase)収集情報221、学習ポート集合222、経路ポート集合223、MACアドレス学習数224、経由装置情報225、区間情報226、隣接情報227である。各テーブルの構造と内容例については、図5のフローチャートを用いて後述するトポロジ検出動作の説明の中で示す。
The
ネットワーク管理サーバ100は、CPU201がプログラムであるトポロジ検出部210を実行することで、ネットワークIF203を介してレイヤ3スイッチ110やレイヤ2スイッチ120から必要な情報を収集し、それらの接続状況であるトポロジを検出するように動作する。
The
図3は、レイヤ3スイッチ110の内部構成の一例を示す図である。レイヤ3スイッチとは、ポートで受信したパケットのヘッダ部分に含まれる情報に基づいて、当該パケットを別のポートにレイヤ2中継またはレイヤ3中継を行う機能を持ったネットワーク装置である。
FIG. 3 is a diagram showing an example of the internal configuration of the
レイヤ3スイッチ110は、CPU301、メモリ302、フレーム転送部303、複数のポート111から構成される。なお、複数のポート111を区別して説明する場合には、図1に示すように111-1、111-2といった符号により参照する。
The
メモリ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
なお、図3のメモリ302では、レイヤ3スイッチとしての機能を実現するために必要なその他のプログのラムやデータの記載は省略している。
Note that in the
フレーム転送部303は、ポート111で受信したパケットのヘッダ情報に基づいてレイヤ3中継またはレイヤ2中継処理により当該パケットの転送先となるポート111を決定し、当該ポート111からパケットを送信するもので、例えばLSIなどのハードウェアによる論理回路で構成される。
The
図4は、レイヤ2スイッチ120の内部構成の一例を示す図である。レイヤ2スイッチとは、ポートで受信したパケットのヘッダ部分に含まれる情報に基づいて、当該パケットを別のポートにレイヤ2中継を行う機能を持ったネットワーク装置である。
FIG. 4 is a diagram showing an example of the internal configuration of the
レイヤ2スイッチ120は、CPU401、メモリ402、フレーム転送部403、複数のポート121から構成される。なお、複数のポート121を区別して説明する場合には、図1に示すように121-11、121-12といった符号により参照する。
The
メモリ402には、他のネットワーク装置からのSNMPによる問い合わせに応答するためにCPU401が実行するプログラムであるSNMP応答部410と、ポート121で受信したパケットに対するレイヤ2中継処理で必要となるFDB情報420が少なくとも格納される。FDB情報420は、図3で説明したレイヤ3スイッチ110のFDB情報320と同様である。また、SNMPによる問い合わせも図3で説明したものと同様である。
The
なお、メモリ402では、レイヤ2スイッチとしての機能を実現するために必要なその他のプログラムやデータの記載は省略している。
Note that in the
フレーム転送部403は、ポート121で受信したパケットのヘッダ情報に基づいてレイヤ2中継処理により当該パケットの転送先となるポート121を決定し、当該ポート121からパケットを送信するもので、例えばLSIなどのハードウェアによる論理回路で構成される。
The
次に、ネットワーク管理サーバ100のCPU201が実行するトポロジ検出部210の処理によってVLAN20とVLAN30の二つのレイヤ2ネットワークのトポロジ検出を行う動作の例についてフローチャートを用いて説明する。
Next, an example of the operation of detecting the topology of two
図5は、トポロジ検出部210による処理の一例を示すフローチャートである。以降の説明でトポロジ検出部210などのプログラムが主語となっている動作は、実際にはプログラムを実行するCPU201の動作によるものである。
FIG. 5 is a flowchart illustrating an example of processing by the
なお、このフローチャートで示される一連の処理は、例えば決められた時間ごとに定期的に起動される、あるいは、ネットワーク管理サーバ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
まず、トポロジ検出部210は、アクセス情報220に基づいてネットワークシステム内に存在するレイヤ3スイッチおよびレイヤ2スイッチからFDB情報を収集し、FDB収集情報221に格納する(ステップ501)。
First, the
図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
装置601は、FDB情報収集の対象とするレイヤ3スイッチ110およびレイヤ2スイッチ120の識別子を示すフィールドである。図6の例では識別子として便宜的に図1で付した符号を用いているが、管理目的で付与された装置名などであってもよい。IPアドレス602とMACアドレス604は、装置601で示されるスイッチが持つIPアドレスとMACアドレスを示すフィールドである。
The
アクセス手段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
図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
The
装置701は、FDB情報の収集元となったレイヤ3スイッチ110およびレイヤ2スイッチ120の識別子を示すフィールドである。MACアドレス702と学習VLAN703と学習ポート704は、収集されたFDB情報の1エントリ分の情報である学習されたMACアドレスと、そのMACアドレスを学習したポートの所属VLANのVLAN IDと、そのMACアドレスを学習したポートの識別子をそれぞれ格納するフィールドである。
The
ステップ501におけるトポロジ検出部210の処理内容を具体的に説明すると、トポロジ検出部210は、アクセス情報220を参照し、各エントリに示されるレイヤ3スイッチ110およびレイヤ2スイッチ120に対して、アクセス手段603の値がMIBであることに従ってSNMPによるFDB読み出し要求パケットを同エントリのIPアドレス602が示すIPアドレス宛に送信する。
To specifically explain the processing content of the
当該要求パケットを受信したレイヤ3スイッチ110およびレイヤ2スイッチ120は、当該要求パケットをSNMP応答部310または410で処理し、FDB情報320または420の内容を格納した応答パケットをネットワーク管理サーバ100宛に返送する。当該応答パケットをネットワーク管理サーバ100が受信すると、トポロジ検出部210は当該応答パケットに含まれる情報に情報収集元となった装置の識別子の情報(同エントリの装置601の値)を付加してFDB収集情報221の空きエントリに順次格納していく。
The
図7に示す数値例は、図1のネットワーク構成の場合にステップ501で生成されるFDB収集情報221の内容を示したものである。なお、図7において装置701と学習ポート704に格納する識別子は便宜的に図1で付した符号により示しているが、管理目的で付与されたその他の識別子を用いてもよい。
The numerical example shown in FIG. 7 shows the contents of the
次に、トポロジ検出部210は、ステップ501で生成したFDB収集情報221を参照して学習ポート集合222を作成する(ステップ502)。
Next, the
学習ポート集合とは、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
ステップ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
図8の例では、エントリ2がこの例で作成されたエントリに対応する。トポロジ検出部210は、図7に格納されているすべてのMACアドレス702と学習VLAN703の一意の組み合わせを抽出して、それぞれついて上述のような処理を行う。その結果、例えば図7のような内容のFDB収集情報221に対しては図8のような内容の学習ポート集合222が作成される。
In the example of FIG. 8,
次に、トポロジ検出部210は、ステップ502で作成した学習ポート集合222を参照して経路ポート集合223を作成する(ステップ503)。
Next, the
経路ポート集合とは、ネットワークシステム中の特定のスイッチから特定の端末に至る経路上に存在する当該端末の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
このようなポートの集合を、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
ステップ503におけるトポロジ検出部210の処理内容を具体的に説明すると次のようになる。
The details of the processing performed by the
まず、トポロジ検出部210はステップ502で作成した学習ポート集合222を参照して、VLANごとにそこに所属するネットワーク装置の全MACアドレスを抽出する。
First, the
例えば、図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
したがって、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も同様の処理を行い、各エントリの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
次に、トポロジ検出部210は、経路ポート集合223の各エントリの経路ポート904に格納する値を求める処理を行う。この値は、学習ポート集合222に格納されている端末の学習ポートの集合からスイッチの学習ポートの集合に含まれる要素を除いた集合として求めることができる。
Next, the
具体例で説明すると、例えば図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
この処理が意味するところは次のとおりである。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
もし、これら候補の中に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
したがって、このような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
以上説明したような処理を経路ポート集合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
次に、トポロジ検出部210は、ステップ501で生成したFDB収集情報221を参照してMACアドレス学習数224を作成する(ステップ504)。MACアドレス学習数224は、レイヤ3スイッチ110およびレイヤ2スイッチ120の各ポートにいくつのMACアドレスが学習されているかを集計したものである。
Next, the
図10は、MACアドレス学習数224の内容の一例を示す図である。MACアドレス学習数224は、エントリ番号で識別される0個以上のエントリから構成され、各エントリは、ポート1001、学習MACアドレス1002、学習数1003の各フィールドを持つ。
FIG. 10 is a diagram showing an example of the contents of the MAC
ステップ504におけるトポロジ検出部210の処理を具体的に説明すると次のようになる。
The processing of the
まず、トポロジ検出部210はFDB収集情報221の学習ポート704に格納されているすべての一意なポートの識別子を抽出し、それぞれをMACアドレス学習数224のエントリのポート1001に格納する(本実施例では識別子を図1で付した符号で表現)。
First, the
そして、MACアドレス学習数224のエントリごとに該当エントリのポート1001で学習しているMACアドレスをFDB収集情報221から抽出して、そのすべてを集合としてMACアドレス1002に格納し、その要素数を学習数1003に格納する。
Then, for each entry with the number of MAC
FDB収集情報221が図7に示すような状態になっていた場合、例えば、レイヤ3スイッチ110のポート111-3について見ると、FDB収集情報221のエントリ7からエントリ9の学習ポート704に111-3が格納されており、そのポートが学習しているMACアドレスは、各エントリのMACアドレス702に格納されているS22とU40とU50である。
For example, if the
したがって、図10に示すように、ポート1001に111-3を格納したエントリ3の学習MACアドレス1002には集合{S22,U40,U50}を、学習数1003にはその要素数である3をそれぞれ格納する。
以上でステップ504の処理を終了する。
Therefore, as shown in FIG. 10, the learning
This completes the process of
次に、トポロジ検出部210は、ステップ503で作成した経路ポート集合223とステップ504作成したMACアドレス学習数224を用いて経由装置情報225を作成する(ステップ505)。
Next, the
経由装置情報とは、ある端末とあるスイッチの組み合わせに関して、その経路に存在するスイッチの一覧を経路上での順序に従って並べた情報のことである。 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
図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
ステップ505におけるトポロジ検出部210の処理を具体的に説明すると次のようになる。
まず、トポロジ検出部210は、ステップ503で作成した経路ポート集合223を参照し、そのすべてのエントリについて、VLAN901、端末MACアドレス902、スイッチMACアドレス903の値を、経由装置情報225のエントリのVLAN1101、端末MACアドレス1102、スイッチMACアドレス1103にそのままコピーする。すなわち、この処理により経由装置情報225には経路ポート集合223と同じ数のエントリが作られることになる。
The processing of the
First, the
次に、経路ポート集合223の各エントリの経路ポート904を参照し、そこに集合として格納されている各ポート識別子の情報を、そのスイッチ側から端末側へ向かう経路の順に並べ替える。具体的には、MACアドレス学習数224の情報に基づいてMACアドレスの学習数が多い順に並べ替える。
Next, the
この処理は、階層的に複数のスイッチが接続されていて端末側を下流と表現した場合、上流側のスイッチのポートほど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
この並べ替え処理が終了したら、各ポートの識別子をそのポートを持つスイッチの識別子に置き換えて、経由装置情報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
以上の処理を経由装置情報225のすべてのエントリに対して行い、ステップ505を終了する。
The above processing is performed for all entries in the via
次に、トポロジ検出部210は、ステップ505で作成した経由装置情報225とステップ502で作成した学習ポート集合222を参照して区間情報226を作成する(ステップ506)。区間情報とは、ステップ506で求めた経由装置情報で示される隣接したスイッチの組み合わせごとに、実際にそれらのスイッチのどのポートとどのポートが接続されているかを示す情報である。
Next, the
図12は、区間情報226の内容の一例を示す図である。区間情報226は、エントリ番号で識別される0個以上のエントリから構成され、各エントリはVLAN1201、端末MACアドレス1202、スイッチMACアドレス1203、区間1204の各フィールドを持つ。なお、区間1204は複数のスイッチ間のポート接続情報を格納できるように複数のサブフィールドを持っている。
FIG. 12 is a diagram showing an example of the contents of the
図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
ステップ506におけるトポロジ検出部210の処理を具体的に説明すると次のようになる。
The processing of the
まず、トポロジ検出部210は、ステップ505で作成した経由装置情報225を参照し、そのすべてのエントリについてVLAN1101、端末MACアドレス1102、スイッチMACアドレス1103の値を、区間情報226のエントリのVLAN1201、端末MACアドレス1202、スイッチMACアドレス1203にそのままコピーする。すなわち、この処理により区間情報226には経由装置情報225と同じ数のエントリが作られることになる。
First, the
次に、経由装置情報225の経由装置1104の情報を参照し、そこに示されるスイッチ間のポートの接続関係を求め、その結果を区間情報226の対応するエントリの区間1204に格納する。二つのスイッチ間で接続されるポートの組み合わせは、学習ポート集合222を参照することで求めることができる。
Next, the information on the
具体例として、経由装置情報225のエントリ2を例に説明すると、経由装置1104はレイヤ3スイッチ110とレイヤ2スイッチ120-1、および、レイヤ2スイッチ120-1と120-2がそれぞれ隣接していることを示している。
As a specific example, taking
ここで、レイヤ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
したがって、レイヤ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
以上から、レイヤ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
以上の処理を区間情報226のすべてのエントリに対して行うことでステップ506を完了する。
Step 506 is completed by performing the above processing on all entries of
最後に、トポロジ検出部210は、区間情報226から隣接情報227を作成する(ステップ507)。隣接情報とは、トポロジ検出の対象としているレイヤ2ネットワーク内に存在するスイッチの相互接続関係を集約した情報であり、最終的なトポロジの検出結果となる。
Finally, the
図13は、隣接情報227の内容の一例を示す図である。隣接情報227は、エントリ番号で識別される0個以上のエントリから構成され、各エントリは接続元装置1301、接続元ポート1302、接続先装置1303、接続先ポート1304の各フィールドを持つ。
FIG. 13 is a diagram showing an example of the contents of the
ステップ507におけるトポロジ検出部210の処理を具体的に説明すると次のようになる。
The processing of the
区間情報226の全エントリの区間1204には、ステップ501からステップ506までの処理の結果として、トポロジ検出の対象となっているネットワークシステム内で相互に接続されるスイッチ間の接続ポートの情報(これをここでは区間と呼ぶ)が格納され、トポロジ検出は実質的に完了している。
In the
ただし、これを導く過程においてネットワークシステム内のレイヤ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
図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
以上の処理を区間情報226から抽出したすべての一意な区間について行うと、隣接情報227にはトポロジ検出の対象としたネットワークシステムにおいてレイヤ2ネットワークごとに直接接続されたすべてのスイッチ間の隣接情報が得られることになる。
When the above processing is performed for all unique sections extracted from the
図13に示した隣接情報227の内容は、図1に示したネットワークシステムに含まれるレイヤ3スイッチ110、レイヤ2スイッチ120-1、レイヤ2スイッチ120-2、レイヤ2スイッチ120-3の隣接関係を表している。
The contents of the
以上、図5に示したフローチャートの処理により、トポロジ検出部210はレイヤ2ネットワークのトポロジを検出することができる。最終的なトポロジの検出結果である隣接情報227の内容は、例えばネットワーク管理サーバ100が備える図示していない描画処理プログラムによって、ネットワークトポロジ図として描画し、図示していない出力装置などに表示するといったことに利用することができる。
As described above, the
本実施例1によれば、複数のレイヤ2ネットワークがレイヤ3スイッチで接続されたような大規模なネットワークシステムにおいても、個々のレイヤ2ネットワークにネットワーク管理サーバを置くことなく、ネットワーク内の各スイッチから情報を収集可能な任意の場所に接続された一つのネットワーク管理サーバによって、各レイヤ2ネットワーク内のスイッチの隣接関係を示すトポロジ情報を求めることができるという効果が得られる。
According to the first embodiment, even in a large-scale network system in which a plurality of
ネットワークシステム内でスイッチを利用していると、何らかの理由でスイッチを再起動しなければならいことが発生する。スイッチ内の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
図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
図15は、FDB収集情報221が図14に示す状態でトポロジ検出部210がステップ502以降の処理をそのまま実行した場合に、ステップ507で最終的に得られる隣接情報227の内容を示す図である。
FIG. 15 is a diagram showing the contents of the
処理過程の詳細な説明は省略するが、図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
図16は、第2の実施例におけるネットワーク管理サーバ140の構成を示す図である。
ネットワーク管理サーバ140と図2に示した第1の実施例のネットワーク管理サーバ100の構成の違いは、ネットワーク管理サーバ140が前回隣接情報228、収束カウンタ229、収束カウンタ初期値230の各テーブルをメモリ202内にさらに備え、トポロジ検出部210が、それとは処理内容が異なるトポロジ検出部240に置き換えられている点である。
FIG. 16 is a diagram showing the configuration of the
The difference in configuration between the
その他の構成要素はネットワーク管理サーバ100と同一であり、それらには図2と同じ符号を付している。ネットワーク管理サーバ140に追加された各テーブルの内容は後述する。
The other components are the same as those of the
また、第2の実施例では図1のネットワークシステム例においてネットワーク管理サーバ140は、ネットワーク管理サーバ100と置き換えてレイヤ3スイッチ110のポート111-1に接続されているものとする。
Further, in the second embodiment, it is assumed that the
次に、実施例2においてトポロジ検出部240がトポロジ検出を行う動作の例についてフローチャートを用いて説明する。
Next, an example of the operation in which the
図17は、ネットワーク管理サーバ140におけるトポロジ検出部240の動作の一例を示すフローチャートである。以降の説明でトポロジ検出部240などのプログラムが主語となっている動作は、実際にはプログラムを実行するCPU201の動作によるものである。
FIG. 17 is a flowchart illustrating an example of the operation of the
なお、このフローチャートで示される処理は、例えば決められた時間ごとに定期的に起動される、あるいは、ネットワーク管理サーバ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
まず、トポロジ検出部240は、図5に示されたフローチャート500の一連の処理を実行する(ステップ1401)。
First, the
次に、トポロジ検出部240は、ステップ1401の結果として得られた隣接情報227の内容を前回隣接情報228にコピーする(ステップ1402)。前回隣接情報228は、隣接情報227の内容を一時退避するためのテーブルで、図13に例示した隣接情報227と同じデータ構造を持つテーブルである。
Next, the
次に、トポロジ検出部240は、収束カウンタ229の値を初期化する(ステップ1403)。収束カウンタ229は整数値を格納するテーブルであり、その初期化とは収束カウンタ初期値230の値を収束カウンタ229にコピーする処理である。収束カウンタ初期値230は収束カウンタ229の初期値(整数値)を格納するテーブルである。
Next, the
その値は、例えばネットワーク管理者が再起動されたスイッチでFDB情報を再学習するのに要する時間などを考慮して、ステップ1401または後述するステップ1404の処理で得られる隣接情報227の結果が安定するまでに要する適切な処理の繰り返し回数を求め、ネットワーク管理サーバ140の図示されないユーザインタフェース等により事前に設定しておくものとする。
The value is determined so that the result of the
次に、トポロジ検出部240は、図5に示されたフローチャート500の一連の処理を再度実行する(ステップ1404)。
Next, the
次に、トポロジ検出部240は、ステップ1404で得られた隣接情報227の内容とステップ1402で得られた前回隣接情報228の内容を比較し、一致していなければステップ1402の処理に戻ってそれ以降の処理を繰り返し。一致していればステップ1406に進む(ステップ1405)。
Next, the
ステップ1406で、トポロジ検出部240は、収束カウンタ229の値から1を減算する。
In
次に、トポロジ検出部240は、収束カウンタ229の値を判定し、0でなければステップ1404の処理に戻ってそれ以降の処理を繰り返し、0であれば本フローチャートによる処理を終了する(ステップ1407)。この時点で隣接情報227に格納されている情報が最終的に得られたトポロジ情報となる。
Next, the
以上説明した一連の処理の意味は、フローチャート500に示す基本的なトポロジ検出処理を、結果が安定するまで繰り返し実行し、安定後の値をトポロジの検出結果と見なすものである。この実施例では、事前に設定した繰り返し回数(収束カウンタ230の値)だけ連続してフローチャート500の処理により同じトポロジ検出結果が得られた場合に結果が安定したと判断している。
The meaning of the series of processes described above is that the basic topology detection process shown in
本実施例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
このように、上記実施例では、ネットワーク管理サーバは、ネットワーク内のスイッチから収集した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
上記実施例によれば、複数のレイヤ2ネットワークから構成される大規模なネットワークにおいて、ネットワーク内での接続場所に拘らず各レイヤ2ネットワークのトポロジを検出することが可能なネットワーク管理サーバを提供することができる。
According to the embodiment described above, in a large-scale network composed of a plurality of
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
202, 302, 402
303, 403
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.
前記経路ポート情報と前記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:
を更に有することを特徴とする請求項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:
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) |
-
2022
- 2022-03-03 JP JP2022032648A patent/JP2023128353A/en active Pending
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 |