以下に、本発明の実施の形態にかかるフレーム転送装置、リンクメトリック決定方法およびパス決定方法を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
図1は、本発明の実施の形態1にかかるフレーム転送装置により構成されているメッシュネットワークの一例を示す図である。
本実施の形態のメッシュネットワークは、フレーム転送装置であるスイッチ21〜27により構成されている。スイッチ21は、スイッチ22、23および24との間でリンクが確立した状態、すなわち、スイッチ22、23および24と通信が可能である。スイッチ22は、スイッチ21および25との間でリンクが確立した状態である。スイッチ23は、スイッチ21および26との間でリンクが確立した状態である。スイッチ24は、スイッチ21、25および26との間でリンクが確立した状態である。スイッチ25は、スイッチ22、24および27との間でリンクが確立した状態である。スイッチ26は、スイッチ23、24および27との間でリンクが確立した状態である。スイッチ27は、スイッチ25および26との間でリンクが確立した状態である。
スイッチ21には、ベストエフォートトラフィックを送受信するノードであるベストエフォートノード11と、Expressトラフィックを送受信するノードであるExpressノード31および41とが接続されている。ここで、ベストエフォートトラフィックは低遅延転送を必要としないフレームであるNormalフレームで送受信されるデータである。また、Expressトラフィックは低遅延転送が必要なフレームであるExpressフレームで送受信されるデータである。図1では、スイッチを‘○’で表現し、ベストエフォートノードを‘△’で表現し、Expressノードを‘□’で表現している。なお、以下の説明において、単に「フレーム」と記載した場合、NormalフレームとExpressフレームの双方を示すものとする。また、単に「ノード」と記載した場合、ベストエフォートノードとExpressノードの双方を示すものとする。
スイッチ22には、ベストエフォートノード12が接続されている。スイッチ23には、ベストエフォートノード14が接続されている。スイッチ27には、ベストエフォートノード13と、Expressノード32および42とが接続されている。なお、Expressノード31とExpressノード32がExpressトラフィックを相互に送受信し、Expressノード41とExpressノード42がExpressトラフィックを相互に送受信するものとする。
なお、スイッチ21に接続されているベストエフォートノード11、Expressノード31,41を、スイッチ21の隣接ノードと呼ぶ場合がある。同様に、ベストエフォートノード12をスイッチ22の隣接ノードと呼ぶ場合がある。ベストエフォートノード14をスイッチ23の隣接ノードと呼ぶ場合がある。ベストエフォートノード13、Expressノード32,42を、スイッチ27の隣接ノードと呼ぶ場合がある。
図2は、実施の形態1のフレーム転送装置であるスイッチ21〜27の構成例を示す図である。スイッチ21〜27の構成は同一である。以下、スイッチ21〜27に共通の構成、動作などを説明する場合、スイッチ21〜27をまとめてスイッチ2と表現する場合がある。
スイッチ2において、受信部21は、他のスイッチ2または隣接ノードからフレームを受信する。送信部22は、他のスイッチ2または隣接ノードへフレームを送信する。Hello生成部23は、Helloフレームを生成する。隣接ノード情報広告部24は、他のスイッチ2に広告するための隣接ノードの情報を含んだフレームを生成する。フレーム転送部25は、他のスイッチ2または隣接ノードから受信したフレームのうち、自スイッチ宛ではないフレームを転送する。転送データベース26は、フレームの転送先の情報を管理する。SPB処理部27は、フレームを送受信するノード間のパスをIEEE802.1aqで標準化されているSPB(Shortest Path Bridging)により決定する。フレーム処理部28は、他のスイッチ2または隣接ノードから受信したフレームの内容を確認して出力先を決定する。隣接ノード情報収集部29は、隣接ノードの情報が含まれたフレームを受信した場合に、受信したフレームから隣接ノードに関する情報を取り出す。ノード情報収集部30は、他のスイッチ2の隣接ノードの情報が含まれたフレームを受信した場合に、受信したフレームから他のスイッチ2の隣接ノードの情報を取り出す。ネットワークトポロジー情報管理部31は、スイッチ21〜27が形成しているメッシュネットワークのトポロジー情報を管理する。リンクメトリック決定部32は、メッシュネットワーク内の全てのリンクを対象としてリンクメトリックを決定する。Expressトラフィックパス決定部33は、Expressトラフィックの転送パス、すなわちExpressノード間のパスであるExpressトラフィックパスを仮決定する。カプセリング部34は、他のスイッチ2または隣接ノードから受信したフレームを転送する場合に、フレームのカプセリングまたはデカプセリングを行う。
図3は、スイッチ2を実現するハードウェア構成の一例を示す図である。スイッチ2は、送信機101、受信機102、CPU(Central Processing Unit)などのプロセッサ103と、RAM(Random Access Memory)、ROM(Read Only Memory)などで構成されるメモリ104と、により実現することが可能である。送信機101、受信機102、プロセッサ103およびメモリ104はバス100に接続されており、バス100を介してデータ、制御情報などの受け渡しを相互に行うことが可能である。
図2に示したスイッチ2の送信部22は送信機101により実現される。スイッチ2の受信部21は受信機102により実現される。Hello生成部23、隣接ノード情報広告部24フレーム転送部25、SPB処理部27、フレーム処理部28、隣接ノード情報収集部29、ノード情報収集部30、ネットワークトポロジー情報管理部31、リンクメトリック決定部32、Expressトラフィックパス決定部33およびカプセリング部34は、それぞれに対応するプログラムをプロセッサ103が実行することにより実現される。転送データベース26はメモリ104が必要な情報を記憶することにより実現される。ネットワークトポロジー情報管理部31は、メモリ104により実現される。なお、複数のプロセッサおよび複数のメモリが連携してスイッチ2の各部を実現するようにしてもよい。
次に、スイッチ2の各部の動作について説明する。
受信部21は、メッシュネットワークを構成している他のスイッチ2または隣接ノードからフレームを受信し、受信したフレームをフレーム処理部28へ出力する。
フレーム処理部28は、図4に示したフローチャートに従って動作する。具体的には、フレーム処理部28は、受信部21からフレームを受信したか否かを継続的に監視している(ステップS11:No)。フレーム処理部28は、フレームを受信した場合(ステップS11:Yes)、すなわち、受信部21からフレームを受け取ると、フレームの内容を確認し、フレームの種類に応じた出力先へフレームを出力する。詳細には、フレーム処理部28は、受信部21から受け取ったフレームが隣接ノードから送付されたHelloフレームか否かを確認し(ステップS12)、Helloフレームの場合(ステップS12:Yes)、隣接ノード情報収集部29へフレームを出力する(ステップS14)。Helloフレームには隣接ノード情報が格納されている。ここで、Helloフレームについて説明する。図5はHelloフレームの構成例を示す図である。図5に示したようにHelloフレームは、ヘッダと、隣接ノード情報である、識別情報、属性情報、通信相手ノードおよび帯域需要とを含んで構成されている。ヘッダは、Helloフレームの宛先情報、送信元情報、フレーム種別情報などにより構成されている。宛先情報は、フレームを受信する装置のMACアドレスである。送信元情報は、フレームを送信した装置のMACアドレスである。フレーム種別情報は、受信したフレームの種別を示し、Helloフレームの場合はHelloフレームを一意に示す値が設定される。フレームがHelloフレームではない場合、フレーム種別情報の値は別の値となる。フレーム処理部28は、フレーム種別情報を確認することにより、受信したフレームがHelloフレームか否かを判別できる。隣接ノード情報を構成している識別情報は、隣接ノードの識別情報であり、例えばMACアドレスである。隣接ノード情報を構成している属性情報は、隣接ノードがExpressノードとベストエフォートノードのどちらに該当するかを示す情報である。通信相手ノードは、隣接ノードがフレームを送受信する相手のノードを示す情報(以下、通信相手ノード情報)である。帯域需要は、隣接ノードがベストエフォートノードである場合、すなわち、属性情報がベストエフォートノードを示している場合に含まれる情報である。帯域需要は、隣接ノードが必要としている帯域の情報(以下、ベストエフォートトラフィックの帯域需要)である。その他の情報をHelloフレームに格納するようにしてもよい。識別情報はMACアドレス以外であってもよい。識別情報は隣接ノードを一意に示すものであればよい。図5に示した構成のHelloフレームは、メッシュネットワークに接続している各ノードから定期的に送信される。
フレーム処理部28の動作説明に戻り、フレーム処理部28は、受信部21から受け取ったフレームがHelloフレームではない場合(ステップS12:No)、他のスイッチから広告されたフレームか否かを確認する(ステップS13)。フレーム処理部28は、受信部21から受け取ったフレームが他のスイッチから広告されたフレームではない場合(ステップS13:No)、受信部21から受け取ったフレームをカプセリング部34へ出力する。フレーム処理部28は、受信部21から受け取ったフレームが他のスイッチから広告されたフレームの場合(ステップS13:Yes)、隣接ノード情報が格納されているか否かを確認する(ステップS15)。フレーム処理部28は、受信部21から受け取ったフレームに隣接ノード情報が格納されている場合(ステップS15:Yes)、受信部21から受け取ったフレームをカプセリング部34およびノード情報収集部30へ出力する(ステップS17)。フレーム処理部28は、受信部21から受け取ったフレームに隣接ノード情報が格納されていない場合(ステップS15:No)、受信部21から受け取ったフレームをカプセリング部34へ出力する(ステップS16)。
なお、他のスイッチ2から広告されたフレームに格納されている隣接ノード情報は、フレームを公告した他のスイッチ2が、図5に示した構成のHelloフレームを使用して隣接ノードから収集した情報である。例えばフレーム処理部28が、図1のスイッチ21が広告したフレームを受け取り、受け取ったフレームに隣接ノード情報が格納されている場合、受け取ったフレームに格納されている隣接ノード情報は、スイッチ21がベストエフォートノード11、Expressノード31,41から収集した隣接ノード情報である。すなわち、このフレームに格納されている隣接ノード情報は、ベストエフォートノード11、Expressノード31,41がHelloフレームにて送信した隣接ノード情報である。
隣接ノード情報収集手段である隣接ノード情報収集部29は、図6に示したフローチャートに従って動作する。具体的には、隣接ノード情報収集部29は、フレーム処理部28からHelloフレームを受信したか否かを継続的に監視している(ステップS21)。隣接ノード情報収集部29は、Helloフレームを受信した場合(ステップS21:Yes)、すなわち、フレーム処理部28からHelloフレームを受け取ると、Helloフレームに格納されている隣接ノード情報を収集し(ステップS22)、取り出した隣接ノード情報を隣接ノード情報広告部24およびネットワークトポロジー情報管理部31へ出力する(ステップS23)。
隣接ノード情報広告手段である隣接ノード情報広告部24は、図7に示したフローチャートに従って動作する。具体的には、隣接ノード情報広告部24は、隣接ノード情報収集部29から隣接ノード情報を受信したか否かを継続的に監視している(ステップS31)。隣接ノード情報広告部24は、隣接ノード情報を受信した場合(ステップS31:Yes)、すなわち、隣接ノード情報収集部29から隣接ノード情報を受け取ると、受け取った隣接ノード情報および自スイッチの識別情報が格納されたフレームを生成し(ステップS32)、生成したフレームを送信部22を介してメッシュネットワーク内に広告する(ステップS33)。自スイッチの識別情報はMACアドレスとするが、これに限定するものではない。自スイッチの識別情報は広告されたフレームの受信側でフレームの広告元が認識できるのであればどのような識別情報であってもよい。自スイッチの識別情報としてMACアドレスを使用する場合、広告するフレームのヘッダにはフレーム送信元の情報としてMACアドレスが格納されているため、自装置の識別情報として別途MACアドレスをフレームに格納しなくてもよい。すなわち、ヘッダ内のフレーム送信元情報と自装置の識別情報とを兼用してもよい。
ノード情報収集部30は、図8に示したフローチャートに従って動作する。具体的には、ノード情報収集部30は、他のスイッチから広告されたフレームをフレーム処理部28から受信したか否かを継続的に監視している(ステップS41:No)。ノード情報収集部30は、他のスイッチから広告されたフレームを受信した場合(ステップS41:Yes)、すなわち、フレーム処理部28からフレームを受け取ると、受け取ったフレームに格納されている隣接ノード情報およびフレーム送信元のスイッチ2の識別情報を取り出し(ステップS42)、取り出した隣接ノード情報およびフレーム送信元のスイッチ2の識別情報をネットワークトポロジー情報管理部31へ出力する(ステップS43)。ここで、ノード情報収集部30がフレーム処理部28から受け取ったフレームに格納されている隣接ノード情報は、受け取ったフレームの送信元のスイッチ2に隣接しているノードの隣接ノード情報である。例えば、ノード情報収集部30が受け取ったフレームの送信元が図1のスイッチ21の場合、受け取ったフレームに格納されている隣接ノード情報は、ベストエフォートノード11がHelloフレームにてスイッチ21へ送信した隣接ノード情報、Expressノード31がHelloフレームにてスイッチ21へ送信した隣接ノード情報およびExpressノード41がHelloフレームにてスイッチ21へ送信した隣接ノード情報となる。なお、ノード情報収集部30は、送信元がスイッチ21のフレームを受け取った場合、ベストエフォートノード11の隣接ノード情報、Expressノード31の隣接ノード情報、Expressノード41の隣接ノード情報およびスイッチ21の識別情報を取り出し、取り出した各隣接ノード情報および識別情報をネットワークトポロジー情報管理部31へ出力する。ネットワークトポロジー情報管理部31は、ベストエフォートノード11の隣接ノード情報、Expressノード31の隣接ノード情報、Expressノード41の隣接ノード情報およびスイッチ21の識別情報を受け取った場合、スイッチ21の隣接ノードがベストエフォートノード11、Expressノード31および41であることを把握する。すなわち、ネットワークトポロジー情報管理部31は、スイッチ21に対してベストエフォートノード11、Expressノード31および41が接続されていることを把握する。スイッチ21が送信元のフレームを受け取った場合について説明したが、スイッチ21以外が送信元のフレームを受け取った場合も同様である。
ネットワークトポロジー情報管理部31は、メッシュネットワークを構成している各スイッチ2の識別情報と、メッシュネットワークを構成している各スイッチ2が隣接ノードから収集し、メッシュネットワーク内へ広告した隣接ノード情報と、を保持している。また、ネットワークトポロジー情報管理部31は、SPBのルーティングプロトコルであるIS−IS(Intermediate System to Intermediate System)によって収集したネットワークのトポロジー情報、すなわち、どのスイッチ2とどのスイッチ2の間でリンクが確立しているかを示す情報を保持している。また、すでに説明したように、隣接ノード情報には、隣接ノードの識別情報、隣接ノードの属性情報、隣接ノードの通信相手ノード情報、ベストエフォートノードが必要としている帯域を示すベストエフォートトラフィックの帯域需要が含まれているため、ネットワークトポロジー情報管理部31は、ネットワークのトポロジー情報に加えて、各スイッチ2に接続している各ノードの属性情報、どのノード同士が通信を行うか、すわなち、どのノードの間でパスを設定する必要があるかを示す情報も保持していることになる。また、ベストエフォートトラフィックを送受信する各ノードの帯域需要(ベストエフォートトラフィックの帯域需要)も保持している。
低遅延転送用パス決定手段であるExpressトラフィックパス決定部33は、図9に示したフローチャートに従ってExpressトラフィックパスを決定する。具体的には、Expressトラフィックパス決定部33は、Expressトラフィックパスの決定処理の開始条件を満足したか否かを継続的に監視している(ステップS51)。ここで、処理の開始条件とは、例えば、前回Expressトラフィックパスを決定してから規定時間が経過した場合、ユーザが処理開始を指示する操作を行った場合、自スイッチに対して新しいノードが接続した場合、自スイッチとともにメッシュネットワークを形成している他のスイッチに新しいノードが接続されたことを検出した場合、などが考えられる。Expressトラフィックパスの決定処理の開始条件を満足した場合(ステップS51:Yes)、Expressトラフィックパス決定部33は、ネットワークトポロジー情報管理部31が保持している、ネットワークのトポロジー情報および隣接ノード情報を読み出す(ステップS52)。次に、Expressトラフィックパス決定部33は、読み出した情報、具体的には、ネットワークのトポロジー情報と、各スイッチ2に接続している各ノードの隣接ノード情報のうち、属性情報、および通信相手先情報と、に基づいて、Expressノードが接続されているスイッチ2の間でExpressトラフィックを転送する場合のパスを仮決定する(ステップS53)。このステップS53で仮決定するパスをExpressトラフィックパスと呼ぶ。ステップS53において、Expressトラフィックパス決定部33は、メッシュネットワークを構成しているリンクの各々について、Expressトラフィックパスを複数設定する場合にExpressトラフィックパスで重複使用される回数が少なくなるよう、各Expressトラフィックパスを仮決定する。具体的には、Expressトラフィックパス決定部33は、ネットワーク内の各Expressトラフィックパスが使用するリンクの重なりが最大となるリンクの重なりが最小となるように線形計画問題を解くことにより、各Expressトラフィックパスを仮決定する。Expressトラフィックパス決定部33は、仮決定した各Expressトラフィックパスの情報をリンクメトリック決定部32へ出力する(ステップS54)。Expressトラフィックパスの情報は、Expressトラフィックを送受信するExpressノードの識別情報と、Expressトラフィックパスを構成するスイッチ2すなわちExpressトラフィックを中継するスイッチ2の識別情報とを含んで構成される。仮に、図1に示したExpressノード31とExpressノード32との間で送受信するExpressトラフィックを送受信するためのExpressトラフィックパスがスイッチ21、スイッチ22、スイッチ25およびスイッチ27により構成されている場合のExpressトラフィックパスの情報は、例えば、以下のようにできる。「Expressトラフィックパスの情報=Expressノード31の識別情報+スイッチ21の識別情報+スイッチ22の識別情報+スイッチ25の識別情報+スイッチ27の識別情報+Expressノード32の識別情報」この情報を受信したリンクメトリック決定部32は、Expressノード31とExpressノード32との間のExpressトラフィックパスがスイッチ21、スイッチ22、スイッチ25およびスイッチ27により構成されていることを把握できる。
リンクメトリック決定手段であるリンクメトリック決定部32は、図10に示したフローチャートに従い、メッシュネットワーク内の各リンクのリンクメトリックを決定する。具体的には、リンクメトリック決定部32は、Expressトラフィックパス決定部33からExpressトラフィックパスの情報を受信したか否かを継続的に監視している(ステップS61)。リンクメトリック決定部32は、Expressトラフィックパスの情報を受信した場合(ステップS61:Yes)、ネットワークトポロジー情報管理部31が保持しているネットワークのトポロジー情報およびベストエフォートトラフィックの帯域需要の情報を読み出す(ステップS62)。次に、リンクメトリック決定部32は、ネットワークトポロジー情報管理部31から読み出したネットワークのトポロジー情報およびベストエフォートトラフィックの帯域需要の情報と、Expressトラフィックパス決定部33から受け取った、各Expressトラフィックパスの情報と、に基づき、メッシュネットワーク内の各リンクのリンクメトリックを決定する(ステップS63)。具体的には、リンクメトリック決定部32は、各リンクについて、Expressトラフィックの数に1を加算した数のリンクメトリックを決定する。ここで、Expressトラフィックの数とは、Expressトラフィックを送受信するExpressノードの組み合わせの数である。リンクメトリック決定部32は、Expressトラフィックパス決定部33から受け取った、各Expressトラフィックパスの情報を確認することによりExpressトラフィックの数をカウントし、Expressトラフィックの数に1を加算した数のリンクメトリックを決定する必要があると判断する。本実施の形態では、図1の構成を想定しているため、Expressトラフィックの数は2となる。すなわち、リンクメトリック決定部32は、3つのリンクメトリックを決定する必要があると判断する。リンクメトリックは、ルーティングプロトコルを使用してノード間の通信経路であるトラフィックパスを決定する際に必要な情報である。
リンクメトリック決定部32は、各Expressトラフィックにはトラフィックごとに一つのリンクメトリックすなわち第1のリンクメトリックを割り当て、ベストエフォートトラフィックにはベストエフォートトラフィック全体で一つのリンクメトリックすなわち第2のリンクメトリックを割り当てる。リンクメトリック決定部32は、これらのリンクメトリックに基づいてSPBで最短経路を計算したときに各Expressトラフィックおよびベストエフォートトラフィックが所望のパスで転送されるように、具体的には、Expressトラフィックの競合が発生する頻度が低くなるよう、リンクメトリックを決定する。このように、リンクメトリック決定部32は、従来は一つのリンクに対して一つのリンクメトリックを決定していたのに対し、一つリンクに対して複数のリンクメトリックを決定する。リンクメトリック決定部がリンクメトリックを決定する動作の詳細については後述する。リンクメトリック決定部32を拡張リンクメトリックと呼ぶ。リンクメトリック決定部32は、決定したリンクメトリックをSPB処理部27へ出力する(ステップ64)。なお、リンクメトリック決定部32は、Expressトラフィックパス決定部33とともに決定手段を構成する。
SPB処理部27は、図11に示したフローチャートに従い、メッシュネットワークを介してフレームを送受信する各ノード間のフレーム転送経路を決定する。具体的には、SPB処理部27は、リンクメトリック決定部からリンクメトリックを受信したか否かを継続的に監視している(ステップS71)。SPB処理部27は、リンクメトリックを受信した場合(ステップS71:Yes)、ネットワークのトポロジー情報をネットワークトポロジー情報管理部31から読み出す(ステップS72)。次に、SPB処理部27は、読み出したトポロジー情報とリンクメトリック決定部32から受け取った各リンクのリンクメトリックとに基づき、SPBを使用して、各ノードが送受信するフレームの最短経路を計算する(ステップS73)。リンクメトリック決定部32から受け取った各リンクのリンクメトリックとは、上述した、Expressトラフィックの数に1を加算した数のリンクメトリック、すなわち、一つのリンクのリンクメトリックを複数に拡張したリンクメトリックである。次に、SPB処理部27は、最短経路の計算結果に基づき、受信したフレームを自スイッチのどのポートに転送するか、すなわち、ノード間で送受信されるフレームの出力ポートを決定する(ステップS74)。具体的には、SPB処理部27は、決定した各最短経路上の次のスイッチ2またはノードが接続されているポートを受信したフレームの転送先に決定する。SPB処理部27は、受信したフレームの転送先のポートを決定すると、決定結果を転送データベース26へ出力する(ステップS75)。
カプセリング部34は、図12に示したフローチャートに従って動作する。具体的には、カプセリング部34は、フレーム処理部28からフレームを受信したか否かを継続的に監視している(ステップS81)。カプセリング部34は、フレームを受信した場合(ステップS81:Yes)、他のスイッチ2から広告されたフレームか否かを確認する(ステップS82)。カプセリング部は、フレームの送信元が他のスイッチ2、かつフレームの宛先がブロードキャスト用のアドレスの場合、他のスイッチから広告されたフレームと判断する。フレーム処理部28から受け取ったフレームが他のスイッチ2から広告されたフレームの場合(ステップS82:Yes)、そのままフレーム転送部25へ出力する(ステップS88)。また、カプセリング部34は、フレーム処理部28から受け取ったフレームが他のスイッチ2から広告されたフレームではない場合(ステップS82:No)、受け取ったフレームが自スイッチの隣接ノード宛てのフレームか否かを確認する(ステップS83)。受け取ったフレームが自スイッチの隣接ノード宛の場合(ステップS83:Yes)、フレームはメッシュネットワーク内での転送用のヘッダが他のスイッチ2により付加された状態、すなわちカプセル化された状態であるため、他のスイッチ2により付加されたヘッダを取り外すデカプセリングを行い(ステップS86)、フレーム転送部25に出力する(ステップS87)。一方、受け取ったフレームが自スイッチの隣接ノード宛ではない場合(ステップS83:No)、受け取ったフレームの送信元が自スイッチの隣接ノードか否かを確認する(ステップS84)。受け取ったフレームの送信元が自スイッチの隣接ノードである場合(ステップS84:Yes)、カプセリング部34は、受け取ったフレームに対してメッシュネットワーク内での転送用のヘッダを付加する処理、すなわちカプセリングを行い(ステップS86)、フレーム転送部25に出力する(ステップS87)。また、カプセリング部34は、フレーム処理部28から受け取ったフレームの送信元が自スイッチの隣接ノードではない場合(ステップS84:No)、フレームに対して何も処理を行わず、フレーム転送部25に出力する(ステップS87)。
なお、上記ステップS86のカプセリング処理において、カプセリング部34は、隣接ノードが送信元のフレームに対して、送信元に自スイッチのMACアドレスを設定し、かつ宛先にはフレームの宛先のノードが接続されているスイッチのMACアドレスを設定したヘッダを付加する。また、上記ステップS85のデカプセリング処理において、カプセリング部34は、フレームに付加されているヘッダ、すなわち、自スイッチのMACアドレスが宛先に設定されているヘッダ取り外し、ヘッダが付加される前の元のフレームに戻す。
フレーム転送部25は、図13に示したフローチャートに従って動作する。具体的には、フレーム転送部25は、カプセリング部34からフレームを受信したか否かを継続的に監視している(ステップS91)。フレーム転送部25は、フレームを受信した場合(ステップS91:Yes)、すなわち、カプセリング部34からフレームを受け取ると、転送データベース26からフレームの転送先の情報を読み出し(ステップS92)、カプセリング部34から受け取ったフレームの転送先を決定する。そして、フレーム転送部25は、カプセリング部34から受け取ったフレームを転送先に向けて、送信部22を介して転送する(ステップS93)。
Hello生成部23は、図14に示したフローチャートに従い、Helloフレームを送信する。具体的には、Hello生成部23は、規定時間が経過したか否かを継続的に監視している(ステップS101)。このステップS101では、Hello生成部23は、前回Helloフレームを生成してから規定時間経過したか否かを確認する。Hello生成部23は、規定時間が経過した場合(ステップS101:Yes)、Helloフレームを作成し(ステップ)、送信部22を介してメッシュネットワーク内へ送信する(ステップS103)。このとき、Hello生成部23は、Helloフレームの宛先にブロードキャスト用のMACアドレスを設定する。
つづいて、図1に示した実施の形態1のメッシュネットワークにおいてスイッチ2がリンクメトリックを決定し、決定したリンクメトリックに基づいてノード間のパスを決定する手順について説明する。
図15は、実施の形態1のスイッチ2がメッシュネットワークに接続しているノード間のパスを決定する手順を示す図である。各スイッチ2は、以下で説明する手順#1−1〜手順#1−4を実行することにより、通信を行う各ノード間のパスを決定する。ここでは、図1に示した構成のメッシュネットワークにおいて、スイッチ21〜27が、ベストエフォートノード11,12,13,14、Expressノード31,32,41,42の各々についてのパスを決定する動作について説明する。
<手順#1−1>
メッシュネットワークを構成しているスイッチ21〜27は、隣接ノードとの間でHelloフレーム51〜58を送受信し、隣接ノードから各種情報を収集する。ここで、Helloフレーム51〜58は各隣接ノードから情報を収集できれば良く、LLDP(Link Layer Discovery Protocol)などのプロトコルによって生成されるHelloフレームを使用することが可能である。収集する情報は、隣接ノードの識別情報であるMACアドレス、隣接ノードがExpressノードとベストエフォートノードのどちらに該当するのかを示す属性情報、各隣接ノードがフレームの送受信を行う相手ノードの情報(通信相手ノード情報)、などである。隣接ノードがベストエフォートノードの場合には、帯域需要の情報も併せて収集する。具体的な動作を説明すると、各スイッチ2は、自スイッチの識別情報であるMACアドレスを格納したHelloフレームをブロードキャストする。一方、ベストエフォートノード11、12、13および14は、自ノードのMACアドレス、自ノードがベストエフォートノードであることを示す属性情報、通信相手ノード情報、帯域需要の情報、などを格納したHelloフレームをブロードキャストする。Expressトラフィックノード31、32、41および42は、自ノードのMACアドレス、自ノードがExpressノードであることを示す属性情報、通信相手ノード情報、などを格納したHelloフレームをブロードキャストする。各スイッチ2は、隣接ノードが送信したHelloフレームを受信し、Helloフレームから各種情報を取り出すことにより、隣接ノードのMACアドレス、属性情報、通信相手ノード情報、帯域需要の情報、などを収集する。各スイッチ2が隣接ノードから収集した各種情報は隣接ノード情報である。
スイッチ21〜27においては、Hello生成部23が、Helloフレームを生成してブロードキャストする。また、隣接ノード情報収集部29が、隣接ノードから受信したHelloフレームをフレーム処理部28から受け取り、受け取ったHelloフレームから隣接ノード情報を取り出す。
Helloフレームの送受信を実行して各隣接ノードから隣接ノード情報を収集したスイッチ21〜27は、次に、自スイッチのMACアドレスと、各隣接ノードから収集した隣接ノード情報とを他のスイッチ2へ広告する。この処理は隣接ノード情報広告部24が行う。スイッチ21〜27の隣接ノード情報広告部24が自スイッチのMACアドレスおよび隣接ノードから収集した隣接ノード情報をメッシュネットワーク内へ広告する際に使用するフレームは、図16に示した構成となる。図16は、スイッチ21〜27が他のスイッチ2、すなわちメッシュネットワーク内へ広告するフレームの構成例を示す図である。スイッチ21〜27が隣接ノード情報を広告する際に使用するフレーム(以下、隣接ノード情報広告用フレーム)は、ヘッダ、自装置識別情報、隣接ノード情報#1,#2,#3…を含んで構成されている。ヘッダは、フレームの宛先情報、送信元情報、フレーム種別情報などにより構成されている。自装置識別情報には自装置のMACアドレスを設定こととするが、これに限定されない。装置を一意に示す情報であればよい。隣接ノード情報#1,#2,#3,…には、隣接ノードから収集した隣接ノード情報を格納する。例えば、スイッチ21が隣接ノード情報広告用フレームを送信する場合、スイッチ21は、自スイッチのMACアドレスを自装置識別情報に設定し、ベストエフォートノード11から収集した隣接ノード情報を隣接ノード情報#1に設定し、Expressノード31から収集した隣接ノード情報を隣接ノード情報#2に設定し、Expressノード41から収集した隣接ノード情報を隣接ノード情報#3に設定したフレームを生成してスイッチ22〜27へ送信する。なお、隣接ノード情報広告用フレームに隣接ノード情報を格納する順番はこれに限定されない。ここで、スイッチ21〜27は、IEEE802.1aqで標準化されているSPBのルーティングプロトコルであるIS−ISを実行済みであり、ネットワークのトポロジー情報を保持しているものとする。
また、スイッチ21〜27は、他のスイッチ2から広告された隣接ノード情報広告用フレームを受信すると、他のスイッチ2へ転送するとともに、受信した隣接ノード情報広告用フレームから隣接ノード情報を取出して保持しておく。スイッチ21〜27において、隣接ノード情報広告用フレームを他のスイッチ2へ転送する処理はフレーム転送部25が行う。隣接ノード情報広告用フレームから隣接ノード情報を取り出す処理はノード情報収集部30が行う。隣接ノード情報およびネットワークのトポロジー情報は、ネットワークトポロジー情報管理部31が保持する。なお、ネットワークトポロジー情報管理部31は、隣接ノード情報を受け取ると、ネットワーク内のどのスイッチ間でExpressトラフィックが転送されるのかを示す情報と、ネットワーク内のどのスイッチ間でベストエフォートトラフィックが転送されるのかを示す情報とを生成して管理する。
<手順#1−2>
次に、スイッチ21〜27は、Expressトラフィックのパスを決定する。具体的には、スイッチ21〜27は、Expressトラフィックのパスで使用するリンクの重なりが最小となるように線形計画問題を解くことにより、Expressトラフィックのパスを仮決定する。これにより、メッシュネットワークを構成しているリンクの各々について、Expressトラフィックパスで重複使用される回数が少なくなり、Expressトラフィックがスイッチ21〜27において競合する頻度を低く抑えることができる。スイッチ21〜27は、例えば、図15に示したように、第1のExpressノードペアであるExpressノード31とExpressノード32の間のパスはパス62に仮決定し、第2のExpressノードペアであるExpressノード41とExpressノード42の間のパスはパス61に仮決定する。
スイッチ21〜27においては、Expressトラフィックパス決定部33が、ネットワークトポロジー情報管理部31で保持されている情報、すなわち、ネットワークのトポロジー情報とネットワーク内のどのスイッチ間でExpressトラフィックが転送されるのかを示す情報とに基づいて上記の線形計画問題を解くことにより、Expressトラフィックのパスを仮決定する。なお、スイッチ21〜27は、上述した手順#1−1を実行することにより、隣接ノードから取得した隣接ノード情報を交換している。すなわち、スイッチ21〜27は、同じ情報を保持した状態となっている。そのため、スイッチ21〜27の各Expressトラフィックパス決定部33は、同じ情報を使用して同じアルゴリズムでExpressトラフィックのパスを仮決定することになる。したがって、スイッチ21〜27の各Expressトラフィックパス決定部33で決定されるExpressトラフィックのパスは同一となる。
<手順#1−3>
次に、スイッチ21〜27は、ネットワーク内の各リンクのリンクメトリックを決定する。リンクメトリックは通常1つであるが、本実施の形態ではExpressノードペアの数に1を加算した数のリンクメトリックを決定する。
図1に示したメッシュネットワークでは、Expressノード31と32がExpressトラフィックを送受信し、また、Expressノード41と42がExpressトラフィックを送受信するため、Expressノードペアの数は2である。よって、各リンクのリンクメトリックの数を3に拡張する。各リンクのリンクメトリックの1つ目は、第1のExpressノードペアであるExpressノード31とExpressノード32の間のパスを決定するために使用し、リンクメトリックの2つ目は、第2のExpressノードペアであるExpressノード41とExpressノード42の間のパスを決定するために使用し、リンクメトリックの3つ目はベストエフォートトラフィックのパスを決定するために使用する。図15では、リンクメトリックを“(A,B,C)”という形式で表現している。“A”の位置に記載された数値を1つ目のリンクメトリック、“B”の位置に記載された数値を2つ目のリンクメトリック、“C”の位置に記載された数値を3つ目のリンクメトリックとする。
スイッチ21〜27は、各リンクのリンクメトリック71〜79の1つ目のリンクメトリックについて、SPBで最短経路を計算した場合に手順#1−2で決定した第1のExpressノードペアであるExpressノード31とExpressノード32の間のパスがパス62となり、かつ、このパス62のパスコストが他のリンクのリンクメトリックより小さくなるように決定する。ここで、「他のリンクのリンクメトリック」は、パス62を構成していないリンクの各々の1つ目のリンクメトリックを示す。図15に示した例では、パス62のパスコストが「3」となるため、パス62を構成していないリンクである他のリンクの1つ目のリンクメトリックを「3」よりも大きな値、例えば「4」に決定する。リンクメトリックが満たすべき条件は、以下の式(1)で表すことができる。
上記の式(1)において、xi mはリンクiのm番目のリンクメトリック、xk mはリンクkのm番目のリンクメトリック、Xは第mのExpressノードペアの間のパスが使用するリンクの集合、Yはネットワーク内のX以外のリンクの集合を示す。
スイッチ21〜27は、各リンクのリンクメトリック71〜79の2つ目のリンクメトリックについて、1つ目のリンクメトリックと同様の方法で決定する。すなわち、SPBにて最短経路を計算した場合に手順#1−2で決定した第2のExpressノードペアであるノード41とノード42の間のパスがパス61となり、かつ、このパス61のパスコストが他のリンクのリンクメトリックより小さくなるように決定する。
スイッチ21〜27は、各リンクのリンクメトリック71〜79の3つ目のリンクメトリックについて、ベストエフォートトラフィックのロードバランシングが実現できるように決定する。例えば、非特許文献1で開示されている方法、具体的には、全リンクの使用率の最大値が最小となるように線形計画問題を解くことにより、各リンクの3つ目のリンクメトリックを決定する。その他の決定方法としては、リンク帯域の逆数をリンクメトリックに決定する、などが考えられる。各リンクのリンクメトリック71〜79の3つ目のリンクメトリックを決定する方法は、ベストエフォートトラフィックのロードバランシングが実現可能なリンクメトリックが得られるのであれば、どのような方法でも構わない。
スイッチ21〜27においては、リンクメトリック決定部32が、ネットワークトポロジー情報管理部31で保持されている情報およびExpressトラフィックパス決定部33で決定されたExpressトラフィックパスの情報に基づいて、各リンクのリンクメトリックを決定する。
<手順#1−4>
次に、スイッチ21〜27は、SPBを用いて各ノード間のパスを決定する。具体的には、スイッチ21〜27は、各リンクの1つ目のリンクメトリックを用いて、第1のExpressノードペアであるExpressノード31と32の間のパスを、最短経路となるように決定する。図15の例ではパス8に決定する(手順#1−4(1))。また、スイッチ21〜27は、各リンクの2つ目のリンクメトリックを用いて、第2のExpressノードペアであるExpressノード41と42の間のパスを、最短経路となるように決定する。図15の例ではパス9に決定する(手順#1−4(2))。また、スイッチ21〜27は、各リンクの3つ目のリンクメトリックを用いて、ベストエフォートノード間のパスを、最短経路となるように決定する(手順#1−4(3))。
スイッチ21〜27においては、SPB処理部27が、ネットワークトポロジー情報管理部31で保持されている情報と、リンクメトリック決定部32が決定したリンクメトリックとに基づいて、各ノード間のパスを決定する。
なお、本実施の形態では、Expressノードが1対1でフレームの送受信を行う場合について説明したが、1対多もしくは多対多でフレームの送受を行うようにしてもよい。この場合、各リンクのリンクメトリックとして、フレームの送受信を行うExpressノードの組み合わせの数に1を加えた数のリンクメトリックを決定する。例えば、メッシュネットワークにおいて、ノードN1がノードN2〜N5との間でExpressトラフィックのフレームを送受信する場合、スイッチ2は、ノードN1とノードN2の間のパスを決定するためのリンクメトリック、ノードN1とノードN3の間のパスを決定するためのリンクメトリック、ノードN1とノードN4の間のパスを決定するためのリンクメトリック、ノードN1とノードN5の間のパスを決定するためのリンクメトリック、ベストエフォートトラフィックのパスを決定するためのリンクメトリック、を決定する。また、ノードN1およびN2がノードN3およびN4との間でExpressトラフィックのフレームを送受信する場合、スイッチ2は、ノードN1とノードN3の間のパスを決定するためのリンクメトリック、ノードN1とノードN4の間のパスを決定するためのリンクメトリック、ノードN2とノードN3の間のパスを決定するためのリンクメトリック、ノードN2とノードN4の間のパスを決定するためのリンクメトリック、ベストエフォートトラフィックのパスを決定するためのリンクメトリック、を決定する。
このように、本実施の形態のスイッチ2は、メッシュネットワークに接続している各ノードから、Expressノードとベストエフォートノードのどちらに該当するかを示す属性情報と、フレームを送受信する相手のノードを示す通信相手ノード情報と、を収集し、収集した情報に基づいて、まず、Expressトラフィックを送受信するExpressノードの間のパスを、パスを構成しているリンクの重なりが最小となるように決定し、決定したパスのパスコスト基づいて、Expressトラフィックを送受信するExpressノードのペアの各々について、SPBでパスを決定する際に使用するリンクメトリックを個別に決定する。また、ベストエフォートトラフィックを送受信するベストエフォートノード間のパスをSPBで決定する際に使用するリンクメトリックを決定する。これにより、Expressノードとベストエフォートノードが混在している構成のメッシュネットワークに対してSPBを適用する場合に、各スイッチにおいては、Expressトラフィックの転送処理が競合する頻度を低く抑えたパスが決定されるようにリンクメトリックを導出することができる。
実施の形態2.
図17は、実施の形態2のフレーム転送装置であるスイッチ2a1〜2a7の構成例を示す図である。
なお、スイッチ2a1〜2a7は、実施の形態1で説明したものと同じ構成のメッシュネットワークを構成しているものとする。すなわち、スイッチ2a1〜2a7は、図1においてスイッチ21〜27をスイッチ2a1〜2a7に置き換えた構成のメッシュネットワークを構成しているものとする。スイッチ2a1〜2a7とベストエフォートノードおよびExpressノードとの接続関係も実施の形態1と同様とする。よって、スイッチ2a1には、ベストエフォートノード11と、Expressノード31および41とが接続されている。スイッチ2a2には、ベストエフォートノード12が接続されている。スイッチ2a3には、ベストエフォートノード14が接続されている。スイッチ2a7にはベストエフォートノード13と、Expressノード32および42とが接続されている。
本実施の形態のスイッチ2a1〜2a7は、図2に示した実施の形態1のスイッチ21〜27が備えているExpressトラフィックパス決定部33を線形計画問題解決部35に置き換えるとともに、SPB処理部27およびリンクメトリック決定部32をSPB処理部27aおよびリンクメトリック決定部32aに置き換えたものである。本実施の形態では、実施の形態1のスイッチ21〜27と共通の部分については説明を省略する。線形計画問題解決部35、SPB処理部27aおよびリンクメトリック決定部32aは、図3に示したハードウェアにより実現可能である。線形計画問題解決部35は、線形計画問題解決部35として動作するためのプログラムをプロセッサ103が実行することにより実現される。SPB処理部27aは、SPB処理部27aとして動作するためのプログラムをプロセッサ103が実行することにより実現される。リンクメトリック決定部32aは、リンクメトリック決定部32aとして動作するためのプログラムをプロセッサ103が実行することにより実現される。
本実施の形態のスイッチ2a1〜2a7においても、各リンクのリンクメトリックとして拡張したリンクメトリック、すなわち、複数のリンクメトリックを割り当て、フレームを送受信するノードの間のパスを決定する。
第1のリンクメトリック決定手段である線形計画問題解決部35は、図18に示したフローチャートに従い、Expressトラフィックのパスを決定する際に使用するリンクメトリックを決定する。具体的には、線形計画問題解決部35は、リンクメトリックを決定する処理の開始条件を満足したか否かを継続的に監視している(ステップS111)。ここで、処理の開始条件とは、例えば、前回リンクメトリックを決定してから規定時間が経過した場合、ユーザが処理開始を指示する操作を行った場合、自スイッチに対して新しいノードが接続した場合、自スイッチとともにメッシュネットワークを形成している他のスイッチに新しいノードが接続されたことを検出した場合、などが考えられる。リンクメトリックの決定処理の開始条件を満足した場合(ステップS51:Yes)、線形計画問題解決部35は、ネットワークトポロジー情報管理部31が保持している、ネットワークのトポロジー情報および隣接ノード情報を読み出す(ステップS112)。次に、線形計画問題解決部35は、読み出した情報、具体的には、ネットワークのトポロジー情報と、各スイッチ2に接続している各ノードの隣接ノード情報のうち、属性情報、および各ノードの通信相手先情報と、に基づいて、Expressトラフィックのパスを決定する際に使用する、各リンクのリンクメトリックを決定する(ステップS113)。より詳細には、線形計画問題解決部35は、線形計画問題を解くことにより、Expressトラフィックのパスを決定する際に使用する、各リンクのリンクメトリックを決定する。例えば、非特許文献1に記載された手法と同様の手法により、各リンクのリンクメトリックを決定する。具体的には、非特許文献1では、全リンクの使用率の最大値が最小となるように線形計画問題を解くことによりリンクメトリックを決定する手法が開示されている。これに対して、線形計画問題解決部35は、ネットワーク内の各Expressトラフィックパスが使用するリンクの重なりが最大となるリンクの重なりが最小となるように線形計画問題を解くことにより、Expressトラフィックのパスを決定する際に使用する各リンクのリンクメトリックを決定する。線形計画問題可決部35は、決定したリンクメトリック、すなわち、Expressトラフィックのパスを決定する際に使用するリンクメトリックをリンクメトリック決定部へ出力する(ステップS114)。
第2のリンクメトリック決定手段であるリンクメトリック決定部32aは、図19に示したフローチャートに従い、メッシュネットワーク内の各リンクのリンクメトリックを決定する。具体的には、リンクメトリック決定部32aは、線形計画問題解決部35からリンクメトリックを受信したか否かを継続的に監視している(ステップS121)。リンクメトリック決定部32aは、線形計画問題解決部35で決定されたリンクメトリックを受信した場合(ステップS121:Yes)、ネットワークトポロジー情報管理部31が保持している、ネットワークのトポロジー情報およびベストエフォートトラフィックの帯域需要の情報を読み出す(ステップS212)。次に、リンクメトリック決定部32aは、ネットワークトポロジー情報管理部31から読み出したネットワークのトポロジー情報およびベストエフォートトラフィックの帯域需要の情報に基づいて、ベストエフォートトラフィックのパスを決定する際に使用する、各リンクのリンクメトリックを決定する(ステップS213)。次に、リンクメトリック決定部32aは、線形計画問題解決部35から受け取ったリンクメトリックすなわち、Expressトラフィックのパスを決定する際に使用するリンクメトリックと、決定したリンクメトリック、すなわちベストエフォートトラフィックのパスを決定する際に使用するリンクメトリックとを合わせて、拡張リンクメトリックとしてSPB処理部へ出力する(ステップS214)。本実施の形態の拡張リンクメトリックは、Expressトラフィックのパスを決定する際に使用するリンクメトリックおよびベストエフォートトラフィックのパスを決定する際に使用するリンクメトリックの2つにより構成されている。なお、リンクメトリック決定部32aは、線形計画問題解決部35とともに決定手段を構成する。
SPB処理部27aは、ネットワークトポロジー情報管理部31が保持しているネットワークのトポロジー情報およびリンクメトリック決定部32aが保持している拡張リンクメトリックに基づき、SPBを使用して、各ノードが送受信するフレームの最短経路を計算する。SPB処理部27aの動作は、実施の形態1で説明したSPB処理部27と同様である。すなわち、図11に示したように、SPB処理部27aは、リンクメトリックを受信した場合(ステップS71:Yes)、ネットワークのトポロジー情報をネットワークトポロジー情報管理部31から読み出す(ステップS72)。次に、SPB処理部27aは、読み出したトポロジー情報とリンクメトリック決定部32から受け取った各リンクのリンクメトリックとに基づき、SPBを使用して、各ノードが送受信するフレームの最短経路を計算する(ステップS73)。次に、SPB処理部27は、最短経路の計算結果に基づき、受信したフレームを自スイッチのどのポートに転送するかを決定し(ステップS74)、決定結果を転送データベース26へ出力する(ステップS75)。ただし、ステップS73において最短経路を計算する際に使用するリンクメトリックが実施の形態1とは異なる。最短経路の計算方法の詳細については後述する。
実施の形態1のスイッチ21〜27では、リンクメトリック決定部32が、Expressトラフィックのパスを決定する際に使用するリンクメトリックおよびベストエフォートトラフィックのパスを決定する際に使用するリンクメトリックの双方を決定していたが、本実施の形態のスイッチ2a1〜2a7では、線形計画問題解決部35がExpressトラフィックのパスを決定する際に使用するリンクメトリックを決定し、リンクメトリック決定部32aがベストエフォートトラフィックのパスを決定する際に使用するリンクメトリックを決定する。なお、線形計画問題解決部35の機能をリンクメトリック決定部32aに持たせてもよい。すなわち、リンクメトリック決定部32aがExpressトラフィックのパスを決定する際に使用するリンクメトリックおよびベストエフォートトラフィックのパスを決定する際に使用するリンクメトリックの双方を決定する構成としてもよい。
つづいて、実施の形態2のメッシュネットワークにおいてスイッチ2a1〜2a7がリンクメトリックを決定し、決定したリンクメトリックに基づいてノード間のパスを決定する手順について説明する。
図20は、実施の形態2のスイッチ2aがメッシュネットワークに接続しているノード間のパスを決定する手順を示す図である。各スイッチ2aは、以下で説明する手順#2−1〜手順#2−3を実行することにより、通信を行う各ノード間のパスを決定する。ここでは、図1に示した構成と同様のメッシュネットワークにおいて、スイッチ2a1〜2a7が、ベストエフォートノード11,12,13,14、Expressノード31,32,41,42の各々についてのパスを決定する場合の例を説明する。
<手順#2−1>
この手順#2−1は、実施の形態1で説明した手順#1−1と同じ処理を実行し、各スイッチ2aが、ベストエフォートノード11,12,13,14、Expressノード31,32,41,42の各々についての情報、すなわち隣接ノード情報を収集する。手順#1−1と同じ処理であるため、詳細動作の説明は省略する。
<手順#2−2>
次に、スイッチ2a1〜a27は、ネットワーク内の各リンクのリンクメトリックを決定する。リンクメトリックは通常1つであるが、本実施の形態では2つのリンクメトリックを決定する。
各リンクのリンクメトリックの1つ目は、Expressトラフィックのパスを決定するために使用し、各リンクのリンクメトリックの2つ目はベストエフォートトラフィックのパスを決定するために使用する。図20では、リンクメトリックを“(A,B)”という形式で表現している。“A”の位置に記載された数値を1つ目のリンクメトリック、“B”の位置に記載された数値を2つ目のリンクメトリックとする。
スイッチ2a1〜2a7は、各リンクのリンクメトリック101〜109の1つ目のリンクメトリックについて、ネットワーク内の各Expressトラフィックパスが使用するリンクの重なりが最大となるリンクの重なりが最小となるように線形計画問題を解くことによりリンクメトリックを決定する。また、スイッチ2a1〜2a7は、各リンクのリンクメトリック101〜109の2つ目のリンクメトリックについて、ベストエフォートトラフィックのロードバランシングが実現できるように決定する。例えば、各ベストエフォートノードの帯域需要に基づいて全リンクの使用率の最大値が最小となるように線形計画問題を解くことにより、各リンクの2つ目のリンクメトリックを決定する。その他の決定方法としては、リンク帯域の逆数をリンクメトリックに決定する、などが考えられる。
スイッチ2a1〜2a7においては、線形計画問題解決部35が1つ目のリンクメトリックを決定し、リンクメトリック決定部32aが2つ目のリンクメトリックを決定する。リンクメトリック決定部32aは1つ目のリンクメトリックと2つ目のリンクメトリックを合わせて拡張リンクメトリックとして保持する。
<手順#2−3>
次に、スイッチ2a1〜2a7は、SPBを用いて各ノード間のパスを決定する。具体的には、スイッチ2a1〜2a7は、各リンクの1つ目のリンクメトリックを用いて、Expressトラフィックのパスを、最短経路となるように決定する。ここでは、Expressノードのペアが2つであるため、2つのExpressトラフィックパス、すなわち図示したECMP11および12が決定される。スイッチ2a1〜2a7は、決定したECMP11および12を、各Expressノードのペアに割り当てる。例えば、ECMP11をExpressノード31とExpressノード32のペアに使用させるようにVID(Virtual Local Area Network ID)を設定し、ECMP12をExpressノード41とExpressノード42のペアに使用させるようにVIDを設定する。また、スイッチ2a1〜2a7は、各リンクの2つ目のリンクメトリックを用いて、ベストエフォートトラフィックのパスを、最短経路となるように決定する。
スイッチ2a1〜2a7においては、SPB処理部27aが、ネットワークトポロジー情報管理部31で保持されている情報と、リンクメトリック決定部32aで保持されている拡張リンクメトリックとに基づいて、各ノード間のパスを決定する。
このように、本実施の形態のスイッチ2aは、メッシュネットワークに接続している各ノードから、Expressノードとベストエフォートノードのどちらに該当するかを示す属性情報と、フレームを送受信する相手のノードを示す通信相手ノード情報と、を収集し、収集した情報に基づいて、Expressトラフィックを送受信するExpressノードの間のパスを決定する際に使用するリンクメトリックと、ベストエフォートトラフィックを送受信するベストエフォートノードの間のパスを決定する際に使用するリンクメトリックとを決定する。Expressトラフィックを送受信するExpressノードの間のパスを決定する際に使用するリンクメトリックを決定する際には、各Expressトラフィックノードの間のパスが使用するリンクの重なりが最大となるリンクの重なりが最小となるよう、すなわち、Expressトラフィックパスを構成しているリンク同士の重なり数が最小となるよう、線形計画問題を解くことによりリンクメトリックを決定する。これにより、Expressノードとベストエフォートノードが混在している構成のメッシュネットワークに対してSPBを適用する場合に、各スイッチにおいては、Expressトラフィックの転送処理が競合する頻度を低く抑えたパスが決定されるようにリンクメトリックを導出することができる。
以上の実施の形態に示した構成は、本発明の内容の一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、本発明の要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。