(57)【要約】【課題】双方向の通信経路を統一して適切に通信できるようにする。【解決手段】各エッジスイッチにおいて、最も早く到着した先着パケットの受信回数をポート毎に計数して、時間が経過した後に、送信元ＭＡＣアドレス及び送信先ＭＡＣアドレスに基づき決定されるメインのエッジスイッチであれば、受信回数に基づきポートを特定し、当該特定されたポートと送信元ＭＡＣアドレスとをテーブルに登録する。一方、サブのエッジスイッチであれば、時間が経過した後、一旦受信回数をクリアして、受信回数を計数する。その後再度時間経過すると、メインのエッジスイッチと同様に、受信回数に基づきポートを特定し、当該特定されたポートと送信元ＭＡＣアドレスとをテーブルに登録する。【選択図】図３
2013141140.tif 000002
【特許請求の範囲】
【請求項１】
通信装置であって、
複数の入力ポートと、
各々異なる１の入力ポートに対応付けられている複数の出力ポートと、
送信先アドレスと出力先の出力ポートの識別子とが対応付けられている第１の関係情報と、送信先アドレス及び送信元アドレスと入力ポートの識別子と受信回数とが対応付けられている第２の関係情報とを格納するメモリと、
前記第１の関係情報において前記複数の入力ポートのいずれかから受信したパケットの送信先アドレスに対応付けられている出力ポートの識別子を特定し、当該受信したパケットを特定された前記識別子の出力ポートに出力させるパケット処理部と、
を有し、
前記パケット処理部は、
同一のパケットを異なる入力ポートで受信した場合には、前記第２の関係情報において、当該パケットの送信元アドレス及び送信先アドレスと当該パケットが最も早く到着した入力ポートの識別子とに対応付けられる受信回数を更新し、
第１の時期的条件が満たされた場合、受信した第１のパケットの送信元アドレス及び送信先アドレスに関連する２つのエッジ通信装置のうち前記通信装置が第１のエッジ通信装置であれば、前記第２の関係情報において当該第１のパケットの送信元アドレス及び送信先アドレスに対応付けて格納されている受信回数に基づき入力ポートの識別子を特定し、特定された前記入力ポートの識別子に対応する出力ポートの識別子と前記第１のパケットの送信元アドレスとで前記第１の関係情報を更新し、
前記第１の時期的条件が満たされた場合、前記２つのエッジ通信装置のうち前記通信装置が第２のエッジ通信装置であれば、前記第２の関係情報において前記第１のパケットの送信元アドレス及び送信先アドレスに対応付けられている前記受信回数を０にセットし、前記第１の時期的条件が満たされた後の第２の時期的条件が満たされた場合、前記第１のパケットと同一の送信元アドレス及び送信先アドレスを含む第２のパケットを受信すると、前記第２の関係情報において前記第２のパケットの送信元アドレス及び送信先アドレスに対応付けられている受信回数に基づき入力ポートの識別子を特定し、特定された前記入力ポートの識別子に対応する出力ポートの識別子と前記第２のパケットの送信元アドレスとで前記第１の関係情報を更新する
通信装置。
【請求項２】
前記第１の時期的条件が、前記第１のパケットに含まれる送信先アドレス及び送信元アドレスと同一の送信先アドレス及び同一の送信元アドレスを含む最初のパケットを受信後所定時間経過したという条件、又は前記第１のパケットに含まれる送信元アドレス及び送信先アドレスと同一の送信先アドレス及び同一の送信元アドレスを含む先着パケットの受信回数が閾値を超えたという条件である
請求項１記載の通信装置。
【請求項３】
前記第２の時期的条件が、前記第１の時期的条件が満たされた後、前記第１のパケットに含まれる送信先アドレス及び送信元アドレスと同一の送信先アドレス及び同一の送信元アドレスを含む最初のパケットを受信後第２の所定時間経過したという条件、又は前記第１のパケットに含まれる送信先アドレス及び送信元アドレスと同一の送信先アドレス及び同一の送信元アドレスを含む先着パケットの受信回数が閾値を超えたという条件である
請求項１又は２記載の通信装置。
【請求項４】
前記受信回数が最大の入力ポートの識別子又は前記受信回数が非ゼロで最小の入力ポートの識別子を特定する
請求項１乃至３のいずれか１つ記載の通信装置。
【請求項５】
前記第１のエッジ通信装置は、前記第１のパケットの送信先アドレス及び送信元アドレスの大小関係で決定される
請求項１乃至４のいずれか１つ記載の通信装置。
【請求項６】
通信装置であって、
複数の入力ポートと、
各々異なる１の入力ポートに対応付けられている複数の出力ポートと、
送信先アドレスと出力先の出力ポートの識別子とが対応付けられている第１の関係情報と、送信先アドレス及び送信元アドレスと入力ポートの識別子と受信回数とが対応付けられている第２の関係情報とを格納するメモリと、
前記第１の関係情報において前記複数の入力ポートのいずれかから受信したパケットの送信先アドレスに対応付けられている出力ポートの識別子を特定し、当該受信したパケットを特定された前記識別子の出力ポートに出力させるパケット処理部と、
を有し、
前記パケット処理部は、
受信した第１のパケットの送信元アドレス及び送信先アドレスに関連する２つのエッジ通信装置のうち前記通信装置が第１のエッジ通信装置であれば、当該第１のパケットと同一のパケットを受信した場合でも当該第１のパケットが最も早く到着した入力ポートの識別子に対応する出力ポートの識別子を、前記第１のパケットの送信元アドレスに対応付けて前記第１の関係情報に登録し、
前記２つのエッジ通信装置のうち前記通信装置が第２のエッジ通信装置であれば、前記第１のパケットと同一のパケットを受信した場合でも、前記第２の関係情報において、前記第１のパケットの送信元アドレス及び送信先アドレスと当該第１のパケットが到着した入力ポートの識別子とに対応付けられる受信回数を更新し、第１の時期的条件が満たされた場合、第２の関係情報において、前記第１のパケットの送信元アドレス及び送信先アドレスに対応付けて格納されている受信回数に基づき入力ポートの識別子を特定し、特定された前記入力ポートの識別子に対応する出力ポートの識別子と前記第１のパケットの送信元アドレスとで前記第１の関係情報を更新する、
通信装置。
【請求項７】
通信装置であって、
複数の入力ポートと、
各々異なる１の入力ポートに対応付けられている複数の出力ポートと、
送信先アドレスと出力先の出力ポートの識別子とが対応付けられている第１の関係情報と、送信先アドレス及び送信元アドレスと入力ポートの識別子と廃棄回数とが対応付けられている第２の関係情報と、送信元アドレス及び送信先アドレスと入力ポートの識別子とを対応付けて格納する第３の関係情報とを格納するメモリと、
前記第１の関係情報において前記複数の入力ポートのいずれかから受信したパケットの送信先アドレスに対応付けられている出力ポートの識別子を特定し、当該受信したパケットを特定された前記識別子の出力ポートに出力させるパケット処理部と、
を有し、
前記パケット処理部は、
前記第３の関係情報において、受信したパケットの送信元アドレス及び送信先アドレスに対応付けられている入力ポートとは異なる入力ポートに当該受信したパケットが到着した場合には、当該受信したパケットを廃棄し、前記第２の関係情報において、当該パケットの送信元アドレス及び送信先アドレスと当該廃棄されたパケットが到着した入力ポートの識別子とに対応付けられている廃棄回数を更新し、
前記廃棄回数が閾値を超えた場合には、廃棄された前記パケットの送信先アドレス及び送信元アドレスに関連する２つのエッジ通信装置のうち前記通信装置が当該廃棄された前記パケットの送信先アドレス及び送信元アドレスの大小関係から特定される一方のエッジ通信装置であれば、前記第３の関係情報において、廃棄された前記パケットの送信先アドレス及び送信元アドレスについての情報と、前記第２の関係情報において、廃棄された前記パケットの送信先アドレス及び送信元アドレスに対応付けられている少なくとも廃棄回数と、前記第１の関係情報において、廃棄された前記パケットの送信元アドレスについての情報とを削除する
通信装置。
【請求項８】
前記パケット処理部は、
前記廃棄回数が閾値を超えた場合には、廃棄された前記パケットの送信先アドレス及び送信元アドレスに関連する２つのエッジ通信装置のうち前記通信装置が当該廃棄された前記パケットの送信先アドレス及び送信元アドレスの大小関係から特定される他方のエッジ通信装置であれば、前記第２の関係情報において、廃棄された前記パケットの送信先アドレス及び送信元アドレスに対応付けられている廃棄回数を０にリセットする
請求項７記載の通信装置。
【請求項９】
前記パケット処理部は、
前記第２の関係情報において、廃棄回数のリセット回数がさらに対応付けられており、
前記廃棄回数のリセット回数が閾値を超えた場合には、廃棄された前記パケットについて同一性を判断するためのデータと、前記第２の関係情報において、廃棄された前記パケットの送信先アドレス及び送信元アドレスに対応付けられている少なくとも廃棄回数と、前記第１の関係情報において、廃棄された前記パケットの送信元アドレスについての情報とを削除する
請求項８記載の通信装置。
【請求項１０】
通信装置であって、
複数の入力ポートと、
各々異なる１の入力ポートに対応付けられている複数の出力ポートと、
送信先アドレスと出力先の出力ポートの識別子とが対応付けられている第１の関係情報と、送信先アドレス及び送信元アドレスと入力ポートの識別子と廃棄回数とが対応付けられている第２の関係情報と、送信元アドレス及び送信先アドレスと入力ポートの識別子とを対応付けて格納する第３の関係情報とを格納するメモリと、
前記第１の関係情報において前記複数の入力ポートのいずれかから受信したパケットの送信先アドレスに対応付けられている出力ポートの識別子を特定し、当該受信したパケットを特定された前記識別子の出力ポートに出力させるパケット処理部と、
を有し、
前記パケット処理部は、
前記第３の関係情報において、受信したパケットの送信元アドレス及び送信先アドレスに対応付けられている入力ポートとは異なる入力ポートに当該受信したパケットが到着した場合には、当該受信したパケットを廃棄し、前記第２の関係情報において、当該パケットの送信元アドレス及び送信先アドレスと当該廃棄されたパケットが到着した入力ポートの識別子とに対応付けられている廃棄回数を更新し、
前記廃棄回数が閾値を超えた場合には、廃棄された前記パケットの送信先アドレス及び送信元アドレスに関連する２つのエッジ通信装置のうち前記通信装置が当該廃棄された前記パケットの送信先アドレス及び送信元アドレスの大小関係から特定される一方のエッジ通信装置であれば、前記第２の関係情報において、廃棄された前記パケットの送信先アドレス及び送信元アドレスに対応付けられている少なくとも廃棄回数を廃棄し、前記第１の関係情報において、廃棄された前記パケットの送信元アドレスに対応付けて、廃棄された前記パケットを受信した入力ポートの識別子に対応する出力ポートの識別子を登録し、前記第３の関係情報において、廃棄された前記パケットの送信元アドレス及び送信先アドレスに対応付けて、廃棄された前記パケットを受信した入力ポートの識別子に対応する出力ポートの識別子を登録する
通信装置。
【請求項１１】
通信装置に実行させるためのプログラムであって、
前記通信装置は、複数の入力ポートと、各々異なる１の入力ポートに対応付けられている複数の出力ポートと、送信先アドレスと出力先の出力ポートの識別子とが対応付けられている第１の関係情報と、送信先アドレス及び送信元アドレスと入力ポートの識別子と受信回数とが対応付けられている第２の関係情報とを格納するメモリとを有し、
前記通信装置に、
同一のパケットを異なる入力ポートで受信した場合には、前記第２の関係情報において、当該パケットの送信元アドレス及び送信先アドレスと当該パケットが最も早く到着した入力ポートの識別子とに対応付けられる受信回数を更新し、
第１の時期的条件が満たされた場合、受信した第１のパケットの送信元アドレス及び送信先アドレスに関連する２つのエッジ通信装置のうち前記通信装置が第１のエッジ通信装置であれば、前記第２の関係情報において当該第１のパケットの送信元アドレス及び送信先アドレスに対応付けて格納されている受信回数に基づき入力ポートの識別子を特定し、特定された前記入力ポートの識別子に対応する出力ポートの識別子と前記第１のパケットの送信元アドレスとで前記第１の関係情報を更新し、
前記第１の時期的条件が満たされた場合、前記２つのエッジ通信装置のうち前記通信装置が第２のエッジ通信装置であれば、前記第２の関係情報において前記第１のパケットの送信元アドレス及び送信先アドレスに対応付けられている前記受信回数を０にセットし、前記第１の時期的条件が満たされた後の第２の時期的条件が満たされた場合、前記第１のパケットと同一の送信元アドレス及び送信先アドレスを含む第２のパケットを受信すると、前記第２の関係情報において前記第２のパケットの送信元アドレス及び送信先アドレスに対応付けられている受信回数に基づき入力ポートの識別子を特定し、特定された前記入力ポートの識別子に対応する出力ポートの識別子と前記第２のパケットの送信元アドレスとで前記第１の関係情報を更新する
処理を実行させるためのプログラム。
【請求項１２】
通信装置に実行させるためのプログラムであって、
前記通信装置は、複数の入力ポートと、各々異なる１の入力ポートに対応付けられている複数の出力ポートと、送信先アドレスと出力先の出力ポートの識別子とが対応付けられている第１の関係情報と、送信先アドレス及び送信元アドレスと入力ポートの識別子と受信回数とが対応付けられている第２の関係情報とを格納するメモリとを有し、
前記通信装置に、
受信した第１のパケットの送信元アドレス及び送信先アドレスに関連する２つのエッジ通信装置のうち前記通信装置が第１のエッジ通信装置であれば、当該第１のパケットと同一のパケットを受信した場合でも当該第１のパケットが最も早く到着した入力ポートの識別子に対応する出力ポートの識別子を、前記第１のパケットの送信元アドレスに対応付けて前記第１の関係情報に登録し、
前記２つのエッジ通信装置のうち前記通信装置が第２のエッジ通信装置であれば、前記第１のパケットと同一のパケットを受信した場合でも、前記第２の関係情報において、前記第１のパケットの送信元アドレス及び送信先アドレスと当該第１のパケットが到着した入力ポートの識別子とに対応付けられる受信回数を更新し、第１の時期的条件が満たされた場合、第２の関係情報において、前記第１のパケットの送信元アドレス及び送信先アドレスに対応付けて格納されている受信回数に基づき入力ポートの識別子を特定し、特定された前記入力ポートの識別子に対応する出力ポートの識別子と前記第１のパケットの送信元アドレスとで前記第１の関係情報を更新する、
処理を実行させるためのプログラム。
【請求項１３】
通信装置に実行させるためのプログラムであって、
前記通信装置は、複数の入力ポートと、各々異なる１の入力ポートに対応付けられている複数の出力ポートと、送信先アドレスと出力先の出力ポートの識別子とが対応付けられている第１の関係情報と、送信先アドレス及び送信元アドレスと入力ポートの識別子と廃棄回数とが対応付けられている第２の関係情報と、送信元アドレス及び送信先アドレスと入力ポートの識別子とを対応付けて格納する第３の関係情報とを格納するメモリとを有し、
前記通信装置に、
前記第３の関係情報において、受信したパケットの送信元アドレス及び送信先アドレスに対応付けられている入力ポートとは異なる入力ポートに当該受信したパケットが到着した場合には、当該受信したパケットを廃棄し、前記第２の関係情報において、当該パケットの送信元アドレス及び送信先アドレスと当該廃棄されたパケットが到着した入力ポートの識別子とに対応付けられている廃棄回数を更新し、
前記廃棄回数が閾値を超えた場合には、廃棄された前記パケットの送信先アドレス及び送信元アドレスに関連する２つのエッジ通信装置のうち前記通信装置が当該廃棄された前記パケットの送信先アドレス及び送信元アドレスの大小関係から特定される一方のエッジ通信装置であれば、前記第３の関係情報において、廃棄された前記パケットの送信先アドレス及び送信元アドレスについての情報と、前記第２の関係情報において、廃棄された前記パケットの送信先アドレス及び送信元アドレスに対応付けられている少なくとも廃棄回数と、前記第１の関係情報において、廃棄された前記パケットの送信元アドレスについての情報とを削除する
処理を実行させるためのプログラム。
【請求項１４】
通信装置に実行させるためのプログラムであって、
前記通信装置は、複数の入力ポートと、各々異なる１の入力ポートに対応付けられている複数の出力ポートと、送信先アドレスと出力先の出力ポートの識別子とが対応付けられている第１の関係情報と、送信先アドレス及び送信元アドレスと入力ポートの識別子と廃棄回数とが対応付けられている第２の関係情報と、送信元アドレス及び送信先アドレスと入力ポートの識別子とを対応付けて格納する第３の関係情報とを格納するメモリとを有し、
前記通信装置に、
前記第３の関係情報において、受信したパケットの送信元アドレス及び送信先アドレスに対応付けられている入力ポートとは異なる入力ポートに当該受信したパケットが到着した場合には、当該受信したパケットを廃棄し、前記第２の関係情報において、当該パケットの送信元アドレス及び送信先アドレスと当該廃棄されたパケットが到着した入力ポートの識別子とに対応付けられている廃棄回数を更新し、
前記廃棄回数が閾値を超えた場合には、廃棄された前記パケットの送信先アドレス及び送信元アドレスに関連する２つのエッジ通信装置のうち前記通信装置が当該廃棄された前記パケットの送信先アドレス及び送信元アドレスの大小関係から特定される一方のエッジ通信装置であれば、前記第２の関係情報において、廃棄された前記パケットの送信先アドレス及び送信元アドレスに対応付けられている少なくとも廃棄回数を廃棄し、前記第１の関係情報において、廃棄された前記パケットの送信元アドレスに対応付けて、廃棄された前記パケットを受信した入力ポートの識別子に対応する出力ポートの識別子を登録し、前記第３の関係情報において、廃棄された前記パケットの送信元アドレス及び送信先アドレスに対応付けて、廃棄された前記パケットを受信した入力ポートの識別子に対応する出力ポートの識別子を登録する
処理を実行させるためのプログラム。
【請求項１５】
各エッジ通信装置において、同一のパケットを異なるポートで受信した場合には、先着のパケットを受信したポートについて、当該パケットの送信元アドレス及び送信先アドレスに対応付けて受信回数を計数し、
第１の時期的条件が満たされた場合には、受信した第１のパケットの２つのエッジ通信装置のうち第１のエッジ通信装置において、当該第１のパケットの送信元アドレス及び送信先アドレスに対応付けて計数された受信回数に基づきポートの識別子を特定して、前記第１のパケットの送信元アドレスに対応付けて前記第１のエッジ通信装置におけるメモリに格納し、
前記第１の時期的条件が満たされた場合には、前記２つのエッジ通信装置のうち第２のエッジ通信装置において、前記第１のパケットとは反対方向の第２のパケットの送信元アドレス及び送信先アドレスに対応付けて計数された前記受信回数をリセットし、再度当該受信回数の計数を開始し、
前記第１の時期的条件が満たされた後に第２の時期的条件が満たされた場合、前記第２のエッジ通信装置において、前記第２のパケットの送信元アドレス及び送信先アドレスに対応付けて計数された受信回数に基づきポートの識別子を特定して、前記第２のパケットの送信元アドレスに対応付けて前記第２のエッジ通信装置におけるメモリに格納する
処理を含む制御方法。
【請求項１６】
受信した第１のパケットの２つのエッジ通信装置のうち第１のエッジ通信装置において、当該第１のパケットと同一のパケットを受信した場合でも先着のパケットを受信したポートの識別子を、前記第１のパケットの送信元アドレスと対応付けて前記第１のエッジ通信装置におけるメモリに格納し、
前記２つのエッジ通信装置のうち第２のエッジ通信装置において、前記第１の受信パケットとは反対方向の第２のパケットと同一のパケットを異なるポートで受信した場合には、先着のパケットを受信したポートについて、当該第２のパケットの送信元アドレス及び送信先アドレスに対応付けて受信回数を計数し、
第１の時期的条件が満たされた場合には、前記第２のパケットの送信元アドレス及び送信先アドレスに対応付けて計数された受信回数に基づきポートの識別子を特定して、前記第２のパケットの送信元アドレスに対応付けて前記第２のエッジ通信装置におけるメモリに格納する
処理を含む制御方法。
【請求項１７】
各エッジ通信装置において、送信元アドレス及び送信先アドレスとポートの識別子とが対応付けてられている第１の関係情報において、受信したパケットの送信元アドレス及び送信先アドレスに対応付けられているポートとは異なるポートに当該受信したパケットが到着した場合には、当該受信したパケットを廃棄し、当該受信したパケットの送信元アドレス及び送信先アドレスに対応付けて廃棄回数を計数し、
前記廃棄回数が閾値を超えた場合には、廃棄された前記パケットの送信元アドレス及び送信先アドレスに関連する２つのエッジ通信装置のうち当該廃棄された前記パケットの送信元アドレス及び送信先アドレスの大小関係から特定される一方のエッジ通信装置において、前記第１の関係情報において、廃棄された前記パケットの送信元アドレス及び送信先アドレスについての情報を削除し、廃棄された前記パケットの送信元アドレス及び送信先アドレスについての廃棄回数をリセットし、送信先アドレスと出力先のポートの識別子とが対応付けられている第２の関係情報において、廃棄された前記パケットの送信元アドレスについての情報を削除する
処理を含む制御方法。
【請求項１８】
各エッジ通信装置において、送信元アドレス及び送信先アドレスとポートの識別子とが対応付けられている第１の関係情報において、受信したパケットの送信元アドレス及び送信先アドレスに対応付けられているポートとは異なるポートに当該受信したパケットが到着した場合には、当該受信したパケットを廃棄し、当該受信したパケットの送信元アドレス及び送信先アドレスに対応付けて廃棄回数を計数し、
前記廃棄回数が閾値を超えた場合には、廃棄された前記パケットの送信元アドレス及び送信先アドレスに関連する２つのエッジ通信装置のうち当該廃棄された前記パケットの送信元アドレス及び送信先アドレスの大小関係から特定される一方のエッジ通信装置において、廃棄された前記パケットの送信元アドレス及び送信先アドレスについての廃棄回数をリセットし、送信先アドレスと出力先のポートの識別子とが対応付けられている第２の関係情報において、廃棄された前記パケットの送信元アドレスに対応付けて、廃棄された前記パケットを受信したポートの識別子を登録し、前記第１の関係情報において、廃棄された前記パケットの送信元アドレス及び送信先アドレスに対応付けて、廃棄された前記パケットを受信したポートの識別子を登録する
処理を含む制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、パケットの出力先ポートを決定するための技術に関する。
【背景技術】
【０００２】
従来技術には、図１に示すように、ある端末Ａから、スイッチＮ１乃至Ｎ４を含むネットワークを介してある端末Ｂへ連続してパケットを送信する場合、端末Ａ側のエッジスイッチＮ１は初期的にはフラッディングを行って経路Ａ及びＢで同一パケットを送信する。そうすると、端末Ｂ側のエッジスイッチＮ４は、入力ポートｐ１及びｐ３の両方で同一パケットを受信することになるが、先に到着した先着パケットの数をポート毎に計数する。なお、先着パケット以外の同一パケットについてはスイッチＮ４で破棄される。そして、端末Ｂは、あるタイミングで、先着パケットの数が最も多い入力ポートを先着ポートとして選択して端末Ａ（即ち送信元）のＭＡＣアドレスに対応付けてＭＡＣテーブルに登録する。そうすると、その後、端末Ｂから端末Ａにパケットを送信する場合には、ＭＡＣテーブルに、端末ＡのＭＡＣアドレスと出力先ポートとが対応付けられているので、ＭＡＣテーブルに従って、先着ポートである出力先ポートを特定し、当該出力先ポートにパケットを出力する。例えば、経路Ａの方が先着パケットの数が多い場合には、経路Ａのポートｐ１がエッジスイッチＮ４のＭＡＣテーブルに登録され、端末Ｂから端末Ａへパケットを送信するような逆方向のパケット送信においても、経路Ａと同一の経路を経由してパケットは送信される。
【０００３】
しかしながら、双方向の通信経路の一致は、先に端末Ａから端末Ｂへ連続してパケットを送信するといった一方向のパケット送信が連続且つ先行して行われるような状況において成立する。
【０００４】
具体的には、端末Ａと端末Ｂとで双方向でほぼ同時にパケット送信を開始し始めると、問題が生ずる。すなわち、端末Ａから端末Ｂへのパケット送信の場合には、上で述べたように、経路Ａの方が先着パケットの数が多いが、端末Ｂから端末Ａへのパケット送信の場合には、逆に経路Ｂの方が先着パケットが多いとする。そうすると、経路Ｂのポートｐ２がエッジスイッチＮ１のＭＡＣテーブルに登録され、端末Ａから端末Ｂへパケットを送信するような逆方向のパケット送信においても、経路Ｂと同一経路を経由してパケットを送信するようになる。ここで、端末Ａから端末Ｂへのパケット送信では、経路Ａの方が先着パケットが多かったにもかかわらず経路Ｂが選択され、端末Ｂから端末Ａへのパケット送信では、経路Ｂの方が先着パケットが多いにもかかわらず経路Ａが選択されてしまう。
【０００５】
なお、先着パケットが到着した入力ポート以外の入力ポートに、先着パケットの送信元アドレス及び送信先アドレスの組み合わせと同一の送信元アドレス及び送信先アドレスの組み合わせを含む他のパケットが到着した場合、当該他のパケットを破棄するような機構がさらに含まれることがある。この場合には、上で述べたような場面では、双方向でパケットが全て破棄されるという状況が生ずる。
【０００６】
従来、このように通信経路が不一致になる点及びパケットが全て破棄されるという点について対処するような技術は存在していない。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−５４５８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従って、本技術の目的は、一側面においては、双方向の通信経路を統一して適切に通信できるようにするための技術を提供することである。
【課題を解決するための手段】
【０００９】
本技術の第１の態様に係る通信装置は、複数の入力ポートと、各々異なる１の入力ポートに対応付けられている複数の出力ポートと、送信先アドレスと出力先の出力ポートの識別子とが対応付けられている第１の関係情報と、送信先アドレス及び送信元アドレスと入力ポートの識別子と受信回数とが対応付けられている第２の関係情報とを格納するメモリと、第１の関係情報において複数の入力ポートのいずれかから受信したパケットの送信先アドレスに対応付けられている出力ポートの識別子を特定し、当該受信したパケットを特定された識別子の出力ポートに出力させるパケット処理部とを有する。そして、上で述べたパケット処理部は、（Ａ）同一のパケットを異なる入力ポートで受信した場合には、第２の関係情報において、当該パケットの送信元アドレス及び送信先アドレスと当該パケットが最も早く到着した入力ポートの識別子とに対応付けられる受信回数を更新する。また、（Ｂ）上で述べたパケット処理部は、第１の時期的条件が満たされた場合、受信した第１のパケットの送信元アドレス及び送信先アドレスに関連する２つのエッジ通信装置のうち上記通信装置が第１のエッジ通信装置であれば、第２の関係情報において当該第１のパケットの送信元アドレス及び送信先アドレスに対応付けて格納されている受信回数に基づき入力ポートの識別子を特定し、特定された入力ポートの識別子に対応する出力ポートの識別子と第１のパケットの送信元アドレスとで第１の関係情報を更新する。さらに（Ｃ）上で述べたパケット処理部は、第１の時期的条件が満たされた場合、上記２つのエッジ通信装置のうち第２のエッジ通信装置であれば、第２の関係情報において第１のパケットの送信元アドレス及び送信先アドレスに対応付けられている受信回数を０にセットし、第１の時期的条件が満たされた後の第２の時期的条件が満たされた場合、第１のパケットと同一の送信元アドレス及び送信先アドレスを含む第２のパケットを受信すると、第２の関係情報において第２のパケットの送信元アドレス及び送信先アドレスに対応付けられている受信回数に基づき入力ポートの識別子を特定し、特定された入力ポートの識別子に対応する出力ポートの識別子と第２のパケットの送信元アドレスとで第１の関係情報を更新する。
【００１０】
本技術の第２の態様に係る通信装置は、複数の入力ポートと、各々異なる１の入力ポートに対応付けられている複数の出力ポートと、送信先アドレスと出力先の出力ポートの識別子とが対応付けられている第１の関係情報と、送信先アドレス及び送信元アドレスと入力ポートの識別子と受信回数とが対応付けられている第２の関係情報とを格納するメモリと、第１の関係情報において複数の入力ポートのいずれかから受信したパケットの送信先アドレスに対応付けられている出力ポートの識別子を特定し、当該受信したパケットを特定された識別子の出力ポートに出力させるパケット処理部とを有する。そして、上で述べたパケット処理部は、（Ａ）受信した第１のパケットの送信元アドレス及び送信先アドレスに関連する２つのエッジ通信装置のうち上記通信装置が第１のエッジ通信装置であれば、当該第１のパケットと同一のパケットを受信した場合でも当該第１のパケットが最も早く到着した入力ポートの識別子に対応する出力ポートの識別子を、第１のパケットの送信元アドレスに対応付けて第１の関係情報に登録する。また、（Ｂ）パケット処理部は、上記２つのエッジ通信装置のうち上記通信装置が第２のエッジ通信装置であれば、第１のパケットと同一のパケットを受信した場合でも、第２の関係情報において、第１のパケットの送信元アドレス及び送信先アドレスと当該第１のパケットが到着した入力ポートの識別子とに対応付けられる受信回数を更新し、第１の時期的条件が満たされた場合、第２の関係情報において、第１のパケットの送信元アドレス及び送信先アドレスに対応付けて格納されている受信回数に基づき入力ポートの識別子を特定し、特定された入力ポートの識別子に対応する出力ポートの識別子と第１のパケットの送信元アドレスとで第１の関係情報を更新する。
【００１１】
本技術の第３の態様に係る通信装置は、複数の入力ポートと、各々異なる１の入力ポートに対応付けられている複数の出力ポートと、送信先アドレスと出力先の出力ポートの識別子とが対応付けられている第１の関係情報と、送信先アドレス及び送信元アドレスと入力ポートの識別子と廃棄回数とが対応付けられている第２の関係情報と、送信元アドレス及び送信先アドレスと入力ポートの識別子とを対応付けて格納する第３の関係情報とを格納するメモリと、第１の関係情報において複数の入力ポートのいずれかから受信したパケットの送信先アドレスに対応付けられている出力ポートの識別子を特定し、当該受信したパケットを特定された識別子の出力ポートに出力させるパケット処理部とを有する。そして、上で述べたパケット処理部は、（Ａ）第３の関係情報において、受信したパケットの送信元アドレス及び送信先アドレスに対応付けられている入力ポートとは異なる入力ポートに当該受信したパケットが到着した場合には、当該受信したパケットを廃棄し、第２の関係情報において、当該パケットの送信元アドレス及び送信先アドレスと当該廃棄されたパケットが到着した入力ポートの識別子とに対応付けられている廃棄回数を更新する。また、（Ｂ）上で述べたパケット処理部は、廃棄回数が閾値を超えた場合には、廃棄されたパケットの送信先アドレス及び送信元アドレスに関連する２つのエッジ通信装置のうち上記通信装置が当該廃棄されたパケットの送信先アドレス及び送信元アドレスの大小関係から特定される一方のエッジ通信装置であれば、第３の関係情報において、廃棄されたパケットの送信先アドレス及び送信元アドレスについてのエントリと、第２の関係情報において、廃棄されたパケットの送信先アドレス及び送信元アドレスに対応付けられている少なくとも廃棄数と、第１の関係情報において、廃棄されたパケットの送信元アドレスについてのエントリとを削除する。
【００１２】
さらに、本技術の第４の態様に係る通信装置は、複数の入力ポートと、各々異なる１の入力ポートに対応付けられている複数の出力ポートと、送信先アドレスと出力先の出力ポートの識別子とが対応付けられている第１の関係情報と、送信先アドレス及び送信元アドレスと入力ポートの識別子と廃棄回数とが対応付けられている第２の関係情報と、送信元アドレス及び送信先アドレスと入力ポートの識別子とを対応付けて格納する第３の関係情報とを格納するメモリと、第１の関係情報において複数の入力ポートのいずれかから受信したパケットの送信先アドレスに対応付けられている出力ポートの識別子を特定し、当該受信したパケットを特定された識別子の出力ポートに出力させるパケット処理部とを有する。そして、上で述べたパケット処理部は、（Ａ）第３の関係情報において、受信したパケットの送信元アドレス及び送信先アドレスに対応付けられている入力ポートとは異なる入力ポートに当該受信したパケットが到着した場合には、当該受信したパケットを廃棄し、第２の関係情報において、当該パケットの送信元アドレス及び送信先アドレスと当該廃棄されたパケットが到着した入力ポートの識別子とに対応付けられている廃棄回数を更新する。また、上で述べたパケット処理部は、（Ｂ）廃棄回数が閾値を超えた場合には、廃棄されたパケットの送信先アドレス及び送信元アドレスに関連する２つのエッジ通信装置のうち上記通信装置が当該廃棄されたパケットの送信先アドレス及び送信元アドレスの大小関係から特定される一方のエッジ通信装置であれば、第２の関係情報において、廃棄されたパケットの送信先アドレス及び送信元アドレスに対応付けられている少なくとも廃棄回数を廃棄し、第１の関係情報において、廃棄されたパケットの送信元アドレスに対応付けて、廃棄されたパケットを受信した入力ポートの識別子に対応する出力ポートの識別子を登録し、第３の関係情報において、廃棄されたパケットの送信元アドレス及び送信先アドレスに対応付けて、廃棄されたパケットを受信した入力ポートの識別子に対応する出力ポートの識別子を登録する。
【発明の効果】
【００１３】
双方向の通信経路を統一して適切に通信できるようになる。
【図面の簡単な説明】
【００１４】
【図１】図１は、従来技術を説明するための図である。
【図２Ａ】図２Ａは、第１の実施の形態に係る処理を説明するための図である。
【図２Ｂ】図２Ｂは、第１の実施の形態に係る処理を説明するための図である。
【図３】図３は、第１の実施の形態に係るスイッチの構成例を示す図である。
【図４】図４は、第１テーブルの一例を示す図である。
【図５】図５は、第２テーブルの一例を示す図である。
【図６】図６は、第３テーブルの一例を示す図である。
【図７】図７は、第１の実施の形態に係る処理フローを示す図である。
【図８】図８は、先着学習処理の処理フローを示す図である。
【図９】図９は、第２の実施の形態に係る処理フローを示す図である。
【図１０】図１０は、第３の実施の形態における第１テーブルの一例を示す図である。
【図１１】図１１は、第３の実施の形態に係る処理フローを示す図である。
【図１２Ａ】図１２Ａは、第４の実施の形態を説明するための図である。
【図１２Ｂ】図１２Ｂは、第４の実施の形態を説明するための図である。
【図１２Ｃ】図１２Ｃは、第４の実施の形態を説明するための図である。
【図１２Ｄ】図１２Ｄは、第４の実施の形態を説明するための図である。
【図１３】図１３は、第４の実施の形態に係るスイッチの構成例を示す図である。
【図１４】図１４は、第４テーブルの一例を示す図である。
【図１５】図１５は、第５テーブルの一例を示す図である。
【図１６】図１６は、第４の実施の形態に係る処理フローを示す図である。
【図１７】図１７は、第５の実施の形態に係る処理フローを示す図である。
【図１８】図１８は、第６の実施の形態に係る第４テーブルの一例を示す図である。
【図１９】図１９は、第６の実施の形態に係る処理フローを示す図である。
【図２０】図２０は、第７の実施の形態に係る処理フローを示す図である。
【図２１】図２１は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１５】
［実施の形態１］
本実施の形態では、例えば図２Ａ及び図２Ｂに示すような処理を行う。まず、端末Ａと端末Ｂの間には、スイッチＮ１乃至Ｎ４によるネットワークが設けられており、端末Ａ側のエッジスイッチはスイッチＮ１であり、端末Ｂ側のエッジスイッチはスイッチＮ４であるものとする。そして、端末Ａ及び端末Ｂとの間には、スイッチＮ１、Ｎ２及びＮ４経由の第１の経路と、スイッチＮ１、Ｎ３及びＮ４経由の第２の経路とが存在している。このようなネットワーク構成において、端末Ａ及び端末Ｂがほぼ同時に、端末Ａから端末Ｂへのパケットの送信及び端末Ｂから端末Ａへのパケットの送信が行われるようになったものとする。初期的には、スイッチＮ１及びＮ４のいずれにも、ＭＡＣ学習テーブルにはまだ送信先ＭＡＣアドレスとポート番号との対応付けが登録されていないので、フラッディング（一斉配信）が行われて、図２Ａで点線で示されるように、第１の経路及び第２の経路の両方で双方向でパケットの送信が行われるようになる。
【００１６】
このような場合、スイッチＮ４は、ポートｐ１とポートｐ３とで同一パケットを受信した場合には最も早く到着した先着パケットのみをポートｐ２に出力して、遅く到着したパケットについては破棄する。そして、先着パケットの数をポートｐ１及びｐ３について計数する。同様に、スイッチＮ１は、ポートｐ１とポートｐ３とで同一パケットを受信した場合には最も早く到着した先着パケットのみをポートｐ２に出力して、遅く到着したパケットについては破棄する。そして、先着パケットの受信回数をポートｐ１及びｐ３について計数する（ステップ（１））。なお、一度相手側からパケットを受信すると、その送信元ＭＡＣアドレスとポート番号とをＭＡＣ学習テーブルへ仮登録するが、次に他のポートに先着パケットが到着すると、ＭＡＣ学習テーブルにおけるポート番号が変更されてしまう。すなわち、出力先のポートが固定されない。
【００１７】
そしてある程度時間が経過すると、図２Ａにおいて吹き出しで示すように、スイッチＮ４については、ポートｐ１の方がポートｐ３よりも先着パケットの受信回数が多かったことが分かる。また、スイッチＮ１については、ポートｐ３の方がポートｐ１よりも先着パケットの数が多かったことが分かる。
【００１８】
ここで、例えば端末ＢのＭＡＣアドレスと端末ＡのＭＡＣアドレスとを比較すると、端末Ｂの方が大きかった場合、その端末Ｂ側のエッジスイッチＮ４が優先されるものとする。そうした場合、スイッチＮ４は、上で述べた先着パケットの数が多かったポートｐ１を、ＭＡＣ学習テーブルに、送信元ＭＡＣアドレスに対応付けて確定登録する（ステップ（２））。一方、端末Ａ側のエッジスイッチＮ１は、ステップ（１）で計数した先着パケットの受信回数をクリアして、計数をやり直す（ステップ（３））。
【００１９】
そうすると、この後では、図２Ｂに示すように、端末Ｂから端末Ａへパケットを送信する場合には、ＭＡＣ学習テーブルに従ってスイッチＮ４は、端末Ｂからのパケットを、ポートｐ１に出力するようになる（ステップ（４））。すなわち、第１の経路でのみパケットを送信するようになる。一方、端末Ａから端末Ｂへのパケットは、スイッチＮ１でまだＭＡＣ学習テーブルへの確定登録がないので、第１の経路又は第２の経路で送信される。但し、スイッチＮ１に到着するパケットは、ポートｐ１でのみ受信されるようになる。そしてある程度時間が経過すると、図２Ｂの吹き出しに示すように、ポートｐ１の方がポートｐ３より先着パケットの受信回数が多かったことになるので、ステップ（３）の後には、ＭＡＣ学習テーブルに、上で述べた先着パケットの受信回数が多かったポートｐ１を、ＭＡＣ学習テーブルに、送信元ＭＡＣアドレスに対応付けて確定登録する（ステップ（５））。
【００２０】
このようにすれば、いずれの方向についても通信経路は第１の経路に統一される。
【００２１】
次に、上で述べた処理を行うために用いられるスイッチの構成例を図３に示す。本実施の形態におけるスイッチ１０は、各々入力ポートと出力ポートと含む複数のポート１（図３では４ポートで１ａ，１ｂ，１ｃ及び１ｄ）と、ＭＡＣ処理部３と、パケット処理部５と、メモリ７と、ＣＰＵ（Central Processing Unit）９とを有する。
【００２２】
各ポート１は、他の装置と接続するためのケーブルに接続され、受信したパケット及び送信するパケットに対して、信号波形変換、シリアル変換、フレーム符号化などの処理を行う。ＭＡＣ処理部３は、ＭＡＣフレーム処理を行う。ＣＰＵ９は、各種プロトコルについての処理を行う。これらについては従来と同様であるから、これ以上説明しない。
【００２３】
パケット処理部５は、図２Ａ及び図２Ｂを用いて説明した処理の主な部分と、送信先ＭＡＣアドレスから出力ポートを特定して出力するパケット転送処理とを実施する。メモリ７には、ポート毎に先着パケットの受信回数を計数するための第１テーブル７１（ポート毎学習テーブルとも呼ぶ）と、送信先ＭＡＣアドレスとポートの識別子とを対応付けて格納する第２テーブル７３（ＭＡＣ学習テーブルとも呼ぶ）と、送信元ＭＡＣアドレスと送信先ＭＡＣアドレスとＦＣＳ（Frame Check Sequence）と受信時刻とを対応付けて格納する第３テーブル７５（先着学習テーブルとも呼ぶ）とが格納される。
【００２４】
第１テーブル７１は、例えば図４に示すようなテーブルである。図４の例では、送信先ＭＡＣアドレス及び送信元ＭＡＣアドレスの組み合わせ毎に、ポート毎の先着パケット受信回数とリセットの有無とが登録されるようになっている。例えば、ＡＡＡＡＡからＺＺＺＺＺへの先着パケットは、ポート１については１００回、ポート２については０回、ポート３については５０回、ポート４については０回、受信されたことが表されている。なお、場合によっては、さらに最初の先着パケットの受信時刻が登録される場合もある。
【００２５】
また、第２テーブル７３は、例えば図５に示すようなテーブルである。図５の例では、送信先ＭＡＣアドレスに対応付けて、ポートの識別子と設定時刻と確定フラグとが登録されるようになっている。確定フラグについては、０であれば未確定、１であれば確定済みであるものとする。但し、他の値で未確定又は確定済みを表すようにしても良い。さらに確定か否かは陽に表さなくても良い。
【００２６】
さらに、第３テーブル７５は、例えば図６に示すようなテーブルである。図６の例では、送信元ＭＡＣアドレスと送信先ＭＡＣアドレスの組み合わせと、先着パケットのＦＣＳと、当該先着パケットの受信時刻とが登録されるようになっている。
【００２７】
次に、図７及び図８を用いて、パケット処理部５等の処理について説明する。いずれかのポート１で受信されたパケットのデータは、ポート１及びＭＡＣ処理部３を介して、パケット処理部５に出力される。パケットのデータには、パケットのデータそのものだけではなく、パケットが到着した入力ポートの識別子などが付加されている。
【００２８】
パケット処理部５は、パケットのデータをＭＡＣ処理部３から受信すると（図７：ステップＳ１）、当該パケットの送信先ＭＡＣアドレス及び送信元ＭＡＣアドレスで第１テーブル７１に登録されているエントリを特定し、第２テーブル７３を更新する更新タイミングであるか判断する（ステップＳ３）。例えば、特定されたエントリから、各ポートの先着パケット受信回数の総和が閾値以上となっているか否かを判断する。また、最初の先着パケットの受信時刻が登録されている場合には、当該受信時刻から所定時間経過したか判断する。
【００２９】
更新タイミングではない場合には、パケット処理部５は、先着学習処理を実施する（ステップＳ１１）。先着学習処理については、図８を用いて説明する。
【００３０】
パケット処理部５は、第３テーブル７５に同一情報が登録済みであるか判断する（図８：ステップＳ２１）。具体的には、送信先ＭＡＣアドレス及び送信元ＭＡＣアドレスとＦＣＳとが同一であるエントリが既に第３テーブル７５に登録済みであるか判断する。すなわち、同一のパケットを他のポートで再度受信したか判断する。
【００３１】
第３テーブル７５に同一情報が登録済みである場合には、パケット処理部５は、今回受信したパケットを破棄する（ステップＳ２３）。そして、呼び出し元の処理に戻る。
【００３２】
一方、第３テーブル７５に同一情報が未登録である場合には、パケット処理部５は、今回受信したパケットのデータを、第３テーブル７５に登録する（ステップＳ２５）。
【００３３】
そして、パケット処理部５は、第２テーブル７３に、送信元ＭＡＣアドレスが登録済みであるか判断する（ステップＳ２７）。既に登録されている場合には、パケット処理部５は、第２テーブル７３において、当該送信元ＭＡＣアドレスのエントリ（該当エントリ）の受信時刻及び到着ポートの識別子を、現時刻及び今回の到着ポートの識別子で更新する（ステップＳ２９）。なお、この時点では確定フラグは「０」となっている。そして処理は呼び出し元の処理に戻る。
【００３４】
一方、第２テーブル７３に送信元ＭＡＣアドレスが登録済みでない場合には、パケット処理部５は、第２テーブル７３に、送信元ＭＡＣアドレス、今回の到着ポートの識別子及び現時刻を、新規エントリとして登録する（ステップＳ３１）。なお、この時点でも確定フラグは「０」となっている。そして処理は呼び出し元の処理に戻る。
【００３５】
このように第２テーブル７３は更新されるが、この処理では、更新されたエントリは確定されていない。
【００３６】
図７の処理の説明に戻って、パケット処理部５は、先着学習処理においてパケットを破棄したか判断し（ステップＳ１３）、破棄した場合には処理を終了する。
【００３７】
一方、パケットの破棄を行わなかった場合には、パケット処理部５は、第１テーブル７１において、送信元ＭＡＣアドレス及び送信先ＭＡＣアドレスと今回の入力ポートの識別子に対応する受信回数を１増加させる（ステップＳ１７）。そして、パケット処理部５は、受信したパケットの送信先ＭＡＣアドレスで第２テーブル７３を検索し、第２テーブル７３において送信先ＭＡＣアドレスにポートの識別子が対応付けられていればそのポートから当該パケットが出力されるようにＭＡＣ処理部３を介して当該パケットのデータを出力する（ステップＳ１９）。但し、第２テーブル７３において送信先ＭＡＣアドレスのエントリが存在しない場合には、パケット処理部５は、今回の到着ポート以外の他のポートに当該パケットが出力されるようにＭＡＣ処理部３を介して当該パケットのデータを出力する。そして、処理を終了する。
【００３８】
このような処理を繰り返すと、図４に示すように第１テーブル７１においては、ポート毎に先着パケットの受信回数が登録される。
【００３９】
そして、ステップＳ３で、更新タイミングであると判断された場合、すなわち、各ポートの先着パケット受信回数の総和が閾値以上となった場合、又は最初の先着パケットの受信時刻が登録されている場合には当該受信時刻から所定時間経過した場合、パケット処理部５は、自スイッチがメイン側であるか判断する（ステップＳ５）。例えば、送信元ＭＡＣアドレスＸと送信先ＭＡＣアドレスＹとを比較して、送信元ＭＡＣアドレスＸが送信先ＭＡＣアドレスＹより大きい場合にはメイン側であると判断する。なお、サブ側のスイッチ１０では、送信元ＭＡＣアドレスＹと送信先ＭＡＣアドレスＸとを比較することになり、上で述べた条件を満たさないと判断されてサブ側であると判断される。
【００４０】
メイン側である場合には、パケット処理部５は、第１テーブル７１において送信先ＭＡＣアドレス及び送信元ＭＡＣアドレスとに対応付けられている受信回数が最も多いポートの識別子を、送信元ＭＡＣアドレスに対応付けて第２テーブル７３に確定登録する（ステップＳ１５）。これによって、メイン側のスイッチ１０では、受信回数が最も多いポートに出力先のポートが固定される。そして処理はステップＳ１９に移行する。
【００４１】
一方、サブ側のスイッチ１０の場合、パケット処理部５は、第１テーブル７１における該当エントリの受信回数を既にリセットしたことがあるか判断する（ステップＳ７）。第１テーブル７１における該当エントリのリセットの有無の列の値から判断する。そして、既に該当エントリの受信回数をリセットしたことがある場合には、処理はステップＳ１５に移行する。一方、パケット処理部５は、第１テーブル７１における該当エントリの受信回数を０にリセットする（ステップＳ９）。ここで、第１テーブル７１における該当エントリについてリセット有無を「有」に設定する。そして、処理はステップＳ１１に移行する。
【００４２】
以上のような処理を実施することで、図２Ａ及び図２Ｂのような処理が行われるようになる。
【００４３】
［実施の形態２］
本実施の形態は、第１の実施の形態の一部を変形した処理である。スイッチ１０の基本構成は同じであり、パケット処理部５の処理内容が一部異なる。
【００４４】
パケット処理部５等の処理について図９を用いて説明する。
【００４５】
パケット処理部５は、パケットのデータをＭＡＣ処理部３から受信すると（図９：ステップＳ４１）、当該パケットの送信先ＭＡＣアドレス及び送信元ＭＡＣアドレスで第１テーブル７１に登録されているエントリを特定し、第２テーブル７３を更新する更新タイミングであるか判断する（ステップＳ４３）。例えば、特定されたエントリから、各ポートの先着パケット受信回数の総和が閾値以上となっているか否かを判断する。また、最初の先着パケットの受信時刻が登録されている場合には、当該受信時刻から所定時間経過したか判断する。
【００４６】
更新タイミングではない場合には、パケット処理部５は、先着学習処理を実施する（ステップＳ５１）。先着学習処理については図８の処理と同じであるから説明は省略する。
【００４７】
先着学習処理の後に、パケット処理部５は、先着学習処理においてパケットを破棄したか判断し（ステップＳ５３）、破棄した場合には処理を終了する。
【００４８】
一方、パケットの破棄を行わなかった場合には、パケット処理部５は、第１テーブル７１において、送信元ＭＡＣアドレス及び送信先ＭＡＣアドレスと今回の入力ポートの識別子に対応する受信回数を１増加させる（ステップＳ５７）。そして、パケット処理部５は、受信したパケットの送信先ＭＡＣアドレスで第２テーブル７３を検索し、第２テーブル７３に送信先ＭＡＣアドレスにポートの識別子が対応付けられていればそのポートから当該パケットが出力されるようにＭＡＣ処理部３を介して当該パケットのデータを出力する（ステップＳ５９）。但し、第２テーブル７３において送信先ＭＡＣアドレスのエントリが存在しない場合には、パケット処理部５は、今回の到着ポート以外の他のポートに当該パケットが出力されるようにＭＡＣ処理部３を介して当該パケットのデータを出力する。そして、処理を終了する。
【００４９】
このような処理を繰り返すと、図４に示すように第１テーブル７１においては、ポート毎に先着パケットの受信回数が登録される。
【００５０】
そして、ステップＳ４３で、更新タイミングであると判断された場合、すなわち、各ポートの先着パケット受信回数の総和が閾値以上となった場合、又は最初の先着パケットの受信時刻が登録されている場合には当該受信時刻から所定時間経過した場合、パケット処理部５は、自スイッチがメイン側であるか判断する（ステップＳ４５）。例えば、送信元ＭＡＣアドレスＸと送信先ＭＡＣアドレスＹとを比較して、送信元ＭＡＣアドレスＸが送信先ＭＡＣアドレスＹより大きい場合にはメイン側であると判断する。なお、サブ側のスイッチ１０では、送信元ＭＡＣアドレスＹと送信先ＭＡＣアドレスＸとを比較することになり、上で述べた条件を満たさないと判断されてサブ側であると認識される。
【００５１】
メイン側である場合には、パケット処理部５は、第１テーブル７１において受信回数が非ゼロで最も少ないポートの識別子を、送信元ＭＡＣアドレスに対応付けて第２テーブル７３に確定登録する（ステップＳ５５）。これによって、メイン側のスイッチ１０では、受信回数が非ゼロで最も少ないポートに出力先のポートが固定される。これによって輻輳が起こりにくいポートが選択されて用いられるようになる。そして処理はステップＳ５９に移行する。
【００５２】
一方、サブ側のスイッチ１０の場合、パケット処理部５は、第１テーブル７１における該当エントリの受信回数を既にリセットしたことがあるか判断する（ステップＳ４７）。第１テーブル７１における該当エントリのリセットの有無の列の値から判断する。そして、既に該当エントリの受信回数をリセットしたことがある場合には、処理はステップＳ５５に移行する。一方、パケット処理部５は、第１テーブル７１における該当エントリの受信回数を０にリセットする（ステップＳ４９）。ここで、第１テーブル７１における該当エントリについてリセットの有無を「有」に設定する。そして、処理はステップＳ５１に移行する。
【００５３】
以上のような処理を実施することで、第２テーブル７３に確定登録されるポートは異なるが、図２Ａ及び図２Ｂのような処理が行われるようになる。
【００５４】
［実施の形態３］
本実施の形態は、第１の実施の形態の一部を変形した処理である。スイッチ１０の基本構成は同じであり、パケット処理部５の処理内容が一部異なる。また、第１テーブル７１のデータも一部異なる。具体的には、図１０に、本実施の形態に係る第１テーブル７１ｂの一例を示す。図１０の例では、送信先ＭＡＣアドレス及び送信元ＭＡＣアドレスの組み合わせ毎に、最初の先着パケットが到着したポート（１番目の到着ポート）と、ポート毎の先着パケット受信回数と、リセットの有無とが登録されるようになっている。
【００５５】
パケット処理部５等の処理について図１１を用いて説明する。
【００５６】
パケット処理部５は、パケットのデータをＭＡＣ処理部３から受信すると（図１１：ステップＳ６１）、当該パケットの送信先ＭＡＣアドレス及び送信元ＭＡＣアドレスで第１テーブル７１ｂに登録されているエントリを特定し、第２テーブル７３を更新する更新タイミングであるか判断する（ステップＳ６３）。例えば、特定されたエントリから、各ポートの先着パケット受信回数の総和が閾値以上となっているか否かを判断する。また、最初の先着パケットの受信時刻が登録されている場合には、当該受信時刻から所定時間経過したか判断する。
【００５７】
更新タイミングではない場合には、パケット処理部５は、先着学習処理を実施する（ステップＳ７１）。先着学習処理は図８に示した処理と同様であるからここでは説明を省略する。
【００５８】
先着学習処理の後に、パケット処理部５は、先着学習処理においてパケットを破棄したか判断し（ステップＳ７３）、破棄した場合には処理を終了する。
【００５９】
一方、パケットの破棄を行わなかった場合には、パケット処理部５は、第１テーブル７１ｂにおいて、送信先ＭＡＣアドレス及び送信元ＭＡＣアドレスとの組み合わせについてエントリが存在しているか否かを判断して、今回受信したパケットが最初の先着パケットであるか判断する（ステップＳ８３）。今回受信したパケットが最初の先着パケットでない場合にはステップＳ７７に移行する。一方、今回受信したパケットが最初の先着パケットであれば、パケット処理部５は、今回受信したパケットが到着したポートの識別子を、第１テーブル７１ｂにおいて、送信先ＭＡＣアドレス及び送信元ＭＡＣアドレスに対応付けて登録する（ステップＳ８５）。そして処理はステップＳ７７に移行する。
【００６０】
ステップＳ７７では、パケット処理部５は、第１テーブル７１ｂにおいて、送信元ＭＡＣアドレス及び送信先ＭＡＣアドレスと今回の入力ポートの識別子に対応する受信回数を１増加させる（ステップＳ７７）。そして、パケット処理部５は、受信したパケットの送信先ＭＡＣアドレスで第２テーブル７３を検索し、第２テーブル７３に送信先ＭＡＣアドレスにポートの識別子が対応付けられていればそのポートから当該パケットが出力されるようにＭＡＣ処理部３を介して当該パケットのデータを出力する（ステップＳ７９）。但し、第２テーブル７３において送信先ＭＡＣアドレスのエントリが存在しない場合には、パケット処理部５は、今回の到着ポート以外の他のポートに当該パケットが出力されるようにＭＡＣ処理部３を介して当該パケットのデータを出力する。そして、処理を終了する。
【００６１】
このような処理を繰り返すと、図１０に示すように第１テーブル７１ｂにおいては、ポート毎に先着パケットの受信回数が登録される。
【００６２】
そして、ステップＳ６３で、更新タイミングであると判断された場合、すなわち、各ポートの先着パケット受信回数の総和が閾値以上となった場合、又は最初の先着パケットの受信時刻が登録されている場合には当該受信時刻から所定時間経過した場合、パケット処理部５は、自スイッチがメイン側であるか判断する（ステップＳ６５）。例えば、送信元ＭＡＣアドレスＸと送信先ＭＡＣアドレスＹとを比較して、送信元ＭＡＣアドレスＸが送信先ＭＡＣアドレスＹより大きい場合にはメイン側であると判断する。なお、サブ側のスイッチ１０では、送信元ＭＡＣアドレスＹと送信先ＭＡＣアドレスＸとを比較することになり、上で述べた条件を満たさないと判断されてサブ側であると認識される。
【００６３】
メイン側である場合には、パケット処理部５は、第１テーブル７１ｂにおいて今回受信したパケットの送信先ＭＡＣアドレス及び送信元ＭＡＣアドレスに対応付けて登録されている最初の先着パケットが到着したポートの識別子を、送信元ＭＡＣアドレスに対応付けて第２テーブル７３に確定登録する（ステップＳ７５）。これによって、メイン側のスイッチ１０では、最初の先着パケットが到着したポートに出力先のポートが固定される。そして処理はステップＳ７９に移行する。
【００６４】
一方、サブ側のスイッチ１０の場合、パケット処理部５は、第１テーブル７１ｂにおける該当エントリの受信回数を既にリセットしたことがあるか判断する（ステップＳ６７）。第１テーブル７１ｂにおける該当エントリのリセットの有無の列の値から判断する。そして、既に該当エントリの受信回数をリセットしたことがある場合には、パケット処理部５は、第１テーブル７１ｂにおいて送信先ＭＡＣアドレス及び送信元ＭＡＣアドレスとに対応付けられている受信回数が最も多いポートの識別子を、送信元ＭＡＣアドレスに対応付けて第２テーブル７３に確定登録する（ステップＳ８１）。そして処理はステップＳ７９に移行する。
【００６５】
一方、パケット処理部５は、第１テーブル７１ｂにおける該当エントリの受信回数を０にリセットする（ステップＳ６９）。ここで、第１テーブル７１ｂにおける該当エントリについてリセットの有無を「有」に設定する。そして、処理はステップＳ７１に移行する。
【００６６】
以上のような処理を実施することで、第２テーブル７３に確定登録されるポートは異なるが、図２Ａ及び図２Ｂのような処理が行われるようになる。
【００６７】
［実施の形態４］
本実施の形態では、例えば図１２Ａ乃至図１２Ｄに示すような処理を行う。まず、端末Ａと端末Ｂの間には、スイッチＮ１乃至Ｎ４によるネットワークが設けられており、端末ＡのエッジスイッチはスイッチＮ１であり、端末Ｂ側のエッジスイッチはスイッチＮ４であるものとする。そして、端末Ａ及び端末Ｂとの間には、スイッチＮ１、Ｎ２及びＮ４経由の第１の経路と、スイッチＮ１、Ｎ３及びＮ４経由の第２の経路とが存在している。このようなネットワーク構成において、端末Ａ及び端末Ｂがほぼ同時に、端末Ａから端末Ｂへのパケットの送信及び端末Ｂから端末Ａへのパケットの送信が行われるようになったものとする。初期的には、スイッチＮ１及びＮ４のいずれにも、ＭＡＣ学習テーブルにはまだ送信先ＭＡＣアドレスとポート番号との対応付けが登録されていないので、フラッディング（一斉配信）が行われて、図１２Ａで点線で示されるように、第１の経路及び第２の経路の両方で双方向でパケットの送信が行われるようになる。
【００６８】
このような場合、スイッチＮ４は、ポートｐ１とポートｐ３とで同一パケットを受信した場合には最も早く到着した先着パケットのみをポートｐ２に出力して、遅く到着したパケットについては破棄する。そして、送信元ＭＡＣアドレス及び送信先ＭＡＣアドレスに対応付けて先着パケットを受信したポートの識別子を、先着テーブルに登録する。そうすると、これ以降、この送信元ＭＡＣアドレス及び送信先ＭＡＣアドレスを含むパケットを、先着パケットを受信したポート以外で受信しても破棄するようになる。ここでは、吹き出し（Ａ）で示すように、送信元ＭＡＣアドレスＡと送信先ＭＡＣアドレスＢとポートの識別子ｐ３が登録されたものとする。さらに、吹き出し（Ｂ）に示すように、送信元ＭＡＣアドレスＡと先着パケットの到着ポートｐ３とをＭＡＣ学習テーブルに登録する。
【００６９】
同様に、スイッチＮ１は、ポートｐ２とポートｐ３とで同一パケットを受信した場合には最も早く到着した先着パケットのみをポートｐ１に出力して、遅く到着したパケットについては破棄する。そして、送信元ＭＡＣアドレス及び送信先ＭＡＣアドレスに対応付けて先着パケットを受信したポートの識別子を、先着テーブルに登録する。そうすると、これ以降、この送信元ＭＡＣアドレス及び送信先ＭＡＣアドレスを含むパケットを、先着パケットを受信したポート以外で受信しても破棄するようになる。ここでは、吹き出し（Ａ）で示すように、送信元ＭＡＣアドレスＢと送信先ＭＡＣアドレスＡとポートの識別子ｐ２が登録されたものとする。さらに、吹き出し（Ｂ）送信元ＭＡＣアドレスＢと先着パケットの到着ポートｐ２とをＭＡＣ学習テーブルに登録する。
【００７０】
そうすると、図１２Ｂに示すように、次に端末Ａから端末Ｂへのパケット送信を行うと、スイッチＮ１では第１の経路が選択されるが、スイッチＮ４では、先着テーブルにおいてはポートｐ３で受信することになっているので、ポートｐ１に到着したこのパケットは破棄される。同様に、次に端子Ｂから端子Ａへのパケット送信を行うと、スイッチＮ４では第２の経路が選択されるが、スイッチＮ１では、先着テーブルにおいてはポートｐ２で受信することになっているので、ポートｐ３に到着したこのパケットは破棄される。
【００７１】
本実施の形態では、パケットを破棄した回数を、送信先ＭＡＣアドレス及び送信元ＭＡＣアドレスと到着ポートの識別子に対応付けて計数する。吹き出し（Ｃ）に示すように、ノードＮ４では、送信元ＭＡＣアドレスＡと送信先ＭＡＣアドレスＢとポートの識別子ｐ３に対して破棄回数がカウントされる。同様に、吹き出し（Ｃ）に示すように、ノードＮ１では、送信元ＭＡＣアドレスＢと送信先ＭＡＣアドレスＡとポートの識別子ｐ２に対して破棄回数がカウントされる。
【００７２】
ここで、例えば端末ＢのＭＡＣアドレスと端末ＡのＭＡＣアドレスとを比較すると、端末Ｂの方が大きかった場合、その端末ＢのエッジスイッチＮ４が優先されるものとする。そうすると、例えば破棄回数が閾値以上となると、メイン側のスイッチＮ４は、今回受信し且つ破棄したパケットの送信元ＭＡＣアドレスと送信先ＭＡＣアドレスに関連するデータを、削除する。図１２Ｃの吹き出しに示すように（Ａ）乃至（Ｃ）のデータは削除される。
【００７３】
一方、例えば破棄回数が閾値以上となると、サブ側のスイッチＮ１は、吹き出し（Ｃ）において、今回受信し且つ破棄したパケットの送信元ＭＡＣアドレス及び送信先ＭＡＣアドレスに対応付けられている破棄回数を０にリセットする。
【００７４】
その後、端末Ａから端末Ｂへパケット送信が図１２Ｂに示すように第１の経路で行われるので、スイッチＮ４では、ポートｐ１にパケットが到着する。そうすると、このパケットをポートｐ２に出力する。そして、図１２Ｄの吹き出し（Ａ）に示すように、送信元ＭＡＣアドレスＡ及び送信先ＭＡＣアドレスＢに対応付けてこのパケットを受信したポートの識別子ｐ１を、先着テーブルに登録する。さらに、吹き出し（Ｂ）に示すように、送信元ＭＡＣアドレスＡと先着パケットの到着ポートｐ１とをＭＡＣ学習テーブルに登録する。
【００７５】
そうすると、端末Ｂから端末Ａへパケット送信が行われる場合には、スイッチＮ１では、ポートｐ２にパケットが到着する。これは、先着テーブル（図１２Ｄの（Ａ））に示すとおりであるから、このパケットは、ポートｐ１に出力される。すなわち、通信が可能となる。
【００７６】
以上のようにすれば、通信経路が統一化される。
【００７７】
次に、このような処理を実施するスイッチの構成を図１３に示す。但し、図３に示した第１の実施の形態に係るスイッチ１０と同じ構成要素については同じ参照符号を付している。
【００７８】
本実施の形態におけるスイッチ１０ｂは、各々入力ポートと出力ポートとを含む複数のポート１（図１３では４ポートで１ａ，１ｂ，１ｃ及び１ｄ）と、ＭＡＣ処理部３と、パケット処理部５ｂと、メモリ７ｂと、ＣＰＵ（Central Processing Unit）９とを有する。
【００７９】
パケット処理部５ｂは、図１２Ａ乃至図１２Ｄを用いて説明した処理の主な部分と、送信先ＭＡＣアドレスから出力ポートを特定して出力するパケット転送処理とを実施する。メモリ７ｂには、ポート毎にパケットの破棄回数を計数するための第４テーブル７７（ポート毎学習テーブルとも呼ぶ）と、送信先ＭＡＣアドレスとポートの識別子とを対応付けて格納する第２テーブル７３（ＭＡＣ学習テーブルとも呼ぶ）と、送信元ＭＡＣアドレスと送信先ＭＡＣアドレスとポートの識別子と受信時刻とを対応付けて格納する第５テーブル７９（先着テーブルとも呼ぶ）とが格納される。
【００８０】
第４テーブル７７の一例を図１４に示す。図１４の例では、送信先ＭＡＣアドレス及び送信元ＭＡＣアドレスの組み合わせ毎に、ポート毎のパケットの破棄回数が登録されるようになっている。例えば、ＡＡＡＡＡからＺＺＺＺＺへの先着パケットは、ポート１については１００回、ポート２については０回、ポート３については５０回、ポート４については０回、パケットが破棄されたことが表されている。
【００８１】
第５テーブル７９の一例を図１５に示す。図１５の例では、送信先ＭＡＣアドレス及び送信元ＭＡＣアドレスの組み合わせ毎に、先着パケットが到着したポート（以下、先着ポートと呼ぶ）が登録されるようになっている。
【００８２】
なお、第２テーブル７３については第１の実施の形態において示した図５と同様である。
【００８３】
次に、図１６を用いて、パケット処理部５ｂ等の処理内容について説明する。いずれかのポート１で受信されたパケットのデータは、ポート１及びＭＡＣ処理部３を介して、パケット処理部５ｂに出力される。パケットのデータには、パケットのデータそのものだけではなく、パケットが到着した入力ポートの識別子などが付加されている。
【００８４】
パケット処理部５ｂは、パケットのデータをＭＡＣ処理部３から受信すると（図１６：ステップＳ１０１）、当該パケットの送信先ＭＡＣアドレス及び送信元ＭＡＣアドレスで第５テーブル７９に登録されているエントリを特定し、受信したパケットが先着パケットであるか又は先着ポートに到着したかを判断する（ステップＳ１０３）。エントリが存在している場合には、対応する先着ポートと、受信したパケットが到着したポートとが同一であるか判断する。エントリが存在しない場合には先着パケットである。
【００８５】
先着パケットであるか又は受信したパケットが先着ポートに到着した場合には、パケット処理部５ｂは、通常処理を実施する（ステップＳ１０５）。先着パケットであれば、第５テーブル７９に、当該パケットの送信元ＭＡＣアドレス及び送信先ＭＡＣアドレスに対応付けて到着したポートの識別子を登録する。さらに、第２テーブル７３に対しても、送信元ＭＡＣアドレスに対応付けて到着したポートの識別子を登録する。さらに、受信したパケットを、第２テーブル７３から当該受信したパケットの送信先ＭＡＣアドレスで出力先のポートを特定して当該ポートから出力させる。第２テーブル７３に送信先ＭＡＣアドレスが登録されていない場合にはフラッディングを行う。
【００８６】
一方、先着ポートに到着した場合には、第２テーブル７３から当該受信したパケットの送信先ＭＡＣアドレスで出力先のポートを特定して当該受信したパケットを当該ポートから出力させる。そして処理は終了する。
【００８７】
一方、先着パケットでなく且つ受信したパケットが先着ポート以外に到着した場合には、パケット処理部５ｂは、受信したパケットを破棄する（ステップＳ１０７）。そして、パケット処理部５ｂは、第４テーブル７７において、破棄されたパケットの送信元ＭＡＣアドレス及び送信先ＭＡＣアドレスに対応付けて、破棄されたパケットの到着ポートの破棄回数を１回増加させる（ステップＳ１０９）。第４テーブル７７に、送信元ＭＡＣアドレス及び送信先ＭＡＣアドレスが未登録であれば本ステップで登録する。
【００８８】
そして、パケット処理部５ｂは、増加させた破棄回数が閾値以上となったか判断する（ステップＳ１１１）。閾値未満であれば、処理は終了する。
【００８９】
一方、増加させた破棄回数が閾値以上となった場合には、パケット処理部５ｂは、破棄されたパケットの送信元ＭＡＣアドレスＸと送信先ＭＡＣアドレスＹとを比較して、送信元ＭＡＣアドレスＸが送信先ＭＡＣアドレスＹより大きいか判断する（ステップＳ１１３）。Ｘ＞Ｙであれば、メイン側のエッジスイッチとして、パケット処理部５ｂは、第４テーブル７７、第５テーブル７９及び第２テーブル７３から、破棄されたパケットの送信元ＭＡＣアドレス及び送信先ＭＡＣアドレスに関連するデータを削除する（ステップＳ１１５）。そして処理を終了する。
【００９０】
この処理によれば、第４テーブル７７及び第５テーブル７９から、送信元ＭＡＣアドレス及び送信先ＭＡＣアドレスに対応付けられているエントリが削除され、第２テーブル７３から、送信元ＭＡＣアドレスが含まれているエントリが削除される。これによって、このスイッチ１０ｂでは、送信元ＭＡＣアドレス及び送信先ＭＡＣアドレスを含むパケットを受信したことがない状態に遷移する。よって次にこの送信元ＭＡＣアドレス及び送信先ＭＡＣアドレスを含むパケットが到着すれば、ステップＳ１０５の処理を実施することになる。この処理を実施した後、逆方向にパケットを送信する段階では、ステップＳ１０５で更新された第２テーブル７３に従ってパケットを送信することになる。
【００９１】
一方、Ｘ＜Ｙであれば、サブ側のエッジスイッチとして、パケット処理部５ｂは、第４テーブル７７において、破棄されたパケットの送信元ＭＡＣアドレス及び送信先ＭＡＣアドレスに対応付けられている到着ポートの破棄回数を０にリセットする（ステップＳ１１７）。但し、本ステップは必須ではなく実施しなくても良い。そして処理を終了する。
【００９２】
以上のような処理を実施することによって、図１２Ａ乃至図１２Ｄの処理が行われて、通信経路が双方向で統一化される。  
【００９３】
［実施の形態５］
本実施の形態は、第４の実施の形態を変形したものである。スイッチ１０ｂの基本構成は同じであり、パケット処理部５ｂの処理内容が一部異なる。
【００９４】
次に、図１７を用いて、パケット処理部５ｂ等の処理内容について説明する。パケット処理部５ｂは、パケットのデータをＭＡＣ処理部３から受信すると（図１７：ステップＳ１２１）、当該パケットの送信先ＭＡＣアドレス及び送信元ＭＡＣアドレスで第５テーブル７９に登録されているエントリを特定し、受信したパケットが先着パケットであるか又は先着ポートに到着したかを判断する（ステップＳ１２３）。エントリが存在している場合には、対応する先着ポートと、受信したパケットが到着したポートとが同一であるか判断する。エントリが存在しない場合には先着パケットである。
【００９５】
先着パケットであるか又は受信したパケットが先着ポートに到着した場合には、パケット処理部５ｂは、通常処理を実施する（ステップＳ１２５）。先着パケットであれば、第５テーブル７９に、当該パケットの送信元ＭＡＣアドレス及び送信先ＭＡＣアドレスに対応付けて到着したポートの識別子を登録する。さらに、第２テーブル７３に対しても、送信元ＭＡＣアドレスに対応付けて到着したポートの識別子を登録する。さらに、受信したパケットを、第２テーブル７３から当該受信したパケットの送信先ＭＡＣアドレスで出力先のポートを特定して当該ポートから出力させる。第２テーブル７３に送信先ＭＡＣアドレスが登録されていない場合にはフラッディングを行う。
【００９６】
一方、先着ポートに到着した場合には、第２テーブル７３から当該受信したパケットの送信先ＭＡＣアドレスで出力先のポートを特定して当該受信したパケットを当該ポートから出力させる。そして処理は終了する。
【００９７】
一方、先着パケットでなく且つ受信したパケットが先着ポート以外に到着した場合には、パケット処理部５ｂは、受信したパケットを破棄する（ステップＳ１２７）。そして、パケット処理部５ｂは、第４テーブル７７において、破棄されたパケットの送信元ＭＡＣアドレス及び送信先ＭＡＣアドレスに対応付けて、破棄されたパケットの到着ポートの破棄回数を１回増加させる（ステップＳ１２９）。第４テーブル７７に、送信元ＭＡＣアドレス及び送信先ＭＡＣアドレスが未登録であれば本ステップで登録する。
【００９８】
そして、パケット処理部５ｂは、増加させた破棄回数が閾値以上となったか判断する（ステップＳ１３１）。閾値未満であれば、処理は終了する。
【００９９】
一方、増加させた破棄回数が閾値以上となった場合には、パケット処理部５ｂは、破棄されたパケットの送信元ＭＡＣアドレスＸと送信先ＭＡＣアドレスＹとを比較して、送信元ＭＡＣアドレスＸが送信先ＭＡＣアドレスＹより大きいか判断する（ステップＳ１３３）。Ｘ＞Ｙであれば、メイン側のエッジスイッチとして、パケット処理部５ｂは、第４テーブル７７において送信元ＭＡＣアドレス及び送信先ＭＡＣアドレスに対応付けられている到着ポートの破棄回数を０にリセットし、また、第５テーブル７９に、今回破棄したパケットの送信元ＭＡＣアドレス及び送信先ＭＡＣアドレスに対応付けて到着ポートの識別子を登録し、さらに、第２テーブル７３に、今回破棄したパケットの送信元ＭＡＣアドレスに対応付けて到着ポートの識別子を登録する（ステップＳ１３５）。そして処理を終了する。
【０１００】
この処理によれば、今回破棄されたパケットが到着したポートの破棄回数が閾値以上ということは、次もこのポートにパケットが到着する可能性が高いので、このパケットが到着すると推定して、到着した状態を先取りして設定してしまうものである。よって、今回破棄したパケットが到着したポートに、同一の送信元ＭＡＣアドレス及び送信先ＭＡＣアドレスを含むパケットが次に到着しても、ステップＳ１２５で処理されるのは同じである。一方、逆方向にパケットを送信する場合には、第２テーブル７３には、前と異なるポートが既に登録されているので、ステップＳ１２５で第２テーブル７３を更新する処理を実施することなく、第２テーブル７３に従ってパケットをステップＳ１３５で設定されたポートから出力することになる。
【０１０１】
一方、Ｘ＜Ｙであれば、サブ側のエッジスイッチとして、パケット処理部５ｂは、第４テーブル７７において、破棄されたパケットの送信元ＭＡＣアドレス及び送信先ＭＡＣアドレスに対応付けられている到着ポートの破棄回数を０にリセットする（ステップＳ１３７）。但し、本ステップは必須ではなく実施しなくても良い。そして処理を終了する。
【０１０２】
以上のような処理を実施することによって、早期に第２テーブル７３、第４テーブル７７及び第５テーブル７９の設定を行う部分を除き、図１２Ａ乃至図１２Ｄと同様の処理が行われて、通信経路が双方向で統一化される。
【０１０３】
［実施の形態６］
本実施の形態は、第４の実施の形態の一部を変形した処理である。スイッチ１０ｂの基本構成は同じであり、パケット処理部５ｂの処理内容が一部異なる。また、第４テーブル７７のデータも一部異なる。具体的には、図１８に、本実施の形態に係る第４テーブル７７ｂの一例を示す。図１８の例では、送信先ＭＡＣアドレス及び送信元ＭＡＣアドレスの組み合わせ毎に、ポート毎のパケットの破棄回数とリセット回数とが登録されるようになっている。
【０１０４】
パケット処理部５ｂ等の処理について図１９を用いて説明する。
【０１０５】
いずれかのポート１で受信されたパケットのデータは、ポート１及びＭＡＣ処理部３を介して、パケット処理部５ｂに出力される。パケットのデータには、パケットのデータそのものだけではなく、パケットが到着した入力ポートの識別子などが付加されている。
【０１０６】
パケット処理部５ｂは、パケットのデータをＭＡＣ処理部３から受信すると（図１９：ステップＳ１４１）、当該パケットの送信先ＭＡＣアドレス及び送信元ＭＡＣアドレスで第５テーブル７９に登録されているエントリを特定し、受信したパケットが先着パケットであるか又は先着ポートに到着したかを判断する（ステップＳ１４３）。エントリが存在している場合には、対応する先着ポートと、受信したパケットが到着したポートとが同一であるか判断する。エントリが存在しない場合には先着パケットである。
【０１０７】
先着パケットであるか又は受信したパケットが先着ポートに到着した場合には、パケット処理部５ｂは、通常処理を実施する（ステップＳ１４５）。先着パケットであれば、第５テーブル７９に、当該パケットの送信元ＭＡＣアドレス及び送信先ＭＡＣアドレスに対応付けて到着したポートの識別子を登録する。さらに、第２テーブル７３に対しても、送信元ＭＡＣアドレスに対応付けて到着したポートの識別子を登録する。さらに、受信したパケットを、第２テーブル７３から当該受信したパケットの送信先ＭＡＣアドレスで出力先のポートを特定して当該ポートから出力させる。第２テーブル７３に送信先ＭＡＣアドレスが登録されていない場合にはフラッディングを行う。
【０１０８】
一方、先着ポートに到着した場合には、第２テーブル７３から当該受信したパケットの送信先ＭＡＣアドレスで出力先のポートを特定して当該受信したパケットを当該ポートから出力させる。そして処理は終了する。
【０１０９】
一方、先着パケットでなく且つ受信したパケットが先着ポート以外に到着した場合には、パケット処理部５ｂは、受信したパケットを破棄する（ステップＳ１４７）。そして、パケット処理部５ｂは、第４テーブル７７ｂにおいて、破棄されたパケットの送信元ＭＡＣアドレス及び送信先ＭＡＣアドレスに対応付けて、破棄されたパケットの到着ポートの破棄回数を１回増加させる（ステップＳ１４９）。第４テーブル７７ｂに、送信元ＭＡＣアドレス及び送信先ＭＡＣアドレスが未登録であれば本ステップで登録する。ここで、リセット回数は０と設定される。
【０１１０】
そして、パケット処理部５ｂは、増加させた破棄回数が閾値以上となったか判断する（ステップＳ１５１）。閾値未満であれば、処理は終了する。
【０１１１】
一方、増加させた破棄回数が閾値以上となった場合には、パケット処理部５ｂは、破棄されたパケットの送信元ＭＡＣアドレスＸと送信先ＭＡＣアドレスＹとを比較して、送信元ＭＡＣアドレスＸが送信先ＭＡＣアドレスＹより大きいか判断する（ステップＳ１５３）。Ｘ＞Ｙであれば、メイン側のエッジスイッチとして、パケット処理部５ｂは、第４テーブル７７ｂ、第５テーブル７９及び第２テーブル７３から、破棄されたパケットの送信元ＭＡＣアドレス及び送信先ＭＡＣアドレスに関連するデータを削除する（ステップＳ１５５）。そして処理を終了する。
【０１１２】
この処理によれば、第４テーブル７７ｂ及び第５テーブル７９から、送信元ＭＡＣアドレス及び送信先ＭＡＣアドレスに対応付けられているエントリが削除され、第２テーブル７３から、送信元ＭＡＣアドレスが含まれているエントリが削除される。これによって、このスイッチ１０ｂでは、送信元ＭＡＣアドレス及び送信先ＭＡＣアドレスを含むパケットを受信したことがない状態に遷移する。よって次にこの送信元ＭＡＣアドレス及び送信先ＭＡＣアドレスを含むパケットが到着すれば、ステップＳ１４５の処理を実施することになる。この処理を実施した後、逆方向にパケットを送信する段階では、ステップＳ１４５で更新された第２テーブル７３に従ってパケットを送信することになる。
【０１１３】
一方、Ｘ＜Ｙであれば、サブ側のエッジスイッチとして、パケット処理部５ｂは、第４テーブル７７ｂにおいて、破棄されたパケットの送信元ＭＡＣアドレス及び送信先ＭＡＣアドレスに対応付けられている到着ポートの破棄回数を０にリセットすると共に、リセット回数を１増加させる（ステップＳ１５７）。
【０１１４】
そして、パケット処理部５ｂは、ステップＳ１５７で増加させたリセット回数が閾値以上であるか否かを判断する（ステップＳ１５９）。例えば、双方向でパケット送信回数が同じくらいであれば図１６の処理でも十分であるが、サブ側のエッジスイッチからメイン側のエッジスイッチへのパケットの送信が極端に少ない場合には、なかなかステップＳ１５１からステップＳ１５５へ移行しない場合がある。このような場合に対処するため、リセット回数を計数し、送信パケット数に偏りがある場合には、サブ側のエッジスイッチをメイン側のエッジスイッチとして動作させることで、早期に通信経路を統一化させる。
【０１１５】
すなわち、リセット回数が閾値以上であれば、処理はステップＳ１５５に移行する。一方、リセット回数が閾値未満であれば処理を終了する。
【０１１６】
以上のような処理を実施することによって、図１２Ａ乃至図１２Ｄと同様の処理が行われて、通信経路が双方向で統一化される。さらに、送信パケット数が送信方向によって偏っている場合にも、対処できるようになる。
【０１１７】
［実施の形態７］
本実施の形態は、第５の実施の形態の一部を変形した処理である。スイッチ１０ｂの基本構成は同じであり、パケット処理部５ｂの処理内容が一部異なる。また、第４テーブル７７のデータも一部異なる。具体的には、図１８に示した第４テーブル７７ｂと同じである。
【０１１８】
パケット処理部５ｂ等の処理について図２０を用いて説明する。
【０１１９】
いずれかのポート１で受信されたパケットのデータは、ポート１及びＭＡＣ処理部３を介して、パケット処理部５ｂに出力される。パケットのデータには、パケットのデータそのものだけではなく、パケットが到着した入力ポートの識別子などが付加されている。
【０１２０】
パケット処理部５ｂは、パケットのデータをＭＡＣ処理部３から受信すると（図２０：ステップＳ１６１）、当該パケットの送信先ＭＡＣアドレス及び送信元ＭＡＣアドレスで第５テーブル７９に登録されているエントリを特定し、受信したパケットが先着パケットであるか又は先着ポートに到着したかを判断する（ステップＳ１６３）。エントリが存在している場合には、対応する先着ポートと、受信したパケットが到着したポートとが同一であるか判断する。エントリが存在しない場合には先着パケットである。
【０１２１】
先着パケットであるか又は受信したパケットが先着ポートに到着した場合には、パケット処理部５ｂは、通常処理を実施する（ステップＳ１６５）。先着パケットであれば、第５テーブル７９に、当該パケットの送信元ＭＡＣアドレス及び送信先ＭＡＣアドレスに対応付けて到着したポートの識別子を登録する。さらに、第２テーブル７３に対しても、送信元ＭＡＣアドレスに対応付けて到着したポートの識別子を登録する。さらに、受信したパケットを、第２テーブル７３から当該受信したパケットの送信先ＭＡＣアドレスで出力先のポートを特定して当該ポートから出力させる。第２テーブル７３に送信先ＭＡＣアドレスが登録されていない場合にはフラッディングを行う。
【０１２２】
一方、先着ポートに到着した場合には、第２テーブル７３から当該受信したパケットの送信先ＭＡＣアドレスで出力先のポートを特定して当該受信したパケットを当該ポートから出力させる。そして処理は終了する。
【０１２３】
一方、先着パケットでなく且つ受信したパケットが先着ポート以外に到着した場合には、パケット処理部５ｂは、受信したパケットを破棄する（ステップＳ１６７）。そして、パケット処理部５ｂは、第４テーブル７７ｂにおいて、破棄されたパケットの送信元ＭＡＣアドレス及び送信先ＭＡＣアドレスに対応付けて、破棄されたパケットの到着ポートの破棄回数を１回増加させる（ステップＳ１６９）。第４テーブル７７ｂに、送信元ＭＡＣアドレス及び送信先ＭＡＣアドレスが未登録であれば本ステップで登録する。ここで、リセット回数は０と設定される。
【０１２４】
そして、パケット処理部５ｂは、増加させた破棄回数が閾値以上となったか判断する（ステップＳ１７１）。閾値未満であれば、処理は終了する。
【０１２５】
一方、増加させた破棄回数が閾値以上となった場合には、パケット処理部５ｂは、破棄されたパケットの送信元ＭＡＣアドレスＸと送信先ＭＡＣアドレスＹとを比較して、送信元ＭＡＣアドレスＸが送信先ＭＡＣアドレスより大きいか判断する（ステップＳ１７３）。Ｘ＞Ｙであれば、メイン側のエッジスイッチとして、パケット処理部５ｂは、第４テーブル７７ｂにおいて送信元ＭＡＣアドレス及び送信先ＭＡＣアドレスに対応付けられている到着ポートの破棄回数を０にリセットし、また、第５テーブル７９に、今回破棄したパケットの送信元ＭＡＣアドレス及び送信先ＭＡＣアドレスに対応付けて到着ポートの識別子を登録し、さらに、第２テーブル７３に、今回破棄したパケットの送信元ＭＡＣアドレスに対応付けて到着ポートの識別子を登録する（ステップＳ１７５）。そして処理を終了する。このステップは、第５の実施の形態と同様の主旨である。
【０１２６】
一方、Ｘ＜Ｙであれば、サブ側のエッジスイッチとして、パケット処理部５ｂは、第４テーブル７７ｂにおいて、破棄されたパケットの送信元ＭＡＣアドレス及び送信先ＭＡＣアドレスに対応付けられている到着ポートの破棄回数を０にリセットすると共に、リセット回数を１増加させる（ステップＳ１７７）。
【０１２７】
そして、パケット処理部５ｂは、ステップＳ１５７で増加させたリセット回数が閾値以上であるか否かを判断する（ステップＳ１７９）。これは第６の実施の形態と同様の主旨である。すなわち、リセット回数が閾値以上であれば、処理はステップＳ１７５に移行する。一方、リセット回数が閾値未満であれば処理を終了する。
【０１２８】
以上のような処理を実施することによって、早期に第２テーブル７３、第４テーブル７７ｂ及び第５テーブル７９の設定を行う部分を除き、図１２Ａ乃至図１２Ｄと同様の処理が行われて、通信経路が双方向で統一化される。さらに、送信パケット数が送信方向によって偏っている場合にも、対処できるようになる。
【０１２９】
以上実施の形態を述べたが、本技術はこれに限定されるものではない。例えば、処理結果が同じになる限り、処理ステップの順番を入れ替えたり、並列に実行するようにしても良い。さらに、上ではいずれのエッジスイッチでも同様の処理を行うように処理フローを示していたが、メイン側のエッジスイッチとサブ側のエッジスイッチでは処理フローを変えるようにしても良い。そのような場合、例えば第３の実施の形態における図１１の処理フローは、以下のように変形可能である。すなわち、メイン側のエッジスイッチであれば、最初の先着パケットを受信すると、その最初の先着パケットが到着したポートを、直ぐさま第２テーブル７３に登録するようにしても良い。そして、サブ側のエッジスイッチであれば、リセットすることなく更新タイミングで最も受信回数の多いポートを、第２テーブル７３に登録するようにしても良い。
【０１３０】
なお、上で述べたスイッチの各々は、図２１に示すように、メモリ２６０１とＣＰＵ２６０３とハードディスク・ドライブ（ＨＤＤ）２６０５と表示装置２６０９に接続される表示制御部２６０７とリムーバブル・ディスク２６１１用のドライブ装置２６１３と入力装置２６１５とネットワークに接続するための通信部２６１７（図２１では、２６１７ａ乃至２６１７ｃ）とがバス２６１９で接続されている場合もある。なお、場合によっては、表示制御部２６０７、表示装置２６０９、ドライブ装置２６１３、入力装置２６１５は含まれない場合もある。オペレーティング・システム（ＯＳ：Operating System）及び本実施の形態における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２６０５に格納されており、ＣＰＵ２６０３により実行される際にはＨＤＤ２６０５からメモリ２６０１に読み出される。必要に応じてＣＰＵ２６０３は、表示制御部２６０７、通信部２６１７、ドライブ装置２６１３を制御して、必要な動作を行わせる。なお、通信部２６１７のいずれかを介して入力されたデータは、他の通信部２６１７を介して出力される。ＣＰＵ２６０３は、通信部２６１７を制御して、適切に出力先を切り替える。また、処理途中のデータについては、メモリ２６０１に格納され、必要があればＨＤＤ２６０５に格納される。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２６１１に格納されて頒布され、ドライブ装置２６１３からＨＤＤ２６０５にインストールされる。インターネットなどのネットワーク及び通信部２６１７を経由して、ＨＤＤ２６０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２６０３、メモリ２６０１などのハードウエアとＯＳ及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【０１３１】
以上述べた本実施の形態をまとめると、以下のようになる。
【０１３２】
本実施の形態の第１の態様に係る通信装置は、複数の入力ポートと、各々異なる１の入力ポートに対応付けられている複数の出力ポートと、送信先アドレスと出力先の出力ポートの識別子とが対応付けられている第１のテーブルと、送信先アドレス及び送信元アドレスと入力ポートの識別子と受信回数とが対応付けられている第２のテーブルとを格納するメモリと、第１のテーブルにおいて複数の入力ポートのいずれかから受信したパケットの送信先アドレスに対応付けられている出力ポートの識別子を特定し、当該受信したパケットを特定された識別子の出力ポートに出力させるパケット処理部とを有する。そして、上で述べたパケット処理部は、（Ａ）同一のパケットを異なる入力ポートで受信した場合には、第２のテーブルにおいて、当該パケットの送信元アドレス及び送信先アドレスと当該パケットが最も早く到着した入力ポートの識別子とに対応付けられる受信回数を更新する。また、（Ｂ）上で述べたパケット処理部は、第１の時期的条件が満たされた場合、受信した第１のパケットの送信元アドレス及び送信先アドレスに関連する２つのエッジ通信装置のうち上記通信装置が第１のエッジ通信装置であれば、第２のテーブルにおいて当該第１のパケットの送信元アドレス及び送信先アドレスに対応付けて格納されている受信回数に基づき入力ポートの識別子を特定し、特定された入力ポートの識別子に対応する出力ポートの識別子と第１のパケットの送信元アドレスとで第１のテーブルを更新する。さらに（Ｃ）上で述べたパケット処理部は、第１の時期的条件が満たされた場合、上記２つのエッジ通信装置のうち上記通信装置が第２のエッジ通信装置であれば、第２のテーブルにおいて第１のパケットの送信元アドレス及び送信先アドレスに対応付けられている受信回数を０にセットし、第１の時期的条件が満たされた後の第２の時期的条件が満たされた場合、第１のパケットと同一の送信元アドレス及び送信先アドレスを含む第２のパケットを受信すると、第２のテーブルにおいて第２のパケットの送信元アドレス及び送信先アドレスに対応付けられている受信回数に基づき入力ポートの識別子を特定し、特定された入力ポートの識別子に対応する出力ポートの識別子と第２のパケットの送信元アドレスとで第１のテーブルを更新する。
【０１３３】
このようにすることで、双方向の通信経路を統一することができるようになる。
【０１３４】
上で述べた第１の時期的条件が、第１のパケットに含まれる送信先アドレス及び送信元アドレスと同一の送信先アドレス及び同一の送信元アドレスを含む最初のパケットを受信後所定時間経過したという条件、又は第１のパケットに含まれる送信元アドレス及び送信先アドレスと同一の送信先アドレス及び同一の送信元アドレスを含む先着パケットの受信回数が閾値を超えたという条件である場合もある。適切なタイミングで第１のテーブルを更新できる。
【０１３５】
また、上で述べた第２の時期的条件が、第１の時期的条件が満たされた後、第１のパケットに含まれる送信先アドレス及び送信元アドレスと同一の送信先アドレス及び同一の送信元アドレスを含む最初のパケットを受信後第２の所定時間経過したという条件、又は第１のパケットに含まれる送信先アドレス及び送信元アドレスと同一の送信先アドレス及び同一の送信元アドレスを含む先着パケットの受信回数が閾値を超えたという条件である場合もある。
【０１３６】
さらに、上で述べた受信回数が最大の入力ポートの識別子又は受信回数が非ゼロで最小の入力ポートの識別子を特定する場合もある。前者であれば最も遅延時間が短い経路が選択され、後者であればあまり使用されない経路が選択されるようになる。
【０１３７】
なお、上で述べた第１のエッジ通信装置は、第１のパケットの送信先アドレス及び送信元アドレスの大小関係で決定される場合もある。簡易にいずれのエッジ通信装置（例えばエッジスイッチ）であるかの判定を行うことができるようになる。
【０１３８】
本実施の形態の第２の態様に係る通信装置は、複数の入力ポートと、各々異なる１の入力ポートに対応付けられている複数の出力ポートと、送信先アドレスと出力先の出力ポートの識別子とが対応付けられている第１のテーブルと、送信先アドレス及び送信元アドレスと入力ポートの識別子と受信回数とが対応付けられている第２のテーブルとを格納するメモリと、第１のテーブルにおいて複数の入力ポートのいずれかから受信したパケットの送信先アドレスに対応付けられている出力ポートの識別子を特定し、当該受信したパケットを特定された識別子の出力ポートに出力させるパケット処理部とを有する。そして、上で述べたパケット処理部は、（Ａ）受信した第１のパケットの送信元アドレス及び送信先アドレスに関連する２つのエッジ通信装置のうち上記通信装置が第１のエッジ通信装置であれば、当該第１のパケットと同一のパケットを受信した場合でも当該第１のパケットが最も早く到着した入力ポートの識別子に対応する出力ポートの識別子を、第１のパケットの送信元アドレスに対応付けて第１のテーブルに登録する。また、（Ｂ）パケット処理部は、上記２つのエッジ通信装置のうち上記通信装置が第２のエッジ通信装置であれば、第１のパケットと同一のパケットを受信した場合でも、第２のテーブルにおいて、第１のパケットの送信元アドレス及び送信先アドレスと当該第１のパケットが到着した入力ポートの識別子とに対応付けられる受信回数のみを更新し、第１の時期的条件が満たされた場合、第２のテーブルにおいて、第１のパケットの送信元アドレス及び送信先アドレスに対応付けて格納されている受信回数に基づき入力ポートの識別子を特定し、特定された入力ポートの識別子に対応する出力ポートの識別子と第１のパケットの送信元アドレスとで第１のテーブルを更新する。
【０１３９】
このような構成を採用しても、双方向の通信経路を統一することができる。
【０１４０】
本実施の形態の第３の態様に係る通信装置は、複数の入力ポートと、各々異なる１の入力ポートに対応付けられている複数の出力ポートと、送信先アドレスと出力先の出力ポートの識別子とが対応付けられている第１のテーブルと、送信先アドレス及び送信元アドレスと入力ポートの識別子と廃棄回数とが対応付けられている第２のテーブルと、送信元アドレス及び送信先アドレスと入力ポートの識別子とを対応付けて格納する第３のテーブルとを格納するメモリと、第１のテーブルにおいて複数の入力ポートのいずれかから受信したパケットの送信先アドレスに対応付けられている出力ポートの識別子を特定し、当該受信したパケットを特定された識別子の出力ポートに出力させるパケット処理部とを有する。そして、上で述べたパケット処理部は、（Ａ）第３のテーブルにおいて、受信したパケットの送信元アドレス及び送信先アドレスに対応付けられている入力ポートとは異なる入力ポートに当該受信したパケットが到着した場合には、当該受信したパケットを廃棄し、第２のテーブルにおいて、当該パケットの送信元アドレス及び送信先アドレスと当該廃棄されたパケットが到着した入力ポートの識別子とに対応付けられている廃棄回数を更新する。また、（Ｂ）上で述べたパケット処理部は、廃棄回数が閾値を超えた場合には、廃棄されたパケットの送信先アドレス及び送信元アドレスに関連する２つのエッジ通信装置のうち上記通信装置が当該廃棄されたパケットの送信先アドレス及び送信元アドレスの大小関係から特定される一方のエッジ通信装置であれば、第３のテーブルにおいて、廃棄されたパケットの送信先アドレス及び送信元アドレスについてのエントリと、第２のテーブルにおいて、廃棄されたパケットの送信先アドレス及び送信元アドレスに対応付けられている少なくとも廃棄回数と、第１のテーブルにおいて、廃棄されたパケットの送信元アドレスについてのエントリとを削除する。
【０１４１】
このような構成を採用しても、双方向の通信経路を統一することができる。
【０１４２】
なお、上で述べたパケット処理部は、廃棄回数が閾値を超えた場合には、廃棄されたパケットの送信先アドレス及び送信元アドレスに関連する２つのエッジ通信装置のうち上記通信装置が当該廃棄されたパケットの送信先アドレス及び送信元アドレスの大小関係から特定される他方のエッジ通信装置であれば、第２のテーブルにおいて、廃棄されたパケットの送信先アドレス及び送信元アドレスに対応付けられている廃棄回数を０にリセットするようにしても良い。
【０１４３】
また、上で述べたパケット処理部は、第２のテーブルにおいて、廃棄回数のリセット回数がさらに対応付けられている場合もある。この場合、廃棄回数のリセット回数が閾値を超えた場合には、廃棄されたパケットについて同一性を判断するためのデータと、第２のテーブルにおいて、廃棄されたパケットの送信先アドレス及び送信元アドレスに対応付けられている少なくとも廃棄回数と、第１のテーブルにおいて、廃棄されたパケットの送信元アドレスについてのエントリとを削除するようにしても良い。このようにすれば、通信パケット数に通信方向によって偏りが存在する場合であっても、適切に通信経路を統一することができるようになる。
【０１４４】
さらに、本実施の形態の第４の態様に係る通信装置は、複数の入力ポートと、各々異なる１の入力ポートに対応付けられている複数の出力ポートと、送信先アドレスと出力先の出力ポートの識別子とが対応付けられている第１のテーブルと、送信先アドレス及び送信元アドレスと入力ポートの識別子と廃棄回数とが対応付けられている第２のテーブルと、送信元アドレス及び送信先アドレスと入力ポートの識別子とを対応付けて格納する第３のテーブルとを格納するメモリと、第１のテーブルにおいて複数の入力ポートのいずれかから受信したパケットの送信先アドレスに対応付けられている出力ポートの識別子を特定し、当該受信したパケットを特定された識別子の出力ポートに出力させるパケット処理部とを有する。そして、上で述べたパケット処理部は、（Ａ）第３のテーブルにおいて、受信したパケットの送信元アドレス及び送信先アドレスに対応付けられている入力ポートとは異なる入力ポートに当該受信したパケットが到着した場合には、当該受信したパケットを廃棄し、第２のテーブルにおいて、当該パケットの送信元アドレス及び送信先アドレスと当該廃棄されたパケットが到着した入力ポートの識別子とに対応付けられている廃棄回数を更新する。また、上で述べたパケット処理部は、（Ｂ）廃棄回数が閾値を超えた場合には、廃棄されたパケットの送信先アドレス及び送信元アドレスに関連する２つのエッジ通信装置のうち上記通信装置が当該廃棄されたパケットの送信先アドレス及び送信元アドレスの大小関係から特定される一方のエッジ通信装置であれば、第２のテーブルにおいて、廃棄されたパケットの送信先アドレス及び送信元アドレスに対応付けられている少なくとも廃棄回数を廃棄し、第１のテーブルにおいて、廃棄されたパケットの送信元アドレスに対応付けて、廃棄されたパケットを受信した入力ポートの識別子に対応する出力ポートの識別子を登録し、第３のテーブルにおいて、廃棄されたパケットの送信元アドレス及び送信先アドレスに対応付けて、廃棄されたパケットを受信した入力ポートの識別子に対応する出力ポートの識別子を登録する。
【０１４５】
これによって早期に双方向で通信経路を統一することができるようになる。
【０１４６】
本実施の形態の第５の態様に係る制御方法は、（Ａ）各エッジ通信装置において、同一のパケットを異なるポートで受信した場合には、先着のパケットを受信したポートについて、当該パケットの送信元アドレス及び送信先アドレスに対応付けて受信回数を計数するステップと、（Ｂ）第１の時期的条件が満たされた場合には、受信した第１のパケットの２つのエッジ通信装置のうち第１のエッジ通信装置において、当該第１のパケットの送信元アドレス及び送信先アドレスに対応付けて計数された受信回数に基づきポートの識別子を特定して、第１のパケットの送信元アドレスに対応付けて第１のエッジ通信装置におけるメモリに格納するステップと、（Ｃ）第１の時期的条件が満たされた場合には、上記２つのエッジ通信装置のうち第２のエッジ通信装置において、第１のパケットとは反対方向の第２のパケットの送信元アドレス及び送信先アドレスに対応付けて計数された受信回数をリセットし、再度当該受信回数の計数を開始するステップと、（Ｄ）第１の時期的条件が満たされた後に第２の時期的条件が満たされた場合、第２のエッジ通信装置において、第２のパケットの送信元アドレス及び送信先アドレスに対応付けて計数された受信回数に基づきポートの識別子を特定して、第２のパケットの送信元アドレスに対応付けて第２のエッジ通信装置におけるメモリに格納するステップとを含む。
【０１４７】
本実施の形態の第６の態様に係る制御方法は、（Ａ）受信した第１のパケットの２つのエッジ通信装置のうち第１のエッジ通信装置において、当該第１のパケットと同一のパケットを受信した場合でも先着のパケットを受信したポートの識別子を、第１のパケットの送信元アドレスと対応付けて第１のエッジ通信装置におけるメモリに格納するステップと、（Ｂ）上記２つのエッジ通信装置のうち第２のエッジ通信装置において、第１の受信パケットとは反対方向の第２のパケットと同一のパケットを異なるポートで受信した場合には、先着のパケットを受信したポートについて、当該第２のパケットの送信元アドレス及び送信先アドレスに対応付けて受信回数を計数するステップと、（Ｃ）第１の時期的条件が満たされた場合には、第２のパケットの送信元アドレス及び送信先アドレスに対応付けて計数された受信回数に基づきポートの識別子を特定して、第２のパケットの送信元アドレスに対応付けて第２のエッジ通信装置におけるメモリに格納するステップとを含む。
【０１４８】
本実施の形態の第７の態様に係る制御方法は、（Ａ）各エッジ通信装置において、送信元アドレス及び送信先アドレスとポートの識別子とが対応付けてられている第１の関係情報において、受信したパケットの送信元アドレス及び送信先アドレスに対応付けられているポートとは異なるポートに当該受信したパケットが到着した場合には、当該受信したパケットを廃棄し、当該受信したパケットの送信元アドレス及び送信先アドレスに対応付けて廃棄回数を計数するステップと、（Ｂ）廃棄回数が閾値を超えた場合には、廃棄されたパケットの送信元アドレス及び送信先アドレスに関連する２つのエッジ通信装置のうち当該廃棄されたパケットの送信元アドレス及び送信先アドレスの大小関係から特定される一方のエッジ通信装置において、第１の関係情報において、廃棄されたパケットの送信元アドレス及び送信先アドレスについての情報を削除し、廃棄されたパケットの送信元アドレス及び送信先アドレスについての廃棄回数をリセットし、送信先アドレスと出力先のポートの識別子とが対応付けられている第２の関係情報において、廃棄されたパケットの送信元アドレスについての情報を削除するステップとを含む。
【０１４９】
本実施の形態の第８の態様に係る制御方法は、（Ａ）各エッジ通信装置において、送信元アドレス及び送信先アドレスとポートの識別子とが対応付けられている第１の関係情報において、受信したパケットの送信元アドレス及び送信先アドレスに対応付けられているポートとは異なるポートに当該受信したパケットが到着した場合には、当該受信したパケットを廃棄し、当該受信したパケットの送信元アドレス及び送信先アドレスに対応付けて廃棄回数を計数するステップと、（Ｂ）廃棄回数が閾値を超えた場合には、廃棄されたパケットの送信元アドレス及び送信先アドレスに関連する２つのエッジ通信装置のうち当該廃棄されたパケットの送信元アドレス及び送信先アドレスの大小関係から特定される一方のエッジ通信装置において、廃棄されたパケットの送信元アドレス及び送信先アドレスについての廃棄回数をリセットし、送信先アドレスと出力先のポートの識別子とが対応付けられている第２の関係情報において、廃棄されたパケットの送信元アドレスに対応付けて、廃棄されたパケットを受信したポートの識別子を登録し、第１の関係情報において、廃棄されたパケットの送信元アドレス及び送信先アドレスに対応付けて、廃棄されたパケットを受信したポートの識別子を登録するステップとを含む。
【０１５０】
なお、上で述べたような処理をコンピュータに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭなどの光ディスク、光磁気ディスク、半導体メモリ（例えばＲＯＭ）、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。
【０１５１】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１５２】
（付記１）
通信装置であって、
複数の入力ポートと、
各々異なる１の入力ポートに対応付けられている複数の出力ポートと、
送信先アドレスと出力先の出力ポートの識別子とが対応付けられている第１の関係情報と、送信先アドレス及び送信元アドレスと入力ポートの識別子と受信回数とが対応付けられている第２の関係情報とを格納するメモリと、
前記第１の関係情報において前記複数の入力ポートのいずれかから受信したパケットの送信先アドレスに対応付けられている出力ポートの識別子を特定し、当該受信したパケットを特定された前記識別子の出力ポートに出力させるパケット処理部と、
を有し、
前記パケット処理部は、
同一のパケットを異なる入力ポートで受信した場合には、前記第２の関係情報において、当該パケットの送信元アドレス及び送信先アドレスと当該パケットが最も早く到着した入力ポートの識別子とに対応付けられる受信回数を更新し、
第１の時期的条件が満たされた場合、受信した第１のパケットの送信元アドレス及び送信先アドレスに関連する２つのエッジ通信装置のうち前記通信装置が第１のエッジ通信装置であれば、前記第２の関係情報において当該第１のパケットの送信元アドレス及び送信先アドレスに対応付けて格納されている受信回数に基づき入力ポートの識別子を特定し、特定された前記入力ポートの識別子に対応する出力ポートの識別子と前記第１のパケットの送信元アドレスとで前記第１の関係情報を更新し、
前記第１の時期的条件が満たされた場合、前記２つのエッジ通信装置のうち前記通信装置が第２のエッジ通信装置であれば、前記第２の関係情報において前記第１のパケットの送信元アドレス及び送信先アドレスに対応付けられている前記受信回数を０にセットし、前記第１の時期的条件が満たされた後の第２の時期的条件が満たされた場合、前記第１のパケットと同一の送信元アドレス及び送信先アドレスを含む第２のパケットを受信すると、前記第２の関係情報において前記第２のパケットの送信元アドレス及び送信先アドレスに対応付けられている受信回数に基づき入力ポートの識別子を特定し、特定された前記入力ポートの識別子に対応する出力ポートの識別子と前記第２のパケットの送信元アドレスとで前記第１の関係情報を更新する
通信装置。
【０１５３】
（付記２）
前記第１の時期的条件が、前記第１のパケットに含まれる送信先アドレス及び送信元アドレスと同一の送信先アドレス及び同一の送信元アドレスを含む最初のパケットを受信後所定時間経過したという条件、又は前記第１のパケットに含まれる送信元アドレス及び送信先アドレスと同一の送信先アドレス及び同一の送信元アドレスを含む先着パケットの受信回数が閾値を超えたという条件である
付記１記載の通信装置。
【０１５４】
（付記３）
前記第２の時期的条件が、前記第１の時期的条件が満たされた後、前記第１のパケットに含まれる送信先アドレス及び送信元アドレスと同一の送信先アドレス及び同一の送信元アドレスを含む最初のパケットを受信後第２の所定時間経過したという条件、又は前記第１のパケットに含まれる送信先アドレス及び送信元アドレスと同一の送信先アドレス及び同一の送信元アドレスを含む先着パケットの受信回数が閾値を超えたという条件である
付記１又は２記載の通信装置。
【０１５５】
（付記４）
前記受信回数が最大の入力ポートの識別子又は前記受信回数が非ゼロで最小の入力ポートの識別子を特定する
付記１乃至３のいずれか１つ記載の通信装置。
【０１５６】
（付記５）
前記第１のエッジ通信装置は、前記第１のパケットの送信先アドレス及び送信元アドレスの大小関係で決定される
付記１乃至４のいずれか１つ記載の通信装置。
【０１５７】
（付記６）
通信装置であって、
複数の入力ポートと、
各々異なる１の入力ポートに対応付けられている複数の出力ポートと、
送信先アドレスと出力先の出力ポートの識別子とが対応付けられている第１の関係情報と、送信先アドレス及び送信元アドレスと入力ポートの識別子と受信回数とが対応付けられている第２の関係情報とを格納するメモリと、
前記第１の関係情報において前記複数の入力ポートのいずれかから受信したパケットの送信先アドレスに対応付けられている出力ポートの識別子を特定し、当該受信したパケットを特定された前記識別子の出力ポートに出力させるパケット処理部と、
を有し、
前記パケット処理部は、
受信した第１のパケットの送信元アドレス及び送信先アドレスに関連する２つのエッジ通信装置のうち前記通信装置が第１のエッジ通信装置であれば、当該第１のパケットと同一のパケットを受信した場合でも当該第１のパケットが最も早く到着した入力ポートの識別子に対応する出力ポートの識別子を、前記第１のパケットの送信元アドレスに対応付けて前記第１の関係情報に登録し、
前記２つのエッジ通信装置のうち前記通信装置が第２のエッジ通信装置であれば、前記第１のパケットと同一のパケットを受信した場合でも、前記第２の関係情報において、前記第１のパケットの送信元アドレス及び送信先アドレスと当該第１のパケットが到着した入力ポートの識別子とに対応付けられる受信回数を更新し、第１の時期的条件が満たされた場合、第２の関係情報において、前記第１のパケットの送信元アドレス及び送信先アドレスに対応付けて格納されている受信回数に基づき入力ポートの識別子を特定し、特定された前記入力ポートの識別子に対応する出力ポートの識別子と前記第１のパケットの送信元アドレスとで前記第１の関係情報を更新する、
通信装置。
【０１５８】
（付記７）
通信装置であって、
複数の入力ポートと、
各々異なる１の入力ポートに対応付けられている複数の出力ポートと、
送信先アドレスと出力先の出力ポートの識別子とが対応付けられている第１の関係情報と、送信先アドレス及び送信元アドレスと入力ポートの識別子と廃棄回数とが対応付けられている第２の関係情報と、送信元アドレス及び送信先アドレスと入力ポートの識別子とを対応付けて格納する第３の関係情報とを格納するメモリと、
前記第１の関係情報において前記複数の入力ポートのいずれかから受信したパケットの送信先アドレスに対応付けられている出力ポートの識別子を特定し、当該受信したパケットを特定された前記識別子の出力ポートに出力させるパケット処理部と、
を有し、
前記パケット処理部は、
前記第３の関係情報において、受信したパケットの送信元アドレス及び送信先アドレスに対応付けられている入力ポートとは異なる入力ポートに当該受信したパケットが到着した場合には、当該受信したパケットを廃棄し、前記第２の関係情報において、当該パケットの送信元アドレス及び送信先アドレスと当該廃棄されたパケットが到着した入力ポートの識別子とに対応付けられている廃棄回数を更新し、
前記廃棄回数が閾値を超えた場合には、廃棄された前記パケットの送信先アドレス及び送信元アドレスに関連する２つのエッジ通信装置のうち前記通信装置が当該廃棄された前記パケットの送信先アドレス及び送信元アドレスの大小関係から特定される一方のエッジ通信装置であれば、前記第３の関係情報において、廃棄された前記パケットの送信先アドレス及び送信元アドレスについての情報と、前記第２の関係情報において、廃棄された前記パケットの送信先アドレス及び送信元アドレスに対応付けられている少なくとも廃棄回数と、前記第１の関係情報において、廃棄された前記パケットの送信元アドレスについての情報とを削除する
通信装置。
【０１５９】
（付記８）
前記パケット処理部は、
前記廃棄回数が閾値を超えた場合には、廃棄された前記パケットの送信先アドレス及び送信元アドレスに関連する２つのエッジ通信装置のうち前記通信装置が当該廃棄された前記パケットの送信先アドレス及び送信元アドレスの大小関係から特定される他方のエッジ通信装置であれば、前記第２の関係情報において、廃棄された前記パケットの送信先アドレス及び送信元アドレスに対応付けられている廃棄回数を０にリセットする
付記７記載の通信装置。
【０１６０】
（付記９）
前記パケット処理部は、
前記第２の関係情報において、廃棄回数のリセット回数がさらに対応付けられており、
前記廃棄回数のリセット回数が閾値を超えた場合には、廃棄された前記パケットについて同一性を判断するためのデータと、前記第２の関係情報において、廃棄された前記パケットの送信先アドレス及び送信元アドレスに対応付けられている少なくとも廃棄回数と、前記第１の関係情報において、廃棄された前記パケットの送信元アドレスについての情報とを削除する
付記８記載の通信装置。
【０１６１】
（付記１０）
通信装置であって、
複数の入力ポートと、
各々異なる１の入力ポートに対応付けられている複数の出力ポートと、
送信先アドレスと出力先の出力ポートの識別子とが対応付けられている第１の関係情報と、送信先アドレス及び送信元アドレスと入力ポートの識別子と廃棄回数とが対応付けられている第２の関係情報と、送信元アドレス及び送信先アドレスと入力ポートの識別子とを対応付けて格納する第３の関係情報とを格納するメモリと、
前記第１の関係情報において前記複数の入力ポートのいずれかから受信したパケットの送信先アドレスに対応付けられている出力ポートの識別子を特定し、当該受信したパケットを特定された前記識別子の出力ポートに出力させるパケット処理部と、
を有し、
前記パケット処理部は、
前記第３の関係情報において、受信したパケットの送信元アドレス及び送信先アドレスに対応付けられている入力ポートとは異なる入力ポートに当該受信したパケットが到着した場合には、当該受信したパケットを廃棄し、前記第２の関係情報において、当該パケットの送信元アドレス及び送信先アドレスと当該廃棄されたパケットが到着した入力ポートの識別子とに対応付けられている廃棄回数を更新し、
前記廃棄回数が閾値を超えた場合には、廃棄された前記パケットの送信先アドレス及び送信元アドレスに関連する２つのエッジ通信装置のうち前記通信装置が当該廃棄された前記パケットの送信先アドレス及び送信元アドレスの大小関係から特定される一方のエッジ通信装置であれば、前記第２の関係情報において、廃棄された前記パケットの送信先アドレス及び送信元アドレスに対応付けられている少なくとも廃棄回数を廃棄し、前記第１の関係情報において、廃棄された前記パケットの送信元アドレスに対応付けて、廃棄された前記パケットを受信した入力ポートの識別子に対応する出力ポートの識別子を登録し、前記第３の関係情報において、廃棄された前記パケットの送信元アドレス及び送信先アドレスに対応付けて、廃棄された前記パケットを受信した入力ポートの識別子に対応する出力ポートの識別子を登録する
通信装置。
【０１６２】
（付記１１）
通信装置に実行させるためのプログラムであって、
前記通信装置は、複数の入力ポートと、各々異なる１の入力ポートに対応付けられている複数の出力ポートと、送信先アドレスと出力先の出力ポートの識別子とが対応付けられている第１の関係情報と、送信先アドレス及び送信元アドレスと入力ポートの識別子と受信回数とが対応付けられている第２の関係情報とを格納するメモリとを有し、
前記通信装置に、
同一のパケットを異なる入力ポートで受信した場合には、前記第２の関係情報において、当該パケットの送信元アドレス及び送信先アドレスと当該パケットが最も早く到着した入力ポートの識別子とに対応付けられる受信回数を更新し、
第１の時期的条件が満たされた場合、受信した第１のパケットの送信元アドレス及び送信先アドレスに関連する２つのエッジ通信装置のうち前記通信装置が第１のエッジ通信装置であれば、前記第２の関係情報において当該第１のパケットの送信元アドレス及び送信先アドレスに対応付けて格納されている受信回数に基づき入力ポートの識別子を特定し、特定された前記入力ポートの識別子に対応する出力ポートの識別子と前記第１のパケットの送信元アドレスとで前記第１の関係情報を更新し、
前記第１の時期的条件が満たされた場合、前記２つのエッジ通信装置のうち前記通信装置が第２のエッジ通信装置であれば、前記第２の関係情報において前記第１のパケットの送信元アドレス及び送信先アドレスに対応付けられている前記受信回数を０にセットし、前記第１の時期的条件が満たされた後の第２の時期的条件が満たされた場合、前記第１のパケットと同一の送信元アドレス及び送信先アドレスを含む第２のパケットを受信すると、前記第２の関係情報において前記第２のパケットの送信元アドレス及び送信先アドレスに対応付けられている受信回数に基づき入力ポートの識別子を特定し、特定された前記入力ポートの識別子に対応する出力ポートの識別子と前記第２のパケットの送信元アドレスとで前記第１の関係情報を更新する
処理を実行させるためのプログラム。
【０１６３】
（付記１２）
通信装置に実行させるためのプログラムであって、
前記通信装置は、複数の入力ポートと、各々異なる１の入力ポートに対応付けられている複数の出力ポートと、送信先アドレスと出力先の出力ポートの識別子とが対応付けられている第１の関係情報と、送信先アドレス及び送信元アドレスと入力ポートの識別子と受信回数とが対応付けられている第２の関係情報とを格納するメモリとを有し、
前記通信装置に、
受信した第１のパケットの送信元アドレス及び送信先アドレスに関連する２つのエッジ通信装置のうち前記通信装置が第１のエッジ通信装置であれば、当該第１のパケットと同一のパケットを受信した場合でも当該第１のパケットが最も早く到着した入力ポートの識別子に対応する出力ポートの識別子を、前記第１のパケットの送信元アドレスに対応付けて前記第１の関係情報に登録し、
前記２つのエッジ通信装置のうち前記通信装置が第２のエッジ通信装置であれば、前記第１のパケットと同一のパケットを受信した場合でも、前記第２の関係情報において、前記第１のパケットの送信元アドレス及び送信先アドレスと当該第１のパケットが到着した入力ポートの識別子とに対応付けられる受信回数を更新し、第１の時期的条件が満たされた場合、第２の関係情報において、前記第１のパケットの送信元アドレス及び送信先アドレスに対応付けて格納されている受信回数に基づき入力ポートの識別子を特定し、特定された前記入力ポートの識別子に対応する出力ポートの識別子と前記第１のパケットの送信元アドレスとで前記第１の関係情報を更新する、
処理を実行させるためのプログラム。
【０１６４】
（付記１３）
通信装置に実行させるためのプログラムであって、
前記通信装置は、複数の入力ポートと、各々異なる１の入力ポートに対応付けられている複数の出力ポートと、送信先アドレスと出力先の出力ポートの識別子とが対応付けられている第１の関係情報と、送信先アドレス及び送信元アドレスと入力ポートの識別子と廃棄回数とが対応付けられている第２の関係情報と、送信元アドレス及び送信先アドレスと入力ポートの識別子とを対応付けて格納する第３の関係情報とを格納するメモリとを有し、
前記通信装置に、
前記第３の関係情報において、受信したパケットの送信元アドレス及び送信先アドレスに対応付けられている入力ポートとは異なる入力ポートに当該受信したパケットが到着した場合には、当該受信したパケットを廃棄し、前記第２の関係情報において、当該パケットの送信元アドレス及び送信先アドレスと当該廃棄されたパケットが到着した入力ポートの識別子とに対応付けられている廃棄回数を更新し、
前記廃棄回数が閾値を超えた場合には、廃棄された前記パケットの送信先アドレス及び送信元アドレスに関連する２つのエッジ通信装置のうち前記通信装置が当該廃棄された前記パケットの送信先アドレス及び送信元アドレスの大小関係から特定される一方のエッジ通信装置であれば、前記第３の関係情報において、廃棄された前記パケットの送信先アドレス及び送信元アドレスについての情報と、前記第２の関係情報において、廃棄された前記パケットの送信先アドレス及び送信元アドレスに対応付けられている少なくとも廃棄回数と、前記第１の関係情報において、廃棄された前記パケットの送信元アドレスについての情報とを削除する
処理を実行させるためのプログラム。
【０１６５】
（付記１４）
通信装置に実行させるためのプログラムであって、
前記通信装置は、複数の入力ポートと、各々異なる１の入力ポートに対応付けられている複数の出力ポートと、送信先アドレスと出力先の出力ポートの識別子とが対応付けられている第１の関係情報と、送信先アドレス及び送信元アドレスと入力ポートの識別子と廃棄回数とが対応付けられている第２の関係情報と、送信元アドレス及び送信先アドレスと入力ポートの識別子とを対応付けて格納する第３の関係情報とを格納するメモリとを有し、
前記通信装置に、
前記第３の関係情報において、受信したパケットの送信元アドレス及び送信先アドレスに対応付けられている入力ポートとは異なる入力ポートに当該受信したパケットが到着した場合には、当該受信したパケットを廃棄し、前記第２の関係情報において、当該パケットの送信元アドレス及び送信先アドレスと当該廃棄されたパケットが到着した入力ポートの識別子とに対応付けられている廃棄回数を更新し、
前記廃棄回数が閾値を超えた場合には、廃棄された前記パケットの送信先アドレス及び送信元アドレスに関連する２つのエッジ通信装置のうち前記通信装置が当該廃棄された前記パケットの送信先アドレス及び送信元アドレスの大小関係から特定される一方のエッジ通信装置であれば、前記第２の関係情報において、廃棄された前記パケットの送信先アドレス及び送信元アドレスに対応付けられている少なくとも廃棄回数を廃棄し、前記第１の関係情報において、廃棄された前記パケットの送信元アドレスに対応付けて、廃棄された前記パケットを受信した入力ポートの識別子に対応する出力ポートの識別子を登録し、前記第３の関係情報において、廃棄された前記パケットの送信元アドレス及び送信先アドレスに対応付けて、廃棄された前記パケットを受信した入力ポートの識別子に対応する出力ポートの識別子を登録する
処理を実行させるためのプログラム。
【０１６６】
（付記１５）
各エッジ通信装置において、同一のパケットを異なるポートで受信した場合には、先着のパケットを受信したポートについて、当該パケットの送信元アドレス及び送信先アドレスに対応付けて受信回数を計数し、
第１の時期的条件が満たされた場合には、受信した第１のパケットの２つのエッジ通信装置のうち第１のエッジ通信装置において、当該第１のパケットの送信元アドレス及び送信先アドレスに対応付けて計数された受信回数に基づきポートの識別子を特定して、前記第１のパケットの送信元アドレスに対応付けて前記第１のエッジ通信装置におけるメモリに格納し、
前記第１の時期的条件が満たされた場合には、前記２つのエッジ通信装置のうち第２のエッジ通信装置において、前記第１のパケットとは反対方向の第２のパケットの送信元アドレス及び送信先アドレスに対応付けて計数された前記受信回数をリセットし、再度当該受信回数の計数を開始し、
前記第１の時期的条件が満たされた後に第２の時期的条件が満たされた場合、前記第２のエッジ通信装置において、前記第２のパケットの送信元アドレス及び送信先アドレスに対応付けて計数された受信回数に基づきポートの識別子を特定して、前記第２のパケットの送信元アドレスに対応付けて前記第２のエッジ通信装置におけるメモリに格納する
処理を含む制御方法。
【０１６７】
（付記１６）
受信した第１のパケットの２つのエッジ通信装置のうち第１のエッジ通信装置において、当該第１のパケットと同一のパケットを受信した場合でも先着のパケットを受信したポートの識別子を、前記第１のパケットの送信元アドレスと対応付けて前記第１のエッジ通信装置におけるメモリに格納し、
前記２つのエッジ通信装置のうち第２のエッジ通信装置において、前記第１の受信パケットとは反対方向の第２のパケットと同一のパケットを異なるポートで受信した場合には、先着のパケットを受信したポートについて、当該第２のパケットの送信元アドレス及び送信先アドレスに対応付けて受信回数を計数し、
第１の時期的条件が満たされた場合には、前記第２のパケットの送信元アドレス及び送信先アドレスに対応付けて計数された受信回数に基づきポートの識別子を特定して、前記第２のパケットの送信元アドレスに対応付けて前記第２のエッジ通信装置におけるメモリに格納する
処理を含む制御方法。
【０１６８】
（付記１７）
各エッジ通信装置において、送信元アドレス及び送信先アドレスとポートの識別子とが対応付けてられている第１の関係情報において、受信したパケットの送信元アドレス及び送信先アドレスに対応付けられているポートとは異なるポートに当該受信したパケットが到着した場合には、当該受信したパケットを廃棄し、当該受信したパケットの送信元アドレス及び送信先アドレスに対応付けて廃棄回数を計数し、
前記廃棄回数が閾値を超えた場合には、廃棄された前記パケットの送信元アドレス及び送信先アドレスに関連する２つのエッジ通信装置のうち当該廃棄された前記パケットの送信元アドレス及び送信先アドレスの大小関係から特定される一方のエッジ通信装置において、前記第１の関係情報において、廃棄された前記パケットの送信元アドレス及び送信先アドレスについての情報を削除し、廃棄された前記パケットの送信元アドレス及び送信先アドレスについての廃棄回数をリセットし、送信先アドレスと出力先のポートの識別子とが対応付けられている第２の関係情報において、廃棄された前記パケットの送信元アドレスについての情報を削除する
処理を含む制御方法。
【０１６９】
（付記１８）
各エッジ通信装置において、送信元アドレス及び送信先アドレスとポートの識別子とが対応付けられている第１の関係情報において、受信したパケットの送信元アドレス及び送信先アドレスに対応付けられているポートとは異なるポートに当該受信したパケットが到着した場合には、当該受信したパケットを廃棄し、当該受信したパケットの送信元アドレス及び送信先アドレスに対応付けて廃棄回数を計数し、
前記廃棄回数が閾値を超えた場合には、廃棄された前記パケットの送信元アドレス及び送信先アドレスに関連する２つのエッジ通信装置のうち当該廃棄された前記パケットの送信元アドレス及び送信先アドレスの大小関係から特定される一方のエッジ通信装置において、廃棄された前記パケットの送信元アドレス及び送信先アドレスについての廃棄回数をリセットし、送信先アドレスと出力先のポートの識別子とが対応付けられている第２の関係情報において、廃棄された前記パケットの送信元アドレスに対応付けて、廃棄された前記パケットを受信したポートの識別子を登録し、前記第１の関係情報において、廃棄された前記パケットの送信元アドレス及び送信先アドレスに対応付けて、廃棄された前記パケットを受信したポートの識別子を登録する
処理を含む制御方法。
【符号の説明】
【０１７０】
１  ポート
３  ＭＡＣ処理部
５  パケット処理部
７  メモリ
９  ＣＰＵ
７１  第１テーブル
７３  第２テーブル
７５  第３テーブル
７７  第４テーブル
７９  第５テーブル
【図１】
2013141140.tif 000003
【図２Ａ】
2013141140.tif 000004
【図２Ｂ】
2013141140.tif 000005
【図３】
2013141140.tif 000006
【図４】
2013141140.tif 000007
【図５】
2013141140.tif 000008
【図６】
2013141140.tif 000009
【図７】
2013141140.tif 000010
【図８】
2013141140.tif 000011
【図９】
2013141140.tif 000012
【図１０】
2013141140.tif 000013
【図１１】
2013141140.tif 000014
【図１２Ａ】
2013141140.tif 000015
【図１２Ｂ】
2013141140.tif 000016
【図１２Ｃ】
2013141140.tif 000017
【図１２Ｄ】
2013141140.tif 000018
【図１３】
2013141140.tif 000019
【図１４】
2013141140.tif 000020
【図１５】
2013141140.tif 000021
【図１６】
2013141140.tif 000022
【図１７】
2013141140.tif 000023
【図１８】
2013141140.tif 000024
【図１９】
2013141140.tif 000025
【図２０】
2013141140.tif 000026
【図２１】
2013141140.tif 000027